* Updated to ZDoom 4023:

- Added bright flags to the scripted marines' BFG and railgun attacks.
- Added a flag to A_M_Refire to ignore the actor's missile state, so the rocket marine will not continue to punch air if it starts attacking while its target is in melee range and then moves out of it.
- Do not use the muzzle flash player sprites for the scripted marines' melee attacks.
- Slow down the scripted marines' rocket attack and speed up the plasma attack to better reflect the speeds of the equivalent player weapons.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1504 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2013-01-06 15:17:09 +00:00
parent fcc18d3cd2
commit bfc35bab40
3 changed files with 19 additions and 14 deletions

View file

@ -153,8 +153,11 @@ void AScriptedMarine::Tick ()
// //
//============================================================================ //============================================================================
DEFINE_ACTION_FUNCTION(AActor, A_M_Refire) DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_M_Refire)
{ {
ACTION_PARAM_START(1);
ACTION_PARAM_BOOL(ignoremissile, 0);
if (self->target == NULL || self->target->health <= 0) if (self->target == NULL || self->target->health <= 0)
{ {
if (self->MissileState && pr_m_refire() < 160) if (self->MissileState && pr_m_refire() < 160)
@ -167,7 +170,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_M_Refire)
self->SetState (self->state + 1); self->SetState (self->state + 1);
return; return;
} }
if ((self->MissileState == NULL && !self->CheckMeleeRange ()) || if (((ignoremissile || self->MissileState == NULL) && !self->CheckMeleeRange ()) ||
!P_CheckSight (self, self->target) || !P_CheckSight (self, self->target) ||
pr_m_refire() < 4) // Small chance of stopping even when target not dead pr_m_refire() < 4) // Small chance of stopping even when target not dead
{ {

View file

@ -3,5 +3,5 @@
// This file was automatically generated by the // This file was automatically generated by the
// updaterevision tool. Do not edit by hand. // updaterevision tool. Do not edit by hand.
#define ZD_SVN_REVISION_STRING "4019" #define ZD_SVN_REVISION_STRING "4023"
#define ZD_SVN_REVISION_NUMBER 4019 #define ZD_SVN_REVISION_NUMBER 4023

View file

@ -18,7 +18,7 @@ ACTOR ScriptedMarine 9100 native
DeathSound "*death" DeathSound "*death"
PainSound "*pain50" PainSound "*pain50"
action native A_M_Refire (); action native A_M_Refire (bool ignoremissile=false);
action native A_M_CheckAttack (); action native A_M_CheckAttack ();
action native A_MarineChase (); action native A_MarineChase ();
action native A_MarineLook (); action native A_MarineLook ();
@ -55,24 +55,24 @@ ACTOR ScriptedMarine 9100 native
Melee.Fist: Melee.Fist:
PLAY E 4 A_FaceTarget PLAY E 4 A_FaceTarget
PLAY F 4 A_M_Punch(1) PLAY E 4 A_M_Punch(1)
PLAY A 9 PLAY A 9
PLAY A 0 A_M_Refire PLAY A 0 A_M_Refire(1)
Loop Loop
PLAY A 5 A_FaceTarget PLAY A 5 A_FaceTarget
Goto See Goto See
Melee.Berserk: Melee.Berserk:
PLAY E 4 A_FaceTarget PLAY E 4 A_FaceTarget
PLAY F 4 A_M_Punch(10) PLAY E 4 A_M_Punch(10)
PLAY A 9 PLAY A 9
PLAY A 0 A_M_Refire PLAY A 0 A_M_Refire(1)
Loop Loop
PLAY A 5 A_FaceTarget PLAY A 5 A_FaceTarget
Goto See Goto See
Melee.Chainsaw: Melee.Chainsaw:
PLAY E 4 A_MarineNoise PLAY E 4 A_MarineNoise
PLAY F 4 BRIGHT A_M_Saw PLAY E 4 A_M_Saw
PLAY F 0 A_M_SawRefire PLAY E 0 A_M_SawRefire
goto Melee.Chainsaw+1 goto Melee.Chainsaw+1
PLAY A 0 PLAY A 0
Goto See Goto See
@ -116,25 +116,27 @@ ACTOR ScriptedMarine 9100 native
Missile.Rocket: Missile.Rocket:
PLAY E 8 PLAY E 8
PLAY F 6 BRIGHT A_M_FireMissile PLAY F 6 BRIGHT A_M_FireMissile
PLAY E 6
PLAY A 0 A_M_Refire PLAY A 0 A_M_Refire
Loop Loop
PLAY A 0 PLAY A 0
Goto See Goto See
Missile.Plasma: Missile.Plasma:
PLAY E 2 A_FaceTarget PLAY E 2 A_FaceTarget
PLAY E 0 A_FaceTarget
PLAY F 3 BRIGHT A_M_FirePlasma PLAY F 3 BRIGHT A_M_FirePlasma
PLAY A 0 A_M_Refire PLAY A 0 A_M_Refire
Loop Goto Missile.Plasma+1
PLAY A 0 PLAY A 0
Goto See Goto See
Missile.Railgun: Missile.Railgun:
PLAY E 4 A_M_CheckAttack PLAY E 4 A_M_CheckAttack
PLAY F 6 A_M_FireRailgun PLAY F 6 BRIGHT A_M_FireRailgun
Goto See Goto See
Missile.BFG: Missile.BFG:
PLAY E 5 A_M_BFGSound PLAY E 5 A_M_BFGSound
PLAY EEEEE 5 A_FaceTarget PLAY EEEEE 5 A_FaceTarget
PLAY F 6 A_M_FireBFG PLAY F 6 BRIGHT A_M_FireBFG
PLAY A 4 A_FaceTarget PLAY A 4 A_FaceTarget
PLAY A 0 A_M_Refire PLAY A 0 A_M_Refire
Loop Loop