From 73dadcd21185b576cc9ef0c0cfb1eb052e048044 Mon Sep 17 00:00:00 2001 From: Alexis Date: Fri, 1 Aug 2025 15:27:39 -0400 Subject: [PATCH] Replaces the Wizard Dice event with a round-start wizard role (#4232) ## About The Pull Request Comments out the Die of Fate event and replaces it with a round-start wizard antagonist that happens ***VERY*** rarely. Said role has a weight of 2 and requires a minimum of 35 players to be readied up for it to even roll. The die of fate that spawns in trash piles has also been replaced with the Lavaland variant. _The die of fate event is still spawnable by admins._ ## Why It's Good For The Game This is going to be a controversial one, so let me run you guys through my thought process. Currently, as it stands, the wizard die event causes players to turn into mindless dice-hunting zombies that will employ various LRP tactics to get the die, ranging from rushing to cargo to get a Ouija board to simply tiding into places where they see the die. This event also runs quite frequently, leading to frustration among players in the departments that get tided into. Burger's original reason for adding the die of fate event was to "add wizard naturally into the game without a ghost role for players to idle for". This will prevent players from idling for it as it happens at round-start. This is the fairest compromise I could come up with for players to be able to roll wizard without the tiding and general tomfoolery that happens because of the dice. ## Proof Of Testing
Screenshots/Videos image
## Changelog :cl: add: added a round-start wizard event del: removed the wizard die mid-round event balance: replaced the maintenance loot wizard die with the proper die of fate /:cl: --- .../lists/maintenance_loot_one_of_a_kind.dm | 2 +- .../storyteller/event_defines/crewset/wizard.dm | 16 ++++++++++++++++ .../modules/wizard_dize/wizard_dice_event.dm | 6 +++--- tgstation.dme | 1 + 4 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 modular_zubbers/code/modules/storyteller/event_defines/crewset/wizard.dm diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm index b0656278318..95866d6563d 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm @@ -2,7 +2,7 @@ GLOBAL_LIST_INIT(one_of_a_kind_loot, list( /obj/item/clothing/suit/armor/reactive/table, /obj/item/clothing/shoes/jackboots/fast, /obj/item/melee/energy/sword/bananium, - /obj/item/dice/d20/teleporting_die_of_fate, + /obj/item/dice/d20/fate/one_use, /obj/item/modular_computer/pda/clear, /obj/item/gun/energy/meteorgun/pen, /obj/item/hot_potato, diff --git a/modular_zubbers/code/modules/storyteller/event_defines/crewset/wizard.dm b/modular_zubbers/code/modules/storyteller/event_defines/crewset/wizard.dm new file mode 100644 index 00000000000..fe6a474c723 --- /dev/null +++ b/modular_zubbers/code/modules/storyteller/event_defines/crewset/wizard.dm @@ -0,0 +1,16 @@ +/datum/round_event_control/antagonist/solo/wizard + name = "Wizard" + roundstart = TRUE + + antag_flag = ROLE_WIZARD + antag_datum = /datum/antagonist/wizard + + weight = 2 // This should be rare enough, lower this if it turns out to roll too frequently. + tags = list(TAG_CREW_ANTAG, TAG_CHAOTIC) + + base_antags = 1 + maximum_antags = 1 + min_players = 35 + + ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_WIZARDDEN) + diff --git a/modular_zubbers/code/modules/wizard_dize/wizard_dice_event.dm b/modular_zubbers/code/modules/wizard_dize/wizard_dice_event.dm index e603bdd5b1a..2340e0116bb 100644 --- a/modular_zubbers/code/modules/wizard_dize/wizard_dice_event.dm +++ b/modular_zubbers/code/modules/wizard_dize/wizard_dice_event.dm @@ -10,12 +10,12 @@ max_wizard_trigger_potency = NEVER_TRIGGERED_BY_WIZARDS min_players = 30 - max_occurrences = 1 - weight = 10 + max_occurrences = 0 // Previously 1 + weight = 0 // Previously 10 earliest_start = 60 MINUTES track = EVENT_TRACK_MODERATE - tags = list(TAG_COMMUNAL,TAG_COMBAT) + tags = list(TAG_COMMUNAL,TAG_COMBAT) /datum/round_event/wizard_dice announce_when = 5 diff --git a/tgstation.dme b/tgstation.dme index e1ccb6bce44..50e09d17487 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9643,6 +9643,7 @@ #include "modular_zubbers\code\modules\storyteller\event_defines\crewset\nuke_ops.dm" #include "modular_zubbers\code\modules\storyteller\event_defines\crewset\spies.dm" #include "modular_zubbers\code\modules\storyteller\event_defines\crewset\traitor.dm" +#include "modular_zubbers\code\modules\storyteller\event_defines\crewset\wizard.dm" #include "modular_zubbers\code\modules\storyteller\event_defines\ghostset\alien_infestation.dm" #include "modular_zubbers\code\modules\storyteller\event_defines\ghostset\changeling.dm" #include "modular_zubbers\code\modules\storyteller\event_defines\ghostset\lone_infiltrator.dm"