3 // VEHICLE PLUGIN SYSTEM
4 entity vehicle_info[VEH_MAXCOUNT];
5 entity dummy_vehicle_info;
7 void vehicles_common_initialize()
10 precache_model("models/vehicles/bomblet.md3");
11 precache_model("models/vehicles/clusterbomb.md3");
12 precache_model("models/vehicles/clusterbomb_fragment.md3");
13 precache_model("models/vehicles/rocket01.md3");
14 precache_model("models/vehicles/rocket02.md3");
16 precache_sound ("vehicles/alarm.wav");
17 precache_sound ("vehicles/alarm_shield.wav");
20 precache_sound("onslaught/ons_hit2.wav");
21 precache_sound("onslaught/electricity_explode.wav");
23 addstat(STAT_HUD, AS_INT, hud);
24 addstat(STAT_VEHICLESTAT_HEALTH, AS_INT, vehicle_health);
25 addstat(STAT_VEHICLESTAT_SHIELD, AS_INT, vehicle_shield);
26 addstat(STAT_VEHICLESTAT_ENERGY, AS_INT, vehicle_energy);
28 addstat(STAT_VEHICLESTAT_W2MODE, AS_INT, vehicle_weapon2mode);
30 addstat(STAT_VEHICLESTAT_AMMO1, AS_INT, vehicle_ammo1);
31 addstat(STAT_VEHICLESTAT_RELOAD1, AS_INT, vehicle_reload1);
33 addstat(STAT_VEHICLESTAT_AMMO2, AS_INT, vehicle_ammo2);
34 addstat(STAT_VEHICLESTAT_RELOAD2, AS_INT, vehicle_reload2);
38 void register_vehicle(float id, float(float) func, float vehicleflags, vector min_s, vector max_s, string modelname, string headmodelname, string hudmodelname, string headtag, string hudtag, string viewtag, string shortname, string vname)
41 vehicle_info[id - 1] = e = spawn();
42 e.classname = "vehicle_info";
44 e.netname = shortname;
45 e.vehicle_name = vname;
46 e.vehicle_func = func;
48 e.spawnflags = vehicleflags;
52 e.head_model = headmodelname;
53 e.hud_model = hudmodelname;
59 vehicles_common_initialize();
62 float v_null(float dummy) { return 0; }
63 void register_vehicles_done()
65 dummy_vehicle_info = spawn();
66 dummy_vehicle_info.classname = "vehicle_info";
67 dummy_vehicle_info.vehicleid = 0; // you can recognize dummies by this
68 dummy_vehicle_info.netname = "";
69 dummy_vehicle_info.vehicle_name = "Vehicle";
70 dummy_vehicle_info.vehicle_func = v_null;
71 dummy_vehicle_info.mdl = "";
72 dummy_vehicle_info.mins = '-0 -0 -0';
73 dummy_vehicle_info.maxs = '0 0 0';
74 dummy_vehicle_info.model = "";
75 dummy_vehicle_info.head_model = "";
76 dummy_vehicle_info.hud_model = "";
78 entity get_vehicleinfo(float id)
81 if(id < VEH_FIRST || id > VEH_LAST)
82 return dummy_vehicle_info;
83 m = vehicle_info[id - 1];
86 return dummy_vehicle_info;