diff --git a/filter/game-heretic/zmapinfo.txt b/filter/game-heretic/zmapinfo.txt new file mode 100644 index 0000000..864ee9e --- /dev/null +++ b/filter/game-heretic/zmapinfo.txt @@ -0,0 +1,9 @@ +GameInfo +{ + AddEventHandlers = "RedeemerHUDHandler", "UTMainHandler" + PlayerClasses = "UTPlayerHereticCompatTMale1", "UTPlayerHereticCompatTMale2", "UTPlayerHereticCompatTFemale1", "UTPlayerHereticCompatTFemale2", "UTPlayerHereticCompatTBoss" + StatusBarClass = "UTHud" + BackpackType = "UTBackpack" + BorderFlat = "TEMPBG" + Border = 0,0,"","","","","","","","" +} diff --git a/gldefs.txt b/gldefs.txt index 138f935..4e5988b 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -219,6 +219,10 @@ HardwareShader Texture "models/RedSkin2.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" } +HardwareShader Texture "models/NewGreen.png" +{ + Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" +} HardwareShader Texture "models/bpak.png" { Shader "shaders/glsl/AmbientGlow.fp" @@ -536,6 +540,14 @@ PulseLight "UTGoldKeyLight" Interval 2.0 Offset 0 16 0 } +PulseLight "UTGreenKeyLight" +{ + Color 0.0 1.0 0.0 + Size 15 + SecondarySize 20 + Interval 2.0 + Offset 0 16 0 +} Object "UTRedSkull" { Frame "USKL" { light "UTRedKeyLight" } @@ -560,6 +572,18 @@ Object "UTGoldKey" { Frame "UKEY" { light "UTGoldKeyLight" } } +Object "UTHereticYellowKey" +{ + Frame "UKEY" { light "UTGoldKeyLight" } +} +Object "UTHereticGreenKey" +{ + Frame "UKEY" { light "UTGreenKeyLight" } +} +Object "UTHereticBlueKey" +{ + Frame "UKEY" { light "UTBlueKeyLight" } +} HardwareShader PostProcess scene { Name "RedeemerView" @@ -575,4 +599,4 @@ SkyBox "KGDaySky" fliptop "graphics/SkySetB_left.png" "graphics/SkySetB_up.png" "graphics/SkySetB_down.png" -} +} \ No newline at end of file diff --git a/modeldef.misc b/modeldef.misc index 0fe21b2..d917b22 100644 --- a/modeldef.misc +++ b/modeldef.misc @@ -293,6 +293,39 @@ Model "UTBlueKey" FrameIndex UKEY C 0 0 } +Model "UTHereticYellowKey" +{ + Path "models" + Model 0 "MercSymbol_d.3d" + Skin 0 "GoldSkin2.png" + Scale 0.08 0.08 0.096 + ZOffset 16 + ROTATING + + FrameIndex UKEY B 0 0 +} +Model "UTHereticGreenKey" +{ + Path "models" + Model 0 "UDamage_d.3d" + Skin 0 "NewGreen.png" + Scale 0.08 0.08 0.096 + ZOffset 16 + ROTATING + + FrameIndex UKEY D 0 0 +} +Model "UTHereticBlueKey" +{ + Path "models" + Model 0 "DomB_d.3d" + Skin 0 "BlueSkin2.png" + Scale 0.04 0.04 0.048 + ZOffset 16 + ROTATING + + FrameIndex UKEY C 0 0 +} Model "UTBackpack" { @@ -417,4 +450,4 @@ Model "UTChip" FrameIndex CHIP B 0 1 FrameIndex CHIP C 0 2 FrameIndex CHIP D 0 3 -} +} \ No newline at end of file diff --git a/models/NewGreen.png b/models/NewGreen.png new file mode 100644 index 0000000..e69de29 diff --git a/textures.misc b/textures.misc index 73e86c5..fa15ada 100644 --- a/textures.misc +++ b/textures.misc @@ -29,3 +29,4 @@ Sprite "USKLC0",1,1{} Sprite "UKEYA0",1,1{} Sprite "UKEYB0",1,1{} Sprite "UKEYC0",1,1{} +Sprite "UKEYD0",1,1{} diff --git a/zscript/compat.zsc b/zscript/compat.zsc index 78c210e..f2dfcb7 100644 --- a/zscript/compat.zsc +++ b/zscript/compat.zsc @@ -406,4 +406,4 @@ Class UTPlayerHereticCompatTBoss : UTPlayerHereticCompat if ( bossfootsteps.GetBool() ) A_PlaySound("ut/bossfootstep",CHAN_5,vol); else Super.PlayFootstep(vol); } -} +} \ No newline at end of file diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index b2f5f3d..2d12af7 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -1539,30 +1539,30 @@ Class UTMainHandler : EventHandler override void CheckReplacement( ReplaceEvent e ) { - if ( e.Replacee == 'Chainsaw' ) + if ( (e.Replacee == 'Chainsaw') || (e.Replacee == 'Gauntlets') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'UTChainsaw'; else e.Replacement = 'Enforcer'; } - else if ( e.Replacee == 'Fist' ) e.Replacement = 'ImpactHammer'; - else if ( e.Replacee == 'Pistol' ) e.Replacement = 'Enforcer'; - else if ( (e.Replacee == 'Shotgun') || (e.Replacee == 'SuperShotgun') ) + else if ( (e.Replacee == 'Fist') || (e.Replacee == 'Staff') ) e.Replacement = 'ImpactHammer'; + else if ( (e.Replacee == 'Pistol') || (e.Replacee == 'GoldWand') ) e.Replacement = 'Enforcer'; + else if ( (e.Replacee == 'Shotgun') || (e.Replacee == 'SuperShotgun') || (e.Replacee == 'Crossbow') ) { if ( !Random[Replacements](0,3) ) e.Replacement = 'Enforcer'; else if ( Random[Replacements](0,1) ) e.Replacement = 'BioRifle'; else e.Replacement = 'ShockRifle'; } - else if ( e.Replacee == 'Chaingun' ) + else if ( (e.Replacee == 'Chaingun') || (e.Replacee == 'Blaster') ) { if ( Random[Replacements](0,2) ) e.Replacement = 'PulseGun'; else e.Replacement = 'Ripper2'; } - else if ( e.Replacee == 'RocketLauncher' ) + else if ( (e.Replacee == 'RocketLauncher') || (e.Replacee == 'PhoenixRod') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'FlakCannon'; else e.Replacement = 'UTRocketLauncher'; } - else if ( e.Replacee == 'PlasmaRifle' ) + else if ( (e.Replacee == 'PlasmaRifle') || (e.Replacee == 'SkullRod') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'Minigun'; else e.Replacement = 'SniperRifle'; @@ -1580,18 +1580,23 @@ Class UTMainHandler : EventHandler else if ( Random[Replacements](0,2) ) e.Replacement = 'PulseAmmo'; else e.Replacement = 'RipperAmmo'; } - else if ( e.Replacee == 'Shell' ) + else if ( (e.Replacee == 'BlasterAmmo') || (e.Replacee == 'BlasterHefty') ) + { + if ( Random[Replacements](0,2) ) e.Replacement = 'PulseAmmo'; + else e.Replacement = 'RipperAmmo'; + } + else if ( (e.Replacee == 'Shell') || (e.Replacee == 'CrossbowAmmo') ) { if ( !Random[Replacements](0,2) ) e.Replacement = 'EClip'; else if ( Random[Replacements](0,1) ) e.Replacement = 'BioAmmo2'; else e.Replacement = 'ShockAmmo2'; } - else if ( e.Replacee == 'ShellBox' ) + else if ( (e.Replacee == 'ShellBox') || (e.Replacee == 'CrossbowHefty') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'BioAmmo'; else e.Replacement = 'ShockAmmo'; } - else if ( e.Replacee == 'RocketAmmo' ) + else if ( (e.Replacee == 'RocketAmmo') || (e.Replacee == 'PhoenixRodAmmo') || (e.Replacee == 'MaceAmmo') ) { if ( Random[Replacements](0,1) ) { @@ -1604,18 +1609,18 @@ Class UTMainHandler : EventHandler else e.Replacement = 'UTRocketAmmo2'; } } - else if ( e.Replacee == 'RocketBox' ) + else if ( (e.Replacee == 'RocketBox') || (e.Replacee == 'PhoenixRodHefty') || (e.Replacee == 'MaceHefty') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'FlakAmmo'; else e.Replacement = 'UTRocketAmmo'; } - else if ( e.Replacee == 'Cell' ) + else if ( (e.Replacee == 'Cell') || (e.Replacee == 'SkullRodAmmo') ) { if ( Random[Replacements](0,1) ) e.Replacement = 'EClip'; else if ( !Random[Replacements](0,3) ) e.Replacement = 'RifleAmmo'; else e.Replacement = 'RifleAmmo2'; } - else if ( e.Replacee == 'CellPack' ) + else if ( (e.Replacee == 'CellPack') || (e.Replacee == 'SkullRodHefty') ) { if ( !Random[Replacements](0,6) ) e.Replacement = 'WarheadAmmo'; else if ( Random[Replacements](0,1) ) e.Replacement = 'MiniAmmo'; @@ -1664,6 +1669,9 @@ Class UTMainHandler : EventHandler else if ( e.Replacee == 'TeleportFog' ) e.Replacement = 'UTTeleportFog'; else if ( e.Replacee == 'ItemFog' ) e.Replacement = 'UTItemFog'; else if ( flak_blood && (e.Replacee == 'Blood') ) e.Replacement = 'UTBlood'; + else if ( e.Replacee == 'KeyYellow' ) e.Replacement = 'UTHereticYellowKey'; + else if ( e.Replacee == 'KeyGreen' ) e.Replacement = 'UTHereticGreenKey'; + else if ( e.Replacee == 'KeyBlue' ) e.Replacement = 'UTHereticBlueKey'; } private Actor AddLight( Vector3 pos, Color col, int radius )