public void Loot() { var looted = false; if (Vector3.Distance(GetObject.PlayerMonoGameObject.transform.position, transform.position) > Rm_RPGHandler.Instance.Items.MaxLootRange) { Debug.Log("Item is too far away to loot."); return; } if (LootItem.Gold != 0) { GetObject.PlayerMono.Player.Inventory.AddGold(LootItem.Gold); Debug.Log("You looted: " + LootItem.Gold + " gold."); looted = true; } else { if (Rm_RPGHandler.Instance.Items.AutoEquipOnLoot && (LootItem.Item is Apparel || LootItem.Item is Weapon)) { if (Rm_RPGHandler.Instance.Items.AutoEquipAlways) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } else if (Rm_RPGHandler.Instance.Items.AutoEquipIfSlotEmpty) { if (LootItem.Item is Weapon) { var slot = GetObject.PlayerCharacter.Equipment.GetSlot("Weapon"); if (slot.Item == null) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } else { var apparel = LootItem.Item as Apparel; var slot = GetObject.PlayerCharacter.Equipment.GetSlot(apparel.apparelSlotID); if (slot.Item == null) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } } else if (Rm_RPGHandler.Instance.Items.AutoEquipBasedOnLevel) { if (LootItem.Item is Weapon) { var slot = GetObject.PlayerCharacter.Equipment.GetSlot("Weapon"); var offHandslot = GetObject.PlayerCharacter.Equipment.GetSlot("OffHand"); var wep = LootItem.Item as Weapon; if (slot.Item == null || (slot.Item as Weapon).RequiredLevel < wep.RequiredLevel || (Rm_RPGHandler.Instance.Items.AllowDualWield && Rm_RPGHandler.Instance.Items.EnableOffHandSlot && offHandslot.Item == null)) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } else { var apparel = LootItem.Item as Apparel; var slot = GetObject.PlayerCharacter.Equipment.GetSlot(apparel.apparelSlotID); if (slot.Item == null || (slot.Item as Apparel).RequiredLevel < apparel.RequiredLevel) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } } } if (!looted) { looted = GetObject.PlayerMono.Player.Inventory.AddItem(LootItem.Item); if (looted) { Debug.Log("You looted: " + LootItem.Item.Name); } } } if (looted) { _readingBook = false; BookHandler.Instance.CloseBook(); TooltipUI.Clear(); Destroy(gameObject); } }
public void Loot() { var looted = false; if (LootItem.Gold != 0) { GetObject.PlayerMono.Player.Inventory.AddGold(LootItem.Gold); Debug.Log("You looted: " + LootItem.Gold + " gold."); looted = true; } else { if (Rm_RPGHandler.Instance.Items.AutoEquipOnLoot && (LootItem.Item is Apparel || LootItem.Item is Weapon)) { if (Rm_RPGHandler.Instance.Items.AutoEquipAlways) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } else if (Rm_RPGHandler.Instance.Items.AutoEquipIfSlotEmpty) { if (LootItem.Item is Weapon) { var slot = GetObject.PlayerCharacter.Equipment.GetSlot("Weapon"); if (slot.Item == null) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } else { var apparel = LootItem.Item as Apparel; var slot = GetObject.PlayerCharacter.Equipment.GetSlot(apparel.apparelSlotID); if (slot.Item == null) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } } else if (Rm_RPGHandler.Instance.Items.AutoEquipBasedOnLevel) { if (LootItem.Item is Weapon) { var slot = GetObject.PlayerCharacter.Equipment.GetSlot("Weapon"); var offHandslot = GetObject.PlayerCharacter.Equipment.GetSlot("OffHand"); var wep = LootItem.Item as Weapon; if (slot.Item == null || (slot.Item as Weapon).RequiredLevel < wep.RequiredLevel || (Rm_RPGHandler.Instance.Items.AllowDualWield && Rm_RPGHandler.Instance.Items.EnableOffHandSlot && offHandslot.Item == null)) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } else { var apparel = LootItem.Item as Apparel; var slot = GetObject.PlayerCharacter.Equipment.GetSlot(apparel.apparelSlotID); if (slot.Item == null || (slot.Item as Apparel).RequiredLevel < apparel.RequiredLevel) { var result = GetObject.PlayerCharacter.Equipment.EquipItem(LootItem.Item); if (result == EquipResult.Success) { looted = true; } } } } } if (!looted) { looted = GetObject.PlayerMono.Player.Inventory.AddItem(LootItem.Item); if (looted) { Debug.Log("You looted: " + LootItem.Item.Name); } } } TooltipUI.Clear(); if (looted) { GetObject.PlayerSave.GamePersistence.LootedWorldObjects.Add(LootItem.LootId); Destroy(gameObject); } }
public void OnPointerExit(PointerEventData eventData) { TooltipUI.Clear(); }
void Update() { var curPet = GetObject.PlayerCharacter.CurrentPet; PetUI.Show = curPet != null && curPet.PetData.CurrentBehaviour != PetBehaviour.PetOnly; MouseOnUI = EventSystem.current.IsPointerOverGameObject() || (SkillDragHandler.itemBeingDragged != null); if (CanOpenWindows && Input.GetKeyDown(KeyCode.G)) { GameMaster.ShowUI = !GameMaster.ShowUI; if (GameMaster.ShowUI) { InventoryUI.UpdateItemContainer(); } } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.WorldMap)) { WorldMapUI.ToggleMap(); } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.Inventory)) { InventoryUI.ToggleInventory(); TooltipUI.Clear(); } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.CharacterSheet)) { CharacterUI.ToggleCharacterSheet(); TooltipUI.Clear(); } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.Crafting)) { CraftingUI.ToggleCraftingUI(); TooltipUI.Clear(); } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.QuestBook)) { QuestLogUI.ToggleQuestLogUI(); TooltipUI.Clear(); } if (CanOpenWindows && RPG.Input.GetKeyDown(RPG.Input.SkillBook)) { AbilityLogUI.ToggleAbilityLogUI(); TooltipUI.Clear(); } FPSCounter.gameObject.SetActive(DebugShowUI && DebugShowFPS && ShowFPSCounter); AchievementsUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); InventoryUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && InventoryUI.Show); CharacterUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && CharacterUI.Show); CraftingUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && CraftingUI.Show); QuestLogUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && QuestLogUI.Show); VendorUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && VendorUI.Show); AbilityLogUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && AbilityLogUI.Show); PetUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && PetUI.Show); var minimapOptionShow = Rm_RPGHandler.Instance.GameInfo.MinimapOptions.ShowMinimap; MinimapUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI && MinimapUI.Show && minimapOptionShow); WorldMapUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); HarvestingUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); CoreUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); DialogUI.gameObject.SetActive(DebugShowUI && DialogUI.DialogModel != null && GameMaster.ShowUI); BookUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); QuestTrackerUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); SkillBarUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); PopupUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); if (MobileTouchUI != null) { MobileTouchUI.gameObject.SetActive(DebugShowUI && GameMaster.ShowUI); } }