From a3b2c3a251ad4dac09e7d985cbb3d6ac9e636b1b Mon Sep 17 00:00:00 2001 From: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Date: Tue, 28 Oct 2025 09:26:16 -0400 Subject: [PATCH] Refactors revenants to basic mobs (#30661) --- code/datums/elements/rust_element.dm | 2 +- code/game/objects/structures/tables_racks.dm | 2 +- .../antagonists/_common/antag_spawner.dm | 4 +- .../events}/revenant_spawn_event.dm | 4 +- code/modules/mob/dead/observer/orbit.dm | 2 +- .../basic/hostile}/revenant/revenant.dm | 71 ++++++++++--------- .../hostile}/revenant/revenant_abilities.dm | 28 ++++---- code/modules/mob/mob_misc_procs.dm | 2 +- code/modules/tgui/states/default.dm | 2 +- code/modules/tgui/states/hands.dm | 2 +- code/modules/tgui/states/physical.dm | 2 +- paradise.dme | 6 +- tools/ci/check_simplemob_additions.py | 1 - 13 files changed, 65 insertions(+), 63 deletions(-) rename code/{game/gamemodes/miniantags/revenant => modules/events}/revenant_spawn_event.dm (91%) rename code/{game/gamemodes/miniantags => modules/mob/living/basic/hostile}/revenant/revenant.dm (87%) rename code/{game/gamemodes/miniantags => modules/mob/living/basic/hostile}/revenant/revenant_abilities.dm (94%) diff --git a/code/datums/elements/rust_element.dm b/code/datums/elements/rust_element.dm index bdf5a5655d4..973455c23bb 100644 --- a/code/datums/elements/rust_element.dm +++ b/code/datums/elements/rust_element.dm @@ -95,7 +95,7 @@ if(!isliving(entered)) return var/mob/living/victim = entered - if(istype(victim, /mob/living/simple_animal/revenant)) + if(istype(victim, /mob/living/basic/revenant)) return victim.apply_status_effect(STATUS_EFFECT_RUST_CORRUPTION) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index ae652bb1a84..f430de16a51 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -359,7 +359,7 @@ return 0 SECONDS // sure if(!isanimal_or_basicmob(flipper)) return 0 SECONDS - if(istype(flipper, /mob/living/simple_animal/revenant)) + if(istype(flipper, /mob/living/basic/revenant)) return 0 SECONDS // funny ghost table switch(flipper.mob_size) if(MOB_SIZE_TINY) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 9ac3a19a84b..5bfc0d76f83 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -340,7 +340,7 @@ var/veil_msg = "The ectoplasm is awake and seeps \ away..." var/objective_verb = "Harvest" - var/mob/living/revenant = /mob/living/simple_animal/revenant + var/mob/living/revenant = /mob/living/basic/revenant /obj/item/antag_spawner/revenant/attack_self__legacy__attackchain(mob/user) if(level_blocks_magic(user.z)) //this is to make sure the wizard does NOT summon a revenant from the Den.. @@ -369,7 +369,7 @@ qdel(src) /obj/item/antag_spawner/revenant/spawn_antag(client/C, turf/T, type = "", mob/user) - var/mob/living/simple_animal/revenant/M = new /mob/living/simple_animal/revenant(pick(GLOB.xeno_spawn)) + var/mob/living/basic/revenant/M = new /mob/living/basic/revenant(pick(GLOB.xeno_spawn)) M.key = C.key var/list/messages = list() diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/modules/events/revenant_spawn_event.dm similarity index 91% rename from code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm rename to code/modules/events/revenant_spawn_event.dm index 227d89666df..a7eef1906a0 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm +++ b/code/modules/events/revenant_spawn_event.dm @@ -13,7 +13,7 @@ return spawn() - var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a revenant?", ROLE_REVENANT, TRUE, source = /mob/living/simple_animal/revenant) + var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a revenant?", ROLE_REVENANT, TRUE, source = /mob/living/basic/revenant) if(!length(candidates)) key_of_revenant = null kill() @@ -35,7 +35,7 @@ if(!spawn_locs) //If we can't find THAT, then give up kill() return - var/mob/living/simple_animal/revenant/revvie = new /mob/living/simple_animal/revenant/(pick(spawn_locs)) + var/mob/living/basic/revenant/revvie = new /mob/living/basic/revenant/(pick(spawn_locs)) player_mind.transfer_to(revvie) dust_if_respawnable(C) player_mind.assigned_role = SPECIAL_ROLE_REVENANT diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 79d250ea17e..424df95b6ee 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -145,7 +145,7 @@ GLOBAL_DATUM_INIT(orbit_menu, /datum/orbit_menu, new) var/list/antag_serialized = serialized.Copy() antag_serialized["antag"] = "Terror Spider" antagonists += list(antag_serialized) - else if(istype(M, /mob/living/simple_animal/revenant)) + else if(istype(M, /mob/living/basic/revenant)) var/list/antag_serialized = serialized.Copy() antag_serialized["antag"] = "Revenant" antagonists += list(antag_serialized) diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/modules/mob/living/basic/hostile/revenant/revenant.dm similarity index 87% rename from code/game/gamemodes/miniantags/revenant/revenant.dm rename to code/modules/mob/living/basic/hostile/revenant/revenant.dm index 817a3574599..97dc0500ba6 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/modules/mob/living/basic/hostile/revenant/revenant.dm @@ -6,7 +6,7 @@ #define INVISIBILITY_REVENANT 45 #define REVENANT_NAME_FILE "revenant_names.json" -/mob/living/simple_animal/revenant +/mob/living/basic/revenant name = "revenant" //The name shown on examine real_name = "revenant" //The name shown in dchat desc = "A malevolent spirit." @@ -17,20 +17,23 @@ incorporeal_move = INCORPOREAL_MOVE_HOLY_BLOCK see_invisible = INVISIBILITY_REVENANT invisibility = INVISIBILITY_REVENANT - health = INFINITY //Revenants don't use health, they use essence instead + health = INFINITY // Revenants don't use health, they use essence instead maxHealth = INFINITY see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - response_help = "passes through" - response_disarm = "swings at" - response_harm = "punches" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "swings at" + response_disarm_simple = "swing at" + response_harm_continuous = "punches" + response_harm_simple = "punch" unsuitable_atmos_damage = 0 - minbodytemp = 0 - maxbodytemp = INFINITY + minimum_survivable_temperature = 0 + maximum_survivable_temperature = INFINITY harm_intent_damage = 0 - friendly = "touches" + friendly_verb_continuous = "touches" + friendly_verb_simple = "touch" status_flags = 0 - wander = FALSE density = FALSE move_resist = INFINITY mob_size = MOB_SIZE_TINY @@ -80,7 +83,7 @@ /// Are we currently dying? extra check against becomming incorporeal var/dying = FALSE -/mob/living/simple_animal/revenant/Life(seconds, times_fired) +/mob/living/basic/revenant/Life(seconds, times_fired) ..() if(revealed && essence <= 0) dying = TRUE @@ -99,29 +102,29 @@ to_chat(src, "You can move again!") update_spooky_icon() -/mob/living/simple_animal/revenant/ex_act(severity) +/mob/living/basic/revenant/ex_act(severity) return TRUE //Immune to the effects of explosions. -/mob/living/simple_animal/revenant/blob_act(obj/structure/blob/B) +/mob/living/basic/revenant/blob_act(obj/structure/blob/B) return //blah blah blobs aren't in tune with the spirit world, or something. -/mob/living/simple_animal/revenant/singularity_act() +/mob/living/basic/revenant/singularity_act() return //don't walk into the singularity expecting to find corpses, okay? -/mob/living/simple_animal/revenant/narsie_act() +/mob/living/basic/revenant/narsie_act() return //most humans will now be either bones or harvesters, but we're still un-alive. -/mob/living/simple_animal/revenant/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) +/mob/living/basic/revenant/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) return FALSE //You are a ghost, atmos and grill makes sparks, and you make your own shocks with lights. -/mob/living/simple_animal/revenant/adjustHealth(amount, updating_health = TRUE) +/mob/living/basic/revenant/adjustHealth(amount, updating_health = TRUE) if(!revealed) return essence = max(0, essence-amount) if(!essence) to_chat(src, "You feel your essence fraying!") -/mob/living/simple_animal/revenant/say(message) +/mob/living/basic/revenant/say(message) if(!message) return log_say(message, src) @@ -130,14 +133,14 @@ say_dead(message) -/mob/living/simple_animal/revenant/get_status_tab_items() +/mob/living/basic/revenant/get_status_tab_items() var/list/status_tab_data = ..() . = status_tab_data status_tab_data[++status_tab_data.len] = list("Current essence:", "[essence]/[essence_regen_cap]E") status_tab_data[++status_tab_data.len] = list("Stolen essence:", "[essence_accumulated]E") status_tab_data[++status_tab_data.len] = list("Stolen perfect souls:", "[perfectsouls]") -/mob/living/simple_animal/revenant/Initialize(mapload) +/mob/living/basic/revenant/Initialize(mapload) . = ..() if(!mapload) var/list/built_name = list() @@ -154,13 +157,13 @@ giveSpells() RegisterSignal(src, COMSIG_BODY_TRANSFER_TO, PROC_REF(make_revenant_antagonist)) -/mob/living/simple_animal/revenant/proc/make_revenant_antagonist(revenant) +/mob/living/basic/revenant/proc/make_revenant_antagonist(revenant) SIGNAL_HANDLER // COMSIG_BODY_TRANSFER_TO mind.assigned_role = SPECIAL_ROLE_REVENANT mind.special_role = SPECIAL_ROLE_REVENANT giveObjectivesandGoals() -/mob/living/simple_animal/revenant/proc/giveObjectivesandGoals() +/mob/living/basic/revenant/proc/giveObjectivesandGoals() if(!mind) return mind.wipe_memory() // someone kill this and give revenants their own minds please @@ -180,7 +183,7 @@ messages.Add(mind.prepare_announce_objectives(FALSE)) to_chat(src, chat_box_red(messages.Join("
"))) -/mob/living/simple_animal/revenant/proc/giveSpells() +/mob/living/basic/revenant/proc/giveSpells() AddSpell(new /datum/spell/night_vision/revenant) AddSpell(new /datum/spell/revenant_transmit) AddSpell(new /datum/spell/aoe/revenant/defile) @@ -190,13 +193,13 @@ AddSpell(new /datum/spell/aoe/revenant/hallucinations) -/mob/living/simple_animal/revenant/dust() +/mob/living/basic/revenant/dust() return death() -/mob/living/simple_animal/revenant/gib() +/mob/living/basic/revenant/gib() return death() -/mob/living/simple_animal/revenant/death() +/mob/living/basic/revenant/death() if(!revealed) return FALSE // Only execute the below if we successfully died @@ -221,7 +224,7 @@ move_resist = null return ..() -/mob/living/simple_animal/revenant/attack_by(obj/item/W, mob/living/user, params) +/mob/living/basic/revenant/attack_by(obj/item/W, mob/living/user, params) if(..()) return FINISH_ATTACK @@ -235,7 +238,7 @@ return FINISH_ATTACK -/mob/living/simple_animal/revenant/proc/castcheck(essence_cost) +/mob/living/basic/revenant/proc/castcheck(essence_cost) if(holy_check(src)) return var/turf/T = get_turf(src) @@ -250,7 +253,7 @@ return FALSE return TRUE -/mob/living/simple_animal/revenant/proc/change_essence_amount(essence_amt, silent = FALSE, source) +/mob/living/basic/revenant/proc/change_essence_amount(essence_amt, silent = FALSE, source) if(essence + essence_amt <= 0) return essence = max(0, essence + essence_amt) @@ -263,7 +266,7 @@ to_chat(src, "Lost [essence_amt]E from [source].") return TRUE -/mob/living/simple_animal/revenant/proc/reveal(time) +/mob/living/basic/revenant/proc/reveal(time) if(time <= 0) return revealed = TRUE @@ -277,7 +280,7 @@ unreveal_time = unreveal_time + time update_spooky_icon() -/mob/living/simple_animal/revenant/proc/stun(time) +/mob/living/basic/revenant/proc/stun(time) if(time <= 0) return notransform = TRUE @@ -289,7 +292,7 @@ unstun_time = unstun_time + time update_spooky_icon() -/mob/living/simple_animal/revenant/proc/update_spooky_icon() +/mob/living/basic/revenant/proc/update_spooky_icon() if(dying) return @@ -321,9 +324,9 @@ /datum/objective/revenant/check_completion() var/total_essence = 0 for(var/datum/mind/M in get_owners()) - if(!istype(M.current, /mob/living/simple_animal/revenant) || QDELETED(M.current)) + if(!istype(M.current, /mob/living/basic/revenant) || QDELETED(M.current)) continue - var/mob/living/simple_animal/revenant/R = M.current + var/mob/living/basic/revenant/R = M.current total_essence += R.essence_accumulated if(total_essence < targetAmount) return FALSE @@ -353,7 +356,7 @@ /datum/objective/revenant_fluff/check_completion() return TRUE -//no longer used +// no longer used /obj/item/ectoplasm name = "glimmering residue" desc = "A pile of fine blue dust. Small tendrils of violet mist swirl around it." diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm similarity index 94% rename from code/game/gamemodes/miniantags/revenant/revenant_abilities.dm rename to code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm index 0198e183df2..1a14109410b 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm @@ -1,5 +1,5 @@ ///Harvest -/mob/living/simple_animal/revenant/ClickOn(atom/A, params) //Copypaste from ghost code - revenants can't interact with the world directly. +/mob/living/basic/revenant/ClickOn(atom/A, params) //Copypaste from ghost code - revenants can't interact with the world directly. if(client.click_intercept) client.click_intercept.InterceptClickOn(src, params, A) @@ -39,7 +39,7 @@ return Harvest(A) -/mob/living/simple_animal/revenant/proc/Harvest(mob/living/carbon/human/target) +/mob/living/basic/revenant/proc/Harvest(mob/living/carbon/human/target) if(!castcheck(0)) return if(draining) @@ -141,7 +141,7 @@ T.allowed_type = /mob/living return T -/datum/spell/revenant_transmit/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/revenant_transmit/cast(list/targets, mob/living/basic/revenant/user = usr) for(var/mob/living/M in targets) spawn(0) var/msg = tgui_input_text(user, "What do you wish to tell [M]?", "Transmit") @@ -180,10 +180,10 @@ /datum/spell/aoe/revenant/revert_cast(mob/user) . = ..() to_chat(user, "Your ability wavers and fails!") - var/mob/living/simple_animal/revenant/R = user + var/mob/living/basic/revenant/R = user R?.essence += cast_amount //refund the spell and reset -/datum/spell/aoe/revenant/can_cast(mob/living/simple_animal/revenant/user = usr, charge_check = TRUE, show_message = FALSE) +/datum/spell/aoe/revenant/can_cast(mob/living/basic/revenant/user = usr, charge_check = TRUE, show_message = FALSE) if(user.inhibited) return FALSE if(cooldown_handler.is_on_cooldown()) @@ -195,7 +195,7 @@ return FALSE return TRUE -/datum/spell/aoe/revenant/proc/attempt_cast(mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/proc/attempt_cast(mob/living/basic/revenant/user = usr) if(locked) if(!user.castcheck(-unlock_amount)) cooldown_handler.revert_cast() @@ -233,12 +233,12 @@ targeting.allowed_type = /obj/machinery/light return targeting -/datum/spell/aoe/revenant/overload/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/overload/cast(list/targets, mob/living/basic/revenant/user = usr) if(attempt_cast(user)) for(var/obj/machinery/light/L as anything in targets) INVOKE_ASYNC(src, PROC_REF(shock_lights), L, user) -/datum/spell/aoe/revenant/overload/proc/shock_lights(obj/machinery/light/L, mob/living/simple_animal/revenant/user) +/datum/spell/aoe/revenant/overload/proc/shock_lights(obj/machinery/light/L, mob/living/basic/revenant/user) if(!L.on) return L.visible_message("\The [L] suddenly flares brightly and begins to spark!") @@ -274,7 +274,7 @@ targeting.range = aoe_range return targeting -/datum/spell/aoe/revenant/defile/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/defile/cast(list/targets, mob/living/basic/revenant/user = usr) if(!attempt_cast(user)) return for(var/turf/T in targets) @@ -313,12 +313,12 @@ return targeting //A note to future coders: do not replace this with an EMP because it will wreck malf AIs and gang dominators and everyone will hate you. -/datum/spell/aoe/revenant/malfunction/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/malfunction/cast(list/targets, mob/living/basic/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) INVOKE_ASYNC(src, PROC_REF(effect), user, T) -/datum/spell/aoe/revenant/malfunction/proc/effect(mob/living/simple_animal/revenant/user, turf/T) +/datum/spell/aoe/revenant/malfunction/proc/effect(mob/living/basic/revenant/user, turf/T) T.rev_malfunction(TRUE) for(var/atom/A in T.contents) A.rev_malfunction(TRUE) @@ -346,7 +346,7 @@ targeting.allowed_type = /obj/item return targeting -/datum/spell/aoe/revenant/haunt_object/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/haunt_object/cast(list/targets, mob/living/basic/revenant/user = usr) if(!attempt_cast(user)) return @@ -382,7 +382,7 @@ addtimer(CALLBACK(src, PROC_REF(stop_timers)), 65 SECONDS, TIMER_UNIQUE) /// Handles making an object haunted and setting it up to attack -/datum/spell/aoe/revenant/haunt_object/proc/make_spooky(obj/item/item_to_possess, mob/living/simple_animal/revenant/user) +/datum/spell/aoe/revenant/haunt_object/proc/make_spooky(obj/item/item_to_possess, mob/living/basic/revenant/user) new /obj/effect/temp_visual/revenant(get_turf(item_to_possess)) // Thematic spooky visuals var/mob/living/basic/possessed_object/revenant/possessed_object = new(item_to_possess) // Begin haunting object addtimer(CALLBACK(possessed_object, TYPE_PROC_REF(/mob/living/basic/possessed_object, death)), 70 SECONDS, TIMER_UNIQUE) // De-haunt the object @@ -411,7 +411,7 @@ targeting.allowed_type = /mob/living/carbon return targeting -/datum/spell/aoe/revenant/hallucinations/cast(list/targets, mob/living/simple_animal/revenant/user = usr) +/datum/spell/aoe/revenant/hallucinations/cast(list/targets, mob/living/basic/revenant/user = usr) if(!attempt_cast(user)) return diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index e500712d61e..ea2c82c3604 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -568,7 +568,7 @@ var/should_show_runechat = (subject && raw_message && !subject.orbiting_uid) for(var/mob/M in GLOB.player_list) - if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || check_rights(R_ADMIN|R_MOD,0,M) || istype(M, /mob/living/simple_animal/revenant)) && M.get_preference(PREFTOGGLE_CHAT_DEAD)) + if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || check_rights(R_ADMIN|R_MOD,0,M) || istype(M, /mob/living/basic/revenant)) && M.get_preference(PREFTOGGLE_CHAT_DEAD)) var/follow var/lname if(subject) diff --git a/code/modules/tgui/states/default.dm b/code/modules/tgui/states/default.dm index 8f79c6a9196..27cc3fdfda5 100644 --- a/code/modules/tgui/states/default.dm +++ b/code/modules/tgui/states/default.dm @@ -49,7 +49,7 @@ GLOBAL_DATUM_INIT(default_state, /datum/ui_state/default, new) return UI_INTERACTIVE return UI_CLOSE -/mob/living/simple_animal/revenant/default_can_use_topic(src_object) +/mob/living/basic/revenant/default_can_use_topic(src_object) return UI_UPDATE /mob/living/simple_animal/demon/pulse_demon/default_can_use_topic(src_object) diff --git a/code/modules/tgui/states/hands.dm b/code/modules/tgui/states/hands.dm index 209cb5288c5..8e8d30a7572 100644 --- a/code/modules/tgui/states/hands.dm +++ b/code/modules/tgui/states/hands.dm @@ -29,5 +29,5 @@ GLOBAL_DATUM_INIT(hands_state, /datum/ui_state/hands_state, new) return UI_INTERACTIVE return UI_CLOSE -/mob/living/simple_animal/revenant/hands_can_use_topic(src_object) +/mob/living/basic/revenant/hands_can_use_topic(src_object) return UI_UPDATE diff --git a/code/modules/tgui/states/physical.dm b/code/modules/tgui/states/physical.dm index 362e4ecd000..ea16eaf3d84 100644 --- a/code/modules/tgui/states/physical.dm +++ b/code/modules/tgui/states/physical.dm @@ -31,7 +31,7 @@ GLOBAL_DATUM_INIT(physical_state, /datum/ui_state/physical, new) /mob/living/silicon/ai/physical_can_use_topic(src_object) return UI_UPDATE // AIs are not physical. -/mob/living/simple_animal/revenant/physical_can_use_topic(src_object) +/mob/living/basic/revenant/physical_can_use_topic(src_object) return UI_UPDATE /** diff --git a/paradise.dme b/paradise.dme index 38e06cc0843..a8191cb67d3 100644 --- a/paradise.dme +++ b/paradise.dme @@ -947,9 +947,6 @@ #include "code\game\gamemodes\miniantags\pulsedemon\pulsedemon_event.dm" #include "code\game\gamemodes\miniantags\pulsedemon\pulsedemon_interactions.dm" #include "code\game\gamemodes\miniantags\pulsedemon\pulsedemon_objectives.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_abilities.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_spawn_event.dm" #include "code\game\gamemodes\miniantags\tourist\tourist_arrivals.dm" #include "code\game\gamemodes\miniantags\tourist\tourist_objectives.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" @@ -2130,6 +2127,7 @@ #include "code\modules\events\money_spam.dm" #include "code\modules\events\prison_break.dm" #include "code\modules\events\radiation_storm_event.dm" +#include "code\modules\events\revenant_spawn_event.dm" #include "code\modules\events\rogue_drones.dm" #include "code\modules\events\sentience.dm" #include "code\modules\events\slaughterevent.dm" @@ -2518,6 +2516,8 @@ #include "code\modules\mob\living\basic\hostile\giant_spider\giant_spider_ai.dm" #include "code\modules\mob\living\basic\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\basic\hostile\gorilla\gorilla_emote.dm" +#include "code\modules\mob\living\basic\hostile\revenant\revenant.dm" +#include "code\modules\mob\living\basic\hostile\revenant\revenant_abilities.dm" #include "code\modules\mob\living\basic\lavaland\goliath\goliath.dm" #include "code\modules\mob\living\basic\lavaland\goliath\goliath_actions.dm" #include "code\modules\mob\living\basic\lavaland\goliath\goliath_ai.dm" diff --git a/tools/ci/check_simplemob_additions.py b/tools/ci/check_simplemob_additions.py index e6b9c27e54a..09bef70e839 100644 --- a/tools/ci/check_simplemob_additions.py +++ b/tools/ci/check_simplemob_additions.py @@ -202,7 +202,6 @@ BURNDOWN_LIST = { "/mob/living/simple_animal/pet/dog/fox/renault", "/mob/living/simple_animal/pet/dog/fox/syndifox", "/mob/living/simple_animal/pet/dog/pug", - "/mob/living/simple_animal/revenant", "/mob/living/simple_animal/shade", "/mob/living/simple_animal/shade/cult", "/mob/living/simple_animal/shade/holy",