/** * @return void */ private function stealthStrike(Player $attacker, Player $target) { $target->harm($attacker->getStrength()); $attacker->turns = $attacker - turns - 1 * self::STEALTH_STRIKE_COST; }
/** * Normal attack on a single thief. */ private function attackNormalThief(Player $player) { $damage = rand(0, 35); // Damage done $gold = 0; if ($victory = $player->harm($damage)) { $gold = rand(0, 40); // Gold in question if ($damage > 30) { // Steal gold $player->setGold(max(0, $player->gold - $gold)); } else { if ($damage < 30) { // award gold and item $player->setGold($player->gold + $gold); $inventory = new Inventory($player); $inventory->add('shuriken', 1); } } } $player->save(); return ['npc.thief.tpl', ['attack' => $damage, 'gold' => $gold, 'victory' => $victory]]; }