Example #1
0
 public static function execute(SR_Player $player, array $args)
 {
     // 		$bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         self::reply($player, Shadowhelp::getHelp($player, 'unequip'));
         return false;
     }
     // 		if ($player->isFighting() && $player->isLocked())
     // 		{
     // 			$player->message('You cannot change your equipment in combat when it\'s locked.');
     // 			return false;
     // 		}
     if (false === ($item = $player->getItem($args[0]))) {
         self::rply($player, '1029');
         // 			$player->message(sprintf('You don`t have that item.'));
         return false;
     }
     if (!$item->isEquipped($player) || $item instanceof SR_Piercing) {
         self::rply($player, '1067', array($player->lang($item->getItemType())));
         // 			$player->message(sprintf('You don`t have a %s equipped.', $item->getItemName()));
         return false;
     }
     $item->onItemUnequip($player);
     $player->modify();
     $player->healHP(0);
     $player->healMP(0);
     return true;
 }
Example #2
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'kick'));
         return false;
     }
     $p = $player->getParty();
     if (false === ($target = $p->getMemberByArg($args[0]))) {
         self::rply($player, '1089');
         // 			$bot->reply('This player is not in your party.');
         return false;
     }
     if ($target->getID() === $player->getID()) {
         self::rply($player, '1090');
         // 			$bot->reply('You can not kick yourself.');
         return false;
     }
     $p->ntice('5137', array($target->getName()));
     // 		$p->notice(sprintf('%s has been kicked off the party.', $target->getName()));
     if ($p->kickUser($target, false)) {
         $p->recomputeEnums();
         $p->updateMembers();
         $np = SR_Party::createParty();
         $np->cloneAction($p);
         $np->clonePreviousAction($p);
         $np->addUser($target, true);
         if (!$np->isIdle()) {
             $np->popAction(true);
         }
     }
     return true;
 }
Example #3
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) === 0) {
         return self::showDistances($player);
     }
     # err args
     if (count($args) !== 1 || !is_numeric($args[0])) {
         $bot->reply(Shadowhelp::getHelp($player, 'set_distance'));
         return false;
     }
     # Out of bounds
     $d = round(floatval($args[0]), 1);
     if ($d < 1 || $d > SR_Player::MAX_SD) {
         $bot->reply(Shadowhelp::getHelp($player, 'set_distance'));
         return false;
     }
     foreach ($player->getParty()->getMembers() as $member) {
         $member instanceof SR_Player;
         if ($member->getLangISO() === 'bot') {
             $member->msg('5278', array($player->getName(), $d));
         }
     }
     $player->updateField('distance', $d);
     return self::rply($player, '5122', array($d));
     // 		$player->message(sprintf("Your default combat distance has been set to %.01f meters.", $d));
     // 		return true;
 }
Example #4
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'gmp'));
         return false;
     }
     if (false === ($target = Shadowrun4::getPlayerByShortName($args[0]))) {
         $bot->reply(sprintf('The user %s is unknown.', $args[0]));
         return false;
     } elseif ($target === -1) {
         $bot->reply('The player name is ambigious.');
         return false;
     }
     if (false === $target->isCreated()) {
         $bot->reply(sprintf('The player %s has not started a game yet.', $args[0]));
         return false;
     }
     $p = $target->getParty();
     $a = $p->getAction();
     if ($a !== SR_Party::ACTION_INSIDE && $a !== SR_Party::ACTION_OUTSIDE) {
         $bot->reply('The party with ' . $args[0] . ' is moving.');
         return false;
     }
     $p->pushAction(SR_Party::ACTION_INSIDE, 'Prison_Block1');
 }
Example #5
0
 public static function execute(SR_Player $player, array $args)
 {
     if ($player->isFighting()) {
         $player->msg('1036');
         // 			$player->message('This does not work in combat');
         return false;
     }
     $argc = count($args);
     if ($argc < 1 || $argc > 2) {
         $player->message(Shadowhelp::getHelp($player, 'givekw'));
         return false;
     }
     if ($argc === 2) {
         if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
             $player->msg('1028', array($args[0]));
             #$player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
             return false;
         }
         $word = $args[1];
         $targets = array($target);
     } else {
         $word = $args[0];
         $targets = $player->getParty()->getMembers();
     }
     if (false === $player->hasKnowledge('words', $word)) {
         $player->msg('1023');
         # You don`t have this knowledge.
         return false;
     }
     return self::giveKnow($player, $targets, 'words', $args[1]);
 }
