53 lines
987 B
Plaintext
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);
|
|
}
|
|
|
|
}
|