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; }
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); }
public function checkPermission(Faction $faction, Player $player) { return $faction->getMemberRank($player)->hasPerm(Rank::P_SIEGE); }
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(); }
public function checkPermission(Faction $faction, Player $player) { return $faction->getMemberRank($player->getName())->hasPerm(Rank::P_INVITE); }
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; }
public function checkPermission(Faction $faction, Player $player) { return $this->getMain()->getMaxHomes() > 0 and $faction->getMemberRank($player)->hasPerm(Rank::P_TP_HOME); }
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); }
public function checkPermission(Faction $faction, Player $player) { return $faction->getMemberRank($player)->hasPerm(Rank::P_DEPOSIT_MONEY_BANK); }