Example #6
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     # One arg is like examine.
     if (count($args) === 1) {
         return Shadowcmd_examine::execute($player, $args);
     }
     # Other than 2 args is error => help.
     if (count($args) !== 2) {
         $bot->reply(Shadowhelp::getHelp($player, 'show'));
         return false;
     }
     # Try to get target.
     if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
         $player->msg('1028', array($args[0]));
         // 			$player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
         return false;
     }
     # Show to yourself is like examine.
     if ($target->getID() === $player->getID()) {
         return Shadowcmd_examine::execute($player, array($args[1]));
     }
     # Try to get item.
     if (false === ($item = $player->getItem($args[1]))) {
         $player->msg('1029');
         // 			$bot->reply('You don`t have that item.');
         return false;
     }
     return $target->msg('5062', array($player->displayName(), $item->getItemInfo($target)));
     // 		$msg = sprintf('%s shows you: %s', $player->displayName(), $item->getItemInfo($player));
     // 		return $target->message($msg);
 }
Example #7
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (!$player->getParty()->isIdle()) {
         $player->msg('1033');
         // 			$player->message('Your party is moving. Try this command when idle.');
         return false;
     }
     if ($player->isRunner()) {
         self::rply($player, '5075');
         // 			$bot->reply('You are already playing running mode. Nice!');
     } elseif (count($args) === 0) {
         $bot->reply(Shadowhelp::getHelp($player, 'rm'));
         self::rply($player, '5076', array('#rm ' . self::WORD));
         // 			$bot->reply('Type "#rm '.self::WORD.' to confirm.');
     } elseif (count($args) !== 1 || $args[0] !== self::WORD) {
         $bot->reply(Shadowhelp::getHelp($player, 'rm'));
     } elseif ($player->getBase('level') > 2) {
         self::rply($player, '1034');
         // 			$bot->reply('You cannot switch to running mode when you passed level 2.');
     } else {
         $player->saveOption(SR_Player::RUNNING_MODE, true);
         self::rply($player, '5077');
         self::rply($player, '5078');
         // 			$bot->reply('You are now playing running mode. This means unlimited stats but instant death. Good luck!');
         // 			$bot->reply('It is advised you #enable norl now too, to prevent your char from beeing kidnapped with the #rl command!');
         return true;
     }
     return false;
 }
Example #8
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     $numArgs = count($args);
     if ($numArgs < 1 || $numArgs > 2) {
         $bot->reply(Shadowhelp::getHelp($player, 'compare'));
         return false;
     }
     $item1 = self::getItem($bot, $player, $args[0]);
     if (!$item1) {
         self::rply($player, '1020', array($args[0]));
         // 			$bot->reply('I don`t know what item "'.$args[0].'" is.');
         return false;
     }
     if ($numArgs > 1) {
         $item2 = self::getItem($bot, $player, $args[1]);
         if (!$item2) {
             self::rply($player, '1020', array($args[1]));
             // 				$bot->reply('I don`t know what item "'.$args[1].'" is.');
             return false;
         }
     } else {
         $item2 = $player->getItem($item1->getItemType());
         if (!$item2) {
             self::rply($player, '1021', array($item1->getItemName()));
             // 				$bot->reply('You don`t have anything comparable to "'.$item1->getItemName().'" equipped');
             return false;
         }
     }
     if ($player->getLangISO() === 'bot') {
         // 			return self::replyBotTable(self::getComparisonMatrix($player, $item1, $item2));
     }
     $bot->replyTable(self::getComparisonMatrix($player, $item1, $item2), '5043');
     return true;
 }
Example #9
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 2) {
         $bot->reply(Shadowhelp::getHelp($player, 'gmloot'));
         return false;
     }
     $target = Shadowrun4::getPlayerByShortName($args[0]);
     if ($target === -1) {
         $player->message('The username is ambigious.');
         return false;
     }
     if ($target === false) {
         $player->message('The player is not in memory or unknown.');
         return false;
     }
     if (false === $target->isCreated()) {
         $bot->reply(sprintf('The player %s has not started a game yet.', $args[0]));
         return false;
     }
     if (Common::isNumeric($args[1])) {
         $target->giveItems(Shadowfunc::randLoot($target, $args[1]), 'gmloot');
     } else {
     }
     return true;
 }
