Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
electro.qh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Electro

Macros

#define X(BEGIN, P, END, class, prefix)

Functions

 MODEL (ELECTRO_ITEM, W_Model("g_electro.md3"))
 MODEL (ELECTRO_VIEW, W_Model("h_electro.iqm"))
 MODEL (ELECTRO_WORLD, W_Model("v_electro.md3"))
 REGISTER_WEAPON (ELECTRO, NEW(Electro))
 SOUND (ELECTRO_BOUNCE, W_Sound("electro_bounce"))
 SOUND (ELECTRO_FIRE, W_Sound("electro_fire"))
 SOUND (ELECTRO_FIRE2, W_Sound("electro_fire2"))
 SOUND (ELECTRO_FLY, W_Sound("electro_fly"))
 SOUND (ELECTRO_IMPACT, W_Sound("electro_impact"))
 SOUND (ELECTRO_IMPACT_COMBO, W_Sound("electro_impact_combo"))
void W_Electro_ExplodeCombo (entity this)

Variables

float electro_count
float electro_secondarytime
IntrusiveList LimitedElectroBallRubbleList

Macro Definition Documentation

◆ X

#define X ( BEGIN,
P,
END,
class,
prefix )

Definition at line 35 of file electro.qh.

35#define X(BEGIN, P, END, class, prefix) \
36 BEGIN(class) \
37 P(class, prefix, ammo, float, BOTH) \
38 P(class, prefix, animtime, float, BOTH) \
39 P(class, prefix, bouncefactor, float, SEC) \
40 P(class, prefix, bouncestop, float, SEC) \
41 P(class, prefix, comboradius, float, PRI) \
42 P(class, prefix, combo_comboradius, float, NONE) \
43 P(class, prefix, combo_comboradius_thruwall, float, NONE) \
44 P(class, prefix, combo_damage, float, NONE) \
45 P(class, prefix, combo_duration, float, NONE) \
46 P(class, prefix, combo_edgedamage, float, NONE) \
47 P(class, prefix, combo_force, float, NONE) \
48 P(class, prefix, combo_radius, float, NONE) \
49 P(class, prefix, combo_safeammocheck, float, NONE) \
50 P(class, prefix, combo_speed, float, NONE) \
51 P(class, prefix, count, float, SEC) \
52 P(class, prefix, damagedbycontents, float, SEC) \
53 P(class, prefix, damageforcescale, float, SEC) \
54 P(class, prefix, damage, float, BOTH) \
55 P(class, prefix, edgedamage, float, BOTH) \
56 P(class, prefix, force, float, BOTH) \
57 P(class, prefix, health, float, SEC) \
58 P(class, prefix, lifetime, float, BOTH) \
59 P(class, prefix, limit, float, SEC) \
60 P(class, prefix, midaircombo_enemy, bool, PRI) \
61 P(class, prefix, midaircombo_explode, float, PRI) \
62 P(class, prefix, midaircombo_interval, float, PRI) \
63 P(class, prefix, midaircombo_own, bool, PRI) \
64 P(class, prefix, midaircombo_radius, float, PRI) \
65 P(class, prefix, midaircombo_speed, float, PRI) \
66 P(class, prefix, midaircombo_teammate, float, PRI) \
67 P(class, prefix, pickup_ammo, float, NONE) \
68 P(class, prefix, radius, float, BOTH) \
69 P(class, prefix, refire2, float, SEC) \
70 P(class, prefix, refire, float, BOTH) \
71 P(class, prefix, reload_ammo, float, NONE) \
72 P(class, prefix, reload_time, float, NONE) \
73 P(class, prefix, speed, float, BOTH) \
74 P(class, prefix, speed_up, float, SEC) \
75 P(class, prefix, speed_z, float, SEC) \
76 P(class, prefix, spread, float, BOTH) \
77 P(class, prefix, stick, float, SEC) \
78 P(class, prefix, stick_lifetime, float, SEC) \
79 P(class, prefix, switchdelay_drop, float, NONE) \
80 P(class, prefix, switchdelay_raise, float, NONE) \
81 P(class, prefix, touchexplode, float, SEC) \
82 P(class, prefix, weaponreplace, string,NONE) \
83 P(class, prefix, weaponstartoverride, float, NONE) \
84 P(class, prefix, weaponstart, float, NONE) \
85 P(class, prefix, weaponthrowable, float, NONE) \
86 END()

