Add a new nade type
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / nades / nades.inc
1 #ifdef GAMEQC
2 #define NADE_PROJECTILE(i, projectile, trail) MACRO_BEGIN { \
3     this.m_projectile[i] = projectile; \
4     this.m_trail[i] = trail; \
5 } MACRO_END
6 #else
7 #define NADE_PROJECTILE(i, projectile, trail)
8 #endif
9
10 REGISTER_NADE(NORMAL) {
11     this.m_color = '1 1 1';
12     NADE_PROJECTILE(0, PROJECTILE_NADE, EFFECT_Null);
13     NADE_PROJECTILE(1, PROJECTILE_NADE_BURN, EFFECT_Null);
14 }
15
16 REGISTER_NADE(NAPALM) {
17     this.m_color = '2 0.5 0';
18     this.m_name = _("Napalm grenade");
19     this.m_icon = "nade_napalm";
20     NADE_PROJECTILE(0, PROJECTILE_NADE_NAPALM, EFFECT_TR_ROCKET);
21     NADE_PROJECTILE(1, PROJECTILE_NADE_NAPALM_BURN, EFFECT_SPIDERBOT_ROCKET_TRAIL);
22 }
23
24 REGISTER_NADE(ICE) {
25     this.m_color = '0 0.5 2';
26     this.m_name = _("Ice grenade");
27     this.m_icon = "nade_ice";
28     NADE_PROJECTILE(0, PROJECTILE_NADE_ICE, EFFECT_TR_NEXUIZPLASMA);
29     NADE_PROJECTILE(1, PROJECTILE_NADE_ICE_BURN, EFFECT_RACER_ROCKET_TRAIL);
30 }
31
32 REGISTER_NADE(TRANSLOCATE) {
33     this.m_color = '1 0 1';
34     this.m_name = _("Translocate grenade");
35     this.m_icon = "nade_translocate";
36     NADE_PROJECTILE(0, PROJECTILE_NADE_TRANSLOCATE, EFFECT_TR_CRYLINKPLASMA);
37     NADE_PROJECTILE(1, PROJECTILE_NADE_TRANSLOCATE, EFFECT_TR_CRYLINKPLASMA);
38 }
39
40 REGISTER_NADE(SPAWN) {
41     this.m_color = '1 0.9 0';
42     this.m_name = _("Spawn grenade");
43     this.m_icon = "nade_spawn";
44     NADE_PROJECTILE(0, PROJECTILE_NADE_SPAWN, EFFECT_NADE_TRAIL_YELLOW);
45     NADE_PROJECTILE(1, PROJECTILE_NADE_SPAWN, EFFECT_NADE_TRAIL_YELLOW);
46 }
47
48 REGISTER_NADE(HEAL) {
49     this.m_color = '1 0 0';
50     this.m_name = _("Heal grenade");
51     this.m_icon = "nade_heal";
52     NADE_PROJECTILE(0, PROJECTILE_NADE_HEAL, EFFECT_NADE_TRAIL_RED);
53     NADE_PROJECTILE(1, PROJECTILE_NADE_HEAL_BURN, EFFECT_NADE_TRAIL_BURN_RED);
54 }
55
56 REGISTER_NADE(MONSTER) {
57     this.m_color = '0.25 0.75 0';
58     this.m_name = _("Monster grenade");
59     this.m_icon = "nade_monster";
60     NADE_PROJECTILE(0, PROJECTILE_NADE_MONSTER, EFFECT_NADE_TRAIL_RED);
61     NADE_PROJECTILE(1, PROJECTILE_NADE_MONSTER_BURN, EFFECT_NADE_TRAIL_BURN_RED);
62 }
63
64 REGISTER_NADE(ENTRAP) {
65     this.m_color = '0.15 0.85 0';
66     this.m_name = _("Entrap grenade");
67     this.m_icon = "nade_entrap";
68     NADE_PROJECTILE(0, PROJECTILE_NADE_ENTRAP, EFFECT_NADE_TRAIL_YELLOW);
69     NADE_PROJECTILE(1, PROJECTILE_NADE_ENTRAP_BURN, EFFECT_NADE_TRAIL_BURN_YELLOW);
70 }
71
72 REGISTER_NADE(VEIL) {
73     this.m_color = '0.65 0.85 0.65';
74     this.m_name = _("Veil grenade");
75     this.m_icon = "nade_veil";
76     this.m_alpha = 0.45;
77     NADE_PROJECTILE(0, PROJECTILE_NADE_VEIL, EFFECT_NADE_TRAIL_NEUTRAL);
78     NADE_PROJECTILE(1, PROJECTILE_NADE_VEIL_BURN, EFFECT_NADE_TRAIL_BURN_NEUTRAL);
79 }