diff --git a/graphics/KBase/PFP_Nana.png b/graphics/KBase/PFP_Nana.png index 34513c466..05d56c264 100644 Binary files a/graphics/KBase/PFP_Nana.png and b/graphics/KBase/PFP_Nana.png differ diff --git a/language.version b/language.version index be41760a2..e79d1dd28 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r807 \cu(Thu 13 Jul 13:45:12 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r807 \cu(2023-07-13 13:45:12)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r808 \cu(Sat 15 Jul 20:41:50 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r808 \cu(2023-07-15 20:41:50)\c-"; diff --git a/modeldef/dlc1/mortalrifle.txt b/modeldef/dlc1/mortalrifle.txt index 4f670c716..c3a213fab 100644 --- a/modeldef/dlc1/mortalrifle.txt +++ b/modeldef/dlc1/mortalrifle.txt @@ -155,17 +155,28 @@ Model "MisterRifle" Skin 2 "MRMuz3.png" FrameIndex XZW0 D 2 0 + Scale -50 50 50 + + Skin 2 "RailMuz0.png" + FrameIndex XZW0 E 2 0 + Skin 2 "RailMuz1.png" + FrameIndex XZW0 F 2 0 + Skin 2 "RailMuz2.png" + FrameIndex XZW0 G 2 0 + Skin 2 "RailMuz3.png" + FrameIndex XZW0 H 2 0 + Scale -20 20 20 Offset 15 -80 -26 Skin 2 "MRMuz0.png" - FrameIndex XZW0 E 2 0 + FrameIndex XZW0 I 2 0 Skin 2 "MRMuz1.png" - FrameIndex XZW0 F 2 0 + FrameIndex XZW0 J 2 0 Skin 2 "MRMuz2.png" - FrameIndex XZW0 G 2 0 + FrameIndex XZW0 K 2 0 Skin 2 "MRMuz3.png" - FrameIndex XZW0 H 2 0 + FrameIndex XZW0 L 2 0 } Model "MisterRifle" diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 892580bc7..b3de170f9 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -706,7 +706,7 @@ Class MisterRifle : SWWMWeapon Vector3 x = SWWMUtility.GetPlayerViewDir(self); Vector3 origin = SWWMUtility.GetFireOffset(self,10,2.8,-2.4); SWWMHandler.DoFlash(self,Color(64,64,224,255),9); - A_SWWMFlash(); + A_SWWMFlash("RailFlash"); invoker.fired = true; A_StartSound("mister/fireover",CHAN_WEAPON,CHANF_OVERLAP); SWWMUtility.DoKnockback(self,-x,90000.); @@ -1567,13 +1567,31 @@ Class MisterRifle : SWWMWeapon psp.frame = Random[GunFlash](0,3); } Stop; - AltFlash: - XZW0 E 2 Bright + RailFlash: + XZW0 E 3 Bright { let psp = player.FindPSprite(PSP_FLASH); psp.frame = Random[GunFlash](4,7); let l = Spawn("MisterWeaponLight",pos); l.target = self; + A_OverlayFlags(PSP_FLASH,PSPF_ALPHA|PSPF_FORCEALPHA,true); + } + XZW0 # 1 Bright + { + let psp = player.FindPSprite(PSP_FLASH); + psp.alpha -= .1; + return A_JumpIf(psp.alpha<=0.,1); + } + Wait; + XZW0 # 0; + Stop; + AltFlash: + XZW0 I 2 Bright + { + let psp = player.FindPSprite(PSP_FLASH); + psp.frame = Random[GunFlash](8,11); + let l = Spawn("MisterWeaponLight",pos); + l.target = self; } Stop; Spawn: diff --git a/zscript/weapons/swwm_sparkyboi_fx.zsc b/zscript/weapons/swwm_sparkyboi_fx.zsc index 2bdff164c..a0de3b942 100644 --- a/zscript/weapons/swwm_sparkyboi_fx.zsc +++ b/zscript/weapons/swwm_sparkyboi_fx.zsc @@ -1404,23 +1404,6 @@ Class BiosparkArc : SWWMNonInteractiveActor } void A_Spread( Sound arcsnd = "", double attn = 1., int extra = 0 ) { - Vector3 tdir = level.Vec3Diff(pos,nextpos); - if ( (extra > 1) && !Random[Sparkster](0,3) ) - { - Vector3 x, y, z; - [x, y, z] = SWWMUtility.GetAxes(angle,pitch,roll); - for ( int i=0; i ReactionTime) || bAMBUSH ) return; let b = Spawn(GetClass(),nextpos); b.angle = atan2(nextdir.y,nextdir.x);