Aantioch_Infernum/_module/nss/drow_explosion.nss
Jaysyn904 22947ad4b6 Initial Upload
Initial Upload
2023-08-08 16:22:17 -04:00

53 lines
987 B
Plaintext

void Blowup(object oArea)
{
object oStuff=GetFirstObjectInArea(oArea);
while (GetIsObjectValid(oStuff))
{
if ((GetTag(oStuff)=="skullball") && (GetObjectType(oStuff)==OBJECT_TYPE_PLACEABLE))
DestroyObject(oStuff,0.0);
oStuff=GetNextObjectInArea(oArea);
}
}
void Damage(object oTarget)
{
object oArea=GetArea(OBJECT_SELF);
effect eEffect = EffectDamage(650, DAMAGE_TYPE_FIRE, DAMAGE_POWER_ENERGY);
object oPC=GetFirstPC();
location lPC = GetLocation(oPC);
while (GetIsObjectValid(oPC))
{
if (GetArea(oPC)==oArea)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), lPC);
}
oPC=GetNextPC();
}
Blowup(oArea);
}
void main()
{
object oTarget = GetEnteringObject();
if (!GetIsPC(oTarget)) return;
if (GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oTarget)) != "nw_it_torch001")
{
return;
}
else
{
Damage(oTarget);
}
}