From fb96c7523ece690ccba3ad6534b24bdec48e92b0 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 28 Sep 2019 17:14:55 +0200 Subject: [PATCH] Portal awareness adjustments to various vector operations. Got rid of the deprecated Matrix4.GetAxes method. Next step is to get rid of more stuff by migrating to libeye. Mirrored Translocator model so it shows the actually detailed side. At some point in UT's development it got flipped around for some reason. Weapon code cleanup (most noticeable on states). Backported scope shader from Doomreal. Added optional "dummied out" Sniper zoom sounds from a dubious source. --- cvarinfo.txt | 2 + gldefs.txt | 7 +- language.txt | 4 + menudef.txt | 2 + models/Transloc_a.3d | Bin 88884 -> 88884 bytes models/Transloc_d.3d | Bin 5632 -> 5632 bytes shaders/glsl/UTRifleScope.fp | 14 ++ sndinfo.txt | 2 + sounds/zoomDOWN.ogg | Bin 0 -> 12684 bytes sounds/zoomUP.ogg | Bin 0 -> 13044 bytes zscript/biorifle.zsc | 68 +++------ zscript/chainsaw.zsc | 126 ++++++----------- zscript/dt_matrix.zsc | 16 --- zscript/eightball.zsc | 263 +++++++---------------------------- zscript/enforcer.zsc | 82 +++++++---- zscript/flakcannon.zsc | 44 ++++-- zscript/impacthammer.zsc | 122 +++++++--------- zscript/minigun.zsc | 199 +++++--------------------- zscript/powerups.zsc | 8 +- zscript/pulsegun.zsc | 186 +++++++++++-------------- zscript/ripper.zsc | 2 +- zscript/shockrifle.zsc | 12 +- zscript/sniperrifle.zsc | 39 ++++-- zscript/translocator.zsc | 2 +- zscript/utcommon.zsc | 8 +- zscript/uthud.zsc | 6 +- zscript/warheadlauncher.zsc | 10 +- 27 files changed, 446 insertions(+), 778 deletions(-) create mode 100644 shaders/glsl/UTRifleScope.fp create mode 100644 sounds/zoomDOWN.ogg create mode 100644 sounds/zoomUP.ogg diff --git a/cvarinfo.txt b/cvarinfo.txt index 3abdb8c..5d91fa1 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -43,3 +43,5 @@ server bool flak_dmsshock = false; // allow enhanced shock rifle on deathmatch server noarchive bool flak_instagib = false; // instagib mode (only for dm) - this cvar has to be set from the command line user float flak_flashstrength = 1.0; // strength of screen flashes server bool flak_sawammo = false; // chainsaw uses fuel +user bool flak_zoomsound = false; // sniper rifle plays unused zoom sounds (annoying) +user bool flak_zoomshader = false; // sniper rifle has a scope shader diff --git a/gldefs.txt b/gldefs.txt index 86ea1da..64f0907 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -611,4 +611,9 @@ SkyBox "KGDaySky" fliptop "graphics/SkySetB_left.png" "graphics/SkySetB_up.png" "graphics/SkySetB_down.png" -} \ No newline at end of file +} +HardwareShader PostProcess scene +{ + Name "UTRifleScope" + Shader "shaders/glsl/UTRifleScope.fp" 330 +} diff --git a/language.txt b/language.txt index b0c6205..1008c29 100644 --- a/language.txt +++ b/language.txt @@ -217,6 +217,8 @@ FLAK_UCORPS = "Corpses take damage (unstable)"; FLAK_DTEST = "Edit Kinsie's test map"; FLAK_FSTRENGTH = "Screen flash strength"; FLAK_SAWAMMO = "Chainsaw uses ammo"; +FLAK_ZSHADER = "Sniper scope shader"; +FLAK_ZOOMSND = "Enable zoom sounds"; FLAK_TAUNTS = "Taunts"; FLAK_TAUNT1 = "Victory 1"; FLAK_TAUNT2 = "Victory 2"; @@ -438,6 +440,8 @@ FLAK_UCORPS = "Los cadáveres reciben daño (inestable)"; FLAK_DTEST = "Editar mapa de pruebas de Kinsie"; FLAK_FSTRENGTH = "Intensidad de destellos en pantalla"; FLAK_SAWAMMO = "La motosierra usa combustible"; +FLAK_ZSHADER = "Shader de mira de Rifle de Francotirador"; +FLAK_ZOOMSND = "Habilitar sonidos de zoom"; FLAK_TAUNTS = "Provocaciones"; FLAK_TAUNT1 = "Victoria 1"; FLAK_TAUNT2 = "Victoria 2"; diff --git a/menudef.txt b/menudef.txt index d6acc0b..b46eca3 100644 --- a/menudef.txt +++ b/menudef.txt @@ -28,6 +28,8 @@ OptionMenu "UTOptionMenu" Option "$FLAK_RSWITCH", "flak_noswitchdeemer", "YesNo" Option "$FLAK_CSSHOCK", "flak_classicsshock", "YesNo" Option "$FLAK_SAWAMMO", "flak_sawammo", "YesNo" + Option "$FLAK_ZOOMSND", "flak_zoomsound", "YesNo" + Option "$FLAK_ZSHADER", "flak_zoomshader", "YesNo" Option "$FLAK_RECOIL", "flak_swingers", "YesNo" Slider "$FLAK_RSTRENGTH", "flak_swingerstrength", 0.0, 1.0, 0.1, 1 Slider "$FLAK_FSTRENGTH", "flak_flashstrength", 0.0, 1.0, 0.1, 1 diff --git a/models/Transloc_a.3d b/models/Transloc_a.3d index 2cadac953732ff632b87598c571620c13aa291ef..1aca14ae390d9eb4200a25dc9a7c59b3db507a46 100644 GIT binary patch literal 88884 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 diff --git a/models/Transloc_d.3d b/models/Transloc_d.3d index e39db70113a4721d42c648df8ef46221b74d5ee9..e40e79839ce55e56a7ed3bf2033b69403823b5f3 100644 GIT binary patch literal 5632 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 RV8*}!&M%8or$&PE3jhne)!P67 literal 5632 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 sz.y ) p.x *= sz.x/sz.y; + else p.y *= sz.y/sz.x; + vec3 col = texture(InputTexture,uv+p*pow(length(p),8.)*40.).rgb; + col = mix(col,max(col.r,max(col.g,col.b))*vec3(.2,.7,1.),vec3(.3)); + float fade = 1.-clamp(pow(length(p)*2.,16.),0.,1.); + col *= fade; + FragColor = vec4(mix(base*.1,col,vec3(fade)),1.); +} diff --git a/sndinfo.txt b/sndinfo.txt index a2c738d..231762c 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -303,6 +303,8 @@ utrl/bounce hit1 sniper/select riflepck sniper/fire sniperf +sniper/zoomup zoomup +sniper/zoomdown zoomdown warhead/explode warexplo warhead/fly warfly diff --git a/sounds/zoomDOWN.ogg b/sounds/zoomDOWN.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d9a952b59d4d1d99065c77915994f6d832c02aab GIT binary patch literal 12684 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 0 ) + { + invoker.special1--; + return; + } + invoker.special1 = 2; UTMainHandler.DoSwing(self,(FRandom[GES](-1,1),FRandom[GES](-1,1)),0.02*invoker.charge,0,5,SWING_Spring,0,2); if ( invoker.charge >= 5.1 ) return; if ( weap.Ammo1.Amount <= 0 ) return; @@ -788,63 +795,26 @@ Class BioRifle : UTWeapon BIOF BCDEFGHI 1; Goto Idle; AltCheck: - TNT1 A 1; - TNT1 A 0 A_JumpIf(player.cmd.buttons&BT_ALTATTACK,"AltCheck"); - TNT1 A 0 A_Overlay(PSP_WEAPON,"AltRelease"); - TNT1 A 1; + TNT1 A 1 + { + if ( player.cmd.buttons&BT_ALTATTACK ) + return ResolveState(null); + player.SetPSprite(PSP_WEAPON,ResolveState("AltRelease")); + return ResolveState("Null"); + } Wait; AltFire: BIOC A 0 A_Overlay(-9999,"AltCheck"); BIOC A 4 A_BeginCharge(); - BIOC B 5 A_ChargeUp(); - BIOC CD 5; - BIOC E 0 A_Refire(1); - Goto AltRelease; - BIOC E 5 A_ChargeUp(); - BIOC FG 5; - BIOC H 0 A_Refire(1); - Goto AltRelease; - BIOC H 5 A_ChargeUp(); - BIOC IJ 5; - BIOC K 0 A_Refire(1); - Goto AltRelease; - BIOC K 5 A_ChargeUp(); - BIOC LM 5; - BIOC N 0 A_Refire(1); - Goto AltRelease; - BIOC N 5 A_ChargeUp(); - BIOC OP 5; - BIOC Q 0 A_Refire(1); - Goto AltRelease; - BIOC Q 5 A_ChargeUp(); - BIOC RS 5; - BIOC T 0 A_Refire(1); - Goto AltRelease; - BIOC T 5 A_ChargeUp(); - BIOC UV 5; - BIOC W 0 A_Refire(1); - Goto AltRelease; - BIOC W 5 A_ChargeUp(); - BIOC XY 5; - BIOC Z 0 A_Refire(1); - Goto AltRelease; - BIOC Z 5 A_ChargeUp(); - BIC2 AB 5; - BIC2 C 0 A_Refire(1); - Goto AltRelease; - BIC2 C 5 A_ChargeUp(); - BIC2 DE 5; - BIOM A 0 A_Refire(1); - Goto AltRelease; - AltHeld: + BIOC BCDEFGHIJKLMNOPQRSTUVWXYZ 5 A_ChargeUp(); + BIC2 ABCDE 5 A_ChargeUp(); BIOM A 1; - BIOM A 0 A_Refire("AltHeld"); + Wait; AltRelease: BIOE A 1 { invoker.charge = min(5.1,invoker.charge+0.1); A_Overlay(-9999,null); - A_WeaponOffset(0,32); // fix sudden psprite lowering if ( self is 'UTPlayer' ) UTPlayer(self).PlayAttacking3(); } diff --git a/zscript/chainsaw.zsc b/zscript/chainsaw.zsc index 7577b33..72a1d14 100644 --- a/zscript/chainsaw.zsc +++ b/zscript/chainsaw.zsc @@ -65,10 +65,9 @@ Class UTChainsaw : UTWeapon double sawcnt; double ammocharge; - override void Tick() + override void DoEffect() { Super.Tick(); - if ( !Owner ) return; if ( flak_sawammo ) { AmmoType1 = "ChainsawAmmo"; @@ -127,41 +126,52 @@ Class UTChainsaw : UTWeapon 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; - invoker.FireEffect(); - A_AlertMonsters(); - Vector3 x, y, z; - [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x-4.0*z; - FLineTraceData d; - LineTrace(angle,90,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); - if ( d.HitType == TRACE_HitActor ) + if ( invoker.sawcnt > 0.15 ) { - int dmg = 20; - dmg = d.HitActor.DamageMobj(invoker,self,dmg,'slashed',DMG_USEANGLE,atan2(d.HitDir.y,d.HitDir.x)); - d.HitActor.vel -= x*(500/d.HitActor.mass); - vel += x*(100/mass); - if ( d.HitActor.player ) d.HitActor.A_QuakeEx(5,5,5,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25); - if ( d.HitActor.bNOBLOOD ) + invoker.sawcnt = 0; + invoker.FireEffect(); + A_AlertMonsters(); + Vector3 x, y, z; + [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-4*z); + FLineTraceData d; + LineTrace(angle,90,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); + if ( d.HitType == TRACE_HitActor ) + { + int dmg = 20; + dmg = d.HitActor.DamageMobj(invoker,self,dmg,'slashed',DMG_USEANGLE,atan2(d.HitDir.y,d.HitDir.x)); + d.HitActor.vel -= x*(500/d.HitActor.mass); + vel += x*(100/mass); + if ( d.HitActor.player ) d.HitActor.A_QuakeEx(5,5,5,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25); + if ( d.HitActor.bNOBLOOD ) + { + let p = Spawn("SawImpact",d.HitLocation-d.HitDir*4); + p.angle = atan2(d.HitDir.y,d.HitDir.x); + p.pitch = asin(-d.HitDir.z); + } + else + { + d.HitActor.TraceBleed(dmg,invoker); + d.HitActor.SpawnBlood(d.HitLocation,atan2(d.HitDir.y,d.HitDir.x)+180,dmg); + } + } + else if ( d.HitType != TRACE_HitNone ) { let p = Spawn("SawImpact",d.HitLocation-d.HitDir*4); p.angle = atan2(d.HitDir.y,d.HitDir.x); p.pitch = asin(-d.HitDir.z); - } - else - { - d.HitActor.TraceBleed(dmg,invoker); - d.HitActor.SpawnBlood(d.HitLocation,atan2(d.HitDir.y,d.HitDir.x)+180,dmg); + if ( d.HitType == TRACE_HitWall ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation-d.HitDir*4); } } - else if ( d.HitType != TRACE_HitNone ) + bool quitout = false; + if ( invoker.Ammo1 && (invoker.Ammo1.Amount <= 0) ) { - let p = Spawn("SawImpact",d.HitLocation-d.HitDir*4); - p.angle = atan2(d.HitDir.y,d.HitDir.x); - p.pitch = asin(-d.HitDir.z); - if ( d.HitType == TRACE_HitWall ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation-d.HitDir*4); + A_StopSound(CHAN_6); + A_PlaySound("chainsaw/lower",CHAN_WEAPON); + quitout = true; } + else if ( !(player.cmd.buttons&BT_ATTACK) ) quitout = true; + if ( quitout ) player.SetPSprite(PSP_WEAPON,ResolveState("Release")); } action void A_SawSwipe( bool initial = false ) { @@ -172,7 +182,7 @@ Class UTChainsaw : UTWeapon A_AlertMonsters(); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x-2.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-2*z); FLineTraceData d; double ang = (angle-60)+120*invoker.sawcnt; LineTrace(ang,90,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); @@ -226,7 +236,7 @@ Class UTChainsaw : UTWeapon if ( bAlt || Random[Chainsaw](0,2) ) return; Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+5.0*x+1.0*y-3.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),5*x+y-3*z); for ( int i=0; i<5; i++ ) { let s = Spawn("UTViewSmoke",origin); @@ -238,21 +248,6 @@ Class UTChainsaw : UTWeapon UTViewSmoke(s).vvel += (0,-0.2,0); } } - action state A_SawRefire( statelabel flash = null ) - { - if ( invoker.Ammo1 && (invoker.Ammo1.Amount <= 0) ) - { - A_ClearRefire(); - A_StopSound(CHAN_6); - A_PlaySound("chainsaw/lower",CHAN_WEAPON); - return ResolveState("Release"); - } - else - { - A_Refire(flash); - return ResolveState(null); - } - } Default { Tag "$T_CHAINSAW"; @@ -326,45 +321,10 @@ Class UTChainsaw : UTWeapon Fire: CSWJ A 1 A_PlaySound("chainsaw/fire",CHAN_6,looping:true); CSWJ BCDEF 1 A_Vibrate(); + Goto Hold; Hold: - CSWJ G 1 A_SawHit(); - CSWJ H 0 A_SawRefire(1); - Goto Release; - CSWJ H 1 A_SawHit(); - CSWJ I 0 A_SawRefire(1); - Goto Release; - CSWJ I 1 A_SawHit(); - CSWJ J 0 A_SawRefire(1); - Goto Release; - CSWJ J 1 A_SawHit(); - CSWJ K 0 A_SawRefire(1); - Goto Release; - CSWJ K 1 A_SawHit(); - CSWJ L 0 A_SawRefire(1); - Goto Release; - CSWJ L 1 A_SawHit(); - CSWJ M 0 A_SawRefire(1); - Goto Release; - CSWJ M 1 A_SawHit(); - CSWJ N 0 A_SawRefire(1); - Goto Release; - CSWJ N 1 A_SawHit(); - CSWJ O 0 A_SawRefire(1); - Goto Release; - CSWJ O 1 A_SawHit(); - CSWJ P 0 A_SawRefire(1); - Goto Release; - CSWJ P 1 A_SawHit(); - CSWJ Q 0 A_SawRefire(1); - Goto Release; - CSWJ Q 1 A_SawHit(); - CSWJ R 0 A_SawRefire(1); - Goto Release; - CSWJ R 1 A_SawHit(); - CSWJ S 0 A_SawRefire(1); - Goto Release; - CSWJ S 1 A_SawHit(); - CSWJ G 0 A_SawRefire("Hold"); + CSWJ GHIJKLMNOPQRS 1 A_SawHit(); + Loop; Release: CSWJ FEDCBA 1 A_Vibrate(); Goto Idle; diff --git a/zscript/dt_matrix.zsc b/zscript/dt_matrix.zsc index 3ce9ee6..685a954 100644 --- a/zscript/dt_matrix.zsc +++ b/zscript/dt_matrix.zsc @@ -105,20 +105,4 @@ Class dt_Matrix4 r.set(2,3,-1); return r; } - - // [deprecated] UE-like axes from rotation - // proper implementation moved to CoordUtil - static Vector3, Vector3, Vector3 getaxes( double pitch, double yaw, double roll ) - { - Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // y inverted for left-handed result - dt_Matrix4 mRoll = dt_Matrix4.rotate((1,0,0),roll); - dt_Matrix4 mPitch = dt_Matrix4.rotate((0,1,0),pitch); - dt_Matrix4 mYaw = dt_Matrix4.rotate((0,0,1),yaw); - dt_Matrix4 mRot = mRoll.mul(mYaw); - mRot = mRot.mul(mPitch); - x = mRot.vmat(x); - y = mRot.vmat(y); - z = mRot.vmat(z); - return x, y, z; - } } diff --git a/zscript/eightball.zsc b/zscript/eightball.zsc index ca45cec..ffc84ff 100644 --- a/zscript/eightball.zsc +++ b/zscript/eightball.zsc @@ -371,7 +371,7 @@ Class UTRocketLauncher : UTWeapon Vector3 x, y, z, x2, y2, z2; double a, s; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-3.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-3*z); [x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll); Actor p; if ( weap.bAltFire ) @@ -382,7 +382,7 @@ Class UTRocketLauncher : UTWeapon a = FRandom[Eightball](0,360); s = FRandom[Eightball](0,(num>1)?12:0); Vector3 dir = (x2+cos(a)*y2*s*0.004+sin(a)*z2*s*0.004).unit(); - p = Spawn("UTGrenade",origin+cos(a)*y*s+sin(a)*z*s); + p = Spawn("UTGrenade",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s)); p.vel = x*(vel dot x)*0.4 + dir*p.speed*FRandom[Eightball](1.0,1.2); p.vel.z += 3.5; p.target = self; @@ -391,7 +391,7 @@ Class UTRocketLauncher : UTWeapon else if ( num <= 1 ) { // single rocket - p = Spawn("UTRocket",origin+cos(a)*y*s+sin(a)*z*s); + p = Spawn("UTRocket",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s)); p.vel = x2*p.speed; p.target = self; p.tracer = invoker.LockedTarget; @@ -404,7 +404,7 @@ Class UTRocketLauncher : UTWeapon s = (num>1)?6:0; for ( int i=0; i0)?Min(20,weap.Ammo1.Amount):20; + if ( !flak_enforcerreload && (invoker.slaveclipcount <=0) ) invoker.slaveclipcount = Min(invoker.default.slaveclipcount,weap.Ammo1.Amount); } else { invoker.clipcount--; - if ( !flak_enforcerreload && (invoker.clipcount <=0) ) invoker.clipcount = (weap.Ammo1.Amount>0)?Min(20,weap.Ammo1.Amount):20; + if ( !flak_enforcerreload && (invoker.clipcount <=0) ) invoker.clipcount = Min(invoker.default.clipcount,weap.Ammo1.Amount); } invoker.FireEffect(); UTMainHandler.DoFlash(self,Color(32,255,128,0),1); @@ -327,10 +326,10 @@ Class Enforcer : UTWeapon } Vector3 x, y, z, x2, y2, z2; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x); int ydir = slave?-1:1; - if ( alt ) origin = origin-z*3.0+ydir*y*1.0; - else origin = origin-z*1.0+ydir*y*4.0; + if ( alt ) origin = level.Vec3Offset(origin,-z*3+ydir*y); + else origin = level.Vec3Offset(origin,-z+ydir*y*4); double a = FRandom[Enforcer](0,360), s = FRandom[Enforcer](0,alt?invoker.altaccuracy:0.004); [x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll); Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit(); @@ -386,7 +385,7 @@ Class Enforcer : UTWeapon s.target = self; s.alpha *= 0.5; } - origin += x*8.0+ydir*y*6.0-z*2.0; + origin = level.Vec3Offset(origin,x*8+ydir*y*6-z*2); let c = Spawn("UTCasing",origin); c.vel = x*FRandom[Junk](-1.5,1.5)+y*ydir*FRandom[Junk](2,4)+z*FRandom[Junk](2,3); } @@ -406,7 +405,14 @@ Class Enforcer : UTWeapon override void OwnerDied() { Super.OwnerDied(); - slaverefire = 0; + slavereload = slaverefire = 0; + if ( Owner.player.ReadyWeapon != self ) return; + let psp = Owner.player.FindPSprite(2); + if ( psp ) + { + slaveactive = false; + Owner.player.SetPSprite(2,ResolveState("LeftDeselect")); + } } Default @@ -442,7 +448,10 @@ Class Enforcer : UTWeapon { invoker.slavedown = false; if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) + { + invoker.slavereload = invoker.slaverefire = 0; A_Overlay(2,"LeftReady"); + } } ENFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE); Idle: @@ -471,22 +480,21 @@ Class Enforcer : UTWeapon Dummy: TNT1 A 1 { - if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) A_Overlay(PSP_WEAPON,"Reload"); - else if ( flak_enforcerreload && ((invoker.clipcount < min(20,invoker.Ammo1.Amount)) || (invoker.slaveclipcount < min(20,invoker.Ammo1.Amount))) ) A_WeaponReady(WRF_ALLOWRELOAD); + if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) player.SetPSprite(PSP_WEAPON,ResolveState("Reload")); + else if ( flak_enforcerreload && ((invoker.clipcount < min(invoker.default.clipcount,invoker.Ammo1.Amount)) || (invoker.slaveclipcount < min(invoker.default.slaveclipcount,invoker.Ammo1.Amount))) ) A_WeaponReady(WRF_ALLOWRELOAD); else A_WeaponReady(); - if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) A_Overlay(2,"LeftReady"); + if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) + { + invoker.slavereload = invoker.slaverefire = 0; + A_Overlay(2,"LeftReady"); + } } Wait; LeftDummy: TNT1 A 1 { - if ( health <= 0 ) - { - invoker.slaveactive = false; - A_Overlay(2,"LeftDeselect"); - } - else if ( flak_enforcerreload && invoker.slavereload ) A_Overlay(2,"LeftReload"); - else if ( invoker.slavedown ) A_Overlay(2,"LeftDeselect"); + if ( flak_enforcerreload && invoker.slavereload ) player.SetPSprite(2,ResolveState("LeftReload")); + else if ( invoker.slavedown ) player.SetPSprite(2,ResolveState("LeftDeselect")); else A_LeftWeaponReady(); } Wait; @@ -543,50 +551,68 @@ Class Enforcer : UTWeapon Reload: ENFR A 0 { - invoker.slavereload = ((player.cmd.buttons&BT_RELOAD)&&invoker.slaveactive&&(invoker.slaveclipcount < min(20,invoker.Ammo1.Amount)))||(invoker.slaveclipcount <= 0); - return A_JumpIf(invoker.clipcount>=min(20,invoker.Ammo1.Amount),"Idle"); + if ( invoker.clipcount >= invoker.default.clipcount ) + { + invoker.slavereload = (invoker.slaveactive&&(invoker.slaveclipcount= invoker.default.slaveclipcount ) + { + invoker.slavereload = 0; + return ResolveState("LeftIdle"); + } + invoker.slaveclipcount = 0; A_Overlay(-9998,null); A_PlaySound("enforcer/click",CHAN_6); + return ResolveState(null); } 2NFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1; 2NR2 AB 1; 2NR2 B 30 { + invoker.slaveclipcount = min(invoker.default.slaveclipcount,invoker.Ammo1.Amount); A_PlaySound("enforcer/reload",CHAN_6); if ( self is 'UTPlayer' ) UTPlayer(self).PlayReloading(); + invoker.slavereload = false; } 2NFS A 0 A_PlaySound("enforcer/select",CHAN_6); Goto LeftReady; Deselect: - ENFI A 1 { invoker.slavedown = true; } - ENFD A 0 A_Overlay(-9999,null); - ENFD A 0 A_JumpIf(invoker.slaveactive,"Deselect"); + ENFD A 0 + { + A_Overlay(-9999,null); + invoker.slavedown = true; + } ENFD ABDEGHJK 1; - ENFD L 1 A_Lower(int.max); + ENFD L 1 + { + if ( !player.FindPSprite(2) ) + A_Lower(int.max); + } Wait; LeftDeselect: 2NFD A 0 diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index 2393f1d..4a23c0f 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -94,7 +94,7 @@ Class ChunkTrail : Actor SetState(FindState("Death")+dist); return; } - SetOrigin(target.pos+(0,0,speed),true); + SetOrigin(target.Vec3Offset(0,0,speed),true); } States { @@ -117,17 +117,18 @@ Class FlakAccumulator : Thinker override void Tick() { Super.Tick(); - bool oldxd = inflictor.bEXTREMEDEATH; int gibhealth = victim.GetGibHealth(); // おまえはもう死んでいる if ( victim.health-total <= gibhealth ) inflictor.bEXTREMEDEATH = true; // 何? + inflictor.bAMBUSH = true; for ( int i=0; i 2 ) Destroy(); } @@ -596,7 +612,7 @@ Class FlakCannon : UTWeapon Vector3 x, y, z; double a, s; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+4.0*y-3.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+4*y-3*z); A_Overlay(-2,"MuzzleFlash"); A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true); A_OverlayRenderstyle(-2,STYLE_Add); @@ -655,7 +671,7 @@ Class FlakCannon : UTWeapon Vector3 x, y, z; double a, s; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-3.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-3*z); A_Overlay(-2,"MuzzleFlash"); A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true); A_OverlayRenderstyle(-2,STYLE_Add); diff --git a/zscript/impacthammer.zsc b/zscript/impacthammer.zsc index bc98ea5..65e2a29 100644 --- a/zscript/impacthammer.zsc +++ b/zscript/impacthammer.zsc @@ -50,17 +50,29 @@ Class ImpactHammer : UTWeapon invoker.count = 0; invoker.FireEffect(); // intentional UT behavior } - action void A_ChargeUp( int amt = 1 ) + action void A_ChargeUp() { - invoker.chargesize += (0.75*amt)/TICRATE; - invoker.count += double(amt)/TICRATE; - if ( invoker.count > 0.2 ) + invoker.chargesize += .75/TICRATE; + invoker.count += 1./TICRATE; + if ( invoker.count > .2 ) { invoker.count = 0; A_AlertMonsters(); } - A_QuakeEx(clamp(int(invoker.chargesize*3),0,3),clamp(int(invoker.chargesize*3),0,3),clamp(int(invoker.chargesize*3),0,3),amt+1,0,96,"",QF_RELATIVE,rollIntensity:clamp(invoker.chargesize*0.3,0,0.3)); + A_QuakeEx(clamp(int(invoker.chargesize*3),0,3),clamp(int(invoker.chargesize*3),0,3),clamp(int(invoker.chargesize*3),0,3),2,0,96,"",QF_RELATIVE,rollIntensity:clamp(invoker.chargesize*0.3,0,0.3)); UTMainHandler.DoSwing(self,(FRandom[Impact](-1,1),FRandom[Impact](-1,1)),invoker.chargesize*0.1,0,1,SWING_Spring); + if ( !(player.cmd.buttons&BT_ATTACK) ) + { + player.SetPSprite(PSP_WEAPON,ResolveState("Release")); + return; + } + FLineTraceData d; + Vector3 x, y, z; + [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-4*z); + LineTrace(angle,40,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); + if ( (invoker.chargesize > 1) && (d.HitType == TRACE_HitActor) ) + player.SetPSprite(PSP_WEAPON,ResolveState("Release")); } action void A_FireBlast() { @@ -72,7 +84,7 @@ Class ImpactHammer : UTWeapon A_AlertMonsters(); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-4*z); double realcharge = min(1.5,invoker.chargesize); FLineTraceData d; LineTrace(angle,60,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); @@ -137,7 +149,7 @@ Class ImpactHammer : UTWeapon A_QuakeEx(2,2,2,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-4*z); FLineTraceData d; LineTrace(angle,120,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); double dscale = d.Distance/120.; @@ -187,20 +199,6 @@ Class ImpactHammer : UTWeapon s.scale *= 0.4; } } - action void A_ImpactRefire( statelabel flash = null ) - { - FLineTraceData d; - Vector3 x, y, z; - [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z; - LineTrace(angle,40,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); - if ( (invoker.chargesize > 1) && (d.HitType == TRACE_HitActor) ) - { - A_ClearRefire(); - return; - } - A_Refire(flash); - } override void DetachFromOwner() { if ( Owner ) Owner.A_StopSound(CHAN_WEAPON); @@ -237,75 +235,55 @@ Class ImpactHammer : UTWeapon A_WeaponReady(); } Wait; + Charging: + TNT1 A 1 A_ChargeUp(); + Wait; Fire: IMPL A 0 { A_ResetCharge(); + A_Overlay(-9999,"Charging"); A_PlaySound("impact/pull",CHAN_WEAPON); } - IMPL A 5 A_ChargeUp(5); - IMPL B 0 A_ImpactRefire(1); - Goto Release; - IMPL B 5 A_ChargeUp(5); - IMPL C 0 A_ImpactRefire(1); - Goto Release; - IMPL C 5 A_ChargeUp(5); - IMPL D 0 A_ImpactRefire(1); - Goto Release; - IMPL D 5 A_ChargeUp(5); - IMPL E 0 A_ImpactRefire(1); - Goto Release; - IMPL E 5 A_ChargeUp(5); - IMPL E 0 A_ImpactRefire(1); - Goto Release; - IMPL E 0 A_PlaySound("impact/loop",CHAN_WEAPON,looping:true); + IMPL ABCDE 5; + IMPR A 0 A_PlaySound("impact/loop",CHAN_WEAPON,looping:true); + Goto Hold; Hold: - IMPR A 1 A_ChargeUp(); - IMPR B 0 A_ImpactRefire(1); - Goto Release; - IMPR B 1 A_ChargeUp(); - IMPR C 0 A_ImpactRefire(1); - Goto Release; - IMPR C 1 A_ChargeUp(); - IMPR D 0 A_ImpactRefire(1); - Goto Release; - IMPR D 1 A_ChargeUp(); - IMPR E 0 A_ImpactRefire(1); - Goto Release; - IMPR E 1 A_ChargeUp(); - IMPR F 0 A_ImpactRefire(1); - Goto Release; - IMPR F 1 A_ChargeUp(); - IMPR G 0 A_ImpactRefire(1); - Goto Release; - IMPR G 1 A_ChargeUp(); - IMPR H 0 A_ImpactRefire(1); - Goto Release; - IMPR H 1 A_ChargeUp(); - IMPR I 0 A_ImpactRefire(1); - Goto Release; - IMPR I 1 A_ChargeUp(); - IMPR J 0 A_ImpactRefire(1); - Goto Release; - IMPR J 1 A_ChargeUp(); - IMPR A 0 A_ImpactRefire("Hold"); - Goto Release; + IMPR ABCDEFGHIJ 1; + Loop; Release: IMPF A 0 { + A_Overlay(-9999,null); if ( self is 'UTPlayer' ) UTPlayer(self).PlayAttacking3(); A_FireBlast(); } - IMPF AABCCDEEFGGHIIJKKLMMNOOP 1; + // this is why we need a model animation overhaul + IMPF A 2; + IMPF B 1; + IMPF C 2; + IMPF D 1; + IMPF E 2; + IMPF F 1; + IMPF G 2; + IMPF H 1; + IMPF I 2; + IMPF J 1; + IMPF K 2; + IMPF L 1; + IMPF M 2; + IMPF N 1; + IMPF O 2; + IMPF P 1; Goto Idle; AltFire: - IMPF A 0 A_FireAltBlast(); - IMPF ABCDEFGHIJKLMNOP 1; + IMPF A 1 A_FireAltBlast(); + IMPF BCDEFGHIJKLMNOP 1; Goto Idle; Deselect: - IMPD A 0 A_StopSound(CHAN_WEAPON); - IMPD ABCDE 2; + IMPD A 2 A_StopSound(CHAN_WEAPON); + IMPD BCDE 2; IMPD E 1 A_Lower(int.max); Wait; } diff --git a/zscript/minigun.zsc b/zscript/minigun.zsc index 6785cd9..eca1419 100644 --- a/zscript/minigun.zsc +++ b/zscript/minigun.zsc @@ -56,7 +56,7 @@ Class MinigunTracer : Actor return; } dir = dir.unit(); - SetOrigin(Vec3Offset(dir.x*160,dir.y*160,dir.z*160),true); + SetOrigin(level.Vec3Offset(pos,dir*160),true); angle = atan2(dir.y,dir.x); pitch = asin(-dir.z); roll += 60; @@ -103,7 +103,7 @@ Class Minigun : UTWeapon if ( !alt ) MinigunLight(l).cnt--; Vector3 x, y, z, x2, y2, z2; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+y*2.0-z*2.0; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+y*2-z*2); double a = FRandom[Minigun](0,360), s = FRandom[Minigun](0,alt?0.05:0.02); [x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll); Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit(); @@ -155,7 +155,7 @@ Class Minigun : UTWeapon } if ( !Random[Minigun](0,1) ) { - let t = Spawn("MinigunTracer",origin+x*20.0); + let t = Spawn("MinigunTracer",level.Vec3Offset(origin,x*20)); t.angle = atan2(dir.y,dir.x); t.pitch = asin(-dir.z); MinigunTracer(t).dest = d.HitLocation; @@ -169,37 +169,23 @@ Class Minigun : UTWeapon UTViewSmoke(s).vvel += (FRandom[Minigun](0.2,0.8),FRandom[Minigun](-0.3,0.3),FRandom[Minigun](-0.3,0.3)); s.target = self; } - origin += x*8.0+y*5.0-z*5.0; + origin = level.Vec3Offset(origin,x*8+y*5-z*5); let c = Spawn("UTCasing",origin); c.vel = x*FRandom[Junk](-1.5,1.5)+y*FRandom[Junk](2,4)+z*FRandom[Junk](2,3); c.Scale *= 0.5; } - action void A_MinigunRefire( statelabel flash = null, bool nounwind = false ) + action void A_MinigunRefire() { Weapon weap = Weapon(invoker); if ( !weap || !player ) return; if ( weap.Ammo1.Amount <= 0 ) { - if ( nounwind ) return; A_ClearRefire(); - player.setpsprite(PSP_WEAPON,weap.FindState("Unwind")); return; } - if ( nounwind ) - { - if ( player.cmd.buttons&BT_ALTATTACK ) - { - weap.bAltFire = true; - flash = "AltFire"; - } - else - { - weap.bAltFire = false; - flash = "Fire"; - } - } - A_Refire(flash); + weap.bAltFire = !!(player.cmd.buttons&BT_ALTATTACK); + A_Refire("Hold"); } Default @@ -237,141 +223,38 @@ Class Minigun : UTWeapon A_WeaponReady(); } Wait; + FireDummy: + TNT1 A 1 + { + let weap = Weapon(invoker); + if ( !(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)) || (weap.Ammo1.Amount <= 0) ) + { + player.SetPSprite(PSP_WEAPON,invoker.FindState("Unwind")); + return ResolveState("Null"); + } + return ResolveState(null); + } + Wait; Fire: AltFire: MGNI A 3 { invoker.bcnt = 5; } Hold: - MGNF A 1 - { - A_PlaySound("minigun/fire",CHAN_WEAPON,1.0,true); - A_FireBullet(); - } - MGNF B 0 A_MinigunRefire(1); - Goto Unwind; - MGNF B 1 A_FireBullet(); - MGNF C 0 A_MinigunRefire(1); - Goto Unwind; - MGNF C 1 A_FireBullet(); - MGNF D 0 A_MinigunRefire(1); - Goto Unwind; - MGNF D 1 A_FireBullet(); - MGNF E 0 A_MinigunRefire(1); - Goto Unwind; - MGNF E 1 A_FireBullet(); - MGNF F 0 A_MinigunRefire(1); - Goto Unwind; - MGNF F 1 A_FireBullet(); - MGNF G 0 A_MinigunRefire(1); - Goto Unwind; - MGNF G 1 A_FireBullet(); - MGNF H 0 A_MinigunRefire(1); - Goto Unwind; - MGNF H 1 A_FireBullet(); - MGNF I 0 A_MinigunRefire(1); - Goto Unwind; - MGNF I 1 A_FireBullet(); - MGNF J 0 A_MinigunRefire(1); - Goto Unwind; - MGNF J 1 A_FireBullet(); - MGNF K 0 A_MinigunRefire(1); - Goto Unwind; - MGNF K 1 A_FireBullet(); - MGNF L 0 A_MinigunRefire(1); - Goto Unwind; - MGNF L 1 A_FireBullet(); - MGNF M 0 A_MinigunRefire(1); - Goto Unwind; - MGNF M 1 A_FireBullet(); - MGNF N 0 A_MinigunRefire(1); - Goto Unwind; - MGNF N 1 A_FireBullet(); - MGNF O 0 A_MinigunRefire(1); - Goto Unwind; - MGNF O 1 A_FireBullet(); - MGNF P 0 A_MinigunRefire(1); - Goto Unwind; - MGNF P 1 A_FireBullet(); - MGNF Q 0 A_MinigunRefire(1); - Goto Unwind; - MGNF Q 1 A_FireBullet(); - MGNF R 0 A_MinigunRefire(1); - Goto Unwind; - MGNF R 1 A_FireBullet(); - MGNF S 0 A_MinigunRefire(1); - Goto Unwind; - MGNF S 1 A_FireBullet(); MGNF A 0 { - if ( invoker.bAltFire ) A_MinigunRefire(1); - else A_MinigunRefire("Hold"); + A_PlaySound("minigun/fire",CHAN_WEAPON,1.0,true); + A_Overlay(-9999,"FireDummy"); } - Goto Unwind; + MGNF ABCDEFGHIJKLMNOPQRS 1 A_FireBullet(); + MGNF A 0 A_JumpIf(invoker.bAltFire,1); + Goto Hold+1; AltHold: - MGNF A 1 - { - A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true); - A_FireBullet(true); - } - MGNF D 0 A_MinigunRefire(1); - Goto Unwind; - MGNF D 1 A_FireBullet(true); - MGNF G 0 A_MinigunRefire(1); - Goto Unwind; - MGNF G 1 A_FireBullet(true); - MGNF J 0 A_MinigunRefire(1); - Goto Unwind; - MGNF J 1 A_FireBullet(true); - MGNF M 0 A_MinigunRefire(1); - Goto Unwind; - MGNF M 1 A_FireBullet(true); - MGNF P 0 A_MinigunRefire(1); - Goto Unwind; - MGNF P 1 A_FireBullet(true); - MGNF S 0 A_MinigunRefire(1); - Goto Unwind; - MGNF S 1 A_FireBullet(true); - MGNF C 0 A_MinigunRefire(1); - Goto Unwind; - MGNF C 1 A_FireBullet(true); - MGNF F 0 A_MinigunRefire(1); - Goto Unwind; - MGNF F 1 A_FireBullet(true); - MGNF I 0 A_MinigunRefire(1); - Goto Unwind; - MGNF I 1 A_FireBullet(true); - MGNF L 0 A_MinigunRefire(1); - Goto Unwind; - MGNF L 1 A_FireBullet(true); - MGNF O 0 A_MinigunRefire(1); - Goto Unwind; - MGNF O 1 A_FireBullet(true); - MGNF R 0 A_MinigunRefire(1); - Goto Unwind; - MGNF R 1 A_FireBullet(true); - MGNF B 0 A_MinigunRefire(1); - Goto Unwind; - MGNF B 1 A_FireBullet(true); - MGNF E 0 A_MinigunRefire(1); - Goto Unwind; - MGNF E 1 A_FireBullet(true); - MGNF H 0 A_MinigunRefire(1); - Goto Unwind; - MGNF H 1 A_FireBullet(true); - MGNF K 0 A_MinigunRefire(1); - Goto Unwind; - MGNF K 1 A_FireBullet(true); - MGNF N 0 A_MinigunRefire(1); - Goto Unwind; - MGNF N 1 A_FireBullet(true); - MGNF Q 0 A_MinigunRefire(1); - Goto Unwind; - MGNF Q 1 A_FireBullet(true); - MGNF A 0 A_MinigunRefire("AltHold"); - Goto Unwind; + MGNF B 0 A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true); + MGNF ADGJMPSCFILORBEHKNQ 1 A_FireBullet(true); + Goto AltHold+1; Unwind: MGNU A 0 A_PlaySound("minigun/unwind",CHAN_WEAPON); - MGNU ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_MinigunRefire(null,true); - MGU2 ABCDEFGHIJKLM 1 A_MinigunRefire(null,true); + MGNU ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_MinigunRefire(); + MGU2 ABCDEFGHIJKLM 1 A_MinigunRefire(); Goto Idle; Deselect: MGND A 1 A_StopSound(CHAN_WEAPON); @@ -379,25 +262,11 @@ Class Minigun : UTWeapon MGND J 1 A_Lower(int.max); Wait; MuzzleFlash: - TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9); - Stop; - MMUZ A 2 Bright; - Stop; - MMUZ B 2 Bright; - Stop; - MMUZ C 2 Bright; - Stop; - MMUZ D 2 Bright; - Stop; - MMUZ E 2 Bright; - Stop; - MMUZ F 2 Bright; - Stop; - MMUZ G 2 Bright; - Stop; - MMUZ H 2 Bright; - Stop; - MMUZ I 2 Bright; + MMUZ # 2 Bright + { + let psp = player.FindPSprite(OverlayID()); + psp.frame = Random[Minigun](0,8); + } Stop; } } diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc index 1a56ee3..781bcae 100644 --- a/zscript/powerups.zsc +++ b/zscript/powerups.zsc @@ -47,6 +47,7 @@ Class DamageAmpLight : DynamicLight Class DamageAmplifier : Powerup { Actor l; + int lasteffect; Default { @@ -63,6 +64,7 @@ Class DamageAmplifier : Powerup override void InitEffect() { Super.InitEffect(); + lasteffect = int.min; l = Spawn("DamageAmpLight",Owner.pos); l.target = Owner; l.master = self; @@ -88,9 +90,11 @@ Class DamageAmplifier : Powerup void FireEffect() { + if ( gametic < lasteffect ) return; if ( EffectTics < 350 ) Owner.A_PlaySound("udamage/fire2",CHAN_7,1.0,false,0.25); else Owner.A_PlaySound("udamage/fire1",CHAN_7,1.0,false,0.25); - UTMainHandler.DoFlash(Owner,Color(96,238,0,255),10); + UTMainHandler.DoFlash(Owner,Color(48,238,0,255),6); + lasteffect = gametic+5; // prevent excess flash } override void ModifyDamage( int damage, Name damageType, out int newdamage, bool passive ) @@ -480,7 +484,7 @@ Class mkLight : DynamicLight Destroy(); return; } - if ( target.player ) SetOrigin((target.pos.x,target.pos.y,target.player.viewz),true); + if ( target.player ) SetOrigin(target.Vec2OffsetZ(0,0,target.player.viewz),true); else SetOrigin(target.vec3Offset(0,0,target.height*0.75),true); A_SetAngle(target.angle,SPF_INTERPOLATE); A_SetPitch(target.pitch,SPF_INTERPOLATE); diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index db30370..3bdd9b7 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -88,8 +88,8 @@ Class ViewPulseSpark : PulseSpark } Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll); - Vector3 origin = x*ofs.x+y*ofs.y+z*ofs.z+(0,0,target.player.viewz); - SetOrigin(target.Vec2OffsetZ(origin.x,origin.y,origin.z),true); + Vector3 origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),x*ofs.x+y*ofs.y+z*ofs.z); + SetOrigin(origin,true); bInvisible = (players[consoleplayer].camera != target); if ( isFrozen() ) return; ofs += vvel; @@ -470,7 +470,7 @@ Class PulseBolt : Actor { bRELATIVETOFLOOR = parent.bRELATIVETOFLOOR; frame = parent.frame; - SetOrigin(parent.Vec3Offset(x.x*beamsize,x.y*beamsize,x.z*beamsize),true); + SetOrigin(level.Vec3Offset(parent.pos,x*beamsize),true); A_SetAngle(parent.angle); A_SetPitch(parent.pitch); CheckBeam(x); @@ -514,7 +514,7 @@ Class StarterBolt : PulseBolt if ( target.player ) { [x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll); - origin = target.Vec2OffsetZ(0,0,target.player.viewz)+8.0*x+4.1*y-2.7*z; + origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),8*x+4.1*y-2.7*z); } else origin = target.Vec3Offset(0,0,target.missileheight); SetOrigin(origin,true); @@ -535,28 +535,31 @@ Class PulseGun : UTWeapon Property ClipCount : clipcount; - action void A_Reloading() - { - Weapon weap = Weapon(invoker); - if ( !weap ) return; - invoker.clipcount = Min(50,weap.Ammo1.Amount); - A_PlaySound("pulse/reload",CHAN_WEAPON); - } action void A_DrainAmmo() { Weapon weap = Weapon(invoker); if ( !weap ) return; - if ( weap.Ammo1.Amount <= 0 ) return; + if ( (weap.Ammo1.Amount <= 0) || !(player.cmd.buttons&BT_ALTATTACK) ) + { + player.SetPSprite(PSP_WEAPON,ResolveState("AltRelease")); + return; + } + if ( invoker.special1 > 0 ) + { + invoker.special1--; + return; + } + invoker.special1 = 9; if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; invoker.clipcount--; - if ( !flak_pulsereload && (invoker.clipcount <= 0) ) invoker.clipcount = (weap.Ammo1.Amount>0)?Min(50,weap.Ammo1.Amount):50; + if ( !flak_pulsereload && (invoker.clipcount <= 0) ) invoker.clipcount = min(invoker.default.clipcount,weap.Ammo1.Amount); invoker.FireEffect(); UTMainHandler.DoFlash(self,Color(32,128,255,128),1); - UTMainHandler.DoSwing(self,(FRandom[Pulse](-1,-1),FRandom[Pulse](-1,1)),0.1,-0.02,3,SWING_Spring,0,2); + UTMainHandler.DoSwing(self,(FRandom[Pulse](-1,1),FRandom[Pulse](-1,1)),0.1,-0.02,3,SWING_Spring,0,2); A_AlertMonsters(); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = Vec2OffsetZ(0,0,player.viewz)+10.0*x+4.1*y-2.7*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+4.1*y-2.7*z); for ( int i=0; i<4; i++ ) { let s = Spawn("UTViewSmoke",origin); @@ -576,38 +579,38 @@ Class PulseGun : UTWeapon ViewPulseSpark(s).vvel += (FRandom[Pulse](0.2,0.8),FRandom[Pulse](-0.5,0.5),FRandom[Pulse](-0.5,0.5)); } } - action void A_PulseRefire( statelabel flash = null, bool noreload = false ) + action void A_PulseRefire() { Weapon weap = Weapon(invoker); if ( !weap || !player ) return; if ( (invoker.clipcount <= 0) || (weap.Ammo1.Amount <= 0) ) - { - if ( noreload ) return; - A_ClearRefire(); - if ( weap.bAltFire ) player.setpsprite(PSP_WEAPON,weap.FindState("AltRelease")); - else player.setpsprite(PSP_WEAPON,weap.FindState("Release")); return; - } - if ( noreload ) + if ( player.cmd.buttons&BT_ALTATTACK ) { - if ( player.cmd.buttons&BT_ALTATTACK ) - { - weap.bAltFire = true; - flash = "AltFire"; - } - else - { - weap.bAltFire = false; - flash = "Fire"; - } + weap.bAltFire = true; + player.SetPSprite(PSP_WEAPON,ResolveState("AltHold")); + } + else if ( player.cmd.buttons&BT_ATTACK ) + { + weap.bAltFire = false; + player.SetPSprite(PSP_WEAPON,ResolveState("Fire")); } - A_Refire(flash); } action void A_PulseFire() { Weapon weap = Weapon(invoker); if ( !weap ) return; - if ( weap.Ammo1.Amount <= 0 ) return; + if ( (weap.Ammo1.Amount <= 0) || !(player.cmd.buttons&BT_ATTACK) ) + { + player.SetPSprite(PSP_WEAPON,ResolveState("Release")); + return; + } + if ( invoker.special1 > 0 ) + { + invoker.special1--; + return; + } + invoker.special1 = 5; if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; invoker.clipcount--; if ( !flak_pulsereload && (invoker.clipcount <=0) ) invoker.clipcount = (weap.Ammo1.Amount>0)?Min(50,weap.Ammo1.Amount):50; @@ -622,8 +625,8 @@ Class PulseGun : UTWeapon Vector3 x, y, z; double a; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = Vec2OffsetZ(0,0,player.viewz)+10.0*x+3.0*y-1.8*z; - origin += y*cos(invoker.sangle)*2.0+z*sin(invoker.sangle)*2.0; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-1.8*z); + origin = level.Vec3Offset(origin,y*cos(invoker.sangle)*2+z*sin(invoker.sangle)*2); invoker.sangle += 100; Actor p = Spawn("PulseBall",origin); p.angle = angle; @@ -633,7 +636,7 @@ Class PulseGun : UTWeapon for ( int i=0; i<8; i++ ) { let s = Spawn("UTViewSmoke",origin); - UTViewSmoke(s).ofs = (10,3.0,-1.8); + UTViewSmoke(s).ofs = (10,3,-1.8); s.scale *= 1.8; s.target = self; s.SetShade("206010"); @@ -644,17 +647,18 @@ Class PulseGun : UTWeapon for ( int i=0; i 0) ) return A_Jump(255,"Reload"); + if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) return ResolveState("Reload"); A_WeaponReady(WRF_ALLOWRELOAD); } else A_WeaponReady(); @@ -720,89 +726,61 @@ Class PulseGun : UTWeapon PGNI ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 { A_CheckReload(); - A_WeaponReady(WRF_ALLOWRELOAD); + if ( flak_pulsereload ) + { + if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) return ResolveState("Reload"); + A_WeaponReady(WRF_ALLOWRELOAD); + } + else A_WeaponReady(); + return ResolveState(null); } Goto Idle; Fire: - PGNI A 0 A_PlaySound("pulse/fire",CHAN_WEAPON,1.0,true); - Hold: - PGNF A 1 A_PulseFire(); - PGNF BCDEF 1; - PNGF G 0 A_PulseRefire(1); - Goto Release; - PGNF G 1 A_PulseFire(); - PGNF HIJKL 1; - PNGF M 0 A_PulseRefire(1); - Goto Release; - PGNF N 1 A_PulseFire(); - PGNF OPQRS 1; - PNGF T 0 A_PulseRefire(1); - Goto Release; - PGNF U 1 A_PulseFire(); - PGNF VWXYZ 1; - PGF2 A 0 A_PulseRefire(1); - Goto Release; - PGF2 A 1 A_PulseFire(); - PGF2 BCDEF 1; - PGF2 G 0 A_PulseRefire(1); - Goto Release; - PGF2 H 1 A_PulseFire(); - PGF2 IJKLM 1; - PGF2 N 0 A_PulseRefire(); - Goto Release; + PGNI A 0 + { + invoker.special1 = 0; + A_PlaySound("pulse/fire",CHAN_WEAPON,1.0,true); + } + PGNF ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_PulseFire(); + PGF2 ABCDEFGHIJKLMN 1 A_PulseFire(); + Goto Fire+1; Release: PGNC A 0 A_PlaySound("pulse/down",CHAN_WEAPON); - PGNC ABCDEFGHIJKLMNOPQRSTUVWXY 1 A_PulseRefire(null,true); + PGNC ABCDEFGHIJKLMNOPQRSTUVWXY 1 A_PulseRefire(); PGNC Y 0; Goto Idle; AltFire: PGBS ABCDE 1; - PGBL A 0 A_StartBeam(); + Goto AltHold; AltHold: - PGBL A 1 A_DrainAmmo(); - PGBL B 0 A_PulseRefire(1); - Goto AltRelease; - PGBL B 1; - PGBL C 0 A_PulseRefire(1); - Goto AltRelease; - PGBL C 1; - PGBL D 0 A_PulseRefire(1); - Goto AltRelease; - PGBL D 1; - PGBL E 0 A_PulseRefire(1); - Goto AltRelease; - PGBL E 1; - PGBL F 0 A_PulseRefire(1); - Goto AltRelease; - PGBL F 1; - PGBL G 0 A_PulseRefire(1); - Goto AltRelease; - PGBL G 1; - PGBL H 0 A_PulseRefire(1); - Goto AltRelease; - PGBL H 1; - PGBL I 0 A_PulseRefire(1); - Goto AltRelease; - PGBL I 1; - PGBL J 0 A_PulseRefire(1); - Goto AltRelease; - PGBL J 1; - PGBL A 0 A_PulseRefire(); + PGBL A 0 A_StartBeam(); + PGBL ABCDEFGHIJ 1 A_DrainAmmo(); + Goto AltHold+1; AltRelease: PGBE A 0 A_StopBeam(); - PGBE ABCDE 1 A_PulseRefire(null,true); + PGBE ABCDE 1 A_PulseRefire(); Goto Idle; Reload: PGNI A 1; - PGNI A 0 A_JumpIf(invoker.clipcount >= Min(50,invoker.Ammo1.Amount),"Idle"); + PGNI A 0 A_JumpIf(invoker.clipcount >= Min(invoker.default.clipcount,invoker.Ammo1.Amount),"Idle"); PGNR A 1 { - A_Reloading(); + A_PlaySound("pulse/reload",CHAN_WEAPON); if ( self is 'UTPlayer' ) UTPlayer(self).PlayReloading(); } - PGNR BCDEFGHIJKLMNOPQRSTUVWXYZ 1; - PGR2 ABCDEFGHIJKLMNOPQRSTUVWX 1; + PGNR BCDEFGHIJKLMNO 1; + PGNR P 1 + { + invoker.clipcount = 0; + } + PGNR QRSTUVWXYZ 1; + PGR2 ABCD 1; + PGR2 E 1 + { + invoker.clipcount = Min(invoker.default.clipcount,invoker.Ammo1.Amount); + } + PGR2 FGHIJKLMNOPQRSTUVWX 1; Goto Idle; Deselect: PGNS W 1 A_StopSound(CHAN_WEAPON); diff --git a/zscript/ripper.zsc b/zscript/ripper.zsc index fcb3fdf..a427487 100644 --- a/zscript/ripper.zsc +++ b/zscript/ripper.zsc @@ -261,7 +261,7 @@ Class Ripper2 : UTWeapon } Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+6.0*y-4.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+6*y-4*z); Actor p; if ( alt ) p = Spawn("Razor2Alt",origin); else p = Spawn("Razor2",origin); diff --git a/zscript/shockrifle.zsc b/zscript/shockrifle.zsc index ed88756..388f6ed 100644 --- a/zscript/shockrifle.zsc +++ b/zscript/shockrifle.zsc @@ -1032,8 +1032,8 @@ Class ViewShockSpark : ShockSpark } Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll); - Vector3 origin = x*ofs.x+y*ofs.y+z*ofs.z+(0,0,target.player.viewz); - SetOrigin(target.Vec2OffsetZ(origin.x,origin.y,origin.z),true); + Vector3 origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),x*ofs.x+y*ofs.y+z*ofs.z); + SetOrigin(origin,true); bInvisible = (players[consoleplayer].camera != target); if ( isFrozen() ) return; ofs += vvel; @@ -1066,7 +1066,7 @@ Class ShockRifle : UTWeapon A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-1.5*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-1.5*z); Actor p = Spawn("ShockBeam",origin); p.angle = angle; p.pitch = BulletSlope(); @@ -1104,7 +1104,7 @@ Class ShockRifle : UTWeapon A_QuakeEx(2,2,2,8,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-1.5*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-1.5*z); Actor p = Spawn("ShockBall",origin); p.angle = angle; p.pitch = BulletSlope(); @@ -1249,7 +1249,7 @@ Class EnhancedShockRifle : UTWeapon A_QuakeEx(3,3,3,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.15); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-1.5*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-1.5*z); Actor p = Spawn("SuperShockBeam",origin); p.angle = angle; p.pitch = BulletSlope(); @@ -1287,7 +1287,7 @@ Class EnhancedShockRifle : UTWeapon A_QuakeEx(3,3,3,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.15); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-1.5*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-1.5*z); Actor p = Spawn("SuperShockBall",origin); p.angle = angle; p.pitch = BulletSlope(); diff --git a/zscript/sniperrifle.zsc b/zscript/sniperrifle.zsc index 6391574..3e292dc 100644 --- a/zscript/sniperrifle.zsc +++ b/zscript/sniperrifle.zsc @@ -57,15 +57,20 @@ Class SniperRifle : UTWeapon } override void PreRender( double lbottom ) { - if ( sniperzoom <= 1.0 ) return; + if ( sniperzoom <= 1. ) return; Screen.DrawTexture(reticle,false,320,240,DTA_VirtualWidth,640,DTA_VirtualHeight,480,DTA_LegacyRenderStyle,STYLE_Add); if ( !zfont ) zfont = Font.GetFont('UTFont40'); Screen.DrawText(zfont,Font.FindFontColor('UGreen'),960,960,String.Format("X%.1f",sniperzoom),DTA_VirtualWidth,1600,DTA_VirtualHeight,1200,DTA_LegacyRenderStyle,STYLE_Add); } - override void Tick() + override void RenderOverlay( RenderEvent e ) { - Super.Tick(); - if ( !Owner ) return; + PlayerInfo p = players[consoleplayer]; + if ( (p.Camera != Owner) || (sniperzoom <= 1.) ) Shader.SetEnabled(p,"UTRifleScope",false); + else Shader.SetEnabled(p,"UTRifleScope",CVar.GetCVar('flak_zoomshader',p).GetBool()); + } + override void DoEffect() + { + Super.DoEffect(); if ( sniperzoom > 1.0 ) crosshair = 99; else crosshair = 0; } @@ -98,8 +103,8 @@ Class SniperRifle : UTWeapon l.target = self; Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = Vec2OffsetZ(0,0,player.viewz)+10.0*x; - if ( !zoomed ) origin = origin+y*4.0-z*2.0; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x); + if ( !zoomed ) origin = level.Vec3Offset(origin,y*4-z*2); FLineTraceData d; LineTrace(angle,10000,BulletSlope(),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); if ( d.HitType == TRACE_HitActor ) @@ -161,7 +166,7 @@ Class SniperRifle : UTWeapon s.scale *= 1.8; s.alpha *= 0.3; } - origin += x*8.0+y*6.0-z*9.0; + origin = level.Vec3Offset(origin,x*8+y*6-z*9); let c = Spawn("UTCasing",origin); c.scale *= 1.25; c.vel = x*FRandom[Junk](-1.5,1.5)+y*FRandom[Junk](2,4)+z*FRandom[Junk](2,3); @@ -241,7 +246,18 @@ Class SniperRifle : UTWeapon TNT1 A 20 A_SniperFire(true); Goto ZoomedIdle; AltFire: - SRFI A 0 A_JumpIf(invoker.sniperzoom>1.0,"AltHold2"); + SRFI A 0 + { + if ( invoker.sniperzoom > 1. ) + { + if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + A_PlaySound("sniper/zoomdown",CHAN_WEAPON); + return ResolveState("AltHold2"); + } + if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + A_PlaySound("sniper/zoomup",CHAN_WEAPON); + return ResolveState(null); + } AltHold: TNT1 A 1 { @@ -256,7 +272,12 @@ Class SniperRifle : UTWeapon SRFI A 0 A_Refire("AltHold2"); Goto Idle; Deselect: - SRFD A 0 A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT); + SRFD A 0 + { + if ( (invoker.sniperzoom>1.0) && CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + A_PlaySound("sniper/zoomdown",CHAN_WEAPON); + A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT); + } SRFD ABCDEFG 1; SRFD G 1 A_Lower(int.max); Wait; diff --git a/zscript/translocator.zsc b/zscript/translocator.zsc index 01cd5b9..945eb2a 100644 --- a/zscript/translocator.zsc +++ b/zscript/translocator.zsc @@ -333,7 +333,7 @@ Class Translocator : UTWeapon A_AlertMonsters(); Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x-8.0*y-12.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-8*y-12*z); let p = Spawn("TranslocatorModule",origin); p.target = self; p.angle = angle; diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index 23d7584..78a5817 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -1592,8 +1592,8 @@ Class UTViewSpark : UTSpark } Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll); - Vector3 origin = x*ofs.x+y*ofs.y+z*ofs.z+(0,0,target.player.viewz); - SetOrigin(target.Vec2OffsetZ(origin.x,origin.y,origin.z),true); + Vector3 origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),x*ofs.x+y*ofs.y+z*ofs.z); + SetOrigin(origin,true); bInvisible = (players[consoleplayer].camera != target); if ( isFrozen() ) return; ofs += vvel; @@ -1837,8 +1837,8 @@ Class UTViewSmoke : UTSmoke } Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll); - Vector3 origin = x*ofs.x+y*ofs.y+z*ofs.z+(0,0,target.player.viewz); - SetOrigin(target.Vec2OffsetZ(origin.x,origin.y,origin.z),true); + Vector3 origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),x*ofs.x+y*ofs.y+z*ofs.z); + SetOrigin(origin,true); bInvisible = (players[consoleplayer].camera != target); if ( isFrozen() ) return; ofs += vvel; diff --git a/zscript/uthud.zsc b/zscript/uthud.zsc index 2d9dfd3..e6ed728 100644 --- a/zscript/uthud.zsc +++ b/zscript/uthud.zsc @@ -342,7 +342,7 @@ Class UTHud : BaseStatusBar else if ( flak_enforcerreload && (cw is 'Enforcer') ) { // draw clip(s) - double ch = Enforcer(cw).ClipCount/20.; + double ch = Enforcer(cw).ClipCount/double(Enforcer(cw).default.ClipCount); CurX = BaseX+6*hudsize*HScale; CurY = BaseY+53*hudsize*HScale; Vector2 ss; @@ -355,7 +355,7 @@ Class UTHud : BaseStatusBar Screen.DrawTexture(AmmoBar,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_WindowRightF,ddw,DTA_Alpha,alpha); if ( cw.Amount > 1 ) { - ch = Enforcer(cw).SlaveClipCount/20.; + ch = Enforcer(cw).SlaveClipCount/double(Enforcer(cw).default.SlaveClipCount); CurY += 3*hudsize*HScale; ss = (0.54,0.125)*hudsize*HScale; dw = (Screen.GetWidth()/ss.x); @@ -369,7 +369,7 @@ Class UTHud : BaseStatusBar else if ( flak_pulsereload && (cw is 'Pulsegun') ) { // draw clip - double ch = Pulsegun(cw).ClipCount/50.; + double ch = Pulsegun(cw).ClipCount/double(Pulsegun(cw).default.ClipCount); CurX = BaseX+6*hudsize*HScale; CurY = BaseY+53*hudsize*HScale; Vector2 ss = (0.54,0.3)*hudsize*HScale; diff --git a/zscript/warheadlauncher.zsc b/zscript/warheadlauncher.zsc index 5adf6b6..ca5c806 100644 --- a/zscript/warheadlauncher.zsc +++ b/zscript/warheadlauncher.zsc @@ -140,7 +140,7 @@ Class WarheadHitbox : Actor Destroy(); return; } - SetOrigin(target.pos-(0,0,height*0.5),true); + SetOrigin(target.Vec3Offset(0,0,-height*0.5),true); } States { @@ -175,7 +175,7 @@ Class WarheadLight : DynamicLight return; } Vector3 taildir = -(cos(target.angle)*cos(target.pitch),sin(target.angle)*cos(target.pitch),-sin(target.pitch)); - SetOrigin(target.Vec3Offset(taildir.x*20,taildir.y*20,taildir.z*20),true); + SetOrigin(level.Vec3Offset(pos,taildir*20),true); args[LIGHT_INTENSITY] = Random[Warhead](6,8)*10; } } @@ -649,7 +649,7 @@ Class WarheadLauncher : UTWeapon Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); vel -= x*10; - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-2.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-2*z); Actor p = Spawn("WarShell",origin); p.angle = angle; p.pitch = BulletSlope(); @@ -663,7 +663,7 @@ Class WarheadLauncher : UTWeapon Vector3 x, y, z; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); vel -= x*0.2; - Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-2.0*z; + Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-2*z); int numpt = Random[Warhead](10,20); for ( int i=0; i