if not RandomShieldGoldenMonitors rawset(_G, "RandomShieldGoldenMonitors", { [MT_PITY_GOLDBOX] = MT_PITY_GOLDBOX, [MT_WHIRLWIND_GOLDBOX] = MT_WHIRLWIND_GOLDBOX, [MT_FLAMEAURA_GOLDBOX] = MT_FLAMEAURA_GOLDBOX, [MT_FORCE_GOLDBOX] = MT_FORCE_GOLDBOX, [MT_BUBBLEWRAP_GOLDBOX] = MT_BUBBLEWRAP_GOLDBOX, [MT_ELEMENTAL_GOLDBOX] = MT_ELEMENTAL_GOLDBOX, [MT_ATTRACT_GOLDBOX] = MT_ATTRACT_GOLDBOX, [MT_THUNDERCOIN_GOLDBOX] = MT_THUNDERCOIN_GOLDBOX, [MT_ARMAGEDDON_GOLDBOX] = MT_ARMAGEDDON_GOLDBOX }) end rawset(_G, "RandomGoldenPowerupMonitors", { [MT_SNEAKERS_GOLDBOX] = MT_SNEAKERS_GOLDBOX, [MT_INVULN_GOLDBOX] = MT_INVULN_GOLDBOX }) rawset(_G, "RandomPowerupMonitors", { [1] = MT_SNEAKERS_BOX, [2] = MT_INVULN_BOX }) //I'm dumb so this has to be a thing rawset(_G, "RandomPowerupMonitorsCheck", { [MT_SNEAKERS_BOX] = MT_SNEAKERS_BOX, [MT_INVULN_BOX] = MT_INVULN_BOX }) if not RandomShieldMonitors rawset(_G, "RandomShieldMonitors", { [1] = MT_PITY_BOX, [2] = MT_WHIRLWIND_BOX, [3] = MT_FLAMEAURA_BOX, [4] = MT_FORCE_BOX, [5] = MT_BUBBLEWRAP_BOX, [6] = MT_ELEMENTAL_BOX, [7] = MT_ATTRACT_BOX, [8] = MT_THUNDERCOIN_BOX, [9] = MT_ARMAGEDDON_BOX }) end rawset(_G, "RandomMonitorAddPowerup", function(MT) RandomPowerupMonitorsCheck[MT] = MT RandomPowerupMonitors[#RandomPowerupMonitors+1] = MT end rawset(_G, "RandomMonitorAddShield", function(MT) RandomShieldMonitors[#RandomShieldMonitors+1] = MT end) //RandomMonitorAddShield(MT) //RandomMonitorAddPowerup(MT) addHook("MobjSpawn", function(o) if (o.type == MT_1UP_BOX or o.type == MT_RING_BOX or o.type == MT_SNEAKERS_BOX or o.type == MT_INVULN_BOX) return end if (RandomShieldGoldenMonitors[o.type]) return end if (RandomPowerupMonitors[o.type]) return end if (o.flags & MF_MONITOR) o.type = RandomShieldMonitors[P_RandomRange(1, #RandomShieldMonitors)] end end) addHook("MobjSpawn", function(o) if (o.type == MT_1UP_BOX or o.type == MT_RING_BOX) return end if (RandomGoldenPowerupMonitors[o.type]) return end if (RandomShieldGoldenMonitors[o.type]) return end if (o.flags & MF_MONITOR) and (RandomPowerupMonitorsCheck[o.type]) o.type = RandomPowerupMonitors[P_RandomRange(1, #RandomPowerupMonitors)] end end)