One half of "swinger" recoil system added.

This commit is contained in:
Marisa the Magician 2018-09-15 14:14:34 +02:00
commit c15847a10a
7 changed files with 141 additions and 5 deletions

View file

@ -46,6 +46,7 @@ Class UTChainsaw : UTWeapon
action void A_SawHit()
{
A_QuakeEx(2,2,2,2,0,1,"",QF_RELATIVE,rollIntensity:0.15);
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](-1,1),FRandom[Chainsaw](-1,1)),0.6,-0.2,2,SWING_Spring);
invoker.sawcnt += 1./TICRATE;
if ( invoker.sawcnt < 0.15 ) return;
invoker.sawcnt = 0;
@ -86,6 +87,7 @@ Class UTChainsaw : UTWeapon
action void A_SawSwipe( bool initial = false )
{
A_QuakeEx(2,2,2,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](-1,1),FRandom[Chainsaw](-1,1)),0.6,-0.2,2,SWING_Spring);
if ( initial ) invoker.FireEffect();
A_AlertMonsters();
Vector3 x, y, z;
@ -136,6 +138,7 @@ Class UTChainsaw : UTWeapon
A_AlertMonsters();
if ( bAlt ) A_QuakeEx(1,1,1,3,0,1,"",QF_RELATIVE,rollIntensity:0.4);
else A_QuakeEx(0,0,0,2,0,1,"",QF_RELATIVE,rollIntensity:0.2);
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](-1,1),FRandom[Chainsaw](-1,1)),0.25,-0.1,2,SWING_Spring);
if ( bAlt || Random[Chainsaw](0,2) ) return;
Vector3 x, y, z;
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
@ -232,9 +235,17 @@ Class UTChainsaw : UTWeapon
CSWJ FEDCBA 1 A_Vibrate();
Goto Idle;
AltFire:
CSWA A 0 A_PlaySound("chainsaw/fire",CHAN_6);
CSWA A 0
{
A_PlaySound("chainsaw/fire",CHAN_6);
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](-0.8,-1.2),FRandom[Chainsaw](-0.4,-0.7)),0,1,5,SWING_Spring2,6);
}
CSWA ABCDE 2 A_Vibrate(true);
CSWA F 2 A_Overlay(PSP_WEAPON+1,"AltFireSwipes");
CSWA F 2
{
A_Overlay(PSP_WEAPON+1,"AltFireSwipes");
UTMainHandler.DoSwing(self,(FRandom[Chainsaw](0.8,1.2),FRandom[Chainsaw](0,0)),0,2,6,SWING_Spring2);
}
CSWA GHIJ 2;
CSWA K 2 A_Vibrate(true);
CSWA K 0 A_PlaySound("chainsaw/idle",CHAN_6,looping:true);