Example #10
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) < 2 || count($args) > 3) {
         $bot->reply(Shadowhelp::getHelp($player, 'gmi'));
         return false;
     }
     $target = Shadowrun4::getPlayerByShortName($args[0]);
     if ($target === -1) {
         $player->message('The username is ambigious.');
         return false;
     }
     if ($target === false) {
         $player->message('The player is not in memory or unknown.');
         return false;
     }
     if (false === $target->isCreated()) {
         $bot->reply(sprintf('The player %s has not started a game yet.', $args[0]));
         return false;
     }
     if (false === ($item = SR_Item::createByName($args[1]))) {
         $bot->reply(sprintf('The item %s could not be created.', $args[1]));
         return false;
     }
     if (isset($args[2])) {
         if (!$item->isItemStackable()) {
             $bot->reply('No amount for equipment!');
             return false;
         }
         $item->saveVar('sr4it_amount', intval($args[2]));
     }
     $b = chr(2);
     $target->giveItems(array($item), sprintf("{$b}[GM]_%s{$b}", $player->getName()));
     return true;
 }
Example #11
0
 public static function execute(SR_Player $player, array $args)
 {
     if ($player->isFighting()) {
         $player->msg('1036');
         // 			$player->message('This does not work in combat');
         return false;
     }
     $argc = count($args);
     if ($argc < 1 || $argc > 2) {
         $player->message(Shadowhelp::getHelp($player, 'givekp'));
         return false;
     }
     if ($argc === 2) {
         if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
             $player->msg('1028', array($args[0]));
             // 			$player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
             return false;
         }
         $place = $args[1];
         $targets = array($target);
     } else {
         $place = $args[0];
         $targets = $player->getParty()->getMembers();
     }
     if (false === ($tlc = Shadowcmd_goto::getTLCByArgMulticity($player, $place))) {
         $player->msg('1023');
         return false;
     }
     return self::giveKnow($player, $targets, 'places', $tlc);
 }
Example #12
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 0) {
         $bot->reply(Shadowhelp::getHelp($player, 'part'));
         return false;
     }
     $p = $player->getParty();
     if ($p->getMemberCount() === 1) {
         self::rply($player, '1093');
         // 			$bot->reply('You are not in a party.');
         return false;
     }
     $p->ntice('5135', array($player->getName()));
     // 		$p->notice(sprintf('%s has left the party.', $player->getName()));
     $p->kickUser($player, true);
     $np = SR_Party::createParty();
     $np->addUser($player, true);
     $np->cloneAction($p);
     $np->clonePreviousAction($p);
     //		if ($np->isMoving())
     if (!$np->isIdle()) {
         Shadowcmd_stop::execute($player, $args);
     }
     return true;
 }
Example #13
0
 public static function execute(SR_Player $player, array $args)
 {
     $p = $player->getParty();
     if (false === ($location = $p->getLocationClass('outside'))) {
         return self::rply($player, '1031');
         // 			return $player->message('This command only works when you are outside a location.');
     }
     $bot = Shadowrap::instance($player);
     $loc = $location->getName();
     if (count($args) > 1) {
         return $bot->reply(Shadowhelp::getHelp($player, 'hijack'));
     }
     $victims = array();
     foreach (Shadowrun4::getParties() as $pa) {
         $pa instanceof SR_Party;
         if (false === ($city = $pa->getCityClass())) {
             continue;
             # not even city
         }
         # Hax!
         if ($city->isDungeon() && $city->getCityLocation() === $loc || $pa->getLocation('inside') === $loc) {
             foreach ($pa->getMembers() as $pl) {
                 $pl instanceof SR_Player;
                 if ($pl->hasEquipment('mount')) {
                     $victims[] = $pl;
                 }
             }
         }
     }
     if (count($victims) === 0) {
         self::rply($player, '5128');
         return false;
         // 			return $player->message('You see no mounts from other players to rob.');
     }
     $format = $player->lang('fmt_sumlist');
     if (count($args) === 0) {
         $out = '';
         foreach ($victims as $i => $victim) {
             $victim instanceof SR_Player;
             $mount = $victim->getMount();
             $out .= sprintf($format, $i + 1, $victim->getName(), $mount->getName());
             // 				$out .= sprintf(", \x02%s\x02-%s(%s)", ($i+1), $victim->getName(), $mount->getName());
         }
         return self::rply($player, '5130', array(ltrim($out, ',; ')));
         // 			return $bot->reply(substr($out, 2));
     }
     if (false === ($target = Shadowfunc::getTarget($victims, $args[0], true))) {
         self::rply($player, '5128');
         // 			$player->message('You see no mounts from other players to rob.');
         return false;
     }
     $mount = $target->getMount();
     if ($mount->getMountWeight() === 0) {
         self::rply($player, '1037');
         // 			$player->message('This mount cannot store anything.');
         return false;
     }
     return $mount->initHijackBy($player);
 }
