Browse Source

finish assassin's dual pistols

master
Alison Watson 2 months ago
parent
commit
36b6ec9da5
18 changed files with 61 additions and 36 deletions
  1. BIN
      pk7/lsounds/WeaponsA/DualPistols/Draw
  2. BIN
      pk7/lsounds/WeaponsA/DualPistols/FireL
  3. BIN
      pk7/lsounds/WeaponsA/DualPistols/FireR
  4. +41
    -19
      pk7/lzscript/5_Assassin/2_DualPistols.zsc
  5. +2
    -2
      pk7/lzscript/6_DarkLord/5_DualRocket.zsc
  6. +2
    -15
      pk7/lzscript/Weapons/Base.zsc
  7. +6
    -0
      pk7/sndinfo.txt
  8. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISA0.png
  9. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISB0.png
  10. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISC0.png
  11. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISD0.png
  12. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISE0.png
  13. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISF0.png
  14. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISG0.png
  15. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISH0.png
  16. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISI0.png
  17. BIN
      pk7/sprites/WeaponsA/DualPistols/DPISJ0.png
  18. +10
    -0
      text/sound/weapons.a.txt

BIN
pk7/lsounds/WeaponsA/DualPistols/Draw View File


BIN
pk7/lsounds/WeaponsA/DualPistols/FireL View File


BIN
pk7/lsounds/WeaponsA/DualPistols/FireR View File


+ 41
- 19
pk7/lzscript/5_Assassin/2_DualPistols.zsc View File

@@ -15,14 +15,15 @@ default {
Tag "$LITH_INFO_SHORT_DualPistols";
Weapon.SlotNumber 2;
Weapon.SlotPriority 1;
Weapon.UpSound "weapons/dualpistols/draw";
}

action(Weapon) void Lith_A_FireDualPistols(int xofs) {
Lith_A_MagIncr();
A_GunFlash("DummyFlash");
Lith_FireBullets(2, 1, -1, 10, FBF_NORANDOM, tracerX: xofs);
Lith_A_GunSmokeSmall();
Lith_A_RecoilUp(1.5);
Lith_FireBullets(2, 1, -1, 10, tracerX: xofs);
Lith_A_GunSmokeSmall(xofs * 0.4);
Lith_A_RecoilUp(0.4);
A_FireProjectile("Lith_LightProjectileRedShort", 0);
}

@@ -42,21 +43,34 @@ Select:

Fire:
TNT1 A 0 Lith_A_JumpIfMagEmpty;
TNT1 A 5 Lith_A_DoubleState(_oscillate, _dst_fire);
TNT1 A 5 Lith_A_DoubleState(_oscillate, "FireLH", "FireRH");
TNT1 AA 1 A_ReFire;
goto ReadySelector;
FireLH:
DPIS B 0 A_StartSound("weapons/dualpistols/firel", lch_weapon);
DPIS B 1 Lith_A_FireDualPistols(-10);
DPIS E 1 bright {
A_OverlayOffset(_psp_double_lg, FRandom(0.1, 0.5) * -5.0, FRandom(0, 5), WOF_INTERPOLATE);
Lith_A_FireDualPistols(-10);
}
DPIS F 1 bright A_OverlayOffset(_psp_double_lg, -4, 2, WOF_ADD|WOF_INTERPOLATE);
DPIS J 1 bright A_OverlayOffset(_psp_double_lg, -2, 1, WOF_ADD|WOF_INTERPOLATE);
DPIS H 1 bright A_OverlayOffset(_psp_double_lg, -2, 1, WOF_ADD|WOF_INTERPOLATE);
DPIS B 0 A_OverlayOffset(_psp_double_lg, 0, 0, WOF_INTERPOLATE);
goto ReadyLH;
FireRH:
DPIS A 0 A_StartSound("weapons/dualpistols/firer", lch_weapon2);
DPIS A 1 Lith_A_FireDualPistols(10);
DPIS C 1 bright {
A_OverlayOffset(_psp_double_rg, FRandom(0.1, 0.5) * 5.0, FRandom(0, 5), WOF_INTERPOLATE);
Lith_A_FireDualPistols(10);
}
DPIS D 1 bright A_OverlayOffset(_psp_double_rg, 4, 2, WOF_ADD|WOF_INTERPOLATE);
DPIS I 1 bright A_OverlayOffset(_psp_double_rg, 2, 1, WOF_ADD|WOF_INTERPOLATE);
DPIS G 1 bright A_OverlayOffset(_psp_double_rg, 2, 1, WOF_ADD|WOF_INTERPOLATE);
DPIS A 0 A_OverlayOffset(_psp_double_rg, 0, 0, WOF_INTERPOLATE);
goto ReadyRH;
FireEmptyLH:
DPIS B 0;
#### # 2 Lith_A_DoubleOffset(true, 0, 9);
#### # 1 Lith_A_DoubleOffset(true, -1, 13);
DPIS H 2 Lith_A_DoubleOffset(true, 0, 9);
DPIS B 1 Lith_A_DoubleOffset(true, -1, 13);
#### # 1 Lith_A_DoubleOffset(true, -2, 11);
#### # 1 Lith_A_DoubleOffset(true, -2, 8);
#### # 1 Lith_A_DoubleOffset(true, -2, 6);
@@ -65,9 +79,8 @@ FireEmptyLH:
#### # 1 Lith_A_DoubleOffset(true, 0, 0);
goto ReadyLH;
FireEmptyRH:
DPIS A 0;
#### # 2 Lith_A_DoubleOffset(false, 0, 9);
#### # 1 Lith_A_DoubleOffset(false, 1, 13);
DPIS G 2 Lith_A_DoubleOffset(false, 0, 9);
DPIS A 1 Lith_A_DoubleOffset(false, 1, 13);
#### # 1 Lith_A_DoubleOffset(false, 2, 11);
#### # 1 Lith_A_DoubleOffset(false, 2, 8);
#### # 1 Lith_A_DoubleOffset(false, 2, 6);
@@ -76,18 +89,21 @@ FireEmptyRH:
#### # 1 Lith_A_DoubleOffset(false, 0, 0);
goto ReadyRH;
FireEmpty:
#### # 6 Lith_A_DoubleState(_oscillate, _dst_fireempty);
#### # 9 A_StartSound("weapons/shotgun/empty", lch_dryweapon);
#### # 6 Lith_A_DoubleState(_oscillate, "FireEmptyLH", "FireEmptyRH");
#### # 9 A_StartSound("weapons/cshotgun/empty", lch_dryweapon);
#### #### 1 A_ReFire;
goto ReadySelector;

