Beispiel #1
0
 public function onEnter(SR_Player $player)
 {
     parent::onEnter($player);
     $party = $player->getParty();
     SR_NPC::createEnemyParty('Redmond_Ork')->fight($party, true);
     return true;
 }
Beispiel #2
0
 public function onEnter(SR_Player $player)
 {
     $p = $player->getParty();
     if ($p->getMin('level', true) < 1) {
         $this->partyMessage($player, 'afraid', array(1));
         // 			$p->notice('You are too afraid to go in there. (Each party member needs a minimum level of 1)');
         return true;
     }
     foreach ($p->getMembers() as $member) {
         $member instanceof SR_Player;
         if ($member->isHuman()) {
             $quest = SR_Quest::getQuest($member, 'Renraku_I');
             $quest instanceof Quest_Renraku_I;
             if (false === $quest->checkOrk($player)) {
                 $this->partyMessage($player, 'angryork');
                 // 					$p->notice('A big angry Ork shouts to you: "You not welcome here!" - The Ork attacks you with a tbs-pocket-knife.');
                 SR_NPC::createEnemyParty('Redmond_Ork')->fight($p, true);
                 return true;
             }
         }
     }
     parent::onEnter($player);
     // 		$p->pushAction(SR_Party::ACTION_INSIDE);
     $b = chr(2);
     $c = Shadowrun4::SR_SHORTCUT;
     $this->partyMessage($player, 'enter1');
     $this->partyMessage($player, 'enter2');
     // 		$p->notice('The guys in there stare quiet at their drinks when you enter the Trolls\' Inn.');
     // 		$p->notice('You see a barkeeper, a suspicious person in a dark corner, a soldier and some guests, mostly orks and trolls. One of the guests greets and beckons you.');
     $this->partyHelpMessage($player, 'help');
     // 		$p->help("Use {$b}{$c}ttb{$b}(arkeeper), {$b}{$c}ttg{$b}(uest), {$b}{$c}ttj{$b}(ohnson) and {$b}{$c}tts{$b}(oldier) to talk to the persons.");
     return true;
 }
Beispiel #3
0
 public function onEnter(SR_Player $player)
 {
     $p = $player->getParty();
     # We know the mafia :)
     $quest = SR_Quest::getQuest($player, 'HiJack');
     if ($quest->isAccepted($player)) {
         return parent::onEnter($player);
     }
     # Check how many guards have been killed in total
     $killed = 0;
     foreach ($p->getMembers() as $member) {
         $member instanceof SR_Player;
         $killed += SR_PlayerVar::getVal($member, 'mgkills', 0);
     }
     if ($killed >= 6) {
         return parent::onEnter($player);
     }
     # Guarded!
     foreach ($p->getMembers() as $member) {
         $member instanceof SR_Player;
         $member->message($this->lang($member, 'guarded'));
     }
     $guards = array();
     for ($i = 0; $i < 6; $i++) {
         $guards[] = 'Vegas_MafiaGuard';
     }
     SR_NPC::createEnemyParty($guards)->fight($p);
     return false;
 }
Beispiel #4
0
 public function getCommands(SR_Player $player)
 {
     $commands = parent::getCommands($player);
     if (false !== $player->getInvItemByName('Shovel', false, false)) {
         $commands[] = 'dig';
     }
     return $commands;
 }
Beispiel #5
0
 public function onEnter(SR_Player $player)
 {
     if (parent::onEnter($player)) {
         $party = $player->getParty();
         SR_NPC::createEnemyParty('Redmond_Cyberpunk', 'Redmond_Cyberpunk', 'Redmond_Cyberpunk')->fight($party, true);
     }
     return true;
 }
Beispiel #6
0
 public function onEnter(SR_Player $player)
 {
     if (!parent::onEnter($player)) {
         return false;
     }
     $p = $player->getParty();
     if (!$p->hasTemp(self::WERE_KEY)) {
         return true;
     }
     $p->setTemp(self::WERE_KEY, '1');
     return $this - onWereAttack($player);
 }
