/**************************************************************************/ /* employment.cpp - its all about having jobs!!! */ /*************************************************************************** * The Dawn of Time v1.69r (c)1997-2004 Michael Garratt * * >> A number of people have contributed to the Dawn codebase, with the * * majority of code written by Michael Garratt - www.dawnoftime.org * * >> To use this source code, you must fully comply with all the licenses * * in licenses.txt... In particular, you may not remove this copyright * * notice. * *************************************************************************** * >> Original Diku Mud copyright (c)1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, & Katja Nyboe. * * >> Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * >> ROM 2.4 is copyright 1993-1995 Russ Taylor and has been brought to * * you by the ROM consortium: Russ Taylor(rtaylor@pacinfo.com), * * Gabrielle Taylor(gtaylor@pacinfo.com) & Brian Moore(rom@rom.efn.org) * * >> Oblivion 1.2 is copyright 1996 Wes Wagner * *************************************************************************** *This file written by Zeus of Athens Mud at athens.boue.ca:9000 make any * *changes you need or want but remember to keep this intact! * **************************************************************************/ #include "include.h" // dawn standard includes #include "olc.h" #include "nanny.h" #include "msp.h" #include "macros.h" void do_appoint( char_data *ch, char *argument) { int count = 0; char arg1[MIL]; char arg2[MIL]; char_data *victim; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if(IS_NPC(ch)) {do_huh(ch,"");return;} if(!IS_LT_GUARD(ch) && !IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(IS_NULLSTR(arg1)) {ch->printlnf("APPOINT (person) (position)"); ch->printlnf("Note: for valid options leave the POSITION field blank."); return;} if(IS_LT_GUARD(ch) && IS_NULLSTR(arg2)) {ch->printlnf ("Valid Options: city_guard");return;} if(IS_IMMORTAL(ch) && IS_NULLSTR(arg2)) { ch->titlebar(""); ch->printlnf("Valid options:"); for(count=0; !IS_NULLSTR(job_flags[count].name); count++){ ch->printf(" %s ", job_flags[count].name);} ch->print_blank_lines(1); ch->titlebar(""); return; } if((victim = get_whovis_player_world(ch, arg1)) == NULL) {ch->println( "That person is not here to appoint." );return;} if(IS_NPC(victim)) {ch->println("Not on NPC's.");return;} if(!str_cmp(arg2, "city_guard")) { if(!IS_LT_GUARD(ch) && !IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(IS_CITY_GUARD(victim)) {ch->printlnf("%s is already a City Guard", victim->name); ch->printlnf("Use the DISMISS command to remove them");return;} if(IS_JOB(victim)) {ch->printlnf("%s already is already employed.", victim->name); victim->printlnf("%s has tried to appoint you to %s but you are already employed.", ch->name, arg2); return;} else {SET_BIT(victim->job,JOB_CITY_GUARD); SET_BIT(victim->job,JOB_JOB); ch->printlnf("%s is now a City Guard", victim->name); victim->printlnf("By the will of %s you are now a City Guard", ch->name); return;} } if(!str_cmp(arg2, "lt_guard")) { if(!IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(IS_LT_GUARD(victim)) {ch->printlnf("%s is already a Lieutenant Guard", victim->name); ch->printlnf("Use the DISMISS command to remove them");return;} if(IS_JOB(victim)) {ch->printlnf("%s already has a job.", victim->name); victim->printlnf("%s has tried to appoint you to %s but you are already employed.", ch->name, arg2); return;} else {SET_BIT(victim->job,JOB_LT_GUARD); SET_BIT(victim->job,JOB_JOB); ch->printlnf("%s is now a Lieutenant Guard", victim->name); victim->printlnf("By the will of %s you are now a Lieutenant Guard", ch->name); return;} } if(!str_cmp(arg2, "cartographer")) { if(!IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(IS_SET(victim->job,JOB_CARTOGRAPHER)) {ch->printlnf("%s is already a Cartographer", victim->name); ch->printlnf("Use the DISMISS command to remove them");return;} if(IS_JOB(victim)) {ch->printlnf("%s already is already employed.", victim->name); victim->printlnf("%s has tried to appoint you to %s but you are already employed.", ch->name, arg2); return;} else {SET_BIT(victim->job,JOB_JOB); SET_BIT(victim->job,JOB_CARTOGRAPHER); ch->printlnf("You have appointed %s to the position of Cartographer", victim->name); victim->printlnf("By the will of %s you are now a Cartographer", ch->name); return;} } } void do_dismiss( char_data *ch, char *argument) { int count = 0; char arg1[MIL]; char arg2[MIL]; char_data *victim; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if(IS_NPC(ch)) {do_huh(ch,"");return;} if(!IS_LT_GUARD(ch) && !IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(IS_NULLSTR(arg1)) {ch->printlnf("DISMISS (person) (position)"); ch->printlnf("NOTE: for a valid list leave the POSITION field blank."); return;} if(IS_LT_GUARD(ch) && IS_NULLSTR(arg2)) {ch->printlnf("Valid Options: city_guard");return;} if(IS_IMMORTAL(ch) && IS_NULLSTR(arg2)) { ch->titlebar(""); ch->printlnf("Valid options:"); for(count=0; !IS_NULLSTR(job_flags[count].name); count++){ ch->printf(" %s ", job_flags[count].name);} ch->print_blank_lines(1); ch->titlebar(""); return; } if((victim = get_whovis_player_world(ch, arg1)) == NULL) {ch->println( "That person is not here to appoint." );return;} if(IS_NPC(victim)) {ch->println("Not on NPC's.");return;} if(!str_cmp(arg2, "city_guard")) { if(!IS_LT_GUARD(ch) && !IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(!IS_CITY_GUARD(victim)) {ch->printlnf("%s is not a City Guard", victim->name); ch->printlnf("Use the APPOINT command to appoint them");return;} else {REMOVE_BIT(victim->job,JOB_CITY_GUARD); REMOVE_BIT(victim->job,JOB_JOB); ch->printlnf("%s is no longer a City Guard", victim->name); victim->printlnf("By the will of %s you are no longer a City Guard", ch->name); } } if(!str_cmp(arg2, "lt_guard")) { if(!IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(!IS_LT_GUARD(victim)) {ch->printlnf("%s is not a Lieutenant Guard", victim->name); ch->printlnf("Use the APPOINT command to appoint them");return;} else {REMOVE_BIT(victim->job,JOB_LT_GUARD); REMOVE_BIT(victim->job,JOB_JOB); ch->printlnf("%s is no longer a Lieutenant Guard", victim->name); victim->printlnf("By the will of %s you are no longer a Lieutenant Guard", ch->name); return;} } if(!str_cmp(arg2, "cartographer")) { if(!IS_IMMORTAL(ch)) {do_huh(ch,"");return;} if(!IS_SET(victim->job, JOB_CARTOGRAPHER)) {ch->printlnf("%s is not a Cartograher", victim->name); ch->printlnf("Use the APPOINT command to appoint them");return;} else {REMOVE_BIT(victim->job,JOB_CARTOGRAPHER); REMOVE_BIT(victim->job,JOB_JOB); ch->printlnf("%s is no longer a Cartographer", victim->name); victim->printlnf("By the will of %s you are no longer a Cartographer", ch->name); return;} } }