Ejemplo n.º 1
0
 /**
  * Give reward to user
  * POST
  *
  * @param App\Library\Reward $rewardLib
  * @param Request $request
  * @param int $id
  * @param string $name
  * @return Response
  */
 public function giveObject(Reward $rewardLib, Request $request, $id, $name)
 {
     $reward = RewardManager::join('item_template', 'item_template.id', '=', 'item')->where('item', $id)->first();
     $user = UserManager::find(Auth::user()->guid);
     $this->validate($request, ['player' => 'required|numeric|exists:personnages,guid']);
     if ($user->votes < $reward->votes) {
         return redirect()->back();
     } elseif ($rewardLib->checkReward($user->rewards, $reward->item)) {
         return redirect()->back();
     }
     $user->rewards .= $reward->item . '|';
     $user->save();
     $live = new \App\Model\Action();
     $live->PlayerID = $request->player;
     $live->Action = 21;
     $live->Nombre = $reward->item;
     $live->save();
     return redirect()->route('rewards.home');
 }
Ejemplo n.º 2
0
 /**
  * Buy an object on shop
  * POST
  *
  * @param Request $request
  * @param int $id
  * @param string $name
  * @return Response
  */
 public function buyObject(Request $request, $id, $name)
 {
     $this->validate($request, ['player' => 'required|numeric|exists:personnages,guid', 'cgu' => 'required']);
     $item = ItemManager::find($id);
     $user = \App\Model\User::find(Auth::user()->guid);
     if ($item->stock == 0) {
         return redirect()->back();
     } elseif ($item->price > $user->points) {
         return redirect()->back();
     }
     $user->points -= $item->price;
     $user->save();
     $item->stock -= 1;
     $item->save();
     $action = new \App\Model\Action();
     $action->PlayerID = $request->player;
     $action->Action = 21;
     $action->Nombre = $item->id;
     $action->save();
     return redirect()->route('shop.home');
 }
Ejemplo n.º 3
0
 /**
  * Play lotery
  * POST
  *
  * @param Request $request
  * @return Response
  */
 public function playLotery(Request $request)
 {
     $this->validate($request, ['player' => 'required|numeric|exists:personnages,guid']);
     $item = ItemManager::where('lotery', 1)->orderByRaw('RAND()')->first();
     $user = UserManager::find(Auth::user()->guid);
     if ($user->points < config('config.points.lotery')) {
         return redirect()->back();
     }
     $user->points -= config('config.points.lotery');
     $user->save();
     $action = new \App\Model\Action();
     $action->PlayerID = $request->player;
     $action->Action = 21;
     $action->Nombre = $item->id;
     $action->save();
     return view('points.success', compact('item'));
 }
Ejemplo n.º 4
0
 /**
  * Give object to player
  *
  * @param int $playerId
  * @param int $objectId
  */
 private function _giveObject($playerId, $objectId)
 {
     $live = new \App\Model\Action();
     $live->PlayerID = $playerId;
     $live->Action = 21;
     $live->Nombre = $objectId;
     $live->save();
 }