Example #1
0
 public function create_object($data)
 {
     $data = \Core\Dict::create($data);
     $assassin = Agent::mapper()->create_object(array('id' => $data->assassin, 'alias' => $data->assassin_agent_alias));
     $target = Agent::mapper()->create_object(array('id' => $data->target, 'alias' => $data->target_agent_alias));
     $weapon = Weapon::mapper()->create_object(array('id' => $data->weapon_id, 'name' => $data->weapon_name));
     return Kill::create(array('id' => $data->id, 'description' => $data->description, 'assassin' => $assassin, 'target' => $target, 'weapon' => $weapon, 'game' => $game, 'when_happened' => new \DateTime($data->when_happened)), True);
 }
Example #2
0
 /**
  * Kill the target of $agent_id.
  * @param $agent_id The Agent ID of the <b>hunter</b>.
  */
 public function kill_agent_target($agent_id, array $kill_data)
 {
     $this->_check_players_loaded();
     if ($this->state == 0) {
         throw new GameNotStartedError();
     }
     if ($this->state == 2) {
         throw new GameEndedError();
     }
     $this->_storage = \Core\Storage::container()->get_storage('Player');
     $player = $this->get_player($agent_id);
     $target = $this->_get_player_from_cycle($player->target);
     $kill_data['target'] = $target['id'];
     $kill_data['assassin'] = $player['id'];
     $kill_data['game'] = $this->id;
     $kill = Kill::create($kill_data);
     $kill->check_valid_date($this->start_date, $this->end_date);
     $this->_kill_player($target, $kill_data['pkn']);
     \Core\Storage::container()->get_storage('Kill')->save($kill);
 }