Example #14
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) === 0) {
         Shadowrap::instance($player)->reply(Shadowhelp::getHelp($player, 'gmm'));
         return false;
     }
     return self::sendGlobalMessage("[Shadowlamb] " . implode(' ', $args));
 }
Example #15
0
 public static function execute(SR_Player $player, array $args)
 {
     if (false === self::checkLeader($player)) {
         return false;
     }
     if (count($args) !== 1) {
         $player->message(Shadowhelp::getHelp($player, 'goto'));
         return false;
     }
     $party = $player->getParty();
     $cityname = $party->getCity();
     $cityclass = $party->getCityClass();
     $bot = Shadowrap::instance($player);
     if (false === self::checkMove($party)) {
         return false;
     }
     if (false === ($tlc = self::getTLCByArg($player, $args[0]))) {
         self::rply($player, '1069');
         // 			$player->message('This location is unknown or ambigious.');
         return false;
     }
     if (false === ($target = $cityclass->getLocation($tlc))) {
         self::rply($player, '1070', array($cityname));
         // 			$bot->reply(sprintf('The location %s does not exist in %s.', $tlc, $cityname));
         return false;
     }
     $tlc = $target->getName();
     if (!$player->hasKnowledge('places', $tlc)) {
         self::rply($player, '1023');
         // 			$bot->reply(sprintf('You don`t know where the %s is.', $tlc));
         return false;
     }
     if ($party->getLocation('inside') === $tlc) {
         self::rply($player, '1071', array($tlc));
         // 			$bot->reply(sprintf('You are already in %s.', $tlc));
         return false;
     }
     if ($party->getLocation('outside') === $tlc) {
         if ($party->getLocationClass()->isEnterAllowed($player)) {
             return $target->onEnter($player);
         } else {
             self::rply($player, '1118');
             return false;
         }
     }
     if ($party->getAction() === SR_Party::ACTION_GOTO && $party->getTarget() === $tlc) {
         self::rply($player, '5127', array($tlc, $party->displayETA()));
         // 			$bot->reply(sprintf('You are already going to %s. ETA: %s.', $tlc, $party->displayETA()));
         return false;
     }
     $cityclass = $party->getCityClass();
     $eta = $cityclass->getGotoETA($party);
     $party->pushAction(SR_Party::ACTION_GOTO, $tlc, $eta);
     $party->setContactEta(rand(5, 15));
     $party->ntice('5127', array($tlc, $party->displayETA()));
     // 		$party->notice(sprintf('You are going to %s. ETA: %s.', $tlc, GWF_Time::humanDuration($eta)));
     return true;
 }
Example #16
0
 public function isExitAllowed(SR_Player $player)
 {
     if (!SR_Quest::getQuest($player, 'Renraku_I')->isAccepted($player)) {
         if ($player->isHuman()) {
             $player->message(Shadowhelp::getHelp($player, 'first_talk'));
             return false;
         }
     }
     return true;
 }
Example #17
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1 || $args[0] !== 'DOIT!') {
         return $bot->reply(Shadowhelp::getHelp($player, 'Shadowcmd_gmlangfiles'));
     }
     if (false === SR_Install::onCreateLangFiles()) {
         return $bot->reply('An error occured!');
     }
     return $bot->reply('Lang files have been recreated. use .langflush to reload.');
 }
