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 = EffectAttackDecrease(d12(1), ATTACK_BONUS_MISC); 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),OBJECT_SELF,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); }