/* file: vehicles.h * purpose: header for vehicles, drones, robots, etc. * authors: Dunkelzahn, Fastjack * copyright: (c)2001 The AwakeMUD Consortium, Daniel Gelinske * and Nick Robertson */ /* * * * * */ #ifndef _vehicles_h_ #define _vehicles_h_ /* vattr defines -- vehicle attributes */ #define NUM_OF_VATTRS 15 #define VATTR_BODY 0 #define VATTR_ARMOR 1 #define VATTR_SPEED_CRUISE 2 #define VATTR_SPEED_MAX 3 #define VATTR_HANDLING 4 #define VATTR_SIGNATURE 5 #define VATTR_AUTOPILOT 6 #define VATTR_FIRMPOINTS 7 #define VATTR_HARDPOINTS 8 #define VATTR_FUEL_TYPE 9 #define VATTR_FUEL_ECON 10 #define VATTR_FUEL_STOR 11 #define VATTR_SEATING 12 #define VATTR_STORAGE 13 #define VATTR_RESERVED 14 /* must be last */ /* vtype defines -- vehicle types */ #define NUM_OF_VTYPES 17 #define VTYPE_CAR 0 #define VTYPE_BIKE 1 #define VTYPE_HOVERCRAFT 2 #define VTYPE_ROTOR 3 #define VTYPE_LAV 4 #define VTYPE_VECTOR 5 #define VTYPE_AIRCRAFT 6 #define VTYPE_BOAT_SAIL 7 #define VTYPE_BOAT_MOTOR 8 #define VTYPE_DRONE_HUNTER 9 #define VTYPE_DRONE_SURVEILLANCE 10 #define VTYPE_DRONE_SPOTTER 11 #define VTYPE_ROBOTIC 12 #define VTYPE_SUBORBITAL 13 #define VTYPE_ROCKET 14 #define VTYPE_SPACE_SHUTTLE 15 #define VTYPE_RESERVED 16 /* must be last */ /* vstate defines -- driving, rigged, etc */ #define NUM_OF_VSTATES 7 #define VSTATE_PARKED 0 #define VSTATE_NEUTRAL 1 #define VSTATE_IDLE 2 #define VSTATE_COASTING 3 #define VSTATE_DRIVING 4 #define VSTATE_RIGGING 5 #define VSTATE_RESERVED 6 /* must be last */ /* vdrive defines -- bike, 2wd, 4wd, water, air */ #define VDRIVE_MAX 7 #define VDRIVE_BIKE 0 #define VDRIVE_2WD 1 #define VDRIVE_4WD 2 #define VDRIVE_WATER 3 #define VDRIVE_HOVER 4 #define VDRIVE_FLY 5 #define VDRIVE_RESERVED 6 /* vspeed defines -- i.e. how fast are ya drivin'? */ #define NUM_OF_VSPEEDS 8 #define VSPEED_STOPPED 0 #define VSPEED_CRAWLING 1 #define VSPEED_SLOW 2 #define VSPEED_MODERATE 3 #define VSPEED_CRUISE 4 #define VSPEED_SPEEDING 5 #define VSPEED_MAX 6 #define VSPEED_RESERVED 7 /* fueltypes -- what ya put in yer gastank? */ #define NUM_OF_FUELTYPES 11 #define FUELTYPE_GASOLINE 0 #define FUELTYPE_PETROCHEM 1 #define FUELTYPE_ELECTRIC 2 #define FUELTYPE_PROPANE 3 #define FUELTYPE_KEROSENE 4 #define FUELTYPE_ETHANOL 5 #define FUELTYPE_HYDROGEN 6 #define FUELTYPE_JET 7 #define FUELTYPE_ROTOR 8 #define FUELTYPE_NUCLEAR 9 #define FUELTYPE_RESERVED 10 /* Winging it -- * Could be fucked */ #define NOVEHICLE -1 /* Null Ref * For vehicles */ #define MAX_VEH_AFFECT 0 /* required */ typedef sh_int veh_num; /* This is incomplete. Just got to figure out what else to put in it. ** * * * * -Dunk */ struct veh_data { veh_num veh_number; /* Where in data-base */ room_num in_veh; /* In what room -1 */ /* Important, but incomplete. * struct veh_flag_data veh_flags; ** Vehicle information ** * struct veh_affected_type affected[MAX_VEH_AFFECT]; ** affects ** */ char *name; /* Title of object :get etc. */ char *description; /* When in room */ char *short_description; /* when worn/carry/in cont. */ char *long_description; /* long description when examined */ char *inside_description; /* Description inside of vehicle */ char *window_description; /* Looking out the window -- ** ** I would like this to point to ** ** Description of the room that the ** ** Vehicle is in. Ya see? */ struct extra_descr_data *ex_description; /* extra descriptions */ struct char_data *driven_by; /* who's drivin the lemon? */ struct char_data *passengers; /* who's in it? */ struct obj_data *contains; /* what's in it? */ struct obj_data *next_content; /* contents lists stuph */ struct veh_data *weaponry; /* your mounted guns!!! */ struct veh_data *remain_fuel; /* units of fuel left */ veh_data() : name(NULL), description(NULL), short_description(NULL), long_description(NULL), inside_description(NULL), window_description(NULL), ex_description(NULL), driven_by(NULL), passengers(NULL), contains(NULL), next_content(NULL), weaponry(NULL), remain_fuel(NULL) {} }; /* * Thats it. * * * * Show's over. * * * * Go home. * */ #endif