Example #18
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) === 0) {
         Shadowrap::instance($player)->reply(Shadowhelp::getHelp($player, 'gmn'));
         return false;
     }
     $message = "[Shadowlamb] " . implode(' ', $args);
     foreach (Shadowrun4::getPlayers() as $player) {
         $player instanceof SR_Player;
         $player->message($message);
     }
     return true;
 }
Example #19
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) > 1) {
         self::reply($player, Shadowhelp::getHelp($player, 'party_loot'));
         return false;
     }
     $party = $player->getParty();
     # Show mode
     if (count($args) === 0) {
         $type = 'unknown';
         switch ($party->getLootMode()) {
             case SR_Party::LOOT_CYCLE:
                 $type = 'cycle';
                 break;
             case SR_Party::LOOT_RAND:
                 $type = 'random';
                 break;
             case SR_Party::LOOT_KILL:
                 $type = 'killer';
                 break;
         }
         return self::rply($player, '5139', array($player->lang('pl_' . $type)));
         // 			return self::reply($player, sprintf("Your party has set it's loot mode to: \X02%s\X02.", $type));
     }
     if (false === $player->isLeader()) {
         self::rply($player, '1032');
         // 			return self::reply($player, 'Only the leader can change the party loot settings.');
     }
     # Change mode
     switch ($args[0]) {
         case 'rand':
             $bit = SR_Party::LOOT_RAND;
             break;
         case 'cycle':
             $bit = SR_Party::LOOT_CYCLE;
             break;
         case 'killer':
             $bit = SR_Party::LOOT_KILL;
             break;
         default:
             self::reply($player, Shadowhelp::getHelp($player, 'party_loot'));
             // 				self::reply($player, 'The loot mode is invalid. '.Shadowhelp::getHelp($player, 'party_loot'));
             return false;
     }
     $type = $args[0];
     $party->setLootMode($bit);
     $party->ntice('5139', array($player->lang('pl_' . $type)));
     // 		$party->notice(sprintf("The party's loot mode has been set to: \X02%s\X02.", $args[0]));
     return true;
 }
Example #20
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'examine'));
         return false;
     }
     if (false === ($item = $player->getItem($args[0]))) {
         self::rply($player, '1020', array($args[0]));
         # don't know item
         return false;
     }
     return self::rply($player, '5049', array($item->getItemInfo($player)));
 }
Example #21
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) < 1) {
         self::reply($player, Shadowhelp::getHelp($player, 'use'));
         return false;
     }
     $itemname = array_shift($args);
     if (false === ($item = $player->getItem($itemname))) {
         $player->msg('1029');
         // 			self::rply($player, '1029');
         // 			self::reply($player, "You don't have this item.");
         return false;
     }
     return $item->onItemUse($player, $args);
 }
Example #22
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) === 0) {
         Shadowrap::instance($player)->reply(Shadowhelp::getHelp($player, 'shout'));
         return false;
     }
     $wait = SR_NoShout::isNoShout($player->getID());
     if ($wait > 0) {
         $player->msg('1044', array(GWF_Time::humanDuration($wait)));
         // 			$player->message(sprintf('Please wait %s before you shout again.', GWF_Time::humanDuration($wait)));
         return false;
     }
     Shadowshout::shout($player, implode(' ', $args));
     return true;
 }
Example #23
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'debug'));
         return true;
     }
     $total_amt = 0;
     foreach ($player->getAllItems() as $item) {
         $item instanceof SR_Item;
         $total_amt += $item->getAmount();
         printf("%99s: %20s %10s\n", $item->getItemName(), $item->getAmount() . 'x' . $item->getItemWeight(), $item->getItemWeightStacked());
     }
     printf("%99s: %20s %10s\n", 'Total weight according to stats', $total_amt . ' items', $player->get('weight'));
 }
Example #24
0
 public static function execute(SR_Player $player, array $args)
 {
     if (count($args) === 1) {
         $arg = $args[0];
         if (false === ($spell = $player->getSpell($arg))) {
             self::rply($player, '1023');
             # You don't have this knowledge.
             return false;
         } else {
             return Shadowhelp::getHelp($player, $spell->getName());
         }
     } else {
         return self::reply($player, Shadowfunc::getSpells($player, '5054'));
     }
     return true;
 }
Example #25
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) < 2 || count($args) > 3) {
         $bot->reply(Shadowhelp::getHelp($player, 'gml'));
         return false;
     }
     $action = SR_Party::ACTION_OUTSIDE;
     if (count($args) > 2) {
         switch ($args[2]) {
             case SR_Party::ACTION_INSIDE:
             case SR_Party::ACTION_OUTSIDE:
                 $action = $args[2];
                 break;
             default:
                 $bot->reply(Shadowhelp::getHelp($player, 'gml'));
                 return false;
         }
     }
     if (false === ($target = Shadowrun4::getPlayerByShortName($args[0]))) {
         $bot->reply(sprintf('The user %s is unknown.', $args[0]));
         return false;
     } elseif ($target === -1) {
         $bot->reply('The player name is ambigious.');
         return false;
     }
     if (false === $target->isCreated()) {
         $bot->reply(sprintf('The player %s has not started a game yet.', $args[0]));
         return false;
     }
     $p = $target->getParty();
     $a = $p->getAction();
     if ($a !== SR_Party::ACTION_INSIDE && $a !== SR_Party::ACTION_OUTSIDE) {
         $bot->reply('The party with ' . $args[0] . ' is moving.');
         return false;
     }
     if (false === ($location = self::getLocationByAbbrev($p->getCity(), $args[1]))) {
         $bot->reply('What location?');
         return false;
     }
     $p->pushAction(SR_Party::ACTION_DELETE);
     $cl = $location->getName();
     $p->pushAction($action, $cl);
     $bot->reply(sprintf('The party is now %s of %s.', $action, $cl));
     $p->giveKnowledge('places', $cl);
     return true;
 }
Example #26
0
 public static function execute(SR_Player $player, array $args)
 {
     if (false === self::checkLeader($player)) {
         return false;
     }
     if (false === ($party = $player->getParty())) {
         $player->message('DB ERROR 1');
         return false;
     }
     if (!$party->isIdle()) {
         $player->msg('1033');
         // 			$player->message('Your party has to be idle to re-order party members.');
         return false;
     }
     if (count($args) !== 2) {
         $player->message(Shadowhelp::getHelp($player, 'party_order'));
         return false;
     }
     if (false === ($a = $party->getMemberByArg($args[0]))) {
         $player->msg('1064');
         // 			$player->message('Your first parameter does not adress a party member.');
         return false;
     }
     if (false === ($b = $party->getMemberByArg($args[1]))) {
         $player->msg('1064');
         // 			$player->message('Your second parameter does not adress a party member.');
         return false;
     }
     if ($a->getID() === $b->getID()) {
         $player->msg('1030');
         // 			$player->message('Nothing swapped, so bailout.');
         return false;
     }
     if ($a->isLeader() || $b->isLeader()) {
         $player->msg('1094');
         // 			$player->message('You should not use this command to swap leader position. Please use the #(le)ader command.');
         return false;
     }
     if (false === $party->swapMembers($a, $b)) {
         $player->message('DB ERROR 2');
         return false;
     }
     $party->ntice('5140', array($a->getName(), $b->getName()));
     // 		$party->notice(sprintf('%s and %s have swapped their party position.', $a->getName(), $b->getName()));
     return true;
 }
Example #27
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) === 0) {
         return self::rply($player, '5088', array(SR_Bounty::displayBountyPlayer($player)));
         // 			return $bot->reply(SR_Bounty::displayBountyPlayer($player));
     }
     if (count($args) > 1) {
         return $bot->reply(Shadowhelp::getHelp($player, 'bounty'));
     }
     if (false === ($target = Shadowrun4::loadPlayerByName($args[0]))) {
         return self::rply($player, '1017');
         // 			return $bot->reply('This player is unknown. Try playername{serverid}.');
     }
     return self::rply($player, '5089', array(SR_Bounty::displayBountyPlayer($target)));
     // 		return $bot->reply(SR_Bounty::displayBountyPlayer($target));
 }
