Added specific hit sounds for some weapons.

This commit is contained in:
Mari the Deer 2020-04-28 13:31:14 +02:00
commit e5180bf0d8
16 changed files with 24 additions and 12 deletions

View file

@ -1926,7 +1926,7 @@ Class Hellblazer : SWWMWeapon
XZWQ KLM 2;
XZWQ N 2 A_Parry(9);
XZWQ OP 1;
XZWQ Q 1 A_Melee(75);
XZWQ Q 1 A_Melee(75,"demolitionist/whitl");
XZWQ RSTUV 2;
XZWQ W 2 A_StartSound("hellblazer/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZWQ XYZ 2;

View file

@ -3048,7 +3048,8 @@ Class SWWMHDoomHandler : StaticEventHandler
override void UiTick()
{
if ( (gamestate == GS_LEVEL) && detected )
if ( !detected ) return;
if ( gamestate == GS_LEVEL )
{
if ( timer == 50 )
{

View file

@ -915,7 +915,7 @@ Class Eviscerator : SWWMWeapon
XZW9 AB 1;
XZW9 C 1 A_Parry(9);
XZW9 D 1;
XZW9 E 2 A_Melee(60);
XZW9 E 2 A_Melee(60,"demolitionist/whitm");
XZW9 FGH 2;
XZW9 I 2 A_StartSound("eviscerator/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 JKL 2;
@ -926,7 +926,7 @@ Class Eviscerator : SWWMWeapon
XZWA QRS 1;
XZWA T 1 A_Parry(9);
XZWA U 1;
XZWA V 2 A_Melee(60);
XZWA V 2 A_Melee(60,"demolitionist/whitm");
XZWA WXY 2;
XZWA Z 2 A_StartSound("eviscerator/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZWB ABC 2;

View file

@ -477,7 +477,7 @@ Class DeepImpact : SWWMWeapon
XZW4 I 2;
XZW4 J 1 A_Parry(9);
XZW4 KLM 1;
XZW4 N 4 A_Melee(60);
XZW4 N 4 A_Melee(60,"demolitionist/whits");
XZW4 O 3 { invoker.PlayUpSound(self); }
XZW4 PQRSTUV 2;
Goto Ready;

View file

@ -997,7 +997,7 @@ Class SWWMWeapon : Weapon abstract
if ( !FindInventory("ParryDamageChecker") )
GiveInventory("ParryDamageChecker",1); // need this so parried projectiles deal extra damage
}
private action bool TryMelee( double angle, int dmg )
private action bool TryMelee( double angle, int dmg, String hitsound = "" )
{
FTranslatedLineTarget t;
double slope = AimLineAttack(angle,1.5*DEFMELEERANGE,t,0.,ALF_CHECK3D);
@ -1048,13 +1048,13 @@ Class SWWMWeapon : Weapon abstract
}
A_QuakeEx(quakin/2,quakin/2,quakin/2,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.06*quakin);
if ( raging ) A_StartSound(bloodless?"pusher/althit":"pusher/altmeat",CHAN_WEAPON,CHANF_OVERLAP);
else A_StartSound(bloodless?"demolitionist/punch":"demolitionist/punchf",CHAN_WEAPON,CHANF_OVERLAP);
else A_StartSound((hitsound!="")?hitsound:bloodless?"demolitionist/punch":"demolitionist/punchf",CHAN_WEAPON,CHANF_OVERLAP);
A_AlertMonsters(300);
return true;
}
return false;
}
action void A_Melee( int dmg = 40 )
action void A_Melee( int dmg = 40, String hitsound = "" )
{
// temporarily disable parry field so we can trace through
if ( invoker.pfield ) invoker.pfield.bSHOOTABLE = false;
@ -1087,7 +1087,7 @@ Class SWWMWeapon : Weapon abstract
int maxang = raging?18:12;
for ( int i=0; i<maxang; i++ )
{
if ( TryMelee(angle+i*(45./16),dmg) || TryMelee(angle-i*(45./16),dmg) )
if ( TryMelee(angle+i*(45./16),dmg,hitsound) || TryMelee(angle-i*(45./16),dmg,hitsound) )
{
if ( invoker.pfield ) invoker.pfield.bSHOOTABLE = true;
return;
@ -1128,7 +1128,7 @@ Class SWWMWeapon : Weapon abstract
}
int quakin = raging?4:1;
A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.12*quakin);
A_StartSound(raging?"pusher/althit":"demolitionist/punch",CHAN_WEAPON,CHANF_OVERLAP);
A_StartSound(raging?"pusher/althit":(hitsound!="")?hitsound:"demolitionist/punch",CHAN_WEAPON,CHANF_OVERLAP);
A_AlertMonsters(100);
if ( raging ) raging.DoHitFX();
}

View file

@ -630,7 +630,7 @@ Class PusherWeapon : SWWMWeapon
XZW5 ABC 2;
XZW5 D 1 A_Parry(9);
XZW5 EFGH 1;
XZW5 I 0 A_Melee(70);
XZW5 I 0 A_Melee(70,"demolitionist/whitl");
XZW5 IJ 2;
XZW5 K 2 { invoker.PlayUpSound(self); }
XZW5 LM 2;

View file

@ -1675,7 +1675,7 @@ Class Sparkster : SWWMWeapon
XZW4 EFG 2;
XZW4 H 1 A_Parry(9);
XZW4 IJ 1;
XZW4 K 2 A_Melee(60);
XZW4 K 2 A_Melee(60,"demolitionist/whitm");
XZW4 LMNOPQ 2;
XZW4 R 2 A_StartSound("biospark/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZW4 STUVWX 2;