Example #1
0
 public function onItemEquip(SR_Player $player)
 {
     if (false !== ($error = Shadowfunc::checkRequirements($player, $this->getItemRequirements()))) {
         $player->message($error);
         return false;
     }
     // 		if ($this->isBroken())
     // 		{
     // 			die('HEHE AZBY');
     // // 			$player->msg('', array());
     // // 			$player->message(sprintf('Your %s is broken and needs to get repaired first.', $this->getItemName()));
     // 			return false;
     // 		}
     $type = $this->getItemType();
     $combat = $player->isFighting();
     $unequipped = NULL;
     # Unequip first
     if ($player->hasEquipment($type)) {
         $unequipped = $player->getEquipment($type);
         if (false === $player->unequip($unequipped, false)) {
             return false;
         }
     }
     # Equip
     if (false === $player->equip($this)) {
         return false;
     }
     # Announce
     $type = $this->displayEquipmentType($player);
     $unam = $unequipped !== NULL ? $unequipped->displayFullName($player) : NULL;
     $fnam = $this->displayFullName($player);
     if ($combat) {
         $busy = $player->busy($this->getItemEquipTime());
         if ($unequipped !== NULL) {
             $player->msg('5267', array($unam, $fnam, $type, $busy));
         } else {
             $player->msg('5268', array($fnam, $type, $busy));
         }
         # Additional combat announce
         $this->announceEquipChange($player, $unam, $fnam, $type, $busy);
     } else {
         if ($unequipped !== NULL) {
             $player->msg('5269', array($unam, $fnam, $type));
         } else {
             $player->msg('5270', array($fnam, $type));
         }
     }
     $player->modify();
     $player->healHP(0);
     $player->healMP(0);
     // 		$player->setOption(SR_Player::EQ_DIRTY|SR_Player::INV_DIRTY|SR_Player::STATS_DIRTY);
     return true;
 }
Example #2
0
 public function canEquip(SR_Equipment $item)
 {
     return false === Shadowfunc::checkRequirements($this, $item->getItemRequirements());
 }