Removes datum redeclares (#23950)

* Removes datum redeclares

* conflicts

* thanks vsc

* compile fix
This commit is contained in:
GDN
2024-03-10 17:55:29 +00:00
committed by GitHub
parent 01226e123a
commit 6b5de292dc
72 changed files with 381 additions and 350 deletions
@@ -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))
@@ -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
@@ -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..."
+57 -5
View File
@@ -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
-6
View File
@@ -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
-3
View File
@@ -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()
-4
View File
@@ -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
-9
View File
@@ -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
-11
View File
@@ -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
+10
View File
@@ -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
-9
View File
@@ -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
@@ -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
@@ -1,4 +1,3 @@
/mob/living/carbon/alien/Logout()
..()
RemoveInfectionImages()
return
@@ -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
@@ -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
@@ -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()
@@ -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()
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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()
@@ -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 = "<span class='userdanger'>You are a Syndicate saboteur cyborg!</span><br>\
<b>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. \
@@ -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
@@ -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)
-4
View File
@@ -1,7 +1,3 @@
/mob/living
var/last_taste_time
var/last_taste_text
/mob/living/proc/get_taste_sensitivity()
return TASTE_SENSITIVITY_NORMAL
-5
View File
@@ -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")
-4
View File
@@ -1,7 +1,3 @@
/mob/living/carbon
var/last_pain_message = ""
var/next_pain_time = 0
/**
* Whether or not a mob can feel pain.
*