Exemplo n.º 1
0
 /**
  * @param string $cityname
  * @param string $arg
  * @return SR_Location
  */
 public static function getLocationByAbbrev($cityname, $arg)
 {
     $player = Shadowrun4::getCurrentPlayer();
     if (false !== ($c = Common::substrUntil($arg, '_', false))) {
         $cityname = $c;
         $arg = Common::substrFrom($arg, '_', $arg);
     }
     if (false === ($city = Shadowrun4::getCityByAbbrev($cityname))) {
         self::reply($player, 'Unknown city: ' . $cityname);
         return false;
     }
     $city instanceof SR_City;
     return $city->getLocationByAbbrev($arg);
 }
Exemplo n.º 2
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     $party = $player->getParty();
     $city = false;
     if (count($args) >= 1) {
         if (is_numeric($args[0])) {
             $city = Shadowrun4::getCityByID($args[0]);
         } else {
             $city = Shadowrun4::getCityByAbbrev($args[0]);
         }
     } else {
         $city = $party->getCityClass();
     }
     if ($city === false) {
         return self::reply($player, 'Error: Cannot get city class for your party!');
     }
     $cityname = $city->getName();
     return self::rply($player, '5007', array($cityname, Shadowfunc::getKnownPlaces($player, $cityname)));
     // 		$bot->reply(sprintf('Known Places in %s: %s.', $cityname, Shadowfunc::getKnownPlaces($player, $cityname)));
     return true;
 }
Exemplo n.º 3
0
 /**
  * Display classnames of missing quests in a city.
  * @param SR_Player $player
  * @param array $quests
  * @param array $args
  * @return true
  */
 private static function displayMissing(SR_Player $player, array $quests, array $args)
 {
     if (count($args) === 1) {
         $args[] = $player->getParty()->getCity();
     }
     if (count($args) !== 2) {
         return self::reply($player, Shadowhelp::getHelp($player, 'quests'));
     }
     if (false === ($city = Shadowrun4::getCityByAbbrev($args[1]))) {
         return self::reply($player, Shadowhelp::getHelp($player, 'quests'));
     }
     $cityname = $city->getName();
     $names = array();
     $all = SR_Quest::getQuests();
     foreach ($all as $classname => $quest) {
         $quest instanceof SR_Quest;
         if ($quest->getCityName() !== $cityname) {
             continue;
         }
         $q2 = SR_Quest::getQuest($player, $quest->getVar('sr4qu_name'));
         if ($q2->isUnknown($player)) {
             $names[] = Common::substrFrom($classname, '_', $classname);
         }
     }
     return self::rply($player, '5265', array($cityname, GWF_Array::implodeHuman($names)));
 }