64 lines
2.3 KiB
C
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;
|
|
}
|
|
}
|