remove(self);
}
-void Casing_Draw()
-{SELFPARAM();
+void Casing_Draw(entity this)
+{
if (self.move_flags & FL_ONGROUND)
{
self.move_angles_x = 0;
}
}
+SOUND(BRASS1, W_Sound("brass1"));
+SOUND(BRASS2, W_Sound("brass2"));
+SOUND(BRASS3, W_Sound("brass3"));
+Sound SND_BRASS_RANDOM() {
+ return Sounds[SND_BRASS1.m_id + floor(prandom() * 3)];
+}
+SOUND(CASINGS1, W_Sound("casings1"));
+SOUND(CASINGS2, W_Sound("casings2"));
+SOUND(CASINGS3, W_Sound("casings3"));
+Sound SND_CASINGS_RANDOM() {
+ return Sounds[SND_CASINGS1.m_id + floor(prandom() * 3)];
+}
+
void Casing_Touch()
{SELFPARAM();
if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
{
if (time >= self.nextthink)
{
- string s;
- int f = floor(prandom() * 3) + 1;
-
+ Sound s;
switch (self.state)
{
case 1:
- s = W_Sound(strcat("casings", itos(f)));
+ s = SND_CASINGS_RANDOM();
break;
default:
- s = W_Sound(strcat("brass", itos(f)));
+ s = SND_BRASS_RANDOM();
break;
}
switch (casing.state)
{
case 1:
- setmodel(casing, "models/casing_shell.mdl");
+ setmodel(casing, MDL_CASING_SHELL);
casing.cnt = time + autocvar_cl_casings_shell_time;
break;
default:
- setmodel(casing, "models/casing_bronze.iqm");
+ setmodel(casing, MDL_CASING_BULLET);
casing.cnt = time + autocvar_cl_casings_bronze_time;
break;
}
RubbleLimit("casing", autocvar_cl_casings_maxcount, Casing_Delete);
}
-STATIC_INIT(Casings)
-{
- precache_model("models/casing_shell.mdl");
- precache_model("models/casing_bronze.iqm");
- precache_sound(W_Sound("brass1"));
- precache_sound(W_Sound("brass2"));
- precache_sound(W_Sound("brass3"));
- precache_sound(W_Sound("casings1"));
- precache_sound(W_Sound("casings2"));
- precache_sound(W_Sound("casings3"));
-}
#endif