Tweaked the shake effect on all weapons. Covered up some seams on redeemer texture. Moved the model slightly to cover up a gap. Corrected the chainsaw and translocator HUD icons.
105 lines
2.4 KiB
Text
105 lines
2.4 KiB
Text
Class UTChainsaw : UTWeapon replaces Chainsaw
|
|
{
|
|
double sawcnt;
|
|
|
|
action void A_SawHit()
|
|
{
|
|
A_QuakeEx(3,3,3,2,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
|
invoker.sawcnt += 1./TICRATE;
|
|
if ( invoker.sawcnt < 0.15 ) return;
|
|
invoker.sawcnt = 0;
|
|
invoker.FireEffect();
|
|
}
|
|
action void A_SawSwipe()
|
|
{
|
|
A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
|
invoker.FireEffect();
|
|
}
|
|
Default
|
|
{
|
|
Tag "Chainsaw";
|
|
Inventory.PickupMessage "It's been twenty five years since I've seen one of these."; // was five years in UT99
|
|
Weapon.UpSound "chainsaw/select";
|
|
Weapon.SlotNumber 1;
|
|
Weapon.SelectionOrder 9;
|
|
+WEAPON.MELEEWEAPON;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
CSWP A -1;
|
|
Stop;
|
|
CSWP B -1;
|
|
Stop;
|
|
Select:
|
|
CSWS A 1 A_Raise(int.max);
|
|
Wait;
|
|
Ready:
|
|
CSWS ABCDEFGHIJLMNO 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
|
Idle:
|
|
CSWI A 0 A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
|
CSWI ABCDEFGHIJ 1
|
|
{
|
|
A_WeaponReady();
|
|
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
|
}
|
|
Goto Idle+1;
|
|
Fire:
|
|
CSWJ A 1 A_PlaySound("chainsaw/fire",CHAN_6,looping:true);
|
|
CSWJ BCDEF 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
|
Hold:
|
|
CSWJ G 1 A_SawHit();
|
|
CSWJ H 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ H 1 A_SawHit();
|
|
CSWJ I 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ I 1 A_SawHit();
|
|
CSWJ J 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ J 1 A_SawHit();
|
|
CSWJ K 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ K 1 A_SawHit();
|
|
CSWJ L 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ L 1 A_SawHit();
|
|
CSWJ M 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ M 1 A_SawHit();
|
|
CSWJ N 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ N 1 A_SawHit();
|
|
CSWJ O 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ O 1 A_SawHit();
|
|
CSWJ P 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ P 1 A_SawHit();
|
|
CSWJ Q 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ Q 1 A_SawHit();
|
|
CSWJ R 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ R 1 A_SawHit();
|
|
CSWJ S 0 A_Refire(1);
|
|
Goto Release;
|
|
CSWJ S 1 A_SawHit();
|
|
CSWJ G 0 A_Refire("Hold");
|
|
Release:
|
|
CSWJ FEDCBA 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
|
Goto Idle;
|
|
AltFire:
|
|
CSWA A 0 A_PlaySound("chainsaw/fire",CHAN_6);
|
|
CSWA ABCDEFG 2 A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
|
CSWA H 2 A_SawSwipe();
|
|
CSWA IJK 2 A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
|
CSWA K 0 A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
|
Goto Ready;
|
|
Deselect:
|
|
CSWD A 0 A_PlaySound("chainsaw/lower",CHAN_6);
|
|
CSWD ABCDEF 2;
|
|
CSWD F 1 A_Lower(int.max);
|
|
Wait;
|
|
}
|
|
}
|