* 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->MissileState && pr_m_refire() < 160)
@ -167,7 +170,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_M_Refire)
self->SetState (self->state + 1);
return;
}
if ((self->MissileState == NULL && !self->CheckMeleeRange ()) ||
if (((ignoremissile || self->MissileState == NULL) && !self->CheckMeleeRange ()) ||
!P_CheckSight (self, self->target) ||
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
// updaterevision tool. Do not edit by hand.
#define ZD_SVN_REVISION_STRING "4019"
#define ZD_SVN_REVISION_NUMBER 4019
#define ZD_SVN_REVISION_STRING "4023"
#define ZD_SVN_REVISION_NUMBER 4023

View file

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