From cdb9d40baedc7bc471118f2c62792d0a2a457810 Mon Sep 17 00:00:00 2001 From: r4d6 <50276533+r4d6@users.noreply.github.com> Date: Tue, 22 Oct 2019 14:38:09 -0400 Subject: [PATCH 1/6] Add departemental Winter Coats to loadout --- .../code/modules/client/loadout/suit.dm | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 5a12a6bf0b..245d345bf7 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -63,6 +63,62 @@ name = "Winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat + +/datum/gear/coat/sec + name = "Security winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/security + restricted_roles = list("Head of Security", "Warden", "Detective", "Security Officer") // Reserve it to the Security Departement + +/datum/gear/coat/med + name = "Medical winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/medical + restricted_roles = list("Chief Medical Officer", "Medical Doctor") // Reserve it to Medical Doctors and their boss, the Chief Medical Officer + +/* Commented out until there is a Chemistry Winter Coat +/datum/gear/coat/med/chem + name = "Chemistry winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry + restricted_roles = list("Chief Medical Officer", "Chemist") // Reserve it to Chemists and their boss, the Chief Medical Officer +*/ + +/datum/gear/coat/sci + name = "Science winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/science + restricted_roles = list("Research Director", "Scientist", "Roboticist") // Reserve it to the Science Departement + +/datum/gear/coat/eng + name = "Engineering winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/engineering + restricted_roles = list("Chief Engineer", "Station Engineer") // Reserve it to Station Engineers and their boss, the Chief Engineer + +/datum/gear/coat/eng/atmos + name = "Atmospherics winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos + restricted_roles = list("Chief Engineer", "Atmospheric Technician") // Reserve it to Atmos Techs and their boss, the Chief Engineer + +/datum/gear/coat/hydro + name = "Hydroponics winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/hydro + restricted_roles = list("Head of Personnel", "Botanist") // Reserve it to Botanists and their boss, the Head of Personnel + +/datum/gear/coat/cargo + name = "Cargo winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/cargo + restricted_roles = list("Quartermaster", "Cargo Technician") // Reserve it to Cargo Techs and their boss, the Quartermaster + +/datum/gear/coat/miner + name = "Mining winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/miner + restricted_roles = list("Quartermaster", "Shaft Miner") // Reserve it to Miners and their boss, the Quartermaster /datum/gear/militaryjacket name = "Military Jacket" From 0114b7fbe2f9de8e9c6ff102b346a18bed41ef41 Mon Sep 17 00:00:00 2001 From: r4d6 <50276533+r4d6@users.noreply.github.com> Date: Sun, 3 Nov 2019 16:51:07 -0500 Subject: [PATCH 2/6] Comment out Sec coat --- modular_citadel/code/modules/client/loadout/suit.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 245d345bf7..d3a8258fc0 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -63,13 +63,15 @@ name = "Winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat - + +/* Commented out until it is "balanced" /datum/gear/coat/sec name = "Security winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat/security restricted_roles = list("Head of Security", "Warden", "Detective", "Security Officer") // Reserve it to the Security Departement - +*/ + /datum/gear/coat/med name = "Medical winter coat" category = SLOT_WEAR_SUIT From c9cd27c38cd2e21644b7fa842c5b644072203149 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Nov 2019 13:52:51 -0600 Subject: [PATCH 3/6] Automatic changelog generation for PR #9574 [ci skip] --- html/changelogs/AutoChangeLog-pr-9574.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9574.yml diff --git a/html/changelogs/AutoChangeLog-pr-9574.yml b/html/changelogs/AutoChangeLog-pr-9574.yml new file mode 100644 index 0000000000..240d5ad0af --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9574.yml @@ -0,0 +1,4 @@ +author: "r4d6" +delete-after: True +changes: + - rscadd: "Added Departements Winter Coats to the loadout list." From 39bdbde0673cdbfd585c2d7adcf28cd55db8423c Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 6 Nov 2019 01:26:30 -0800 Subject: [PATCH 4/6] Makes summon (X) cost threat in dynamic --- .../antagonists/wizard/equipment/spellbook.dm | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index bb7ffdc85d..b8380c60a2 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -482,6 +482,10 @@ /datum/spellbook_entry/summon/guns/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map return 0 + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + if(mode.threat < CONFIG_GET(number/summon_guns_requirement)) + return 0 return !CONFIG_GET(flag/no_summon_guns) /datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -490,6 +494,9 @@ active = 1 playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon guns!") + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + mode.spend_threat(CONFIG_GET(number/summon_guns_cost)) return 1 /datum/spellbook_entry/summon/magic @@ -499,6 +506,10 @@ /datum/spellbook_entry/summon/magic/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map return 0 + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + if(mode.threat < CONFIG_GET(number/summon_magic_requirement)) + return 0 return !CONFIG_GET(flag/no_summon_magic) /datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -507,6 +518,9 @@ active = 1 playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon magic!") + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + mode.spend_threat(CONFIG_GET(number/summon_magic_cost)) return 1 /datum/spellbook_entry/summon/events @@ -517,6 +531,10 @@ /datum/spellbook_entry/summon/events/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map return 0 + if(istype(SSticker.mode,/datum/game_mode/dynamic) && times == 0) + var/datum/game_mode/dynamic/mode = SSticker.mode + if(mode.threat < CONFIG_GET(number/summon_events_requirement)) + return 0 return !CONFIG_GET(flag/no_summon_events) /datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -525,6 +543,9 @@ times++ playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon events.") + if(istype(SSticker.mode,/datum/game_mode/dynamic) && times == 0) + var/datum/game_mode/dynamic/mode = SSticker.mode + mode.spend_threat(CONFIG_GET(number/summon_events_cost)) return 1 /datum/spellbook_entry/summon/events/GetInfo() From 708f1e4731753aee5acc145d906c63ef5fa9832c Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 6 Nov 2019 01:31:43 -0800 Subject: [PATCH 5/6] Actually added stuff to the config. --- .../configuration/entries/game_options.dm | 24 +++++++++++++++++++ config/game_options.txt | 16 +++++++++++++ 2 files changed, 40 insertions(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 36b57a4b7c..e11f33c021 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -411,3 +411,27 @@ /datum/config_entry/keyed_list/dynamic_high_population_requirement key_mode = KEY_MODE_TEXT value_mode = VALUE_MODE_NUM + +/datum/config_entry/number/dynamic_summon_guns_requirement + config_entry_value = 10 + min_val = 0 + +/datum/config_entry/number/dynamic_summon_guns_cost + config_entry_value = 5 + min_val = 0 + +/datum/config_entry/number/dynamic_summon_magic_requirement + config_entry_value = 10 + min_val = 0 + +/datum/config_entry/number/dynamic_summon_magic_cost + config_entry_value = 5 + min_val = 0 + +/datum/config_entry/number/dynamic_summon_events_requirement + config_entry_value = 20 + min_val = 0 + +/datum/config_entry/number/dynamic_summon_events_cost + config_entry_value = 10 + min_val = 0 diff --git a/config/game_options.txt b/config/game_options.txt index c06845cde3..2f008cf365 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -396,6 +396,22 @@ DYNAMIC_HIGH_POPULATION_REQUIREMENT NIGHTMARE 50 DYNAMIC_HIGH_POPULATION_REQUIREMENT LATEJOIN_TRAITOR 10 DYNAMIC_HIGH_POPULATION_REQUIREMENT LATEJOIN_REVOLUTION 50 +## Dynamic wizard stuff + +## How much threat level is required to buy summon guns. Setting to 0 makes it always available. +DYNAMIC_SUMMON_GUNS_REQUIREMENT 10 + +## How much summon guns reduces the round's remaining threat. Setting to 0 makes it cost none. +DYNAMIC_SUMMON_GUNS_COST 5 + +## As above, but for summon magic +DYNAMIC_SUMMON_MAGIC_REQUIREMENT 10 +DYNAMIC_SUMMON_MAGIC_COST 5 + +## As above, but for summon events +DYNAMIC_SUMMON_EVENTS_REQUIREMENT 20 +DYNAMIC_SUMMON_EVENTS_COST 10 + ## AI ### ## Allow the AI job to be picked. From 97493690d35bd2f0be93d680b9384cd7a1d1cbe2 Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 6 Nov 2019 01:34:36 -0800 Subject: [PATCH 6/6] hmm, also important --- .../antagonists/wizard/equipment/spellbook.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index b8380c60a2..ab37997e50 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -484,7 +484,7 @@ return 0 if(istype(SSticker.mode,/datum/game_mode/dynamic)) var/datum/game_mode/dynamic/mode = SSticker.mode - if(mode.threat < CONFIG_GET(number/summon_guns_requirement)) + if(mode.threat < CONFIG_GET(number/dynamic_summon_guns_requirement)) return 0 return !CONFIG_GET(flag/no_summon_guns) @@ -496,7 +496,7 @@ to_chat(user, "You have cast summon guns!") if(istype(SSticker.mode,/datum/game_mode/dynamic)) var/datum/game_mode/dynamic/mode = SSticker.mode - mode.spend_threat(CONFIG_GET(number/summon_guns_cost)) + mode.spend_threat(CONFIG_GET(number/dynamic_summon_guns_cost)) return 1 /datum/spellbook_entry/summon/magic @@ -508,7 +508,7 @@ return 0 if(istype(SSticker.mode,/datum/game_mode/dynamic)) var/datum/game_mode/dynamic/mode = SSticker.mode - if(mode.threat < CONFIG_GET(number/summon_magic_requirement)) + if(mode.threat < CONFIG_GET(number/dynamic_summon_magic_requirement)) return 0 return !CONFIG_GET(flag/no_summon_magic) @@ -520,7 +520,7 @@ to_chat(user, "You have cast summon magic!") if(istype(SSticker.mode,/datum/game_mode/dynamic)) var/datum/game_mode/dynamic/mode = SSticker.mode - mode.spend_threat(CONFIG_GET(number/summon_magic_cost)) + mode.spend_threat(CONFIG_GET(number/dynamic_summon_magic_cost)) return 1 /datum/spellbook_entry/summon/events @@ -533,7 +533,7 @@ return 0 if(istype(SSticker.mode,/datum/game_mode/dynamic) && times == 0) var/datum/game_mode/dynamic/mode = SSticker.mode - if(mode.threat < CONFIG_GET(number/summon_events_requirement)) + if(mode.threat < CONFIG_GET(number/dynamic_summon_events_requirement)) return 0 return !CONFIG_GET(flag/no_summon_events) @@ -545,7 +545,7 @@ to_chat(user, "You have cast summon events.") if(istype(SSticker.mode,/datum/game_mode/dynamic) && times == 0) var/datum/game_mode/dynamic/mode = SSticker.mode - mode.spend_threat(CONFIG_GET(number/summon_events_cost)) + mode.spend_threat(CONFIG_GET(number/dynamic_summon_events_cost)) return 1 /datum/spellbook_entry/summon/events/GetInfo()