void HandleSkill(SkillButton button) { switch (button.Skill.Name) { case "zap": foreach (Fighter fighter in Save.GetRoom().Entities.FindAll(entity => entity is Fighter)) { if (MouseOver(fighter)) { if (Save.Kevin.Power >= 1) { Save.Kevin.Power -= 1; Deal(fighter, 5); if (fighter.HP <= 0) { UpdateOptions = true; } } } } break; case "zaproom": if (MegaMapMode) { foreach (RoomButton roombutton in MegaMapButtons.FindAll(butt => butt is RoomButton)) { if (MouseOver(roombutton) && Save.Kevin.Power >= 2 || (PlayerHasSkill("zapcheaper") && Save.Kevin.Power >= 1)) { Save.Kevin.Power -= 2; if (PlayerHasSkill("zapcheaper")) { Save.Kevin.Power++; } foreach (Fighter fighter in roombutton.Room.Entities.FindAll(entity => entity is Fighter)) { fighter.HP -= 3; if (fighter.HP <= 0) { UpdateOptions = true; } } if (PlayerHasSkill("zapsafe")) { Save.Kevin.HP += 3; } } } } break; } }
void CheckActiveSkills() { foreach (SkillButton button in SkillButtons) { // Keyboard if (Pressed(button.Hotkey) && DescriptionList.Count == 0) { button.WasPressed = true; } else if (Released(button.Hotkey)) { if (button.WasPressed && PlayerHasSkill(button.Skill)) { HandleSkill(button); } button.WasPressed = false; } } foreach (RoomButton button in MegaMapButtons.FindAll(button => button is RoomButton)) { if (MouseOver(button)) { if (RightClick()) { button.WasRightClicked = true; } else if (RightReleased()) { if (PlayerHasSkill("inspect")) { if (button.Room.Visited && Save.Kevin.Power >= 1) { Save.Kevin.Power--; button.Room.Known = true; } } button.WasRightClicked = false; } } } }