Example #28
0
 public static function execute(SR_Player $player, array $args)
 {
     # Syntax
     if (count($args) !== 2) {
         self::reply($player, Shadowhelp::getHelp($player, 'gmul'));
         return false;
     }
     # Args
     if (false === ($target = Shadowrun4::getPlayerByShortName($args[0]))) {
         self::rply($player, '1017');
         return false;
     } elseif ($target === -1) {
         self::rply($player, '1018');
         return false;
     }
     # Valid cost?
     $field = $args[1];
     if (false === ($cost = Shadowcmd_lvlup::getKarmaCostFactor($field))) {
         self::rply($player, '1024');
         return false;
     }
     # Gather data
     if (false !== ($spell = $target->getSpell($field))) {
         $have_level = $target->getSpellBaseLevel($field);
         $is_spell = true;
     } else {
         $have_level = $target->getBase($field);
         $is_spell = false;
     }
     $karma_back = $cost * $have_level;
     # Limit
     if ($have_level <= 0) {
         self::reply($player, 'Lowered to 0 already!');
         return false;
     }
     # Apply
     if ($is_spell === true) {
         $target->levelupSpell($field, -1);
     } else {
         $target->increaseField($field, -1);
     }
     $target->increaseField('karma', $karma_back);
     $target->modify();
     # Announce
     return self::reply($player, sprintf('%s reverted %s back to level %s and got %s karma back.', $target->getName(), $field, $have_level - 1, $karma_back));
 }
Example #29
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'join'));
         return false;
     }
     if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0], false))) {
         self::rply($player, '1028', array($args[0]));
         // 			$bot->reply(sprintf('%s is not here or you are in his/her party already.', $args[0]));
         return false;
     }
     if ($target->getParty()->getLeader()->isNPC()) {
         self::rply($player, '1085');
         // 			$bot->reply('You cannot join NPC parties.');
         return false;
     }
     if ($target->getPartyID() === $player->getPartyID()) {
         self::rply($player, '1086');
         // 			$bot->reply('You cannot join your own party.');
         return false;
     }
     $p = $player->getParty();
     $ep = $target->getParty();
     if ($ep->hasBanned($player)) {
         self::rply($player, '1087');
         // 			$bot->reply(sprintf('The party does not want you to join.'));
         return false;
     }
     if ($ep->isFull()) {
         self::rply($player, '1088', array(SR_Party::MAX_MEMBERS));
         // 			$bot->reply('The party has reached the maximum membercount of '.SR_Party::MAX_MEMBERS.'.');
         return false;
     }
     $p->kickUser($player, true);
     $ep->addUser($player, true);
     $p->ntice('5135', array($player->getName()));
     $ep->ntice('5136', array($player->getName()));
     // 		$p->notice(sprintf('%s left the party.', $player->getName()));
     // 		$ep->notice(sprintf('%s joined the party.', $player->getName()));
     if ($p->isTalking() && $p->getMemberCount() === 0) {
         $p->popAction(true);
         $ep->popAction(true);
     }
     return true;
 }
Example #30
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     $p = $player->getParty();
     if (count($args) !== 1) {
         $bot->reply(Shadowhelp::getHelp($player, 'hunt'));
         return false;
     }
     if (false === self::checkLeader($player)) {
         return false;
     }
     if (false === self::checkMove($p)) {
         return false;
     }
     $target = Shadowrun4::getPlayerByShortName($args[0]);
     if ($target === false) {
         self::rply($player, '1017');
         // 			$bot->reply('This player is not in memory.');
         return false;
     } elseif ($target === -1) {
         self::rply($player, '1018');
         // 			$bot->reply('The player name is ambigous. Try the {server} version.');
         return false;
     }
     $name = $target->getName();
     $p = $player->getParty();
     $ep = $target->getParty();
     if ($p->getID() === $ep->getID()) {
         self::rply($player, '1083');
         // 			$bot->reply('You cannot hunt own party members.');
         return false;
     }
     if ($p->getCity() !== $ep->getCity()) {
         self::rply($player, '1084', array($name, $p->getCity(), $name, $ep->getCity()));
         // 			$bot->reply(sprintf('You cannot hunt %s because you are in %s and %s is in %s.', $name, $p->getCity(), $name, $ep->getCity()));
         return false;
     }
     $city = $p->getCityClass();
     $eta = round($city->getExploreETA($p) * 1.2);
     $p->pushAction(SR_Party::ACTION_HUNT, $target->getName() . ' in ' . $city->getName(), $eta);
     $p->setContactEta(rand(10, 20));
     $p->ntice('5134', array($target->getName(), GWF_Time::humanDuration($eta)));
     // 		$p->notice(sprintf('You start to hunt %s. ETA: %s.', $target->getName(), GWF_Time::humanDuration($eta)));
     return true;
 }