void main() { // Remove items from the player's inventory object oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "px_strangekey"); object oForge = OBJECT_SELF; if((GetIsObjectValid(oItemToTake) == TRUE) && (GetObjectByTag("px_prototype_wargolem")!=OBJECT_INVALID)) { object oTarget =GetObjectByTag("px_prototype_wargolem"); effect eDec = EffectACDecrease(d12(1), AC_DEFLECTION_BONUS, AC_VS_DAMAGE_TYPE_ALL); DestroyObject(oItemToTake); SetLocalInt(OBJECT_SELF, "sBurn", 1); AssignCommand(oForge, DelayCommand(0.2,ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE))); SoundObjectStop(GetNearestObjectByTag("fr_pax_forge")); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDec, oTarget); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SOUND_BURST),oForge,10.0); AssignCommand(oForge, DelayCommand(60.0,ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))); } else SpeakString("[The Forge is not hot enough to melt your key yet.]",TALKVOLUME_TALK); }