]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/weapons/weapon/shockwave.qh
Merge branch 'master' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / weapon / shockwave.qh
1 #pragma once
2
3 CLASS(Shockwave, Weapon)
4 /* spawnfunc */ ATTRIB(Shockwave, m_canonical_spawnfunc, string, "weapon_shockwave");
5 /* ammotype  */ //ATTRIB(Shockwave, ammo_type, int, RES_NONE);
6 /* impulse   */ ATTRIB(Shockwave, impulse, int, 2);
7 /* flags     */ ATTRIB(Shockwave, spawnflags, int, WEP_TYPE_HITSCAN | WEP_FLAG_CANCLIMB | WEP_TYPE_MELEE_SEC);
8 /* rating    */ ATTRIB(Shockwave, bot_pickupbasevalue, float, 3000);
9 /* color     */ ATTRIB(Shockwave, wpcolor, vector, '0.5 0.25 0');
10 /* modelname */ ATTRIB(Shockwave, mdl, string, "shotgun");
11 #ifdef GAMEQC
12 /* model     */ ATTRIB(Shockwave, m_model, Model, MDL_SHOCKWAVE_ITEM);
13 #endif
14 /* crosshair */ ATTRIB(Shockwave, w_crosshair, string, "gfx/crosshairshotgun");
15 /* crosshair */ ATTRIB(Shockwave, w_crosshair_size, float, 0.7);
16 /* wepimg    */ ATTRIB(Shockwave, model2, string, "weaponshockwave");
17 /* refname   */ ATTRIB(Shockwave, netname, string, "shockwave");
18 /* wepname   */ ATTRIB(Shockwave, m_name, string, _("Shockwave"));
19
20 #define X(BEGIN, P, END, class, prefix) \
21         BEGIN(class) \
22                 P(class, prefix, blast_animtime, float, NONE) \
23                 P(class, prefix, blast_damage, float, NONE) \
24                 P(class, prefix, blast_distance, float, NONE) \
25                 P(class, prefix, blast_edgedamage, float, NONE) \
26                 P(class, prefix, blast_force, float, NONE) \
27                 P(class, prefix, blast_force_forwardbias, float, NONE) \
28                 P(class, prefix, blast_force_zscale, float, NONE) \
29                 P(class, prefix, blast_jump_damage, float, NONE) \
30                 P(class, prefix, blast_jump_edgedamage, float, NONE) \
31                 P(class, prefix, blast_jump_force, float, NONE) \
32                 P(class, prefix, blast_jump_force_velocitybias, float, NONE) \
33                 P(class, prefix, blast_jump_force_zscale, float, NONE) \
34                 P(class, prefix, blast_jump_multiplier_accuracy, float, NONE) \
35                 P(class, prefix, blast_jump_multiplier_distance, float, NONE) \
36                 P(class, prefix, blast_jump_multiplier_min, float, NONE) \
37                 P(class, prefix, blast_jump_radius, float, NONE) \
38                 P(class, prefix, blast_multiplier_accuracy, float, NONE) \
39                 P(class, prefix, blast_multiplier_distance, float, NONE) \
40                 P(class, prefix, blast_multiplier_min, float, NONE) \
41                 P(class, prefix, blast_refire, float, NONE) \
42                 P(class, prefix, blast_splash_damage, float, NONE) \
43                 P(class, prefix, blast_splash_edgedamage, float, NONE) \
44                 P(class, prefix, blast_splash_force, float, NONE) \
45                 P(class, prefix, blast_splash_force_forwardbias, float, NONE) \
46                 P(class, prefix, blast_splash_multiplier_accuracy, float, NONE) \
47                 P(class, prefix, blast_splash_multiplier_distance, float, NONE) \
48                 P(class, prefix, blast_splash_multiplier_min, float, NONE) \
49                 P(class, prefix, blast_splash_radius, float, NONE) \
50                 P(class, prefix, blast_spread_max, float, NONE) \
51                 P(class, prefix, blast_spread_min, float, NONE) \
52                 P(class, prefix, melee_animtime, float, NONE) \
53                 P(class, prefix, melee_damage, float, NONE) \
54                 P(class, prefix, melee_delay, float, NONE) \
55                 P(class, prefix, melee_force, float, NONE) \
56                 P(class, prefix, melee_multihit, float, NONE) \
57                 P(class, prefix, melee_no_doubleslap, float, NONE) \
58                 P(class, prefix, melee_nonplayerdamage, float, NONE) \
59                 P(class, prefix, melee_range, float, NONE) \
60                 P(class, prefix, melee_refire, float, NONE) \
61                 P(class, prefix, melee_swing_side, float, NONE) \
62                 P(class, prefix, melee_swing_up, float, NONE) \
63                 P(class, prefix, melee_time, float, NONE) \
64                 P(class, prefix, melee_traces, float, NONE) \
65                 P(class, prefix, switchdelay_raise, float, NONE) \
66         P(class, prefix, switchdelay_drop, float, NONE) \
67         P(class, prefix, weaponreplace, string, NONE) \
68         P(class, prefix, weaponstart, float, NONE) \
69         P(class, prefix, weaponstartoverride, float, NONE) \
70         P(class, prefix, weaponthrowable, float, NONE) \
71         END()
72     W_PROPS(X, Shockwave, shockwave)
73 #undef X
74
75 ENDCLASS(Shockwave)
76 REGISTER_WEAPON(SHOCKWAVE, shockwave, NEW(Shockwave));
77
78 SPAWNFUNC_WEAPON(weapon_shockwave, WEP_SHOCKWAVE)
79
80 #ifdef CSQC
81 void Net_ReadShockwaveParticle();
82 .vector sw_shotorg;
83 .vector sw_shotdir;
84 .float sw_distance;
85 .float sw_spread_max;
86 .float sw_spread_min;
87 .float sw_time;
88 #endif