public static void Click(Players.Player player, Box <PlayerClickedData> boxedData) { var healed = false; if (!_coolDown.ContainsKey(player)) { _coolDown.Add(player, 0); } if (boxedData.item1.clickType == PlayerClickedData.ClickType.Right && boxedData.item1.typeSelected == Item.ItemIndex) { if (Time.MillisecondsSinceStart > _coolDown[player]) { var healing = new HealingOverTimePC(player, INITIALHEAL, TOTALHOT, 5); healed = true; } } else if (boxedData.item1.clickType == PlayerClickedData.ClickType.Left && boxedData.item1.typeSelected == Item.ItemIndex && boxedData.item1.rayCastHit.rayHitType == RayHitType.NPC) { if (NPCTracker.TryGetNPC(boxedData.item1.rayCastHit.hitNPCID, out var npc)) { if (Time.MillisecondsSinceStart > _coolDown[player]) { var heal = new HealingOverTimeNPC(npc, INITIALHEAL, TOTALHOT, 5, Item.ItemIndex); healed = true; } } } if (healed) { _coolDown[player] = Time.MillisecondsSinceStart + COOLDOWN; boxedData.item1.consumedType = PlayerClickedData.ConsumedType.UsedByMod; ServerManager.SendAudio(player.Position, GameLoader.NAMESPACE + ".Bandage"); if (Inventory.TryGetInventory(player, out var inv)) { inv.TryRemove(Item.ItemIndex); } } }
public static void Click(Players.Player player, PlayerClickedData playerClickData) { var healed = false; if (!_coolDown.ContainsKey(player)) { _coolDown.Add(player, 0); } if (playerClickData.ClickType == PlayerClickedData.EClickType.Right && playerClickData.TypeSelected == Item.ItemIndex) { if (Time.MillisecondsSinceStart > _coolDown[player]) { var healing = new HealingOverTimePC(player, INITIALHEAL, TOTALHOT, 5); healed = true; } } else if (playerClickData.ClickType == PlayerClickedData.EClickType.Left && playerClickData.TypeSelected == Item.ItemIndex && playerClickData.HitType == PlayerClickedData.EHitType.NPC) { if (NPCTracker.TryGetNPC(playerClickData.GetNPCHit().NPCID, out var npc)) { if (Time.MillisecondsSinceStart > _coolDown[player]) { var heal = new HealingOverTimeNPC(npc, INITIALHEAL, TOTALHOT, 5, Item.ItemIndex); healed = true; } } } if (healed) { _coolDown[player] = Time.MillisecondsSinceStart + COOLDOWN; playerClickData.ConsumedType = PlayerClickedData.EConsumedType.UsedByMod; AudioManager.SendAudio(player.Position, GameLoader.NAMESPACE + ".Bandage"); player.Inventory.TryRemove(Item.ItemIndex); } }