1.0.5 hotfix 1:

- Various fixes for the Combined Patch.
 - Some safeguards for force field and sentries so they don't bug the hell out if receiving crushing or ice damage.
This commit is contained in:
Marisa the Magician 2019-12-03 18:21:36 +01:00
commit b8ab28175a
14 changed files with 111 additions and 56 deletions

View file

@ -391,8 +391,8 @@ Class ASMDBall : Actor
r.angle = atan2(HitNormal.y,HitNormal.x);
r.pitch = asin(-HitNormal.z);
r.scale *= 1.5;
A_PlaySound("shock/hit",CHAN_VOICE);
A_PlaySound("shock/ball",CHAN_WEAPON,pitch:FRandom[ASMD](0.5,1.5));
A_PlaySound("asmd/hit",CHAN_VOICE);
A_PlaySound("asmd/ball",CHAN_WEAPON,pitch:FRandom[ASMD](0.5,1.5));
A_QuakeEx(4,4,4,30,0,200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:70,rollIntensity:0.15);
A_AlertMonsters();
int numpt = Random[ASMD](50,100);
@ -581,7 +581,7 @@ Class ASMDBeam : Actor
let r = Spawn("ASMDBlastRing",b.pos);
r.angle = atan2(t.Results.HitVector.y,t.Results.HitVector.x);
r.pitch = asin(-t.Results.HitVector.z);
A_PlaySound("shock/blast",CHAN_WEAPON,attenuation:0.5,pitch:0.6);
A_PlaySound("asmd/blast",CHAN_WEAPON,attenuation:0.5,pitch:0.6);
int numpt = Random[ASMD](200,300);
for ( int i=0; i<numpt; i++ )
{
@ -649,7 +649,7 @@ Class ASMDBeam : Actor
Spawn("ASMDBeamLight",pos);
}
A_QuakeEx(2,2,2,5,0,120,"",QF_RELATIVE|QF_SCALEDOWN,falloff:60,rollIntensity:0.1);
A_PlaySound("shock/hit",CHAN_VOICE);
A_PlaySound("asmd/hit",CHAN_VOICE);
A_AlertMonsters();
int numpt = Random[ASMD](20,50);
for ( int i=0; i<numpt; i++ )
@ -681,7 +681,7 @@ Class ASMD : UnrealWeapon
if ( !weap ) return;
if ( weap.Ammo1.Amount <= 0 ) return;
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
A_PlaySound("shock/fire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_PlaySound("asmd/fire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
invoker.FireEffect();
A_Overlay(PSP_FLASH,"Flash");
A_OverlayFlags(PSP_FLASH,PSPF_RenderStyle,true);
@ -712,7 +712,7 @@ Class ASMD : UnrealWeapon
if ( !weap ) return;
if ( weap.Ammo1.Amount <= 0 ) return;
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
A_PlaySound("shock/altfire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_PlaySound("asmd/altfire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
double mult = Amplifier.GetMult(self,80);
invoker.FireEffect();
A_Overlay(PSP_FLASH,"Flash");
@ -744,7 +744,7 @@ Class ASMD : UnrealWeapon
{
Tag "$T_ASMD";
Inventory.PickupMessage "$I_ASMD";
Weapon.UpSound "shock/select";
Weapon.UpSound "asmd/select";
Weapon.SlotNumber 4;
Weapon.SelectionOrder 2000;
Weapon.SlotPriority 1;

View file

@ -17,6 +17,10 @@ Class UClip : UMiniAmmo
Class UCasing : UTCasing
{
Default
{
BounceSound "automag/casing";
}
}
Class AutomagMag : EnforcerMag

View file

@ -1,8 +1,16 @@
Class BCasing : UTCasing
{
Default
{
BounceSound "automag/casing";
}
}
Class BCasing2 : UTCasing
{
Default
{
BounceSound "automag/casing";
}
}
Class Betamag : UnrealWeapon

View file

@ -358,13 +358,13 @@ Class VoiceBoxActive : Actor
static const String BattleSounds[] =
{
"automag/shot",
"utrl/explode",
"eightball/explode",
"automag/shot",
"automag/shot",
"flak/altfire",
"utrl/explode",
"flak/fire",
"shock/fire",
"uflak/altfire",
"eightball/explode",
"uflak/fire",
"asmd/fire",
"stinger/hit2",
"automag/shot"
};
@ -1215,6 +1215,7 @@ Class ForcefieldEffect : Actor
+SOLID;
+NODAMAGE;
+NOBLOOD;
+DONTGIB;
Mass int.max;
Health int.max;
Radius 15;
@ -2115,6 +2116,8 @@ Class MinigunSentryBase : Actor
+SHOOTABLE;
+NOBLOOD;
+DONTTHRUST;
+NOICEDEATH;
+DONTGIB;
}
override void PostBeginPlay()
{
@ -2409,6 +2412,8 @@ Class SentryGun : Actor
+NOBLOOD;
+DONTTHRUST;
+FRIENDLY;
+NOICEDEATH;
+DONTGIB;
}
override void PostBeginPlay()
{

View file

@ -128,7 +128,7 @@ Class PeaceRocket : Actor
UTMainHandler.DoBlast(self,200,70000);
A_Explode(100,200);
A_QuakeEx(3,3,3,8,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:200,rollIntensity:0.2);
A_PlaySound("utrl/explode",CHAN_VOICE);
A_PlaySound("eightball/explode",CHAN_VOICE);
A_AlertMonsters();
Spawn("RocketExplLight",pos);
int numpt = Random[Peace](15,30);
@ -230,7 +230,7 @@ Class PeaceBarrel : Actor
}
action void A_FireRocket( int n )
{
A_PlaySound("flak/altfire",CHAN_AUTO);
A_PlaySound("uflak/altfire",CHAN_AUTO);
A_AlertMonsters();
Vector3 x, y, z;
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
@ -275,7 +275,7 @@ Class PeaceBarrel : Actor
A_SetScale(bAMBUSH?1.8:1.2);
A_Explode(bAMBUSH?500:125,bAMBUSH?200:100);
A_PlaySound("sentry/explode",CHAN_BODY,pitch:0.6);
A_PlaySound("utrl/explode",CHAN_VOICE,pitch:0.8);
A_PlaySound("eightball/explode",CHAN_VOICE,pitch:0.8);
A_AlertMonsters();
A_QuakeEx(4,4,4,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:0.2);
UTMainHandler.DoBlast(self,bAMBUSH?200:100,50000);
@ -356,7 +356,7 @@ Class PeaceBarrel : Actor
PEAM A 4 A_AlignSelf();
PEAM A 35
{
A_PlaySound((special1<=0)?"utrl/seeklost":"utrl/seeklock",CHAN_AUTO);
A_PlaySound((special1<=0)?"eightball/seeklost":"eightball/seeklock",CHAN_AUTO);
A_AlertMonsters();
return A_JumpIf(--special1<0,1);
}
@ -384,14 +384,14 @@ Class PeaceBarrel : Actor
A_PlaySound("transloc/bounce",CHAN_AUTO,.8,pitch:FRandom[Peace](0.8,1.2));
A_PlaySound("transloc/bounce",CHAN_AUTO,.5,pitch:FRandom[Peace](0.8,1.2));
}
PEAM K 3 A_PlaySound("utrl/rotate",CHAN_AUTO,.1);
PEAM K 3 A_PlaySound("eightball/rotate",CHAN_AUTO,.1);
PEAM L 3 A_PlaySound("transloc/bounce",CHAN_AUTO,.5,pitch:FRandom[Peace](0.8,1.2));
PEAM M 3;
PEAM N 3 A_PlaySound("utrl/rotate",CHAN_AUTO,.1);
PEAM N 3 A_PlaySound("eightball/rotate",CHAN_AUTO,.1);
PEAM OPQ 3;
PEAM R 3 A_PlaySound("utrl/rotate",CHAN_AUTO,.1);
PEAM R 3 A_PlaySound("eightball/rotate",CHAN_AUTO,.1);
PEAM STU 3;
PEAM V 3 A_PlaySound("utrl/rotate",CHAN_AUTO,.1);
PEAM V 3 A_PlaySound("eightball/rotate",CHAN_AUTO,.1);
PEAM XYZ[\] 3;
PEAM ] 35;
PEAM ] 0 A_FireRocket(0);

