From c5df8169235ccc7c3f7fc29eb59408bfc084eec0 Mon Sep 17 00:00:00 2001 From: DOOM Date: Tue, 2 Apr 2024 10:26:20 -0700 Subject: [PATCH 1/7] Fixes xenos ability to use corrosive acid after death --- .../living/carbon/xenomorph/abilities/ability_helper_procs.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 41459353ec1e..9bfc98a7091d 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -1,6 +1,8 @@ //Corrosive acid is consolidated -- it checks for specific castes for strength now, but works identically to each other. //The acid items are stored in XenoProcs. /mob/living/carbon/xenomorph/proc/corrosive_acid(atom/O, acid_type, plasma_cost) + if(!check_state()) + return if(!O.Adjacent(src)) if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O From 08fcc8a4ddba4ef0ce9a093d7fa320078f0b1af1 Mon Sep 17 00:00:00 2001 From: DOOM Date: Tue, 2 Apr 2024 10:27:58 -0700 Subject: [PATCH 2/7] s --- .../living/carbon/xenomorph/abilities/ability_helper_procs.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 9bfc98a7091d..1ffb8bf11b75 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -1,8 +1,10 @@ //Corrosive acid is consolidated -- it checks for specific castes for strength now, but works identically to each other. //The acid items are stored in XenoProcs. /mob/living/carbon/xenomorph/proc/corrosive_acid(atom/O, acid_type, plasma_cost) + if(!check_state()) return + if(!O.Adjacent(src)) if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O From 6e35958d70bb32e6f517bb1398217ee2a43bf900 Mon Sep 17 00:00:00 2001 From: DOOM Date: Wed, 3 Apr 2024 13:51:37 -0700 Subject: [PATCH 3/7] fixes queen not being able to spawn --- code/game/gamemodes/cm_initialize.dm | 6 ++++-- code/game/gamemodes/colonialmarines/xenovsxeno.dm | 2 +- code/game/jobs/job/antag/xeno/queen.dm | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index 971eb8f07178..bbdd9e36a883 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -687,9 +687,9 @@ Additional game mode variables. return TRUE /// Pick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup -/datum/game_mode/proc/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/proc/pick_queen_spawn(mob/new_player/NP, hivenumber = XENO_HIVE_NORMAL) RETURN_TYPE(/turf) - + var/datum/mind/ghost_mind = NP.mind var/mob/living/original = ghost_mind.current var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] if(hive.living_xeno_queen || !original || !original.client) @@ -710,6 +710,8 @@ Additional game mode variables. spawn_list_map[spawn_name] = T var/selected_spawn = tgui_input_list(original, "Where do you want you and your hive to spawn?", "Queen Spawn", spawn_list_map, QUEEN_SPAWN_TIMEOUT, theme="hive_status") + if(hive.living_xeno_queen) + NP.send_to_lobby() if(!selected_spawn) selected_spawn = pick(spawn_list_map) to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, one has been chosen for you.")) diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm index 79754a6fff84..df467d1f5519 100644 --- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm +++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm @@ -154,7 +154,7 @@ var/mob/living/carbon/xenomorph/larva/L = new(xeno_turf, null, hivenumber) ghost_mind.transfer_to(L) -/datum/game_mode/xenovs/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/xenovs/pick_queen_spawn(mob/new_player/NP, hivenumber = XENO_HIVE_NORMAL) . = ..() if(!.) return // Spawn additional hive structures diff --git a/code/game/jobs/job/antag/xeno/queen.dm b/code/game/jobs/job/antag/xeno/queen.dm index 5702f9b1a671..7bf3e47b8830 100644 --- a/code/game/jobs/job/antag/xeno/queen.dm +++ b/code/game/jobs/job/antag/xeno/queen.dm @@ -10,7 +10,7 @@ return spawn_positions /datum/job/antag/xenos/queen/transform_to_xeno(mob/new_player/NP, hive_index) - SSticker.mode.pick_queen_spawn(NP.mind, hive_index) + SSticker.mode.pick_queen_spawn(NP, hive_index) /datum/job/antag/xenos/queen/announce_entry_message(mob/new_queen, account, whitelist_status) to_chat(new_queen, "You are now the alien queen!") From ef652617ec5f175fac48c7c9f343acbdf6179ac6 Mon Sep 17 00:00:00 2001 From: DOOM Date: Wed, 3 Apr 2024 13:57:53 -0700 Subject: [PATCH 4/7] sh --- .../living/carbon/xenomorph/abilities/ability_helper_procs.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 1ffb8bf11b75..41459353ec1e 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -1,10 +1,6 @@ //Corrosive acid is consolidated -- it checks for specific castes for strength now, but works identically to each other. //The acid items are stored in XenoProcs. /mob/living/carbon/xenomorph/proc/corrosive_acid(atom/O, acid_type, plasma_cost) - - if(!check_state()) - return - if(!O.Adjacent(src)) if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O From 1157b0bb38dd04e883e9caa4ba48d0e0e97f6198 Mon Sep 17 00:00:00 2001 From: Vero <73014819+vero5123@users.noreply.github.com> Date: Wed, 3 Apr 2024 23:17:46 -0400 Subject: [PATCH 5/7] Apply suggestions from code review Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/gamemodes/cm_initialize.dm | 6 +++--- code/game/gamemodes/colonialmarines/xenovsxeno.dm | 2 +- code/game/jobs/job/antag/xeno/queen.dm | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index bbdd9e36a883..36f4e1a0101d 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -687,9 +687,9 @@ Additional game mode variables. return TRUE /// Pick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup -/datum/game_mode/proc/pick_queen_spawn(mob/new_player/NP, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/proc/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL) RETURN_TYPE(/turf) - var/datum/mind/ghost_mind = NP.mind + var/datum/mind/ghost_mind = player.mind var/mob/living/original = ghost_mind.current var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] if(hive.living_xeno_queen || !original || !original.client) @@ -711,7 +711,7 @@ Additional game mode variables. var/selected_spawn = tgui_input_list(original, "Where do you want you and your hive to spawn?", "Queen Spawn", spawn_list_map, QUEEN_SPAWN_TIMEOUT, theme="hive_status") if(hive.living_xeno_queen) - NP.send_to_lobby() + player.send_to_lobby() if(!selected_spawn) selected_spawn = pick(spawn_list_map) to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, one has been chosen for you.")) diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm index df467d1f5519..d287709d5516 100644 --- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm +++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm @@ -154,7 +154,7 @@ var/mob/living/carbon/xenomorph/larva/L = new(xeno_turf, null, hivenumber) ghost_mind.transfer_to(L) -/datum/game_mode/xenovs/pick_queen_spawn(mob/new_player/NP, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/xenovs/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL) . = ..() if(!.) return // Spawn additional hive structures diff --git a/code/game/jobs/job/antag/xeno/queen.dm b/code/game/jobs/job/antag/xeno/queen.dm index 7bf3e47b8830..144f8e42e6ad 100644 --- a/code/game/jobs/job/antag/xeno/queen.dm +++ b/code/game/jobs/job/antag/xeno/queen.dm @@ -9,8 +9,8 @@ /datum/job/antag/xenos/queen/set_spawn_positions(count) return spawn_positions -/datum/job/antag/xenos/queen/transform_to_xeno(mob/new_player/NP, hive_index) - SSticker.mode.pick_queen_spawn(NP, hive_index) +/datum/job/antag/xenos/queen/transform_to_xeno(mob/living/carbon/human/human_to_transform, hive_index) + SSticker.mode.pick_queen_spawn(human_to_transform, hive_index) /datum/job/antag/xenos/queen/announce_entry_message(mob/new_queen, account, whitelist_status) to_chat(new_queen, "You are now the alien queen!") From d3a9ee751782a65115d533ed7cb7af6a8fd7b3e9 Mon Sep 17 00:00:00 2001 From: Vero <73014819+vero5123@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:21:15 -0400 Subject: [PATCH 6/7] Update code/game/gamemodes/cm_initialize.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/gamemodes/cm_initialize.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index 36f4e1a0101d..400acdcb122a 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -711,6 +711,7 @@ Additional game mode variables. var/selected_spawn = tgui_input_list(original, "Where do you want you and your hive to spawn?", "Queen Spawn", spawn_list_map, QUEEN_SPAWN_TIMEOUT, theme="hive_status") if(hive.living_xeno_queen) + to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, a queen has already evolved before you.")) player.send_to_lobby() if(!selected_spawn) selected_spawn = pick(spawn_list_map) From b1f21b8dbdcd95f370d8b225e037d8921a2f19d9 Mon Sep 17 00:00:00 2001 From: DOOM Date: Thu, 4 Apr 2024 10:27:16 -0700 Subject: [PATCH 7/7] req changes --- code/__DEFINES/xeno.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index fb9d6bfb4faf..18d4908c9df7 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -707,7 +707,7 @@ // target_hive integer the target hive to see if the source_hive is allied to it. #define HIVE_ALLIED_TO_HIVE(source_hive, target_hive) ((source_hive) == (target_hive) || GLOB.hive_datum[source_hive]?.faction_is_ally(GLOB.hive_datum[target_hive]?.internal_faction)) -#define QUEEN_SPAWN_TIMEOUT (2 MINUTES) +#define QUEEN_SPAWN_TIMEOUT (1 MINUTES) #define FIRE_IMMUNITY_NONE 0 #define FIRE_IMMUNITY_NO_DAMAGE (1<<0)