diff --git a/docimg/mortalrifle.png b/docimg/mortalrifle.png index d487aa765..4d83513f1 100644 Binary files a/docimg/mortalrifle.png and b/docimg/mortalrifle.png differ diff --git a/gldefs.mortalrifle b/gldefs.mortalrifle new file mode 100644 index 000000000..2772e85e1 --- /dev/null +++ b/gldefs.mortalrifle @@ -0,0 +1,13 @@ +HardwareShader Texture "models/MortalRifle.png" +{ + Shader "shaders/glsl/Envmask.fp" + Texture "masktex" "models/MortalRifle_mask.png" + Texture "envtex" "models/envmap/leadenv.png" + Texture "rimtex" "models/envmap/leadrim.png" + Define "RIM_LIGHTING" + Define "ENVFACT" = "1.5" + Define "RIMFACT" = "1.2" + Define "RIMSTEP" = ".2" +} + + diff --git a/language.version b/language.version index 1b90f2dd4..c7f6a1580 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r409 \cu(Tue 6 Sep 15:33:22 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r409 \cu(2022-09-06 15:33:22)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r410 \cu(Tue 6 Sep 21:44:57 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r410 \cu(2022-09-06 21:44:57)\c-"; diff --git a/modeldef.mortalrifle b/modeldef.mortalrifle index b061c084e..8ed3af756 100644 --- a/modeldef.mortalrifle +++ b/modeldef.mortalrifle @@ -1,13 +1,28 @@ Model "MisterRifle" { - Path "models/extra" + Path "models" - Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILR" - Scale 0.05 0.05 0.05 - ZOffset 16 - PitchOffset 30 + Model 0 "MortalRiflePickup_d.3d" + SurfaceSkin 0 0 "MortalRifle.png" + SurfaceSkin 0 1 "NoLED.png" + Scale 0.25 0.25 0.25 + ZOffset 20 + AngleOffset 90 ROTATING FrameIndex XZW1 A 0 0 } +Model "MisterRifleX" +{ + Path "models" + + Model 0 "MortalRiflePickup_d.3d" + SurfaceSkin 0 3 "MisterSight.png" + Scale 0.25 0.25 0.25 + ZOffset 20 + AngleOffset 90 + ROTATING + DONTCULLBACKFACES + + FrameIndex XZW1 A 0 0 +} diff --git a/models/MisterLED.png b/models/MisterLED.png new file mode 100644 index 000000000..922a7c50f Binary files /dev/null and b/models/MisterLED.png differ diff --git a/models/MisterLED2.png b/models/MisterLED2.png new file mode 100644 index 000000000..185e93e62 Binary files /dev/null and b/models/MisterLED2.png differ diff --git a/models/MisterSight.png b/models/MisterSight.png new file mode 100644 index 000000000..a7c7329da Binary files /dev/null and b/models/MisterSight.png differ diff --git a/models/MortalRifle.blend b/models/MortalRifle.blend index 2cf0830e7..28c82faeb 100644 Binary files a/models/MortalRifle.blend and b/models/MortalRifle.blend differ diff --git a/models/MortalRifle.png b/models/MortalRifle.png new file mode 100644 index 000000000..ca8cba6f5 Binary files /dev/null and b/models/MortalRifle.png differ diff --git a/models/MortalRiflePickup_a.3d b/models/MortalRiflePickup_a.3d new file mode 100644 index 000000000..a3b976779 Binary files /dev/null and b/models/MortalRiflePickup_a.3d differ diff --git a/models/MortalRiflePickup_d.3d b/models/MortalRiflePickup_d.3d new file mode 100644 index 000000000..a50c7db4c Binary files /dev/null and b/models/MortalRiflePickup_d.3d differ diff --git a/models/MortalRifle_mask.png b/models/MortalRifle_mask.png new file mode 100644 index 000000000..45ed4bb50 Binary files /dev/null and b/models/MortalRifle_mask.png differ diff --git a/models/modelnotes.txt b/models/modelnotes.txt index 1ad4287d3..8d5daa938 100644 --- a/models/modelnotes.txt +++ b/models/modelnotes.txt @@ -8,7 +8,7 @@ Weapon models: x Sheen HMG x Quadravol - Sparkster Rifle - - Mortal Rifle + ½ Mortal Rifle - Ray-Khom - Rafan-Kos diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 0dca61d3b..604b8edb1 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -1,6 +1,8 @@ // Plutoni Inc. Mortal Rifle (from UnSX 2) // Slot 9, spawns shared with Candygun +Class MisterRifleX : GhostArtifactX {} + Class MisterRifle : SWWMWeapon { int clipcount; @@ -9,6 +11,29 @@ Class MisterRifle : SWWMWeapon Property ClipCount : clipcount; + override void PreTravelled() + { + Super.PreTravelled(); + if ( tracer ) tracer.Destroy(); + } + override void Travelled() + { + Super.Travelled(); + if ( tracer ) return; + tracer = Spawn("MisterRifleX",pos); + tracer.angle = angle; + tracer.target = self; + tracer.FloatBobPhase = FloatBobPhase; + } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + tracer = Spawn("MisterRifleX",pos); + tracer.angle = angle; + tracer.target = self; + tracer.FloatBobPhase = FloatBobPhase; + } + Default { Tag "$T_MORTALRIFLE"; @@ -28,6 +53,8 @@ Class MisterRifle : SWWMWeapon Stamina 1600000; +SWWMWEAPON.NOFIRSTGIVE; +WEAPON.BFG; + Radius 30; + Height 28; } States {