예제 #1
0
파일: sets.php 프로젝트: sinfocol/gwf3
 private static function displaySet(SR_Player $player, $set)
 {
     if (false === ($data = SR_SetItems::getSetByName($set)) && false === ($data = SR_SetItems::getSetForItem($set))) {
         return self::rply($player, '1189');
     }
     $modifiers = SR_SetItems::getModifiersForSet($set);
     $modstr = '';
     $format = ', %s:%s';
     $i = $i2 = '';
     if (SR_SetItems::hasSet($player, $set)) {
         $i = "6";
         $i2 = "";
     }
     foreach ($data[0] as $key => $value) {
         $modstr .= sprintf($format, $key, $value);
     }
     $modstr = $i . trim($modstr, ',; ') . $i2;
     $itemstr = '';
     $format = ', %s%s%s';
     foreach ($data[1] as $items2) {
         $items2 = GWF_Array::arrify($items2);
         $pre = count($items2) > 1 ? '(' : '';
         $aft = count($items2) > 1 ? ')' : '';
         $itemstr .= $pre;
         foreach ($items2 as $itemname) {
             if ($player->hasEquipped($itemname)) {
                 $i = "3";
                 $i2 = "";
                 $itename = shadowlang::displayItemNameS($itemname);
             } elseif (false === ($item = $player->getItemByName($itemname, false))) {
                 $i = "15";
                 $i2 = "";
                 $itename = shadowlang::displayItemNameS($itemname);
             } else {
                 $i = $i2 = '';
                 $itemname = $item->displayName($player);
             }
             $itemstr .= sprintf($format, $i, $itemname, $i2);
         }
         $itemstr .= $aft;
     }
     $itemstr = str_replace('(, ', ', (', $itemstr);
     $itemstr = trim($itemstr, ',; ');
     return self::rply($player, '5296', array($set, $itemstr, $modstr));
 }
예제 #2
0
 public static function initItems($dir = '')
 {
     GWF_File::filewalker($dir . 'item', array('SR_Item', 'includeItem'));
     SR_SetItems::validateSets();
 }
예제 #3
0
파일: SR_Player.php 프로젝트: sinfocol/gwf3
 /**
  * Update all stats in memory.
  */
 public function modify()
 {
     //		echo __METHOD__.PHP_EOL;
     $this->initModify();
     // 		$this->initModifyArray(self::$SKILL);
     // 		$this->initModifyArray(self::$ATTRIBUTE);
     // 		$this->initModifyArray(self::$KNOWLEDGE);
     // 		$this->initModifyArray(self::$FEELINGS);
     $this->modifyRace();
     $this->modifyGender();
     if (!$this->hasWeapon()) {
         $this->modifyItem(Item_Fists::staticFists());
     }
     $this->modifyItems($this->sr4_equipment);
     $this->modifyItems($this->sr4_cyberware);
     SR_SetItems::applyModifiers($this);
     $this->modifyInventory();
     $this->modifyFellings();
     $this->modifyQuests();
     $this->modifyEffectsOnce();
     $this->modifyMaxima();
     $this->modifyEffectsRepeat();
     $this->modifyCombat();
     $this->modifyOverload();
     # malus
     $this->modifyFinish();
     //		$this->modifyParty(); # DEADLOCK!
     //		$this->modifyClamp();
 }
예제 #4
0
 public static function displayItemnameFull(SR_Player $player, SR_Item $item, $short_mods = false, $colors = true)
 {
     $back = self::displayItemname($player, $item, false);
     if (NULL !== ($mods = $item->getItemModifiersB())) {
         $mod = '';
         $format = $player->lang('fmt_itemmods');
         foreach ($mods as $key => $value) {
             $key = $short_mods ? Shadowfunc::shortcutVariable($player, $key) : Shadowfunc::translateVariable($player, $key);
             $mod .= sprintf($format, $key, $value);
         }
         $back = $back . $player->lang('of') . ltrim($mod, ',; ');
     }
     if ($colors) {
         if ($item->isItemRare()) {
             return "5{$back}";
         } elseif (false !== SR_SetItems::getSetForItem($item->getName())) {
             return "6{$back}";
         }
     }
     return $back;
 }
예제 #5
0
파일: SR_Item.php 프로젝트: sinfocol/gwf3
 public function displaySetModifiers(SR_Player $player)
 {
     if (false === ($set = SR_SetItems::getSetForItem($this->getName()))) {
         return '';
     }
     if (SR_SetItems::hasSet($player, $set)) {
         $b = $i = "6";
         $b2 = $i2 = "";
     } else {
         $b = $i = "15";
         $b2 = $i2 = "";
         // 			$b = $b2 = $i = $i2 = ''; # italic
     }
     return ' ' . Shadowrun4::lang('set_modifiers', array($b, $set, $b2, $i, Shadowfunc::displayModifiers($player, SR_SetItems::getModifiersForSet($set)), $i2));
 }