Function Documentation

◆ MODEL() [1/3]

MODEL ( ELECTRO_ITEM ,
W_Model("g_electro.md3")  )

◆ MODEL() [2/3]

MODEL ( ELECTRO_VIEW ,
W_Model("h_electro.iqm")  )

◆ MODEL() [3/3]

MODEL ( ELECTRO_WORLD ,
W_Model("v_electro.md3")  )

◆ REGISTER_WEAPON()

REGISTER_WEAPON ( ELECTRO ,
NEW(Electro)  )

◆ SOUND() [1/6]

SOUND ( ELECTRO_BOUNCE ,
W_Sound("electro_bounce")  )

◆ SOUND() [2/6]

SOUND ( ELECTRO_FIRE ,
W_Sound("electro_fire")  )

◆ SOUND() [3/6]

SOUND ( ELECTRO_FIRE2 ,
W_Sound("electro_fire2")  )

◆ SOUND() [4/6]

SOUND ( ELECTRO_FLY ,
W_Sound("electro_fly")  )

◆ SOUND() [5/6]

SOUND ( ELECTRO_IMPACT ,
W_Sound("electro_impact")  )

◆ SOUND() [6/6]

SOUND ( ELECTRO_IMPACT_COMBO ,
W_Sound("electro_impact_combo")  )

◆ W_Electro_ExplodeCombo()

void W_Electro_ExplodeCombo ( entity this)

Definition at line 167 of file electro.qc.

168{
169 W_Electro_TriggerCombo(this.origin, WEP_CVAR(WEP_ELECTRO, combo_comboradius), this.realowner);
170
171 this.event_damage = func_null;
172 if (!this.velocity)
173 this.velocity = this.movedir; // .velocity must be != '0 0 0' for particle fx and decal to work
174
175 if(WEP_CVAR(WEP_ELECTRO, combo_duration))
176 {
178
179 delete(this);
180 return;
181 }
182
184 this,
185 this.realowner,
186 WEP_CVAR(WEP_ELECTRO, combo_damage),
187 WEP_CVAR(WEP_ELECTRO, combo_edgedamage),
188 WEP_CVAR(WEP_ELECTRO, combo_radius),
189 NULL,
190 NULL,
191 WEP_CVAR(WEP_ELECTRO, combo_force),
192 WEP_ELECTRO.m_id | HITTYPE_BOUNCE, // use THIS type for a combo because primary can't bounce
193 this.weaponentity_fld,
194 NULL
195 );
196
197 delete(this);
198}
vector velocity
vector origin
float RadiusDamage(entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float forceintensity, int deathtype,.entity weaponentity, entity directhitentity)
Definition damage.qc:981
const int HITTYPE_BOUNCE
Definition all.qh:31
void W_Electro_Orb_ExplodeOverTime(entity this)
Definition electro.qc:142
void W_Electro_TriggerCombo(vector org, float rad, entity own)
Definition electro.qc:77
vector movedir
Definition viewloc.qh:18
var void func_null()
#define NULL
Definition post.qh:14
entity realowner
#define WEP_CVAR(wep, name)
Definition all.qh:321

References entity(), func_null(), HITTYPE_BOUNCE, movedir, NULL, origin, RadiusDamage(), realowner, velocity, W_Electro_Orb_ExplodeOverTime(), W_Electro_TriggerCombo(), and WEP_CVAR.

Referenced by W_Electro_Bolt_Think(), W_Electro_Orb_Damage(), and W_Electro_TriggerCombo().

Variable Documentation

◆ electro_count

float electro_count

Definition at line 97 of file electro.qh.

Referenced by W_Electro_CheckAttack().

◆ electro_secondarytime

float electro_secondarytime

Definition at line 98 of file electro.qh.

Referenced by W_Electro_CheckAttack().

◆ LimitedElectroBallRubbleList

IntrusiveList LimitedElectroBallRubbleList

Definition at line 96 of file electro.qh.

Referenced by W_Electro_Attack_Orb(), and W_Electro_Orb_Stick().