More view sway progress. This is harder than it looks.

This commit is contained in:
Mari the Deer 2023-05-10 22:04:27 +02:00
commit 7d2aec7053
4 changed files with 81 additions and 38 deletions

View file

@ -94,6 +94,7 @@ Class DeepImpact : SWWMWeapon
{
let weap = Weapon(invoker);
if ( !weap ) return;
A_BumpView(-.05);
A_QuakeEx(.1,.1,.1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.05);
A_StartSound("deepimpact/dryfire",CHAN_WEAPON,CHANF_OVERLAP,.5);
A_AlertMonsters(swwm_uncapalert?0:70);
@ -254,6 +255,8 @@ Class DeepImpact : SWWMWeapon
{
invoker.failtime = gametic+32;
A_StartSound("deepimpact/dryaltfire",CHAN_WEAPON,CHANF_OVERLAP);
A_BumpView(-.05);
A_QuakeEx(.1,.1,.1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.05);
}
action void A_AltBullet()
@ -362,7 +365,10 @@ Class DeepImpact : SWWMWeapon
Stop;
Select:
XZW2 I 2 A_FullRaise();
XZW2 JKLMNOP 2;
XZW2 J 2 A_BumpView(.2,tics:2);
XZW2 KL 2 A_BumpView(-.2,tics:2);
XZW2 MN 2 A_BumpView(-.1,tics:2);
XZW2 OP 2 A_BumpView(.1,tics:2);
Goto Ready;
Ready:
XZW2 A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWZOOM);
@ -394,7 +400,7 @@ Class DeepImpact : SWWMWeapon
Goto Ready;
AltRelease:
XZW2 V 1 A_AltBullet();
XZW2 W 1;
XZW2 W 1 A_BumpView(.15,tics:15);
XZW2 X 2;
XZW2 YZ 3;
XZW3 AB 5;
@ -404,36 +410,45 @@ Class DeepImpact : SWWMWeapon
Reload:
XZW2 A 0 A_JumpIf(invoker.clipcount>=invoker.default.clipcount,"NoReload");
XZW2 A 2 A_StartSound("deepimpact/reloadbeg",CHAN_WEAPON,CHANF_OVERLAP);
XZW3 HIJ 2;
XZW3 HIJ 2 A_BumpView(.1,tics:2);
ReloadHold:
XZW3 K 2 A_Crank();
XZW3 LM 2;
XZW3 K 2
{
A_Crank();
A_BumpView(-.1,tics:2);
}
XZW3 LM 2 A_BumpView(-.2,tics:2);
XZW3 NOPQ 3;
XZW3 K 0 A_JumpIf((player.cmd.buttons&(BT_RELOAD|BT_ALTATTACK))&&(invoker.clipcount<invoker.default.clipcount),"ReloadHold");
XZW3 K 2 A_StartSound("deepimpact/reloadend",CHAN_WEAPON,CHANF_OVERLAP);
XZW3 RSTUV 2;
XZW3 RSTUV 2 A_BumpView(.1,tics:2);
Goto Ready;
NoReload:
XZW2 A 2 A_StartSound("deepimpact/reloadbeg",CHAN_WEAPON,CHANF_OVERLAP);
XZW3 HIJ 2;
XZW3 HIJ 2 A_BumpView(.1,tics:2);
NoReloadHold:
XZW3 K 2 A_NoCrank();
XZW3 L 2;
XZW3 M 5;
XZW3 K 2
{
A_NoCrank();
A_BumpView(-.1,tics:2);
}
XZW3 L 2 A_BumpView(-.2,tics:2);
XZW3 M 5 A_BumpView(-.2,tics:2);
XZW3 L 3;
XZW3 K 2 A_StartSound("deepimpact/reloadend",CHAN_WEAPON,CHANF_OVERLAP);
XZW3 RSTUV 2;
XZW3 RSTUV 2 A_BumpView(.1,tics:2);
Goto Ready;
Zoom:
XZW2 A 3
{
A_StartSound("deepimpact/checkout",CHAN_WEAPON,CHANF_OVERLAP);
A_PlayerCheckGun();
A_BumpView(.2,tics:3);
}
XZW3 WXYZ 3;
XZW4 AB 4;
XZW4 CD 3;
XZW4 EFG 2;
XZW3 WXYZ 3 A_BumpView(-.2,tics:3);
XZW4 AB 4 A_BumpView(-.1,tics:4);
XZW4 CD 3 A_BumpView(.2,tics:3);
XZW4 EFG 2 A_BumpView(.1,tics:2);
Goto Ready;
User1:
XZW2 A 2
@ -459,8 +474,15 @@ Class DeepImpact : SWWMWeapon
XZW4 PQRSTUV 2;
Goto Ready;
Deselect:
XZW2 A 2 A_StartSound("deepimpact/deselect",CHAN_WEAPON,CHANF_OVERLAP);
XZW2 BCDEFGH 2;
XZW2 A 2
{
A_StartSound("deepimpact/deselect",CHAN_WEAPON,CHANF_OVERLAP);
A_BumpView(-.2,tics:2);
}
XZW2 BC 2 A_BumpView(-.1,tics:2);
XZW2 DE 2 A_BumpView(-.1,tics:2);
XZW2 FG 2 A_BumpView(.1,tics:2);
XZW2 H 2 A_BumpView(.2,tics:2);
XZW2 I -1 A_FullLower();
Stop;
}

View file

