72 lines
1.6 KiB
C
72 lines
1.6 KiB
C
#include <lib.h>
|
|
#include <position.h>
|
|
|
|
inherit LIB_CHAMBER;
|
|
|
|
mapping Floors;
|
|
int elevator_speed;
|
|
|
|
static void create() {
|
|
chamber::create();
|
|
SetKeyName("elevator");
|
|
SetId(({"box"}));
|
|
SetAdjectives(({"simple"}));
|
|
SetShort("a elevator");
|
|
SetLong("This is a large, boxlike conveyance for transporting "
|
|
"things and people along a defined vertical axis.");
|
|
SetRace("vehicle");
|
|
SetPosition(POSITION_NULL);
|
|
SetMelee(0);
|
|
SetNoClean(1);
|
|
SetMount(1);
|
|
SetMountStyle("driven");
|
|
SetVisibleRiders(0);
|
|
SetOpacity(100);
|
|
SetMaxHealthPoints(20);
|
|
SetMaxCarry(30000);
|
|
}
|
|
|
|
void init(){
|
|
::init();
|
|
}
|
|
|
|
int eventMove(mixed foo){
|
|
int ret;
|
|
ret = ::eventMove(foo);
|
|
return ret;
|
|
}
|
|
|
|
mapping GetFloors(){
|
|
return copy(Floors);
|
|
}
|
|
|
|
mapping SetFloors(mapping floors){
|
|
object *buttons = ({});
|
|
buttons = filter(all_inventory(),
|
|
(: base_name($1) == LIB_ELEVATOR_BUTTON :));
|
|
if(sizeof(buttons)) buttons->eventDestruct();
|
|
Floors = floors;
|
|
foreach(mixed key, mixed val in Floors){
|
|
object button = new(LIB_ELEVATOR_BUTTON);
|
|
string tmpname = cardinal(atoi(key));
|
|
string *tmpid = ({ key, "button" });
|
|
if(!undefinedp(tmpname)) tmpid += ({ tmpname });
|
|
button->SetAdjectives( ({ key, "elevator" }) );
|
|
button->SetId( tmpid );
|
|
button->SetKeyName( "button" );
|
|
button->SetElevator(this_object());
|
|
//button->SetInvis(0);
|
|
AddItem(button);
|
|
//button->eventMove(this_object());
|
|
}
|
|
}
|
|
|
|
int GetSpeed(){
|
|
return elevator_speed;
|
|
}
|
|
|
|
int SetSpeed(int x){
|
|
return (elevator_speed = x);
|
|
}
|
|
|