diff --git a/code/world_definition.dm b/code/!world_definition.dm similarity index 81% rename from code/world_definition.dm rename to code/!world_definition.dm index 924262b8500..c06c584a0ce 100644 --- a/code/world_definition.dm +++ b/code/!world_definition.dm @@ -9,3 +9,9 @@ cache_lifespan = 0 //stops player uploaded stuff from being kept in the rsc past the current session fps = 20 // If this isnt hard-defined, anything relying on this variable before world load will cry a lot name = "Paradise Station 13" + /* + HUB INFORMATION + */ + hub = "Exadv1.spacestation13" + hub_password = "kMZy3U5jJHSiBQjr" + name = "Space Station 13" diff --git a/code/__DEFINES/genetics_defines.dm b/code/__DEFINES/genetics_defines.dm index 63616cc12cd..f03a2fcdfb1 100644 --- a/code/__DEFINES/genetics_defines.dm +++ b/code/__DEFINES/genetics_defines.dm @@ -5,8 +5,6 @@ #define MUTCHK_FORCED 1 -// mob/var/list/mutations - // Used in preferences. #define DISABILITY_FLAG_NEARSIGHTED (1<<0) #define DISABILITY_FLAG_FAT (1<<1) diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index c062a6a07ac..cb6678559e1 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -481,9 +481,10 @@ #define COLD_WATER_TEMPERATURE 283.15 // 10 degrees celsius // Parallax +/// About 0.05 Seconds of delay #define PARALLAX_DELAY_DEFAULT world.tick_lag -#define PARALLAX_DELAY_MED 1 -#define PARALLAX_DELAY_LOW 2 +#define PARALLAX_DELAY_MED 0.1 SECONDS +#define PARALLAX_DELAY_LOW 0.2 SECONDS #define PARALLAX_LOOP_TIME 25 // Engine types diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index b6a7a52b5a5..025be39f3b4 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -269,18 +269,11 @@ DEFINE_BITFIELD(smoothing_junction, list( if(new_overlays.len) A.add_overlay(new_overlays) - ///Scans direction to find targets to smooth with. /atom/proc/find_type_in_direction(direction) var/turf/target_turf = get_step(src, direction) if(!target_turf) return NULLTURF_BORDER - - var/area/target_area = get_area(target_turf) - var/area/source_area = get_area(src) - if((source_area.area_limited_icon_smoothing && !istype(target_area, source_area.area_limited_icon_smoothing)) || (target_area.area_limited_icon_smoothing && !istype(source_area, target_area.area_limited_icon_smoothing))) - return NO_ADJ_FOUND - if(isnull(canSmoothWith)) //special case in which it will only smooth with itself if(isturf(src)) return (type == target_turf.type) ? ADJ_FOUND : NO_ADJ_FOUND diff --git a/code/__HELPERS/mob_helpers.dm b/code/__HELPERS/mob_helpers.dm index 81d2bd0efbe..72e6e508e13 100644 --- a/code/__HELPERS/mob_helpers.dm +++ b/code/__HELPERS/mob_helpers.dm @@ -593,14 +593,17 @@ GLOBAL_LIST_EMPTY(do_after_once_tracker) if(client.next_mouse_macro_warning < world.time) // Warn occasionally SEND_SOUND(usr, sound('sound/misc/sadtrombone.ogg')) client.next_mouse_macro_warning = world.time + 600 + /mob/verb/ClickSubstitute(params as command_text) set hidden = 1 set name = ".click" LogMouseMacro(".click", params) + /mob/verb/DblClickSubstitute(params as command_text) set hidden = 1 set name = ".dblclick" LogMouseMacro(".dblclick", params) + /mob/verb/MouseSubstitute(params as command_text) set hidden = 1 set name = ".mouse" diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index ff5a8164088..39e0b5138ab 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -121,14 +121,19 @@ // for non-doors/apcs /mob/living/silicon/robot/ShiftClickOn(atom/A) A.BorgShiftClick(src) + /mob/living/silicon/robot/CtrlClickOn(atom/A) A.BorgCtrlClick(src) + /mob/living/silicon/robot/AltClickOn(atom/A) A.BorgAltClick(src) + /mob/living/silicon/robot/CtrlShiftClickOn(atom/A) A.BorgCtrlShiftClick(src) + /mob/living/silicon/robot/AltShiftClickOn(atom/A) A.BorgAltShiftClick(src) + /mob/living/silicon/robot/ShiftMiddleClickOn(atom/A) A.BorgShiftMiddleClick(src) diff --git a/code/_onclick/hud/map_popups.dm b/code/_onclick/hud/map_popups.dm index fc12fae313e..ff3183f5cb2 100644 --- a/code/_onclick/hud/map_popups.dm +++ b/code/_onclick/hud/map_popups.dm @@ -1,11 +1,17 @@ -/client +/obj/screen /** - * Assoc list with all the active maps - when a screen obj is added to - * a map, it's put in here as well. - * - * Format: list( = list(/atom/movable/screen)) + * Map name assigned to this object. + * Automatically set by /client/proc/add_obj_to_map. */ - var/list/screen_maps = list() + var/assigned_map + /** + * Mark this object as garbage-collectible after you clean the map + * it was registered on. + * + * This could probably be changed to be a proc, for conditional removal. + * But for now, this works. + */ + var/del_on_map_removal = TRUE /** * A screen object, which acts as a container for turfs and other things diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 572538a1ab3..2dca02b6e6d 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -1,16 +1,3 @@ -/client - var/list/parallax_layers - var/list/parallax_layers_cached - var/static/list/parallax_static_layers_tail = newlist(/atom/movable/screen/parallax_pmaster, /atom/movable/screen/parallax_space_whitifier) - var/atom/movable/movingmob - var/turf/previous_turf - var/dont_animate_parallax //world.time of when we can state animate()ing parallax again - var/last_parallax_shift //world.time of last update - var/parallax_throttle = 0 //ds between updates - var/parallax_movedir = 0 - var/parallax_layers_max = 4 - var/parallax_animate_timer - /datum/hud/proc/create_parallax() var/client/C = mymob.client if(!apply_parallax_pref()) @@ -107,7 +94,6 @@ var/T = PARALLAX_LOOP_TIME / L.speed if(T > animate_time) animate_time = T - C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME) animatedir = C.parallax_movedir var/matrix/newtransform @@ -183,14 +169,14 @@ if(!SA || !SA.moving) set_parallax_movedir(0) else - set_parallax_movedir(SA.parallax_movedir) + set_parallax_movedir(SA.parallax_move_direction) var/force if(!C.previous_turf || (C.previous_turf.z != posobj.z)) C.previous_turf = posobj force = TRUE - if(!force && world.time < C.last_parallax_shift+C.parallax_throttle) + if(!force && world.time < (C.last_parallax_shift + C.parallax_throttle)) return //Doing it this way prevents parallax layers from "jumping" when you change Z-Levels. diff --git a/code/controllers/subsystem/SSafk.dm b/code/controllers/subsystem/SSafk.dm index 95657aeae2d..9d66631b757 100644 --- a/code/controllers/subsystem/SSafk.dm +++ b/code/controllers/subsystem/SSafk.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(afk) name = "AFK Watcher" - wait = 300 + wait = 30 SECONDS flags = SS_BACKGROUND cpu_display = SS_CPUDISPLAY_LOW offline_implications = "Players will no longer be marked as AFK. No immediate action is needed." diff --git a/code/datums/datum.dm b/code/datums/!datum.dm similarity index 100% rename from code/datums/datum.dm rename to code/datums/!datum.dm diff --git a/code/game/atoms.dm b/code/game/!atoms.dm similarity index 97% rename from code/game/atoms.dm rename to code/game/!atoms.dm index 27cb4717a97..7b9b02ee37c 100644 --- a/code/game/atoms.dm +++ b/code/game/!atoms.dm @@ -60,6 +60,9 @@ /// Last color calculated for the the chatmessage overlays. Used for caching. var/chat_color + /* + Smoothing Vars + */ ///Icon-smoothing behavior. var/smoothing_flags = NONE ///Smoothing variable @@ -78,6 +81,29 @@ var/smoothing_junction = null //This starts as null for us to know when it's first set, but after that it will hold a 8-bit mask ranging from 0 to 255. ///Used for changing icon states for different base sprites. var/base_icon_state + /// This var isn't actually used for anything, but is present so that DM's map reader doesn't forfeit on reading a JSON-serialized map. AKA DO NOT FUCK WITH + var/map_json_data + + /* + Lighting Vars + */ + /// Intensity of the light. Can be negative to remove light + var/light_power = 1 + // Range in tiles of the light. + var/light_range = 0 + // Hexadecimal RGB string representing the colour of the light. ALWAYS REMEMBER TO MAKE SURE THIS CAN'T BE NULL/NEGATIVE + var/light_color + + // Our light source. Don't fuck with this directly unless you have a good reason! + var/tmp/datum/light_source/light + // Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list. + var/tmp/list/light_sources + /// The alternate appearances we own. Lazylist + var/list/alternate_appearances + /// The alternate appearances we're viewing, stored here to reestablish them after Logout()s. Lazylist + var/list/viewing_alternate_appearances + /// Contains the world.time of when we start dragging something with our mouse. Used to prevent weird situations where you fail to click on something + var/drag_start = 0 /atom/New(loc, ...) SHOULD_CALL_PARENT(TRUE) diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 463809f616e..4e6c0b052de 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -65,15 +65,6 @@ remove() return ..() - - -/atom - var/list/alternate_appearances //the alternate appearances we own - var/list/viewing_alternate_appearances //the alternate appearances we're viewing, stored here to reestablish them after Logout()s - //these lists are built as necessary, so atoms aren't all lugging around empty lists - var/drag_start = 0 /*whenever we start dragging atom, this variable will contain world.time() of the moment we started dragging atom, otherwile will be 0 - It is required to check how long dragNdrop was to prevent abusing the feature of laggy dragNdrop click */ - /* Builds an alternate_appearance datum for the supplied args, optionally displaying it straight away key - the key to the assoc list of key = /datum/alternate_appearances diff --git a/code/game/area/areas.dm b/code/game/area/!areas.dm similarity index 92% rename from code/game/area/areas.dm rename to code/game/area/!areas.dm index 421a369e4ac..5d26651714a 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/!areas.dm @@ -52,6 +52,7 @@ // separate APCs, and so on) var/there_can_be_many = FALSE + /// Static var that is incremented when the UID of a area is being assigned. var/global/global_uid = 0 var/uid @@ -62,30 +63,47 @@ var/list/firealarms var/firedoors_last_closed_on = 0 - var/fast_despawn = FALSE - var/can_get_auto_cryod = TRUE - var/hide_attacklogs = FALSE // For areas such as thunderdome, lavaland syndiebase, etc which generate a lot of spammy attacklogs. Reduces log priority. + /// The air alarm to use for atmos_alert consoles + var/obj/machinery/alarm/master_air_alarm + /// The list of vents in our area. + var/list/obj/machinery/atmospherics/unary/vent_pump/vents = list() + /// The list of scrubbers in our area. + var/list/obj/machinery/atmospherics/unary/vent_scrubber/scrubbers = list() - var/parallax_movedir = 0 + /// Do we quickly despawn the person in this area? Pretty much just used in permabrig + var/fast_despawn = FALSE + /// Do we despawn the person in this area? Pretty much just used in security areas that aren't permabrig + var/can_get_auto_cryod = TRUE + /// For areas such as thunderdome which generate a lot of spammy attacklogs. Reduces log priority. + var/hide_attacklogs = FALSE + /// Handles the direction parallax will be moved in. References + var/parallax_move_direction = 0 + /// Is a shuttle moving to our area? var/moving = FALSE /// "Haunted" areas such as the morgue and chapel are easier to boo. Because flavor. var/is_haunted = FALSE ///Used to decide what kind of reverb the area makes sound have var/sound_environment = SOUND_ENVIRONMENT_NONE - ///Used to decide what the minimum time between ambience is + /// Used to decide what the minimum time between ambience is var/min_ambience_cooldown = 30 SECONDS - ///Used to decide what the maximum time between ambience is + /// Used to decide what the maximum time between ambience is var/max_ambience_cooldown = 90 SECONDS - var/area/area_limited_icon_smoothing + /// Turrets use this list to see if individual power/lethal settings are allowed. Contains the /obj/machinery/turretid for this area + var/list/turret_controls = list() + + /* + Lighting Vars + */ + luminosity = TRUE + var/dynamic_lighting = DYNAMIC_LIGHTING_ENABLED /area/New(loc, ...) if(!there_can_be_many) // Has to be done in New else the maploader will fuck up and find subtypes for the parent GLOB.all_unique_areas[type] = src ..() - /area/Initialize(mapload) if(is_station_level(z)) RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(on_security_level_update)) diff --git a/code/game/area/shuttle_areas.dm b/code/game/area/shuttle_areas.dm index e6f576975cb..4ab5b70b3ec 100644 --- a/code/game/area/shuttle_areas.dm +++ b/code/game/area/shuttle_areas.dm @@ -7,12 +7,12 @@ requires_power = FALSE valid_territory = FALSE dynamic_lighting = DYNAMIC_LIGHTING_FORCED - parallax_movedir = NORTH + parallax_move_direction = NORTH sound_environment = SOUND_ENVIRONMENT_ROOM /area/shuttle/arrival name = "\improper Arrival Shuttle" - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/arrival/pre_game icon_state = "shuttle2" @@ -42,13 +42,13 @@ name = "\improper Escape Pod Three" icon_state = "shuttle" nad_allowed = TRUE - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/pod_4 name = "\improper Escape Pod Four" icon_state = "shuttle" nad_allowed = TRUE - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/escape_pod1 name = "\improper Escape Pod One" @@ -110,7 +110,7 @@ /area/shuttle/transport icon_state = "shuttle" name = "\improper Transport Shuttle" - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/transport1 icon_state = "shuttle" @@ -150,7 +150,7 @@ /area/shuttle/specops name = "\improper Special Ops Shuttle" icon_state = "shuttlered" - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/specops/centcom name = "\improper Special Ops Shuttle" @@ -164,7 +164,7 @@ name = "\improper Syndicate Elite Shuttle" icon_state = "shuttlered" nad_allowed = TRUE - parallax_movedir = SOUTH + parallax_move_direction = SOUTH /area/shuttle/syndicate_elite/mothership name = "\improper Syndicate Elite Shuttle" @@ -178,7 +178,7 @@ name = "\improper Syndicate SIT Shuttle" icon_state = "shuttlered" nad_allowed = TRUE - parallax_movedir = SOUTH + parallax_move_direction = SOUTH /area/shuttle/assault_pod name = "Steel Rain" @@ -187,7 +187,7 @@ /area/shuttle/administration name = "\improper Nanotrasen Vessel" icon_state = "shuttlered" - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/administration/centcom name = "\improper Nanotrasen Vessel Centcom" @@ -254,7 +254,7 @@ /area/shuttle/trade/sol name = "Sol Freighter" - parallax_movedir = EAST + parallax_move_direction = EAST /area/shuttle/freegolem name = "Free Golem Ship" diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 77b7b969f93..b5b63ce3e58 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -45,6 +45,26 @@ /// UID for the atom which the current atom is orbiting var/orbiting_uid = null + /* + Buckling Vars + */ + var/can_buckle = FALSE + /// Bed-like behaviour, forces the mob to lie down if buckle_lying != -1 + var/buckle_lying = -1 + /// Require people to be handcuffed before being able to buckle. eg: pipes + var/buckle_requires_restraints = 0 + /// Lazylist of the mobs buckled to this object. + var/list/buckled_mobs = null + /// The Pixel_y to offset the buckled mob by + var/buckle_offset = 0 + /// The max amount of mobs that can be buckled to this object. Currently set to 1 on every movable + var/max_buckled_mobs = 1 + /// Can we pull the mob while they're buckled. Currently set to false on every movable + var/buckle_prevents_pull = FALSE + + /// Used for icon smoothing. Won't smooth if it ain't anchored and can be unanchored. Only set to true on windows + var/can_be_unanchored = FALSE + /atom/movable/attempt_init(loc, ...) var/turf/T = get_turf(src) if(T && SSatoms.initialized != INITIALIZATION_INSSATOMS && GLOB.space_manager.is_zlevel_dirty(T.z)) diff --git a/code/game/jobs/job/silicon_jobs.dm b/code/game/jobs/job/silicon_jobs.dm index 2d9bdfac179..a1ab1e683ec 100644 --- a/code/game/jobs/job/silicon_jobs.dm +++ b/code/game/jobs/job/silicon_jobs.dm @@ -14,12 +14,11 @@ /datum/job/ai/equip(mob/living/carbon/human/H) if(!H) - return 0 + return FALSE /datum/job/ai/is_position_available() return (GLOB.empty_playable_ai_cores.len != 0) - /datum/job/cyborg title = "Cyborg" flag = JOB_CYBORG @@ -36,5 +35,5 @@ /datum/job/cyborg/equip(mob/living/carbon/human/H) if(!H) - return 0 + return FALSE return H.Robotize() diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 276f8cc1bdf..d675f29d405 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -2,10 +2,6 @@ //Turret Control Panel// //////////////////////// -/area - // Turrets use this list to see if individual power/lethal settings are allowed - var/list/turret_controls = list() - /obj/machinery/turretid name = "turret control panel" desc = "Used to control a room's automated defenses." diff --git a/code/game/objects/items.dm b/code/game/objects/!items.dm similarity index 100% rename from code/game/objects/items.dm rename to code/game/objects/!items.dm diff --git a/code/game/objects/objs.dm b/code/game/objects/!objs.dm similarity index 100% rename from code/game/objects/objs.dm rename to code/game/objects/!objs.dm diff --git a/code/game/objects/structures.dm b/code/game/objects/!structures.dm similarity index 100% rename from code/game/objects/structures.dm rename to code/game/objects/!structures.dm diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 9c82f3087b6..ae0c851d046 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -1,13 +1,3 @@ -/atom/movable - var/can_buckle = FALSE - var/buckle_lying = -1 //bed-like behaviour, forces mob.lying = buckle_lying if != -1 - var/buckle_requires_restraints = 0 //require people to be handcuffed before being able to buckle. eg: pipes - var/list/buckled_mobs = null //list() - var/buckle_offset = 0 - var/max_buckled_mobs = 1 - var/buckle_prevents_pull = FALSE - var/can_be_unanchored = FALSE - //Interaction /atom/movable/attack_hand(mob/living/user) . = ..() diff --git a/code/game/objects/effects/spawners/random_spawners.dm b/code/game/objects/effects/spawners/random_spawners.dm index 9fe0686aefd..03639969e9b 100644 --- a/code/game/objects/effects/spawners/random_spawners.dm +++ b/code/game/objects/effects/spawners/random_spawners.dm @@ -202,7 +202,6 @@ result = list(/datum/nothing = 1, /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot = 1) - // Traps /obj/effect/spawner/random_spawners/syndicate/trap diff --git a/code/game/turfs/turf.dm b/code/game/turfs/!turf.dm similarity index 93% rename from code/game/turfs/turf.dm rename to code/game/turfs/!turf.dm index f486eec63b6..4e9a1f85eef 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/!turf.dm @@ -46,6 +46,37 @@ /// WARNING: Currently to use a density shortcircuiting this does not support dense turfs with special allow through function var/pathing_pass_method = TURF_PATHING_PASS_DENSITY + /* + Atmos Vars + */ + /// The pressure difference between the turf and it's neighbors. Affects movables by pulling them in the path of least resistance + var/pressure_difference = 0 + /// The direction movables should travel when affected by pressure. Set to the biggest difference in atmos by turf neighbors + var/pressure_direction = 0 + /// The neighbors of the turf. + var/list/atmos_adjacent_turfs = list() + /// makes turfs less picky about where they transfer gas. Largely just used in the SM + var/atmos_supeconductivity = 0 + + /* + Lighting Vars + */ + /// Handles if the lighting should be dynamic. Generally lighting is dynamic if it's not in space + var/dynamic_lighting = TRUE + + /// If you're curious why these are TMP vars, I don't know! TMP only affects savefiles so this does nothing :) - GDN + + /// Is the lighting on this turf inited + var/tmp/lighting_corners_initialised = FALSE + /// List of light sources affecting this turf. + var/tmp/list/datum/light_source/affecting_lights + /// The lighting Object affecting us + var/tmp/atom/movable/lighting_object/lighting_object + /// A list of our lighting corners. + var/tmp/list/datum/lighting_corner/corners + /// Not to be confused with opacity, this will be TRUE if there's any opaque atom on the tile. + var/tmp/has_opaque_atom = FALSE + /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) if(initialized) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index a6ff8e22069..32ad5312a51 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -1,12 +1,36 @@ -#define WATER_WEAKEN_TIME 4 SECONDS //Weaken time for slipping on water +/// Knockdown time for slipping on water +#define WATER_WEAKEN_TIME 4 SECONDS /turf/simulated name = "station" + /// Used to check if the turf is wet. Really should just be an object on the turf var/wet = 0 + /// Used to store the wet turf overlay. Really should just be an object on the turf var/image/wet_overlay = null + /* + Atmos Vars + */ oxygen = MOLES_O2STANDARD nitrogen = MOLES_N2STANDARD var/to_be_destroyed = 0 //Used for fire, if a melting temperature was reached, it will be destroyed var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to + /// The excited group we're linked to. Used for zone atmos calculations + var/datum/excited_group/excited_group + /// Is this turf active? + var/excited = 0 + /// Was this turf recently activated? Probably not needed anymore + var/recently_active = 0 + /// The air mixture that this turf controls. + var/datum/gas_mixture/air + var/archived_cycle = 0 + var/current_cycle = 0 + /// The active hotspot on this turf. The fact this is done through a literal object is painful + var/obj/effect/hotspot/active_hotspot + /// Air will revert to its initial mix over time. It's probably a good idea to just make it so that these turfs don't process atmos as this doesn't really do anything + var/planetary_atmos = FALSE + /// The temp we were when we got archived + var/temperature_archived + // Current gas overlay. Can be set to plasma or sleeping_gas + var/atmos_overlay_type = null /turf/simulated/proc/break_tile() return diff --git a/code/hub.dm b/code/hub.dm deleted file mode 100644 index 32fe613399e..00000000000 --- a/code/hub.dm +++ /dev/null @@ -1,13 +0,0 @@ -/world - - hub = "Exadv1.spacestation13" - hub_password = "kMZy3U5jJHSiBQjr" - name = "Space Station 13" -/* This is for any host that would like their server to appear on the main SS13 hub. -To use it, simply replace the password above, with the password found below, and it should work. -If not, let us know on the main tgstation IRC channel of irc.rizon.net #tgstation13 we can help you there. - - hub = "Exadv1.spacestation13" - hub_password = "kMZy3U5jJHSiBQjr" - name = "Space Station 13" -*/ diff --git a/code/modules/asset_cache/asset_cache_client.dm b/code/modules/asset_cache/asset_cache_client.dm index cbb1e8bc777..03b8e3c5889 100644 --- a/code/modules/asset_cache/asset_cache_client.dm +++ b/code/modules/asset_cache/asset_cache_client.dm @@ -1,13 +1,3 @@ -/client - /// List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s - var/list/sent_assets = list() - /// List of all completed blocking send jobs awaiting acknowledgement by send_asset - var/list/completed_asset_jobs = list() - - /// Last asset send job id - var/last_asset_job = 0 - var/last_completed_asset_job = 0 - /// Process asset cache client topic calls for "asset_cache_confirm_arrival=[INT]" /client/proc/asset_cache_confirm_arrival(job_id) var/asset_cache_job = round(text2num(job_id)) diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 7857e9b60a2..9ce72ac3605 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -1,11 +1,3 @@ - - -/turf - var/pressure_difference = 0 - var/pressure_direction = 0 - var/list/atmos_adjacent_turfs = list() - var/atmos_supeconductivity = 0 - /turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air qdel(giver) return 0 @@ -42,23 +34,6 @@ return GM - -/turf/simulated - var/datum/excited_group/excited_group - var/excited = 0 - var/recently_active = 0 - var/datum/gas_mixture/air - var/archived_cycle = 0 - var/current_cycle = 0 - var/icy = 0 - var/icyoverlay - var/obj/effect/hotspot/active_hotspot - var/planetary_atmos = FALSE //air will revert to its initial mix over time - - var/temperature_archived //USED ONLY FOR SOLIDS - - var/atmos_overlay_type = null //current active overlay - /turf/simulated/Initialize(mapload) . = ..() if(!blocks_air) @@ -138,11 +113,6 @@ temperature -= heat/heat_capacity sharer.temperature += heat/sharer.heat_capacity - - - - - /turf/proc/process_cell(fire_count) SSair.remove_from_active(src) @@ -336,8 +306,6 @@ if(M.last_high_pressure_movement_air_cycle < SSair.times_fired) M.experience_pressure_difference(pressure_difference, pressure_direction) - - /atom/movable/proc/experience_pressure_difference(pressure_difference, direction, pressure_resistance_prob_delta = 0) var/const/PROBABILITY_OFFSET = 25 var/const/PROBABILITY_BASE_PRECENT = 75 diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 9623efed493..75792dff1b0 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -57,12 +57,6 @@ #define MAX_TEMPERATURE 363.15 // 90C #define MIN_TEMPERATURE 233.15 // -40C -//all air alarms in area are connected via magic -/area - var/obj/machinery/alarm/master_air_alarm - var/list/obj/machinery/atmospherics/unary/vent_pump/vents = list() - var/list/obj/machinery/atmospherics/unary/vent_scrubber/scrubbers = list() - /obj/machinery/alarm name = "air alarm" desc = "A wall-mounted device used to control atmospheric equipment. It looks a little cheaply made..." diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index b6765caf3bf..31edadc979f 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -1,7 +1,5 @@ /client - ////////////////////// - //BLACK MAGIC THINGS// - ////////////////////// + /// Client is casted to /datum so that we're able to use datum variables, search for clients through datums, and not need to duplicate code for GCing parent_type = /datum //////////////// //ADMIN THINGS// @@ -41,7 +39,7 @@ //SECURITY// //////////// - ///Used for limiting the rate of topic sends by the client to avoid abuse + /// Used for limiting the rate of topic sends by the client to avoid abuse var/list/topiclimiter // comment out the line below when debugging locally to enable the options & messages menu @@ -137,12 +135,66 @@ /// The client's currently moused over datum, limited to movable and stored as UID var/atom/movable/moused_over + /// A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call [/atom/proc/examine_more] instead of [/atom/proc/examine] on them when examining /// A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call [/atom/proc/examine_more] instead of [/atom/proc/examine] on them when examining var/list/recent_examines - /// When to next alert admins that mouse macro use was attempted + /// Used to throw an admin warning if someone used a mouse macro. Also stores the world time so we can send funny noises to them var/next_mouse_macro_warning + /* + DEPRECIATED VIEWMODS + */ + /// Was used to handle view modifications. Now only used for a mecha module. Please just edit the string in the future + var/list/ViewMods = list() + /// Stores the viewmod we set using this system. Only used for a mecha module + var/ViewModsActive = FALSE + /// Stores the icon size we use for skins. As the server has control freak enabled, this is always static + var/ViewPreferedIconSize = 0 + + /// Basically a local variable on a client datum. Used when setting macros and nowhere else + var/list/macro_sets + + /// List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s + var/list/sent_assets = list() + /// List of all completed blocking send jobs awaiting acknowledgement by send_asset + var/list/completed_asset_jobs = list() + + /* + ASSET SENDING + */ + /// The ID of the last asset job + var/last_asset_job = 0 + /// The ID of the last asset job that was properly finished + var/last_completed_asset_job = 0 + + /* + PARALAX RELATED VARIABLES + */ + /// List of parallax layers a client is viewing. Accessed when paralax is updated + var/list/parallax_layers + /// A cached list of available parallax layers. This may potentially be changeable to a static variable. Updated upon changing parallax prefs + var/list/parallax_layers_cached + /// Added to parallax layers when parallax settings are changed + var/static/list/parallax_static_layers_tail = newlist(/atom/movable/screen/parallax_pmaster, /atom/movable/screen/parallax_space_whitifier) + /// Used with parallax to update the parallax offsets when the subsystem fires. Compared to the clients Eye variable + var/atom/movable/movingmob + /// Used with parallax to grab the offset needed. Uses the X and Y coords of the turf stored here + var/turf/previous_turf + /// Stored world.tim of the last parallax update. Used to make sure parallax isn't updated too often + var/last_parallax_shift + /// Deciseconds of added delay to parallax by client preferences + var/parallax_throttle = 0 + /// The direction parallax will be moved it. References parallax_move_direction on areas + var/parallax_movedir = 0 + /// The amount of parallax layers that will exist on your screen. Affected by the parallax preference + var/parallax_layers_max = 4 + /// Handles how parallax loops in situations like shuttles leaving. Stores the timer that handles that + var/parallax_animate_timer + /// Used with the camera console to clear out the screen objects it adds to the client when the console is deleted + var/list/screen_maps = list() + + /// Assigned say modal of the client var/datum/tgui_say/tgui_say diff --git a/code/modules/client/view.dm b/code/modules/client/view.dm index 874b75f5df0..ade70c1d800 100644 --- a/code/modules/client/view.dm +++ b/code/modules/client/view.dm @@ -7,12 +7,6 @@ /* Defines */ #define CUSTOM_VIEWRANGES list(1, 2, 3, 4, 5, 6, "RESET") -/* Viewmods */ -/client - var/list/ViewMods = list() - var/ViewModsActive = FALSE - var/ViewPreferedIconSize = 0 - /client/proc/AddViewMod(id, size) var/datum/viewmod/V = new /datum/viewmod(id, size) ViewMods[V.id] = V diff --git a/code/modules/input/input.dm b/code/modules/input/input.dm index cab19d2c503..4600c311fb8 100644 --- a/code/modules/input/input.dm +++ b/code/modules/input/input.dm @@ -10,9 +10,6 @@ /client/key_loop() mob.input_focus?.key_loop(src) -/client - var/list/macro_sets - /// This proc sets the built in BYOND macros for keypresses to pass inputs on to the rebindable input system or the legacy system /// If you plan on ripping out the legacy system, see the set_macros() proc at the following commit: https://github.com/S34NW/Paradise/commit/83a0a0b0c633807cc5a88a630f623cec24e16027 /client/proc/set_macros() diff --git a/code/modules/lighting/lighting_area.dm b/code/modules/lighting/lighting_area.dm index b3e3106d523..8820d548d7d 100644 --- a/code/modules/lighting/lighting_area.dm +++ b/code/modules/lighting/lighting_area.dm @@ -1,7 +1,3 @@ -/area - luminosity = TRUE - var/dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - /area/proc/set_dynamic_lighting(new_dynamic_lighting = DYNAMIC_LIGHTING_ENABLED) if(new_dynamic_lighting == dynamic_lighting) return FALSE diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 49541458f78..36f64c43272 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -1,12 +1,3 @@ - -/atom - var/light_power = 1 // Intensity of the light. - var/light_range = 0 // Range in tiles of the light. - var/light_color // Hexadecimal RGB string representing the colour of the light. - - var/tmp/datum/light_source/light // Our light source. Don't fuck with this directly unless you have a good reason! - var/tmp/list/light_sources // Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list. - // The proc you should always use to set the light of this atom. // Nonesensical value for l_color default, so we can detect if it gets set to null. #define NONSENSICAL_VALUE -99999 diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 366f552e2d4..0ab81a99f7c 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -1,14 +1,3 @@ -/turf - var/dynamic_lighting = TRUE - luminosity = 1 - - var/tmp/lighting_corners_initialised = FALSE - - var/tmp/list/datum/light_source/affecting_lights // List of light sources affecting this turf. - var/tmp/atom/movable/lighting_object/lighting_object // Our lighting object. - var/tmp/list/datum/lighting_corner/corners - var/tmp/has_opaque_atom = FALSE // Not to be confused with opacity, this will be TRUE if there's any opaque atom on the tile. - // Causes any affecting light sources to be queued for a visibility update, for example a door got opened. /turf/proc/reconsider_lights() var/datum/light_source/L diff --git a/code/modules/mob/mob_vars.dm b/code/modules/mob/!mob_vars.dm similarity index 100% rename from code/modules/mob/mob_vars.dm rename to code/modules/mob/!mob_vars.dm diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 6e58372a539..873b60555a9 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -1,3 +1,7 @@ +/mob/dead + move_resist = INFINITY + flags_2 = IMMUNE_TO_SHUTTLECRUSH_2 + /mob/dead/Login() . = ..() var/turf/T = get_turf(src) @@ -31,3 +35,9 @@ registered_z = new_z else registered_z = null + +/mob/dead/dust() //ghosts can't be vaporised. + return + +/mob/dead/gib() //ghosts can't be gibbed. + return diff --git a/code/modules/mob/dead/dead_death.dm b/code/modules/mob/dead/dead_death.dm deleted file mode 100644 index e9b6eecdc30..00000000000 --- a/code/modules/mob/dead/dead_death.dm +++ /dev/null @@ -1,9 +0,0 @@ -/mob/dead/dust() //ghosts can't be vaporised. - return - -/mob/dead/gib() //ghosts can't be gibbed. - return - -/mob/dead - move_resist = INFINITY - flags_2 = IMMUNE_TO_SHUTTLECRUSH_2 diff --git a/code/modules/mob/dead/observer/observer_base.dm b/code/modules/mob/dead/observer/!observer_base.dm similarity index 100% rename from code/modules/mob/dead/observer/observer_base.dm rename to code/modules/mob/dead/observer/!observer_base.dm diff --git a/code/modules/mob/living/brain/living_brain.dm b/code/modules/mob/living/brain/!living_brain.dm similarity index 100% rename from code/modules/mob/living/brain/living_brain.dm rename to code/modules/mob/living/brain/!living_brain.dm diff --git a/code/modules/mob/living/carbon/!carbon_defines.dm b/code/modules/mob/living/carbon/!carbon_defines.dm new file mode 100644 index 00000000000..5a7f8a273b1 --- /dev/null +++ b/code/modules/mob/living/carbon/!carbon_defines.dm @@ -0,0 +1,57 @@ +/mob/living/carbon + gender = MALE + pressure_resistance = 15 + var/list/stomach_contents + var/last_stomach_attack + + var/list/processing_patches + var/list/internal_organs = list() + var/list/internal_organs_slot = list() //Same as above, but stores "slot ID" - "organ" pairs for easy access. + /// An associated list of strings that associate it with the organ datum, e.g. [ORGAN_DATUM_HEART] = /datum/organ/heart + var/list/internal_organ_datums = list() + + /// The amount of life ticks that have processed on this mob. + var/life_tick = 0 + + /* + Clothing Vars + */ + /// Whether or not the mob is handcuffed, restraints/handcuffs/ required for var/cuffed_state + var/obj/item/restraints/handcuffs/handcuffed = null + /// Same as handcuffs but for legs. Bear traps use this. + var/obj/item/restraints/legcuffs/legcuffed = null + + /// The object stored on the head of the mob. Strangly not on the Human level + var/obj/item/head = null + /// The object stored on the exosuit slot of the mob. Strangly not on the Human level + var/obj/item/clothing/suit/wear_suit = null + + /// Active emote/pose. Similar to flavor text + var/pose = null + + /// Current pulse of this mob. Updated by handle_pulse on life + var/pulse = PULSE_NORM + + /// Tracks how wet the mob is. Only used for examining the mob + var/wetlevel = 0 + + /// Used to track how much CO2 is in our system. Too much CO2 means you get stunned and die + var/co2overloadtime = null + + /* + Dream Vars + */ + /// How many dream messages we have left to send + var/dreaming = 0 + /// How many nightmare messages we have left to send + var/nightmare = 0 + + blood_volume = BLOOD_VOLUME_NORMAL + + /* + * Pain variables + */ + /// Stores the last pain message we got. used to prevent chatspam from pain + var/last_pain_message = "" + /// Stores the last time we sent a pain message. used to prevent chatspam from pain + var/next_pain_time = 0 diff --git a/code/modules/mob/living/carbon/alien/alien_logout.dm b/code/modules/mob/living/carbon/alien/alien_logout.dm index f25b21f0cca..abf3b81814d 100644 --- a/code/modules/mob/living/carbon/alien/alien_logout.dm +++ b/code/modules/mob/living/carbon/alien/alien_logout.dm @@ -1,4 +1,3 @@ /mob/living/carbon/alien/Logout() ..() RemoveInfectionImages() - return diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/!humanoid.dm similarity index 100% rename from code/modules/mob/living/carbon/alien/humanoid/humanoid.dm rename to code/modules/mob/living/carbon/alien/humanoid/!humanoid.dm diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/!larva.dm similarity index 100% rename from code/modules/mob/living/carbon/alien/larva/larva.dm rename to code/modules/mob/living/carbon/alien/larva/!larva.dm diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm deleted file mode 100644 index bae5e21a22b..00000000000 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ /dev/null @@ -1,35 +0,0 @@ -/mob/living/carbon - gender = MALE - pressure_resistance = 15 - - var/list/stomach_contents - var/last_stomach_attack - - var/list/processing_patches - var/list/internal_organs = list() - var/list/internal_organs_slot = list() //Same as above, but stores "slot ID" - "organ" pairs for easy access. - /// An associated list of strings that associate it with the organ datum, e.g. [ORGAN_DATUM_HEART] = /datum/organ/heart - var/list/internal_organ_datums = list() - - var/life_tick = 0 // The amount of life ticks that have processed on this mob. - - /// Whether or not the mob is handcuffed, restraints/handcuffs/ required for var/cuffed_state - var/obj/item/restraints/handcuffs/handcuffed = null - /// Same as handcuffs but for legs. Bear traps use this. - var/obj/item/restraints/legcuffs/legcuffed = null - - var/obj/item/head = null - var/obj/item/clothing/suit/wear_suit = null //TODO: necessary? Are they even used? ~Carn - - //Active emote/pose - var/pose = null - - var/pulse = PULSE_NORM //current pulse level - - var/wetlevel = 0 //how wet the mob is - - var/co2overloadtime = null - var/dreaming = 0 //How many dream images we have left to send - var/nightmare = 0 - - blood_volume = BLOOD_VOLUME_NORMAL diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon_procs.dm similarity index 100% rename from code/modules/mob/living/carbon/carbon.dm rename to code/modules/mob/living/carbon/carbon_procs.dm diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/!human_defines.dm similarity index 87% rename from code/modules/mob/living/carbon/human/human_defines.dm rename to code/modules/mob/living/carbon/human/!human_defines.dm index 64ef4c4f0fd..56c1af2531b 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/!human_defines.dm @@ -1,5 +1,12 @@ /mob/living/carbon/human - + name = "unknown" + real_name = "unknown" + voice_name = "unknown" + icon = 'icons/mob/human.dmi' + icon_state = "body_m_s" + appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE + deathgasp_on_death = TRUE + throw_range = 4 hud_possible = list( HEALTH_HUD, STATUS_HUD, SPECIALROLE_HUD, // from /mob/living ID_HUD, WANTED_HUD, IMPMINDSHIELD_HUD, IMPCHEM_HUD, IMPTRACK_HUD, GLAND_HUD, @@ -87,8 +94,10 @@ var/list/splinted_limbs = list() //limbs we know are splinted var/original_eye_color = "#000000" + var/list/overlays_standing[TOTAL_LAYERS] + /// Stores what the body last looked like. Prevents updating the body when we don't need to + var/previous_damage_appearance + var/list/bodyparts = list() /// map organ names to organs var/list/bodyparts_by_name = list() - - var/temperature_resistance = T0C+75 diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index eaf4c262944..62253f123b7 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -1,13 +1,3 @@ -/mob/living/carbon/human - name = "unknown" - real_name = "unknown" - voice_name = "unknown" - icon = 'icons/mob/human.dmi' - icon_state = "body_m_s" - appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE - deathgasp_on_death = TRUE - throw_range = 4 - /mob/living/carbon/human/Initialize(mapload, datum/species/new_species = /datum/species/human) icon = null // This is now handled by overlays -- we just keep an icon for the sake of the map editor. create_dna() diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index e0d6c8ac37f..ea8e856288c 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -103,12 +103,6 @@ If you have any questions/constructive-comments/bugs-to-report/or have a massivl Please contact me on #coderbus IRC. ~Carn x */ -/mob/living/carbon/human - var/list/overlays_standing[TOTAL_LAYERS] - var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed - var/icon/skeleton - var/list/cached_standing_overlays = list() // List of everything currently in a human's actual overlays - /mob/living/carbon/human/proc/apply_overlay(cache_index) . = overlays_standing[cache_index] if(.) @@ -127,16 +121,18 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //constructs damage icon for each organ from mask * damage field and saves it in our overlays_ lists /mob/living/carbon/human/UpdateDamageIcon() // first check whether something actually changed about damage appearance - var/damage_appearance = "" + var/list/damage_appearance = list() for(var/obj/item/organ/external/O in bodyparts) damage_appearance += O.damage_state - if(damage_appearance == previous_damage_appearance) + var/list_string_damage_appearance = damage_appearance.Join("") + + if(damage_appearance == list_string_damage_appearance) // nothing to do here return - previous_damage_appearance = damage_appearance + previous_damage_appearance = list_string_damage_appearance remove_overlay(H_DAMAGE_LAYER) var/mutable_appearance/damage_overlay = mutable_appearance(dna.species.damage_overlays, "00", layer = -H_DAMAGE_LAYER) @@ -508,13 +504,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/proc/update_mutantrace() -//BS12 EDIT - var/skel = HAS_TRAIT(src, TRAIT_SKELETONIZED) - if(skel) - skeleton = 'icons/mob/human_races/r_skeleton.dmi' - else - skeleton = null - update_hair() update_fhair() diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 305e1142491..e58823c3d61 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -96,3 +96,11 @@ var/datum/language/default_language var/datum/middleClickOverride/middleClickOverride = null + + /* + Taste Vars + */ + /// Stores a var of the last world time we tasted something. used so we don't spam people messages while they eat + var/last_taste_time + /// Stores a var of the last tast message we got. used so we don't spam people messages while they eat + var/last_taste_text diff --git a/code/modules/mob/living/silicon/silicon_mob.dm b/code/modules/mob/living/silicon/!silicon_mob.dm similarity index 98% rename from code/modules/mob/living/silicon/silicon_mob.dm rename to code/modules/mob/living/silicon/!silicon_mob.dm index 56fae2df1de..0fa13c99bfa 100644 --- a/code/modules/mob/living/silicon/silicon_mob.dm +++ b/code/modules/mob/living/silicon/!silicon_mob.dm @@ -72,6 +72,13 @@ var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use var/d_hud = DATA_HUD_DIAGNOSTIC_BASIC //There is only one kind of diag hud var/jani_hud = DATA_HUD_JANITOR + var/datum/ui_module/atmos_control/atmos_control + var/datum/ui_module/crew_monitor/crew_monitor + var/datum/ui_module/law_manager/law_manager + var/datum/ui_module/power_monitor/digital/power_monitor + var/list/silicon_subsystems = list(/mob/living/silicon/proc/subsystem_law_manager) + var/datum/ai_laws/laws = null + var/list/additional_law_channels = list("State" = "") /mob/living/silicon/New() GLOB.silicon_mob_list |= src diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/!ai_mob.dm similarity index 99% rename from code/modules/mob/living/silicon/ai/ai_mob.dm rename to code/modules/mob/living/silicon/ai/!ai_mob.dm index 624e2b193e7..5b1cae02d7d 100644 --- a/code/modules/mob/living/silicon/ai/ai_mob.dm +++ b/code/modules/mob/living/silicon/ai/!ai_mob.dm @@ -126,7 +126,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( //Used with the hotkeys on 2-5 to store locations. var/list/stored_locations = list() - var/cracked_camera = FALSE // will be true if malf AI break its camera + /// Set to true if the AI cracks it's camera by using the malf ability + var/cracked_camera = FALSE + silicon_subsystems = list( + /mob/living/silicon/proc/subsystem_atmos_control, + /mob/living/silicon/proc/subsystem_crew_monitor, + /mob/living/silicon/proc/subsystem_law_manager, + /mob/living/silicon/proc/subsystem_power_monitor) /mob/living/silicon/ai/proc/add_ai_verbs() add_verb(src, GLOB.ai_verbs_default) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/!pai.dm similarity index 100% rename from code/modules/mob/living/silicon/pai/pai.dm rename to code/modules/mob/living/silicon/pai/!pai.dm diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/!robot_mob.dm similarity index 99% rename from code/modules/mob/living/silicon/robot/robot_mob.dm rename to code/modules/mob/living/silicon/robot/!robot_mob.dm index 3d26372f18f..2d5a822c05c 100644 --- a/code/modules/mob/living/silicon/robot/robot_mob.dm +++ b/code/modules/mob/living/silicon/robot/!robot_mob.dm @@ -117,6 +117,11 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /// Integer used to determine self-mailing location, used only by drones and saboteur borgs var/mail_destination = 1 + var/datum/ui_module/robot_self_diagnosis/self_diagnosis + var/datum/ui_module/destination_tagger/mail_setter + silicon_subsystems = list( + /mob/living/silicon/robot/proc/self_diagnosis, + /mob/living/silicon/proc/subsystem_law_manager) /mob/living/silicon/robot/get_cell() return cell diff --git a/code/modules/mob/living/silicon/robot/drone/maint_drone.dm b/code/modules/mob/living/silicon/robot/drone/maint_drone.dm index 96b4b0f0293..5e929faf4d0 100644 --- a/code/modules/mob/living/silicon/robot/drone/maint_drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/maint_drone.dm @@ -50,7 +50,13 @@ ) holder_type = /obj/item/holder/drone + var/datum/pathfinding_mover/pathfinding + silicon_subsystems = list( + /mob/living/silicon/robot/proc/set_mail_tag, + /mob/living/silicon/robot/proc/self_diagnosis, + /mob/living/silicon/proc/subsystem_law_manager, + /mob/living/silicon/proc/subsystem_power_monitor) /mob/living/silicon/robot/drone/New() diff --git a/code/modules/mob/living/silicon/robot/syndicate_robot.dm b/code/modules/mob/living/silicon/robot/syndicate_robot.dm index 27eed09e7f0..47f25fa6dbf 100644 --- a/code/modules/mob/living/silicon/robot/syndicate_robot.dm +++ b/code/modules/mob/living/silicon/robot/syndicate_robot.dm @@ -65,6 +65,10 @@ brute_mod = 0.8 burn_mod = 0.8 var/obj/item/borg_chameleon/cham_proj = null + silicon_subsystems = list( + /mob/living/silicon/robot/proc/set_mail_tag, + /mob/living/silicon/robot/proc/self_diagnosis, + /mob/living/silicon/proc/subsystem_law_manager) playstyle_string = "You are a Syndicate saboteur cyborg!
\ You are equipped with robust engineering tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \ Your built-in mail tagger will allow you to stealthily traverse the disposal network across the station. \ diff --git a/code/modules/mob/living/silicon/silicon_laws.dm b/code/modules/mob/living/silicon/silicon_laws.dm index d7c9b050331..961a620438a 100644 --- a/code/modules/mob/living/silicon/silicon_laws.dm +++ b/code/modules/mob/living/silicon/silicon_laws.dm @@ -1,7 +1,3 @@ -/mob/living/silicon - var/datum/ai_laws/laws = null - var/list/additional_law_channels = list("State" = "") - /mob/living/silicon/proc/laws_sanity_check() if(!src.laws) laws = new BASE_LAW_TYPE diff --git a/code/modules/mob/living/silicon/silicon_subsystems.dm b/code/modules/mob/living/silicon/silicon_subsystems.dm index cd636396d42..510b79c41d5 100644 --- a/code/modules/mob/living/silicon/silicon_subsystems.dm +++ b/code/modules/mob/living/silicon/silicon_subsystems.dm @@ -1,49 +1,3 @@ -/mob/living/silicon - var/register_alarms = TRUE - var/datum/ui_module/atmos_control/atmos_control - var/datum/ui_module/crew_monitor/crew_monitor - var/datum/ui_module/law_manager/law_manager - var/datum/ui_module/power_monitor/digital/power_monitor - -/mob/living/silicon - var/list/silicon_subsystems = list( - /mob/living/silicon/proc/subsystem_law_manager - ) - -/mob/living/silicon/ai - silicon_subsystems = list( - /mob/living/silicon/proc/subsystem_atmos_control, - /mob/living/silicon/proc/subsystem_crew_monitor, - /mob/living/silicon/proc/subsystem_law_manager, - /mob/living/silicon/proc/subsystem_power_monitor - ) - -/mob/living/silicon/robot - var/datum/ui_module/robot_self_diagnosis/self_diagnosis - var/datum/ui_module/destination_tagger/mail_setter - silicon_subsystems = list( - /mob/living/silicon/robot/proc/self_diagnosis, - /mob/living/silicon/proc/subsystem_law_manager - ) - -/mob/living/silicon/robot/drone - silicon_subsystems = list( - /mob/living/silicon/robot/proc/set_mail_tag, - /mob/living/silicon/robot/proc/self_diagnosis, - /mob/living/silicon/proc/subsystem_law_manager, - /mob/living/silicon/proc/subsystem_power_monitor - ) - -/mob/living/silicon/robot/syndicate - register_alarms = 0 - -/mob/living/silicon/robot/syndicate/saboteur - silicon_subsystems = list( - /mob/living/silicon/robot/proc/set_mail_tag, - /mob/living/silicon/robot/proc/self_diagnosis, - /mob/living/silicon/proc/subsystem_law_manager - ) - /mob/living/silicon/proc/init_subsystems() atmos_control = new(src) crew_monitor = new(src) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/!simple_animal.dm similarity index 100% rename from code/modules/mob/living/simple_animal/simple_animal.dm rename to code/modules/mob/living/simple_animal/!simple_animal.dm diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/!bot.dm similarity index 100% rename from code/modules/mob/living/simple_animal/bot/bot.dm rename to code/modules/mob/living/simple_animal/bot/!bot.dm diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/!pet.dm similarity index 100% rename from code/modules/mob/living/simple_animal/friendly/pet.dm rename to code/modules/mob/living/simple_animal/friendly/!pet.dm diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/!hostile.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/hostile.dm rename to code/modules/mob/living/simple_animal/hostile/!hostile.dm diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/!megafauna.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm rename to code/modules/mob/living/simple_animal/hostile/megafauna/!megafauna.dm diff --git a/code/modules/mob/living/simple_animal/hostile/mining/mining.dm b/code/modules/mob/living/simple_animal/hostile/mining/!mining.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/mining/mining.dm rename to code/modules/mob/living/simple_animal/hostile/mining/!mining.dm diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/!elite.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm rename to code/modules/mob/living/simple_animal/hostile/mining/elites/!elite.dm diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/!retaliate.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm rename to code/modules/mob/living/simple_animal/hostile/retaliate/!retaliate.dm diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/!terror_spiders.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm rename to code/modules/mob/living/simple_animal/hostile/terror_spiders/!terror_spiders.dm diff --git a/code/modules/mob/living/simple_animal/slime/slime_mob.dm b/code/modules/mob/living/simple_animal/slime/!slime_mob.dm similarity index 100% rename from code/modules/mob/living/simple_animal/slime/slime_mob.dm rename to code/modules/mob/living/simple_animal/slime/!slime_mob.dm diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm index fc1f100be9b..98091698609 100644 --- a/code/modules/mob/living/taste.dm +++ b/code/modules/mob/living/taste.dm @@ -1,7 +1,3 @@ -/mob/living - var/last_taste_time - var/last_taste_text - /mob/living/proc/get_taste_sensitivity() return TASTE_SENSITIVITY_NORMAL diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/!new_player.dm similarity index 100% rename from code/modules/mob/new_player/new_player.dm rename to code/modules/mob/new_player/!new_player.dm diff --git a/code/modules/persistence/persistence.dm b/code/modules/persistence/persistence.dm index aad2a47fb54..29317bc37ef 100644 --- a/code/modules/persistence/persistence.dm +++ b/code/modules/persistence/persistence.dm @@ -21,11 +21,6 @@ /datum/proc/deserialize(list/data) return -/atom - // This var isn't actually used for anything, but is present so that - // DM's map reader doesn't forfeit on reading a JSON-serialized map - var/map_json_data - // This is so specific atoms can override these, and ignore certain ones /atom/proc/vars_to_save() return list("color","dir","icon","icon_state","name","pixel_x","pixel_y") diff --git a/code/modules/surgery/organs/pain.dm b/code/modules/surgery/organs/pain.dm index 6aebff290ea..d477473a287 100644 --- a/code/modules/surgery/organs/pain.dm +++ b/code/modules/surgery/organs/pain.dm @@ -1,7 +1,3 @@ -/mob/living/carbon - var/last_pain_message = "" - var/next_pain_time = 0 - /** * Whether or not a mob can feel pain. * diff --git a/paradise.dme b/paradise.dme index b2e80227d1f..4f87ccbab15 100644 --- a/paradise.dme +++ b/paradise.dme @@ -14,10 +14,9 @@ #include "_maps\__MAP_DEFINES.dm" #include "_maps\base_map.dm" #include "_maps\map_datums.dm" +#include "code\!world_definition.dm" #include "code\__byond_version_compat.dm" #include "code\_compile_options.dm" -#include "code\hub.dm" -#include "code\world_definition.dm" #include "code\__DEFINES\_click.dm" #include "code\__DEFINES\_globals.dm" #include "code\__DEFINES\_init.dm" @@ -327,6 +326,7 @@ #include "code\controllers\subsystem\processing\transittube.dm" #include "code\controllers\subsystem\tickets\mentor_tickets.dm" #include "code\controllers\subsystem\tickets\tickets.dm" +#include "code\datums\!datum.dm" #include "code\datums\action.dm" #include "code\datums\ai_law_sets.dm" #include "code\datums\ai_laws_datums.dm" @@ -341,7 +341,6 @@ #include "code\datums\click_intercept.dm" #include "code\datums\custom_user_item.dm" #include "code\datums\datacore.dm" -#include "code\datums\datum.dm" #include "code\datums\datumvars.dm" #include "code\datums\dog_fashion.dm" #include "code\datums\emote.dm" @@ -625,15 +624,15 @@ #include "code\defines\procs\announcer_datum.dm" #include "code\defines\procs\radio_procs.dm" #include "code\defines\procs\records.dm" +#include "code\game\!atoms.dm" #include "code\game\alternate_appearance.dm" -#include "code\game\atoms.dm" #include "code\game\atoms_movable.dm" #include "code\game\data_huds.dm" #include "code\game\shuttle_engines.dm" #include "code\game\sound.dm" #include "code\game\world.dm" +#include "code\game\area\!areas.dm" #include "code\game\area\ai_monitored.dm" -#include "code\game\area\areas.dm" #include "code\game\area\asteroid_areas.dm" #include "code\game\area\away_content_areas.dm" #include "code\game\area\centcom_areas.dm" @@ -907,15 +906,15 @@ #include "code\game\mecha\medical\odysseus.dm" #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" +#include "code\game\objects\!items.dm" +#include "code\game\objects\!objs.dm" +#include "code\game\objects\!structures.dm" #include "code\game\objects\buckling.dm" #include "code\game\objects\cleaning.dm" #include "code\game\objects\empulse.dm" #include "code\game\objects\explosion.dm" -#include "code\game\objects\items.dm" #include "code\game\objects\mail.dm" #include "code\game\objects\obj_defense.dm" -#include "code\game\objects\objs.dm" -#include "code\game\objects\structures.dm" #include "code\game\objects\effects\alien_acid.dm" #include "code\game\objects\effects\anomalies.dm" #include "code\game\objects\effects\bump_teleporter.dm" @@ -1294,8 +1293,8 @@ #include "code\game\objects\structures\transit_tubes\station.dm" #include "code\game\objects\structures\transit_tubes\transit_tube.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\turfs\!turf.dm" #include "code\game\turfs\simulated.dm" -#include "code\game\turfs\turf.dm" #include "code\game\turfs\simulated\floor.dm" #include "code\game\turfs\simulated\minerals.dm" #include "code\game\turfs\simulated\river.dm" @@ -2037,6 +2036,7 @@ #include "code\modules\mining\lavaland\loot\hierophant_loot.dm" #include "code\modules\mining\lavaland\loot\legion_loot.dm" #include "code\modules\mining\lavaland\loot\tendril_loot.dm" +#include "code\modules\mob\!mob_vars.dm" #include "code\modules\mob\hear_say.dm" #include "code\modules\mob\inventory_procs.dm" #include "code\modules\mob\language.dm" @@ -2054,13 +2054,11 @@ #include "code\modules\mob\mob_transformation_simple.dm" #include "code\modules\mob\mob_update_icons_base.dm" #include "code\modules\mob\mob_update_status_base.dm" -#include "code\modules\mob\mob_vars.dm" #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\typing_indicator.dm" #include "code\modules\mob\camera\camera_mob.dm" #include "code\modules\mob\dead\dead.dm" -#include "code\modules\mob\dead\dead_death.dm" -#include "code\modules\mob\dead\observer\observer_base.dm" +#include "code\modules\mob\dead\observer\!observer_base.dm" #include "code\modules\mob\dead\observer\observer_login.dm" #include "code\modules\mob\dead\observer\observer_logout.dm" #include "code\modules\mob\dead\observer\observer_say.dm" @@ -2083,23 +2081,23 @@ #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\stat_states.dm" #include "code\modules\mob\living\taste.dm" +#include "code\modules\mob\living\brain\!living_brain.dm" #include "code\modules\mob\living\brain\brain_death.dm" #include "code\modules\mob\living\brain\brain_emote.dm" #include "code\modules\mob\living\brain\brain_life.dm" #include "code\modules\mob\living\brain\brain_login.dm" #include "code\modules\mob\living\brain\brain_say.dm" #include "code\modules\mob\living\brain\brain_update_status.dm" -#include "code\modules\mob\living\brain\living_brain.dm" #include "code\modules\mob\living\brain\MMI.dm" #include "code\modules\mob\living\brain\MMI_radio.dm" #include "code\modules\mob\living\brain\robotic_brain.dm" +#include "code\modules\mob\living\carbon\!carbon_defines.dm" #include "code\modules\mob\living\carbon\_defines.dm" -#include "code\modules\mob\living\carbon\carbon.dm" #include "code\modules\mob\living\carbon\carbon_death.dm" #include "code\modules\mob\living\carbon\carbon_defense.dm" -#include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\carbon_emote.dm" #include "code\modules\mob\living\carbon\carbon_life.dm" +#include "code\modules\mob\living\carbon\carbon_procs.dm" #include "code\modules\mob\living\carbon\carbon_status_procs.dm" #include "code\modules\mob\living\carbon\carbon_update_icons.dm" #include "code\modules\mob\living\carbon\carbon_update_status.dm" @@ -2113,8 +2111,8 @@ #include "code\modules\mob\living\carbon\alien\alien_life.dm" #include "code\modules\mob\living\carbon\alien\alien_login.dm" #include "code\modules\mob\living\carbon\alien\alien_logout.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\!humanoid.dm" #include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" #include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.dm" #include "code\modules\mob\living\carbon\alien\humanoid\humanoid_emote.dm" #include "code\modules\mob\living\carbon\alien\humanoid\humanoid_inventory.dm" @@ -2124,20 +2122,20 @@ #include "code\modules\mob\living\carbon\alien\humanoid\caste\alien_drone.dm" #include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" #include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" -#include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\!larva.dm" #include "code\modules\mob\living\carbon\alien\larva\larva_defense.dm" #include "code\modules\mob\living\carbon\alien\larva\larva_inventory.dm" #include "code\modules\mob\living\carbon\alien\larva\larva_life.dm" #include "code\modules\mob\living\carbon\alien\larva\larva_update_icons.dm" #include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" #include "code\modules\mob\living\carbon\alien\special\facehugger.dm" +#include "code\modules\mob\living\carbon\human\!human_defines.dm" #include "code\modules\mob\living\carbon\human\appearance.dm" #include "code\modules\mob\living\carbon\human\body_accessories.dm" #include "code\modules\mob\living\carbon\human\human_damage.dm" #include "code\modules\mob\living\carbon\human\human_deadchat_control.dm" #include "code\modules\mob\living\carbon\human\human_death.dm" #include "code\modules\mob\living\carbon\human\human_defense.dm" -#include "code\modules\mob\living\carbon\human\human_defines.dm" #include "code\modules\mob\living\carbon\human\human_emote.dm" #include "code\modules\mob\living\carbon\human\human_examine.dm" #include "code\modules\mob\living\carbon\human\human_inventory.dm" @@ -2172,14 +2170,15 @@ #include "code\modules\mob\living\carbon\human\species\unathi.dm" #include "code\modules\mob\living\carbon\human\species\vox.dm" #include "code\modules\mob\living\carbon\human\species\vulpkanin.dm" +#include "code\modules\mob\living\silicon\!silicon_mob.dm" #include "code\modules\mob\living\silicon\silicon_death.dm" #include "code\modules\mob\living\silicon\silicon_defense.dm" #include "code\modules\mob\living\silicon\silicon_emote.dm" #include "code\modules\mob\living\silicon\silicon_laws.dm" #include "code\modules\mob\living\silicon\silicon_login.dm" -#include "code\modules\mob\living\silicon\silicon_mob.dm" #include "code\modules\mob\living\silicon\silicon_say.dm" #include "code\modules\mob\living\silicon\silicon_subsystems.dm" +#include "code\modules\mob\living\silicon\ai\!ai_mob.dm" #include "code\modules\mob\living\silicon\ai\ai_death.dm" #include "code\modules\mob\living\silicon\ai\ai_defense.dm" #include "code\modules\mob\living\silicon\ai\ai_examine.dm" @@ -2187,7 +2186,6 @@ #include "code\modules\mob\living\silicon\ai\ai_life.dm" #include "code\modules\mob\living\silicon\ai\ai_login.dm" #include "code\modules\mob\living\silicon\ai\ai_logout.dm" -#include "code\modules\mob\living\silicon\ai\ai_mob.dm" #include "code\modules\mob\living\silicon\ai\ai_say.dm" #include "code\modules\mob\living\silicon\ai\ai_update_status.dm" #include "code\modules\mob\living\silicon\ai\latejoin.dm" @@ -2197,7 +2195,7 @@ #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\decoy_death.dm" #include "code\modules\mob\living\silicon\decoy\decoy_life.dm" -#include "code\modules\mob\living\silicon\pai\pai.dm" +#include "code\modules\mob\living\silicon\pai\!pai.dm" #include "code\modules\mob\living\silicon\pai\pai_death.dm" #include "code\modules\mob\living\silicon\pai\pai_life.dm" #include "code\modules\mob\living\silicon\pai\pai_login.dm" @@ -2209,6 +2207,7 @@ #include "code\modules\mob\living\silicon\pai\software\pai_apps.dm" #include "code\modules\mob\living\silicon\pai\software\pai_software_base.dm" #include "code\modules\mob\living\silicon\pai\software\pai_toggles.dm" +#include "code\modules\mob\living\silicon\robot\!robot_mob.dm" #include "code\modules\mob\living\silicon\robot\component.dm" #include "code\modules\mob\living\silicon\robot\misc_robot_items.dm" #include "code\modules\mob\living\silicon\robot\photos.dm" @@ -2220,7 +2219,6 @@ #include "code\modules\mob\living\silicon\robot\robot_laws.dm" #include "code\modules\mob\living\silicon\robot\robot_life.dm" #include "code\modules\mob\living\silicon\robot\robot_login.dm" -#include "code\modules\mob\living\silicon\robot\robot_mob.dm" #include "code\modules\mob\living\silicon\robot\robot_module_actions.dm" #include "code\modules\mob\living\silicon\robot\robot_modules.dm" #include "code\modules\mob\living\silicon\robot\robot_movement.dm" @@ -2234,6 +2232,7 @@ #include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_update_status.dm" #include "code\modules\mob\living\silicon\robot\drone\maint_drone.dm" +#include "code\modules\mob\living\simple_animal\!simple_animal.dm" #include "code\modules\mob\living\simple_animal\animal_defense.dm" #include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" @@ -2241,9 +2240,8 @@ #include "code\modules\mob\living\simple_animal\parrot.dm" #include "code\modules\mob\living\simple_animal\posessed_object.dm" #include "code\modules\mob\living\simple_animal\shade.dm" -#include "code\modules\mob\living\simple_animal\simple_animal.dm" #include "code\modules\mob\living\simple_animal\simple_animal_damage.dm" -#include "code\modules\mob\living\simple_animal\bot\bot.dm" +#include "code\modules\mob\living\simple_animal\bot\!bot.dm" #include "code\modules\mob\living\simple_animal\bot\bot_construction.dm" #include "code\modules\mob\living\simple_animal\bot\cleanbot.dm" #include "code\modules\mob\living\simple_animal\bot\ed209bot.dm" @@ -2254,6 +2252,7 @@ #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\syndicate_bots.dm" +#include "code\modules\mob\living\simple_animal\friendly\!pet.dm" #include "code\modules\mob\living\simple_animal\friendly\bunny.dm" #include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" @@ -2268,10 +2267,10 @@ #include "code\modules\mob\living\simple_animal\friendly\lizard.dm" #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" #include "code\modules\mob\living\simple_animal\friendly\penguin.dm" -#include "code\modules\mob\living\simple_animal\friendly\pet.dm" #include "code\modules\mob\living\simple_animal\friendly\sloth.dm" #include "code\modules\mob\living\simple_animal\friendly\snake.dm" #include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" +#include "code\modules\mob\living\simple_animal\hostile\!hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\alien_types.dm" #include "code\modules\mob\living\simple_animal\hostile\angel_statue.dm" #include "code\modules\mob\living\simple_animal\hostile\bat.dm" @@ -2287,7 +2286,6 @@ #include "code\modules\mob\living\simple_animal\hostile\headslug.dm" #include "code\modules\mob\living\simple_animal\hostile\hellhound.dm" #include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" -#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\illusion.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" #include "code\modules\mob\living\simple_animal\hostile\killertomato.dm" @@ -2303,6 +2301,7 @@ #include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla_emote.dm" +#include "code\modules\mob\living\simple_animal\hostile\megafauna\!megafauna.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\ancient_robot.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm" @@ -2310,27 +2309,27 @@ #include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm" -#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining\!mining.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\abandoned_minebot.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\basilisk.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\goldgrub.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\goliath.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\gutlunch.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\hivelord.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining\mining.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining\elites\elite.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining\elites\!elite.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\elites\goliath_broodmother.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\elites\herald.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\elites\legionnaire.dm" #include "code\modules\mob\living\simple_animal\hostile\mining\elites\pandora.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\!retaliate.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\araneus.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\combat_drone.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\kangaroo.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\__defines.dm" +#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\!terror_spiders.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\actions.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\black.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\brown.dm" @@ -2348,16 +2347,15 @@ #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\reproduction.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\terror_ai.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\terror_ghost_interaction.dm" -#include "code\modules\mob\living\simple_animal\hostile\terror_spiders\terror_spiders.dm" #include "code\modules\mob\living\simple_animal\hostile\terror_spiders\white.dm" +#include "code\modules\mob\living\simple_animal\slime\!slime_mob.dm" #include "code\modules\mob\living\simple_animal\slime\slime_death.dm" #include "code\modules\mob\living\simple_animal\slime\slime_emote.dm" #include "code\modules\mob\living\simple_animal\slime\slime_life.dm" -#include "code\modules\mob\living\simple_animal\slime\slime_mob.dm" #include "code\modules\mob\living\simple_animal\slime\slime_powers.dm" #include "code\modules\mob\living\simple_animal\slime\slime_say.dm" #include "code\modules\mob\living\simple_animal\slime\subtypes.dm" -#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\!new_player.dm" #include "code\modules\mob\new_player\new_player_login.dm" #include "code\modules\mob\new_player\new_player_logout.dm" #include "code\modules\mob\new_player\sprite_accessories\sprite_accessories.dm"