From 657c5f3f89da3d2d6e0f15244f0360fedae0028d Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 28 Dec 2023 02:27:28 +0300 Subject: [PATCH 01/14] qol --- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/mob/mob_verbs.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index b523cef08eec..26be5e97f9dd 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1445,7 +1445,7 @@ /mob/living/carbon/human/verb/remove_your_splints() set name = "Remove Your Splints" - set category = "Object" + set category = "IC" remove_splints() diff --git a/code/modules/mob/mob_verbs.dm b/code/modules/mob/mob_verbs.dm index a941dfc51090..1ba8985d56bd 100644 --- a/code/modules/mob/mob_verbs.dm +++ b/code/modules/mob/mob_verbs.dm @@ -32,7 +32,7 @@ return /mob/verb/view_stats() - set category = "OOC" + set category = "OOC.Records" set name = "View Playtimes" set desc = "View your playtimes." if(!SSentity_manager.ready) From 2e2fa3b0f670969a82f8c3810345be2887fd93b2 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 31 Dec 2023 08:02:28 +0300 Subject: [PATCH 02/14] changes --- .../abilities/queen/queen_abilities.dm | 5 +++++ .../xenomorph/abilities/queen/queen_powers.dm | 18 ++++++++++++++---- .../living/carbon/xenomorph/castes/Queen.dm | 13 +++++-------- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm index 50fa9fd92b2c..bad35f0d267e 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm @@ -63,6 +63,11 @@ action_icon_state = "xeno_readmit" plasma_cost = 100 + +/datum/action/xeno_action/onclick/ManageHive + name = "Manage The Hive" + action_icon_state = "xeno_readmit" + /datum/action/xeno_action/activable/secrete_resin/remote/queen name = "Projected Resin (100)" action_icon_state = "secrete_resin" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 917a7b1c9af7..99084ccc038b 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,5 +1,5 @@ // devolve a xeno - lots of old, vaguely shitty code here -/datum/action/xeno_action/onclick/deevolve/use_ability(atom/Atom) +/datum/action/xeno_action/proc/Devolve() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -353,7 +353,18 @@ user_xeno.hive.stored_larva-- return ..() -/datum/action/xeno_action/onclick/banish/use_ability(atom/Atom) +/datum/action/xeno_action/onclick/ManageHive/use_ability(atom/Atom) + var/mob/living/carbon/xenomorph/queen/queenbanish = owner + + + + var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve"), theme="hive_status") + switch(choice) + if("Banish") banish(target) + if("Re-Admit") Readmit(target) + if("De-evolve") Devolve(target) + +/datum/action/xeno_action/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -410,7 +421,6 @@ target_xeno.hud_update_banished() target_xeno.lock_evolve = TRUE user_xeno.hive.banished_ckeys[target_xeno.name] = target_xeno.ckey - addtimer(CALLBACK(src, PROC_REF(remove_banish), user_xeno.hive, target_xeno.name), 30 MINUTES) message_admins("[key_name_admin(user_xeno)] has banished [key_name_admin(target_xeno)]. Reason: [reason]") return ..() @@ -421,7 +431,7 @@ // Readmission = un-banish -/datum/action/xeno_action/onclick/readmit/use_ability(atom/Atom) +/datum/action/xeno_action/proc/Readmit() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index 7e5d6ea4efb3..d977f4a7b9c8 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -303,10 +303,9 @@ /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro /datum/action/xeno_action/activable/secrete_resin/queen_macro, //fifth macro /datum/action/xeno_action/onclick/grow_ovipositor, - /datum/action/xeno_action/onclick/banish, - /datum/action/xeno_action/onclick/readmit, /datum/action/xeno_action/onclick/queen_award, /datum/action/xeno_action/activable/info_marker/queen, + /datum/action/xeno_action/onclick/ManageHive, ) inherent_verbs = list( @@ -336,13 +335,13 @@ /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro /datum/action/xeno_action/activable/secrete_resin/queen_macro, //fifth macro /datum/action/xeno_action/onclick/grow_ovipositor, - /datum/action/xeno_action/onclick/banish, - /datum/action/xeno_action/onclick/readmit, + /datum/action/xeno_action/onclick/ManageHive, /datum/action/xeno_action/onclick/queen_award, /datum/action/xeno_action/activable/info_marker/queen, /datum/action/xeno_action/onclick/screech, //custom macro, Screech /datum/action/xeno_action/activable/xeno_spit/queen_macro, //third macro - /datum/action/xeno_action/onclick/shift_spits, //second macro + /datum/action/xeno_action/onclick/shift_spits, + //second macro ) // Abilities they get when they've successfully aged. @@ -826,8 +825,7 @@ /datum/action/xeno_action/onclick/psychic_whisper, /datum/action/xeno_action/onclick/psychic_radiance, /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro - /datum/action/xeno_action/onclick/banish, - /datum/action/xeno_action/onclick/readmit, + /datum/action/xeno_action/onclick/ManageHive, /datum/action/xeno_action/onclick/queen_award, /datum/action/xeno_action/activable/info_marker/queen, // Screech is typically new for this list, but its possible they never ovi and it then is forced here: @@ -838,7 +836,6 @@ /datum/action/xeno_action/onclick/set_xeno_lead, /datum/action/xeno_action/activable/queen_heal, //first macro /datum/action/xeno_action/activable/queen_give_plasma, //second macro - /datum/action/xeno_action/onclick/deevolve, /datum/action/xeno_action/onclick/queen_order, /datum/action/xeno_action/activable/expand_weeds, //third macro /datum/action/xeno_action/activable/secrete_resin/remote/queen, //fifth macro From cabe069742849913af2cb1ffa027eef4cdf7aac3 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 31 Dec 2023 08:12:54 +0300 Subject: [PATCH 03/14] fix --- .../living/carbon/xenomorph/abilities/queen/queen_powers.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 99084ccc038b..ecc0d713503c 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -130,7 +130,7 @@ SSround_recording.recorder.stop_tracking(target_xeno) SSround_recording.recorder.track_player(new_xeno) qdel(target_xeno) - return ..() + return /datum/action/xeno_action/onclick/remove_eggsac/use_ability(atom/A) var/mob/living/carbon/xenomorph/queen/X = owner @@ -423,7 +423,7 @@ user_xeno.hive.banished_ckeys[target_xeno.name] = target_xeno.ckey message_admins("[key_name_admin(user_xeno)] has banished [key_name_admin(target_xeno)]. Reason: [reason]") - return ..() + return /datum/action/xeno_action/onclick/banish/proc/remove_banish(datum/hive_status/hive, name) hive.banished_ckeys.Remove(name) @@ -480,7 +480,7 @@ target_xeno.lock_evolve = FALSE user_xeno.hive.banished_ckeys.Remove(banished_name) - return ..() + return /datum/action/xeno_action/onclick/eye name = "Enter Eye Form" From b19d651617adb15715d6160483337a916b314c2a Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Sun, 31 Dec 2023 08:14:15 +0300 Subject: [PATCH 04/14] we loove indentation --- code/modules/mob/living/carbon/xenomorph/castes/Queen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index 6614e341ea7d..fee59867e294 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -343,7 +343,7 @@ /datum/action/xeno_action/onclick/screech, //custom macro, Screech /datum/action/xeno_action/activable/xeno_spit/queen_macro, //third macro /datum/action/xeno_action/onclick/shift_spits, - //second macro + //second macro ) // Abilities they get when they've successfully aged. From 3e4eca84607ff27a3333122c4b370604fabcfdda Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Mon, 1 Jan 2024 06:58:35 +0300 Subject: [PATCH 05/14] changes --- .../abilities/queen/queen_abilities.dm | 2 +- .../xenomorph/abilities/queen/queen_powers.dm | 22 ++++++++++++------- .../living/carbon/xenomorph/castes/Queen.dm | 9 +++----- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm index bad35f0d267e..9cc88f972c40 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm @@ -64,7 +64,7 @@ plasma_cost = 100 -/datum/action/xeno_action/onclick/ManageHive +/datum/action/xeno_action/onclick/manage_hive name = "Manage The Hive" action_icon_state = "xeno_readmit" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index ecc0d713503c..dcf11012975b 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -353,18 +353,23 @@ user_xeno.hive.stored_larva-- return ..() -/datum/action/xeno_action/onclick/ManageHive/use_ability(atom/Atom) +/datum/action/xeno_action/onclick/manage_hive/use_ability(atom/Atom) var/mob/living/carbon/xenomorph/queen/queenbanish = owner - var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve"), theme="hive_status") + var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve", "Reward Jelly"), theme="hive_status") switch(choice) - if("Banish") banish(target) - if("Re-Admit") Readmit(target) - if("De-evolve") Devolve(target) - -/datum/action/xeno_action/proc/banish() + if("Banish") + banish(target) + if("Re-Admit") + Readmit(target) + if("De-evolve") + Devolve(target) + if("Reward Jelly") + give_jelly_award(queenbanish.hive) + +/datum/action/manage_hive/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -421,11 +426,12 @@ target_xeno.hud_update_banished() target_xeno.lock_evolve = TRUE user_xeno.hive.banished_ckeys[target_xeno.name] = target_xeno.ckey + addtimer(CALLBACK(src, PROC_REF(remove_banish), user_xeno.hive, target_xeno.name), 30 MINUTES) message_admins("[key_name_admin(user_xeno)] has banished [key_name_admin(target_xeno)]. Reason: [reason]") return -/datum/action/xeno_action/onclick/banish/proc/remove_banish(datum/hive_status/hive, name) +/datum/action/xeno_action/proc/remove_banish(datum/hive_status/hive, name) hive.banished_ckeys.Remove(name) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index fee59867e294..5caf1fc098d4 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -305,9 +305,8 @@ /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro /datum/action/xeno_action/activable/secrete_resin/queen_macro, //fifth macro /datum/action/xeno_action/onclick/grow_ovipositor, - /datum/action/xeno_action/onclick/queen_award, /datum/action/xeno_action/activable/info_marker/queen, - /datum/action/xeno_action/onclick/ManageHive, + /datum/action/xeno_action/onclick/manage_hive, ) inherent_verbs = list( @@ -337,8 +336,7 @@ /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro /datum/action/xeno_action/activable/secrete_resin/queen_macro, //fifth macro /datum/action/xeno_action/onclick/grow_ovipositor, - /datum/action/xeno_action/onclick/ManageHive, - /datum/action/xeno_action/onclick/queen_award, + /datum/action/xeno_action/onclick/manage_hive, /datum/action/xeno_action/activable/info_marker/queen, /datum/action/xeno_action/onclick/screech, //custom macro, Screech /datum/action/xeno_action/activable/xeno_spit/queen_macro, //third macro @@ -838,8 +836,7 @@ /datum/action/xeno_action/onclick/psychic_whisper, /datum/action/xeno_action/onclick/psychic_radiance, /datum/action/xeno_action/onclick/choose_resin/queen_macro, //fourth macro - /datum/action/xeno_action/onclick/ManageHive, - /datum/action/xeno_action/onclick/queen_award, + /datum/action/xeno_action/onclick/manage_hive, /datum/action/xeno_action/activable/info_marker/queen, // Screech is typically new for this list, but its possible they never ovi and it then is forced here: /datum/action/xeno_action/onclick/screech, //custom macro, Screech From b56756a8f372dcc1998ce6acf337e2d68076427a Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Mon, 1 Jan 2024 06:58:52 +0300 Subject: [PATCH 06/14] fix --- .../mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index dcf11012975b..38b90462a276 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -369,7 +369,7 @@ if("Reward Jelly") give_jelly_award(queenbanish.hive) -/datum/action/manage_hive/proc/banish() +/datum/action/xeno_action/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return From 491c0cb1ebbdff5394cc6a6a4de93633205f6feb Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Mon, 1 Jan 2024 19:28:23 +0300 Subject: [PATCH 07/14] procs --- .../carbon/xenomorph/abilities/queen/queen_powers.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 38b90462a276..bb02e3d2f6e5 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,5 +1,5 @@ // devolve a xeno - lots of old, vaguely shitty code here -/datum/action/xeno_action/proc/Devolve() +/datum/action/xeno_action/onclick/manage_hive/proc/Devolve() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -361,15 +361,15 @@ var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve", "Reward Jelly"), theme="hive_status") switch(choice) if("Banish") - banish(target) + banish() if("Re-Admit") - Readmit(target) + Readmit() if("De-evolve") - Devolve(target) + Devolve() if("Reward Jelly") give_jelly_award(queenbanish.hive) -/datum/action/xeno_action/proc/banish() +/datum/action/xeno_action/onclick/manage_hive/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -437,7 +437,7 @@ // Readmission = un-banish -/datum/action/xeno_action/proc/Readmit() +/datum/action/xeno_action/onclick/manage_hive/proc/Readmit() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return From 0b6f68ac89c838a2a534f810a6bddeaeaf6f0262 Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:58:11 +0300 Subject: [PATCH 08/14] Update code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm Co-authored-by: Birdtalon --- .../mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index bb02e3d2f6e5..6814f3cba781 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,5 +1,5 @@ // devolve a xeno - lots of old, vaguely shitty code here -/datum/action/xeno_action/onclick/manage_hive/proc/Devolve() +/datum/action/xeno_action/onclick/manage_hive/proc/de_evolve_other() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return From ab6b51821a7ea980020db0f66a0ed47c0bb878d6 Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:58:39 +0300 Subject: [PATCH 09/14] Update code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm Co-authored-by: Birdtalon --- .../mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 6814f3cba781..ea70cc2c83a5 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -363,7 +363,7 @@ if("Banish") banish() if("Re-Admit") - Readmit() + readmit() if("De-evolve") Devolve() if("Reward Jelly") From 3098edcbc2893838d97868d28f5033f9c5141db5 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Tue, 2 Jan 2024 18:04:50 +0300 Subject: [PATCH 10/14] requestedchanges --- .../carbon/xenomorph/abilities/queen/queen_powers.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index bb02e3d2f6e5..1e71cb626c33 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,5 +1,5 @@ // devolve a xeno - lots of old, vaguely shitty code here -/datum/action/xeno_action/onclick/manage_hive/proc/Devolve() +/datum/action/xeno_action/onclick/manage_hive/proc/de_evolve_other() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return @@ -363,9 +363,9 @@ if("Banish") banish() if("Re-Admit") - Readmit() + readmit() if("De-evolve") - Devolve() + de_evolve_other() if("Reward Jelly") give_jelly_award(queenbanish.hive) @@ -437,7 +437,7 @@ // Readmission = un-banish -/datum/action/xeno_action/onclick/manage_hive/proc/Readmit() +/datum/action/xeno_action/onclick/manage_hive/proc/readmit() var/mob/living/carbon/xenomorph/queen/user_xeno = owner if(!user_xeno.check_state()) return From 2bdc5927aa9c69df8e6aea6503351b8d860e02e5 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Wed, 3 Jan 2024 02:33:02 +0300 Subject: [PATCH 11/14] guh --- .../carbon/xenomorph/abilities/queen/queen_powers.dm | 10 +++++++--- .../mob/living/carbon/xenomorph/castes/Queen.dm | 1 - 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 1e71cb626c33..4c1972054f1c 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -292,8 +292,9 @@ to_chat(X, SPAN_XENONOTICE("You channel your plasma to heal your sisters' wounds around this area.")) return ..() -/datum/action/xeno_action/onclick/give_evo_points/use_ability(atom/Atom) +/datum/action/xeno_action/onclick/manage_hive/proc/give_evo_points() var/mob/living/carbon/xenomorph/queen/user_xeno = owner + if(!user_xeno.check_state()) return @@ -308,7 +309,8 @@ if(!choice) return - + var/evo_points_per_larva = 250 + var/required_larva = 3 var/mob/living/carbon/xenomorph/target_xeno for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.totalXenos) @@ -358,7 +360,7 @@ - var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve", "Reward Jelly"), theme="hive_status") + var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve", "Reward Jelly", "Exchange larva for evolution",), theme="hive_status") switch(choice) if("Banish") banish() @@ -368,6 +370,8 @@ de_evolve_other() if("Reward Jelly") give_jelly_award(queenbanish.hive) + if("Exchange larva for evolution") + give_evo_points() /datum/action/xeno_action/onclick/manage_hive/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index 5caf1fc098d4..f847c1a4ac8a 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -842,7 +842,6 @@ /datum/action/xeno_action/onclick/screech, //custom macro, Screech // These are new and their arrangement matters: /datum/action/xeno_action/onclick/remove_eggsac, - /datum/action/xeno_action/onclick/give_evo_points, /datum/action/xeno_action/onclick/set_xeno_lead, /datum/action/xeno_action/activable/queen_heal, //first macro /datum/action/xeno_action/activable/queen_give_plasma, //second macro From 896410ba78710475fec9c6a6837c4e4601962354 Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Wed, 3 Jan 2024 02:35:24 +0300 Subject: [PATCH 12/14] yea --- .../mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 4c1972054f1c..a9113c360f59 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -353,7 +353,7 @@ target_xeno.evolution_stored += evo_points_per_larva user_xeno.hive.stored_larva-- - return ..() + return /datum/action/xeno_action/onclick/manage_hive/use_ability(atom/Atom) var/mob/living/carbon/xenomorph/queen/queenbanish = owner From 410ce0f462aa42fbae3a75455dff32170bddf6eb Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 4 Jan 2024 19:10:12 +0300 Subject: [PATCH 13/14] changes, plasma costs --- .../mob/living/carbon/xenomorph/Abilities.dm | 15 --------- .../abilities/queen/queen_abilities.dm | 25 +------------- .../xenomorph/abilities/queen/queen_powers.dm | 33 ++++++++++++++----- 3 files changed, 25 insertions(+), 48 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/Abilities.dm b/code/modules/mob/living/carbon/xenomorph/Abilities.dm index dc44260187a7..5c8dcb9a2032 100644 --- a/code/modules/mob/living/carbon/xenomorph/Abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/Abilities.dm @@ -323,21 +323,6 @@ return return ..() -/datum/action/xeno_action/onclick/queen_award - name = "Give Royal Jelly (500)" - action_icon_state = "queen_award" - plasma_cost = 500 - -/datum/action/xeno_action/onclick/queen_award/use_ability(atom/target) - var/mob/living/carbon/xenomorph/queen/xeno = owner - if(!xeno.check_state()) - return - if(!xeno.check_plasma(plasma_cost)) - return - if(give_jelly_award(xeno.hive)) - xeno.use_plasma(plasma_cost) - return ..() - /datum/action/xeno_action/onclick/queen_word name = "Word of the Queen (50)" action_icon_state = "queen_word" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm index 9cc88f972c40..d245449fa2cf 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_abilities.dm @@ -1,8 +1,3 @@ -/datum/action/xeno_action/onclick/deevolve - name = "De-Evolve a Xenomorph (500)" - action_icon_state = "xeno_deevolve" - plasma_cost = 500 - /datum/action/xeno_action/onclick/remove_eggsac name = "Remove Eggsac" action_icon_state = "grow_ovipositor" @@ -45,28 +40,10 @@ var/node_plant_plasma_cost = 300 var/turf_build_cooldown = 7 SECONDS -/datum/action/xeno_action/onclick/give_evo_points - name = "Trade Larva for Evolution Points (100)" - action_icon_state = "queen_give_evo_points" - plasma_cost = 100 - xeno_cooldown = 60 SECONDS - var/evo_points_per_larva = 250 - var/required_larva = 3 - -/datum/action/xeno_action/onclick/banish - name = "Banish a Xenomorph (500)" - action_icon_state = "xeno_banish" - plasma_cost = 500 - -/datum/action/xeno_action/onclick/readmit - name = "Readmit a Xenomorph (100)" - action_icon_state = "xeno_readmit" - plasma_cost = 100 - - /datum/action/xeno_action/onclick/manage_hive name = "Manage The Hive" action_icon_state = "xeno_readmit" + plasma_cost = 0 /datum/action/xeno_action/activable/secrete_resin/remote/queen name = "Projected Resin (100)" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index a9113c360f59..f4dcf7185dc8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,6 +1,7 @@ // devolve a xeno - lots of old, vaguely shitty code here /datum/action/xeno_action/onclick/manage_hive/proc/de_evolve_other() var/mob/living/carbon/xenomorph/queen/user_xeno = owner + plasma_cost = 500 if(!user_xeno.check_state()) return if(!user_xeno.observed_xeno) @@ -294,6 +295,7 @@ /datum/action/xeno_action/onclick/manage_hive/proc/give_evo_points() var/mob/living/carbon/xenomorph/queen/user_xeno = owner + plasma_cost = 100 if(!user_xeno.check_state()) return @@ -355,26 +357,38 @@ user_xeno.hive.stored_larva-- return -/datum/action/xeno_action/onclick/manage_hive/use_ability(atom/Atom) - var/mob/living/carbon/xenomorph/queen/queenbanish = owner +/datum/action/xeno_action/onclick/manage_hive/proc/give_jelly_reward() + var/mob/living/carbon/xenomorph/queen/xeno = owner + plasma_cost = 500 + if(!xeno.check_state()) + return + if(!xeno.check_plasma(plasma_cost)) + return + if(give_jelly_award(xeno.hive)) + xeno.use_plasma(plasma_cost) + return +/datum/action/xeno_action/onclick/manage_hive/use_ability(atom/Atom) + var/mob/living/carbon/xenomorph/queen/queenbanish = owner - var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish", "Re-Admit", "De-evolve", "Reward Jelly", "Exchange larva for evolution",), theme="hive_status") + var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish (500)", "Re-Admit (100)", "De-evolve (500)", "Reward Jelly (500)", "Exchange larva for evolution (100)",), theme="hive_status") switch(choice) - if("Banish") + if("Banish (500)") banish() - if("Re-Admit") + if("Re-Admit (100)") readmit() - if("De-evolve") + if("De-evolve (500)") de_evolve_other() - if("Reward Jelly") - give_jelly_award(queenbanish.hive) - if("Exchange larva for evolution") + if("Reward Jelly (500)") + give_jelly_reward(queenbanish.hive) + if("Exchange larva for evolution (100)") give_evo_points() + /datum/action/xeno_action/onclick/manage_hive/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner + plasma_cost = 500 if(!user_xeno.check_state()) return @@ -443,6 +457,7 @@ /datum/action/xeno_action/onclick/manage_hive/proc/readmit() var/mob/living/carbon/xenomorph/queen/user_xeno = owner + plasma_cost = 100 if(!user_xeno.check_state()) return From 16989bd6f8b33dac70a1ff7e86ec5eaa7f93dced Mon Sep 17 00:00:00 2001 From: InsaneRed Date: Thu, 11 Jan 2024 20:25:58 +0300 Subject: [PATCH 14/14] vars --- .../xenomorph/abilities/queen/queen_powers.dm | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index f4dcf7185dc8..cbbc6ae21013 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -1,7 +1,7 @@ // devolve a xeno - lots of old, vaguely shitty code here /datum/action/xeno_action/onclick/manage_hive/proc/de_evolve_other() var/mob/living/carbon/xenomorph/queen/user_xeno = owner - plasma_cost = 500 + var/plasma_cost_devolve = 500 if(!user_xeno.check_state()) return if(!user_xeno.observed_xeno) @@ -9,7 +9,7 @@ return var/mob/living/carbon/xenomorph/target_xeno = user_xeno.observed_xeno - if(!user_xeno.check_plasma(plasma_cost)) + if(!user_xeno.check_plasma(plasma_cost_devolve)) return if(target_xeno.hivenumber != user_xeno.hivenumber) @@ -295,12 +295,13 @@ /datum/action/xeno_action/onclick/manage_hive/proc/give_evo_points() var/mob/living/carbon/xenomorph/queen/user_xeno = owner - plasma_cost = 100 + var/plasma_cost_givepoints = 100 + if(!user_xeno.check_state()) return - if(!user_xeno.check_plasma(plasma_cost)) + if(!user_xeno.check_plasma(plasma_cost_givepoints)) return if(world.time < SSticker.mode.round_time_lobby + SHUTTLE_TIME_LOCK) @@ -361,16 +362,17 @@ /datum/action/xeno_action/onclick/manage_hive/proc/give_jelly_reward() var/mob/living/carbon/xenomorph/queen/xeno = owner - plasma_cost = 500 + var/plasma_cost_jelly = 500 if(!xeno.check_state()) return - if(!xeno.check_plasma(plasma_cost)) + if(!xeno.check_plasma(plasma_cost_jelly)) return if(give_jelly_award(xeno.hive)) - xeno.use_plasma(plasma_cost) + xeno.use_plasma(plasma_cost_jelly) return /datum/action/xeno_action/onclick/manage_hive/use_ability(atom/Atom) var/mob/living/carbon/xenomorph/queen/queenbanish = owner + plasma_cost = 0 var/choice = tgui_input_list(queenbanish, "Manage The Hive", "Hive Management", list("Banish (500)", "Re-Admit (100)", "De-evolve (500)", "Reward Jelly (500)", "Exchange larva for evolution (100)",), theme="hive_status") switch(choice) @@ -388,11 +390,11 @@ /datum/action/xeno_action/onclick/manage_hive/proc/banish() var/mob/living/carbon/xenomorph/queen/user_xeno = owner - plasma_cost = 500 + var/plasma_cost_banish = 500 if(!user_xeno.check_state()) return - if(!user_xeno.check_plasma(plasma_cost)) + if(!user_xeno.check_plasma(plasma_cost_banish)) return var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to banish:", "Banish", user_xeno.hive.totalXenos, theme="hive_status") @@ -433,7 +435,7 @@ to_chat(user_xeno, SPAN_XENOWARNING("You must provide a reason for banishing [target_xeno].")) return - if(!user_xeno.check_state() || !check_and_use_plasma_owner(plasma_cost) || target_xeno.health < 0) + if(!user_xeno.check_state() || !check_and_use_plasma_owner(plasma_cost_banish) || target_xeno.health < 0) return // Let everyone know they were banished @@ -457,11 +459,11 @@ /datum/action/xeno_action/onclick/manage_hive/proc/readmit() var/mob/living/carbon/xenomorph/queen/user_xeno = owner - plasma_cost = 100 + var/plasma_cost_readmit = 100 if(!user_xeno.check_state()) return - if(!user_xeno.check_plasma(plasma_cost)) + if(!user_xeno.check_plasma(plasma_cost_readmit)) return var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to readmit:", "Re-admit", user_xeno.hive.banished_ckeys, theme="hive_status")