#include "skills.h" #include "weapon.h" inherit "/std/guild"; int query_skill_cost(string skill) { return 6; /* Need a list of possible skills first. Awaiting Dank */ } void setup() { set_name("rogue"); set_short("rogue"); set_long( "Rogues are the thieves and scoundrels of Magisk Jord " "They are good at opening locks, disarming traps, " "at relieving other people of things they no longer require " "and general sneaking around. " " Their survival depends on their speed and ready tongue.\n"); reset_get(); add_guild_command("palm", 1); add_guild_command("sneak", 1); add_guild_command("hide", 1); add_guild_command("slip", 1); add_guild_command("steal", 1); } void create() { ::create(); set_main_skill("str"); } /* setup() */ string query_main_skill() {return "str";} int query_advance_cost() { return 1000; } int query_xp_cost() { return 1250; } int query_dice() { return 8; } int query_thac0_step() {return 4;} int query_legal_race(string race) { return 1; } int query_legal_armour(string type) { switch(type) { case "leather": case "padded leather": case "padded": case "elfin chain": case "basinet": case "shoes": case "slippers": case "boots": case "amulet": case "pendant": case "necklace": case "cape": case "cloak": case "ring": case "belt": return 1; default: return 0; } } int query_legal_weapon(string type) { switch(type) { case "polearm": case "two-handed sword": case "bow": case "lance": case "mace": return 0; default : return 1; } } void check_stab(object ob) { if (ob && random(4)) call_out("do_it", 0, ob); } /* check_stab() */ void do_it(object ob) { if (ob) do_command("backstab", ob->query_name()); } /* do_it() */ /* void set_gp(object ob) { ob->set_max_gp(level+(int)ob->query_dex()); } void set_hp(object ob) { ob->set_max_hp(query_dice() *(level +1)); } */ int query_dual_wield_penalty(object me, object w1, object w2) { int bon; if ( w1->query_attack_type() != 3 || w2->query_attack_type() != 3 ) return 50; bon = 50 - (int)me->query_level()*3/2; bon = ( bon<10 ? 10 : bon ); return bon; } void on_death(object player, object killer) { }