From a6ccec0997380a3e276b991d94927f49d1f29c12 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 30 May 2018 01:36:38 +0200 Subject: [PATCH] Began working on Rocket Launcher. Corrected some stuff and tweaked models and offsets again. Added gib impact sounds (Droplets compat). Made Translocator module throwing work like in UT (same math, even). Corrected sludge wall sticking, uses projection now rather than a cheap trace. --- modeldef.eightball | 3 +- modeldef.flak | 6 +- modeldef.ges | 6 +- modeldef.pulse | 4 +- modeldef.ripper | 4 +- modeldef.transloc | 7 +- sndinfo.txt | 8 + sounds/gibP1.ogg | Bin 0 -> 9424 bytes sounds/gibP3.ogg | Bin 0 -> 10061 bytes sounds/gibP4.ogg | Bin 0 -> 7378 bytes sounds/gibP5.ogg | Bin 0 -> 6090 bytes sounds/gibP6.ogg | Bin 0 -> 7520 bytes zscript/biorifle.zsc | 6 +- zscript/eightball.zsc | 313 ++++++++++++++++++++++++++++++++++++--- zscript/flakcannon.zsc | 2 +- zscript/minigun.zsc | 5 +- zscript/powerups.zsc | 12 +- zscript/pulsegun.zsc | 32 ++-- zscript/translocator.zsc | 8 +- 19 files changed, 356 insertions(+), 60 deletions(-) create mode 100644 sounds/gibP1.ogg create mode 100644 sounds/gibP3.ogg create mode 100644 sounds/gibP4.ogg create mode 100644 sounds/gibP5.ogg create mode 100644 sounds/gibP6.ogg diff --git a/modeldef.eightball b/modeldef.eightball index c29badd..53ef201 100644 --- a/modeldef.eightball +++ b/modeldef.eightball @@ -81,8 +81,9 @@ Model "UTRocketLauncher" SurfaceSkin 0 3 "Eight_t4.png" SurfaceSkin 0 4 "miniammoledbase.png" Scale -0.24 0.12 0.24 - Offset 2.0 -11.0 -9.5 + Offset 2.0 -12.0 -10.5 AngleOffset 90 + RollOffset -3 // Select FrameIndex EBLS A 0 0 diff --git a/modeldef.flak b/modeldef.flak index 9d4ba85..9b1bc2f 100644 --- a/modeldef.flak +++ b/modeldef.flak @@ -742,7 +742,7 @@ Model "FlakCannon" AngleOffset 90 PitchOffset 90 Scale 0.08 0.08 0.08 - Offset 7.4 -25.0 -7.5 + Offset 7.4 -25.0 -8.5 FrameIndex FMUZ A 2 0 } @@ -758,9 +758,9 @@ Model "FlakCannon" SurfaceSkin 0 4 "flakammoledbase.png" AngleOffset 90 PitchOffset 180 - RollOffset 174.375 + RollOffset 178 Scale 0.28 -0.14 0.28 - Offset 8.6 -10.4 -12.8 + Offset 8.6 -10.4 -13.8 // select FrameIndex FLKS A 0 0 diff --git a/modeldef.ges b/modeldef.ges index b14b865..0812f81 100644 --- a/modeldef.ges +++ b/modeldef.ges @@ -16,7 +16,7 @@ Model "BioGel" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.096 0.08 + Scale 0.096 0.08 0.08 PitchOffset -90 USEACTORPITCH USEACTORROLL @@ -88,7 +88,7 @@ Model "BioSplash" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.096 0.08 + Scale 0.096 0.08 0.08 PitchOffset -90 USEACTORPITCH USEACTORROLL @@ -160,7 +160,7 @@ Model "BioGlob" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.096 0.08 + Scale 0.096 0.08 0.08 PitchOffset -90 USEACTORPITCH USEACTORROLL diff --git a/modeldef.pulse b/modeldef.pulse index 34c85a4..b3d6076 100644 --- a/modeldef.pulse +++ b/modeldef.pulse @@ -181,7 +181,7 @@ Model "PulseGun" AngleOffset 90 PitchOffset 90 Scale 0.08 0.08 0.08 - Offset 8.5 -25.0 -4.5 + Offset 8.5 -25.0 -3.5 FrameIndex PMUZ A 2 0 } @@ -195,7 +195,7 @@ Model "PulseGun" SurfaceSkin 0 2 "JPulseGun_03.png" AngleOffset 90 Scale 0.26 -0.195 0.26 - Offset 0.0 -7.5 -8.0 + Offset 0.0 -7.5 -7.0 // Select FrameIndex PGNS A 0 2 diff --git a/modeldef.ripper b/modeldef.ripper index 79b4ec0..5aff58e 100644 --- a/modeldef.ripper +++ b/modeldef.ripper @@ -28,7 +28,7 @@ Model "Ripper2" Skin 1 "JRazorw.png" Scale 0.2 0.2 0.24 AngleOffset 90 - ZOffset 6 + ZOffset 10 FrameIndex RZRP B 1 0 } @@ -86,7 +86,7 @@ Model "Ripper2" SurfaceSkin 0 3 "JRazor5.png" SurfaceSkin 0 4 "JRazor3.png" Scale 0.16 -0.08 0.16 - Offset 6.4 -9.8 -7.9 + Offset 6.4 -9.8 -8.4 AngleOffset 90 // Select diff --git a/modeldef.transloc b/modeldef.transloc index 15d86da..622ce32 100644 --- a/modeldef.transloc +++ b/modeldef.transloc @@ -33,7 +33,7 @@ Model "Translocator" SurfaceSkin 1 1 "tloc2_.png" Scale 0.046 0.046 0.0552 AngleOffset -90 - ZOffset 6 + ZOffset 1 FrameIndex TLCP B 1 0 } @@ -48,8 +48,9 @@ Model "Translocator" SurfaceSkin 0 3 "tloc4.png" Scale 0.11 -0.055 0.11 Offset -19.8 -22.8 -31.2 - AngleOffset -94.21875 - PitchOffset 3.55555555556 + AngleOffset -95 + PitchOffset 5 + RollOffset -5 // select FrameIndex TLCS A 0 18 diff --git a/sndinfo.txt b/sndinfo.txt index 11c233d..2d156dc 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -120,6 +120,14 @@ misc/gibbed5 gib5 $random misc/gibbed { misc/gibbed1 misc/gibbed2 misc/gibbed3 misc/gibbed4 misc/gibbed5 } // universal gibs compat $alias UniversalGibs/Gib misc/gibbed +// droplets compat +misc/gibp1 gibp1 +misc/gibp2 gibp3 +misc/gibp3 gibp4 +misc/gibp4 gibp5 +misc/gibp5 gibp6 +$random misc/gibp { misc/gibp1 misc/gibp2 misc/gibp3 misc/gibp4 misc/gibp5 } +$alias blood/hit misc/gibp impact/select imppick impact/pull impaltst diff --git a/sounds/gibP1.ogg b/sounds/gibP1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..73af865b5f766ea2758a47ac2853ece51ca990c4 GIT binary patch literal 9424 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 V>ue_G9_PIfp7K7D9?3-u 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 literal 0 HcmV?d00001 diff --git a/sounds/gibP4.ogg b/sounds/gibP4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..55a046d396fe95534642944712153daa6d606e00 GIT binary patch literal 7378 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 literal 0 HcmV?d00001 diff --git a/sounds/gibP6.ogg b/sounds/gibP6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..470c6bc5ab380477a6e09959d0c274151da20776 GIT binary patch literal 7520 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 LBi@GcyaoIK{XLt| literal 0 HcmV?d00001 diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index 2c63897..be8a375 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -255,11 +255,12 @@ Class BioGel : Actor atside = 0; normal *= -1; } + Vector3 orig = (BlockingLine.v1.p.x,BlockingLine.v1.p.y,0); + Vector3 onwall = pos-(normal dot (pos-orig))*normal; + SetOrigin(onwall+normal*0.5,false); angle = atan2(normal.y,normal.x); pitch = 0; roll = 180; // otherwise it slides upwards (UT changes roll like this too) - LineTrace(angle+180,172,0,TRF_THRUACTORS,data:d); - SetOrigin(d.HitLocation+normal*0.5,false); if ( waterlevel > 0 ) hittype = HIT_FLOOR; else hittype = HIT_WALL; } @@ -345,6 +346,7 @@ Class BioGel : Actor +SKYEXPLODE; +FORCERADIUSDMG; +FORCEXYBILLBOARD; + +MOVEWITHSECTOR; } States { diff --git a/zscript/eightball.zsc b/zscript/eightball.zsc index 773bda6..bbc8be1 100644 --- a/zscript/eightball.zsc +++ b/zscript/eightball.zsc @@ -38,6 +38,10 @@ Class UTRocketAmmo2 : UTRocketAmmo Class UTRocket : Actor { + Default + { + Obituary "%o was smacked down by %k's Rocket Launcher."; + } States { Spawn: @@ -48,6 +52,10 @@ Class UTRocket : Actor Class UTGrenade : Actor { + Default + { + Obituary "%o was smacked down by %k's Rocket Launcher."; + } States { Spawn: @@ -58,12 +66,49 @@ Class UTGrenade : Actor Class UTRocketLauncher : UTWeapon { - int loaded; + Actor LockedTarget; + + // consumes 1 ammo + action void A_LoadRocket() + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + if ( weap.Ammo1.Amount <= 0 ) return; + if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; + } + + // refire that is ignored if there's no ammo + action void A_LoadedRefire( statelabel flash = null ) + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + if ( weap.Ammo1.Amount <= 0 ) return; + A_Refire(flash); + } + + // fire all the rockets (or grenades) + action void A_FireRockets( int num ) + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + if ( weap.bAltFire ) A_PlaySound("utrl/altfire",CHAN_WEAPON); + else A_PlaySound("utrl/fire",CHAN_WEAPON); + invoker.FireEffect(); + UTMainHandler.DoFlash(self,Color(64,255,0,0),1); + A_AlertMonsters(); + A_QuakeEx(2+num,2+num,2+num,6+num,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1+num*0.05); + // TODO + } + + // lock-on check (TODO) + Actor CheckTarget() + { + return null; + } Default { Tag "Rocket Launcher"; - //Obituary "%o was smacked down by %k's Rocket Launcher."; Inventory.PickupMessage "You got the Rocket Launcher."; Weapon.UpSound "utrl/select"; Weapon.SlotNumber 9; @@ -94,23 +139,253 @@ Class UTRocketLauncher : UTWeapon } Wait; Fire: - EBF1 ABCDEFGH 1; - EBF2 ABCDEFGHIJK 1; - EBF3 ABCDEFGHIJ 1; - EBF4 ABCDEFGHIJK 1; - EBF5 ABCDEFGHIJKLM 1; - EBF6 ABCDEFGHIJKLMNOP 1; - EBR1 ABCDEFG 1; - EBR2 ABCDEFG 1; - EBR3 ABCDEFG 1; - EBR4 ABCDEFG 1; - EBR5 ABCDEFG 1; - EBL1 ABCDEFG 1; - EBL2 ABCDEFG 1; - EBL3 ABCDEFG 1; - EBL4 ABCDEFG 1; - EBL5 ABCDEFG 1; - EBL6 ABCDEF 1; + AltFire: + // one is loaded already + EBLI A 3 A_LoadRocket(); + EBLI A 0 A_LoadedRefire(1); + Goto FireOne; + // load two + EBLI A 2; + EBL1 A 0; + EBR1 A 2 A_PlaySound("utrl/rotate",CHAN_WEAPON,0.1); + EBR1 B 0 A_Refire(1); + Goto FireOne; + EBR1 B 2; + EBR1 C 0 A_Refire(1); + Goto FireOne; + EBR1 C 2; + EBR1 D 0 A_Refire(1); + Goto FireOne; + EBR1 D 2; + EBR1 E 0 A_Refire(1); + Goto FireOne; + EBR1 E 2; + EBR1 F 0 A_Refire(1); + Goto FireOne; + EBR1 F 2; + EBR1 G 0 A_Refire(1); + Goto FireOne; + EBR1 G 2; + EBL2 A 0 A_Refire(1); + Goto FireOne; + EBL2 A 3 A_PlaySound("utrl/load",CHAN_WEAPON); + EBL2 B 0 A_Refire(1); + Goto FireOne; + EBL2 B 3; + EBL2 C 0 A_Refire(1); + Goto FireOne; + EBL2 C 3; + EBL2 D 0 A_Refire(1); + Goto FireOne; + EBL2 D 3; + EBL2 E 0 A_Refire(1); + Goto FireOne; + EBL2 E 3; + EBL2 F 0 A_Refire(1); + Goto FireOne; + EBL2 F 3; + EBL2 G 0 A_Refire(1); + Goto FireOne; + EBL2 G 3 A_LoadRocket(); + EBR2 A 0 A_LoadedRefire(1); + Goto FireTwo; + // load three + EBR2 A 2 A_PlaySound("utrl/rotate",CHAN_WEAPON,0.1); + EBR2 B 0 A_Refire(1); + Goto FireTwo; + EBR2 B 2; + EBR2 C 0 A_Refire(1); + Goto FireTwo; + EBR2 C 2; + EBR2 D 0 A_Refire(1); + Goto FireTwo; + EBR2 D 2; + EBR2 E 0 A_Refire(1); + Goto FireTwo; + EBR2 E 2; + EBR2 F 0 A_Refire(1); + Goto FireTwo; + EBR2 F 2; + EBR2 G 0 A_Refire(1); + Goto FireTwo; + EBR2 G 2; + EBL3 A 0 A_Refire(1); + Goto FireTwo; + EBL3 A 3 A_PlaySound("utrl/load",CHAN_WEAPON); + EBL3 B 0 A_Refire(1); + Goto FireTwo; + EBL3 B 3; + EBL3 C 0 A_Refire(1); + Goto FireTwo; + EBL3 C 3; + EBL3 D 0 A_Refire(1); + Goto FireTwo; + EBL3 D 3; + EBL3 E 0 A_Refire(1); + Goto FireTwo; + EBL3 E 3; + EBL3 F 0 A_Refire(1); + Goto FireTwo; + EBL3 F 3; + EBL3 G 0 A_Refire(1); + Goto FireTwo; + EBL3 G 3 A_LoadRocket(); + EBR3 A 0 A_LoadedRefire(1); + Goto FireThree; + // load four + EBR3 A 2 A_PlaySound("utrl/rotate",CHAN_WEAPON,0.1); + EBR3 B 0 A_Refire(1); + Goto FireThree; + EBR3 B 2; + EBR3 C 0 A_Refire(1); + Goto FireThree; + EBR3 C 2; + EBR3 D 0 A_Refire(1); + Goto FireThree; + EBR3 D 2; + EBR3 E 0 A_Refire(1); + Goto FireThree; + EBR3 E 2; + EBR3 F 0 A_Refire(1); + Goto FireThree; + EBR3 F 2; + EBR3 G 0 A_Refire(1); + Goto FireThree; + EBR3 G 2; + EBL4 A 0 A_Refire(1); + Goto FireThree; + EBL4 A 3 A_PlaySound("utrl/load",CHAN_WEAPON); + EBL4 B 0 A_Refire(1); + Goto FireThree; + EBL4 B 3; + EBL4 C 0 A_Refire(1); + Goto FireThree; + EBL4 C 3; + EBL4 D 0 A_Refire(1); + Goto FireThree; + EBL4 D 3; + EBL4 E 0 A_Refire(1); + Goto FireThree; + EBL4 E 3; + EBL4 F 0 A_Refire(1); + Goto FireThree; + EBL4 F 3; + EBL4 G 0 A_Refire(1); + Goto FireThree; + EBL4 G 3 A_LoadRocket(); + EBR4 A 0 A_LoadedRefire(1); + Goto FireFour; + // load five + EBR4 A 2 A_PlaySound("utrl/rotate",CHAN_WEAPON,0.1); + EBR4 B 0 A_Refire(1); + Goto FireFour; + EBR4 B 2; + EBR4 C 0 A_Refire(1); + Goto FireFour; + EBR4 C 2; + EBR4 D 0 A_Refire(1); + Goto FireFour; + EBR4 D 2; + EBR4 E 0 A_Refire(1); + Goto FireFour; + EBR4 E 2; + EBR4 F 0 A_Refire(1); + Goto FireFour; + EBR4 F 2; + EBR4 G 0 A_Refire(1); + Goto FireFour; + EBR4 G 2; + EBL5 A 0 A_Refire(1); + Goto FireFour; + EBL5 A 3 A_PlaySound("utrl/load",CHAN_WEAPON); + EBL5 B 0 A_Refire(1); + Goto FireFour; + EBL5 B 3; + EBL5 C 0 A_Refire(1); + Goto FireFour; + EBL5 C 3; + EBL5 D 0 A_Refire(1); + Goto FireFour; + EBL5 D 3; + EBL5 E 0 A_Refire(1); + Goto FireFour; + EBL5 E 3; + EBL5 F 0 A_Refire(1); + Goto FireFour; + EBL5 F 3; + EBL5 G 0 A_Refire(1); + Goto FireFour; + EBL5 G 3 A_LoadRocket(); + EBR5 A 0 A_LoadedRefire(1); + Goto FireFive; + // load six + EBR5 A 2 A_PlaySound("utrl/rotate",CHAN_WEAPON,0.1); + EBR5 B 0 A_Refire(1); + Goto FireFive; + EBR5 B 2; + EBR5 C 0 A_Refire(1); + Goto FireFive; + EBR5 C 2; + EBR5 D 0 A_Refire(1); + Goto FireFive; + EBR5 D 2; + EBR5 E 0 A_Refire(1); + Goto FireFive; + EBR5 E 2; + EBR5 F 0 A_Refire(1); + Goto FireFive; + EBR5 F 2; + EBR5 G 0 A_Refire(1); + Goto FireFive; + EBR5 G 2; + EBL6 A 0 A_Refire(1); + Goto FireFive; + EBL6 A 3 A_PlaySound("utrl/load",CHAN_WEAPON); + EBL6 B 0 A_Refire(1); + Goto FireFive; + EBL6 B 3; + EBL6 C 0 A_Refire(1); + Goto FireFive; + EBL6 C 3; + EBL6 D 0 A_Refire(1); + Goto FireFive; + EBL6 D 3; + EBL6 E 0 A_Refire(1); + Goto FireFive; + EBL6 E 3; + EBL6 F 0 A_Refire(1); + Goto FireFive; + EBL6 F 3 A_LoadRocket(); + Goto FireSix; + FireOne: + EBF1 A 0 A_FireRockets(1); + EBF1 ABCDEFGH 2; + EBLI A 2; + Goto Idle; + FireTwo: + EBF2 A 0 A_FireRockets(2); + EBF2 ABCDEFGHIJK 2; + EBLI A 2; + Goto Idle; + FireThree: + EBF3 A 0 A_FireRockets(3); + EBF3 ABCDEFGHIJ 2; + EBLI A 2; + Goto Idle; + FireFour: + EBF4 A 0 A_FireRockets(4); + EBF4 ABCDEFGHIJK 2; + EBLI A 2; + Goto Idle; + FireFive: + EBF5 A 0 A_FireRockets(5); + EBF5 ABCDEFGHIJKLM 2; + EBLI A 2; + Goto Idle; + FireSix: + EBF6 A 0 A_FireRockets(6); + EBF6 ABCDEFGHIJKLMNOP 2; + EBLI A 2; Goto Idle; Deselect: EBLD ABCDEFGHIJK 1; diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index 33ff75c..a63365e 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -482,7 +482,7 @@ Class FlakCannon : UTWeapon action void A_Loading( bool first = false ) { if ( first ) A_PlaySound("flak/load",CHAN_WEAPON); - else A_PlaySound("flak/reload",CHAN_5); + else A_PlaySound("flak/reload",CHAN_6); } action void A_FireChunks() { diff --git a/zscript/minigun.zsc b/zscript/minigun.zsc index b1f94bd..d31f373 100644 --- a/zscript/minigun.zsc +++ b/zscript/minigun.zsc @@ -105,7 +105,7 @@ Class Minigun : UTWeapon invoker.bcnt = alt?3:5; if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; invoker.FireEffect(); - UTMainHandler.DoFlash(self,Color(64,255,255,0),1); + UTMainHandler.DoFlash(self,Color(32,255,255,0),1); A_AlertMonsters(); if ( alt ) A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.12); else A_QuakeEx(2,2,2,5,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.08); @@ -407,7 +407,8 @@ Class Minigun : UTWeapon MGU2 ABCDEFGHIJKLM 1; Goto Idle; Deselect: - MGND ABCDEFGHIJ 2; + MGND A 2 A_StopSound(CHAN_WEAPON); + MGND BCDEFGHIJ 2; MGND J 1 A_Lower(int.max); Wait; MuzzleFlash: diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc index c0a1e3e..0692935 100644 --- a/zscript/powerups.zsc +++ b/zscript/powerups.zsc @@ -61,7 +61,7 @@ Class DamageAmplifier : Powerup Default { - Powerup.Duration -30; + Powerup.Duration -60; Powerup.Color "EE00FF", 0.15; } @@ -219,11 +219,6 @@ Class PowerUTInvisibility : PowerInvisibility Super.EndEffect(); PrintPickupMessage(true,"Invisibility has worn off."); } - override bool isBlinking() - { - // don't cause blinking, it bugs out models - return false; - } } Class UTInvisibility : PowerupGiver replaces BlurSphere @@ -347,6 +342,11 @@ Class UTJumpBoots : Inventory replaces RadSuit Owner.TakeInventory("PowerJumpBoots_HighJump",1); Owner.TakeInventory("PowerJumpBoots_IronFeet",1); } + override void OwnerDied() + { + Super.OwnerDied(); + DepleteOrDestroy(); + } States { Spawn: diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index 0625a41..0ca5b6e 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -197,7 +197,7 @@ Class PulseBoltCap : Actor +NOGRAVITY; +NOCLIP; +DONTSPLASH; - Scale 0.25; + Scale 0.15; } States { @@ -217,7 +217,7 @@ Class PulseBoltHit : Actor +NOGRAVITY; +NOCLIP; +DONTSPLASH; - Scale 0.25; + Scale 0.15; } States { @@ -293,8 +293,8 @@ Class PulseBolt : Actor weffect.Destroy(); weffect = null; } - if ( !weffect ) weffect = Spawn("PulseBoltHit",t.Results.HitPos); - else weffect.SetOrigin(t.Results.HitPos,true); + if ( !weffect ) weffect = Spawn("PulseBoltHit",t.Results.HitPos-t.Results.HitVector); + else weffect.SetOrigin(t.Results.HitPos-t.Results.HitVector,true); A_SprayDecal("BoltScorch",beamsize+8); if ( next ) { @@ -325,8 +325,8 @@ Class PulseBolt : Actor weffect.Destroy(); weffect = null; } - if ( !weffect ) weffect = Spawn("PulseBoltCap",t.Results.HitPos); - else weffect.SetOrigin(t.Results.HitPos,true); + if ( !weffect ) weffect = Spawn("PulseBoltCap",t.Results.HitPos-t.Results.HitVector); + else weffect.SetOrigin(t.Results.HitPos-t.Results.HitVector,true); } else { @@ -350,8 +350,8 @@ Class PulseBolt : Actor { frame = parent.frame; SetOrigin(parent.Vec3Offset(x.x*beamsize,x.y*beamsize,x.z*beamsize),true); - A_SetAngle(parent.angle,SPF_INTERPOLATE); - A_SetPitch(parent.pitch,SPF_INTERPOLATE); + A_SetAngle(parent.angle); + A_SetPitch(parent.pitch); CheckBeam(x); } Default @@ -363,6 +363,7 @@ Class PulseBolt : Actor +NOGRAVITY; +NOCLIP; +DONTSPLASH; + +INTERPOLATEANGLES; } States { @@ -390,12 +391,12 @@ Class StarterBolt : PulseBolt if ( target.player ) { [x, y, z] = Matrix4.GetAxes(target.pitch,target.angle,target.roll); - origin = (0,0,target.player.viewz-target.pos.z)+5.0*x+3.0*y-1.5*z; + origin = (0,0,target.player.viewz-target.pos.z)+5.0*x+3.0*y-1.0*z; } else origin = (0,0,target.missileheight); SetOrigin(target.Vec3Offset(origin.x,origin.y,origin.z),true); - A_SetAngle(target.angle,SPF_INTERPOLATE); - A_SetPitch(target.BulletSlope(),SPF_INTERPOLATE); + A_SetAngle(target.angle); + A_SetPitch(target.BulletSlope()); frame++; if ( frame > 4 ) frame = 0; CheckBeam(x); @@ -436,7 +437,7 @@ Class PulseGun : UTWeapon A_AlertMonsters(); Vector3 x, y, z; [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+4.5*y-2.4*z; + Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+4.5*y-1.9*z; int numpt = Random[Pulse](2,5); for ( int i=0; i