@ -470,26 +470,37 @@ Class Spreadgun : SWWMWeapon
XZW2 A 1
{
A_StartSound("spreadgun/deselect",CHAN_WEAPON,CHANF_OVERLAP);
A_BumpView(-.1);
return A_JumpIf(invoker.fired,"DeselectFired");
}
XZW2 BCDEFGH 1;
XZW2 BCD 1 A_BumpView(.1);
XZW2 EF 1 A_BumpView(.2);
XZW2 GH 1 A_BumpView(.3);
XZW2 I -1 A_FullLower();
Stop;
DeselectFired:
XZW2 Z 1;
XZW3 ABCDEFG 1;
XZW2 Z 1 A_BumpView(-.1);
XZW3 ABC 1 A_BumpView(.1);
XZW3 DE 1 A_BumpView(.2);
XZW3 FG 1 A_BumpView(.3);
XZW3 H -1 A_FullLower();
Stop;
Select:
XZW2 I 1
{
A_FullRaise();
A_BumpView(.2);
return A_JumpIf(invoker.fired,"SelectFired");
}
XZW2 JKLMNOPQ 1;
XZW2 JKL 1 A_BumpView(-.1);
XZW2 MNO 1 A_BumpView(-.2);
XZW2 PQ 1 A_BumpView(.1);
Goto Ready;
SelectFired:
XZW3 HIJKLMNOP 1;
XZW3 H 1 A_BumpView(.2);
XZW3 IJK 1 A_BumpView(-.1);
XZW3 LMN 1 A_BumpView(-.2);
XZW3 OP 1 A_BumpView(.1);
Goto ReadyFired;
Ready:
XZW2 A 1 A_SpreadgunReady();
@ -583,9 +594,12 @@ Class Spreadgun : SWWMWeapon
A_PlayerCheckGun();
return A_JumpIf(invoker.fired,"ZoomFired");
}
XZW5 PQRSTUVWXYZ 1;
XZW6 ABCDEFGHI 2;
XZW6 JKLMNO 1;
XZW5 PQR 1 A_BumpView(.1);
XZW5 STUVWXYZ 1 A_BumpView(-.2);
XZW6 ABCDEF 2 A_BumpView(-.15,tics:2);
XZW6 GHI 2 A_BumpView(-.1,tics:2);
XZW6 JKL 1 A_BumpView(.2);
XZW6 MNO 1 A_BumpView(.1);
Goto Ready;
ZoomFired:
XZW2 Z 1;
@ -608,35 +622,41 @@ Class Spreadgun : SWWMWeapon
A_StartSound("spreadgun/deselect",CHAN_WEAPON,CHANF_OVERLAP);
return A_JumpIf(invoker.fired,"User1Fired");
}
XZW7 PQ 2;
XZW7 PQ 2 A_BumpView(.05,tics:2);
User1Hold:
XZW7 R 1
{
A_BumpAngle(1.);
A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
A_Overlay(-9999,"DummyMelee");
}
XZW7 STUV 2;
XZW7 ST 2 A_BumpAngle(-.25,tics:2);
XZW7 UV 2;
XZW7 WX 3;
XZW7 Y 0 A_JumpIf(player.cmd.buttons&BT_USER1,"User1Hold");
XZW7 Y 0 { invoker.PlayUpSound(self); }
XZW7 Y 2;
XZW7 Z 2;
XZW8 AB 2;
XZW7 Y 2 A_BumpView(.2,tics:2);
XZW7 Z 2 A_BumpView(.1,tics:2);
XZW8 AB 2 A_BumpView(-.1,tics:2);
Goto Ready;
User1Fired:
XZW2 Z 2;
XZW9 CD 2;
XZW9 CD 2 A_BumpView(.05,tics:2);
User1FiredHold:
XZW9 E 1
{
A_BumpAngle(1.);
A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
A_Overlay(-9999,"DummyMelee");
}
XZW9 FGHI 2;
XZW9 FG 2 A_BumpAngle(-.25,tics:2);
XZW9 HI 2;
XZW9 JK 3;
XZW9 L 0 A_JumpIf(player.cmd.buttons&BT_USER1,"User1FiredHold");
XZW9 L 0 { invoker.PlayUpSound(self); }
XZW9 LMNO 2;
XZW9 L 2 A_BumpView(.2,tics:2);
XZW9 M 2 A_BumpView(.1,tics:2);
XZW9 NO 2 A_BumpView(-.1,tics:2);
Goto ReadyFired;
FlashRed:
XZW0 A 2 Bright

View file

@ -818,7 +818,7 @@ Class DualExplodiumGun : SWWMWeapon
XZW2 C 2 A_BumpView(-.1,tics:2);
XZW2 D 2
{
A_BumpView(-.1,tics:2);
A_BumpView(-.1,tics:2);
player.SetPSprite(PSP_WEAPON+1,ResolveState("LeftSelect"));
}
XZW2 E 2 A_BumpView(-.1,tics:2);
@ -1216,15 +1216,16 @@ Class DualExplodiumGun : SWWMWeapon
Goto LeftReady;
User1:
XZW2 A 1 { player.SetPSPrite(PSP_WEAPON+1,ResolveState("LeftUser1")); }
XZW7 TU 1;
XZW7 TU 1 A_BumpView(.1);
User1Hold:
XZW7 V 1
{
A_BumpAngle(1.);
A_PlayerMelee(true);
A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
A_Parry(9);
}
XZW7 WX 1;
XZW7 WX 1 A_BumpAngle(-.5);
XZW7 Y 1 A_Melee();
XZW7 Z 2;
XZW8 ABCDE 2;