mirror of
https://github.com/yquake2/rogue.git
synced 2024-11-26 14:10:55 +00:00
Plane check in blaster2_touch
This commit is contained in:
parent
1e4c4cc956
commit
bedf8cdd9d
1 changed files with 15 additions and 4 deletions
|
@ -1477,8 +1477,9 @@ blaster2_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
|
||||||
{
|
{
|
||||||
int mod;
|
int mod;
|
||||||
int damagestat;
|
int damagestat;
|
||||||
|
vec3_t normal;
|
||||||
|
|
||||||
if (!self || !other || !plane)
|
if (!self || !other)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1499,6 +1500,15 @@ blaster2_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
|
||||||
PlayerNoise(self->owner, self->s.origin, PNOISE_IMPACT);
|
PlayerNoise(self->owner, self->s.origin, PNOISE_IMPACT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (plane)
|
||||||
|
{
|
||||||
|
VectorCopy(plane->normal, normal);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VectorCopy(vec3_origin, normal);
|
||||||
|
}
|
||||||
|
|
||||||
if (other->takedamage)
|
if (other->takedamage)
|
||||||
{
|
{
|
||||||
mod = MOD_BLASTER2;
|
mod = MOD_BLASTER2;
|
||||||
|
@ -1521,8 +1531,9 @@ blaster2_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
|
||||||
self->dmg_radius, 0);
|
self->dmg_radius, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
T_Damage(other, self, self->owner, self->velocity, self->s.origin, plane->normal,
|
T_Damage(other, self, self->owner, self->velocity, self->s.origin, normal,
|
||||||
self->dmg, 1, DAMAGE_ENERGY, mod);
|
self->dmg, 1, DAMAGE_ENERGY, mod);
|
||||||
|
|
||||||
self->owner->takedamage = damagestat;
|
self->owner->takedamage = damagestat;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1534,7 +1545,7 @@ blaster2_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
|
||||||
}
|
}
|
||||||
|
|
||||||
T_Damage(other, self, self->owner, self->velocity, self->s.origin,
|
T_Damage(other, self, self->owner, self->velocity, self->s.origin,
|
||||||
plane->normal, self->dmg, 1, DAMAGE_ENERGY, mod);
|
normal, self->dmg, 1, DAMAGE_ENERGY, mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1549,7 +1560,7 @@ blaster2_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
|
||||||
gi.WriteByte(svc_temp_entity);
|
gi.WriteByte(svc_temp_entity);
|
||||||
gi.WriteByte(TE_BLASTER2);
|
gi.WriteByte(TE_BLASTER2);
|
||||||
gi.WritePosition(self->s.origin);
|
gi.WritePosition(self->s.origin);
|
||||||
gi.WriteDir(plane->normal);
|
gi.WriteDir(normal);
|
||||||
gi.multicast(self->s.origin, MULTICAST_PVS);
|
gi.multicast(self->s.origin, MULTICAST_PVS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue