Skip to content
Prev Previous commit
Next Next commit
Merge branch 'master' into newfunc_implement
  • Loading branch information
lozatto authored May 8, 2025
commit af8563b3437daf063e97042932bb085d3ee5a55a
14 changes: 14 additions & 0 deletions reapi/extra/amxmodx/scripting/include/reapi_gamedll.inc
Original file line number Diff line number Diff line change
Expand Up @@ -1235,6 +1235,17 @@ native rg_player_relationship(const player, const target);
native rg_send_death_message(const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill);

/*
* Adds impulse to the player.
*
* @param player Player index.
* @param attacker Attacker index.
* @param flKnockbackForce Knockback force.
* @param flVelModifier Velocity modifier.
*
* @noreturn
*/
native rg_player_takedamage_impulse(const player, const attacker, const Float:flKnockbackForce, const Float:flVelModifier);

* Restarts entities with the specified classname.
*
* @param classname Classname to search for
Expand Down Expand Up @@ -1385,3 +1396,6 @@ native rg_bubble_trail(Float:from[3], Float:to[3], const bubbleCount);
*
*/
native rg_texture_hit(const ptr, Float:vecSrc[3], Float:vecEnd[3], output[], len);



42 changes: 42 additions & 0 deletions reapi/src/natives/natives_misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3374,6 +3374,47 @@ cell AMX_NATIVE_CALL rg_send_death_message(AMX *amx, cell *params)
CSGameRules()->SendDeathMessage(pKiller, pVictim, pAssister, args[arg_inflictor], weaponName, args[arg_deathmsgflags], args[arg_rarityofkill]);
return TRUE;
}

/*
* Adds impulse to the player.
*
* @param player Player index.
* @param attacker Attacker index.
* @param flKnockbackForce Knockback force.
* @param flVelModifier Velocity modifier.
*
* @noreturn
*/
cell AMX_NATIVE_CALL rg_player_takedamage_impulse(AMX *amx, cell *params)
{
enum args_e { arg_count, arg_index, arg_attacker, arg_knockback_force, arg_vel_modifier };

CHECK_ISPLAYER(arg_index);
CHECK_ISPLAYER(arg_attacker);

CBasePlayer *pPlayer = UTIL_PlayerByIndex(params[arg_index]);
CHECK_CONNECTED(pPlayer, arg_index);

if (!pPlayer->IsAlive())
{
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: player %d not alive", __FUNCTION__, params[arg_index]);
return FALSE;
}

CBasePlayer *pAttacker = UTIL_PlayerByIndex(params[arg_attacker]);
CHECK_CONNECTED(pAttacker, arg_attacker);

if (!pAttacker->IsAlive())
{
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: attacker %d not alive", __FUNCTION__, params[arg_attacker]);
return FALSE;
}

CAmxArgs args(amx, params);
pPlayer->CSPlayer()->TakeDamageImpulse(pAttacker, args[arg_knockback_force], args[arg_vel_modifier]);

return TRUE;
}

/*
* Restarts entities with the specified classname.
Expand Down Expand Up @@ -3632,6 +3673,7 @@ cell AMX_NATIVE_CALL rg_texture_hit(AMX* amx, cell* params)

setAmxString(dest, textureType, length);
return TRUE;

}

AMX_NATIVE_INFO Misc_Natives_RG[] =
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.