private function parseAmount(User $User, $amount) { if ($User->getBalance() - $amount == 0) { return $User->getBalance(true); } else { return $amount; } }
public static function buyLevel(User $user, \PDO $db) { $price = Level::getLevelPrice($user->level + 1); if ($user->getBalance() >= $price) { $Transact = new Transact($db); if ($Transact->transactToBank(new BankTransaction($user, $price, new TransactionType(TransactionType::LevelPurchase)))) { $user->level++; $user->save($db); return true; } } return false; }
/** * @param Player $player * @param User $bank * @param $multiplier */ public function payPlayer(Player $player, User $bank, $multiplier) { if ($multiplier > 0) { if ($bank->getBalance() > (1 + $multiplier) * $player->bet) { $this->taxationBodyTransact($player, (1 + $multiplier) * $player->bet); $player->bet_result = $multiplier * $player->bet; } elseif ($bank->getBalance() > abs($player->bet)) { $this->Talk->pay_bet_failed_return(); $this->taxationBodyTransact($player, abs($player->bet)); } else { $this->Talk->pay_bet_failed(); $player->bet_result = -1 * $player->bet; } $player->game_result = new GameResult(GameResult::Win); } elseif ($multiplier == 0) { if (!$player->free_bet) { if ($bank->getBalance() > abs($player->bet)) { $this->taxationBodyTransact($player, abs($player->bet)); } else { $this->Talk->pay_bet_failed_repay(); } } $player->game_result = new GameResult(GameResult::Draw); } else { if (!$player->free_bet) { $player->bet_result = $multiplier * $player->bet; } $player->game_result = new GameResult(GameResult::Loss); } $this->Talk->player_result($player, $multiplier); }
public function removeMoney(User $User, $amount) { $new_balance = $User->getBalance(true) - $amount; if ($new_balance >= 0) { $User->balance = $new_balance; return true; } else { $this->Feedback->addFeedbackCode(27); // You don't have enough Coin! return false; } }