View file

@ -58,9 +58,9 @@ Class RazorBlade : Actor
if ( special1 > 0 )
{
vel *= 1.+.06+special1;
A_PlaySound("ripper/hum",CHAN_VOICE,1.0,true,3.0,pitch:3.125+special1*.2);
A_PlaySound("razorjack/hum",CHAN_VOICE,1.0,true,3.0,pitch:3.125+special1*.2);
}
else A_PlaySound("ripper/hum",CHAN_VOICE,1.0,true,3.0,pitch:3.125);
else A_PlaySound("razorjack/hum",CHAN_VOICE,1.0,true,3.0,pitch:3.125);
Vector3 dir = vel.unit();
A_SetAngle(atan2(dir.y,dir.x));
A_SetPitch(asin(-dir.z));
@ -79,7 +79,7 @@ Class RazorBlade : Actor
if ( !target.bNOBLOOD )
{
target.SpawnBlood(pos,AngleTo(target),damage);
A_PlaySound("ripper/flesh");
A_PlaySound("razorjack/flesh");
A_AlertMonsters();
}
UTMainHandler.DoKnockback(target,vel.unit(),15000);
@ -120,7 +120,7 @@ Class RazorBlade : Actor
}
action void A_RazorHit()
{
A_PlaySound("ripper/hit");
A_PlaySound("razorjack/hit");
A_AlertMonsters();
A_SprayDecal("WallCrack",-20);
int numpt = Random[Ripper](5,10);
@ -240,7 +240,7 @@ Class Razorjack : UnrealWeapon
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
if ( self is 'UTPlayer' )
UTPlayer(self).PlayAttacking3();
A_PlaySound("ripper/fire",CHAN_WEAPON,pitch:bAlt?1.:(1.+invoker.special1*.1));
A_PlaySound("razorjack/fire",CHAN_WEAPON,pitch:bAlt?1.:(1.+invoker.special1*.1));
invoker.FireEffect();
UTMainHandler.DoFlash(self,Color(16,255,0,255),1);
A_AlertMonsters();
@ -269,7 +269,7 @@ Class Razorjack : UnrealWeapon
{
Tag "$T_RAZORJACK";
Inventory.PickupMessage "$I_RAZORJACK";
Weapon.UpSound "ripper/select";
Weapon.UpSound "razorjack/select";
Weapon.SlotNumber 7;
Weapon.SelectionOrder 1500;
Weapon.SlotPriority 1;

View file

@ -225,7 +225,7 @@ Class URifle : UnrealWeapon
Tag "$T_RIFLE";
Obituary "$O_SNIPER";
Inventory.PickupMessage "$I_RIFLE";
Weapon.UpSound "sniper/select";
Weapon.UpSound "rifle/select";
Weapon.SlotNumber 9;
Weapon.SelectionOrder 900;
Weapon.SlotPriority 1;

View file

@ -128,7 +128,7 @@ Class URocket : Actor
UTMainHandler.DoBlast(self,rad,80000);
A_Explode(dmg,rad);
A_QuakeEx(3,3,3,8,0,rad+50,"",QF_RELATIVE|QF_SCALEDOWN,falloff:rad,rollIntensity:0.2);
A_PlaySound("utrl/explode",CHAN_VOICE);
A_PlaySound("eightball/explode",CHAN_VOICE);
A_AlertMonsters();
Spawn("RocketExplLight",pos);
int numpt = Random[Eightball](15,30);
@ -363,7 +363,7 @@ Class Eightball : UnrealWeapon
LockedOn = false;
if ( Owner.player.ReadyWeapon == self )
{
Owner.A_PlaySound("utrl/seeklost",CHAN_WEAPON,Dampener.Active(Owner)?.1:1.);
Owner.A_PlaySound("eightball/seeklost",CHAN_WEAPON,Dampener.Active(Owner)?.1:1.);
if ( !Dampener.Active(Owner) ) Owner.A_AlertMonsters();
}
}
@ -405,12 +405,12 @@ Class Eightball : UnrealWeapon
invoker.special1 = 0;
if ( weap.bAltFire )
{
A_PlaySound("utrl/altfire",CHAN_WEAPON,Dampener.Active(self)?.3:3.);
A_PlaySound("eightball/altfire",CHAN_WEAPON,Dampener.Active(self)?.3:3.);
if ( !Dampener.Active(self) ) A_AlertMonsters();
}
else
{
A_PlaySound("utrl/fire",CHAN_WEAPON);
A_PlaySound("eightball/fire",CHAN_WEAPON);
A_AlertMonsters();
}
invoker.FireEffect();
@ -481,7 +481,7 @@ Class Eightball : UnrealWeapon
}
}
// lose lock-on
if ( invoker.LockedOn ) A_PlaySound("utrl/seeklost",CHAN_6);
if ( invoker.LockedOn ) A_PlaySound("eightball/seeklost",CHAN_6);
invoker.LockedTarget = null;
invoker.LockedOn = false;
for ( int i=0; i<12; i++ )
@ -518,12 +518,12 @@ Class Eightball : UnrealWeapon
}
if ( invoker.LockedTarget )
{
A_PlaySound("utrl/seeklock",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
A_PlaySound("eightball/seeklock",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
if ( !Dampener.Active(self) ) A_AlertMonsters();
}
else if ( invoker.LockedOn )
{
A_PlaySound("utrl/seeklost",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
A_PlaySound("eightball/seeklost",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
if ( !Dampener.Active(self) ) A_AlertMonsters();
}
if ( invoker.LockedTarget ) invoker.LockedOn = true;
@ -533,7 +533,7 @@ Class Eightball : UnrealWeapon
{
Tag "$T_EIGHTBALL";
Inventory.PickupMessage "$I_EIGHTBALL";
Weapon.UpSound "utrl/select";
Weapon.UpSound "eightball/select";
Weapon.SlotNumber 5;
Weapon.SelectionOrder 1000;
Weapon.SlotPriority 1;
@ -560,9 +560,9 @@ Class Eightball : UnrealWeapon
Goto Idle+1;
Ready2:
EBLS O 0 A_CheckReload();
EBLL A 0 A_PlaySound("utrl/load",CHAN_6,Dampener.Active(self)?.1:1.);
EBLL A 0 A_PlaySound("eightball/load",CHAN_6,Dampener.Active(self)?.1:1.);
EBLL ABCDEFGHIJK 1 A_WeaponReady(WRF_NOFIRE);
EBLL L 0 A_PlaySound("utrl/rotate",CHAN_ITEM,Dampener.Active(self)?.01:.1);
EBLL L 0 A_PlaySound("eightball/rotate",CHAN_ITEM,Dampener.Active(self)?.01:.1);
EBLL LMNOPQRSTUVWXYZ[ 1 A_WeaponReady(WRF_NOFIRE);
EBLL Z 0; // force no tweening
EBLI A 0;
@ -595,7 +595,7 @@ Class Eightball : UnrealWeapon
#### # 5
{
A_Overlay(-9999,"Null");
A_PlaySound("utrl/load",CHAN_WEAPON,Dampener.Active(self)?.03:.3);
A_PlaySound("eightball/load",CHAN_WEAPON,Dampener.Active(self)?.03:.3);
if ( invoker.bSingleRocket = !invoker.bSingleRocket )
A_Print(StringTable.Localize("$M_SINGLEROCKETON"));
else A_Print(StringTable.Localize("$M_SINGLEROCKETOFF"));
@ -621,10 +621,10 @@ Class Eightball : UnrealWeapon
Goto Release;
Loading:
EBLI A 0;
EBLL A 0 A_PlaySound("utrl/load",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
EBLL A 0 A_PlaySound("eightball/load",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
EBLL ABCDEFGHIJK 1;
EBLL L 0 A_LoadRocket();
EBLL L 0 A_PlaySound("utrl/rotate",CHAN_ITEM,Dampener.Active(self)?.01:.1);
EBLL L 0 A_PlaySound("eightball/rotate",CHAN_ITEM,Dampener.Active(self)?.01:.1);
EBLL LMNOPQRSTUVWXYZ[ 1;
EBLL Z 0;
EBLI A 0;

View file

@ -121,7 +121,7 @@ Class UFlakSlug : FlakSlug
UTMainHandler.DoBlast(self,120,75000);
A_Explode(70,120);
A_QuakeEx(4,4,4,8,0,170,"",QF_RELATIVE|QF_SCALEDOWN,falloff:120,rollIntensity:0.2);
A_PlaySound("flak/explode",CHAN_VOICE);
A_PlaySound("uflak/explode",CHAN_VOICE);
A_AlertMonsters();
if ( !Tracer ) Spawn("SlugSmoke",pos);
Spawn("SlugLight",pos);
@ -184,8 +184,8 @@ Class UFlakCannon : UnrealWeapon
{
action void A_Loading( bool first = false )
{
if ( first ) A_PlaySound("flak/load",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
else A_PlaySound("flak/reload",CHAN_6,Dampener.Active(self)?.06:.6);
if ( first ) A_PlaySound("uflak/load",CHAN_WEAPON,Dampener.Active(self)?.1:1.);
else A_PlaySound("uflak/reload",CHAN_6,Dampener.Active(self)?.06:.6);
}
action void A_FireChunks()
{
@ -193,7 +193,7 @@ Class UFlakCannon : UnrealWeapon
if ( !weap ) return;
if ( weap.Ammo1.Amount <= 0 ) return;
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
A_PlaySound("flak/fire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_PlaySound("uflak/fire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_Overlay(PSP_FLASH,"Flash");
A_OverlayFlags(PSP_FLASH,PSPF_RenderStyle,true);
A_OverlayRenderstyle(PSP_FLASH,STYLE_Add);
@ -252,7 +252,7 @@ Class UFlakCannon : UnrealWeapon
if ( !weap ) return;
if ( weap.Ammo1.Amount <= 0 ) return;
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
A_PlaySound("flak/altfire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_PlaySound("uflak/altfire",CHAN_WEAPON,Dampener.Active(self)?.2:1.);
A_Overlay(PSP_FLASH,"Flash");
A_OverlayFlags(PSP_FLASH,PSPF_RenderStyle,true);
A_OverlayRenderstyle(PSP_FLASH,STYLE_Add);
@ -292,7 +292,7 @@ Class UFlakCannon : UnrealWeapon
{
Tag "$T_FLAKCANNON";
Inventory.PickupMessage "$I_FLAKCANNON";
Weapon.UpSound "flak/select";
Weapon.UpSound "uflak/select";
Weapon.SlotNumber 6;
Weapon.SelectionOrder 1100;
Weapon.SlotPriority 1;
@ -342,7 +342,7 @@ Class UFlakCannon : UnrealWeapon
FLKF A 1 A_FireChunks();
FLKF BCDEFGHI 1;
FLKF J 5;
FLKE A 1 A_PlaySound("flak/click",CHAN_6,Dampener.Active(self)?.05:.5);
FLKE A 1 A_PlaySound("uflak/click",CHAN_6,Dampener.Active(self)?.05:.5);
FLKE BCDEFGHIJKLMN 1;
FLKE S 4
{

View file

@ -151,7 +151,7 @@ Class UMinigun : UnrealWeapon
{
Tag "$T_MINIGUN";
Inventory.PickupMessage "$I_MINIGUN";
Weapon.UpSound "minigun/select";
Weapon.UpSound "umini/select";
Weapon.SlotNumber 0;
Weapon.SelectionOrder 500;
Weapon.SlotPriority 1;

View file

@ -18,7 +18,7 @@ Class UInvisibility : UnrealInventory
bActive = !bActive;
if ( bActive )
{
Owner.A_PlaySound("invis/pickup",CHAN_ITEM);
Owner.A_PlaySound("uinvis/toggle",CHAN_ITEM);
Owner.GiveInventory("PowerUInvisibility",1);
}
else Owner.TakeInventory("PowerUInvisibility",1);

View file

@ -70,7 +70,7 @@ Class UTranslocatorModule : Actor
Super.Tick();
if ( bAMBUSH && !Random[Transloc](0,40) )
{
A_PlaySound("transloc/spark");
A_PlaySound("telehand/spark");
int numpt = Random[Transloc](20,40);
for ( int i=0; i<numpt; i++ )
{