- Fix Dispersion Pistol altfire not ending early when releasing the button.
- Dispersion Pistol now changes fire speed based on upgrade level, as intended.
- Reduced Razorclaw twiddle animation frequency, it was getting annoying.
- Impaler altfire now doesn't work underwater, as intended.
- Impaler crystals deal less damage when underwater.
- Impaler no longer loses charge underwater while the crystal is unloaded.
- Impaler beam no longer homes in onto friendlies.
- Fixed missing Impaler melee obituary.
- Flamegun disallows firing while underwater, to prevent wasting ammo uselessly.
- Flares and Seeds can be stacked until int.max (give cheats and whatnot are still capped at 20 though).
- Fixed Minigun not displaying the bullet box ammo icon in the 0.83 hud.
- Fixed mouse input in the main menu at high resolutions (wasn't accounting for scaling, oops).
- Added "<item> selected." messages. Dunno if DT will need this too.
- Light Sentry now uses the more reliable native IsHostile() function to detect targets.
- [flak_m] Added "<weapon> has no ammo." messages.
This commit is contained in:
Marisa the Magician 2019-09-29 17:21:32 +02:00
commit a54f1495c7
12 changed files with 117 additions and 64 deletions

View file

@ -482,6 +482,7 @@ Class Flare : UnrealInventory
Inventory.PickupMessage "$I_FLARES";
Inventory.Icon "I_Flare";
Inventory.MaxAmount 20;
+UNREALINVENTORY.UNLIMITEDCOPIES;
}
override bool Use( bool pickup )
{
@ -2160,9 +2161,9 @@ Class MinigunSentryBase : Actor
{
if ( !user.player || !InStateSequence(CurState,FindState("Idle")) ) return false;
if ( abs(DeltaAngle(angle,AngleTo(user))) < 120 ) return false;
if ( deathmatch || !master )
if ( !master || ((user != master) && master.IsHostile(user)) )
{
if ( master && (user != master) && master.CheckLocalView() )
if ( master && master.CheckLocalView() )
Console.Printf(StringTable.Localize("$M_SENTRYHIJACK"));
if ( SentryItem.TransferOwnership(user,self) )
return false; // on first touch only transfer ownership
@ -2404,8 +2405,7 @@ Class SentryGun : Actor
bool IsEnemy( Actor a )
{
if ( !a || !a.bSHOOTABLE || !a.bISMONSTER || (a.Health <= 0) ) return false;
if ( deathmatch ) return ((a != master) && (a.master != master));
return (!bFRIENDLY || (!a.bFRIENDLY && !a.player));
return IsHostile(a);
}
bool HasTarget()
{