#if defined _goomba_included_ #endinput #endif #define _goomba_included_ public SharedPlugin:__pl_goomba = { name = "goomba", file = "goomba.smx", #if defined REQUIRE_PLUGIN required = 1, #else required = 0, #endif }; public __pl_ircrelay_SetNTVOptional() { MarkNativeAsOptional("GoombaStomp"); MarkNativeAsOptional("CheckStompImmunity"); MarkNativeAsOptional("PlayStompSound"); MarkNativeAsOptional("PlayStompReboundSound"); MarkNativeAsOptional("EmitStompParticles"); } /** * @brief Called right before the stomp * * @param attacker Player doing the stomp * @param victim Player being stomped * @param damageMultiplier Damage multiplier based on the actual victim's life * @param damageBonus Damage bonus * @param JumpPower Rebound jump power * @return Plugin_Handled to block the stomp, Plugin_Changed to modify the damage */ forward Action:OnStomp(attacker, victim, &Float:damageMultiplier, &Float:damageBonus, &Float:JumpPower); /** * @brief Called after the stomp if it was successful * * @param attacker Player doing the stomp * @param victim Player being stomped * @param damageMultiplier Damage multiplier based on the actual victim's life * @param damageBonus Damage bonus * @param JumpPower Rebound jump power * @noreturn */ forward OnStompPost(attacker, victim, Float:damageMultiplier, Float:damageBonus, Float:jumpPower); /** * @brief Stomp * * @param attacker Player doing the stomp * @param victim Player being stomped * @param damageMultiplier Damage inflicted based on the victim's health (default: goomba_dmg_lifemultiplier) * @param damageBonus Damage bonus after damageMultiplier calculation (default: goomba_dmg_add) * @param jumpPower Jump power of the rebound (default: goomba_rebound_power) * @return True if the stomp was successful, false otherwise. */ native bool:GoombaStomp(attacker, victim, ...); /** * @param attacker Player doing the stomp * @param victim Player being stomped * @return Bit flags combination based on the attacker and victim's immunity preferences */ native CheckStompImmunity(attacker, victim); /** * @brief Play the stomped sound to the specified client * * @param client Client to play the stomped sound to. * @noreturn */ native PlayStompSound(client); /** * @brief Play the rebound sound from the specified client to everyone * * @param client Player to play the rebound sound from. * @noreturn */ native PlayStompReboundSound(client); /** * @brief Attach the rebound particles on the specified player * * @param client Player to attach the particles on * @noreturn */ native EmitStompParticles(client); #define GOOMBA_IMMUNFLAG_NONE 0 #define GOOMBA_IMMUNFLAG_ATTACKER (1 << 0) #define GOOMBA_IMMUNFLAG_VICTIM (1 << 1)