ReloadLH:
DPIS B 1 Lith_A_DoubleOffset(_lhs, 0, 2);
#### # 0 Lith_A_DropMag("Lith_PistolMagazine", "Lith_PistolMagazine2", -10,0,20, FRandom(1,3),0,0);
#### # 0 A_StartSound("weapons/dualpistols/out", lch_reload);
#### # 1 Lith_A_DoubleOffset(_lhs, -1, 4);
#### # 1 Lith_A_DoubleOffset(_lhs, -2, 13);
#### # 1 Lith_A_DoubleOffset(_lhs, -3, 23);
#### # 1 Lith_A_DoubleOffset(_lhs, -4, 43);
#### # 15 Lith_A_DoubleOffset(_lhs, -4, 110);
#### # 5 Lith_A_DoubleOffset(_lhs, -4, 110);
#### # 10 A_StartSound("weapons/dualpistols/in", lch_reload);
#### # 1 Lith_A_DoubleOffset(_lhs, -4, 43);
#### # 1 Lith_A_DoubleOffset(_lhs, -3, 23);
#### # 1 Lith_A_DoubleOffset(_lhs, -2, 13);
@@ -96,12 +112,15 @@ ReloadLH:
#### # 1 Lith_A_DoubleOffset(_lhs, 0, 0);
goto ReadyLH;
ReloadRH:
DPIS A 1 Lith_A_DoubleOffset(_rhs, 0, 2);
DPIS A 3 Lith_A_DoubleOffset(_rhs, 0, 2);
#### # 0 Lith_A_DropMag("Lith_PistolMagazine", "Lith_PistolMagazine2", 10,0,20, FRandom(1,3),0,0);
#### # 0 A_StartSound("weapons/dualpistols/out", lch_reload2, pitch: 0.75);
#### # 1 Lith_A_DoubleOffset(_rhs, 1, 4);
#### # 1 Lith_A_DoubleOffset(_rhs, 2, 13);
#### # 1 Lith_A_DoubleOffset(_rhs, 3, 23);
#### # 1 Lith_A_DoubleOffset(_rhs, 4, 43);
#### # 15 Lith_A_DoubleOffset(_rhs, 4, 110);
#### # 5 Lith_A_DoubleOffset(_rhs, 4, 110);
#### # 10 A_StartSound("weapons/dualpistols/in", lch_reload2, pitch: 0.75);
#### # 1 Lith_A_DoubleOffset(_rhs, 4, 43);
#### # 1 Lith_A_DoubleOffset(_rhs, 3, 23);
#### # 1 Lith_A_DoubleOffset(_rhs, 2, 13);
@@ -110,8 +129,11 @@ ReloadRH:
#### # 1 Lith_A_DoubleOffset(_rhs, 0, 0);
goto ReadyRH;
Reload:
#### # 0 Lith_A_JumpIfMagFull;
#### # 20 Lith_A_DoubleState(_no_oscill, _dst_reload);
#### # 0 Lith_A_JumpIfMagFull;
#### # 5 Lith_A_DoubleState(_no_oscill, "ReloadLH", "ReloadRH");
#### # 10 Lith_A_ReloadBobDn(0.4);
#### # 10 Lith_A_ReloadBobUp(0.2);
#### # 0 A_StartSound("weapons/dualpistols/slide", lch_reload3);
#### # 10 Lith_A_ReloadFinish;
goto ReadySelector;
}


