WIP stuff.

- Add ice death frames to Doomreal players.
- Fix invisibility not reactivating on map transition.
- Fix a certain option not graying out when prototype features were disabled.
- Remove Doom Tournament spawner file as it will be used in the merge add-on.
- Fix various weapons not respecting infinite ammo cheats/powerups.
- Add HUD icons for the Razorclaw.
- Add sanity checks to Minigun sentry for potential cases where it dies while shooting and this causes an abort.
- Fix Biorifle altfire damage here too.
- When UT splash is disabled, Biorifle globs increase in size by 1.4x on impact, as originally intended.
- Eightball no longer loads a rocket after being selected and instead tweens to idle, like in the original.
- Flak Cannon altfire has a slower reload, as it was meant to.
- Adjust "give armor" cheat so it plays nicely with the merge add-on.
- Fix 0.83 hud playing the "new weapon" flash for all players.
- Made the 0.83 icon assignments moddable through external lists.
- HUD will still display a weapon icon even if it uses no ammo (e.g.: Razorclaw).
This commit is contained in:
Marisa the Magician 2019-11-27 21:37:22 +01:00
commit 43f18514c2
38 changed files with 325 additions and 343 deletions

View file

@ -1493,6 +1493,7 @@ Class SentryItem : UnrealInventory
r.target = target;
r.tracer = tracer;
r.bDropped = bDropped;
r.bNeverRespawn = bNeverRespawn;
}
Destroy();
}
@ -1724,7 +1725,7 @@ Class MinigunSentry : Actor
}
bool TargetVisible()
{
if ( !target || (target.Health <= 0) || !CheckSight(target) ) return false;
if ( !master || !target || (target.Health <= 0) || !CheckSight(target) ) return false;
double angledelta = DeltaAngle(master.angle,AngleTo(target));
double pitchdelta = DeltaAngle(master.pitch,_PitchTo(target));
if ( (abs(angledelta) > maxangle) || (abs(pitchdelta) > maxpitch) ) return false;
@ -1742,6 +1743,7 @@ Class MinigunSentry : Actor
}
void A_SentryFaceDir( double dest, statelabel next )
{
if ( !master ) return;
double angledelta = DeltaAngle(angle,master.angle+dest);
double pitchdelta = DeltaAngle(pitch,master.pitch);
if ( max(abs(angledelta),abs(pitchdelta)) < 2 )
@ -1756,6 +1758,7 @@ Class MinigunSentry : Actor
}
void A_SentryAttack()
{
if ( !master ) return;
master.special1 = special1 = max(0,special1-1);
if ( (special1 <= 0) && master.master && master.master.CheckLocalView() ) Console.Printf(StringTable.Localize("$M_SENTRYDRY"));
A_SentryFaceTarget();
@ -1817,7 +1820,7 @@ Class MinigunSentry : Actor
SENT A 0
{
A_PlaySound("sentry/raise");
master.A_AlertMonsters(0,AMF_TARGETEMITTER);
if ( master ) master.A_AlertMonsters(0,AMF_TARGETEMITTER);
}
SENR ABCDEFGHIJKLMNO 3;
Goto Idle;
@ -1863,8 +1866,11 @@ Class MinigunSentry : Actor
SENW A 0
{
A_PlaySound("sentry/wind",looping:true);
master.A_AlertMonsters(0,AMF_TARGETEMITTER);
master.SetStateLabel("Missile");
if ( master )
{
master.A_AlertMonsters(0,AMF_TARGETEMITTER);
master.SetStateLabel("Missile");
}
}
SENW ABCDEFGHIJKLMNOPQR 1 A_SentryFaceTarget();
Goto MissileLoop;
@ -1902,7 +1908,7 @@ Class MinigunSentry : Actor
A_LookEx(LOF_NOSOUNDCHECK|LOF_NOJUMP);
if ( TargetVisible() && (special1>0) ) return ResolveState("MissileLoop");
A_PlaySound("sentry/unwind");
master.SetStateLabel("MissileEnd");
if ( master ) master.SetStateLabel("MissileEnd");
return ResolveState(null);
}
SENU ABCDEFGHIJKLMNOPQR 1 A_SentryFaceTarget();
@ -1914,8 +1920,11 @@ Class MinigunSentry : Actor
SENI A 0
{
A_PlaySound("sentry/raise");
master.A_AlertMonsters(0,AMF_TARGETEMITTER);
master.SetStateLabel("DoPackUp");
if ( master )
{
master.A_AlertMonsters(0,AMF_TARGETEMITTER);
master.SetStateLabel("DoPackUp");
}
}
SENR ONMLKJIHGFEDCBA 3;
Stop;