mud/lib/domains/campus/armor/badge.c
2020-09-06 05:43:07 -07:00

51 lines
1.7 KiB
C

#include <lib.h>
#include <armor_types.h>
#include <damage_types.h>
inherit LIB_ARMOR;
static void create(){
armor::create();
SetKeyName("visitor's pass");
SetId(({"testchar badge","badge","pass","visitor's pass"}));
SetShort("a test character Visitor's Pass");
SetLong("This clip-on plastic badge grants the wearer access to "+
"some areas typically restricted to creator staff only. Abuse of this "+
"pass is grounds for disciplinary action. A small scribble "+
"at the bottom of the pass reads: click heels");
SetMass(10);
SetDollarCost(5000);
SetDamagePoints(100);
SetArmorType(A_AMULET);
SetRetainOnDeath(1);
SetRestrictLimbs( ({ "torso" }) );
}
void init(){
::init();
add_action("nplh","click");
add_action("post_it","post");
}
int nplh(string str){
if(str=="heels"){
if(present(this_object()->GetKeyName(),this_player() ) ){
write("There's no place like home!\n"+
"You are transported by an awesome whirlwind somewhere "+
"else...\n");
this_player()->eventMoveLiving("/domains/campus/room/start");
return 1;
}
write("You click your heels together...but feel "+
"as though you're missing something.\n");
return 1;
}
}
int post_it(string str){
if(present("chalkboard",environment(this_player())) && !creatorp(this_player()) ){
write("As a visitor, you are not allowed to post on creator boards.");
return 1;
}
}
string GetAffectLong(object ob) {
if(!ob || !living(ob)) return 0;
return ob->GetName() + " is an authorized Test Character.";
}