+ 2
- 2
pk7/lzscript/6_DarkLord/5_DualRocket.zsc View File

@@ -61,7 +61,7 @@ Select:

Fire:
TNT1 A 0 A_JumpIf(countInv("Lith_RocketAmmo") < 1, "FireEmpty");
TNT1 A 10 Lith_A_DoubleState(_oscillate, _dst_fire);
TNT1 A 10 Lith_A_DoubleState(_oscillate, "FireLH", "FireRH");
TNT1 A 0 A_ReFire;
goto ReadySelector;
FireLH:
@@ -105,7 +105,7 @@ FireOffsetsRH:
#### # 1 Lith_A_DoubleOffset(_rhs, 0, 0);
goto ReadyRH;
FireEmpty:
#### # 6 Lith_A_DoubleState(_oscillate, _dst_fireempty);
#### # 6 Lith_A_DoubleState(_oscillate, "FireEmptyLH", "FireEmptyRH");
#### # 9 A_StartSound("weapons/rocket/empty", lch_dryweapon);
#### #### 1 A_ReFire;
goto ReadySelector;


+ 2
- 15
pk7/lzscript/Weapons/Base.zsc View File

@@ -21,12 +21,6 @@ enum Lith_PSprite {
_psp_flash = PSP_FLASH,
}

enum Lith_DoubleState {
_dst_fire,
_dst_fireempty,
_dst_reload,
}

enum Lith_Hand {
_rhs,
_lhs,
@@ -99,16 +93,9 @@ action(Weapon) void Lith_A_DoubleRaise() {
A_OverlayFlags(_psp_double_rg, _psp_flags, true);
}

action(Weapon) void Lith_A_DoubleState(bool oscillate, int st) {
if(oscillate) invoker.m_side = !invoker.m_side;
// MAJOR HACK ALERT
statelabel lh, rh;
switch(st) {
case _dst_fire: lh = "FireLH"; rh = "FireRH"; break;
case _dst_fireempty: lh = "FireEmptyLH"; rh = "FireEmptyRH"; break;
case _dst_reload: lh = "ReloadLH"; rh = "ReloadRH"; break;
}
action(Weapon) void Lith_A_DoubleState(bool oscillate, statelabel lh, statelabel rh) {
if(oscillate) {
invoker.m_side = !invoker.m_side;
if(invoker.m_side) A_Overlay(_psp_double_lg, lh);
else A_Overlay(_psp_double_rg, rh);
} else {


+ 6
- 0
pk7/sndinfo.txt View File

@@ -492,6 +492,12 @@ weapons/burstrif/fire2 lsounds/WeaponsA/BurstRifle/Fire2
weapons/burstrif/fire3 lsounds/WeaponsA/BurstRifle/Fire3
weapons/burstrif/bolt lsounds/WeaponsA/BurstRifle/Bolt
$random weapons/burstrif/fire { weapons/burstrif/fire1 weapons/burstrif/fire2 weapons/burstrif/fire3 }
weapons/dualpistols/firel lsounds/WeaponsA/DualPistols/FireL
weapons/dualpistols/firer lsounds/WeaponsA/DualPistols/FireR
weapons/dualpistols/in lsounds/WeaponsA/DualPistols/ReloadIn
weapons/dualpistols/out lsounds/WeaponsA/DualPistols/ReloadOut
weapons/dualpistols/slide lsounds/WeaponsA/DualPistols/ReloadSlide
weapons/dualpistols/draw lsounds/WeaponsA/DualPistols/Draw
weapons/mateba/fire lsounds/WeaponsC/Mateba/Fire
weapons/mateba/open lsounds/WeaponsC/Mateba/Open
weapons/mateba/eject lsounds/WeaponsC/Mateba/Eject


BIN
pk7/sprites/WeaponsA/DualPistols/DPISA0.png View File

Before After
Width: 86  |  Height: 76  |  Size: 5.4KB Width: 119  |  Height: 110  |  Size: 6.1KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISB0.png View File

Before After
Width: 86  |  Height: 76  |  Size: 5.3KB Width: 119  |  Height: 110  |  Size: 6.1KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISC0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 11KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISD0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 14KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISE0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 11KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISF0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 13KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISG0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 6.4KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISH0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 6.1KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISI0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 6.4KB

BIN
pk7/sprites/WeaponsA/DualPistols/DPISJ0.png View File

Before After
Width: 119  |  Height: 110  |  Size: 6.1KB

+ 10
- 0
text/sound/weapons.a.txt View File

@@ -15,6 +15,16 @@ weapons {
bolt Bolt # ???
$random fire {fire1, fire2, fire3,}
}

dualpistols {
== lsounds/WeaponsA/DualPistols
firel FireL # ???
firer FireR # ???
in ReloadIn # ???
out ReloadOut # ???
slide ReloadSlide # ???
draw Draw # ???
}
}

# EOF

Loading…
Cancel
Save