/** * Get an account for a character * * @param Character $char * @return Account */ public static function findByChar(Character $char) { $query = 'SELECT account_id FROM accounts JOIN account_players ON _account_id = account_id JOIN players ON _player_id = player_id WHERE players.player_id = :pid'; return new Account(query_item($query, [':pid' => $char->id()])); }
/** * Calculcate the max damage of an npc. Needed for effectiveness calc. * * @return int */ public function maxDamage(Character $enemy = null) { $dam = 1 + $this->strength * 2 + $this->damage; // Mirror some of their enemy's strength if ($this->hasTrait('partial_match_strength') && $enemy instanceof Character) { $add = max(0, floor($enemy->getStrength() / 3)); // Enemy str/3 or at minimum 0 $dam = $dam + $add; } return $dam; }