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; }