+ ATTRIB(Vehicle, vehicleid, int, 0);
+ /** hud icon */
+ ATTRIB(Vehicle, m_icon, string);
+ /** short name */
+ ATTRIB(Vehicle, netname, string, "");
+ /** human readable name */
+ ATTRIB(Vehicle, vehicle_name, string, "Vehicle");
+ /** full name of model */
+ ATTRIB(Vehicle, model, string, "");
+ /** currently a copy of the model */
+ ATTRIB(Vehicle, mdl, string, "");
+ /** full name of tur_head model */
+ ATTRIB(Vehicle, head_model, string, "");
+ /** cockpit model */
+ ATTRIB(Vehicle, hud_model, string, "");
+ /** tur_head model tag */
+ ATTRIB(Vehicle, tag_head, string);
+ /** hud model tag */
+ ATTRIB(Vehicle, tag_hud, string);
+ /** cockpit model tag */
+ ATTRIB(Vehicle, tag_view, string);
+ /** player physics mod */
+ ATTRIB(Vehicle, PlayerPhysplug, bool(entity,float));
+ /** */
+ ATTRIB(Vehicle, spawnflags, int, 0);
+ /** vehicle hitbox size */
+ ATTRIB(Vehicle, m_mins, vector, '-0 -0 -0');
+ /** vehicle hitbox size */
+ ATTRIB(Vehicle, m_maxs, vector, '0 0 0');
+ /** vehicle 3rd person view offset */
+ ATTRIB(Vehicle, view_ofs, vector, '0 0 0');
+ /** vehicle 3rd person view distance */
+ ATTRIB(Vehicle, height, float, 0);
+
+ /** (BOTH) setup vehicle data */
+ METHOD(Vehicle, vr_setup, void(Vehicle this, entity instance)) { }
+ /** (SERVER) logic to run every frame */
+ METHOD(Vehicle, vr_think, void(Vehicle this, entity instance)) { }
+ /** (SERVER) called when vehicle dies */
+ METHOD(Vehicle, vr_death, void(Vehicle this, entity instance)) { }
+ /** (BOTH) precaches models/sounds used by this vehicle */
+ METHOD(Vehicle, vr_precache, void(Vehicle this)) { }
+ /** (SERVER) called when a player enters this vehicle */
+ METHOD(Vehicle, vr_enter, void(Vehicle this, entity instance)) { }
+ /** (SERVER) called when a player enters this vehicle while occupied */
+ METHOD(Vehicle, vr_gunner_enter, void(Vehicle this, entity instance, entity actor)) { }
+ /** (SERVER) called when the vehicle re-spawns */
+ METHOD(Vehicle, vr_spawn, void(Vehicle this, entity instance)) { }
+ /** (SERVER) called when a vehicle hits something */
+ METHOD(Vehicle, vr_impact, void(Vehicle this, entity instance)) { }
+ /** (SERVER) called when a vehicle's colors are being reset, so modules can be updated */
+ METHOD(Vehicle, vr_setcolors, void(Vehicle this, entity instance)) { }
+ /** (CLIENT) logic to run every frame */
+ METHOD(Vehicle, vr_hud, void(Vehicle this)) { }
+ /** (CLIENT) logic to run every frame */
+ METHOD(Vehicle, vr_crosshair, void(Vehicle thisveh, entity player)) { }