mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-01-31 04:50:48 +00:00
- after looking at the most recent Vavoom update I realized that A_FastChase should not
use the multi-purpose special2 as counter for strafing so I added a new variable for this purpose. - forgot to save p_lnspec.cpp before last commut. SVN r574 (trunk)
This commit is contained in:
parent
0c5731223c
commit
aeee07218c
5 changed files with 14 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
November 28, 2007 (Changes by Graf Zahl)
|
||||||
|
- after looking at the most recent Vavoom update I realized that A_FastChase should not
|
||||||
|
use the multi-purpose special2 as counter for strafing so I added a new variable
|
||||||
|
for this purpose.
|
||||||
|
|
||||||
November 24, 2007 (Changes by Graf Zahl)
|
November 24, 2007 (Changes by Graf Zahl)
|
||||||
- added Floor_MoveToValue and Ceiling_MoveToValue action specials.
|
- added Floor_MoveToValue and Ceiling_MoveToValue action specials.
|
||||||
|
|
||||||
|
|
|
@ -692,6 +692,7 @@ public:
|
||||||
fixed_t bouncefactor; // Strife's grenades use 50%, Hexen's Flechettes 70.
|
fixed_t bouncefactor; // Strife's grenades use 50%, Hexen's Flechettes 70.
|
||||||
int bouncecount; // Strife's grenades only bounce twice before exploding
|
int bouncecount; // Strife's grenades only bounce twice before exploding
|
||||||
fixed_t gravity; // [GRB] Gravity factor
|
fixed_t gravity; // [GRB] Gravity factor
|
||||||
|
int FastChaseStrafeCount;
|
||||||
|
|
||||||
// a linked list of sectors where this object appears
|
// a linked list of sectors where this object appears
|
||||||
struct msecnode_s *touching_sectorlist; // phares 3/14/98
|
struct msecnode_s *touching_sectorlist; // phares 3/14/98
|
||||||
|
|
|
@ -1963,13 +1963,13 @@ void A_DoChase (AActor *actor, bool fastchase, FState *meleestate, FState *missi
|
||||||
|
|
||||||
if (fastchase && !dontmove)
|
if (fastchase && !dontmove)
|
||||||
{
|
{
|
||||||
if (actor->special2 > 0)
|
if (actor->FastChaseStrafeCount > 0)
|
||||||
{
|
{
|
||||||
actor->special2--;
|
actor->FastChaseStrafeCount--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
actor->special2 = 0;
|
actor->FastChaseStrafeCount = 0;
|
||||||
actor->momx = 0;
|
actor->momx = 0;
|
||||||
actor->momy = 0;
|
actor->momy = 0;
|
||||||
fixed_t dist = P_AproxDistance (actor->x - actor->target->x, actor->y - actor->target->y);
|
fixed_t dist = P_AproxDistance (actor->x - actor->target->x, actor->y - actor->target->y);
|
||||||
|
@ -1982,7 +1982,7 @@ void A_DoChase (AActor *actor, bool fastchase, FState *meleestate, FState *missi
|
||||||
else ang -= ANGLE_90;
|
else ang -= ANGLE_90;
|
||||||
actor->momx = 13 * finecosine[ang>>ANGLETOFINESHIFT];
|
actor->momx = 13 * finecosine[ang>>ANGLETOFINESHIFT];
|
||||||
actor->momy = 13 * finesine[ang>>ANGLETOFINESHIFT];
|
actor->momy = 13 * finesine[ang>>ANGLETOFINESHIFT];
|
||||||
actor->special2 = 3; // strafe time
|
actor->FastChaseStrafeCount = 3; // strafe time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2056,7 +2056,7 @@ void A_DoChase (AActor *actor, bool fastchase, FState *meleestate, FState *missi
|
||||||
//
|
//
|
||||||
|
|
||||||
// class bosses don't do this when strafing
|
// class bosses don't do this when strafing
|
||||||
if ((!fastchase || !actor->special2) && !dontmove)
|
if ((!fastchase || !actor->FastChaseStrafeCount) && !dontmove)
|
||||||
{
|
{
|
||||||
// CANTLEAVEFLOORPIC handling was completely missing in the non-serpent functions.
|
// CANTLEAVEFLOORPIC handling was completely missing in the non-serpent functions.
|
||||||
fixed_t oldX = actor->x;
|
fixed_t oldX = actor->x;
|
||||||
|
|
|
@ -2798,7 +2798,7 @@ lnSpecFunc LineSpecials[256] =
|
||||||
LS_ClearForceField,
|
LS_ClearForceField,
|
||||||
LS_Floor_RaiseByValueTimes8,
|
LS_Floor_RaiseByValueTimes8,
|
||||||
LS_Floor_LowerByValueTimes8,
|
LS_Floor_LowerByValueTimes8,
|
||||||
LS_Floor_MoveToValue
|
LS_Floor_MoveToValue,
|
||||||
LS_Ceiling_Waggle,
|
LS_Ceiling_Waggle,
|
||||||
LS_Teleport_ZombieChanger,
|
LS_Teleport_ZombieChanger,
|
||||||
LS_Ceiling_LowerByValue,
|
LS_Ceiling_LowerByValue,
|
||||||
|
|
|
@ -315,7 +315,8 @@ void AActor::Serialize (FArchive &arc)
|
||||||
<< meleethreshold
|
<< meleethreshold
|
||||||
<< meleerange
|
<< meleerange
|
||||||
<< DamageType
|
<< DamageType
|
||||||
<< gravity;
|
<< gravity
|
||||||
|
<< FastChaseStrafeCount;
|
||||||
|
|
||||||
if (arc.IsStoring ())
|
if (arc.IsStoring ())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue