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; }
public function canEquip(SR_Equipment $item) { return false === Shadowfunc::checkRequirements($this, $item->getItemRequirements()); }