本文整理汇总了PHP中Shadowfunc类的典型用法代码示例。如果您正苦于以下问题:PHP Shadowfunc类的具体用法?PHP Shadowfunc怎么用?PHP Shadowfunc使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Shadowfunc类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: onNPCQuestTalkB
public function onNPCQuestTalkB(SR_TalkingNPC $npc, SR_Player $player, $word, array $args = NULL)
{
switch ($word) {
case 'confirm':
$npc->reply($this->lang('confirm'));
// $npc->reply('It would be so great if you could help me again, yes?');
break;
case 'shadowrun':
$npc->reply($this->lang('shadowrun1'));
$npc->reply($this->lang('shadowrun2'));
$npc->reply($this->lang('shadowrun3', array(self::NEED_LEG, self::NEED_ARMOR, self::NEED_HELMET)));
$npc->reply($this->lang('shadowrun4', array(Shadowfunc::displayNuyen(self::REWARD_NUYEN))));
// $npc->reply('Thanks to you I have some runes now, and the customers are already coming.');
// $npc->reply('However, I need Chain armory for the Arena and I have no time to smith it.');
// $npc->reply(sprintf('Could you bring me %s ChainLegs, %s ChainBodies and %s ChainHelmets?', self::NEED_LEG, self::NEED_ARMOR, self::NEED_HELMET));
// $npc->reply(sprintf('I can pay you %s for that job! Yes?', Shadowfunc::displayNuyen(self::REWARD_NUYEN)));
break;
case 'yes':
$npc->reply($this->lang('yes'));
// $npc->reply(sprintf('Thank you so very much. Please hurry. The Arena frequently needs melee armory.'));
break;
case 'no':
$npc->reply($this->lang('no'));
// $npc->reply('Anyway check out my offers!');
break;
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:28,代码来源:Seattle_BD3.php
示例2: execute
public static function execute(SR_Player $player, array $args)
{
$bot = Shadowrap::instance($player);
if (count($args) !== 2) {
$bot->reply(Shadowhelp::getHelp($player, 'gmloot'));
return false;
}
$target = Shadowrun4::getPlayerByShortName($args[0]);
if ($target === -1) {
$player->message('The username is ambigious.');
return false;
}
if ($target === false) {
$player->message('The player is not in memory or unknown.');
return false;
}
if (false === $target->isCreated()) {
$bot->reply(sprintf('The player %s has not started a game yet.', $args[0]));
return false;
}
if (Common::isNumeric($args[1])) {
$target->giveItems(Shadowfunc::randLoot($target, $args[1]), 'gmloot');
} else {
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:26,代码来源:gmloot.php
示例3: execute
public static function execute(SR_Player $player, array $args)
{
$bot = Shadowrap::instance($player);
# One arg is like examine.
if (count($args) === 1) {
return Shadowcmd_examine::execute($player, $args);
}
# Other than 2 args is error => help.
if (count($args) !== 2) {
$bot->reply(Shadowhelp::getHelp($player, 'show'));
return false;
}
# Try to get target.
if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
$player->msg('1028', array($args[0]));
// $player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
return false;
}
# Show to yourself is like examine.
if ($target->getID() === $player->getID()) {
return Shadowcmd_examine::execute($player, array($args[1]));
}
# Try to get item.
if (false === ($item = $player->getItem($args[1]))) {
$player->msg('1029');
// $bot->reply('You don`t have that item.');
return false;
}
return $target->msg('5062', array($player->displayName(), $item->getItemInfo($target)));
// $msg = sprintf('%s shows you: %s', $player->displayName(), $item->getItemInfo($player));
// return $target->message($msg);
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:32,代码来源:show.php
示例4: onNPCQuestTalkB
public function onNPCQuestTalkB(SR_TalkingNPC $npc, SR_Player $player, $word, array $args = NULL)
{
switch ($word) {
case 'shadowrun':
$npc->reply($this->lang('sr1'));
$npc->reply($this->lang('sr2', array($this->getNeededAmount())));
$npc->reply($this->lang('sr3'));
// $npc->reply('Yo chummer, we need to get rid of Killers first, before we can get into business.');
// $npc->reply(sprintf('Please kill %s killers and come back.', $this->getNeededAmount()));
// $npc->reply('Do you accept?');
break;
case 'confirm':
$ny = Shadowfunc::displayNuyen(self::REWARD_NUYEN);
$npc->reply($this->lang('confirm', array($ny)));
// $npc->reply(sprintf('I will pay you %s for this run.', $ny));
break;
case 'yes':
$npc->reply($this->lang('yes'));
// $npc->reply(sprintf('See you around, chummer.'));
break;
case 'no':
$npc->reply($this->lang('no'));
// $npc->reply(sprintf('See you around, chummer.'));
break;
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:27,代码来源:Seattle_GJohnson1.php
示例5: bribingTheGuard
private function bribingTheGuard(SR_Player $player, $word, array $args)
{
$b = chr(2);
$price = rand(2000, 8000);
$price = Shadowfunc::calcBuyPrice($price, $player);
if (!isset($args[0])) {
$this->reply('Every person has it\'s <price> parameter.');
$player->help('Use #talk bribe <amt> to try to bribe the guard.');
return true;
}
$amt = (int) $args[0];
if ($amt < $price) {
$this->reply("{$b}Security !!!!{$b}");
$p = $player->getParty();
$p->pushAction(SR_Party::ACTION_OUTSIDE, 'Prison_Block2');
$ep = SR_NPC::createEnemyParty('Prison_Ward', 'Prison_Ward', 'Prison_Ward', 'Prison_Guard', 'Prison_Guard');
$p->fight($ep, true);
} else {
if (!$player->hasNuyen($amt)) {
$this->reply('The idea of a bribe is usually that you can pay it ...');
} else {
$party = $player->getParty();
$this->reply('Every bride has her pride ...');
$this->reply('Ok buddy ... He is in cell 5, do quick, i will release the alarm as late as possible. Good luck ... ');
$player->giveNuyen(-$amt);
$party->pushAction(SR_Party::ACTION_OUTSIDE, 'PrisonB2_Exit');
}
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:30,代码来源:ExitGuard.php
示例6: on_sleep
public function on_sleep(SR_Player $player, array $args)
{
$bot = Shadowrap::instance($player);
$party = $player->getParty();
$price = $this->calcPrice($player);
if (!$party->needsToRest()) {
return $bot->rply('1137');
// return $bot->reply('You don`t need to rest.');
}
if (false === $player->pay($price)) {
return $bot->rply('1063', array(Shadowfunc::displayNuyen($price), $player->displayNuyen()));
// return $bot->reply(sprintf('To rent a room for your party, you need %s. You only got %s!', Shadowfunc::displayNuyen($price), $player->displayNuyen()));
}
if ($price > 0) {
$player->msg('5143', array($price));
// $player->message(sprintf('You pay %s nuyen.', $price));
}
$b = chr(2);
$party->pushAction(SR_Party::ACTION_SLEEP);
// foreach ($party->getMembers() as $member)
// {
// $member instanceof SR_Player;
// $member->effectsReset();
// }
return $party->ntice('5182');
// $party->notice("The party goes to sleep. You go to your {$b}own{$b} bedroom.");
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:27,代码来源:SR_Hotel.php
示例7: onThrow
public function onThrow(SR_Player $player, SR_Player $target)
{
$firearms = $player->get('firearms');
$atk = 20 + $firearms;
$mindmg = 1;
$maxdmg = 6;
$out_dmg = '';
$out_dmgep = '';
$out_eff = '';
$inaccuracy = rand(2, 4) - ($firearms ? 1 : 0);
$targets = $this->computeDistances($target, $inaccuracy);
foreach ($targets as $data) {
list($t, $d) = $data;
$t instanceof SR_Player;
$a = $atk - $d + rand(-1, 2);
$a = Common::clamp($a, 0, $atk);
$def = $t->get('defense');
$arm = $t->get('marm');
$hits = Shadowfunc::diceHits($mindmg, $arm, $atk, $def, $player, $t);
$hits -= $arm;
$hits = Common::clamp($hits, 0);
if ($hits == 0) {
continue;
}
$dmg = round($mindmg + $hits / 10, 2);
if ($dmg <= 0) {
continue;
}
}
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:30,代码来源:MolotovCocktail.php
示例8: execute
public static function execute(SR_Player $player, array $args)
{
if ($player->isFighting()) {
$player->msg('1036');
// $player->message('This does not work in combat');
return false;
}
$argc = count($args);
if ($argc < 1 || $argc > 2) {
$player->message(Shadowhelp::getHelp($player, 'givekw'));
return false;
}
if ($argc === 2) {
if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
$player->msg('1028', array($args[0]));
#$player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
return false;
}
$word = $args[1];
$targets = array($target);
} else {
$word = $args[0];
$targets = $player->getParty()->getMembers();
}
if (false === $player->hasKnowledge('words', $word)) {
$player->msg('1023');
# You don`t have this knowledge.
return false;
}
return self::giveKnow($player, $targets, 'words', $args[1]);
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:31,代码来源:givekw.php
示例9: decideCombat
public static function decideCombat(SR_Player $player, array $args)
{
echo __METHOD__ . PHP_EOL;
$min = isset($args[0]) ? (int) $args[0] : 1.0;
$max = isset($args[1]) ? (int) $args[1] : 1.0;
return array('attack', Shadowfunc::diceFloat($min, $max, 2));
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:7,代码来源:attackrandom.php
示例10: calcFirewallDamage
private function calcFirewallDamage(SR_Player $player, SR_Player $target, $level, $hits)
{
// echo "Calc damage with $hits hits\n";
$min = $level + 1;
$max = $min + $hits * 1.0;
return Shadowfunc::diceFloat($min, $max);
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:7,代码来源:firewall.php
示例11: checkQuest
public function checkQuest(SR_NPC $npc, SR_Player $player)
{
if ($this->isDone($player)) {
return false;
}
$need = $this->getNeededAmount();
$have = $this->getAmount();
$have = $this->giveQuesties($player, $npc, 'Tenugui', $have, $need);
$this->saveAmount($have);
if ($have >= $need) {
$ny = Shadowfunc::displayNuyen(self::REWARD_NUYEN);
$xp = self::REWARD_XP;
$npc->reply($this->lang('thx1'));
$npc->reply($this->lang('thx2', array($ny)));
$player->message($this->lang('thx3', array($ny, $xp)));
// $npc->reply('Haha, great! You are the best. This might have been a lesson for them.');
// $npc->reply(sprintf('I am still a bit short on money. But you can have %s.', $ny));
// $player->message(sprintf('The smith hands you %s. You also gain %s XP.', $ny, $xp));
$player->giveNuyen(self::REWARD_NUYEN);
$player->giveXP($xp);
$this->onSolve($player);
$npc->reply($this->lang('thx4'));
// $npc->reply('You know what ... I will teach you how to use lockpicking.');
$player->alterField('lockpicking', 1);
$player->message($this->lang('thx5'));
// $player->message(sprintf('Your lockpicking skill has increased by 1.'));
} else {
$npc->reply($this->lang('more', array($need - $have)));
// $npc->reply(sprintf('Please bring me another %d Tenugui. I will reward you well.', $need-$have));
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:32,代码来源:Seattle_BD4.php
示例12: onNPCQuestTalkB
public function onNPCQuestTalkB(SR_TalkingNPC $npc, SR_Player $player, $word, array $args = NULL)
{
$need = $this->getNeededAmount();
$ny = $this->getRewardNuyen();
$dny = Shadowfunc::displayNuyen($ny);
switch ($word) {
case 'shadowrun':
$npc->reply("Heh ... well ... lol ... well ...");
$npc->reply("You can indeed do a job for me ^^");
$player->message('The salesman whispers: "I messed up the yearly inventory" ... ');
$npc->reply("I am going into own business and purchase Scanners and Credsticks.");
$player->message('The salesman whispers: "I will compensate you ..." ');
break;
case 'confirm':
$npc->reply("Thank you for your help in advance.");
break;
case 'yes':
$npc->reply('Thank you chummer.');
break;
case 'no':
$npc->reply('Laters chummer.');
break;
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:25,代码来源:Chicago_SaleSmith1.php
示例13: execute
public static function execute(SR_Player $player, array $args)
{
if ($player->isFighting()) {
$player->msg('1036');
// $player->message('This does not work in combat');
return false;
}
$argc = count($args);
if ($argc < 1 || $argc > 2) {
$player->message(Shadowhelp::getHelp($player, 'givekp'));
return false;
}
if ($argc === 2) {
if (false === ($target = Shadowfunc::getFriendlyTarget($player, $args[0]))) {
$player->msg('1028', array($args[0]));
// $player->message(sprintf('%s is not here or the name is ambigous.', $args[0]));
return false;
}
$place = $args[1];
$targets = array($target);
} else {
$place = $args[0];
$targets = $player->getParty()->getMembers();
}
if (false === ($tlc = Shadowcmd_goto::getTLCByArgMulticity($player, $place))) {
$player->msg('1023');
return false;
}
return self::giveKnow($player, $targets, 'places', $tlc);
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:30,代码来源:givekp.php
示例14: execute
public static function execute(SR_Player $player, array $args)
{
return self::rply($player, '5047', array(Shadowfunc::getEffects($player)));
// $bot = Shadowrap::instance($player);
// $bot->reply(sprintf('Your effects: %s.', Shadowfunc::getEffects($player)));
// return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:7,代码来源:effects.php
示例15: onNPCQuestTalkB
public function onNPCQuestTalkB(SR_TalkingNPC $npc, SR_Player $player, $word, array $args = NULL)
{
$ny = Shadowfunc::displayNuyen(self::REWARD_NUYEN);
switch ($word) {
case 'shadowrun':
$npc->reply($this->lang('sr1'));
$npc->reply($this->lang('sr2'));
$npc->reply($this->lang('sr3', array($this->getNeededAmount())));
// $npc->reply('Yo chummer, I have another important mission for you.');
// $npc->reply('A contractor needs to get some ElectronicParts stolen from a ship delivery in the harbor.)');
// $npc->reply(sprintf('You would need to bring me %s ElectronicParts to get the job done. What do you say?', $this->getNeededAmount()));
break;
case 'confirm':
// $npc->reply(sprintf('I will pay you %s for this run.', $ny));
// break;
// $npc->reply(sprintf('I will pay you %s for this run.', $ny));
// break;
case 'yes':
// $npc->reply(sprintf('See you around, chummer.'));
// break;
// $npc->reply(sprintf('See you around, chummer.'));
// break;
case 'no':
// $npc->reply(sprintf('See you around, chummer.'));
$npc->reply($this->lang($word));
break;
}
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:29,代码来源:Seattle_GJohnson4.php
示例16: giveNuyen
public static function giveNuyen(SR_Player $player, SR_Player $target, $what, $amt)
{
if ($amt <= 0) {
$player->msg('1062');
// $player->message(sprintf('You can only give away a positive amount of %s.', $what));
return false;
}
$have = $player->getBase($what);
if ($amt > $have) {
$player->msg('1063', array(Shadowfunc::displayNuyen($amt), Shadowfunc::displayNuyen($have)));
// $player->message(sprintf('You only have %s %s.', $have, $what));
return false;
}
# Thx jjk
// if (($have - $amt) <= SR_Player::START_NUYEN)
// {
// $player->message(sprintf('You can\'t give all your money away, you need at least %s', Shadowfunc::displayNuyen(SR_Player::START_NUYEN)));
// $player->message(sprintf('Maximum you can give is %s', Shadowfunc::displayNuyen($have-SR_Player::START_NUYEN)));
// return false;
// }
if (false === $target->alterField($what, $amt)) {
$player->message('Database error in giveNyKa()... 1');
return false;
}
if (false === $player->alterField($what, -$amt)) {
$player->message('Database error II in giveNyKa()... 2');
return false;
}
$target->msg('5118', array(Shadowfunc::displayNuyen($amt), $player->getName()));
$player->msg('5119', array(Shadowfunc::displayNuyen($amt), $target->getName()));
// $target->message(sprintf('You received %s %s from %s.', $amt, $what, $player->getName()));
// $player->message(sprintf('You gave %s %s %s.', $target->getName(), $amt, $what));
return true;
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:34,代码来源:giveny.php
示例17: execute
public static function execute(SR_Player $player, array $args)
{
$p = $player->getParty();
if (false !== ($city = $p->getCityClass())) {
if ($city->isDungeon()) {
self::rply($player, '1035');
return false;
// Shadowrap::instance($player)->reply('In dungeons you don\'t have mounts.');
}
}
// $i = 1;
$format = $player->lang('fmt_sumlist');
$out = '';
$total = 0.0;
$total_max = 0.0;
foreach ($p->getMembers() as $member) {
$member instanceof SR_Player;
$mount = $member->getMount();
$we = $mount->calcMountWeight();
$max = $mount->getMountWeightB();
$total += $we;
$total_max += $max;
if ('' !== ($weight = $mount->displayWeight())) {
// $weight = "({$weight})";
}
$out .= sprintf($format, $member->getEnum(), $mount->getName(), $weight);
// $out .= sprintf(", \x02%s\x02-%s%s", $member->getEnum(), $mount->getName(), $weight);
}
return self::rply($player, '5083', array(Shadowfunc::displayWeight($total), Shadowfunc::displayWeight($total_max), ltrim($out, ',; ')));
// $message = sprintf('Party Mounts(%s/%s): %s.', Shadowfunc::displayWeight($total), Shadowfunc::displayWeight($total_max), substr($out, 2));
return Shadowrap::instance($player)->reply($message);
}
开发者ID:sinfocol,项目名称:gwf3,代码行数:32,代码来源:mounts.php
示例18: getAllHelp
public static function getAllHelp($player = NULL)
{
$sell_rate = $player === NULL ? 10 : Shadowfunc::calcSellPrice(100 / 10, $player);
$buy_rate = $player === NULL ? 100 : Shadowfunc::calcBuyPrice(100, $player);
# XP karma
$xp = $player === NULL ? 0 : round($player->getBase('xp'), 2);
$xppk = $player === NULL ? SR_Player::XP_PER_KARMA : $player->getXPPerKarma();
# XP level
$xpl = $player === NULL ? 0 : round($player->getBase('xp_level'), 2);
$xppl = $player === NULL ? SR_Player::XP_PER_LEVEL : $player->getXPPerLevel();
# XP total
$xpt = $player === NULL ? 0 : round($player->getBase('xp_total'), 2);
$ele = $player === NULL ? 0 : $player->get('elephants');
$ele_gain = $player === NULL ? 0 : $player->getHPGain();
$ele_time = GWF_Time::humanDuration(SR_Player::HP_REFRESH_TIMER);
$orca = $player === NULL ? 0 : $player->get('orcas');
$orca_gain = $player === NULL ? 0 : $player->getMPGain();
$orca_time = GWF_Time::humanDuration(SR_Player::MP_REFRESH_TIMER);
$crit = $player === NULL ? 0 : sprintf('%.01f', $player->getCritPermille() / 10);
# permille -> percent
$bad_karma = $player === NULL ? '' : sprintf(' Your current character has %.02f bad_karma.', $player->getBase('bad_karma') + SR_PlayerVar::getVal($player, '__SLBADKARMA', 0.0));
$hjbk = SR_Mount::HIJACK_BAD_KARMA;
$all_ny = GDO::table('SR_Player')->selectVar('SUM(sr4pl_nuyen+sr4pl_bank_nuyen)');
$all_ny += GDO::table('SR_Clan')->selectVar('SUM(sr4cl_money)');
$all_ny = Shadowfunc::displayNuyen($all_ny);
$latency_seconds = sprintf('%.01f', SR_Player::ATTACK_TIME_SECONDS);
$eqs = implode('|', array_keys(SR_Player::$EQUIPMENT));
$back = array('root' => "Check out these topics", array('beginners' => 'First steps', array('get_started' => 'First you should #talk to the hotelier. Then you should #equip clothes. Then you should #party up with players and #join their parties. Then you should #explore the first city.', 'what_is_it' => "Shadowlamb is a full featured mmorpg. You can #(j)oin parties, solve #(qu)ests, runecraft your items and learn magic spells. It combines multiple irc networks into a single gameworld, and thus is unique among all irc games.", 'where_am_i' => 'You begin in the Redmond Hotel. Check your party status with #(p)arty. Check your #known_places with #(kp). Find new places with #(exp)lore. Do not forget to check your #e(q)uipment and cleanup your #(i)nventory.', 'first_talk' => 'You should #talk to the hotelier first. Use #talk <word|kw_id> to ask for something in particular. You will get your first_equipment.', 'first_equipment' => 'The hotelier will give you some items. Check your #inventory and #equip them, so you are ready to #explore.'), 'attributes' => "Player Command. Usage: #(a)ttributes. Attributes", array('body' => "The body attribute raises your max_hp by " . SR_Player::HP_PER_BODY . '.', 'magic' => "The magic attribute raises your max_mp by " . SR_Player::MP_PER_MAGIC . '. It also increases your MP refresh rate slightly.', 'strength' => "The strength attribute raises attack for melee weapons. It also raises the max weight you can carry.", 'quickness' => "Quickness raises your defense by increasing your chance to evade attacks. Also your busytime and explore times will decrease.", 'wisdom' => "Wisdom increases duration of magic spells and increases your chance for successfull spell casting.", 'intelligence' => "Intelligence increases the power of your magic spells. It also increases your magic defense.", 'charisma' => "Charisma raises the time that hirelings follow you. It also betters the sell(+" . Shadowfunc::SELL_PERCENT_CHARISMA . "%) and buy(-" . Shadowfunc::BUY_PERCENT_CHARISMA . "%) prices for your character. You currently sell to {$sell_rate}% and buy to {$buy_rate}%.", 'luck' => "Luck increases the chance of better drops.", 'reputation' => "Reputation determines how famous you are amongst the world of Shadowlamb. Some quests require a minimum reputation.", 'essence' => "Essence describes how wasted your body and mind is. Every player starts with an essence of 6. You cannot lvlup your essence. Although it is known that some rare runes can increase your essence. Essence is essential for magic, similar to intelligence."), 'skills' => 'Player Command. Usage: #(sk)ills. Show your learned Skills', array('melee' => 'The melee skill will increase your attack for melee weapons.', 'ninja' => 'The ninja skill will increase your damage and attack for ninja weapons. The ninja weapons extend melee weapons, so they get a big additional bonus.', 'swordsman' => 'The swordsman skill will increase your damage and attack for swords. The swords extend the melee weapons, so they get an additional bonus.', 'viking' => 'The viking skill will increase your damage and attack for axes. The axes extend the melee weapons, and get an additional bonus.', 'firearms' => 'The firearms skill will increase your damage and attack for fireweapons.', 'bows' => 'The bows skill will increase your damage and attack for bows.', 'pistols' => 'The pistols skill will increase your damage and attack for pistols.', 'shotguns' => 'The shotguns skill will increase your damage and attack for shotguns.', 'smgs' => 'The smgs skill will increase your damage and attack for small machine guns.', 'hmgs' => 'The hmgs skill will increase your damage and attack for heavy machine guns.', 'computers' => 'The computers skill will increase your chance to hack computers.', 'electronics' => 'The electronics skill will increase your chance to disable traps. It also increases the chance of a successful #hijack.', 'biotech' => 'The biotech skill will increase your healing when using items.', 'negotiation' => "The negotiation skill will lower prices when buying items(-" . Shadowfunc::BUY_PERCENT_NEGOTIATION . "%), and raise prices when selling items(+" . Shadowfunc::SELL_PERCENT_NEGOTIATION . "%). This is also effected by charisma. You currently sell to {$sell_rate}% and buy to {$buy_rate}%.", 'sharpshooter' => 'The sharpshooter skill will raise your chance for a critical hit. This also applies to melee and ninja weapons.', 'searching' => 'The searching skill will increase the dropchance on searches.', 'lockpicking' => 'The lockpicking skill will increase your chance on picking locks. It also increases the chance of a successful #hijack.', 'thief' => 'The thief skill will increase your chance on thieving items of shops and not getting caught. It also increases the chance of a successful #hijack.', 'alchemy' => 'The alchemy skill improves the power of your AlchemicPotions. An AlchemicPotion is a spell in a bottle. Alchemic_Potion_of_spell. The other attributes equal the stats that are used when casting the spell from the bottle.'), 'knowledge' => 'Your character can gather special knowledge during the game (unused)', array('math' => 'Math knowledge will be helpful in some quests.', 'crypto' => 'Advanced knowledge of cryptography will be helpful in some quests. All cryptograms can be solved by the players itself. A highlevel crypto character does not need to solve these by hand.', 'stegano' => 'Advanced knowledge of steganography makes you see things that are not there. Most useful when wearing a TinfoilCap.', 'indian_culture' => 'It will be useful to know about the amerindian culture in the 5th area.', 'indian_language' => 'It will be useful to know about the amerindian language in the 5th area.'), 'combat' => 'Combat topics', array('combat1' => "In combat you have a one-item-stack. When your busytime is over your last command gets executed. The default command is #attack <random>.", 'combat2' => "Spells and weapons have a combat distance. Before you can attack an enemy, it has to be in range. Therefor, the #attack command will lock the target you have chosen.", 'combat3' => "If you do nothing in combat, your default action is #attack rand(), locking a random target.", 'combat4' => "Do not forget to cleanup your inventory. An overloaded character might get a malus on their combat stats.", 'busytime' => "When a fight starts, you have an initial busytime. When this time is over your last command gets executed, and you get busy again, depending on your action.", 'range' => 'In combat you have a range and position. Party A has positive position and Party B has negative postition. You need to be in range for weapons and spells.', 'range2' => 'Spells and weapons have a minimum range. A range of 2m has no malus in combat / is considered 0.', 'distance' => "Imagine the combat as a line. +10 +8 +6 +4 +2 +0 -2 -4 -6 -8 -10. One party starts in the positive, the other in the negative. You can set your default distance with #sd.", 'death' => "When you die you might loose a random item. Also you will loose XP and nuyen you might have in your pocket. You will respawn in your nearest respawn location which is mostly a Hotel.", 'combat_lock' => 'In combat some commands lock your current target. The default command is attack random, which will also lock this target.'), 'your_status' => 'Your character status', array('gender' => 'Your gender', array('male' => 'Males have a slight strength and body bonus.', 'female' => 'Females have a slight intelligence and charisma bonus.'), 'race' => 'There two major types of races', array('player_races' => 'Available player_races', array('fairy' => 'The fairy is small, weak and very hard to play. It is meant to be a party character.' . self::helpRace('fairy'), 'elve' => 'The elve is weak and difficult to play. He enjoys the arcane powers. As every elve he has a bonus on the bows skill.' . self::helpRace('elve'), 'halfelve' => 'The halfelve are often merchants or teachers that stopped to learn magic.' . self::helpRace('halfelve'), 'vampire' => 'Vampires are undead creatures. They have a low body and HP and trust in equipment they have collected over their years.' . self::helpRace('vampire'), 'darkelve' => 'The darkelve combines melee, bows and magic into a playable character.' . self::helpRace('darkelve'), 'woodelve' => 'The woodelve combines melee, bows and magic into a playable character.' . self::helpRace('woodelve'), 'human' => 'The human is the intermediate character of the player_races.' . self::helpRace('human'), 'gnome' => 'The gnome is a bit smaller than a halfork.' . self::helpRace('gnome'), 'dwarf' => 'The dwarf is a bit smaller than a gnome.' . self::helpRace('dwarf'), 'halfork' => 'The halfork is a bit dumb, but easy to play for beginners.' . self::helpRace('halfork'), 'halftroll' => 'The halftroll is a bit dumb, but very easy to play for beginners.' . self::helpRace('halftroll'), 'ork' => 'The ork is dumb and easy to play for beginners.' . self::helpRace('ork'), 'troll' => 'The population of trolls has increased by 140% in the last year.' . self::helpRace('troll'), 'gremlin' => 'The gremlin is not meant to be played because it cannot swim.' . self::helpRace('gremlin')), 'npc_races' => 'NPC only races', array('droid' => 'An electronical device that makes your life harder.', 'dragon' => 'A mysterious creature from the very same planet.')), 'asl' => 'Player command. Usage: #asl [<age|bmi|height>]. Use #aslset to setup your asl. Show your', array('age' => 'Your character\'s age, in years.', 'body_mass' => 'Your characters body_mass in gramm.', 'height' => 'Your character\'s height in centimeters.'), 'level' => 'Player command. Show the party- and memberlevels. Your level determines what mobs you can encounter. Collect ' . $xppl . ' XP to levelup.', 'hp' => "HP are your hitpoints. Use #hp to see all party HP. You can refresh hitpoints in Hotel, or by healing items and spells.", 'max_hp' => 'The maximum amount of HP your character can have. You can increase this with the body attribute or rune modifiers.', 'mp' => "MP are your manapoints. Use #mp to see all party MP. To cast magic #spells you need MP. You can refresh manapoints in Hotel, or by using certain potions or items.", 'max_mp' => 'The maximum amount of MP your character can have. You can increase this with the magic attribute or rune modifiers.', 'atk' => 'Your amount of chances to hit. The more hits you generate the more damage you cause. Your atk should be around twice your maxdmg, or even higher.', 'att' => 'This modifier lowers the attack time of weapons.', 'defense' => 'You chance to evade attacks. Reduces hits. You can increase defense with quickness', 'damage' => 'The min and max damage you can cause.', 'arm' => "Armor reduces damage. There are two types of armor", array('marm' => 'Your melee armor. Reduces melee damage.', 'farm' => 'Your fireweapon armor. Reduces firearms damage.'), 'xp' => NULL, 'karma' => NULL, 'weight' => NULL, 'max_weight' => 'The max_weight you can carry. If you exceed your max_weight you get a malus on your attack and defense or cannot move at all.', 'nuyen' => NULL, 'bad_karma' => "Bad karma determines how evil your character is. If you have bad karma you might encounter Polizia, also known as BlackOps. These will annoy the bad guys during their journey.{$bad_karma}", 'special_stats' => 'There are some special stats too:', array('casting' => 'Similar to the magic attribute, this skill increases your MP, but does not increase your MP refreshing.', 'spellatk' => 'Increases your magic attack. This is also affected by essence and intelligence.', 'spelldef' => 'Increases your magic defense. This is also affected by essence and intelligence.', 'orcas' => "Increases your MP refreshening. This is also affected by the magic attribute. Your current orcas level is {$orca} and you gain {$orca_gain} every {$orca_time}.", 'elephants' => "Increases your HP refreshening. Your current elephants level is {$ele} and you gain {$ele_gain} every {$ele_time}.", 'critical' => "Your current chance of a critical hit is {$crit}%.", 'attack_time' => "A special rune that only affects weapons. It reduces your busytime for attacks by {$latency_seconds}.")), 'effects' => 'Known effects', array('alc' => 'The alcohol effect determines how drunk a character is. If a character is too drunk, it might do random actions in combat.', 'caf' => 'The caffeine effect determines how caffinated a character is. If a character is too caffinated it cannot sleep.'), 'all_spells' => 'There are ' . SR_Spell::getTotalSpellCount() . ' spells', self::getSpellTree($player), 'all_cmds' => 'There are a lot of commands', array('leader_cmds' => 'Some special leader commands', array('leader' => 'Leader command. Usage: #(le)ader <member_name|member_enum>. Set a new party leader for your party.', 'party_loot' => "Leader command. Usage: #pl <killer|cycle|rand>. Define who loots the items from kills. The default is killer.", 'party_order' => 'Leader command. Usage #party_order <member1> <member2>. Swap the order of two party members.', 'fight' => 'Leader Command. Usage: #(fi)ght [<player>]. When you meet talking parties on the street you can #fight them. This command also works inside PVP locations.', 'bye' => 'Leader Command. Usage: #bye. Say goodbye to a talking party. If you meet humans, both have to say bye so the "evil" players get a chance to kill you.', 'kick' => 'Leader command. Usage: #kick <player>. Kick a player from you party. See #ban.', 'ban' => 'Leader command. Usage: #ban [<player>]. Ban all or one player from your party. If no argument is given you ban all players.', 'unban' => 'Leader command. Usage: #unban [<player>]. Unban all or one player from your party. If no argument is given your party will be open to all players again.'), 'guest_cmds' => 'These commands always work', array('start' => 'Player command. The first command you have to type in Shadowlamb. Usage: #start <race> <gender>. Each race has a different bonus. The human is medium. Left from it has more magic. Right from it has more melee.', 'help' => 'Browse the Shadowhelp file. Usage: #help [<keyword>].', 'stats' => 'Print current gameworld stats.', 'motd' => 'Print the current "message of the day".', 'world' => 'Print info about the world of Shadowlamb.', 'players' => 'Usage: #players <page>. Print info about the current players. Paginated.', 'parties' => 'Usage: #parties <page>. Print info about the current active parties, paginated.'), 'gm_cmds' => '"Game Master" commands for debugging and cheating', array('gm' => 'GM command. Usage: #gm <username> <field> [<value>].', 'gmc' => 'GM command. Usage: #gmc. Cleanup the database. Handle with care!', 'gmd' => 'GM command. Usage: #gmd <player> <remote command to execute>.', 'gmi' => 'GM command. Usage: #gmi <username> <item_name>. Example: gmi gizmore LeatherVest_of_strength:1,quickness:4,marm:4,foo:4', 'gml' => "GM command. Usage: #gml <username> <city_location> [inside|outside]. Teleport a party to a location. By default parties end up outside of the location.", 'gmm' => "GM command. Usage: #gmm <the message>. Send a hyperglobal message to all Shadowlamb channels.", 'gmn' => "GM command. Usage: #gmn <the message>. Send a hyperglobal message to all Shadowlamb players.", 'gmq' => "GM command. Usage: #gmq <username> <quest> [amount|data] [<value>]. Get or set quest information.", 'gms' => "GM command. Usage: #gms <player>. Print a lot of status of a player.", 'gmsp' => "GM command. Usage: #gmsp <player> <spell> <level>. Adjust the spell for a player.", 'gmt' => "GM command. Usage: #gmt <username> <enemy,enemy,...>. Attack a party with enemies for debugging purposes."), 'status_cmds' => 'Commands for player information', array('commands' => "Player command. Usage: #(c)ommands. List your currently available commands. These are ordered by always,leader,special,location and change depending on your current location and party action. The currently special location commands are listed to the most right in bold.", 'ccommands' => "Player command. Usage: #(cc)ommands. List many hidden default commands. These always work and you maybe don't even use them.", 'status' => 'Player command. Usage: #(s)tatus. View your status.', 'attributes' => NULL, 'skills' => NULL, 'asl' => NULL, 'aslset' => "Player command. Usage: #aslset RANDOM || #aslset <age>y <bmi>kg <hgt>cm. Example: #aslset 20y 140cm 80kg.", 'equipment' => 'Player command. Usage: #e(q)uipment. View your equipment.', 'sets' => 'Player command: Usage: #sets [<setpage|item_name|setname>]. Show all sets or list items and boni for an itemset.', array('amulet' => 'You can #equip amulets and wear them as #equipment.', 'armor' => 'You can #equip armory and wear them as #equipment.', 'boots' => 'You can #equip boots and wear them as #equipment.', 'earring' => 'You can #equip earrings and wear them as #equipment.', 'helmet' => 'You can #equip helmets and wear them as #equipment.', 'legs' => 'You can #equip legs and wear them as #equipment.', 'ring' => 'You can #equip rings and wear them as #equipment.', 'shield' => 'You can #equip shields and wear them as #equipment.', 'weapon' => 'You can #equip weapons and wear them as #equipment.', 'mount' => 'You can #equip mounts to lower your travel times. Also you can store items in them. There are also mount runes:', array('lock' => 'LOCK determines the safety of your mount and prevents a #hijack. LOCK runes can only get applied on a mount.', 'tuneup' => 'Tuneup runes can only be applied to a mount and reduce travel times.', 'transport' => 'Transport runes can only be applied to a mount and increase the max weight it can store.')), 'party' => 'Player command. Usage. #(p)arty. View your party sta
|
请发表评论