Ejemplo n.º 1
0
 public function executeKill(sfWebRequest $request)
 {
     $user = UserPeer::retrieveByPk($request->getParameter('username'));
     $arr = array();
     if (!$user) {
         $arr["result"] = false;
         $arr["message"] = "Invalid username";
         $this->renderText(json_encode($arr));
         return sfView::NONE;
     }
     if (!$user->getCurrentGameId()) {
         $arr["result"] = false;
         $arr["message"] = "You are dead, you cannot kill.";
         $this->renderText(json_encode($arr));
         return sfView::NONE;
     }
     TargetPeer::killTarget($user->getId());
     $user->setKills($user->getKills() + 1);
     $user->save();
     $arr["result"] = true;
     if (count(GameMemberPeer::getMemberIdsInGame($user->getCurrentGameId())) < 2) {
         GameMemberPeer::setMemberInactive($user->getId(), $user->getCurrentGameId());
         $user->setWins($user->getWins() + 1);
         $user->setCurrentGameId(null);
         $user->save();
         $arr["message"] = "You have won!  Game is over!";
         $arr["win"] = true;
     } else {
         $arr["message"] = "Target Killed, new one will be assigned soon!";
         $arr["win"] = false;
     }
     $this->renderText(json_encode($arr));
     return sfView::NONE;
 }