mud/lib/domains/default/vehicle/strider.c
2020-09-06 05:43:07 -07:00

64 lines
2.3 KiB
C

#include <lib.h>
inherit LIB_VEHICLE;
string ReadInstructions(){
string ret = "To travel, use the \"drive\" command, for example: drive east\n"+
"To have the mech do something with its robotic arms, use the following syntax:\n"+
"direct mech to get boulder\n"+
"direct mech to kill orc\n\n";
if(environment(this_player()) == this_object()){
return ret;
}
else return "You can read no such thing from here.";
}
static void create() {
vehicle::create();
SetKeyName("strider");
SetId(({"landstrider","walker","scout","columbu","mech"}));
SetAdjectives(({"landstrider","walker","scout","columbu","strider","class"}));
SetShort("a landstrider mech");
SetLong("This is a Columbu class scout vehicle consisting of "
"a human-sized transparent ball turret mounted on two large birdlike legs "
"with two robotic arms on each side for manipulation and combat. "
"Though technically a \"scout\" class mech, it is two meters tall "
"and ballistic plated, and not to be trifled "
"with by meat-based creatures.");
SetVehicleInterior("This is the interior of a highly advanced military mechanized "
"reconaissance vehicle. There are instructions here you can read.");
AddItem("instructions","Some documentation on the operation of this mech.");
AddItem(({"landstrider","walker","scout","columbu","mech","here"}),
"This is the interior of a highly advanced military mechanized "
"reconaissance vehicle. There are instructions here you can read.");
SetRead("instructions", (: ReadInstructions :));
SetRace("strider");
SetClass("fighter");
SetLevel(10);
SetMelee(1);
SetMount(1);
SetMountStyle("driven");
SetVisibleRiders(0);
SetOpacity(0);
SetNoClean(1);
SetPacifist(0);
SetNoCondition(1);
}
void init(){
::init();
add_action("DirectMech","direct");
}
mixed DirectMech(string str){
string what, cmd;
int i = sscanf(str,"%s to %s",what, cmd);
if(i != 2) i = sscanf(str,"%s %s",what, cmd);
if(i != 2 || !answers_to(what,this_object())) return 0;
if(environment(this_player()) == this_object()){
write("You enter the commands into mech.");
call_out("eventForce", 2, cmd);
return 1;
}
}