Aschbourne_PRC8/_module/nss/dealdmgsmall.nss

24 lines
762 B
Plaintext
Raw Normal View History

2024-06-14 10:48:20 -04:00
// OnEnter
// Set the delay time for each damage applied
const float DAMAGE_DELAY = 6.0;
// Damage amount to be applied
const int DAMAGE_AMOUNT = 5;
void PseudoDamage(object oPC);
void main()
{
object oPC = GetEnteringObject();
int iRace = GetRacialType(oPC);
if (iRace != RACIAL_TYPE_GNOME || iRace != RACIAL_TYPE_DWARF ||
iRace != RACIAL_TYPE_HALFLING) return;
SetLocalInt(oPC, "DAMAGE_PC", TRUE);
PseudoDamage(oPC);
}
void PseudoDamage(object oPC)
{
if (!GetIsObjectValid(oPC) || !GetLocalInt(oPC, "DAMAGE_PC")) return;
effect eDam = EffectDamage(DAMAGE_AMOUNT, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_ENERGY);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oPC);
DelayCommand(DAMAGE_DELAY, PseudoDamage(oPC));
}