Ejemplo n.º 1
0
    public function takeDamage($result) {
        if ($result->getDamage() > 0 && $this->transfers > 0) {
            $this->transfers--;

            $this->getSim()->debug("[{$this->getName()}] transfered {$result->getDamage()}");

            return $result;
        }

        return parent::takeDamage($result);
    }
Ejemplo n.º 2
0
 private function attack(\Warrior $warrior1, \Warrior $warrior2)
 {
     $damage = $warrior1->generateDamage();
     $finalDamage = $warrior2->takeDamage($damage);
     $missPart = '';
     if (isset($finalDamage[1])) {
         switch ($finalDamage[1]) {
             case Warrior::NO_DAMAGE_MISS:
                 $missPart = ' because enemy dodge';
                 break;
             case Warrior::NO_DAMAGE_BETTER_ARRMOR:
                 $missPart = ' because enemy have bigger armor then your strength';
                 break;
         }
     }
     $this->addToFightLog($warrior1->name . ' attacking to ' . $warrior2->name . ' give damage ' . $damage . ' ' . $warrior2->name . ' take damage ' . $finalDamage[0] . $missPart . "<br>");
 }