Some dynamic midround tweaking (#15841)

* midround wizard, blob

* make dynamic respect midround pref, too

* Makes attempt_replacement not just make traitors

* Tried to make it poll if you wanna be a wizard

* something is going to happen in 1 minutes

* i left it half finished!

* This one seems a bit over the top

---------

Co-authored-by: DeltaFire <46569814+DeltaFire15@users.noreply.github.com>
This commit is contained in:
Putnam3145
2023-11-13 04:00:04 -08:00
committed by GitHub
parent 5dc2241d6a
commit 9c4792ea80
2 changed files with 105 additions and 25 deletions

View File

@@ -1,3 +1,7 @@
#define WIZARD_DO_NOTHING 0
#define WIZARD_QDEL_INVENTORY 1
#define WIZARD_DROP_INVENTORY 2
/datum/antagonist/wizard
name = "Space Wizard"
roundend_category = "wizards/witches"
@@ -10,7 +14,8 @@
ui_name = "AntagInfoWizard"
suicide_cry = "FOR THE FEDERATION!!"
var/give_objectives = TRUE
var/strip = TRUE //strip before equipping
var/inventory_mode = WIZARD_QDEL_INVENTORY
var/change_species = TRUE
var/allow_rename = TRUE
var/datum/team/wizard/wiz_team //Only created if wizard summons apprentices
var/move_to_lair = TRUE
@@ -87,10 +92,14 @@
var/mob/living/carbon/human/H = owner.current
if(!istype(H))
return
if(strip)
H.delete_equipment()
switch(inventory_mode)
if(WIZARD_QDEL_INVENTORY)
H.delete_equipment()
if(WIZARD_DROP_INVENTORY)
H.unequip_everything()
//Wizards are human by default. Use the mirror if you want something else.
H.set_species(/datum/species/human)
if(change_species)
H.set_species(/datum/species/human)
if(H.age < wiz_age)
H.age = wiz_age
H.equipOutfit(outfit_type)
@@ -250,6 +259,17 @@
new_objective.owner = owner
objectives += new_objective
/datum/antagonist/wizard/on_station
inventory_mode = WIZARD_DROP_INVENTORY
change_species = FALSE
/datum/antagonist/wizard/on_station/on_gain()
var/datum/effect_system/smoke_spread/smoke = new
smoke.start()
smoke.set_up(2, get_turf(owner))
owner.current.visible_message("<span class='danger'>[owner] suddenly disappears in a puff of smoke, leaving [owner.p_their()] clothes behind!</span>", "<span class='userdanger'>You feel yourself being pulled away...</span>")
return ..()
//Solo wizard report
/datum/antagonist/wizard/roundend_report()
var/list/parts = list()