Beispiel #7
0
 public function onEnter(SR_Player $player)
 {
     if (!parent::onEnter($player)) {
         return false;
     }
     $party = $player->getParty();
     $orks = array();
     foreach ($party->getMembers() as $member) {
         $orks[] = 'Redmond_Ork';
     }
     $orks[] = 'Redmond_Ork';
     $orks[] = 'Redmond_OrkLeader';
     SR_NPC::createEnemyParty($orks)->fight($party, true);
     return true;
 }
Beispiel #8
0
 public function onCityEnter(SR_Party $party)
 {
     $party->getLeader()->unsetTemp('HIDE_R2_ONCE');
     return parent::onCityEnter($party);
 }
Beispiel #9
0
 /**
  * Get a lang file for a location.
  * @param SR_Quest $quest
  * @return GWF_LangTrans
  */
 private static function getLangLocation(SR_Location $location)
 {
     // 		$locname = $location->getName();
     $locname = $location->getLangfileName();
     if (false === isset(self::$LANG_LOCATION[$locname])) {
         $llocname = strtolower(Common::substrFrom($locname, '_'));
         $path = sprintf('%scity/%s/lang/location/%s/%s', Shadowrun4::getShadowDir(), $location->getCity(), $llocname, $llocname);
         self::$LANG_LOCATION[$locname] = new GWF_LangTrans($path);
     }
     return self::$LANG_LOCATION[$locname];
 }
Beispiel #10
0
 public function onEnter(SR_Player $player)
 {
     parent::onEnter($player);
     $player->getParty()->fight(SR_NPC::createEnemyParty('Forest_ZombieBear'));
     return true;
 }
Beispiel #11
0
 public function getLeaderCommands(SR_Player $player)
 {
     return array_merge(parent::getLeaderCommands($player), array('sleep'));
 }
Beispiel #12
0
 public function checkCityTargetLimits(SR_Player $player, SR_Location $target)
 {
     $p = $player->getParty();
     if (false === ($city = $target->getCityClass())) {
         return false;
     }
     $minlvl = $city->getMinLevel();
     if ($minlvl < 0) {
         $player->message('You cannot teleport there, because the cities minlevel is invalid(BUG)!');
         return false;
     }
     $errors = '';
     foreach ($p->getMembers() as $member) {
         $member instanceof SR_Player;
         $lvl = $member->getBase('level');
         if ($lvl < $minlvl) {
             $errors .= sprintf(', %s(L%s)', $member->getName(), $lvl);
         }
     }
     if ($errors !== '') {
         $errors = substr($errors, 2);
         $player->msg('1075', array($city->getName(), $errors, $minlvl));
         // 			return sprintf('You cannot teleport to %s because %s do(es) not have the min level of %s.', $city->getName(), $errors, $minlvl);
         return false;
     }
     return true;
 }
Beispiel #13
0
 public function onLeaveLocation(SR_Party $party)
 {
     parent::onLeaveLocation($party);
     $party->unsetTemp(self::CONFIRM_BUY_ID);
 }
Beispiel #14
0
 private function onPartyArrivedLeftEvents(SR_Location $location, array $actions, $key)
 {
     $loc = $location->getName();
     $args = array('___LOCNAME', $this->displayMembers(false, true));
     foreach (Shadowrun4::getParties() as $p) {
         $p instanceof SR_Party;
         if ($p->getID() === $this->getID() || !in_array($p->getAction(), $actions, true) || $p->getLocation() !== $loc) {
             continue;
         }
         foreach ($p->getMembers() as $member) {
             $member instanceof SR_Player;
             if (!$member->isOptionEnabled(SR_Player::NO_AUTO_LOOK)) {
                 $args[0] = $location->displayName($member);
                 $member->msg($key, $args);
             }
         }
     }
 }