diff --git a/1mapping_palette.dmm b/1mapping_palette.dmm index 924037e244..8069fd893a 100644 --- a/1mapping_palette.dmm +++ b/1mapping_palette.dmm @@ -12875,10 +12875,6 @@ /obj/item/gun/projectile/automatic/sts35, /turf/simulated/shuttle/floor/voidcraft/light, /area/space) -"iIq" = ( -/obj/effect/ctrigger, -/turf/simulated/floor/outdoors/dirt, -/area/space) "iIv" = ( /obj/structure/artilleryplaceholder{ icon_state = "33" @@ -17978,10 +17974,6 @@ }, /turf/simulated/floor/tiled/techmaint, /area/space) -"mfO" = ( -/obj/effect/ctrigger, -/turf/template_noop, -/area/space) "mfQ" = ( /obj/machinery/shower{ dir = 4 @@ -40769,7 +40761,7 @@ cmZ sRR plK mYY -iIq +mYY imH mYY mYY @@ -43858,7 +43850,7 @@ nwG nwG dmw nwG -mfO +nwG nwG nwG cmZ diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index cd875e3edd..54a8a04ed9 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -327,7 +327,6 @@ JOB_CLOWN = /datum/alt_title/clown, JOB_ALT_JESTER = /datum/alt_title/clown/jester,JOB_ALT_FOOL = /datum/alt_title/clown/fool, JOB_MIME= /datum/alt_title/mime,JOB_ALT_PASEUR= /datum/alt_title/mime/poseur, //CHOMPEDIT: Adding clown + mime and their alts as alts of entertainer JOB_ALT_ARTIST = /datum/alt_title/artist, JOB_ALT_FITNESS_INSTRUCTOR = /datum/alt_title/fitnessinstructor, JOB_ALT_GAME_MASTER = /datum/alt_title/game_master) - // Entertainer Alt Titles /datum/alt_title/actor title = JOB_ALT_ACTOR diff --git a/code/game/jobs/job/zz_alt_titles_ch.dm b/code/game/jobs/job/zz_alt_titles_ch.dm deleted file mode 100644 index f928adcd62..0000000000 --- a/code/game/jobs/job/zz_alt_titles_ch.dm +++ /dev/null @@ -1,31 +0,0 @@ -/datum/job/entertainer - alt_titles = list(JOB_ALT_PERFORMER = /datum/alt_title/performer, JOB_ALT_MUSICIAN = /datum/alt_title/musician, JOB_ALT_STAGEHAND = /datum/alt_title/stagehand, - JOB_ALT_ACTOR = /datum/alt_title/actor, JOB_ALT_DANCER = /datum/alt_title/dancer, JOB_ALT_SINGER = /datum/alt_title/singer, - JOB_ALT_MAGICIAN = /datum/alt_title/magician, JOB_ALT_COMEDIAN = /datum/alt_title/comedian, JOB_ALT_TRAGEDIAN = /datum/alt_title/tragedian, - JOB_CLOWN = /datum/alt_title/clown, JOB_ALT_JESTER = /datum/alt_title/clown/jester,JOB_ALT_FOOL = /datum/alt_title/clown/fool, - JOB_MIME= /datum/alt_title/mime,JOB_ALT_PASEUR= /datum/alt_title/mime/poseur, JOB_ALT_FITNESS_INSTRUCTOR = /datum/alt_title/fitness) //CHOMPEDIT: Adding clown + mime and their alts as alts of entertainer, as well as fitness instructor - -/datum/alt_title/fitness - title = JOB_ALT_FITNESS_INSTRUCTOR - title_blurb = "A " + JOB_ALT_FITNESS_INSTRUCTOR + "'s goal is to keep the station in shape. Get the crew shaving up those built up pounds and get them to eat something other than chocolate bars and burgers for once" - -//Below, well sort off, these are the clown and mime returning! as entertainer alts -//They even get their respective outfits. -/datum/alt_title/clown - title = JOB_CLOWN - title_blurb = "A " + JOB_CLOWN + " is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!" - title_outfit = /decl/hierarchy/outfit/job/clown - -/datum/alt_title/clown/jester - title = JOB_ALT_JESTER - -/datum/alt_title/clown/fool - title = JOB_ALT_FOOL - -/datum/alt_title/mime - title = JOB_MIME - title_blurb = "A " + JOB_MIME + " is there to entertain the crew and keep high morale using unbelievable performances and acting skills!" - title_outfit = /decl/hierarchy/outfit/job/mime - -/datum/alt_title/mime/poseur - title = JOB_ALT_PASEUR diff --git a/code/game/objects/effects/zz_triggers_ch.dm b/code/game/objects/effects/zz_triggers_ch.dm deleted file mode 100644 index 164936069a..0000000000 --- a/code/game/objects/effects/zz_triggers_ch.dm +++ /dev/null @@ -1,91 +0,0 @@ -/obj/effect/ctrigger - name = "Step Trigger" - icon = null - anchored = 1 - invisibility = INVISIBILITY_OBSERVER - density = 0 - var/list/potential_triggerers = list() //What can set off our trigger? - var/list/trig_target_paths = list() //What are the paths of whatever we want to call our proc on? - var/trig_target_trigger_uid //What is the trigger_uid of whatever we want to call our proc on? - var/trig_proc //What proc do we want to call? - var/list/trig_args = list() //What are the arguments for said proc? - var/trig_message //Should we send a message to the person who stepped here? - var/message_span_class = "notice" //If we're gonna send them a message, what span class to use? - var/trig_single_use = FALSE //Is this only a single use trigger, or can it be used multiple times? - var/has_been_used = FALSE //Has this trigger been set off yet? - var/list/trig_targets = list() //This is set automatically if the other target vars are set. - var/list/been_triggered_by = list() //Who has set this off so far? - var/trig_single_use_per_triggerer = FALSE //Do we want to make so each atom can only trigger this once? - var/trig_target_is_trigerrer = FALSE //Do we want to use the atom that trigerred us as the target? - -/obj/effect/ctrigger/proc/can_use_trigger(atom/movable/mover) - if(trig_single_use && has_been_used) - return FALSE - if(trig_single_use_per_triggerer && (mover in been_triggered_by)) - return FALSE - if(!potential_triggerers.len) - return TRUE - else - for(var/path in potential_triggerers) - if(istype(mover,text2path(trim(path)))) - return TRUE - else - continue - return FALSE - -/obj/effect/ctrigger/Crossed(atom/movable/mover) - . = ..() - if(can_use_trigger(mover)) - if(trig_proc) - if(trig_target_is_trigerrer) - trig_targets = list(mover) - if(trig_targets.len) - var/testname = trig_proc - //Find one of the 3 possible ways they could have written /proc/PROCNAME - if(findtext(trig_proc, "/proc/")) - testname = replacetext(trig_proc, "/proc/", "") - else if(findtext(trig_proc, "/proc")) - testname = replacetext(trig_proc, "/proc", "") - else if(findtext(trig_proc, "proc/")) - testname = replacetext(trig_proc, "proc/", "") - //Clear out any parenthesis if they're a dummy - testname = replacetext(testname, "()", "") - for(var/trig_target in trig_targets) - if(trig_target && !hascall(trig_target,testname)) - message_admins("TRIGGER ERROR: ONE OR MORE TRIGGER TARGETS LACKS THE MENTIONED PROC") - return - for(var/trig_target in trig_targets) - call(trig_target,testname)(arglist(trig_args)) - else - var/procpath = text2path(trig_proc) - if(!procpath) - message_admins("TRIGGER ERROR: INVALID PROC") - return - call(procpath)(arglist(trig_args)) - if(trig_message) - to_chat(mover,""+trig_message+"") - has_been_used = TRUE - been_triggered_by |= mover - else - return - -/obj/effect/ctrigger/proc/update_trig_targets() - trig_targets = list() - for(var/path in trig_target_paths) - var/trig_target_path = text2path(path) - if(trig_target_path && trig_target_trigger_uid) - var/list/candidates = get_all_of_type(trig_target_path) - for(var/candidate in candidates) - var/datum/cand_datum = candidate - if(istype(cand_datum)) - if(cand_datum.trigger_uid == trig_target_trigger_uid) - trig_targets += candidate - continue - continue - if(!trig_targets.len) - message_admins("TRIGGER ERROR: trig_targets STILL EMPTY AFTER CALLED update_trig_targets()") - -/obj/effect/ctrigger/Initialize(mapload) - . = ..() - if(trig_target_paths.len) - update_trig_targets() \ No newline at end of file diff --git a/code/game/objects/kasscbuttons_ch.dm b/code/game/objects/kasscbuttons_ch.dm deleted file mode 100644 index 9a84578cca..0000000000 --- a/code/game/objects/kasscbuttons_ch.dm +++ /dev/null @@ -1,231 +0,0 @@ -/obj/kbutton - name = "button" - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - desc = "A remote control switch for something." - anchored = 1.0 - var/nothing_sound_file //Sound to play when button fails to be pressed - var/nothing_sound_volume //Volume of sound when button fails to be pressed - var/pressed_sound_file = 'sound/machines/button.ogg'//Sound to play when button is successfully pressed - var/pressed_sound_volume = 100 //Volume of sound when button is successfully pressed - var/list/trig_target_paths = list() //What are the paths of whatever we want to call our proc on? - var/trig_target_trigger_uid //What is the trigger_uid of whatever we want to call our proc on? - var/trig_proc //What proc do we want to call? - var/list/trig_args = list() //What are the arguments for said proc? - var/trig_message = "You press the button" //Should we send a message to the person who pressed the button? - var/trig_message_span_class = "notice" //Span class used for pressed message, normal ones include notice, warning, and danger. - var/nothing_message = "Nothing happens." //Should we send a message if nothing happens when the button is pressed? - var/nothing_message_span_class = "warning" //Span class used for nothing message, normal ones include notice, warning, and danger. - var/list/trig_targets = list() - var/trig_target_is_trigerrer = FALSE //Should we use the button presser as the target? - -/obj/kbutton/attackby(obj/item/W, mob/user as mob) - return attack_hand(user) - -/obj/kbutton/attack_hand(mob/user as mob) - . = ..() - if(can_press(user)) - if(trig_target_is_trigerrer) - trig_targets = list(user) - button_trigger() - if(pressed_sound_file) - playsound(src, pressed_sound_file, pressed_sound_volume, 1) - if(trig_message) - to_chat(user,""+trig_message+"") - else - if(nothing_sound_file) - playsound(src, nothing_sound_file, nothing_sound_volume, 1) - if(nothing_message) - to_chat(user,""+nothing_message+"") - return - -/obj/kbutton/proc/button_trigger() - if(trig_proc) - if(trig_targets.len) - var/testname = trig_proc - //Find one of the 3 possible ways they could have written /proc/PROCNAME - if(findtext(trig_proc, "/proc/")) - testname = replacetext(trig_proc, "/proc/", "") - else if(findtext(trig_proc, "/proc")) - testname = replacetext(trig_proc, "/proc", "") - else if(findtext(trig_proc, "proc/")) - testname = replacetext(trig_proc, "proc/", "") - //Clear out any parenthesis if they're a dummy - testname = replacetext(testname, "()", "") - for(var/trig_target in trig_targets) - if(trig_target && !hascall(trig_target,testname)) - message_admins("TRIGGER ERROR: ONE OR MORE TRIGGER TARGETS LACKS THE MENTIONED PROC") - return - for(var/trig_target in trig_targets) - call(trig_target,testname)(arglist(trig_args)) - else - var/procpath = text2path(trig_proc) - if(!procpath) - message_admins("TRIGGER ERROR: INVALID PROC") - return - call(procpath)(arglist(trig_args)) - -/obj/kbutton/proc/can_press(mob/user) - return TRUE - -/obj/kbutton/proc/update_trig_targets() - trig_targets = list() - for(var/path in trig_target_paths) - var/trig_target_path = text2path(path) - if(trig_target_path && trig_target_trigger_uid) - var/list/candidates = get_all_of_type(trig_target_path) - for(var/candidate in candidates) - var/datum/cand_datum = candidate - if(istype(cand_datum)) - if(cand_datum.trigger_uid == trig_target_trigger_uid) - trig_targets += candidate - continue - continue - if(!trig_targets.len) - message_admins("TRIGGER ERROR: trig_targets STILL EMPTY AFTER CALLED update_trig_targets()") - -/obj/kbutton/Initialize(mapload) - . = ..() - update_trig_targets() - return - -/obj/kbutton/single_use - name = "single use button" - var/has_been_pressed = FALSE - -/obj/kbutton/single_use/button_trigger() - has_been_pressed = TRUE - ..() - -/obj/kbutton/single_use/can_press(mob/user) - return !has_been_pressed - -/obj/kbutton/single_use_per_mob - name = "button" - var/list/been_triggered_by = list() - -/obj/kbutton/single_use_per_mob/can_press(mob/user) - if(user in been_triggered_by) - return FALSE - else - been_triggered_by |= user - return TRUE - -/obj/kbutton/toggle - name = "toggle button" - var/toggled = FALSE - //For each of the following, each of the following variables will be used when switching to that state, - //and if it's set to null, it will use def(short for default) - var/trig_message_types = list(\ - "def" = "You toggle the button.", \ - "on" = null, \ - "off" = null) - var/nothing_message_types = list(\ - "def" = "Nothing happens.", \ - "on" = null, \ - "off" = null) - var/pressed_sound_file_types = list(\ - "def" = 'sound/machines/button.ogg', \ - "on" = null, \ - "off" = null) - var/pressed_sound_volume_types = list(\ - "def" = 100, \ - "on" = null, \ - "off" = null) - var/nothing_sound_file_types = list(\ - "def" = null, \ - "on" = null, \ - "off" = null) - var/nothing_sound_volume_types = list(\ - "def" = null, \ - "on" = null, \ - "off" = null) - var/icon_types = list(\ - "def" = 'icons/obj/objects.dmi', \ - "on" = null, \ - "off" = null) - var/icon_state_types = list(\ - "def" = "launcherbtt", \ - "on" = null, \ - "off" = null) - var/trig_proc_types = list(\ - "def" = null, \ - "on" = null, \ - "off" = null) - var/trig_args_types = list(\ - "def" = list(), \ - "on" = list(), \ - "off" = list()) - -/obj/kbutton/toggle/Initialize(mapload) - . = ..() - update_variables() - -/obj/kbutton/toggle/proc/update_variables() - var/index = toggled ? "on" : "off" - trig_message = trig_message_types[index] ? trig_message_types[index] : trig_message_types["def"] - nothing_message = nothing_message_types[index] ? nothing_message_types[index] : nothing_message_types["def"] - pressed_sound_file = pressed_sound_file_types[index] ? pressed_sound_file_types[index] : pressed_sound_file_types["def"] - pressed_sound_volume = pressed_sound_volume_types[index] ? pressed_sound_volume_types[index] : pressed_sound_volume_types["def"] - nothing_sound_file = nothing_sound_file_types[index] ? nothing_sound_file_types[index] : nothing_sound_file_types["def"] - nothing_sound_volume = nothing_sound_volume_types[index] ? nothing_sound_volume_types[index] : nothing_sound_volume_types["def"] - icon = icon_types[index] ? icon_types[index] : icon_types["def"] - icon_state = icon_state_types[index] ? icon_state_types[index] : icon_state_types["def"] - trig_proc = trig_proc_types[index] ? trig_proc_types[index] : trig_proc_types["def"] - var/list/trig_arg_type = trig_args_types[index] - trig_args = (istype(trig_arg_type) && trig_arg_type.len) ? trig_args_types[index] : trig_args_types["def"] - -/obj/kbutton/toggle/button_trigger() - toggled = !toggled - update_variables() - ..() -//An example button which opens and closes a closet. -/obj/kbutton/toggle/example - var/press_wait_time = 25 - var/last_pressed = 0 - - trig_target_paths = list("/obj/structure/closet") - trig_target_trigger_uid = 97482 - - trig_message_types = list(\ - "def" = "You toggle the button.", \ - "on" = "You switch the button on.", \ - "off" = "You switch the button off.") - nothing_message_types = list(\ - "def" = "Nothing happens.", \ - "on" = "You fail to switch the button off.", \ - "off" = "You fail to switch the button on.") - pressed_sound_file_types = list(\ - "def" = 'sound/machines/button.ogg', \ - "on" = 'sound/machines/chime.ogg', \ - "off" = 'sound/machines/buttonbeep.ogg') - pressed_sound_volume_types = list(\ - "def" = 80, \ - "on" = 80, \ - "off" = 80) - nothing_sound_file_types = list(\ - "def" = 'sound/machines/buzz-sigh.ogg', \ - "on" = 'sound/machines/buzz-sigh.ogg', \ - "off" = 'sound/machines/buzz-two.ogg') - nothing_sound_volume_types = list(\ - "def" = 100, \ - "on" = 100, \ - "off" = 100) - icon_state_types = list(\ - "def" = "launcherbtt", \ - "on" = "launcheract", \ - "off" = "launcherbtt") - trig_proc_types = list(\ - "def" = "close", \ - "on" = "open", \ - "off" = "close") - -/obj/kbutton/toggle/example/can_press(mob/user) - if(world.time > last_pressed + press_wait_time) - last_pressed = world.time - return TRUE - else - return FALSE -//Corresponding closet for example button -/obj/structure/closet/button_example - trigger_uid = 97482 diff --git a/modular_chomp/code/game/jobs/job/entertainer_alts.dm b/modular_chomp/code/game/jobs/job/entertainer_alts.dm new file mode 100644 index 0000000000..7e7e6ea089 --- /dev/null +++ b/modular_chomp/code/game/jobs/job/entertainer_alts.dm @@ -0,0 +1,20 @@ +//Below, well sort off, these are the clown and mime returning! as entertainer alts +//They even get their respective outfits. +/datum/alt_title/clown + title = JOB_CLOWN + title_blurb = "A " + JOB_CLOWN + " is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!" + title_outfit = /decl/hierarchy/outfit/job/clown + +/datum/alt_title/clown/jester + title = JOB_ALT_JESTER + +/datum/alt_title/clown/fool + title = JOB_ALT_FOOL + +/datum/alt_title/mime + title = JOB_MIME + title_blurb = "A " + JOB_MIME + " is there to entertain the crew and keep high morale using unbelievable performances and acting skills!" + title_outfit = /decl/hierarchy/outfit/job/mime + +/datum/alt_title/mime/poseur + title = JOB_ALT_PASEUR diff --git a/code/modules/mob/living/silicon/robot/drone/zzz_unify_drone.dm b/modular_chomp/code/modules/mob/living/silicon/drone/unify_drone.dm similarity index 98% rename from code/modules/mob/living/silicon/robot/drone/zzz_unify_drone.dm rename to modular_chomp/code/modules/mob/living/silicon/drone/unify_drone.dm index 3ba5bb6ed1..e7d81c1274 100644 --- a/code/modules/mob/living/silicon/robot/drone/zzz_unify_drone.dm +++ b/modular_chomp/code/modules/mob/living/silicon/drone/unify_drone.dm @@ -61,4 +61,4 @@ /mob/living/silicon/robot/drone/min name = "mining drone" - law_type = /datum/ai_laws/mining_drone \ No newline at end of file + law_type = /datum/ai_laws/mining_drone diff --git a/code/game/objects/effects/zz_portals_ch.dm b/modular_chomp/game/effects/simple_portals.dm similarity index 89% rename from code/game/objects/effects/zz_portals_ch.dm rename to modular_chomp/game/effects/simple_portals.dm index 809d63a1fa..cbda18e22c 100644 --- a/code/game/objects/effects/zz_portals_ch.dm +++ b/modular_chomp/game/effects/simple_portals.dm @@ -1,3 +1,5 @@ +GLOBAL_LIST_EMPTY(simple_portals) + /obj/effect/simple_portal name = "Portal" desc = "It looks like a portal that leads to somewhere, although you can't quite see through it." @@ -9,6 +11,20 @@ var/atom/destination var/teleport_sound = 'sound/effects/portal_effect.ogg' +/obj/effect/simple_portal/Initialize(mapload) + ..() + GLOB.simple_portals += src + return INITIALIZE_HINT_LATELOAD + +/obj/effect/simple_portal/linked/LateInitialize() + . = ..() + if(portal_id) + link_portal() + +/obj/effect/simple_portal/Destroy() + . = ..() + GLOB.simple_portals -= src + /obj/effect/simple_portal/Bumped(atom/movable/AM) . = ..() handle_teleport(AM) @@ -43,7 +59,7 @@ icon_state = "portal1" var/obj/effect/simple_portal/linked/linked_portal var/portal_id - + /obj/effect/simple_portal/linked/handle_teleport(atom/movable/AM) destination = null update_icon() @@ -69,7 +85,7 @@ if(valid_destination(destination)) break . = ..() - + /obj/effect/simple_portal/linked/proc/valid_destination(var/turf/dest,var/atom/movable/AM) if(!dest) return FALSE @@ -98,8 +114,7 @@ /obj/effect/simple_portal/linked/proc/link_portal() if(!portal_id) return "SET PORTAL ID FIRST" - var/list/candidates = get_all_of_type(/obj/effect/simple_portal/linked) - for(var/obj/effect/simple_portal/linked/candidate in candidates) + for(var/obj/effect/simple_portal/linked/candidate in GLOB.simple_portals) if(istype(candidate) && portal_id == candidate.portal_id && candidate != src) linked_portal = candidate break @@ -110,8 +125,3 @@ icon_state = "portal" else icon_state = "portal1" - -/obj/effect/simple_portal/linked/Initialize() - . = ..() - if(portal_id) - link_portal() \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index 5ca4619971..d374ca4b7e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1005,7 +1005,6 @@ #include "code\game\jobs\job\security.dm" #include "code\game\jobs\job\silicon.dm" #include "code\game\jobs\job\special.dm" -#include "code\game\jobs\job\zz_alt_titles_ch.dm" #include "code\game\machinery\adv_med.dm" #include "code\game\machinery\adv_med_vr.dm" #include "code\game\machinery\ai_slipper.dm" @@ -1305,7 +1304,6 @@ #include "code\game\objects\explosion_recursive.dm" #include "code\game\objects\items.dm" #include "code\game\objects\items_vr.dm" -#include "code\game\objects\kasscbuttons_ch.dm" #include "code\game\objects\mail.dm" #include "code\game\objects\micro_event.dm" #include "code\game\objects\micro_structures.dm" @@ -1343,8 +1341,6 @@ #include "code\game\objects\effects\step_triggers.dm" #include "code\game\objects\effects\wire_deleter.dm" #include "code\game\objects\effects\zone_divider.dm" -#include "code\game\objects\effects\zz_portals_ch.dm" -#include "code\game\objects\effects\zz_triggers_ch.dm" #include "code\game\objects\effects\alien\aliens.dm" #include "code\game\objects\effects\chem\chemsmoke.dm" #include "code\game\objects\effects\chem\coating.dm" @@ -3417,7 +3413,6 @@ #include "code\modules\mob\living\silicon\robot\drone\swarm.dm" #include "code\modules\mob\living\silicon\robot\drone\swarm_abilities.dm" #include "code\modules\mob\living\silicon\robot\drone\swarm_items.dm" -#include "code\modules\mob\living\silicon\robot\drone\zzz_unify_drone.dm" #include "code\modules\mob\living\silicon\robot\robot_modules\__Widerobot_Misc_Tools_ch.dm" #include "code\modules\mob\living\silicon\robot\robot_modules\event.dm" #include "code\modules\mob\living\silicon\robot\robot_modules\station.dm" @@ -4808,6 +4803,7 @@ #include "modular_chomp\code\game\jobs\job\captain.dm" #include "modular_chomp\code\game\jobs\job\department.dm" #include "modular_chomp\code\game\jobs\job\engineering.dm" +#include "modular_chomp\code\game\jobs\job\entertainer_alts.dm" #include "modular_chomp\code\game\jobs\job\medical.dm" #include "modular_chomp\code\game\jobs\job\noncrew.dm" #include "modular_chomp\code\game\jobs\job\security.dm" @@ -4978,6 +4974,7 @@ #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\positive.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\trait_mods.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\xenomorph_hybrid_trait.dm" +#include "modular_chomp\code\modules\mob\living\silicon\drone\unify_drone.dm" #include "modular_chomp\code\modules\mob\living\silicon\robot\robot.dm" #include "modular_chomp\code\modules\mob\living\silicon\robot\robot_movement.dm" #include "modular_chomp\code\modules\mob\living\simple_animal\aliens\synx.dm" @@ -5135,6 +5132,7 @@ #include "modular_chomp\code\ZAS\Fire.dm" #include "modular_chomp\code\ZAS\Fire_acts.dm" #include "modular_chomp\datums\tgs_event_handler.dm" +#include "modular_chomp\game\effects\simple_portals.dm" #include "modular_chomp\game\effects\spawner.dm" #include "modular_chomp\game\machinery\bluespace_denier.dm" #include "modular_chomp\game\machinery\buttons.dm"