6 #include "../client/sys-pre.qh"
7 #include "../dpdefs/csprogsdefs.qc"
8 #include "../client/sys-post.qh"
9 #include "../client/Defs.qc"
10 #include "../dpdefs/keycodes.qc"
11 #include "constants.qh"
13 #include "../warpzonelib/anglestransform.qh"
14 #include "../warpzonelib/mathlib.qh"
15 #include "../warpzonelib/common.qh"
16 #include "../warpzonelib/client.qh"
17 #include "playerstats.qh"
22 #include "util-pre.qh"
23 #include "../server/sys-pre.qh"
24 #include "../dpdefs/progsdefs.qc"
25 #include "../dpdefs/dpextensions.qc"
26 #include "../server/sys-post.qh"
27 #include "../warpzonelib/anglestransform.qh"
28 #include "../warpzonelib/mathlib.qh"
29 #include "../warpzonelib/common.qh"
30 #include "../warpzonelib/util_server.qh"
31 #include "../warpzonelib/server.qh"
32 #include "constants.qh"
39 const int PROJECTILE_NADE = 71;
40 const int PROJECTILE_NADE_BURN = 72;
41 const int PROJECTILE_NADE_NAPALM = 73;
42 const int PROJECTILE_NADE_NAPALM_BURN = 74;
43 const int PROJECTILE_NAPALM_FOUNTAIN = 75;
44 const int PROJECTILE_NADE_ICE = 76;
45 const int PROJECTILE_NADE_ICE_BURN = 77;
46 const int PROJECTILE_NADE_TRANSLOCATE = 78;
47 const int PROJECTILE_NADE_SPAWN = 79;
48 const int PROJECTILE_NADE_HEAL = 80;
49 const int PROJECTILE_NADE_HEAL_BURN = 81;
50 const int PROJECTILE_NADE_MONSTER = 82;
51 const int PROJECTILE_NADE_MONSTER_BURN = 83;
53 const int NADE_TYPE_NORMAL = 1;
54 const int NADE_TYPE_NAPALM = 2;
55 const int NADE_TYPE_ICE = 3;
56 const int NADE_TYPE_TRANSLOCATE = 4;
57 const int NADE_TYPE_SPAWN = 5;
58 const int NADE_TYPE_HEAL = 6;
59 const int NADE_TYPE_MONSTER = 7;
61 const int NADE_TYPE_LAST = 7; // a check to prevent using higher values & crashing
63 vector Nade_Color(int nadeid)
67 case NADE_TYPE_NORMAL: return '1 1 1';
68 case NADE_TYPE_NAPALM: return '2 0.5 0';
69 case NADE_TYPE_ICE: return '0 0.5 2';
70 case NADE_TYPE_TRANSLOCATE: return '1 0.0625 1';
71 case NADE_TYPE_SPAWN: return '1 0.9 0.06';
72 case NADE_TYPE_HEAL: return '1 0 0';
73 case NADE_TYPE_MONSTER: return '1 0.5 0';
79 int Nade_IDFromProjectile(float proj)
84 case PROJECTILE_NADE_BURN: return NADE_TYPE_NORMAL;
85 case PROJECTILE_NADE_NAPALM:
86 case PROJECTILE_NADE_NAPALM_BURN: return NADE_TYPE_NAPALM;
87 case PROJECTILE_NADE_ICE:
88 case PROJECTILE_NADE_ICE_BURN: return NADE_TYPE_ICE;
89 case PROJECTILE_NADE_TRANSLOCATE: return NADE_TYPE_TRANSLOCATE;
90 case PROJECTILE_NADE_SPAWN: return NADE_TYPE_SPAWN;
91 case PROJECTILE_NADE_HEAL:
92 case PROJECTILE_NADE_HEAL_BURN: return NADE_TYPE_HEAL;
93 case PROJECTILE_NADE_MONSTER:
94 case PROJECTILE_NADE_MONSTER_BURN: return NADE_TYPE_MONSTER;
100 int Nade_ProjectileFromID(int proj, bool burn)
104 case NADE_TYPE_NORMAL: return (burn) ? PROJECTILE_NADE_BURN : PROJECTILE_NADE;
105 case NADE_TYPE_NAPALM: return (burn) ? PROJECTILE_NADE_NAPALM_BURN : PROJECTILE_NADE_NAPALM;
106 case NADE_TYPE_ICE: return (burn) ? PROJECTILE_NADE_ICE_BURN : PROJECTILE_NADE_ICE;
107 case NADE_TYPE_TRANSLOCATE: return PROJECTILE_NADE_TRANSLOCATE;
108 case NADE_TYPE_SPAWN: return PROJECTILE_NADE_SPAWN;
109 case NADE_TYPE_HEAL: return (burn) ? PROJECTILE_NADE_HEAL_BURN : PROJECTILE_NADE_HEAL;
110 case NADE_TYPE_MONSTER: return (burn) ? PROJECTILE_NADE_MONSTER_BURN : PROJECTILE_NADE_MONSTER;
116 string Nade_TrailEffect(float proj, float nade_team)
120 case PROJECTILE_NADE: return strcat("nade_", Static_Team_ColorName_Lower(nade_team));
121 case PROJECTILE_NADE_BURN: return strcat("nade_", Static_Team_ColorName_Lower(nade_team), "_burn");
122 case PROJECTILE_NADE_NAPALM: return "TR_ROCKET";
123 case PROJECTILE_NADE_NAPALM_BURN: return "spiderbot_rocket_thrust";
124 case PROJECTILE_NADE_ICE: return "TR_NEXUIZPLASMA";
125 case PROJECTILE_NADE_ICE_BURN: return "wakizashi_rocket_thrust";
126 case PROJECTILE_NADE_TRANSLOCATE: return "TR_CRYLINKPLASMA";
127 case PROJECTILE_NADE_SPAWN: return "nade_yellow";
128 case PROJECTILE_NADE_HEAL: return "nade_red";
129 case PROJECTILE_NADE_HEAL_BURN: return "nade_red_burn";
130 case PROJECTILE_NADE_MONSTER: return "nade_red";
131 case PROJECTILE_NADE_MONSTER_BURN: return "nade_red_burn";