Ejemplo n.º 1
0
 public function onRun(array $args, Faction $faction, Player $player)
 {
     $chunk = Chunk::fromObject($player);
     if (!$faction->getMemberRank($player)->hasPerm(Rank::P_UNCLAIM_CENTER) and $faction->isCentreLocation($player)) {
         return self::NO_PERM;
     }
     return ($result = $faction->unclaim($chunk)) === true ? "The chunk you are standing in has been unclaimed." : $result;
 }
Ejemplo n.º 2
0
 public function checkPermission(Faction $faction, Player $player)
 {
     $rank = $faction->getMemberRank($player);
     $perm = $rank->hasPerm(Rank::P_CLAIM);
     $fee = $this->getMain()->getChunkClaimFee();
     if ($fee["amount"] === 0) {
         return $perm;
     }
     if ($fee["account"] === "bank") {
         return $perm and $rank->hasPerm(Rank::P_SPEND_MONEY_BANK);
     }
     return $perm and $rank->hasPerm(Rank::P_SPEND_MONEY_CASH);
 }
Ejemplo n.º 3
0
 public function checkPermission(Faction $faction, Player $player)
 {
     return $faction->getMemberRank($player)->hasPerm(Rank::P_SIEGE);
 }
Ejemplo n.º 4
0
 public function checkPermission(Faction $faction, Player $player)
 {
     return $this->getMain()->getMaxHomes() > 0 and $faction->getMemberRank($player)->hasPerm(Rank::P_SET_HOME) and ($cf = $this->getMain()->getFList()->getFaction(Chunk::fromObject($player))) instanceof Faction and $cf->getID() === $faction->getID();
 }
Ejemplo n.º 5
0
 public function checkPermission(Faction $faction, Player $player)
 {
     return $faction->getMemberRank($player->getName())->hasPerm(Rank::P_INVITE);
 }
Ejemplo n.º 6
0
 public function onRun(array $args, Faction $faction, Player $player)
 {
     if (!isset($args)) {
         return self::WRONG_USE;
     }
     $rank = $faction->getMemberRank($player);
     switch ($cmd = array_shift($args)) {
         case "view":
         case "balance":
             $player->sendMessage("Bank balance: \$" . $faction->getAccount(Faction::BANK)->getAmount());
             return "Cash balance: \$" . $faction->getAccount(Faction::CASH)->getAmount();
         case "withdraw":
             if (!$rank->hasPerm(Rank::P_SPEND_MONEY_BANK) or !$rank->hasPerm(Rank::P_DEPOSIT_MONEY_CASH)) {
                 return self::NO_PERM;
             }
             if (!isset($args[0])) {
                 return self::WRONG_USE;
             }
             $amount = array_shift($args);
             $bank = $faction->getAccount(Faction::BANK);
             $cash = $faction->getAccount(Faction::CASH);
             if (!$bank->canPay($amount)) {
                 return "You don't have so much money in your faction bank!";
             }
             $bank->pay($cash, $amount, "Cash withdrawal");
             return "\${$amount} has been withdrawn from your faction bank.";
         case "deposit":
             if (!$rank->hasPerm(Rank::P_SPEND_MONEY_CASH) or !$rank->hasPerm(Rank::P_DEPOSIT_MONEY_BANK)) {
                 return self::NO_PERM;
             }
             if (!isset($args[0])) {
                 return self::WRONG_USE;
             }
             $amount = array_shift($args);
             $bank = $faction->getAccount(Faction::BANK);
             $cash = $faction->getAccount(Faction::CASH);
             if (!$cash->canPay($amount)) {
                 return "Your faction don't have so much cash to deposit!";
             }
             $cash->pay($bank, $amount, "Cash deposit");
             return "\${$amount} of cash has been deposited into your faction bank.";
         case "ff":
             if (!isset($args[1])) {
                 return "Usage: /f money ff <faction> <amount>";
             }
             $other = $this->getMain()->getFList()->getFactionBySimilarName(array_shift($args));
             $amount = (int) array_shift($args);
             if ($amount <= 0) {
                 return "Amount must be larger than zero.";
             }
             $account = $faction->getAccount(Faction::CASH);
             if (!$account->canPay($amount)) {
                 return "Your faction doesn't have enough cash!";
             }
             $otherAccount = $other->getAccount(Faction::CASH);
             $account->pay($otherAccount, $amount, "Transfer using /f money ff");
             $other->sendMessage("\${$amount} cash has been transferred from faction {$faction}.");
             return "\${$amount} cash has been transferred to faction {$other}.";
         case "pf":
             return "Please use \"/f donate\" instead.";
         case "export":
             // TODO
             return "TODO";
     }
     return self::WRONG_USE;
 }
Ejemplo n.º 7
0
 public function checkPermission(Faction $faction, Player $player)
 {
     return $this->getMain()->getMaxHomes() > 0 and $faction->getMemberRank($player)->hasPerm(Rank::P_TP_HOME);
 }
Ejemplo n.º 8
0
 public function checkPermission(Faction $faction, Player $player)
 {
     $rank = $faction->getMemberRank($player);
     $account = $this->getMain()->getRmHomeFee()["account"];
     return $rank->hasPerm(Rank::P_SET_HOME) and $rank->hasPerm($account === "bank" ? Rank::P_SPEND_MONEY_BANK : Rank::P_SPEND_MONEY_CASH);
 }
Ejemplo n.º 9
0
 public function checkPermission(Faction $faction, Player $player)
 {
     return $faction->getMemberRank($player)->hasPerm(Rank::P_DEPOSIT_MONEY_BANK);
 }