public override bool ActivateByObject(GameObject ObjectUsed) { ObjectInteraction objIntUsed = ObjectUsed.GetComponent <ObjectInteraction>(); if (objIntUsed != null) { switch (objIntUsed.ItemType) { case ObjectInteraction.POLE: playerUW.playerInventory.ObjectInHand = ""; playerUW.CursorIcon = playerUW.CursorIconDefault; ml.Set(playerUW.StringControl.GetString(1, 157)); return(Activate()); break; default: playerUW.playerInventory.ObjectInHand = ""; playerUW.CursorIcon = playerUW.CursorIconDefault; objIntUsed.FailMessage(); return(false); break; } } return(false); }
public override bool ActivateByObject(ObjectInteraction ObjectUsed) { //ObjectInteraction objIntUsed = ObjectUsed.GetComponent<ObjectInteraction>(); if (ObjectUsed != null) { switch (ObjectUsed.GetItemType()) { case ObjectInteraction.POLE: CurrentObjectInHand = null; //UWHUD.instance.CursorIcon = UWHUD.instance.CursorIconDefault; UWHUD.instance.MessageScroll.Set(StringController.instance.GetString(1, StringController.str_using_the_pole_you_trigger_the_switch_)); return(Activate(this.gameObject)); default: CurrentObjectInHand = null; //UWHUD.instance.CursorIcon = UWHUD.instance.CursorIconDefault; ObjectUsed.FailMessage(); return(false); } } return(false); }
public override bool ActivateByObject(ObjectInteraction ObjectUsed) { //Test for a valid rune being used on the bag and if so add the rune to the players inventory. if (ObjectUsed.GetComponent <RuneStone>() != null) { UWCharacter.Instance.PlayerMagic.PlayerRunes[ObjectUsed.item_id - 232] = true; //Add rune to rune bag and destroy the original object. ObjectUsed.consumeObject(); CurrentObjectInHand = null; //UWHUD.instance.CursorIcon= UWHUD.instance.CursorIconDefault; return(true); } else { if (UWCharacter.InteractionMode == UWCharacter.InteractionModeUse) { return(ObjectUsed.FailMessage()); } else { return(false); } } }
/// <summary> /// Activation of this object by another. EG key on door /// </summary> /// <returns>true</returns> /// <c>false</c> /// <param name="ObjectUsed">Object used.</param> /// Special case here for Garamon's grave. Activates a hard coded trigger public override bool ActivateByObject(ObjectInteraction ObjectUsed) { //ObjectInteraction objIntUsed = ObjectUsed.GetComponent<ObjectInteraction>(); if (GraveID() == 5) { //Garamon's grave //Activates a trigger a_move_trigger_54_52_04_0495 (selected by unknown means) if (ObjectUsed.item_id == 198) //Bones { if (ObjectUsed.quality == 63) { //Garamons bones //Arise Garamon. //000~001~134~You thoughtfully give the bones a final resting place. UWHUD.instance.MessageScroll.Add(StringController.instance.GetString(1, StringController.str_you_thoughtfully_give_the_bones_a_final_resting_place_)); ObjectInteraction trigObj = CurrentObjectList().objInfo[495].instance; if (trigObj != null) { link++; //Update the grave description ObjectUsed.consumeObject(); trigObj.GetComponent <trigger_base>().Activate(this.gameObject); Quest.instance.isGaramonBuried = true; CurrentObjectInHand = null; //Garamon does not initiate conversation normally so I force the conversation. GameObject garamon = GameObject.Find(a_create_object_trap.LastObjectCreated); if (garamon != null) { if (garamon.GetComponent <NPC>() != null) { garamon.GetComponent <NPC>().TalkTo(); } } } CurrentObjectInHand = null; return(true); } else { //Regular bones //000~001~259~The bones do not seem at rest in the grave, and you take them back. UWHUD.instance.MessageScroll.Add(StringController.instance.GetString(1, 259)); CurrentObjectInHand = null; return(true); } } else { return(ObjectUsed.FailMessage()); } } else { if ((ObjectUsed.item_id == 198) && (ObjectUsed.quality == 63)) //Garamons Bones used on the wrong grave { //000~001~259~The bones do not seem at rest in the grave, and you take them back. UWHUD.instance.MessageScroll.Add(StringController.instance.GetString(1, 259)); CurrentObjectInHand = null; return(true); } else { CurrentObjectInHand = null; return(ObjectUsed.FailMessage()); } } }