From 4f9f791caf327862598b768ce03aff261641f59e Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Sat, 7 Oct 2023 12:08:15 -0500 Subject: [PATCH 1/9] Refine Spawning slots for various weapons Honestly the Spawn Handler needs either a rework or an entirely new mod to universally handle spawn replacements, but at least these are valid actors to spawn over... NOTE: CVARs will need to be adjusted as they have been renamed. --- CVARINFO | 2 +- LANGUAGE | 4 ++-- MENUDEF | 4 ++-- zscript/Hexadoken/SpawnHandler.zsc | 22 +++++++++++----------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CVARINFO b/CVARINFO index 2b305ea..60a6c3b 100644 --- a/CVARINFO +++ b/CVARINFO @@ -50,7 +50,7 @@ server int hd_garand_ammotype=1; server int hd_garand_reloadspeed=0; server int hd_garand_reloadcapacity=8; -server int gar_shellbox_spawn_bias = 24; +server int gar_liberator_spawn_bias = 24; server bool gar_allowBackpacks = true; server bool gar_persistent_spawning = false; diff --git a/LANGUAGE b/LANGUAGE index 2a08f5b..a9979fc 100644 --- a/LANGUAGE +++ b/LANGUAGE @@ -57,7 +57,7 @@ MENU_9MMBOSSSPAWN = "9mm Boss Spawn Rate: "; // 4mm Boss MENU_4MMBOSSSPAWNTEXT = "Control the spawn rate of the 4.26mm Boss on Boss Rifles"; -MENU_4MMBOSSCHAINGUNTEXT = "Control the spawn rate of the 4.26mm Boss on Vulcanettes"; +MENU_4MMBOSSCHAINGUNTEXT = "Control the spawn rate of the 4.26mm Boss on ZM66 Assault Rifles"; MENU_4MMBOSSSPAWN = "4.26mm Boss Spawn Rate: "; // Bossmerg @@ -74,7 +74,7 @@ MENU_BOGSPAWNRATE = ".50 OMG Boss Spawn Rate: "; // 5mm Boss MENU_5MMBOSSSPAWNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on Boss Rifles"; -MENU_5MMBOSSCHAINGUNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on Vulcanettes"; +MENU_5MMBOSSCHAINGUNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on ZM66 Assault Rifles"; MENU_5MMBOSSSPAWN = "Hexadoken's Personal Boss Spawn Rate: "; // Scopeless Boss diff --git a/MENUDEF b/MENUDEF index bd43fa4..15e58f9 100644 --- a/MENUDEF +++ b/MENUDEF @@ -303,8 +303,8 @@ OptionMenu M1Garand StaticText "" StaticText "Spawn Options", "Orange" StaticText "$MENU_GARANDLIBERATOR", "white" - Option "$MENU_GARANDSPAWNRATE", "gar_shellbox_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETLIB", "resetcvar gar_shellbox_spawn_bias" + Option "$MENU_GARANDSPAWNRATE", "gar_liberator_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETLIB", "resetcvar gar_liberator_spawn_bias" StaticText "" StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_GARANDBACKPACK", "gar_allowBackpacks", "OnOff" diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index 385db89..ea81559 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -260,50 +260,50 @@ class HexaDokenHandler : EventHandler { // 9mm Boss Rifle Array spawns_9mmBoss; - spawns_9mmBoss.push(addItemEntry('BossRifleSpawner', boss9mm_boss_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('BossRifle', boss9mm_boss_spawn_bias)); spawns_9mmBoss.push(addItemEntry('HDPistol', boss9mm_pistol_spawn_bias)); spawns_9mmBoss.push(addItemEntry('HDSMG', boss9mm_smg_spawn_bias)); addItem('BossRifleNine', spawns_9mmBoss, boss9mm_persistent_spawning); // 4mm Boss Rifle Array spawns_4mmBoss; - spawns_4mmBoss.push(addItemEntry('BossRifleSpawner', boss4mm_boss_spawn_bias)); - spawns_4mmBoss.push(addItemEntry('Vulcanette', boss4mm_chaingun_spawn_bias)); + spawns_4mmBoss.push(addItemEntry('BossRifle', boss4mm_boss_spawn_bias)); + spawns_4mmBoss.push(addItemEntry('ZM66AssaultRifle', boss4mm_chaingun_spawn_bias)); addItem('BossRifleFour', spawns_4mmBoss, boss4mm_persistent_spawning); // 12ga Boss Rifle Array spawns_Bossmerg; - spawns_Bossmerg.push(addItemEntry('BossRifleSpawner', bas_boss_spawn_bias)); + spawns_Bossmerg.push(addItemEntry('BossRifle', bas_boss_spawn_bias)); spawns_Bossmerg.push(addItemEntry('Hunter', bas_hunter_spawn_bias)); spawns_Bossmerg.push(addItemEntry('Slayer', bas_slayer_spawn_bias)); addItem('Bossmerg', spawns_Bossmerg, bas_persistent_spawning); // .50 OMG Boss Rifle Array spawns_BogRifle; - spawns_BogRifle.push(addItemEntry('BossRifleSpawner', bog_boss_spawn_bias)); - spawns_BogRifle.push(addItemEntry('ThunderBuster', bog_plasma_spawn_bias)); + spawns_BogRifle.push(addItemEntry('BossRifle', bog_boss_spawn_bias)); + spawns_BogRifle.push(addItemEntry('Thunderbuster', bog_plasma_spawn_bias)); spawns_BogRifle.push(addItemEntry('BFG9K', bog_bfg_spawn_bias)); addItem('BogRifleSpawner', spawns_BogRifle, bog_persistent_spawning); // 5mm Boss Rifle Array spawns_5mmBoss; - spawns_5mmBoss.push(addItemEntry('BossRifleSpawner', boss5mm_boss_spawn_bias)); - spawns_5mmBoss.push(addItemEntry('Vulcanette', boss5mm_chaingun_spawn_bias)); + spawns_5mmBoss.push(addItemEntry('BossRifle', boss5mm_boss_spawn_bias)); + spawns_5mmBoss.push(addItemEntry('ZM66AssaultRifle', boss5mm_chaingun_spawn_bias)); addItem('BossRifleButItsFuckingPink', spawns_5mmBoss, boss5mm_persistent_spawning); // No-scope Boss Rifle Array spawns_NoScopeBoss; - spawns_NoScopeBoss.push(addItemEntry('BossRifleSpawner', nsb_boss_spawn_bias)); + spawns_NoScopeBoss.push(addItemEntry('BossRifle', nsb_boss_spawn_bias)); addItem('NoScopeBossSpawner', spawns_NoScopeBoss, nsb_persistent_spawning); // The Worst Boss Rifle Array spawns_WorstBoss; - spawns_WorstBoss.push(addItemEntry('BossRifleSpawner', worstBoss_boss_spawn_bias)); + spawns_WorstBoss.push(addItemEntry('BossRifle', worstBoss_boss_spawn_bias)); addItem('BossRifleButItsTheWorst', spawns_WorstBoss, worstBoss_persistent_spawning); // M1 Garand Array spawns_Garand; - spawns_Garand.push(addItemEntry('LiberatorRandom', gar_shellbox_spawn_bias)); + spawns_Garand.push(addItemEntry('LiberatorRifle', gar_liberator_spawn_bias)); addItem('HDGarandRandom', spawns_Garand, gar_persistent_spawning); //------------ From 62a4dcdc1e3264cb2204a2568345ccd0286dac40 Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Fri, 13 Oct 2023 08:49:48 -0500 Subject: [PATCH 2/9] Update Spawn Handler to use checkReplaces --- zscript/Hexadoken/SpawnHandler.zsc | 107 +++++++++++++++++++++-------- 1 file changed, 79 insertions(+), 28 deletions(-) diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index ea81559..f26bd53 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -260,50 +260,50 @@ class HexaDokenHandler : EventHandler { // 9mm Boss Rifle Array spawns_9mmBoss; - spawns_9mmBoss.push(addItemEntry('BossRifle', boss9mm_boss_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('BossRifleSpawner', boss9mm_boss_spawn_bias)); spawns_9mmBoss.push(addItemEntry('HDPistol', boss9mm_pistol_spawn_bias)); - spawns_9mmBoss.push(addItemEntry('HDSMG', boss9mm_smg_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('ClipBoxPickup2', boss9mm_smg_spawn_bias)); addItem('BossRifleNine', spawns_9mmBoss, boss9mm_persistent_spawning); // 4mm Boss Rifle Array spawns_4mmBoss; - spawns_4mmBoss.push(addItemEntry('BossRifle', boss4mm_boss_spawn_bias)); - spawns_4mmBoss.push(addItemEntry('ZM66AssaultRifle', boss4mm_chaingun_spawn_bias)); + spawns_4mmBoss.push(addItemEntry('BossRifleSpawner', boss4mm_boss_spawn_bias)); + spawns_4mmBoss.push(addItemEntry('ChaingunReplaces', boss4mm_chaingun_spawn_bias)); addItem('BossRifleFour', spawns_4mmBoss, boss4mm_persistent_spawning); // 12ga Boss Rifle Array spawns_Bossmerg; - spawns_Bossmerg.push(addItemEntry('BossRifle', bas_boss_spawn_bias)); - spawns_Bossmerg.push(addItemEntry('Hunter', bas_hunter_spawn_bias)); - spawns_Bossmerg.push(addItemEntry('Slayer', bas_slayer_spawn_bias)); + spawns_Bossmerg.push(addItemEntry('BossRifleSpawner', bas_boss_spawn_bias)); + spawns_Bossmerg.push(addItemEntry('HunterRandom', bas_hunter_spawn_bias)); + spawns_Bossmerg.push(addItemEntry('SlayerRandom', bas_slayer_spawn_bias)); addItem('Bossmerg', spawns_Bossmerg, bas_persistent_spawning); // .50 OMG Boss Rifle Array spawns_BogRifle; - spawns_BogRifle.push(addItemEntry('BossRifle', bog_boss_spawn_bias)); - spawns_BogRifle.push(addItemEntry('Thunderbuster', bog_plasma_spawn_bias)); + spawns_BogRifle.push(addItemEntry('BossRifleSpawner', bog_boss_spawn_bias)); + spawns_BogRifle.push(addItemEntry('ThunderBuster', bog_plasma_spawn_bias)); spawns_BogRifle.push(addItemEntry('BFG9K', bog_bfg_spawn_bias)); addItem('BogRifleSpawner', spawns_BogRifle, bog_persistent_spawning); // 5mm Boss Rifle Array spawns_5mmBoss; - spawns_5mmBoss.push(addItemEntry('BossRifle', boss5mm_boss_spawn_bias)); - spawns_5mmBoss.push(addItemEntry('ZM66AssaultRifle', boss5mm_chaingun_spawn_bias)); + spawns_5mmBoss.push(addItemEntry('BossRifleSpawner', boss5mm_boss_spawn_bias)); + spawns_5mmBoss.push(addItemEntry('ChaingunReplaces', boss5mm_chaingun_spawn_bias)); addItem('BossRifleButItsFuckingPink', spawns_5mmBoss, boss5mm_persistent_spawning); // No-scope Boss Rifle Array spawns_NoScopeBoss; - spawns_NoScopeBoss.push(addItemEntry('BossRifle', nsb_boss_spawn_bias)); + spawns_NoScopeBoss.push(addItemEntry('BossRifleSpawner', nsb_boss_spawn_bias)); addItem('NoScopeBossSpawner', spawns_NoScopeBoss, nsb_persistent_spawning); // The Worst Boss Rifle Array spawns_WorstBoss; - spawns_WorstBoss.push(addItemEntry('BossRifle', worstBoss_boss_spawn_bias)); + spawns_WorstBoss.push(addItemEntry('BossRifleSpawner', worstBoss_boss_spawn_bias)); addItem('BossRifleButItsTheWorst', spawns_WorstBoss, worstBoss_persistent_spawning); // M1 Garand Array spawns_Garand; - spawns_Garand.push(addItemEntry('LiberatorRifle', gar_liberator_spawn_bias)); + spawns_Garand.push(addItemEntry('LiberatorRandom', gar_liberator_spawn_bias)); addItem('HDGarandRandom', spawns_Garand, gar_persistent_spawning); //------------ @@ -329,16 +329,27 @@ class HexaDokenHandler : EventHandler { return false; } + // Tries to replace the item during spawning. + bool tryReplaceItem(ReplaceEvent e, string spawnName, int chance) { + if (giveRandom(chance)) { + if (hd_debug) console.printf(e.replacee.getClassName().." -> "..spawnName); + + e.replacement = spawnName; + + return true; + } + + return false; + } + // Tries to create the item via random spawning. - bool tryCreateItem(Actor thing, string spawnName, int chance, bool rep) { + bool tryCreateItem(Actor thing, string spawnName, int chance) { if (giveRandom(chance)) { - if (Actor.Spawn(spawnName, thing.pos) && rep) { - if (hd_debug) console.printf(thing.getClassName().." -> "..spawnName); + if (hd_debug) console.printf(thing.getClassName().." + "..spawnName); - thing.destroy(); + Actor.Spawn(spawnName, thing.pos); - return true; - } + return true; } return false; @@ -356,12 +367,28 @@ class HexaDokenHandler : EventHandler { } } + override void checkReplacement(ReplaceEvent e) { + + // If there's nothing to replace or if the replacement is final, quit. + if (!e.replacee || e.isFinal) return; + + // If thing being replaced is blacklisted, quit. + foreach (bl : blacklist) if (e.replacee is bl) return; + + string candidateName = e.replacee.getClassName(); + + // If current map is Range, quit. + if (level.MapName == 'RANGE') return; + + handleWeaponReplacements(e, candidateName); + } + override void worldThingSpawned(WorldEvent e) { - // If thing spawned doesn't exist, quit + // If thing spawned doesn't exist, quit. if (!e.thing) return; - // If thing spawned is blacklisted, quit + // If thing spawned is blacklisted, quit. foreach (bl : blacklist) if (e.thing is bl) return; string candidateName = e.thing.getClassName(); @@ -372,13 +399,13 @@ class HexaDokenHandler : EventHandler { // If the thing spawned is an ammunition, add any and all items that can use this. if (ammo) handleAmmoUses(ammo, candidateName); - // Return if range before replacing things. + // If current map is Range, quit. if (level.MapName == 'RANGE') return; if (e.thing is 'HDAmBox') { handleAmmoBoxLootTable(); } else { - handleWeaponReplacements(e.thing, ammo, candidateName); + handleWeaponSpawns(e.thing, ammo, candidateName); } } @@ -409,7 +436,27 @@ class HexaDokenHandler : EventHandler { } } - private void handleWeaponReplacements(Actor thing, HDAmmo ammo, string candidateName) { + private void handleWeaponReplacements(ReplaceEvent e, string candidateName) { + + // Checks if the level has been loaded more than 1 tic. + bool prespawn = !(level.maptime > 1); + + // Iterates through the list of item candidates for e.thing. + foreach (itemSpawn : itemSpawnList) { + + if ((prespawn || itemSpawn.isPersistent) && itemSpawn.replaceItem) { + foreach (spawnReplace : itemSpawn.spawnReplaces) { + if (spawnReplace.name ~== candidateName) { + if (hd_debug) console.printf("Attempting to replace "..candidateName.." with "..itemSpawn.spawnName.."..."); + + if (tryReplaceItem(e, itemSpawn.spawnName, spawnReplace.chance)) return; + } + } + } + } + } + + private void handleWeaponSpawns(Actor thing, HDAmmo ammo, string candidateName) { // Checks if the level has been loaded more than 1 tic. bool prespawn = !(level.maptime > 1); @@ -420,12 +467,16 @@ class HexaDokenHandler : EventHandler { // if an item is owned or is an ammo (doesn't retain owner ptr), // do not replace it. let item = Inventory(thing); - if ((prespawn || itemSpawn.isPersistent) && (!(item && item.owner) && (!ammo || prespawn))) { + if ( + (prespawn || itemSpawn.isPersistent) + && (!(item && item.owner) && (!ammo || prespawn)) + && !itemSpawn.replaceItem + ) { foreach (spawnReplace : itemSpawn.spawnReplaces) { if (spawnReplace.name ~== candidateName) { - if (hd_debug) console.printf("Attempting to replace "..candidateName.." with "..itemSpawn.spawnName.."..."); + if (hd_debug) console.printf("Attempting to spawn "..itemSpawn.spawnName.." with "..candidateName.."..."); - if (tryCreateItem(thing, itemSpawn.spawnName, spawnReplace.chance, itemSpawn.replaceItem)) return; + if (tryCreateItem(thing, itemSpawn.spawnName, spawnReplace.chance)) return; } } } From ee09a2d43acc8d128230135f7912e7ebcaeb9a03 Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Fri, 13 Oct 2023 19:48:44 -0500 Subject: [PATCH 3/9] Add HDGarandClipGiver to backpack blacklist Seems there's a third class that can just show up in Backpacks... --- zscript/Hexadoken/SpawnHandler.zsc | 1 + 1 file changed, 1 insertion(+) diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index f26bd53..573d0f2 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -176,6 +176,7 @@ class HexaDokenHandler : EventHandler { if (!bogmag_allowBackpacks) backpackBlacklist.push((Class)('HDOmgClip')); if (!garmag_allowBackpacks) backpackBlacklist.push((Class)('HDGarandClip')); if (!garmag_allowBackpacks) backpackBlacklist.push((Class)('HDGarand3006Clip')); + if (!garmag_allowBackpacks) backpackBlacklist.push((Class)('HDGarandClipGiver')); //------------ From 1feb2232eabaaee08e001bb61360e4efe7df98fd Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Fri, 13 Oct 2023 20:30:53 -0500 Subject: [PATCH 4/9] Ensure CVARs are loaded --- zscript/Hexadoken/SpawnHandler.zsc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index 573d0f2..3b99279 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -370,6 +370,9 @@ class HexaDokenHandler : EventHandler { override void checkReplacement(ReplaceEvent e) { + // Populates the main arrays if they haven't been already. + if (!cvarsAvailable) init(); + // If there's nothing to replace or if the replacement is final, quit. if (!e.replacee || e.isFinal) return; @@ -386,6 +389,9 @@ class HexaDokenHandler : EventHandler { override void worldThingSpawned(WorldEvent e) { + // Populates the main arrays if they haven't been already. + if (!cvarsAvailable) init(); + // If thing spawned doesn't exist, quit. if (!e.thing) return; From fdd6f150a3d9bb513caca35b93dcf5ddd550efd7 Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Tue, 17 Oct 2023 17:55:00 -0500 Subject: [PATCH 5/9] Use HDAutoPistol to fix broken weapon slot --- zscript/Hexadoken/SpawnHandler.zsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index 3b99279..b0afd98 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -262,7 +262,7 @@ class HexaDokenHandler : EventHandler { // 9mm Boss Rifle Array spawns_9mmBoss; spawns_9mmBoss.push(addItemEntry('BossRifleSpawner', boss9mm_boss_spawn_bias)); - spawns_9mmBoss.push(addItemEntry('HDPistol', boss9mm_pistol_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('HDAutoPistol', boss9mm_pistol_spawn_bias)); spawns_9mmBoss.push(addItemEntry('ClipBoxPickup2', boss9mm_smg_spawn_bias)); addItem('BossRifleNine', spawns_9mmBoss, boss9mm_persistent_spawning); From 55df9c83e753a912809ff66efe3b0dcda0c69eaf Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Tue, 17 Oct 2023 19:19:59 -0500 Subject: [PATCH 6/9] Use more general PlasmaReplaces class instead of specifically the TB --- zscript/Hexadoken/SpawnHandler.zsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index b0afd98..13b5d91 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -282,7 +282,7 @@ class HexaDokenHandler : EventHandler { // .50 OMG Boss Rifle Array spawns_BogRifle; spawns_BogRifle.push(addItemEntry('BossRifleSpawner', bog_boss_spawn_bias)); - spawns_BogRifle.push(addItemEntry('ThunderBuster', bog_plasma_spawn_bias)); + spawns_BogRifle.push(addItemEntry('PlasmaReplaces', bog_plasma_spawn_bias)); spawns_BogRifle.push(addItemEntry('BFG9K', bog_bfg_spawn_bias)); addItem('BogRifleSpawner', spawns_BogRifle, bog_persistent_spawning); From 8d01b976e4c8912bcb1953fb504fdb9d56c8619e Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Fri, 20 Oct 2023 23:54:15 -0500 Subject: [PATCH 7/9] Update CVARs to match latest spawn slots --- CVARINFO | 3 +- MENUDEF | 41 ++++++------ zscript/Hexadoken/SpawnHandler.zsc | 102 ++++++++++++++--------------- 3 files changed, 74 insertions(+), 72 deletions(-) diff --git a/CVARINFO b/CVARINFO index 60a6c3b..55c9842 100644 --- a/CVARINFO +++ b/CVARINFO @@ -1,7 +1,7 @@ // 9mm Boss Rifle server int boss9mm_boss_spawn_bias = 19; server int boss9mm_pistol_spawn_bias = 24; -server int boss9mm_smg_spawn_bias = 14; +server int boss9mm_clipbox_spawn_bias = 14; server bool boss9mm_allowBackpacks = true; server bool boss9mm_persistent_spawning = false; @@ -50,6 +50,7 @@ server int hd_garand_ammotype=1; server int hd_garand_reloadspeed=0; server int hd_garand_reloadcapacity=8; +server int gar_chaingun_spawn_bias = 49; server int gar_liberator_spawn_bias = 24; server bool gar_allowBackpacks = true; server bool gar_persistent_spawning = false; diff --git a/MENUDEF b/MENUDEF index 15e58f9..8fe99ed 100644 --- a/MENUDEF +++ b/MENUDEF @@ -51,17 +51,17 @@ OptionMenu 9mmBoss StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_9MMBOSSSPAWNTEXT", "white" + StaticText "$MENU_9MMBOSS_BOSS_SPAWNTEXT", "white" Option "$MENU_9MMBOSSSPAWN", "boss9mm_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBOSS", "resetcvar boss9mm_boss_spawn_bias" StaticText "" - StaticText "$MENU_9MMBOSSPISTOLTEXT", "white" + StaticText "$MENU_9MMBOSS_PISTOL_SPAWNTEXT", "white" Option "$MENU_9MMBOSSSPAWN", "boss9mm_pistol_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETPISTOL", "resetcvar boss9mm_pistol_spawn_bias" StaticText "" - StaticText "$MENU_9MMBOSSSMGTEXT", "white" - Option "$MENU_9MMBOSSSPAWN", "boss9mm_smg_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETSMG", "resetcvar boss9mm_smg_spawn_bias" + StaticText "$MENU_9MMBOSS_CLIPBOX_SPAWNTEXT", "white" + Option "$MENU_9MMBOSSSPAWN", "boss9mm_clipbox_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETSMG", "resetcvar boss9mm_clipbox_spawn_bias" StaticText "" StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_9MMBOSSBACKPACK", "boss9mm_allowBackpacks", "OnOff" @@ -91,11 +91,11 @@ OptionMenu 4mmBoss StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_4MMBOSSSPAWNTEXT", "white" + StaticText "$MENU_4MMBOSS_BOSS_SPAWNTEXT", "white" Option "$MENU_4MMBOSSSPAWN", "boss4mm_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBOSS", "resetcvar boss4mm_boss_spawn_bias" StaticText "" - StaticText "$MENU_4MMBOSSCHAINGUNTEXT", "white" + StaticText "$MENU_4MMBOSS_CHAINGUN_SPAWNTEXT", "white" Option "$MENU_4MMBOSSSPAWN", "boss4mm_chaingun_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETVULC", "resetcvar boss4mm_chaingun_spawn_bias" StaticText "" @@ -126,15 +126,15 @@ OptionMenu BasRifle StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_BASSPAWNTEXT", "white" + StaticText "$MENU_BAS_BOSS_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETHUNTER", "resetcvar bas_boss_spawn_bias" StaticText "" - StaticText "$MENU_BASHUNTERTEXT", "white" + StaticText "$MENU_BAS_HUNTER_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_hunter_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETHUNTER", "resetcvar bas_hunter_spawn_bias" StaticText "" - StaticText "$MENU_BASSLAYERTEXT", "white" + StaticText "$MENU_BAS_SLAYER_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_slayer_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETSLAYER", "resetcvar bas_slayer_spawn_bias" StaticText "" @@ -165,15 +165,15 @@ OptionMenu BogRifle StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_BOGSPAWNTEXT", "white" + StaticText "$MENU_BOG_BOSS_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETTB", "resetcvar bog_boss_spawn_bias" StaticText "" - StaticText "$MENU_BOGTHUNDERBUSTERTEXT", "white" + StaticText "$MENU_BOG_PLASMA_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_plasma_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETTB", "resetcvar bog_plasma_spawn_bias" StaticText "" - StaticText "$MENU_BOGBFGTEXT", "white" + StaticText "$MENU_BOG_BFG_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_bfg_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBFG", "resetcvar bog_bfg_spawn_bias" StaticText "" @@ -205,11 +205,11 @@ OptionMenu 5mmBoss StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_5MMBOSSSPAWNTEXT", "white" + StaticText "$MENU_5MMBOSS_BOSS_SPAWNTEXT", "white" Option "$MENU_5MMBOSSSPAWN", "boss5mm_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBOSS", "resetcvar boss5mm_boss_spawn_bias" StaticText "" - StaticText "$MENU_5MMBOSSCHAINGUNTEXT", "white" + StaticText "$MENU_5MMBOSS_CHAINGUN_SPAWNTEXT", "white" Option "$MENU_5MMBOSSSPAWN", "boss5mm_chaingun_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETVULC", "resetcvar boss5mm_chaingun_spawn_bias" StaticText "" @@ -240,7 +240,7 @@ OptionMenu NoScopeBoss StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_NSBSPAWNTEXT", "white" + StaticText "$MENU_NSB_BOSS_SPAWNTEXT", "white" Option "$MENU_NSBSPAWN", "nsb_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBOSS", "resetcvar nsb_boss_spawn_bias" StaticText "" @@ -271,7 +271,7 @@ OptionMenu WorstBoss StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_WORSTSPAWNTEXT", "white" + StaticText "$MENU_WORST_BOSS_SPAWNTEXT", "white" Option "$MENU_WORSTSPAWN", "worstBoss_boss_spawn_bias", "SpawnBias" SafeCommand "$MENU_RESETBOSS", "resetcvar worstBoss_boss_spawn_bias" StaticText "" @@ -302,9 +302,12 @@ OptionMenu M1Garand StaticText "all spawns of that given type.", "white" StaticText "" StaticText "Spawn Options", "Orange" - StaticText "$MENU_GARANDLIBERATOR", "white" + StaticText "$MENU_GARAND_CHAINGUN_SPAWNTEXT", "white" + Option "$MENU_GARANDSPAWNRATE", "gar_chaingun_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETGAR", "resetcvar gar_chaingun_spawn_bias" + StaticText "$MENU_GARAND_LIBERATOR_SPAWNTEXT", "white" Option "$MENU_GARANDSPAWNRATE", "gar_liberator_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETLIB", "resetcvar gar_liberator_spawn_bias" + SafeCommand "$MENU_RESETGAR", "resetcvar gar_liberator_spawn_bias" StaticText "" StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_GARANDBACKPACK", "gar_allowBackpacks", "OnOff" diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index 13b5d91..3659e62 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -2,17 +2,17 @@ // Huge credits to FDA for the Radtech Event handler which this is based off of. It's been incredibly helpful. //------------------------------------------------- -// Struct for itemspawn information. +// Struct for itemspawn information. class HexaSpawnItem play { // ID by string for spawner string spawnName; - + // ID by string for spawnees Array spawnReplaces; - + // Whether or not to persistently spawn. bool isPersistent; - + // Whether or not to replace the original item. bool replaceItem; @@ -38,15 +38,15 @@ class HexaSpawnItemEntry play { } } -// Struct for passing useinformation to ammunition. +// Struct for passing useinformation to ammunition. class HexaSpawnAmmo play { // ID by string for the header ammo. string ammoName; - + // ID by string for weapons using that ammo. Array weaponNames; - + string toString() { let weapons = "["; @@ -61,11 +61,11 @@ class HexaSpawnAmmo play { -// One handler to rule them all. +// One handler to rule them all. class HexaDokenHandler : EventHandler { - - // List of persistent classes to completely ignore. - // This -should- mean this mod has no performance impact. + + // List of persistent classes to completely ignore. + // This -should- mean this mod has no performance impact. static const string blacklist[] = { 'HDSmoke', 'BloodTrail', @@ -90,15 +90,15 @@ class HexaDokenHandler : EventHandler { private HDAmBoxList ammoBoxList; // List of weapon-ammo associations. - // Used for ammo-use association on ammo spawn (happens very often). + // Used for ammo-use association on ammo spawn (happens very often). array ammoSpawnList; - + // List of item-spawn associations. - // used for item-replacement on mapload. + // used for item-replacement on mapload. array itemSpawnList; - + bool cvarsAvailable; - + // appends an entry to itemSpawnList; void addItem(string name, Array replacees, bool persists, bool rep=true) { @@ -113,14 +113,14 @@ class HexaDokenHandler : EventHandler { // Creates a new struct; HexaSpawnItem spawnee = HexaSpawnItem(new('HexaSpawnItem')); - + // Populates the struct with relevant information, spawnee.spawnName = name; spawnee.isPersistent = persists; spawnee.replaceItem = rep; spawnee.spawnReplaces.copy(replacees); - - // Pushes the finished struct to the array. + + // Pushes the finished struct to the array. itemSpawnList.push(spawnee); } @@ -135,7 +135,7 @@ class HexaDokenHandler : EventHandler { // appends an entry to ammoSpawnList; void addAmmo(string name, Array weapons) { - + if (hd_debug) { let msg = "Adding Ammo Association Entry for "..name..": ["; @@ -149,12 +149,12 @@ class HexaDokenHandler : EventHandler { spawnee.ammoName = name; spawnee.weaponNames.copy(weapons); - // Pushes the finished struct to the array. + // Pushes the finished struct to the array. ammoSpawnList.push(spawnee); } - - // Populates the replacement and association arrays. + + // Populates the replacement and association arrays. void init() { cvarsAvailable = true; @@ -229,7 +229,7 @@ class HexaDokenHandler : EventHandler { wep_7mm.push('NoScopeBoss'); wep_7mm.push('BossRifleButItsTheWorst'); addAmmo('SevenMilAmmo', wep_7mm); - + // 7mm Recast Array wep_7mmR; wep_7mmR.push('NoScopeBoss'); @@ -262,8 +262,8 @@ class HexaDokenHandler : EventHandler { // 9mm Boss Rifle Array spawns_9mmBoss; spawns_9mmBoss.push(addItemEntry('BossRifleSpawner', boss9mm_boss_spawn_bias)); - spawns_9mmBoss.push(addItemEntry('HDAutoPistol', boss9mm_pistol_spawn_bias)); - spawns_9mmBoss.push(addItemEntry('ClipBoxPickup2', boss9mm_smg_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('PistolReplaces', boss9mm_pistol_spawn_bias)); + spawns_9mmBoss.push(addItemEntry('ClipBoxPickup2', boss9mm_clipbox_spawn_bias)); addItem('BossRifleNine', spawns_9mmBoss, boss9mm_persistent_spawning); // 4mm Boss Rifle @@ -283,7 +283,7 @@ class HexaDokenHandler : EventHandler { Array spawns_BogRifle; spawns_BogRifle.push(addItemEntry('BossRifleSpawner', bog_boss_spawn_bias)); spawns_BogRifle.push(addItemEntry('PlasmaReplaces', bog_plasma_spawn_bias)); - spawns_BogRifle.push(addItemEntry('BFG9K', bog_bfg_spawn_bias)); + spawns_BogRifle.push(addItemEntry('BFGReplaces', bog_bfg_spawn_bias)); addItem('BogRifleSpawner', spawns_BogRifle, bog_persistent_spawning); // 5mm Boss Rifle @@ -304,6 +304,7 @@ class HexaDokenHandler : EventHandler { // M1 Garand Array spawns_Garand; + spawns_Garand.push(addItemEntry('ChaingunReplaces', gar_chaingun_spawn_bias)); spawns_Garand.push(addItemEntry('LiberatorRandom', gar_liberator_spawn_bias)); addItem('HDGarandRandom', spawns_Garand, gar_persistent_spawning); @@ -316,7 +317,7 @@ class HexaDokenHandler : EventHandler { spawns_scanner.push(additementry('PortableMedikit', dms_medikit_bias)); addItem('HDScanner', spawns_scanner, dms_persistent_spawning); } - + // Random stuff, stores it and forces negative values just to be 0. bool giveRandom(int chance) { if (chance > -1) { @@ -355,22 +356,22 @@ class HexaDokenHandler : EventHandler { return false; } - + override void worldLoaded(WorldEvent e) { - // Populates the main arrays if they haven't been already. + // Populates the main arrays if they haven't been already. if (!cvarsAvailable) init(); foreach (bl : backpackBlacklist) { if (hd_debug) console.printf("Removing "..bl.getClassName().." from Backpack Spawn Pool"); - + BPSpawnPool.removeItem(bl); } } override void checkReplacement(ReplaceEvent e) { - // Populates the main arrays if they haven't been already. + // Populates the main arrays if they haven't been already. if (!cvarsAvailable) init(); // If there's nothing to replace or if the replacement is final, quit. @@ -389,7 +390,7 @@ class HexaDokenHandler : EventHandler { override void worldThingSpawned(WorldEvent e) { - // Populates the main arrays if they haven't been already. + // Populates the main arrays if they haven't been already. if (!cvarsAvailable) init(); // If thing spawned doesn't exist, quit. @@ -398,36 +399,33 @@ class HexaDokenHandler : EventHandler { // If thing spawned is blacklisted, quit. foreach (bl : blacklist) if (e.thing is bl) return; + // Handle Ammo Box Loot Table Filtering + if (e.thing is 'HDAmBox' && !ammoBoxList) handleAmmoBoxLootTable(); + string candidateName = e.thing.getClassName(); - + // Pointers for specific classes. let ammo = HDAmmo(e.thing); - + // If the thing spawned is an ammunition, add any and all items that can use this. if (ammo) handleAmmoUses(ammo, candidateName); // If current map is Range, quit. if (level.MapName == 'RANGE') return; - if (e.thing is 'HDAmBox') { - handleAmmoBoxLootTable(); - } else { - handleWeaponSpawns(e.thing, ammo, candidateName); - } + handleWeaponSpawns(e.thing, ammo, candidateName); } private void handleAmmoBoxLootTable() { - if (!ammoBoxList) { - ammoBoxList = HDAmBoxList.Get(); + ammoBoxList = HDAmBoxList.Get(); - foreach (bl : backpackBlacklist) { - let index = ammoBoxList.invClasses.find(bl.getClassName()); + foreach (bl : backpackBlacklist) { + let index = ammoBoxList.invClasses.find(bl.getClassName()); - if (index != ammoBoxList.invClasses.Size()) { - if (hd_debug) console.printf("Removing "..bl.getClassName().." from Ammo Box Loot Table"); + if (index != ammoBoxList.invClasses.Size()) { + if (hd_debug) console.printf("Removing "..bl.getClassName().." from Ammo Box Loot Table"); - ammoBoxList.invClasses.Delete(index); - } + ammoBoxList.invClasses.Delete(index); } } } @@ -464,15 +462,15 @@ class HexaDokenHandler : EventHandler { } private void handleWeaponSpawns(Actor thing, HDAmmo ammo, string candidateName) { - + // Checks if the level has been loaded more than 1 tic. bool prespawn = !(level.maptime > 1); // Iterates through the list of item candidates for e.thing. foreach (itemSpawn : itemSpawnList) { - - // if an item is owned or is an ammo (doesn't retain owner ptr), - // do not replace it. + + // if an item is owned or is an ammo (doesn't retain owner ptr), + // do not replace it. let item = Inventory(thing); if ( (prespawn || itemSpawn.isPersistent) From 6f8c3dcea2755c616bf6a17537c8002d9d760322 Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Sat, 21 Oct 2023 14:07:09 -0500 Subject: [PATCH 8/9] Update LANGUAGE lumps to match latest CVARs --- LANGUAGE | 313 ++++++++++++++++++++++++++++------------------------ MENUDEF | 326 ++++++++++++++++++++++++++++++++----------------------- 2 files changed, 359 insertions(+), 280 deletions(-) diff --git a/LANGUAGE b/LANGUAGE index a9979fc..e857718 100644 --- a/LANGUAGE +++ b/LANGUAGE @@ -1,183 +1,212 @@ [enu default] -// Controls the color of the menu icon. -HEXA_MENU = "\c[Green]Ⓗ\c- Hexadoken's Legacy Continued"; +// Options Menu Titles. +HEXA_MENU = "\c[Green]Ⓗ\c- Hexadoken's Legacy Continued"; +MENU_PISTOLS_TITLE = "--- Pistols ---"; +MENU_SHOTGUNS_TITLE = "--- Shotguns ---"; +MENU_MACHINEGUNS_TITLE = "--- Machine Guns ---"; +MENU_EXPLOSIVES_TITLE = "--- Explosives ---"; +MENU_RIFLES_TITLE = "--- Rifles ---"; +MENU_ENERGYWEAPONS_TITLE = "--- Energy Weapons ---"; +MENU_ARMOUR_TITLE = "--- Armour ---"; +MENU_ITEMS_TITLE = "--- Items ---"; +MENU_RESETOPTIONS_TITLE = "--- Reset Options ---"; +MENU_LORE_TITLE = "--- Lore ---"; + +// Menu Section Headers +MENU_SPAWNOPTIONS = "Spawn Options"; +MENU_WEPSPAWNOPTIONS = "Weapon Spawn Options"; +MENU_MAGSPAWNOPTIONS = "Magazine Spawn Options"; +MENU_PERSISTENCYOPTIONS = "Spawn Persistence Options"; +MENU_MISCOPTIONS = "Misc. Options"; +MENU_RESETOPTIONS = "Reset Options"; +MENU_RESETALLOPTIONS = "Reset all Options"; + +// Menu Static Text +MENU_SPAWNRATE_TEXT1 = "Setting 'spawn rate' to Replace All will suppress"; +MENU_SPAWNRATE_TEXT2 = "spawns of that given type."; +MENU_PERSISTENCY_TEXT = "Control whether replacements happen after a mapload:"; + +// Menu Option Labels +MENU_NOTICE = "Notice:"; +MENU_BACKPACKSALLOWED = "Allowed in Ammo Boxes and/or Backpacks: "; +MENU_SPAWNRATE = "Spawn Rate: "; +MENU_WEPSPAWNRATE = "Weapon Spawn Rate: "; +MENU_MAGSPAWNRATE = "Magazine Spawn Rate: "; +MENU_PERSISTENCY = "Persistent Spawns: "; +MENU_WEPPERSISTENCY = "Persistent Weapon Spawns: "; +MENU_MAGPERSISTENCY = "Persistent Magazine Spawns: "; + +// Menu Command Text +MENU_RESETWEP = "Reset Weapon Options"; +MENU_RESETMAG = "Reset Magazine Options"; +MENU_RESETPERSISTENCY = "Reset Persistence Options"; +HEXA_RESETALLOPTIONS = "Reset all options for Hexadoken's Legacy Continued."; // Weapon Tags -TAG_NSB = "Scopeless Boss Rifle"; -TAG_OMGBOSS = "Boss Rifle (.50 OMG)"; -TAG_BOSSMERG = "Bossmerg 12 gauge Shotgun"; -TAG_GARAND = "M1 Garand"; +TAG_NSB = "Scopeless Boss Rifle"; +TAG_OMGBOSS = "Boss Rifle (.50 OMG)"; +TAG_BOSSMERG = "Bossmerg 12 gauge Shotgun"; +TAG_GARAND = "M1 Garand"; -TAG_ShitbostDummy = "Boss Rifle Variants"; -TAG_9MMBOSS = "Boss Rifle (9mm)"; -TAG_4MMBOSS = "Boss Rifle (4mm)"; -TAG_5MMBOSS = "HexaDoken's Personal Boss Rifle"; -TAG_WORSTBOSS = "Boss Rifle But It's The Worst"; +TAG_ShitbostDummy = "Boss Rifle Variants"; +TAG_9MMBOSS = "Boss Rifle (9mm)"; +TAG_4MMBOSS = "Boss Rifle (4mm)"; +TAG_5MMBOSS = "HexaDoken's Personal Boss Rifle"; +TAG_WORSTBOSS = "Boss Rifle But It's The Worst"; // Item Tags -TAG_50OMGCLIP = ".50 OMG clip"; -TAG_7MMSPEEDLOADER = "7.76mm Speed-Reloader Prototype"; -TAG_DMS = "Medical Scanner"; -TAG_GARANDCLIP = "M1 Garand clip"; +TAG_50OMGCLIP = ".50 OMG clip"; +TAG_7MMSPEEDLOADER = "7.76mm Speed-Reloader Prototype"; +TAG_DMS = "Medical Scanner"; +TAG_GARANDCLIP = "M1 Garand clip"; // Pickup Messages -PICKUP_9MMBOSS = "You got the Boss Rifle! It's a bit greasy..."; -PICKUP_4MMBOSS = "You got the Boss Rifle! Surprisingly light."; -PICKUP_BOSSMERG = "You got the Bossmerg 12 gauge Shotgun!"; -PICKUP_5MMBOSS = "You got Hexadoken's Personal Boss Rifle!"; -PICKUP_OMGBOSS = "You got the Boss bolt-action anti-materiel rifle!"; -PICKUP_WORSTBOSS = "You found a... Boss Rifle, but it's the worst. Oh no..."; +PICKUP_9MMBOSS = "You got the Boss Rifle! It's a bit greasy..."; +PICKUP_4MMBOSS = "You got the Boss Rifle! Surprisingly light."; +PICKUP_BOSSMERG = "You got the Bossmerg 12 gauge Shotgun!"; +PICKUP_5MMBOSS = "You got Hexadoken's Personal Boss Rifle!"; +PICKUP_OMGBOSS = "You got the Boss bolt-action anti-materiel rifle!"; +PICKUP_WORSTBOSS = "You found a... Boss Rifle, but it's the worst. Oh no..."; -PICKUP_50OMGCLIP = "Picked up a .50 OMG clip."; +PICKUP_50OMGCLIP = "Picked up a .50 OMG clip."; // Obituaries -OB_OMGBOSS = "%o sure showed %k who was the big boss!"; +OB_OMGBOSS = "%o sure showed %k who was the big boss!"; // Weapon Help Text -WEPHELP_WORSTBOSS = "You are beyond help."; -WEPHELP_WORSTBOSS_CC = "\cfMAN IS ONLY SEPARATED FROM THE HEAVENS\nBY THAT WHICH HE WILL NOT GUN."; +WEPHELP_WORSTBOSS = "You are beyond help."; +WEPHELP_WORSTBOSS_CC = "\cfMAN IS ONLY SEPARATED FROM THE HEAVENS\nBY THAT WHICH HE WILL NOT GUN."; // Menu Titles -TITLE_9MMBOSSMENU = "------ 9mm Boss Rifle Options ------"; -TITLE_4MMBOSSMENU = "------ 4.26mm Boss Rifle Options ------"; -TITLE_BOSSMERGMENU = "------ Bossmerg 12 gauge Shotgun Options ------"; -TITLE_BOGRIFLEMENU = "------ .50 OMG Boss Rifle Options ------"; -TITLE_5MMBOSSMENU = "------ Hexadoken's 5mm BR Boss Rifle Options ------"; -TITLE_NSBMENU = "------ Scopeless Boss Rifle Options ------"; -TITLE_WORSTMENU = "------ The Worst Boss Rifle Options ------"; -TITLE_GARANDMENU = "------ M1 Garand Options ------"; -TITLE_DMSMENU = "------ Medical Scanner Options ------"; +TITLE_9MMBOSSMENU = "------ 9mm Boss Rifle Options ------"; +TITLE_4MMBOSSMENU = "------ 4.26mm Boss Rifle Options ------"; +TITLE_BOSSMERGMENU = "------ Bossmerg 12 gauge Shotgun Options ------"; +TITLE_BOGRIFLEMENU = "------ .50 OMG Boss Rifle Options ------"; +TITLE_5MMBOSSMENU = "------ Hexadoken's 5mm BR Boss Rifle Options ------"; +TITLE_NSBMENU = "------ Scopeless Boss Rifle Options ------"; +TITLE_WORSTMENU = "------ The Worst Boss Rifle Options ------"; +TITLE_GARANDMENU = "------ M1 Garand Options ------"; +TITLE_DMSMENU = "------ Medical Scanner Options ------"; // 9mm Boss -MENU_9MMBOSSSPAWNTEXT = "Control the spawn rate of the 9mm Boss on Boss Rifles"; -MENU_9MMBOSSPISTOLTEXT = "Control the spawn rate of the 9mm Boss on Pistols"; -MENU_9MMBOSSSMGTEXT = "Control the spawn rate of the 9mm Boss on SMGs"; -MENU_9MMBOSSSPAWN = "9mm Boss Spawn Rate: "; +MENU_9MMBOSS_BOSS_SPAWNTEXT = "Control the spawn rate of the 9mm Boss on Boss Rifles:"; +MENU_9MMBOSS_PISTOL_SPAWNTEXT = "Control the spawn rate of the 9mm Boss on Pistols:"; +MENU_9MMBOSS_CLIPBOX_SPAWNTEXT = "Control the spawn rate of the 9mm Boss on Clip Boxes:"; +MENU_9MMBOSSSPAWNRATE = "9mm Boss Spawn Rate: "; // 4mm Boss -MENU_4MMBOSSSPAWNTEXT = "Control the spawn rate of the 4.26mm Boss on Boss Rifles"; -MENU_4MMBOSSCHAINGUNTEXT = "Control the spawn rate of the 4.26mm Boss on ZM66 Assault Rifles"; -MENU_4MMBOSSSPAWN = "4.26mm Boss Spawn Rate: "; +MENU_4MMBOSS_BOSS_SPAWNTEXT = "Control the spawn rate of the 4.26mm Boss on Boss Rifles:"; +MENU_4MMBOSS_CHAINGUN_SPAWNTEXT = "Control the spawn rate of the 4.26mm Boss on Vulcanettes:"; +MENU_4MMBOSSSPAWNRATE = "4.26mm Boss Spawn Rate: "; // Bossmerg -MENU_BASSPAWNTEXT = "Control the spawn rate of the Bossmerg on Boss Rifles"; -MENU_BASHUNTERTEXT = "Control the spawn rate of the Bossmerg on Hunters"; -MENU_BASSLAYERTEXT = "Control the spawn rate of the Bossmerg on Slayers"; -MENU_BASSPAWNRATE = "Bossmerg Spawn Rate: "; +MENU_BAS_BOSS_SPAWNTEXT = "Control the spawn rate of the Bossmerg on Boss Rifles:"; +MENU_BAS_HUNTER_SPAWNTEXT = "Control the spawn rate of the Bossmerg on Hunter Shotguns:"; +MENU_BAS_SLAYER_SPAWNTEXT = "Control the spawn rate of the Bossmerg on Slayer Shotguns:"; +MENU_BASSPAWNRATE = "Bossmerg Spawn Rate: "; // .50 OMG Boss -MENU_BOGSPAWNTEXT = "Control the spawn rate of the .50 OMG Boss on Boss Rifles"; -MENU_BOGTHUNDERBUSTERTEXT = "Control the spawn rate of the .50 OMG Boss on Thunderbusters"; -MENU_BOGBFGTEXT = "Control the spawn rate of the .50 OMG Boss on BFG-9000s"; -MENU_BOGSPAWNRATE = ".50 OMG Boss Spawn Rate: "; +MENU_BOG_BOSS_SPAWNTEXT = "Control the spawn rate of the .50 OMG Boss on Boss Rifles:"; +MENU_BOG_PLASMA_SPAWNTEXT = "Control the spawn rate of the .50 OMG Boss on Thunderbusters:"; +MENU_BOG_BFG_SPAWNTEXT = "Control the spawn rate of the .50 OMG Boss on BFG-9000s:"; +MENU_BOGSPAWNRATE = ".50 OMG Boss Spawn Rate: "; // 5mm Boss -MENU_5MMBOSSSPAWNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on Boss Rifles"; -MENU_5MMBOSSCHAINGUNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on ZM66 Assault Rifles"; -MENU_5MMBOSSSPAWN = "Hexadoken's Personal Boss Spawn Rate: "; +MENU_5MMBOSS_BOSS_SPAWNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on Boss Rifles:"; +MENU_5MMBOSS_CHAINGUN_SPAWNTEXT = "Control the spawn rate of Hexadoken's Personal Boss on Vulcanettes:"; +MENU_5MMBOSSSPAWNRATE = "Hexadoken's Personal Boss Spawn Rate: "; // Scopeless Boss -MENU_NSBSPAWNTEXT = "Control the spawn rate of the No-Scope Boss on Boss Rifles"; -MENU_NSBSPAWN = "No-Scope Boss Spawn Rate: "; +MENU_NSB_BOSS_SPAWNTEXT = "Control the spawn rate of the No-Scope Boss on Boss Rifles"; +MENU_NSBSPAWNRATE = "No-Scope Boss Spawn Rate: "; // 5mm Boss -MENU_WORSTSPAWNTEXT = "Control the spawn rate of the Worst Boss on Boss Rifles"; -MENU_WORSTSPAWN = "The Worst Boss Spawn Rate: "; +MENU_WORST_BOSS_SPAWNTEXT = "Control the spawn rate of the Worst Boss on Boss Rifles"; +MENU_WORSTSPAWNRATE = "The Worst Boss Spawn Rate: "; // M1 Garand -MENU_GARANDLIBERATOR = "Control the spawn rate of the M1 Garand on Liberators"; -MENU_GARANDSPAWNRATE = "M1 Garand Spawn Rate: "; -MENU_GARANDAMMO = "Control what ammunition the M1 Garand loads"; -MENU_GARANDAMMOTYPE = "M1 Garand Ammo Type: "; -MENU_GARANDAMMORESET = "Reset Ammo Type options"; -MENU_GARANDRELOADERSPEED = "Control how fast the M1 Garand's reloader is"; -MENU_GARANDSPEED = "M1 Garand Reloader Speed: "; -MENU_RESETGARANDSPEED = "Reset Reloader speed options"; -MENU_GARANDRELOADERCAPACITYTEXT = "Control how much ammo the M1 Garand's reloader can hold at a time."; -MENU_GARANDRELOADERCAPACITY = "M1 Garand Reloader Capacity: "; +MENU_GARAND_CHAINGUN_SPAWNTEXT = "Control the spawn rate of the M1 Garand on Vulcanettes:"; +MENU_GARAND_LIBERATOR_SPAWNTEXT = "Control the spawn rate of the M1 Garand on Liberators:"; +MENU_GARANDSPAWNRATE = "M1 Garand Spawn Rate: "; +MENU_GARANDAMMO = "Control what ammunition the M1 Garand loads"; +MENU_GARANDAMMOTYPE = "M1 Garand Ammo Type: "; +MENU_GARANDAMMORESET = "Reset Ammo Type options"; +MENU_GARANDRELOADERSPEED = "Control how fast the M1 Garand's reloader is"; +MENU_GARANDSPEED = "M1 Garand Reloader Speed: "; +MENU_RESETGARANDSPEED = "Reset Reloader speed options"; +MENU_GARANDRELOADERCAPACITYTEXT = "Control how much ammo the M1 Garand's reloader can hold at a time."; +MENU_GARANDRELOADERCAPACITY = "M1 Garand Reloader Capacity: "; MENU_RESETGARANDRELOADERCAPACITY = "Reset Reloader Capacity"; // Medical Scanner -MENU_DMSSTIMPACK = "Control the spawn rate of the Medical Scanner on Stimpacks"; -MENU_DMSMEDIKIT = "Control the spawn rate of the Medical Scanner on Medikits"; -MENU_DMSSPAWNRATE = "Medical Scanner Spawn Rate: "; +MENU_DMSSTIMPACK = "Control the spawn rate of the Medical Scanner on Stimpacks:"; +MENU_DMSMEDIKIT = "Control the spawn rate of the Medical Scanner on Medikits:"; +MENU_DMSSPAWNRATE = "Medical Scanner Spawn Rate: "; // Various Resets -MENU_RESETPISTOL = "Reset Pistol spawn options"; -MENU_RESETSMG = "Reset SMG spawn options"; -MENU_RESETBOSS = "Reset Boss Rifle spawn options"; -MENU_RESETTB = "Reset Thunderbuster spawn options"; -MENU_RESETSLAYER = "Reset Slayer spawn options"; -MENU_RESETVULC = "Reset Vulcanette spawn options"; -MENU_RESETHUNTER = "Reset Hunter spawn options"; -MENU_RESETBFG = "Reset BFG-9000 spawn options"; -MENU_RESETLIB = "Reset Liberator spawn options"; -MENU_RESETSTIMPACK = "Reset Stimpack spawn options"; -MENU_RESETMEDIKIT = "Reset Medikit spawn options"; +MENU_RESETWEP = "Reset Weapon spawn options"; +MENU_RESETMAG = "Reset Magazine spawn options"; +MENU_RESETSTIMPACK = "Reset Stimpack spawn options"; +MENU_RESETMEDIKIT = "Reset Medikit spawn options"; // Backpack & Ammo Box Tables -MENU_BACKPACKTEXT = "Control whether to allow this weapon to spawn in Backpacks & Ammo Boxes"; -MENU_9MMBOSSBACKPACK = "Allow 9mm Boss Rifles: "; -MENU_9MMBOSSMAGBACKPACK = "Allow 9mm Clips: "; -MENU_4MMBOSSBACKPACK = "Allow 4mm Boss Rifles: "; -MENU_BASBACKPACK = "Allow Bossmerg Shotguns: "; -MENU_BOGBACKPACK = "Allow .50 OMG Boss Rifles: "; -MENU_BOGMAGBACKPACK = "Allow .50 OMG Clips: "; -MENU_5MMBOSSBACKPACK = "Allow Hexadoken's Personal Boss Rifles: "; -MENU_NSBBACKPACK = "Allow No-Scope Boss Rifles: "; -MENU_WORSTBACKPACK = "Allow the Worst Boss Rifles: "; -MENU_GARANDBACKPACK = "Allow M1 Garands: "; -MENU_GARANDMAGBACKPACK = "Allow M1 Garand Magazines: "; -MENU_DMSBACKPACK = "Allow Medical Scanners: "; - -// Persistency -MENU_REPLACEAFTERMAPLOAD = "Control whether replacements happen after a mapload."; -MENU_PERSISTENCY = "Persistent Spawns: "; -MENU_RESETPERSISTENCY = "Reset persistence options"; +MENU_BACKPACKTEXT = "Control whether to allow this weapon to spawn in Backpacks & Ammo Boxes"; +MENU_9MMBOSSBACKPACK = "Allow 9mm Boss Rifles: "; +MENU_9MMBOSSMAGBACKPACK = "Allow 9mm Clips: "; +MENU_4MMBOSSBACKPACK = "Allow 4mm Boss Rifles: "; +MENU_BASBACKPACK = "Allow Bossmerg Shotguns: "; +MENU_BOGBACKPACK = "Allow .50 OMG Boss Rifles: "; +MENU_BOGMAGBACKPACK = "Allow .50 OMG Clips: "; +MENU_5MMBOSSBACKPACK = "Allow Hexadoken's Personal Boss Rifles: "; +MENU_NSBBACKPACK = "Allow No-Scope Boss Rifles: "; +MENU_WORSTBACKPACK = "Allow the Worst Boss Rifles: "; +MENU_GARANDBACKPACK = "Allow M1 Garands: "; +MENU_GARANDMAGBACKPACK = "Allow M1 Garand Magazines: "; +MENU_DMSBACKPACK = "Allow Medical Scanners: "; // Deepest Lore -9MMBOSS_LORE1 = "TODO: Enter Lore."; -9MMBOSS_LORE2 = ""; -9MMBOSS_LORE3 = ""; -9MMBOSS_LORE4 = ""; - -4MMBOSS_LORE1 = "TODO: Enter Lore."; -4MMBOSS_LORE2 = ""; -4MMBOSS_LORE3 = ""; -4MMBOSS_LORE4 = ""; - -BAS_LORE1 = "What appears to be a boss rifle rechambered to fit 12-Gauge shells."; -BAS_LORE2 = "Not much is known where these came from or why they were created in the first place,"; -BAS_LORE3 = "Though they most certainly do exist. For better or for worst."; -BAS_LORE4 = "If you get one, make sure it's the custom chamber version. These'll gunk up fast..."; - -BOG_LORE1 = "A Boss rifle that has been rechambered for the .50 OMG Cartridge."; -BOG_LORE2 = "These rifles are usually impractical, though incredibly fun to shoot."; -BOG_LORE3 = "If you do manage to hit your target with this it'll most certainly take some hefty damage,"; -BOG_LORE4 = "though getting the munitions to feed this beast is another ordeal."; - -NSB_LORE1 = "A Boss rifle that has been stripped of its main scope, leaving only its irons left."; -NSB_LORE2 = "Little is known why these rifles have appeared with only irons, especially as they're not easily replaceable."; -NSB_LORE3 = "Some speculate that they're for civilian use while others say that they're for infantry use."; -NSB_LORE4 = "All we can say for certain is that it's still as effective as the regular boss rifle, for better or for worse."; - -5MMBOSS_LORE1 = "TODO: Enter Lore."; -5MMBOSS_LORE2 = ""; -5MMBOSS_LORE3 = ""; -5MMBOSS_LORE4 = ""; - -GARAND_LORE1 = "An old M1 Garand from the early 1X40 times. Some have been recently rechambered to 7.76mm also."; -GARAND_LORE2 = "It mostly serves now as an inbetween of the Mk. IV Boss Rifle and the ZM7 Liberator."; -GARAND_LORE3 = "The original cartridge it was chambered for of .30-06 hits a hefty punch,"; -GARAND_LORE4 = "though its rarity and incompatibility with other 7.76mm guns makes the 7.76mm version a bit more economical."; - -WORSTBOSS_LORE1 = "TODO: Enter Lore."; -WORSTBOSS_LORE2 = ""; -WORSTBOSS_LORE3 = ""; -WORSTBOSS_LORE4 = ""; - -DMS_LORE1 = "TODO: Enter Lore."; -DMS_LORE2 = ""; -DMS_LORE3 = ""; -DMS_LORE4 = ""; +9MMBOSS_LORE1 = "TODO: Enter Lore."; +9MMBOSS_LORE2 = ""; +9MMBOSS_LORE3 = ""; +9MMBOSS_LORE4 = ""; + +4MMBOSS_LORE1 = "TODO: Enter Lore."; +4MMBOSS_LORE2 = ""; +4MMBOSS_LORE3 = ""; +4MMBOSS_LORE4 = ""; + +BAS_LORE1 = "What appears to be a boss rifle rechambered to fit 12-Gauge shells."; +BAS_LORE2 = "Not much is known where these came from or why they were created in the first place,"; +BAS_LORE3 = "Though they most certainly do exist. For better or for worst."; +BAS_LORE4 = "If you get one, make sure it's the custom chamber version. These'll gunk up fast..."; + +BOG_LORE1 = "A Boss rifle that has been rechambered for the .50 OMG Cartridge."; +BOG_LORE2 = "These rifles are usually impractical, though incredibly fun to shoot."; +BOG_LORE3 = "If you do manage to hit your target with this it'll most certainly take some hefty damage,"; +BOG_LORE4 = "though getting the munitions to feed this beast is another ordeal."; + +NSB_LORE1 = "A Boss rifle that has been stripped of its main scope, leaving only its irons left."; +NSB_LORE2 = "Little is known why these rifles have appeared with only irons, especially as they're not easily replaceable."; +NSB_LORE3 = "Some speculate that they're for civilian use while others say that they're for infantry use."; +NSB_LORE4 = "All we can say for certain is that it's still as effective as the regular boss rifle, for better or for worse."; + +5MMBOSS_LORE1 = "TODO: Enter Lore."; +5MMBOSS_LORE2 = ""; +5MMBOSS_LORE3 = ""; +5MMBOSS_LORE4 = ""; + +GARAND_LORE1 = "An old M1 Garand from the early 1X40 times. Some have been recently rechambered to 7.76mm also."; +GARAND_LORE2 = "It mostly serves now as an inbetween of the Mk. IV Boss Rifle and the ZM7 Liberator."; +GARAND_LORE3 = "The original cartridge it was chambered for of .30-06 hits a hefty punch,"; +GARAND_LORE4 = "though its rarity and incompatibility with other 7.76mm guns makes the 7.76mm version a bit more economical."; + +WORSTBOSS_LORE1 = "TODO: Enter Lore."; +WORSTBOSS_LORE2 = ""; +WORSTBOSS_LORE3 = ""; +WORSTBOSS_LORE4 = ""; + +DMS_LORE1 = "TODO: Enter Lore."; +DMS_LORE2 = ""; +DMS_LORE3 = ""; +DMS_LORE4 = ""; diff --git a/MENUDEF b/MENUDEF index 8fe99ed..9aa2fd2 100644 --- a/MENUDEF +++ b/MENUDEF @@ -1,22 +1,20 @@ // This adds it to options so we don't have multiple option menus in the main options menu. - [Ted] -AddOptionMenu "OptionsMenu" -{ +AddOptionMenu "OptionsMenu" { Submenu "$HEXA_MENU", "HexadokenLegacyContinued" } // This does the same as aboved but for the HD Addon menu. - [Ted] -AddOptionMenu "HDAddonMenu" -{ +AddOptionMenu "HDAddonMenu" { Submenu "$HEXA_MENU", "HexadokenLegacyContinued" } // This is the main option menu that'll have all of the other menus for the weaponry. // Note: Practically everything is LANGUAGE-Lump'd. If you're wondering what each option does and what text it displays, I suggest having that open also. - [Ted] -OptionMenu HexadokenLegacyContinued -{ - Title "Hexadoken's Legacy Continued" +OptionMenu HexadokenLegacyContinued { + Title "$HEXA_MENU" StaticText "" - StaticText "--- Rifles ---", "orange" + + StaticText "$MENU_RIFLES_TITLE", "orange" StaticText "" Submenu "$TAG_9MMBOSS", "9mmBoss", 0, 1 StaticText "" @@ -34,48 +32,55 @@ OptionMenu HexadokenLegacyContinued StaticText "" Submenu "$TAG_GARAND", "M1Garand", 0, 1 StaticText "" - StaticText "--- Items ---", "green" + + StaticText "$MENU_ITEMS_TITLE", "green" StaticText "" Submenu "$TAG_DMS", "DMS", 0, 1 StaticText "" + StaticText "--- Reset Options ---", "Red" StaticText "" - SafeCommand "Reset every option", "Hexa_Reset_Cvars", "This resets every option for Hexa's Legacy Continued, are you sure you want to do this?" + SafeCommand "$HEXA_RESETALLOPTIONS", "Hexa_Reset_Cvars" } -OptionMenu 9mmBoss -{ +OptionMenu 9mmBoss { Title "$TITLE_9MMBOSSMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_9MMBOSS_BOSS_SPAWNTEXT", "white" - Option "$MENU_9MMBOSSSPAWN", "boss9mm_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBOSS", "resetcvar boss9mm_boss_spawn_bias" + Option "$MENU_9MMBOSSSPAWNRATE", "boss9mm_boss_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss9mm_boss_spawn_bias" StaticText "" StaticText "$MENU_9MMBOSS_PISTOL_SPAWNTEXT", "white" - Option "$MENU_9MMBOSSSPAWN", "boss9mm_pistol_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETPISTOL", "resetcvar boss9mm_pistol_spawn_bias" + Option "$MENU_9MMBOSSSPAWNRATE", "boss9mm_pistol_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss9mm_pistol_spawn_bias" StaticText "" StaticText "$MENU_9MMBOSS_CLIPBOX_SPAWNTEXT", "white" - Option "$MENU_9MMBOSSSPAWN", "boss9mm_clipbox_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETSMG", "resetcvar boss9mm_clipbox_spawn_bias" + Option "$MENU_9MMBOSSSPAWNRATE", "boss9mm_clipbox_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss9mm_clipbox_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_9MMBOSSBACKPACK", "boss9mm_allowBackpacks", "OnOff" - /* Option "$MENU_9MMBOSSMAGBACKPACK", "boss9mmmag_allowBackpacks", "OnOff" */ StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "ORange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "boss9mm_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar boss9mm_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "boss9mm_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "boss9mm_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$9MMBOSS_LORE1", "white" StaticText "$9MMBOSS_LORE2", "white" @@ -83,34 +88,40 @@ OptionMenu 9mmBoss StaticText "$9MMBOSS_LORE4", "white" } -OptionMenu 4mmBoss -{ +OptionMenu 4mmBoss { Title "$TITLE_4MMBOSSMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_4MMBOSS_BOSS_SPAWNTEXT", "white" - Option "$MENU_4MMBOSSSPAWN", "boss4mm_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBOSS", "resetcvar boss4mm_boss_spawn_bias" + Option "$MENU_4MMBOSSSPAWNRATE", "boss4mm_boss_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss4mm_boss_spawn_bias" StaticText "" StaticText "$MENU_4MMBOSS_CHAINGUN_SPAWNTEXT", "white" - Option "$MENU_4MMBOSSSPAWN", "boss4mm_chaingun_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETVULC", "resetcvar boss4mm_chaingun_spawn_bias" + Option "$MENU_4MMBOSSSPAWNRATE", "boss4mm_chaingun_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss4mm_chaingun_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_4MMBOSSBACKPACK", "boss4mm_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "boss4mm_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar boss4mm_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "boss4mm_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "boss4mm_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$4MMBOSS_LORE1", "white" StaticText "$4MMBOSS_LORE2", "white" @@ -118,38 +129,44 @@ OptionMenu 4mmBoss StaticText "$4MMBOSS_LORE4", "white" } -OptionMenu BasRifle -{ +OptionMenu BasRifle { Title "$TITLE_BOSSMERGMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_BAS_BOSS_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETHUNTER", "resetcvar bas_boss_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bas_boss_spawn_bias" StaticText "" StaticText "$MENU_BAS_HUNTER_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_hunter_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETHUNTER", "resetcvar bas_hunter_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bas_hunter_spawn_bias" StaticText "" StaticText "$MENU_BAS_SLAYER_SPAWNTEXT", "white" Option "$MENU_BASSPAWNRATE", "bas_slayer_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETSLAYER", "resetcvar bas_slayer_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bas_slayer_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_BASBACKPACK", "bas_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "bas_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar bas_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "bas_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "bas_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$BAS_LORE1", "white" StaticText "$BAS_LORE2", "white" @@ -157,74 +174,87 @@ OptionMenu BasRifle StaticText "$BAS_LORE4", "white" } -OptionMenu BogRifle -{ +OptionMenu BogRifle { Title "$TITLE_BOGRIFLEMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_BOG_BOSS_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETTB", "resetcvar bog_boss_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bog_boss_spawn_bias" StaticText "" StaticText "$MENU_BOG_PLASMA_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_plasma_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETTB", "resetcvar bog_plasma_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bog_plasma_spawn_bias" StaticText "" StaticText "$MENU_BOG_BFG_SPAWNTEXT", "white" Option "$MENU_BOGSPAWNRATE", "bog_bfg_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBFG", "resetcvar bog_bfg_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar bog_bfg_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_BOGBACKPACK", "bog_allowBackpacks", "OnOff" Option "$MENU_BOGMAGBACKPACK", "bogmag_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "bog_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar bog_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "bog_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "bog_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" + StaticText "$BOG_LORE1", "white" StaticText "$BOG_LORE2", "white" StaticText "$BOG_LORE3", "white" StaticText "$BOG_LORE4", "white" } -OptionMenu 5mmBoss -{ +OptionMenu 5mmBoss { Title "$TITLE_5MMBOSSMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_5MMBOSS_BOSS_SPAWNTEXT", "white" - Option "$MENU_5MMBOSSSPAWN", "boss5mm_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBOSS", "resetcvar boss5mm_boss_spawn_bias" + Option "$MENU_5MMBOSSSPAWNRATE", "boss5mm_boss_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss5mm_boss_spawn_bias" StaticText "" StaticText "$MENU_5MMBOSS_CHAINGUN_SPAWNTEXT", "white" - Option "$MENU_5MMBOSSSPAWN", "boss5mm_chaingun_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETVULC", "resetcvar boss5mm_chaingun_spawn_bias" + Option "$MENU_5MMBOSSSPAWNRATE", "boss5mm_chaingun_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar boss5mm_chaingun_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_5MMBOSSBACKPACK", "boss5mm_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "boss5mm_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar boss5mm_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "5mmboss_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "5mmboss_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$5MMBOSS_LORE1", "white" StaticText "$5MMBOSS_LORE2", "white" @@ -232,30 +262,36 @@ OptionMenu 5mmBoss StaticText "$5MMBOSS_LORE4", "white" } -OptionMenu NoScopeBoss -{ +OptionMenu NoScopeBoss { Title "$TITLE_NSBMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_NSB_BOSS_SPAWNTEXT", "white" - Option "$MENU_NSBSPAWN", "nsb_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBOSS", "resetcvar nsb_boss_spawn_bias" + Option "$MENU_NSBSPAWNRATE", "nsb_boss_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar nsb_boss_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_NSBBACKPACK", "nsb_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "nsb_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar nsb_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "nsb_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "nsb_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$NSB_LORE1", "white" StaticText "$NSB_LORE2", "white" @@ -263,30 +299,36 @@ OptionMenu NoScopeBoss StaticText "$NSB_LORE4", "white" } -OptionMenu WorstBoss -{ +OptionMenu WorstBoss { Title "$TITLE_WORSTMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_WORST_BOSS_SPAWNTEXT", "white" - Option "$MENU_WORSTSPAWN", "worstBoss_boss_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETBOSS", "resetcvar worstBoss_boss_spawn_bias" + Option "$MENU_WORSTSPAWNRATE", "worstBoss_boss_spawn_bias", "SpawnBias" + SafeCommand "$MENU_RESETWEP", "resetcvar worstBoss_boss_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_WORSTBACKPACK", "worstBoss_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "worstBoss_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar worstBoss_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "worstBoss_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "worstBoss_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$WORSTBOSS_LORE1", "white" StaticText "$WORSTBOSS_LORE2", "white" @@ -294,30 +336,35 @@ OptionMenu WorstBoss StaticText "$WORSTBOSS_LORE4", "white" } -OptionMenu M1Garand -{ +OptionMenu M1Garand { Title "$TITLE_GARANDMENU" - StaticText "Notice:", "Orange" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Orange" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Orange" + + StaticText "$MENU_SPAWNOPTIONS", "Orange" StaticText "$MENU_GARAND_CHAINGUN_SPAWNTEXT", "white" Option "$MENU_GARANDSPAWNRATE", "gar_chaingun_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETGAR", "resetcvar gar_chaingun_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar gar_chaingun_spawn_bias" StaticText "$MENU_GARAND_LIBERATOR_SPAWNTEXT", "white" Option "$MENU_GARANDSPAWNRATE", "gar_liberator_spawn_bias", "SpawnBias" - SafeCommand "$MENU_RESETGAR", "resetcvar gar_liberator_spawn_bias" + SafeCommand "$MENU_RESETWEP", "resetcvar gar_liberator_spawn_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Orange" Option "$MENU_GARANDBACKPACK", "gar_allowBackpacks", "OnOff" Option "$MENU_GARANDMAGBACKPACK", "garmag_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_PERSISTENCYOPTIONS", "Orange" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "gar_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar gar_persistent_spawning" StaticText "" - StaticText "Misc Options", "Orange" + + StaticText "$MENU_MISCOPTIONS", "Orange" StaticText "$MENU_GARANDAMMO", "white" Option "$MENU_GARANDAMMOTYPE", "hd_garand_ammotype", "HDgarandfeed" SafeCommand "$MENU_GARANDAMMORESET", "resetcvar hd_garand_ammotype" @@ -331,10 +378,12 @@ OptionMenu M1Garand SafeCommand "$MENU_RESETGARANDRELOADERCAPACITY", "resetcvar hd_garand_reloadcapacity" StaticText "" StaticText "" - StaticText "Reset Options", "Orange" - SafeCommand "Reset all options", "gar_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Orange" + SafeCommand "$MENU_RESETALLOPTIONS", "gar_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Orange" + + StaticText "$MENU_LORE_TITLE", "Orange" StaticText "" StaticText "$GARAND_LORE1", "white" StaticText "$GARAND_LORE2", "white" @@ -342,14 +391,15 @@ OptionMenu M1Garand StaticText "$GARAND_LORE4", "white" } -OptionMenu DMS -{ +OptionMenu DMS { Title "$TITLE_DMSMENU" - StaticText "Notice:", "Green" - StaticText "Setting 'spawn rate' to Replace All will suppress", "white" - StaticText "all spawns of that given type.", "white" + + StaticText "$MENU_NOTICE", "Green" + StaticText "$MENU_SPAWNRATE_TEXT1", "white" + StaticText "$MENU_SPAWNRATE_TEXT2", "white" StaticText "" - StaticText "Spawn Options", "Green" + + StaticText "$MENU_SPAWNOPTIONS", "Green" StaticText "$MENU_DMSSTIMPACK", "white" Option "$MENU_DMSSPAWNRATE", "dms_stimpack_bias", "SpawnBias" SafeCommand "$MENU_RESETSTIMPACK", "resetcvar dms_stimpack_bias" @@ -358,18 +408,23 @@ OptionMenu DMS Option "$MENU_DMSSPAWNRATE", "dms_medikit_bias", "SpawnBias" SafeCommand "$MENU_RESETMEDIKIT", "resetcvar dms_medikit_bias" StaticText "" + StaticText "$MENU_BACKPACKTEXT", "Green" Option "$MENU_DMSBACKPACK", "dms_allowBackpacks", "OnOff" StaticText "" - StaticText "$MENU_REPLACEAFTERMAPLOAD", "white" + + StaticText "$MENU_RESETOPTIONS", "Green" + StaticText "$MENU_PERSISTENCY_TEXT", "white" Option "$MENU_PERSISTENCY", "dms_persistent_spawning", "OnOff" SafeCommand "$MENU_RESETPERSISTENCY", "resetcvar dms_persistent_spawning" StaticText "" StaticText "" - StaticText "Reset Options", "Green" - SafeCommand "Reset all options", "dms_reset_cvars" + + StaticText "$MENU_RESETOPTIONS", "Green" + SafeCommand "$MENU_RESETALLOPTIONS", "dms_reset_cvars" StaticText "" - StaticText "--- Lore ---", "Green" + + StaticText "$MENU_LORE_TITLE", "Green" StaticText "" StaticText "$DMS_LORE1", "white" StaticText "$DMS_LORE2", "white" @@ -378,8 +433,7 @@ OptionMenu DMS } // Spawn Bias (for items that do replace) -OptionValue "SpawnBias" -{ +OptionValue "SpawnBias" { -1, "Disabled" 0, "Replace All" 2, "1 in 3" @@ -395,8 +449,7 @@ OptionValue "SpawnBias" } // Drop Bias (for items that don't replace). -OptionValue "DropBias" -{ +OptionValue "DropBias" { -1, "Disabled" 0, "With All" 2, "1 in 3" @@ -411,15 +464,13 @@ OptionValue "DropBias" 199, "1 in 200" } -OptionValue "HDgarandfeed" -{ +OptionValue "HDgarandfeed" { 0, ".30-06" 1, "7.76mm" 2, "7.76mm but stronger" } -OptionValue "HDgarandspeed" -{ +OptionValue "HDgarandspeed" { 0, "Normal" 1, "Fast" 2, "Very fast" @@ -429,8 +480,7 @@ OptionValue "HDgarandspeed" 6, "BRRRRRRT" } -OptionValue "HDgarandcap" -{ +OptionValue "HDgarandcap" { 8, "8 rounds" 16, "16 rounds" 24, "24 rounds" From cb70a7c50ebccda8f70178326e3a23141668b5a3 Mon Sep 17 00:00:00 2001 From: UndeadZeratul Date: Sat, 21 Oct 2023 16:54:31 -0500 Subject: [PATCH 9/9] use proper spawn slot classes, add slot for zerk --- CVARINFO | 1 + LANGUAGE | 2 ++ MENUDEF | 4 ++++ zscript/Hexadoken/SpawnHandler.zsc | 5 +++-- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CVARINFO b/CVARINFO index 55c9842..452f829 100644 --- a/CVARINFO +++ b/CVARINFO @@ -60,6 +60,7 @@ server bool garmag_allowBackpacks = true; // Dedicated Medical Scanner server int dms_stimpack_bias = 49; server int dms_medikit_bias = 19; +server int dms_zerk_bias = 19; server bool dms_allowBackpacks = true; server bool dms_persistent_spawning = false; diff --git a/LANGUAGE b/LANGUAGE index e857718..b51d2c9 100644 --- a/LANGUAGE +++ b/LANGUAGE @@ -142,6 +142,7 @@ MENU_RESETGARANDRELOADERCAPACITY = "Reset Reloader Capacity"; // Medical Scanner MENU_DMSSTIMPACK = "Control the spawn rate of the Medical Scanner on Stimpacks:"; MENU_DMSMEDIKIT = "Control the spawn rate of the Medical Scanner on Medikits:"; +MENU_DMSZERK = "Control the spawn rate of the Medical Scanner on Berserk Packs:"; MENU_DMSSPAWNRATE = "Medical Scanner Spawn Rate: "; // Various Resets @@ -149,6 +150,7 @@ MENU_RESETWEP = "Reset Weapon spawn options"; MENU_RESETMAG = "Reset Magazine spawn options"; MENU_RESETSTIMPACK = "Reset Stimpack spawn options"; MENU_RESETMEDIKIT = "Reset Medikit spawn options"; +MENU_RESETZERK = "Reset Berserk spawn options"; // Backpack & Ammo Box Tables MENU_BACKPACKTEXT = "Control whether to allow this weapon to spawn in Backpacks & Ammo Boxes"; diff --git a/MENUDEF b/MENUDEF index 9aa2fd2..99262c1 100644 --- a/MENUDEF +++ b/MENUDEF @@ -408,6 +408,10 @@ OptionMenu DMS { Option "$MENU_DMSSPAWNRATE", "dms_medikit_bias", "SpawnBias" SafeCommand "$MENU_RESETMEDIKIT", "resetcvar dms_medikit_bias" StaticText "" + StaticText "$MENU_DMSZERK", "white" + Option "$MENU_DMSSPAWNRATE", "dms_zerk_bias", "SpawnBias" + SafeCommand "$MENU_RESETZERK", "resetcvar dms_zerk_bias" + StaticText "" StaticText "$MENU_BACKPACKTEXT", "Green" Option "$MENU_DMSBACKPACK", "dms_allowBackpacks", "OnOff" diff --git a/zscript/Hexadoken/SpawnHandler.zsc b/zscript/Hexadoken/SpawnHandler.zsc index 3659e62..b7b89b0 100644 --- a/zscript/Hexadoken/SpawnHandler.zsc +++ b/zscript/Hexadoken/SpawnHandler.zsc @@ -313,8 +313,9 @@ class HexaDokenHandler : EventHandler { //------------ Array spawns_scanner; - spawns_scanner.push(additementry('PortableStimpack', dms_stimpack_bias)); - spawns_scanner.push(additementry('PortableMedikit', dms_medikit_bias)); + spawns_scanner.push(additementry('PortableHealingItem', dms_stimpack_bias)); + spawns_scanner.push(additementry('PortableHealingItemBig', dms_medikit_bias)); + spawns_scanner.push(additementry('PortableHealingItemBigger', dms_zerk_bias)); addItem('HDScanner', spawns_scanner, dms_persistent_spawning); }