sniper trail ends when collides
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6385 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
@@ -1,13 +1,6 @@
|
||||
#ifndef BOT_UTIL_H
|
||||
#define BOT_UTIL_H
|
||||
|
||||
// Structure for storing traceresults
|
||||
struct traceresult_s
|
||||
{
|
||||
vec end;
|
||||
bool collided;
|
||||
};
|
||||
|
||||
long RandomLong(long from, long to);
|
||||
float RandomFloat(float from, float to);
|
||||
void lsrand(unsigned long initial_seed);
|
||||
@@ -15,8 +8,7 @@ void lsrand(unsigned long initial_seed);
|
||||
void AnglesToVectors(vec angles, vec &forward, vec &right, vec &up);
|
||||
float WrapXAngle(float angle);
|
||||
float WrapYZAngle(float angle);
|
||||
void TraceLine(vec from, vec to, dynent *pTracer, bool CheckPlayers, traceresult_s *tr,
|
||||
bool SkipTags=false);
|
||||
|
||||
float GetDistance(vec v1, vec v2);
|
||||
float Get2DDistance(vec v1, vec v2);
|
||||
bool IsVisible(vec v1, vec v2, dynent *tracer = NULL, bool SkipTags=false);
|
||||
|
||||
@@ -677,6 +677,13 @@ extern void setscope(bool activate);
|
||||
extern void setburst(bool activate);
|
||||
extern int intersect(playerent *d, const vec &from, const vec &to, vec *end = NULL);
|
||||
extern bool intersect(entity *e, const vec &from, const vec &to, vec *end = NULL);
|
||||
// Structure for storing traceresults
|
||||
struct traceresult_s
|
||||
{
|
||||
vec end;
|
||||
bool collided;
|
||||
};
|
||||
void TraceLine(vec from, vec to, dynent *pTracer, bool CheckPlayers, traceresult_s *tr, bool SkipTags=false);
|
||||
extern void damageeffect(int damage, playerent *d);
|
||||
extern void tryreload(playerent *p);
|
||||
extern void checkakimbo();
|
||||
|
||||
+11
-7
@@ -1193,9 +1193,11 @@ bool gun::attack(vec &targ)
|
||||
|
||||
void gun::attackfx(const vec &from, const vec &to, int millis)
|
||||
{
|
||||
addbullethole(owner, from, to);
|
||||
addshotline(owner, from, to);
|
||||
particle_splash(0, 5, 250, to);
|
||||
traceresult_s tr;
|
||||
TraceLine(from, to, owner, true, &tr);
|
||||
addbullethole(owner, from, tr.end);
|
||||
addshotline(owner, from, tr.end);
|
||||
particle_splash(0, 5, 250, tr.end);
|
||||
adddynlight(owner, from, 4, 100, 50, 96, 80, 64);
|
||||
attacksound();
|
||||
}
|
||||
@@ -1251,10 +1253,12 @@ sniperrifle::sniperrifle(playerent *owner) : gun(owner, GUN_SNIPER), scoped(fals
|
||||
|
||||
void sniperrifle::attackfx(const vec &from, const vec &to, int millis)
|
||||
{
|
||||
addbullethole(owner, from, to);
|
||||
addshotline(owner, from, to);
|
||||
particle_splash(0, 50, 200, to);
|
||||
particle_trail(1, 500, from, to);
|
||||
traceresult_s tr;
|
||||
TraceLine(from, to, owner, true, &tr);
|
||||
addbullethole(owner, from, tr.end);
|
||||
addshotline(owner, from, tr.end);
|
||||
particle_splash(0, 50, 200, tr.end);
|
||||
particle_trail(1, 500, from, tr.end);
|
||||
adddynlight(owner, from, 4, 100, 50, 96, 80, 64);
|
||||
attacksound();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user