/* -*- LPC -*- */ #define TABLE "/obj/handlers/top_ten_handler" #include <top_ten_tables.h> #include "/d/guilds/fighter/defs.h" inherit STD_GUILD_OBJ; void setup() { set_name("fighters"); set_short("Fighters' Guild"); set_long("The Fighters guild is the guild to join if you want to kill " "things with a sharp bit of metal or bludgeon them to death " "with a stick. Not much intelligence is required when you are " "a fighter, as most things fall into the categories of prey or " "food.\n"); set_gp_skill("fighting.points"); set_start_pos("/d/calarien/slum/pub/pub"); //temp start location set_skills(({"fighting.combat.melee.sharp", "fighting.combat.melee.pierce", "fighting.combat.melee.blunt", "fighting.combat.melee.unarmed", "fighting.combat.range.thrown", "fighting.combat.range.fired", "fighting.combat.parry.melee", "fighting.combat.parry.range", "fighting.combat.dodging.melee", "fighting.combat.dodging.range", "fighting.combat.special.weapon", "fighting.combat.special.unarmed", "fighting.combat.special.tactics", "fighting.points" })); // add_command 's here } /* setup() */ int query_skill_cost(string skill) { string *bits; if(member_array(skill, skills) != -1) return 3; bits = explode(skill, "."); switch(bits[0]) { case "faith" : return 15; case "fighting" : return 5; case "magic" : return 50; default : return 10; } } /* query_skill_cost() */ int query_skill_max_level( string skill ) { if(member_array(skill, skills) != -1) return 400; return 40; } /* query_skill_max_level() */ string query_title(object player) { int level, female, good; female = (int)player->query_gender() == 2; level = query_level(player); if( player -> query_al() > 0 ) good = 1; else good = 0; switch( level ) { // Negatives? hmm, I suppose it could happen :) case -1000..5: return "the Fighter Fodder"; case 6..9: return "the Fighter's Apprentice"; case 10..19: return "the Novice Fighter"; case 20..29: return "the Fighter Adept"; case 30..39: return "the Accomplished Combatant"; case 40..49: return "the Renowned Warrior"; case 50..59: { if( female ) return "the Mistress of Melee"; return "the Master of Melee"; } case 60..69: return "the Executioner"; case 70..79: { if( good ) return "the Radiant Warrior"; return "the Malevolent Warrior"; } break; case 80..89: return "the Forger of Fury"; case 90..99: return "the Harness of Fury"; case 100..119: return "the Genocidal Maniac"; case 120..139: return "the Dreadnought"; case 140..159: return "the Destroyer of Dreams"; case 160..179: return "the Brutal Oppressor"; case 180..199: return "the Despoiler of Innocents"; case 200..224: return "the Vicious Tyrant"; case 225..249: return "the Infernal Aggressor"; case 250..274: { if( female ) return "the Legendary Warrior Princess"; return "the Legendary Warlord"; } break; case 275..299: return "the Annihilator"; case 300..329: return "the Depopulator of Continents"; case 330..359: { if( good ) return "the Radiant Protector of "+ mud_name(); return "the Scourge of "+ mud_name(); } break; case 360..399: return "the Sworn Protector of "+ mud_name(); default: return "the "+ mud_name() +" Legend"; } return "the fighter"; } /* query_title() */ void skills_advanced(object thing, string skill, int level) { ::skills_advanced(thing, skill, level); thing -> remove_known_command("berserk"); } /* skills_advanced() */