1.1.1 update (to be made stable after GZDoom updates):
- Sound overhaul, migrated everything to A_StartSound, new sound channels, CHANF_OVERLAP where needed. - Fancy titlemap (two variants, one based on the ps2 menu, one based on the v222 menu).
This commit is contained in:
parent
da8f6fc4b2
commit
94cba843e4
42 changed files with 272 additions and 179 deletions
|
|
@ -164,7 +164,7 @@ Class UTShieldBelt : UTArmor
|
|||
{
|
||||
if ( (amount > 0) && !DamageTypeDefinition.IgnoreArmor(damageType) )
|
||||
{
|
||||
Owner.A_PlaySound("belt/absorb",CHAN_7);
|
||||
Owner.A_StartSound("belt/absorb",CHAN_POWERUP4,CHANF_OVERLAP);
|
||||
UTMainHandler.DoFlash(Owner,Color(80,255,224,0),5);
|
||||
}
|
||||
Super.AbsorbDamage(damage,damageType,newdamage);
|
||||
|
|
|
|||
|
|
@ -505,7 +505,7 @@ Class BioGel : Actor
|
|||
}
|
||||
b = Spawn("BioHitbox",pos);
|
||||
b.target = self;
|
||||
A_PlaySound("bio/hit");
|
||||
A_StartSound("bio/hit",CHAN_BODY);
|
||||
A_SprayDecal("BioSplat",-172);
|
||||
int numpt = Min(100,int(Scale.x*10))+Random[GES](-5,5);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -538,7 +538,7 @@ Class BioGel : Actor
|
|||
if ( invoker.atline ) invoker.atline.RemoteActivate(target,invoker.atside,SPAC_Impact,pos);
|
||||
UTMainHandler.DoBlast(self,Min(175,int(Scale.x*50)),20000*Scale.x);
|
||||
A_Explode(int(Args[0]*Scale.x),Min(175,int(Scale.x*50)));
|
||||
A_PlaySound("bio/explode",CHAN_VOICE);
|
||||
A_StartSound("bio/explode",CHAN_VOICE);
|
||||
int numpt = Min(300,int(Scale.x*30))+Random[GES](-10,10);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
|
|
@ -704,7 +704,8 @@ Class BioRifle : UTWeapon
|
|||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
}
|
||||
A_PlaySound("bio/fire",CHAN_WEAPON);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("bio/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(48,0,255,0),1);
|
||||
A_AlertMonsters();
|
||||
|
|
@ -749,7 +750,7 @@ Class BioRifle : UTWeapon
|
|||
if ( !weap ) return;
|
||||
invoker.charge = 0;
|
||||
invoker.special1 = 0;
|
||||
A_PlaySound("bio/charge",CHAN_WEAPON);
|
||||
A_StartSound("bio/charge",CHAN_WEAPONMISC);
|
||||
invoker.bCharging = true;
|
||||
}
|
||||
action void A_ChargeUp()
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@ Class UTChainsaw : UTWeapon
|
|||
bool quitout = false;
|
||||
if ( invoker.Ammo1 && (invoker.Ammo1.Amount <= 0) )
|
||||
{
|
||||
A_StopSound(CHAN_6);
|
||||
A_PlaySound("chainsaw/lower",CHAN_WEAPON);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("chainsaw/lower",CHAN_WEAPON);
|
||||
quitout = true;
|
||||
}
|
||||
else if ( !(player.cmd.buttons&BT_ATTACK) ) quitout = true;
|
||||
|
|
@ -218,9 +218,9 @@ Class UTChainsaw : UTWeapon
|
|||
}
|
||||
override void DetachFromOwner()
|
||||
{
|
||||
if ( Owner ) Owner.A_StopSound(CHAN_6);
|
||||
if ( Owner ) Owner.A_StopSound(CHAN_WEAPONMISC);
|
||||
if ( !Ammo1 || (Ammo1.Amount > 0) )
|
||||
A_PlaySound("chainsaw/lower",CHAN_6);
|
||||
A_StartSound("chainsaw/lower",CHAN_WEAPONMISC);
|
||||
Super.DetachFromOwner();
|
||||
}
|
||||
action void A_Vibrate( bool bAlt = false )
|
||||
|
|
@ -287,7 +287,7 @@ Class UTChainsaw : UTWeapon
|
|||
CSWI A 0
|
||||
{
|
||||
if ( !invoker.Ammo1 || (invoker.Ammo1.Amount > 0) )
|
||||
A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
||||
A_StartSound("chainsaw/idle",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
else
|
||||
return ResolveState("DryIdle");
|
||||
return ResolveState(null);
|
||||
|
|
@ -298,8 +298,8 @@ Class UTChainsaw : UTWeapon
|
|||
A_WeaponReady();
|
||||
if ( invoker.Ammo1 && (invoker.Ammo1.Amount <= 0) )
|
||||
{
|
||||
A_StopSound(CHAN_6);
|
||||
A_PlaySound("chainsaw/lower",CHAN_WEAPON);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("chainsaw/lower",CHAN_WEAPON);
|
||||
return ResolveState("DryIdle");
|
||||
}
|
||||
return ResolveState(null);
|
||||
|
|
@ -311,7 +311,7 @@ Class UTChainsaw : UTWeapon
|
|||
A_WeaponReady(WRF_NOFIRE);
|
||||
if ( !invoker.Ammo1 || (invoker.Ammo1.Amount > 0) )
|
||||
{
|
||||
A_PlaySound("chainsaw/select",CHAN_WEAPON);
|
||||
A_StartSound("chainsaw/select",CHAN_WEAPON);
|
||||
return ResolveState("Idle");
|
||||
}
|
||||
else if ( player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK) )
|
||||
|
|
@ -320,7 +320,7 @@ Class UTChainsaw : UTWeapon
|
|||
}
|
||||
Wait;
|
||||
Fire:
|
||||
CSWJ A 1 A_PlaySound("chainsaw/fire",CHAN_6,looping:true);
|
||||
CSWJ A 1 A_StartSound("chainsaw/fire",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
CSWJ BCDEF 1 A_Vibrate();
|
||||
Goto Hold;
|
||||
Hold:
|
||||
|
|
@ -332,7 +332,8 @@ Class UTChainsaw : UTWeapon
|
|||
AltFire:
|
||||
CSWA A 0
|
||||
{
|
||||
A_PlaySound("chainsaw/fire",CHAN_6);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("chainsaw/fire",CHAN_WEAPON);
|
||||
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](-0.8,-1.2),FRandom[Chainsaw](-0.4,-0.7)),0,1,5,SWING_Spring,6,3);
|
||||
}
|
||||
CSWA ABCDE 2 A_Vibrate(true);
|
||||
|
|
@ -347,10 +348,14 @@ Class UTChainsaw : UTWeapon
|
|||
{
|
||||
if ( invoker.Ammo1 && (invoker.Ammo1.Amount <= 0) )
|
||||
{
|
||||
A_StopSound(CHAN_6);
|
||||
A_PlaySound("chainsaw/lower",CHAN_WEAPON);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("chainsaw/lower",CHAN_WEAPON);
|
||||
}
|
||||
else
|
||||
{
|
||||
A_StopSound(CHAN_WEAPON);
|
||||
A_StartSound("chainsaw/idle",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
}
|
||||
else A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
||||
}
|
||||
Goto Ready;
|
||||
AltFireSwipes:
|
||||
|
|
@ -361,7 +366,7 @@ Class UTChainsaw : UTWeapon
|
|||
CSWD A 0
|
||||
{
|
||||
if ( !invoker.Ammo1 || (invoker.Ammo1.Amount > 0) )
|
||||
A_PlaySound("chainsaw/lower",CHAN_6);
|
||||
A_StartSound("chainsaw/lower",CHAN_WEAPONMISC);
|
||||
}
|
||||
CSWD ABCDEF 1;
|
||||
CSWD F 1 A_Lower(int.max);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ Class UTActivatable : Inventory
|
|||
let i = GetDefaultByType(GiveItem);
|
||||
if ( Owner.GiveInventory(GiveItem,i.Amount) )
|
||||
{
|
||||
Owner.A_PlaySound(i.PickupSound,CHAN_ITEM);
|
||||
Owner.A_StartSound(i.PickupSound,CHAN_ITEM);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ Class UTRocket : Actor
|
|||
Super.PostBeginPlay();
|
||||
let l = Spawn("UTRocketTrail",pos);
|
||||
l.target = self;
|
||||
A_PlaySound("utrl/fly",CHAN_VOICE,1.0,true,2.5,pitch:1.5625);
|
||||
A_StartSound("utrl/fly",CHAN_VOICE,CHANF_LOOPING,1.,2.5,1.5625);
|
||||
if ( tracer ) vel *= 0.9;
|
||||
Acceleration = vel.unit()*50;
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@ Class UTRocket : 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_StartSound("utrl/explode",CHAN_VOICE);
|
||||
A_AlertMonsters();
|
||||
Spawn("RocketExplLight",pos);
|
||||
int numpt = Random[Eightball](15,30);
|
||||
|
|
@ -266,7 +266,7 @@ Class UTGrenade : UTRocket
|
|||
RCKT A 0
|
||||
{
|
||||
bHITOWNER = true;
|
||||
A_PlaySound("utrl/bounce");
|
||||
A_StartSound("utrl/bounce",CHAN_BODY);
|
||||
rollvel = FRandom[Eightball](-16,16);
|
||||
pitchvel = FRandom[Eightball](-16,16);
|
||||
anglevel = FRandom[Eightball](-16,16);
|
||||
|
|
@ -321,7 +321,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
LockedTarget = null;
|
||||
LockedOn = false;
|
||||
if ( Owner.player.ReadyWeapon == self )
|
||||
Owner.A_PlaySound("utrl/seeklost",CHAN_WEAPON);
|
||||
Owner.A_StartSound("utrl/seeklost",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
}
|
||||
if ( LockedTarget ) crosshair = 99;
|
||||
else crosshair = 0;
|
||||
|
|
@ -358,8 +358,8 @@ Class UTRocketLauncher : UTWeapon
|
|||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
invoker.special1 = 0;
|
||||
if ( weap.bAltFire ) A_PlaySound("utrl/altfire",CHAN_WEAPON);
|
||||
else A_PlaySound("utrl/fire",CHAN_WEAPON);
|
||||
if ( weap.bAltFire ) A_StartSound("utrl/altfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
else A_StartSound("utrl/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(64,255,0,0),1);
|
||||
if ( self is 'UTPlayer' )
|
||||
|
|
@ -427,7 +427,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
}
|
||||
}
|
||||
// lose lock-on
|
||||
if ( invoker.LockedOn ) A_PlaySound("utrl/seeklost",CHAN_6);
|
||||
if ( invoker.LockedOn ) A_StartSound("utrl/seeklost",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
invoker.LockedTarget = null;
|
||||
invoker.LockedOn = false;
|
||||
for ( int i=0; i<12; i++ )
|
||||
|
|
@ -462,8 +462,8 @@ Class UTRocketLauncher : UTWeapon
|
|||
invoker.LockedTarget = a;
|
||||
}
|
||||
}
|
||||
if ( invoker.LockedTarget ) A_PlaySound("utrl/seeklock",CHAN_WEAPON);
|
||||
else if ( invoker.LockedOn ) A_PlaySound("utrl/seeklost",CHAN_WEAPON);
|
||||
if ( invoker.LockedTarget ) A_StartSound("utrl/seeklock",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
else if ( invoker.LockedOn ) A_StartSound("utrl/seeklost",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
if ( invoker.LockedTarget ) invoker.LockedOn = true;
|
||||
}
|
||||
|
||||
|
|
@ -524,7 +524,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
Reload:
|
||||
EBLI A 5
|
||||
{
|
||||
A_PlaySound("utrl/load",CHAN_6,0.3);
|
||||
A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP,0.3);
|
||||
if ( invoker.bSingleRocket = !invoker.bSingleRocket )
|
||||
A_Print(StringTable.Localize("$M_SINGLEROCKETON"));
|
||||
else A_Print(StringTable.Localize("$M_SINGLEROCKETOFF"));
|
||||
|
|
@ -537,57 +537,57 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBLI A 2 A_JumpIf((!invoker.bAltFire&&invoker.bSingleRocket)||(invoker.Ammo1.Amount<=0)||FireCheck(),"FireOne");
|
||||
EBLI A 0; // no tween
|
||||
// load two
|
||||
EBR1 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
||||
EBR1 A 0 A_StartSound("utrl/rotate",CHAN_WEAPONMISC,CHANF_OVERLAP,0.1);
|
||||
EBR1 ABCDEFG 2 A_JumpIf(FireCheck(),"FireOne");
|
||||
EBL2 A 0 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL2 ABCDEFG 3 A_JumpIf(FireCheck(),"FireOne");
|
||||
EBL2 A 0 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL2 ABCDEFG 2 A_JumpIf(FireCheck(),"FireOne");
|
||||
EBR2 A 0
|
||||
{
|
||||
A_LoadRocket();
|
||||
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireTwo");
|
||||
}
|
||||
// load three
|
||||
EBR2 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
||||
EBR2 A 0 A_StartSound("utrl/rotate",CHAN_WEAPONMISC,CHANF_OVERLAP,0.1);
|
||||
EBR2 ABCDEFG 2 A_JumpIf(FireCheck(),"FireTwo");
|
||||
EBL3 A 0 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL3 ABCDEFG 3 A_JumpIf(FireCheck(),"FireTwo");
|
||||
EBL3 A 0 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL3 ABCDEFG 2 A_JumpIf(FireCheck(),"FireTwo");
|
||||
EBR3 A 0
|
||||
{
|
||||
A_LoadRocket();
|
||||
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireThree");
|
||||
}
|
||||
// load four
|
||||
EBR3 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
||||
EBR3 A 0 A_StartSound("utrl/rotate",CHAN_WEAPONMISC,CHANF_OVERLAP,0.1);
|
||||
EBR3 ABCDEFG 2 A_JumpIf(FireCheck(),"FireThree");
|
||||
EBL4 A 0 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL4 ABCDEFG 3 A_JumpIf(FireCheck(),"FireThree");
|
||||
EBL4 A 0 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL4 ABCDEFG 2 A_JumpIf(FireCheck(),"FireThree");
|
||||
EBR4 A 0
|
||||
{
|
||||
A_LoadRocket();
|
||||
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireFour");
|
||||
}
|
||||
// load five
|
||||
EBR4 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
||||
EBR4 A 0 A_StartSound("utrl/rotate",CHAN_WEAPONMISC,CHANF_OVERLAP,0.1);
|
||||
EBR4 ABCDEFG 2 A_JumpIf(FireCheck(),"FireFour");
|
||||
EBL5 A 0 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL5 ABCDEFG 3 A_JumpIf(FireCheck(),"FireFour");
|
||||
EBL5 A 0 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL5 ABCDEFG 2 A_JumpIf(FireCheck(),"FireFour");
|
||||
EBR5 A 0
|
||||
{
|
||||
A_LoadRocket();
|
||||
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireFive");
|
||||
}
|
||||
// load six
|
||||
EBR5 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
||||
EBR5 A 0 A_StartSound("utrl/rotate",CHAN_WEAPONMISC,CHANF_OVERLAP,0.1);
|
||||
EBR5 ABCDEFG 2 A_JumpIf(FireCheck(),"FireFive");
|
||||
EBL6 A 0 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL6 ABCDEF 3 A_JumpIf(FireCheck(),"FireFive");
|
||||
EBL6 A 0 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL6 ABCDEF 2 A_JumpIf(FireCheck(),"FireFive");
|
||||
EBL6 F 0 A_LoadRocket();
|
||||
Goto FireSix;
|
||||
FireOne:
|
||||
EBF1 A 0 A_FireRockets(1);
|
||||
EBF1 ABCDEFGH 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -595,7 +595,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBF2 A 0 A_FireRockets(2);
|
||||
EBF2 ABCDEFGHIJK 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -603,7 +603,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBF3 A 0 A_FireRockets(3);
|
||||
EBF3 ABCDEFGHIJ 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -611,7 +611,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBF4 A 0 A_FireRockets(4);
|
||||
EBF4 ABCDEFGHIJK 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -619,7 +619,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBF5 A 0 A_FireRockets(5);
|
||||
EBF5 ABCDEFGHIJKLM 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -627,7 +627,7 @@ Class UTRocketLauncher : UTWeapon
|
|||
EBF6 A 0 A_FireRockets(6);
|
||||
EBF6 ABCDEFGHIJKLMNOP 2;
|
||||
EBL1 A 0 A_CheckReload();
|
||||
EBL1 A 2 A_PlaySound("utrl/load",CHAN_6);
|
||||
EBL1 A 2 A_StartSound("utrl/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
EBL1 BCDEFG 2;
|
||||
EBLI A 0;
|
||||
Goto Idle;
|
||||
|
|
|
|||
|
|
@ -83,7 +83,8 @@ Class BulletImpact : Actor
|
|||
let s = Spawn("UTChip",pos+x*2);
|
||||
s.vel = pvel;
|
||||
}
|
||||
A_PlaySound("bullet/hit",CHAN_VOICE,attenuation:3.0);
|
||||
if ( !Random[Enforcer](0,3) ) A_StartSound("flak/hit",CHAN_VOICE,attenuation:2.5);
|
||||
else A_StartSound("bullet/hit",CHAN_VOICE,attenuation:3.0);
|
||||
let s = Spawn("Splasher",Vec3Offset(0,0,2));
|
||||
s.vel = (0,0,-4);
|
||||
}
|
||||
|
|
@ -274,7 +275,7 @@ Class Enforcer : UTWeapon
|
|||
if ( invoker.altaccuracy < 0.2 ) invoker.altaccuracy += 0.05;
|
||||
if ( slave )
|
||||
{
|
||||
if ( flak_enforcerreload && (invoker.slaveclipcount < 5) ) A_PlaySound("enforcer/click",CHAN_6);
|
||||
if ( flak_enforcerreload && (invoker.slaveclipcount < 5) ) A_StartSound("enforcer/click",CHAN_LEFTWEAPONMISC);
|
||||
if ( (invoker.slaveclipcount <= 0) || (weap.Ammo1.Amount <= 0) )
|
||||
{
|
||||
invoker.slaverefire = 0;
|
||||
|
|
@ -301,7 +302,7 @@ Class Enforcer : UTWeapon
|
|||
}
|
||||
else
|
||||
{
|
||||
if ( flak_enforcerreload && (invoker.clipcount < 5) ) A_PlaySound("enforcer/click",CHAN_WEAPON);
|
||||
if ( flak_enforcerreload && (invoker.clipcount < 5) ) A_StartSound("enforcer/click",CHAN_WEAPONMISC);
|
||||
if ( (invoker.clipcount <= 0) || (weap.Ammo1.Amount <= 0) )
|
||||
{
|
||||
A_ClearRefire();
|
||||
|
|
@ -357,7 +358,7 @@ Class Enforcer : UTWeapon
|
|||
}
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(32,255,128,0),1);
|
||||
A_PlaySound("enforcer/shoot",slave?CHAN_6:CHAN_WEAPON);
|
||||
A_StartSound("enforcer/shoot",slave?CHAN_LEFTWEAPON:CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters();
|
||||
A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.08);
|
||||
if ( slave )
|
||||
|
|
@ -518,7 +519,7 @@ Class Enforcer : UTWeapon
|
|||
LeftReady:
|
||||
2NFS A 0
|
||||
{
|
||||
A_PlaySound("enforcer/select",CHAN_6);
|
||||
A_StartSound("enforcer/select",CHAN_LEFTWEAPON);
|
||||
invoker.slaveactive = true;
|
||||
}
|
||||
2NFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_JumpIf(invoker.slavedown,"LeftDeselect");
|
||||
|
|
@ -619,7 +620,7 @@ Class Enforcer : UTWeapon
|
|||
invoker.clipout = true;
|
||||
invoker.clipcount = 0;
|
||||
A_Overlay(-9999,null);
|
||||
A_PlaySound("enforcer/click",CHAN_WEAPON);
|
||||
A_StartSound("enforcer/click",CHAN_WEAPONMISC);
|
||||
}
|
||||
ENFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||
ENR2 AB 1;
|
||||
|
|
@ -627,7 +628,7 @@ Class Enforcer : UTWeapon
|
|||
{
|
||||
invoker.clipout = false;
|
||||
invoker.clipcount = min(invoker.default.clipcount,invoker.Ammo1.Amount);
|
||||
A_PlaySound("enforcer/reload",CHAN_WEAPON);
|
||||
A_StartSound("enforcer/reload",CHAN_WEAPON);
|
||||
if ( self is 'UTPlayer' )
|
||||
UTPlayer(self).PlayReloading();
|
||||
invoker.slavereload = (flak_enforcerreload&&invoker.slaveactive&&(invoker.slaveclipcount<min(invoker.default.slaveclipcount,invoker.Ammo1.Amount)));
|
||||
|
|
@ -639,7 +640,7 @@ Class Enforcer : UTWeapon
|
|||
c.pitch = pitch;
|
||||
c.vel = vel*.5+x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](-.5,.5)-z*FRandom[Junk](1,2);
|
||||
}
|
||||
ENFS A 0 A_PlaySound("enforcer/select",CHAN_WEAPON);
|
||||
ENFS A 0 A_StartSound("enforcer/select",CHAN_WEAPON);
|
||||
Goto Ready;
|
||||
LeftReload:
|
||||
2NFR A 0
|
||||
|
|
@ -652,7 +653,7 @@ Class Enforcer : UTWeapon
|
|||
invoker.slaveclipout = true;
|
||||
invoker.slaveclipcount = 0;
|
||||
A_Overlay(-9998,null);
|
||||
A_PlaySound("enforcer/click",CHAN_6);
|
||||
A_StartSound("enforcer/click",CHAN_LEFTWEAPONMISC);
|
||||
return ResolveState(null);
|
||||
}
|
||||
2NFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||
|
|
@ -661,7 +662,7 @@ Class Enforcer : UTWeapon
|
|||
{
|
||||
invoker.slaveclipout = false;
|
||||
invoker.slaveclipcount = min(invoker.default.slaveclipcount,invoker.Ammo1.Amount);
|
||||
A_PlaySound("enforcer/reload",CHAN_6);
|
||||
A_StartSound("enforcer/reload",CHAN_LEFTWEAPON);
|
||||
if ( self is 'UTPlayer' )
|
||||
UTPlayer(self).PlayReloading();
|
||||
invoker.slavereload = false;
|
||||
|
|
@ -673,7 +674,7 @@ Class Enforcer : UTWeapon
|
|||
c.pitch = pitch;
|
||||
c.vel = vel*.5+x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](-.5,.5)-z*FRandom[Junk](1,2);
|
||||
}
|
||||
2NFS A 0 A_PlaySound("enforcer/select",CHAN_6);
|
||||
2NFS A 0 A_StartSound("enforcer/select",CHAN_LEFTWEAPON);
|
||||
Goto LeftReady;
|
||||
Deselect:
|
||||
ENFD A 0
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ Class FlakChunk : Actor
|
|||
rollvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1)*(vel.length()/speed);
|
||||
pitchvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1)*(vel.length()/speed);
|
||||
yawvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1)*(vel.length()/speed);
|
||||
A_PlaySound("flak/bounce",volume:0.3);
|
||||
A_StartSound("flak/bounce",volume:0.3);
|
||||
A_AlertMonsters();
|
||||
if ( vel.length() < 5 ) ExplodeMissile();
|
||||
}
|
||||
|
|
@ -351,7 +351,7 @@ Class FlakChunk : Actor
|
|||
if ( !target.bNOBLOOD )
|
||||
{
|
||||
target.SpawnBlood(pos,AngleTo(target),damage);
|
||||
A_PlaySound("flak/meat",volume:0.3);
|
||||
A_StartSound("flak/meat",volume:0.3);
|
||||
A_AlertMonsters();
|
||||
}
|
||||
return -1;
|
||||
|
|
@ -373,7 +373,7 @@ Class FlakChunk : Actor
|
|||
if ( !victim.bNOBLOOD && (victim.health-amt > victim.GetGibHealth()) )
|
||||
{
|
||||
victim.SpawnBlood(pos,AngleTo(victim),damage);
|
||||
A_PlaySound("flak/meat",volume:0.3);
|
||||
A_StartSound("flak/meat",volume:0.3);
|
||||
A_AlertMonsters();
|
||||
}
|
||||
return 1;
|
||||
|
|
@ -418,7 +418,7 @@ Class FlakChunk : Actor
|
|||
else dir = vel.unit();
|
||||
l.angle = atan2(dir.y,dir.x);
|
||||
l.pitch = asin(-dir.z);
|
||||
A_PlaySound("flak/hit",volume:0.3);
|
||||
A_StartSound("flak/hit",volume:0.3);
|
||||
A_AlertMonsters();
|
||||
}
|
||||
XDeath:
|
||||
|
|
@ -519,7 +519,7 @@ Class FlakSlug : Actor
|
|||
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_StartSound("flak/explode",CHAN_VOICE);
|
||||
A_AlertMonsters();
|
||||
if ( !Tracer ) Spawn("SlugSmoke",pos);
|
||||
Spawn("SlugLight",pos);
|
||||
|
|
@ -639,8 +639,8 @@ Class FlakCannon : UTWeapon
|
|||
{
|
||||
action void A_Loading( bool first = false )
|
||||
{
|
||||
if ( first ) A_PlaySound("flak/load",CHAN_WEAPON);
|
||||
else A_PlaySound("flak/reload",CHAN_6);
|
||||
if ( first ) A_StartSound("flak/load",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
else A_StartSound("flak/reload",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
}
|
||||
action void A_FireChunks()
|
||||
{
|
||||
|
|
@ -648,7 +648,7 @@ Class FlakCannon : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("flak/fire",CHAN_WEAPON);
|
||||
A_StartSound("flak/fire",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(160,255,96,0),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[Flak](-0.3,-0.8),FRandom[Flak](-0.5,0.5)),4,-1.5,2,SWING_Spring,2,2);
|
||||
|
|
@ -707,7 +707,7 @@ Class FlakCannon : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("flak/altfire",CHAN_WEAPON);
|
||||
A_StartSound("flak/altfire",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,255,96,0),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[Flak](-0.4,-0.8),FRandom[Flak](0.4,0.8)),4,-1,3,SWING_Spring,3,5);
|
||||
|
|
|
|||
|
|
@ -87,7 +87,8 @@ Class ImpactHammer : UTWeapon
|
|||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
A_PlaySound("impact/release",CHAN_WEAPON);
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("impact/release",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoSwing(self,(FRandom[Impact](-0.3,-1.5),FRandom[Impact](-1.2,-0.4)),3,-0.8,3,SWING_Spring,3,2);
|
||||
A_AlertMonsters(gameinfo.gametype&GAME_Strife?100:0);
|
||||
|
|
@ -152,7 +153,7 @@ Class ImpactHammer : UTWeapon
|
|||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
A_PlaySound("impact/fire",CHAN_WEAPON);
|
||||
A_StartSound("impact/fire",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoSwing(self,(FRandom[Impact](-0.3,-1.5),FRandom[Impact](-1.2,-0.4)),2,-0.6,2,SWING_Spring,1,2);
|
||||
A_AlertMonsters(gameinfo.gametype&GAME_Strife?100:0);
|
||||
|
|
@ -249,10 +250,10 @@ Class ImpactHammer : UTWeapon
|
|||
{
|
||||
A_ResetCharge();
|
||||
A_Overlay(-9999,"Charging");
|
||||
A_PlaySound("impact/pull",CHAN_WEAPON);
|
||||
A_StartSound("impact/pull",CHAN_WEAPON);
|
||||
}
|
||||
IMPL ABCDE 5;
|
||||
IMPR A 0 A_PlaySound("impact/loop",CHAN_WEAPON,looping:true);
|
||||
IMPR A 0 A_StartSound("impact/loop",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
Goto Hold;
|
||||
Hold:
|
||||
IMPR ABCDEFGHIJ 1;
|
||||
|
|
|
|||
|
|
@ -247,23 +247,27 @@ Class Minigun : UTWeapon
|
|||
Hold:
|
||||
MGNF A 0
|
||||
{
|
||||
A_PlaySound("minigun/fire",CHAN_WEAPON,1.0,true);
|
||||
A_StartSound("minigun/fire",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
A_Overlay(-9999,"FireDummy");
|
||||
}
|
||||
MGNF ABCDEFGHIJKLMNOPQRS 1 A_FireBullet();
|
||||
MGNF A 0 A_JumpIf(player.cmd.buttons&BT_ALTATTACK,1);
|
||||
Goto Hold+1;
|
||||
AltHold:
|
||||
MGNF B 0 A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true);
|
||||
MGNF B 0 A_StartSound("minigun/altfire",CHAN_WEAPONMISC,CHANF_LOOPING);
|
||||
MGNF ADGJMPSCFILORBEHKNQ 1 A_FireBullet(true);
|
||||
Goto AltHold+1;
|
||||
Unwind:
|
||||
MGNU A 0 A_PlaySound("minigun/unwind",CHAN_WEAPON);
|
||||
MGNU A 0
|
||||
{
|
||||
A_StopSound(CHAN_WEAPONMISC);
|
||||
A_StartSound("minigun/unwind",CHAN_WEAPON);
|
||||
}
|
||||
MGNU ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_MinigunRefire();
|
||||
MGU2 ABCDEFGHIJKLM 1 A_MinigunRefire();
|
||||
Goto Idle;
|
||||
Deselect:
|
||||
MGND A 1 A_StopSound(CHAN_WEAPON);
|
||||
MGND A 1 A_StopSound(CHAN_WEAPONMISC);
|
||||
MGND BCDEFGHIJ 1;
|
||||
MGND J 1 A_Lower(int.max);
|
||||
Wait;
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ Class DamageAmplifier : Powerup
|
|||
{
|
||||
Super.DoEffect();
|
||||
if ( (EffectTics == 175) || (EffectTics == 140) || (EffectTics == 105) || (EffectTics == 70) || (EffectTics == 35) )
|
||||
Owner.A_PlaySound("udamage/drain",CHAN_7,1.0,false,0.25);
|
||||
Owner.A_StartSound("udamage/drain",CHAN_POWERUP2,attenuation:.25);
|
||||
}
|
||||
|
||||
override void EndEffect()
|
||||
|
|
@ -91,8 +91,8 @@ Class DamageAmplifier : Powerup
|
|||
void FireEffect()
|
||||
{
|
||||
if ( gametic < lasteffect ) return;
|
||||
if ( EffectTics < 350 ) Owner.A_PlaySound("udamage/fire2",CHAN_7,1.0,false,0.25);
|
||||
else Owner.A_PlaySound("udamage/fire1",CHAN_7,1.0,false,0.25);
|
||||
if ( EffectTics < 350 ) Owner.A_StartSound("udamage/fire2",CHAN_POWERUP,attenuation:.25);
|
||||
else Owner.A_StartSound("udamage/fire1",CHAN_POWERUP,attenuation:.25);
|
||||
UTMainHandler.DoFlash(Owner,Color(48,238,0,255),6);
|
||||
lasteffect = gametic+5; // prevent excess flash
|
||||
}
|
||||
|
|
@ -181,7 +181,7 @@ Class UTInvulPower : Powerup
|
|||
{
|
||||
Super.DoEffect();
|
||||
if ( (EffectTics == 175) || (EffectTics == 140) || (EffectTics == 105) || (EffectTics == 70) || (EffectTics == 35) )
|
||||
Owner.A_PlaySound("uinvul/drain",CHAN_7,1.0,false,0.25);
|
||||
Owner.A_StartSound("uinvul/drain",CHAN_POWERUP2,attenuation:.25);
|
||||
}
|
||||
|
||||
override void EndEffect()
|
||||
|
|
@ -200,7 +200,7 @@ Class UTInvulPower : Powerup
|
|||
if ( !passive || (damage <= 0) ) return;
|
||||
newdamage = 0;
|
||||
if ( gametic < lasteffect ) return;
|
||||
Owner.A_PlaySound("uinvul/hit",CHAN_7,1.0,false,0.25);
|
||||
Owner.A_StartSound("uinvul/hit",CHAN_POWERUP4,attenuation:.25);
|
||||
UTMainHandler.DoFlash(Owner,Color(48,255,238,0),6);
|
||||
lasteffect = gametic+5; // prevent excess flash
|
||||
}
|
||||
|
|
@ -441,7 +441,7 @@ Class UTJumpBoots : Inventory
|
|||
if ( (amount > 0) && (owner.player.jumptics == -1) )
|
||||
{
|
||||
Amount = max(0,Amount-700);
|
||||
Owner.A_PlaySound("boot/jump",CHAN_BODY);
|
||||
Owner.A_StartSound("boot/jump",CHAN_POWERUP3);
|
||||
}
|
||||
else if ( (Amount <= 0) && owner.player.onground )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -161,14 +161,14 @@ Class PulseBall : Actor
|
|||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
A_PlaySound("pulse/fly",CHAN_BODY,0.8,true,8.0);
|
||||
A_StartSound("pulse/fly",CHAN_BODY,CHANF_LOOPING,.8,8.);
|
||||
let l = Spawn("PulseBallLight",pos);
|
||||
l.target = self;
|
||||
}
|
||||
action void A_BallExp()
|
||||
{
|
||||
A_SetScale(0.45);
|
||||
A_PlaySound("pulse/hit",CHAN_BODY);
|
||||
A_StartSound("pulse/hit");
|
||||
A_SprayDecal("BoltScorch");
|
||||
Spawn("PulseExplLight",pos);
|
||||
int numpt = Random[Pulse](20,40);
|
||||
|
|
@ -692,7 +692,7 @@ Class PulseGun : UTWeapon
|
|||
action void A_StartBeam()
|
||||
{
|
||||
invoker.special1 = 0;
|
||||
A_PlaySound("pulse/bolt",CHAN_WEAPON,1.0,true);
|
||||
A_StartSound("pulse/bolt",CHAN_WEAPON,CHANF_LOOPING);
|
||||
Vector3 x, y, z, origin;
|
||||
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+4.1*y-2.7*z);
|
||||
|
|
@ -778,13 +778,13 @@ Class PulseGun : UTWeapon
|
|||
PGNI A 0
|
||||
{
|
||||
invoker.special1 = 0;
|
||||
A_PlaySound("pulse/fire",CHAN_WEAPON,1.0,true);
|
||||
A_StartSound("pulse/fire",CHAN_WEAPON,CHANF_LOOPING);
|
||||
}
|
||||
PGNF ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_PulseFire();
|
||||
PGF2 ABCDEFGHIJKLMN 1 A_PulseFire();
|
||||
Goto Fire+1;
|
||||
Release:
|
||||
PGNC A 0 A_PlaySound("pulse/down",CHAN_WEAPON);
|
||||
PGNC A 0 A_StartSound("pulse/down",CHAN_WEAPON);
|
||||
PGNC ABCDEFGHIJKLMNOPQRSTUVWXY 1 A_PulseRefire();
|
||||
PGNC Y 0;
|
||||
Goto Idle;
|
||||
|
|
@ -804,7 +804,7 @@ Class PulseGun : UTWeapon
|
|||
PGNI A 0 A_JumpIf(invoker.clipcount >= Min(invoker.default.clipcount,invoker.Ammo1.Amount),"Idle");
|
||||
PGNR A 1
|
||||
{
|
||||
A_PlaySound("pulse/reload",CHAN_WEAPON);
|
||||
A_StartSound("pulse/reload",CHAN_WEAPONMISC);
|
||||
if ( self is 'UTPlayer' )
|
||||
UTPlayer(self).PlayReloading();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ Class Razor2 : Actor
|
|||
Super.PostBeginPlay();
|
||||
let t = Spawn("Razor2Trail",pos);
|
||||
t.target = self;
|
||||
A_PlaySound("ripper/hum",CHAN_VOICE,1.0,true,3.0,pitch:3.125);
|
||||
A_StartSound("ripper/hum",CHAN_VOICE,CHANF_LOOPING,1.,3.,3.125);
|
||||
Vector3 dir = vel.unit();
|
||||
A_SetAngle(atan2(dir.y,dir.x));
|
||||
A_SetPitch(asin(-dir.z));
|
||||
|
|
@ -91,7 +91,7 @@ Class Razor2 : Actor
|
|||
if ( !target.bNOBLOOD )
|
||||
{
|
||||
target.SpawnBlood(pos,AngleTo(target),damage);
|
||||
A_PlaySound("ripper/flesh");
|
||||
A_StartSound("ripper/flesh");
|
||||
A_AlertMonsters();
|
||||
}
|
||||
UTMainHandler.DoKnockback(target,vel.unit(),15000);
|
||||
|
|
@ -99,7 +99,7 @@ Class Razor2 : Actor
|
|||
}
|
||||
action void A_RazorHit()
|
||||
{
|
||||
A_PlaySound("ripper/hit");
|
||||
A_StartSound("ripper/hit");
|
||||
A_AlertMonsters();
|
||||
A_SprayDecal("WallCrack",-20);
|
||||
int numpt = Random[Ripper](5,10);
|
||||
|
|
@ -175,7 +175,7 @@ Class Razor2Alt : Razor2
|
|||
bFORCEXYBILLBOARD = true;
|
||||
Scale *= 0.65;
|
||||
A_StopSound(CHAN_VOICE);
|
||||
A_PlaySound("ripper/althit",CHAN_VOICE);
|
||||
A_StartSound("ripper/althit",CHAN_VOICE);
|
||||
Spawn("Razor2AltLight",pos);
|
||||
A_AlertMonsters();
|
||||
A_SprayDecal("RazorBlast",20);
|
||||
|
|
@ -246,8 +246,8 @@ Class Ripper2 : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
if ( alt ) A_PlaySound("ripper/altfire",CHAN_WEAPON);
|
||||
else A_PlaySound("ripper/fire",CHAN_WEAPON);
|
||||
if ( alt ) A_StartSound("ripper/altfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
else A_StartSound("ripper/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(8,0,255,255),1);
|
||||
A_AlertMonsters();
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ Class ShockBeam : Actor
|
|||
let r = Spawn("ShockBlastRing",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_StartSound("shock/blast",CHAN_WEAPON,attenuation:0.5,pitch:0.6);
|
||||
int numpt = Random[ASMD](200,300);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
|
|
@ -414,7 +414,7 @@ Class ShockBeam : Actor
|
|||
{
|
||||
Spawn("ShockBeamLight",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_StartSound("shock/hit",CHAN_VOICE);
|
||||
A_AlertMonsters();
|
||||
int numpt = Random[ASMD](20,50);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -598,8 +598,8 @@ Class SuperShockBeam : Actor
|
|||
let r = Spawn("SuperShockBlastRing",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("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
A_StartSound("shock/blast",CHAN_WEAPON,attenuation:0.5,pitch:0.6);
|
||||
A_StartSound("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
int numpt = Random[ASMD](200,300);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
|
|
@ -664,8 +664,8 @@ Class SuperShockBeam : Actor
|
|||
A_Explode(int.max,50);
|
||||
}
|
||||
A_QuakeEx(6,6,6,5,0,100,"",QF_RELATIVE|QF_SCALEDOWN,falloff:50,rollIntensity:0.2);
|
||||
A_PlaySound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_PlaySound("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
A_StartSound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_StartSound("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
A_AlertMonsters();
|
||||
int numpt = Random[ASMD](20,50);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -881,8 +881,8 @@ Class ShockBall : 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_StartSound("shock/hit",CHAN_VOICE);
|
||||
A_StartSound("shock/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);
|
||||
|
|
@ -974,9 +974,9 @@ Class SuperShockBall : Actor
|
|||
r.angle = atan2(HitNormal.y,HitNormal.x);
|
||||
r.pitch = asin(-HitNormal.z);
|
||||
r.scale *= 1.5;
|
||||
A_PlaySound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_PlaySound("shock/ball",CHAN_WEAPON,attenuation:0.5,pitch:FRandom[ASMD](0.5,1.5));
|
||||
A_PlaySound("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
A_StartSound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_StartSound("shock/ball",CHAN_WEAPON,attenuation:0.5,pitch:FRandom[ASMD](0.5,1.5));
|
||||
A_StartSound("sshock/blast",CHAN_6,attenuation:0.5);
|
||||
A_QuakeEx(8,8,8,30,0,300,"",QF_RELATIVE|QF_SCALEDOWN,falloff:120,rollIntensity:0.25);
|
||||
A_AlertMonsters();
|
||||
int numpt = Random[ASMD](50,100);
|
||||
|
|
@ -1066,7 +1066,7 @@ Class ShockRifle : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("shock/fire",CHAN_WEAPON);
|
||||
A_StartSound("shock/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),2,-0.3,3,SWING_Spring,0,4);
|
||||
|
|
@ -1104,7 +1104,7 @@ Class ShockRifle : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("shock/altfire",CHAN_WEAPON);
|
||||
A_StartSound("shock/altfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),3,-0.4,3,SWING_Spring,0,4);
|
||||
|
|
@ -1249,7 +1249,7 @@ Class EnhancedShockRifle : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("shock/fire",CHAN_WEAPON);
|
||||
A_StartSound("shock/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),4,-0.6,3,SWING_Spring,0,4);
|
||||
|
|
@ -1287,7 +1287,7 @@ Class EnhancedShockRifle : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("shock/altfire",CHAN_WEAPON);
|
||||
A_StartSound("shock/altfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),6,-0.8,3,SWING_Spring,0,4);
|
||||
|
|
@ -1370,7 +1370,7 @@ Class EnhancedShockRifle : UTWeapon
|
|||
DryFire:
|
||||
ASMA I 3
|
||||
{
|
||||
A_PlaySound("sshock/dryfire",CHAN_WEAPON);
|
||||
A_StartSound("sshock/dryfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters();
|
||||
}
|
||||
ASMA J 4;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ Class SniperRifle : UTWeapon
|
|||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(32,0,0,255),1);
|
||||
A_PlaySound("sniper/fire",CHAN_WEAPON);
|
||||
A_StartSound("sniper/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters();
|
||||
if ( zoomed )
|
||||
{
|
||||
|
|
@ -255,11 +255,11 @@ Class SniperRifle : UTWeapon
|
|||
if ( invoker.sniperzoom > 1. )
|
||||
{
|
||||
if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() )
|
||||
A_PlaySound("sniper/zoomdown",CHAN_WEAPON);
|
||||
A_StartSound("sniper/zoomdown",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
return ResolveState("AltHold2");
|
||||
}
|
||||
if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() )
|
||||
A_PlaySound("sniper/zoomup",CHAN_WEAPON);
|
||||
A_StartSound("sniper/zoomup",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
return ResolveState(null);
|
||||
}
|
||||
AltHold:
|
||||
|
|
@ -279,7 +279,7 @@ Class SniperRifle : UTWeapon
|
|||
SRFD A 0
|
||||
{
|
||||
if ( (invoker.sniperzoom>1.0) && CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() )
|
||||
A_PlaySound("sniper/zoomdown",CHAN_WEAPON);
|
||||
A_StartSound("sniper/zoomdown",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT);
|
||||
}
|
||||
SRFD ABCDEFG 1;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ Class ModuleHitbox : Actor
|
|||
if ( !bi.Thing || (bi.Thing != master.target) ) continue;
|
||||
if ( (Distance2D(bi.Thing)-bi.Thing.radius <= radius) && ((bi.Thing.pos.z <= pos.z+height) && (bi.Thing.pos.z+bi.Thing.height >= pos.z-height)) )
|
||||
{
|
||||
A_PlaySound("misc/i_pkup");
|
||||
A_StartSound("misc/i_pkup",CHAN_ITEM);
|
||||
master.Destroy();
|
||||
return;
|
||||
}
|
||||
|
|
@ -154,7 +154,7 @@ Class TranslocatorModule : Actor
|
|||
}
|
||||
b = Spawn("ModuleHitbox",pos);
|
||||
b.master = self;
|
||||
A_PlaySound("transloc/hum",CHAN_VOICE,0.5,true,2.0);
|
||||
A_StartSound("transloc/hum",CHAN_VOICE,CHANF_LOOPING,.5,2.);
|
||||
}
|
||||
|
||||
override bool CanCollideWith( Actor other, bool passive )
|
||||
|
|
@ -188,7 +188,7 @@ Class TranslocatorModule : Actor
|
|||
Super.Tick();
|
||||
if ( bAMBUSH && !Random[Transloc](0,40) )
|
||||
{
|
||||
A_PlaySound("transloc/spark");
|
||||
A_StartSound("transloc/spark",CHAN_BODY,CHANF_OVERLAP);
|
||||
int numpt = Random[Transloc](20,40);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
|
|
@ -223,7 +223,7 @@ Class TranslocatorModule : Actor
|
|||
else
|
||||
{
|
||||
A_SetPitch(0);
|
||||
A_PlaySound("transloc/bounce");
|
||||
A_StartSound("transloc/bounce");
|
||||
if ( BlockingFloor || (tracer && (pos.z >= tracer.pos.z+tracer.height) && tracer.bACTLIKEBRIDGE) ) alreadyhit = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -391,7 +391,7 @@ Class Translocator : UTWeapon
|
|||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
A_PlaySound("transloc/throw",CHAN_WEAPON);
|
||||
A_StartSound("transloc/throw",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoSwing(self,(FRandom[Translocator](-0.2,0.4),FRandom[Translocator](-0.2,0.7)),2,-0.3,3,SWING_Spring,2,3);
|
||||
A_AlertMonsters();
|
||||
|
|
@ -413,14 +413,15 @@ Class Translocator : UTWeapon
|
|||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
A_PlaySound("transloc/return",CHAN_WEAPON);
|
||||
A_StartSound("transloc/return",CHAN_WEAPON);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoSwing(self,(FRandom[Translocator](-0.2,-0.4),FRandom[Translocator](-0.2,0.7)),3,-1,2,SWING_Spring,2,2);
|
||||
A_AlertMonsters();
|
||||
if ( invoker.module && invoker.module.bAMBUSH )
|
||||
{
|
||||
UTMainHandler.DoFlash(self,Color(255,255,255,255),50);
|
||||
A_PlaySound("transloc/spark",CHAN_WEAPON);
|
||||
for ( int i=0; i<3; i++ )
|
||||
A_StartSound("transloc/spark",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
DamageMobj(invoker,self,int.max,'Telefrag',DMG_THRUSTLESS);
|
||||
}
|
||||
if ( invoker.module ) invoker.module.Destroy();
|
||||
|
|
@ -434,7 +435,7 @@ Class Translocator : UTWeapon
|
|||
{
|
||||
invoker.FireEffect();
|
||||
A_AlertMonsters();
|
||||
A_PlaySound("transloc/return",CHAN_WEAPON);
|
||||
A_StartSound("transloc/return",CHAN_WEAPON);
|
||||
return;
|
||||
}
|
||||
// consume ammo if any
|
||||
|
|
@ -468,7 +469,7 @@ Class Translocator : UTWeapon
|
|||
SpawnTeleportFog(newpos,false,false);
|
||||
player.fov = min(175,player.desiredfov+60);
|
||||
}
|
||||
else A_PlaySound("transloc/return",CHAN_WEAPON);
|
||||
else A_StartSound("transloc/return",CHAN_WEAPON);
|
||||
for ( int i=0; i<MAXPLAYERS; i++ )
|
||||
{
|
||||
if ( !playeringame[i] || !players[i].mo ) continue;
|
||||
|
|
@ -477,7 +478,8 @@ Class Translocator : UTWeapon
|
|||
if ( bBroken )
|
||||
{
|
||||
UTMainHandler.DoFlash(self,Color(255,255,255,255),50);
|
||||
A_PlaySound("transloc/spark",CHAN_WEAPON);
|
||||
for ( int i=0; i<3; i++ )
|
||||
A_StartSound("transloc/spark",CHAN_WEAPONMISC,CHANF_OVERLAP);
|
||||
DamageMobj(invoker,self,int.max,'Telefrag',DMG_THRUSTLESS);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,14 @@
|
|||
// constants for extra sound stuff, all starting at 0x4360 (436 was the last official UT version)
|
||||
const CHAN_ANNOUNCER = 0x4360; // announcer voices
|
||||
const CHAN_FOOTSTEP = 0x4361; // footsteps and splashes (should have OVERLAP flag)
|
||||
const CHAN_LEFTWEAPON = 0x4362; // for dual wielded weapons
|
||||
const CHAN_WEAPONMISC = 0x4363; // extra sounds (e.g.: idle loops)
|
||||
const CHAN_LEFTWEAPONMISC = 0x4364; // ... for dual wielded weapons
|
||||
const CHAN_POWERUP = 0x4365; // powerup/item use sounds
|
||||
const CHAN_POWERUP2 = 0x4366; // auxiliary powerup sounds
|
||||
const CHAN_POWERUP3 = 0x4367; // even more powerup sounds (used by jump boots, mainly)
|
||||
const CHAN_POWERUP4 = 0x4368; // even more (used by shield belt / invuln hit sounds)
|
||||
|
||||
Class UTPlayer : DoomPlayer
|
||||
{
|
||||
bool doprintnoammo;
|
||||
|
|
@ -288,7 +299,7 @@ Class UTPlayer : DoomPlayer
|
|||
{
|
||||
double vol = clamp((-lastvelz-8)*0.05,0.01,1.0);
|
||||
if ( ((waterlevel > 0) || GetFloorTerrain().IsLiquid) && !bOnMobj ) PlaySplash(vol);
|
||||
else A_PlaySound("*uland",CHAN_AUTO,vol);
|
||||
else A_StartSound("*uland",CHAN_FOOTSTEP,CHANF_OVERLAP,vol);
|
||||
PlayLanding();
|
||||
}
|
||||
else forcefootstep = true;
|
||||
|
|
@ -491,7 +502,7 @@ Class UTPlayer : DoomPlayer
|
|||
}
|
||||
bOnMobj = false;
|
||||
if ( !(player.cheats&CF_PREDICTING) )
|
||||
A_PlaySound("*jump",CHAN_BODY);
|
||||
A_StartSound("*jump",CHAN_VOICE);
|
||||
if ( player.cheats & CF_REVERTPLEASE )
|
||||
{
|
||||
player.cheats &= ~CF_REVERTPLEASE;
|
||||
|
|
@ -701,7 +712,7 @@ Class UTPlayer : DoomPlayer
|
|||
bOnMobj = false;
|
||||
player.jumpTics = -1;
|
||||
if ( !(player.cheats&CF_PREDICTING) )
|
||||
A_PlaySound("*jump",CHAN_BODY);
|
||||
A_StartSound("*jump",CHAN_VOICE);
|
||||
}
|
||||
last_jump_held = gametic;
|
||||
}
|
||||
|
|
@ -770,7 +781,7 @@ Class UTPlayer : DoomPlayer
|
|||
|
||||
virtual void PlayFootstep( double vol )
|
||||
{
|
||||
A_PlaySound("ut/playerfootstep",CHAN_AUTO,vol);
|
||||
A_StartSound("ut/playerfootstep",CHAN_FOOTSTEP,CHANF_OVERLAP,vol);
|
||||
}
|
||||
|
||||
virtual void PlaySplash( double vol )
|
||||
|
|
@ -791,7 +802,7 @@ Class UTPlayer : DoomPlayer
|
|||
snd = "ut/slimesplash";
|
||||
break;
|
||||
}
|
||||
A_PlaySound(snd,CHAN_AUTO,vol);
|
||||
A_StartSound(snd,CHAN_FOOTSTEP,CHANF_OVERLAP,vol);
|
||||
}
|
||||
|
||||
virtual void PlaySurface()
|
||||
|
|
@ -812,7 +823,7 @@ Class UTPlayer : DoomPlayer
|
|||
snd = "ut/slimesurface";
|
||||
break;
|
||||
}
|
||||
A_PlaySound(snd,CHAN_AUTO);
|
||||
A_StartSound(snd,CHAN_FOOTSTEP,CHANF_OVERLAP);
|
||||
}
|
||||
|
||||
virtual void PlayWetFootstep( double vol )
|
||||
|
|
@ -833,7 +844,7 @@ Class UTPlayer : DoomPlayer
|
|||
snd = "ut/playerfootstepslime";
|
||||
break;
|
||||
}
|
||||
A_PlaySound(snd,CHAN_AUTO,vol);
|
||||
A_StartSound(snd,CHAN_FOOTSTEP,CHANF_OVERLAP,vol);
|
||||
}
|
||||
|
||||
override void PlayIdle()
|
||||
|
|
@ -1052,7 +1063,7 @@ Class UTPlayer : DoomPlayer
|
|||
return;
|
||||
}
|
||||
vel = (0,0,0);
|
||||
A_PlaySound ("misc/icebreak",CHAN_BODY);
|
||||
A_StartSound("misc/icebreak");
|
||||
// [RH] In Hexen, this creates a random number of shards (range [24,56])
|
||||
// with no relation to the size of the self shattering. I think it should
|
||||
// base the number of shards on the size of the dead thing, so bigger
|
||||
|
|
@ -1080,19 +1091,19 @@ Class UTPlayer : DoomPlayer
|
|||
|
||||
void A_PainDT()
|
||||
{
|
||||
if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE);
|
||||
if ( waterlevel > 2 ) A_StartSound("*death-drowning",CHAN_VOICE);
|
||||
else A_Pain();
|
||||
}
|
||||
|
||||
void A_PlayerScreamDT()
|
||||
{
|
||||
if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE);
|
||||
if ( waterlevel > 2 ) A_StartSound("*death-drowning",CHAN_VOICE);
|
||||
else A_PlayerScream();
|
||||
}
|
||||
|
||||
void A_XScreamDT()
|
||||
{
|
||||
if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE);
|
||||
if ( waterlevel > 2 ) A_StartSound("*death-drowning",CHAN_VOICE);
|
||||
else A_XScream();
|
||||
}
|
||||
|
||||
|
|
@ -1334,7 +1345,7 @@ Class UTUnderSound : Actor
|
|||
fluidsounds[1] = 'ut/underslime';
|
||||
fluidsounds[2] = 'ut/underlava';
|
||||
fluidsounds[3] = 'ut/undernitro';
|
||||
A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,0.);
|
||||
A_StartSound(fluidsounds[curfluid],CHAN_VOICE,CHANF_LOOPING|CHANF_LISTENERZ,1.,0.);
|
||||
A_SoundVolume(CHAN_VOICE,(players[consoleplayer].camera==target)?1.:0.);
|
||||
}
|
||||
override void OnDestroy()
|
||||
|
|
@ -1353,7 +1364,7 @@ Class UTUnderSound : Actor
|
|||
SetOrigin(target.pos,true);
|
||||
curfluid = GetFluid();
|
||||
if ( curfluid != lastfluid )
|
||||
A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,0.);
|
||||
A_StartSound(fluidsounds[curfluid],CHAN_VOICE,CHANF_LOOPING|CHANF_LISTENERZ,1.,0.);
|
||||
lastfluid = curfluid;
|
||||
A_SoundVolume(CHAN_VOICE,(players[consoleplayer].camera==target)?1.:0.);
|
||||
}
|
||||
|
|
@ -1540,7 +1551,7 @@ Class FlameExplosion : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_PlaySound("ut/lavaex",CHAN_VOICE);
|
||||
A_StartSound("ut/lavaex",CHAN_VOICE);
|
||||
Spawn("SlugSmoke",pos);
|
||||
Spawn("SlugLight",pos);
|
||||
}
|
||||
|
|
@ -1743,7 +1754,7 @@ Class UTPlayerTBoss : UTPlayer
|
|||
override void PlayFootstep( double vol )
|
||||
{
|
||||
if ( !bossfootsteps ) bossfootsteps = CVar.GetCVar('flak_bossfootsteps',players[consoleplayer]);
|
||||
if ( bossfootsteps.GetBool() ) A_PlaySound("ut/bossfootstep",CHAN_5,vol);
|
||||
if ( bossfootsteps.GetBool() ) A_StartSound("ut/bossfootstep",CHAN_FOOTSTEP,CHANF_OVERLAP,vol);
|
||||
else Super.PlayFootstep(vol);
|
||||
}
|
||||
States
|
||||
|
|
@ -1810,12 +1821,20 @@ Class UTWeapon : Weapon
|
|||
override void DetachFromOwner()
|
||||
{
|
||||
Owner.A_StopSound(CHAN_WEAPON);
|
||||
Owner.A_StopSound(CHAN_WEAPONMISC);
|
||||
Owner.A_StopSound(CHAN_LEFTWEAPON);
|
||||
Owner.A_StopSound(CHAN_LEFTWEAPONMISC);
|
||||
Super.DetachFromOwner();
|
||||
}
|
||||
override void OwnerDied()
|
||||
{
|
||||
if ( Owner.player && (Owner.player.ReadyWeapon == self) )
|
||||
{
|
||||
Owner.A_StopSound(CHAN_WEAPON);
|
||||
Owner.A_StopSound(CHAN_WEAPONMISC);
|
||||
Owner.A_StopSound(CHAN_LEFTWEAPON);
|
||||
Owner.A_StopSound(CHAN_LEFTWEAPONMISC);
|
||||
}
|
||||
A_ClearRefire();
|
||||
Super.OwnerDied();
|
||||
}
|
||||
|
|
@ -1991,7 +2010,7 @@ Class UTTeleportFog : Actor
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
Spawn("UTTeleportLight",Vec3Offset(0,0,16));
|
||||
A_PlaySound ("misc/teleport");
|
||||
A_StartSound("misc/teleport");
|
||||
Spawn("UTTeleportParticles",Vec3Offset(0,0,16));
|
||||
}
|
||||
States
|
||||
|
|
@ -2491,7 +2510,7 @@ Class ShredCorpseHitbox : Actor
|
|||
{
|
||||
if ( wasonair )
|
||||
{
|
||||
A_PlaySound("misc/corpsefall",CHAN_BODY,clamp(-lastvel.z*0.2,0.1,1.0));
|
||||
A_StartSound("misc/corpsefall",CHAN_BODY,CHANF_DEFAULT,clamp(-lastvel.z*.2,.1,1.));
|
||||
if ( lastvel.z < -20 ) DamageMobj(null,null,int.max,'Falling');
|
||||
}
|
||||
wasonair = false;
|
||||
|
|
@ -2908,24 +2927,26 @@ Class QueuedFlash
|
|||
|
||||
Class UTStaticHandler : StaticEventHandler
|
||||
{
|
||||
ui TextureID tex[2];
|
||||
ui TextureID tex[3];
|
||||
|
||||
ui void StartMenu()
|
||||
{
|
||||
tex[0] = TexMan.CheckForTexture("DTLogo",TexMan.Type_Any);
|
||||
tex[1] = TexMan.CheckForTexture("graphics/DTLogo.png",TexMan.Type_Any);
|
||||
CVar protomenu = CVar.GetCVar('flak_protomenu',players[consoleplayer]);
|
||||
if ( !protomenu ) return; // this can happen
|
||||
int proto = protomenu.GetInt();
|
||||
if ( proto )
|
||||
{
|
||||
tex[1] = TexMan.CheckForTexture("protobg",TexMan.Type_Any);
|
||||
tex[0] = TexMan.CheckForTexture("graphics/UTProtoBg.png",TexMan.Type_Any);
|
||||
tex[2] = TexMan.CheckForTexture("graphics/protobg.png",TexMan.Type_Any);
|
||||
if ( gamestate != GS_TITLELEVEL ) return;
|
||||
if ( proto > 1 ) S_ChangeMusic("menu2");
|
||||
else S_ChangeMusic("xyzdMenu");
|
||||
}
|
||||
else
|
||||
{
|
||||
tex[1] = TexMan.CheckForTexture("finalbg",TexMan.Type_Any);
|
||||
tex[0] = TexMan.CheckForTexture("graphics/UTBg.png",TexMan.Type_Any);
|
||||
tex[2] = TexMan.CheckForTexture("graphics/finalbg.png",TexMan.Type_Any);
|
||||
if ( gamestate != GS_TITLELEVEL ) return;
|
||||
S_ChangeMusic("utmenu23");
|
||||
}
|
||||
|
|
@ -2948,22 +2969,26 @@ Class UTStaticHandler : StaticEventHandler
|
|||
Vector2 tsize = TexMan.GetScaledSize(tex[0]);
|
||||
double sar = tsize.x/tsize.y;
|
||||
Vector2 vsize;
|
||||
if ( sar > ar ) vsize = (tsize.y*ar,tsize.y);
|
||||
else if ( sar < ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else vsize = tsize;
|
||||
Screen.DrawTexture(tex[0],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true);
|
||||
tsize = TexMan.GetScaledSize(tex[1]);
|
||||
sar = tsize.x/tsize.y;
|
||||
if ( sar > ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else if ( sar < ar ) vsize = (tsize.y*ar,tsize.y);
|
||||
else vsize = tsize;
|
||||
Screen.Dim("Black",1.0,0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
Screen.DrawTexture(tex[0],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true);
|
||||
Screen.DrawTexture(tex[1],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true);
|
||||
}
|
||||
|
||||
override void RenderOverlay( RenderEvent e )
|
||||
{
|
||||
// well this if sure is a long one
|
||||
if ( players[consoleplayer].camera.player && players[consoleplayer].camera.player.ReadyWeapon && (players[consoleplayer].camera.player.ReadyWeapon is 'UTWeapon') )
|
||||
UTWeapon(players[consoleplayer].camera.player.ReadyWeapon).RenderOverlay(e);
|
||||
if ( !menuactive || (Menu.GetCurrentMenu() is 'ConversationMenu') ) return;
|
||||
if ( !CVar.GetCVar('flak_showmenu',players[consoleplayer]).GetBool() ) return;
|
||||
Screen.Dim("Black",1.0,0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
Screen.DrawTexture(tex[1],true,0,0,DTA_VirtualWidth,1024,DTA_VirtualHeight,768);
|
||||
Screen.Dim("Black",1.,0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
Screen.DrawTexture(tex[2],true,0,0,DTA_VirtualWidth,1024,DTA_VirtualHeight,768);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3086,7 +3111,7 @@ Class UTMainHandler : EventHandler
|
|||
else if ( e.Replacee == 'RadSuit' ) e.Replacement = 'UTJumpBoots';
|
||||
else if ( (e.Replacee == 'ArtiFly') || (e.Replacee == 'ArtiSpeedBoots') ) e.Replacement = 'ActJumpBoots';
|
||||
else if ( (e.Replacee == 'Backpack') || (e.Replacee == 'BagOfHolding') || (e.Replacee == 'ArtiHealingRadius') ) e.Replacement = 'UTBackpack';
|
||||
else if ( (e.Replacee == 'ArmorBonus') || (e.Replacee == 'ArtiTimeBomb') || (e.Replacee is 'ArtiPoisonBag') || (e.Replacee is 'ArtiBlastRadius') ) e.Replacement = 'UTArmorBonus';
|
||||
else if ( (e.Replacee == 'ArmorBonus') || (e.Replacee == 'ArtiTimeBomb') || (e.Replacee == 'ArtiBlastRadius') ) e.Replacement = 'UTArmorBonus';
|
||||
else if ( (e.Replacee == 'HealthBonus') || (e.Replacee == 'CrystalVial') ) e.Replacement = 'UTHealthBonus';
|
||||
else if ( (e.Replacee == 'GreenArmor') || (e.Replacee == 'AmuletOfWarding') || (e.Replacee == 'PlatinumHelm') ) e.Replacement = 'UTThighPads';
|
||||
else if ( e.Replacee == 'Silvershield' )
|
||||
|
|
@ -3145,7 +3170,7 @@ Class UTMainHandler : EventHandler
|
|||
else if ( e.Replacee == 'FWeaponPiece1' ) e.Replacement = 'WarheadAmmo';
|
||||
else if ( e.Replacee == 'CWeaponPiece1' ) e.Replacement = 'UTBackpack';
|
||||
else if ( (e.Replacee == 'MWeaponPiece1') || (e.Replacee == 'MWeapBloodscourge') || (e.Replacee.GetClassName() == 'mkFullBloodscourge') ) e.Replacement = 'WarheadLauncher';
|
||||
else if ( e.Replacee == 'Mana1' ) e.Replacement = 'UTMinorAmmoBox';
|
||||
else if ( (e.Replacee == 'Mana1') || (e.Replacee is 'ArtiPoisonBag') ) e.Replacement = 'UTMinorAmmoBox';
|
||||
else if ( e.Replacee == 'Mana2' ) e.Replacement = 'UTMediumAmmoBox';
|
||||
else if ( e.Replacee == 'Mana3' ) e.Replacement = 'UTMajorAmmoBox';
|
||||
else if ( e.Replacee == 'ArtiBoostMana' ) e.Replacement = 'ActUTFullAmmoBox';
|
||||
|
|
@ -3167,7 +3192,7 @@ Class UTMainHandler : EventHandler
|
|||
{
|
||||
Actor a = Actor.Spawn("MapSpot",pos);
|
||||
if ( !a ) return null;
|
||||
a.A_PlaySound(snd,CHAN_BODY,volume,true,attenuation);
|
||||
a.A_StartSound(snd,CHAN_BODY,CHANF_LOOPING,volume,attenuation);
|
||||
return a;
|
||||
}
|
||||
|
||||
|
|
@ -3585,15 +3610,15 @@ Class UTMainHandler : EventHandler
|
|||
{
|
||||
if ( !(gframe%11) && gframe < 160 )
|
||||
{
|
||||
S_Sound("ut/malejump",CHAN_VOICE|CHAN_UI,(gframe>100)?.5:1.);
|
||||
S_Sound("ut/malejump",CHAN_WEAPON|CHAN_UI,(gframe>100)?.5:1.);
|
||||
S_StartSound("ut/malejump",CHAN_VOICE,CHANF_UI|CHANF_MAYBE_LOCAL,(gframe>100)?.5:1.);
|
||||
S_StartSound("ut/malejump",CHAN_WEAPON,CHANF_UI|CHANF_MAYBE_LOCAL,(gframe>100)?.5:1.);
|
||||
}
|
||||
if ( ((gframe >= 37) && (gframe < 49) && !((gframe-37)%3))
|
||||
|| ((gframe >= 89) && (gframe < 101) && !((gframe-89)%3))
|
||||
|| ((gframe >= 141) && (gframe < 153) && !((gframe-141)%3)) )
|
||||
{
|
||||
S_Sound("ut/land",CHAN_BODY|CHAN_UI,(gframe>100)?.5:1.);
|
||||
S_Sound("ut/land",CHAN_ITEM|CHAN_UI,(gframe>100)?.5:1.);
|
||||
S_StartSound("ut/land",CHAN_BODY,CHANF_UI|CHANF_MAYBE_LOCAL,(gframe>100)?.5:1.);
|
||||
S_StartSound("ut/land",CHAN_ITEM,CHANF_UI|CHANF_MAYBE_LOCAL,(gframe>100)?.5:1.);
|
||||
}
|
||||
gframe++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ Class UTGibber : Actor
|
|||
States
|
||||
{
|
||||
Spawn:
|
||||
TNT1 A 0 NoDelay A_PlaySound("misc/gibbed");
|
||||
TNT1 A 0 NoDelay A_StartSound("misc/gibbed");
|
||||
TNT1 A 1 BurstGibs();
|
||||
Wait;
|
||||
}
|
||||
|
|
@ -491,7 +491,7 @@ Class UTGib : Actor
|
|||
if ( tracer ) tracer.Destroy();
|
||||
}
|
||||
else if ( spd > 20 ) vel *= 0.8;
|
||||
A_PlaySound("misc/gibp");
|
||||
A_StartSound("misc/gibp");
|
||||
double ang, pt;
|
||||
int max = flak_blood?6:2;
|
||||
for ( int i=0; i<max; i++ )
|
||||
|
|
|
|||
|
|
@ -1088,7 +1088,7 @@ Class UTHud : BaseStatusBar
|
|||
{
|
||||
PickupMsg = CPlayer.mo.InvSel.GetTag();
|
||||
PickupMsgTic = gametic+50;
|
||||
S_Sound("misc/hud_sel",CHAN_UI);
|
||||
S_StartSound("misc/hud_sel",CHAN_BODY,CHANF_UI|CHANF_MAYBE_LOCAL);
|
||||
}
|
||||
}
|
||||
if ( CPlayer.inventorytics > 0 ) justselected = false;
|
||||
|
|
@ -1097,7 +1097,7 @@ Class UTHud : BaseStatusBar
|
|||
if ( !justselected && CPlayer.mo.InvSel )
|
||||
{
|
||||
Console.Printf(StringTable.Localize("$M_ISELECT"),CPlayer.mo.InvSel.GetTag());
|
||||
S_Sound("misc/hud_sel",CHAN_UI);
|
||||
S_StartSound("misc/hud_sel",CHAN_BODY,CHANF_UI|CHANF_MAYBE_LOCAL);
|
||||
}
|
||||
justselected = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ Class ShockWave : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
lifespan = ReactionTime;
|
||||
A_PlaySound("warhead/explode",CHAN_VOICE,attenuation:ATTN_NONE);
|
||||
A_StartSound("warhead/explode",CHAN_VOICE,attenuation:ATTN_NONE);
|
||||
A_QuakeEx(9,9,9,100,0,12000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:1200,rollIntensity:0.5);
|
||||
}
|
||||
override void Tick()
|
||||
|
|
@ -250,7 +250,7 @@ Class WarShell : Actor
|
|||
l.target = self;
|
||||
b = Spawn("WarheadHitbox",pos);
|
||||
b.target = self;
|
||||
A_PlaySound("warhead/fly",CHAN_VOICE,1.0,true);
|
||||
A_StartSound("warhead/fly",CHAN_VOICE,CHANF_LOOPING);
|
||||
destangle = angle;
|
||||
destpitch = pitch;
|
||||
}
|
||||
|
|
@ -306,7 +306,7 @@ Class WarShell : Actor
|
|||
A_Explode(1000,180);
|
||||
A_SprayDecal("BigBlast");
|
||||
A_QuakeEx(8,8,8,20,0,300,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.35);
|
||||
A_PlaySound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_StartSound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_AlertMonsters();
|
||||
A_SetRenderStyle(1.0,STYLE_Add);
|
||||
Spawn("WarheadExplodLight",pos);
|
||||
|
|
@ -320,7 +320,7 @@ Class WarShell : Actor
|
|||
A_Explode(1000,220);
|
||||
A_SprayDecal("BigBlast");
|
||||
A_QuakeEx(8,8,8,20,0,300,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.35);
|
||||
A_PlaySound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_StartSound("shock/hit",CHAN_VOICE,attenuation:0.5);
|
||||
A_AlertMonsters();
|
||||
A_SetRenderStyle(1.0,STYLE_Add);
|
||||
Spawn("WarheadExplodLight",pos);
|
||||
|
|
@ -352,7 +352,7 @@ Class GuidedWarShell : WarShell
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( target && target.player ) target.player.camera = self;
|
||||
A_PlaySound("warhead/altfire",CHAN_WEAPON,local:true);
|
||||
A_StartSound("warhead/altfire",CHAN_WEAPON,CHANF_LOCAL);
|
||||
justleft = true;
|
||||
}
|
||||
override void Tick()
|
||||
|
|
@ -682,7 +682,7 @@ Class WarheadLauncher : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("warhead/fire",CHAN_WEAPON);
|
||||
A_StartSound("warhead/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
||||
UTMainHandler.DoSwing(self,(FRandom[Warhead](0.6,1.2),FRandom[Warhead](0.2,0.5)),4,-1,3,SWING_Spring,2,5);
|
||||
|
|
@ -722,7 +722,7 @@ Class WarheadLauncher : UTWeapon
|
|||
if ( !weap ) return;
|
||||
if ( weap.Ammo1.Amount <= 0 ) return;
|
||||
if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return;
|
||||
A_PlaySound("warhead/altfire",CHAN_WEAPON);
|
||||
A_StartSound("warhead/altfire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
||||
A_AlertMonsters();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue