atomic void set_exit_destination(object obj) { object lobj; lobj = query_local_property("exit_return"); if (lobj && obj != nil) { error("Exit has a return exit"); } set_local_property("exit_destination", obj); }
atomic void set_exit_return(object obj) { object lobj; if (query_local_property("exit_destination")) { error("Exit already has a destination"); } if (obj->query_local_property("exit_destination")) { error("Return exit already has a destination"); } if (obj->query_local_property("exit_return")) { error("Return exit already has a return exit"); } lobj = query_local_property("exit_return"); if (lobj) { object llobj; llobj = lobj->query_local_property("exit_return"); if (llobj == this_object()) { llobj->set_local_property("exit_return", nil); } } lobj = obj->query_local_property("exit_return"); if (lobj) { error("Return exit already has a return exit"); } obj->set_local_property("exit_return", this_object()); set_local_property("exit_return", obj); }
void set_y_size(int new_ysize) { set_local_property("size_y", new_ysize ? new_ysize : nil); }
void set_z_size(int new_zsize) { set_local_property("size_z", new_zsize ? new_zsize : nil); }
void set_x_size(int new_xsize) { set_local_property("size_x", new_xsize ? new_xsize : nil); }
void set_z_position(int new_zpos) { set_local_property("pos_z", new_zpos ? new_zpos : nil); }
void set_y_position(int new_ypos) { set_local_property("pos_y", new_ypos ? new_ypos : nil); }
void set_x_position(int new_xpos) { set_local_property("pos_x", new_xpos ? new_xpos : nil); }
void clear_xyz() { set_local_property("pos_x", nil); set_local_property("pos_y", nil); set_local_property("pos_z", nil); }