void main() { object oPC = GetLastUsedBy(); int hd = GetHitDice(oPC); int dam = d12(hd)+d6(hd); location lLoc = GetLocation(GetNearestObjectByTag("heartbox")); if (GetIsPC(oPC) && !GetIsDM(oPC)){ ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(dam, DAMAGE_TYPE_FIRE, DAMAGE_POWER_ENERGY),oPC); } object box = (GetNearestObjectByTag("heartbox")); AssignCommand(box, ActionUnlockObject(box)); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_FIRE),lLoc, 2.0); }