diff --git a/aurorastation.dme b/aurorastation.dme index 16e9bde7339..191dcdea47c 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2385,9 +2385,6 @@ #include "code\modules\integrated_electronics\~defines\~defines.dm" #include "code\modules\item_worth\_helpers.dm" #include "code\modules\item_worth\item_worth.dm" -#include "code\modules\item_worth\material_weapons.dm" -#include "code\modules\item_worth\materials.dm" -#include "code\modules\item_worth\reagents.dm" #include "code\modules\item_worth\worths_list.dm" #include "code\modules\item_worth\Value_procs\atoms.dm" #include "code\modules\item_worth\Value_procs\mob.dm" diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm index 0edb451282f..088bcbffe68 100644 --- a/code/__DEFINES/text.dm +++ b/code/__DEFINES/text.dm @@ -62,3 +62,7 @@ var/regex/filename_forbidden_chars = regex(@{""|[\\\n\t/?%*:|<>]|\.\."}, "g") /// Removes everything enclose in < and > inclusive of the bracket, and limits the length of the message. #define STRIP_HTML_FULL(text, limit) (html_tags.Replace(copytext(text, 1, limit), "")) + +/// BYOND's string procs don't support being used on datum references (as in it doesn't look for a name for stringification) +/// We just use this macro to ensure that we will only pass strings to this BYOND-level function without developers needing to really worry about it. +#define LOWER_TEXT(thing) lowertext(UNLINT("[thing]")) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index cce6b4fc41e..144f3221b9c 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -105,7 +105,7 @@ // Same as above but for alien candidates. /proc/ScreenText(obj/O, maptext="", screen_loc="CENTER-7,CENTER-7", maptext_height=480, maptext_width=480) - if(!isobj(O)) O = new /obj/screen/text() + if(!isobj(O)) O = new /atom/movable/screen/text() O.maptext = maptext O.maptext_height = maptext_height O.maptext_width = maptext_width diff --git a/code/__HELPERS/logging/talk.dm b/code/__HELPERS/logging/talk.dm index cfa7ed224f4..c4b72dcf95c 100644 --- a/code/__HELPERS/logging/talk.dm +++ b/code/__HELPERS/logging/talk.dm @@ -7,7 +7,7 @@ * Arguments: * * message - The message being logged * * message_type - the type of log the message is(ATTACK, SAY, etc) - * * tag - tag that indicates the type of text(announcement, telepathy, etc) + * * tag - tag that indicates the type of text (announcement, telepathy, etc) * * log_globally - boolean checking whether or not we write this log to the log file * * forced_by - source that forced the dialogue if any */ diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index a54e7b539d0..756e8e93b5c 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -182,9 +182,9 @@ Proc for attack log creation, because really why not /proc/add_logs(mob/user, mob/target, what_done, var/admin=1, var/object=null, var/addition=null) if(user && ismob(user)) - user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") + user.attack_log += "\[[time_stamp()]\] Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]" if(target && ismob(target)) - target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") + target.attack_log += "\[[time_stamp()]\] Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]" if(admin) log_attack(SPAN_WARNING("[user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(ismob(target) && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]")) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index bbcb1ae92f2..ced9e2890f6 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -725,49 +725,52 @@ var/leng = length(string) - var/next_space = findtext_char(string, " ", next_backslash + 1) + var/next_space = findtext(string, " ", next_backslash + length(string[next_backslash])) if(!next_space) next_space = leng - next_backslash - if(!next_space) //trailing bs + if(!next_space) //trailing bs return string var/base = next_backslash == 1 ? "" : copytext(string, 1, next_backslash) - var/macro = lowertext(copytext(string, next_backslash + 1, next_space)) - var/rest = next_backslash > leng ? "" : copytext(string, next_space + 1) + var/macro = LOWER_TEXT(copytext(string, next_backslash + length(string[next_backslash]), next_space)) + var/rest = next_backslash > leng ? "" : copytext(string, next_space + length(string[next_space])) - //See http://www.byond.com/docs/ref/info.html#/DM/text/macros + //See https://secure.byond.com/docs/ref/info.html#/DM/text/macros switch(macro) //prefixes/agnostic if("the") - rest = text("\the []", rest) + rest = "\the [rest]" if("a") - rest = text("\a []", rest) + rest = "\a [rest]" if("an") - rest = text("\an []", rest) + rest = "\an [rest]" if("proper") - rest = text("\proper []", rest) + rest = "\proper [rest]" if("improper") - rest = text("\improper []", rest) + rest = "\improper [rest]" if("roman") - rest = text("\roman []", rest) + rest = "\roman [rest]" //postfixes if("th") - base = text("[]\th", rest) + base = "[rest]\th" if("s") - base = text("[]\s", rest) + base = "[rest]\s" if("he") - base = text("[]\he", rest) + base = "[rest]\he" if("she") - base = text("[]\she", rest) + base = "[rest]\she" if("his") - base = text("[]\his", rest) + base = "[rest]\his" if("himself") - base = text("[]\himself", rest) + base = "[rest]\himself" if("herself") - base = text("[]\herself", rest) + base = "[rest]\herself" if("hers") - base = text("[]\hers", rest) + base = "[rest]\hers" + else // Someone fucked up, if you're not a macro just go home yeah? + // This does technically break parsing, but at least it's better then what it used to do + return base . = base if(rest) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2a6b21c0c8d..6e4638632fa 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -23,12 +23,12 @@ textg = num2hex(255 - g, 0) textb = num2hex(255 - b, 0) if (length(textr) < 2) - textr = text("0[]", textr) + textr = "0[textr]" if (length(textg) < 2) - textr = text("0[]", textg) + textr = "0[textg]" if (length(textb) < 2) - textr = text("0[]", textb) - return text("#[][][]", textr, textg, textb) + textr = "0[textb]" + return "#[textr][textg][textb]" //Returns the middle-most value /proc/dd_range(var/low, var/high, var/num) @@ -1116,7 +1116,7 @@ var/global/known_proc = /proc/get_type_ref_bytes if(ispath(V)) return details && path_names ? "path([V])" : "path" if(istext(V)) - return details && text_lengths ? "text([length(V) ])" : "text" + return details && text_lengths ? "text ([length(V) ])" : "text" if(isnum(V)) // Byond doesn't really differentiate between floats and ints, but we can sort of guess here // also technically we could also say that 0 and 1 are boolean but that'd be quite silly if(IsInteger(V) && V < 16777216 && V > -16777216) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 5eb8be64a77..82abbd77408 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -383,14 +383,14 @@ var/global/list/click_catchers -/obj/screen/click_catcher +/atom/movable/screen/click_catcher icon = 'icons/mob/screen_gen.dmi' icon_state = "click_catcher" plane = CLICKCATCHER_PLANE mouse_opacity = MOUSE_OPACITY_OPAQUE screen_loc = "CENTER-7,CENTER-7" -/obj/screen/click_catcher/Destroy() +/atom/movable/screen/click_catcher/Destroy() SHOULD_CALL_PARENT(FALSE) return QDEL_HINT_LETMELIVE @@ -398,11 +398,11 @@ var/global/list/click_catchers . = list() for(var/i = 0, i<15, i++) for(var/j = 0, j<15, j++) - var/obj/screen/click_catcher/CC = new() + var/atom/movable/screen/click_catcher/CC = new() CC.screen_loc = "NORTH-[i],EAST-[j]" . += CC -/obj/screen/click_catcher/Click(location, control, params) +/atom/movable/screen/click_catcher/Click(location, control, params) var/list/modifiers = params2list(params) if(modifiers["middle"] && istype(usr, /mob/living/carbon)) var/mob/living/carbon/C = usr diff --git a/code/_onclick/hud/ability_screen_objects.dm b/code/_onclick/hud/ability_screen_objects.dm index 9f458f0b8c2..e55deb79ff0 100644 --- a/code/_onclick/hud/ability_screen_objects.dm +++ b/code/_onclick/hud/ability_screen_objects.dm @@ -1,8 +1,8 @@ -/obj/screen/movable/ability_master +/atom/movable/screen/movable/ability_master name = "Abilities" icon = 'icons/mob/screen_spells.dmi' icon_state = "grey_spell_ready" - var/list/obj/screen/ability/ability_objects = list() + var/list/atom/movable/screen/ability/ability_objects = list() var/showing = FALSE // If we're 'open' or not. var/open_state = "master_open" // What the button looks like when it's 'open', showing the other buttons. @@ -12,13 +12,13 @@ var/mob/my_mob // The mob that possesses this hud object. -/obj/screen/movable/ability_master/Initialize(mapload, owner) +/atom/movable/screen/movable/ability_master/Initialize(mapload, owner) . = ..() if(owner) my_mob = owner update_abilities(0, owner) -/obj/screen/movable/ability_master/Destroy() +/atom/movable/screen/movable/ability_master/Destroy() //Get rid of the ability objects. remove_all_abilities() ability_objects.Cut() @@ -32,21 +32,21 @@ . = ..() -/obj/screen/movable/ability_master/MouseDrop() +/atom/movable/screen/movable/ability_master/MouseDrop() if(showing) return return ..() -/obj/screen/movable/ability_master/Click() +/atom/movable/screen/movable/ability_master/Click() if(!ability_objects.len) // If we're empty for some reason. return toggle_open() -/obj/screen/movable/ability_master/proc/toggle_open(var/forced_state = 0, var/mob/user = usr) +/atom/movable/screen/movable/ability_master/proc/toggle_open(var/forced_state = 0, var/mob/user = usr) if(showing && (forced_state != 2)) // We are closing the ability master, hide the abilities. - for(var/obj/screen/ability/O in ability_objects) + for(var/atom/movable/screen/ability/O in ability_objects) if(my_mob && my_mob.client) my_mob.client.screen -= O showing = FALSE @@ -60,7 +60,7 @@ overlays.Add(open_state) update_icon() -/obj/screen/movable/ability_master/proc/open_ability_master(var/mob/user = usr) +/atom/movable/screen/movable/ability_master/proc/open_ability_master(var/mob/user = usr) var/list/screen_loc_xy = splittext(screen_loc,",") //Create list of X offsets @@ -74,36 +74,36 @@ var/y_pix = screen_loc_Y[2] for(var/i = 1; i <= ability_objects.len; i++) - var/obj/screen/ability/A = ability_objects[i] + var/atom/movable/screen/ability/A = ability_objects[i] var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7) var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7)) A.screen_loc = "[encode_screen_X(xpos, user)]:[x_pix],[encode_screen_Y(ypos, user)]:[y_pix]" if(my_mob && my_mob.client) my_mob.client.screen += A -/obj/screen/movable/ability_master/proc/update_abilities(forced = 0, mob/user) +/atom/movable/screen/movable/ability_master/proc/update_abilities(forced = 0, mob/user) update_icon() if(user && user.client) if(!(src in user.client.screen)) user.client.screen += src var/i = 1 - for(var/obj/screen/ability/ability in ability_objects) + for(var/atom/movable/screen/ability/ability in ability_objects) ability.update_icon(forced) ability.index = i ability.maptext = "[ability.index]" // Slot number i++ -/obj/screen/movable/ability_master/update_icon() +/atom/movable/screen/movable/ability_master/update_icon() if(ability_objects.len) set_invisibility(0) else set_invisibility(101) -/obj/screen/movable/ability_master/proc/add_ability(var/name_given) +/atom/movable/screen/movable/ability_master/proc/add_ability(var/name_given) if(!name) return - var/obj/screen/ability/new_button = new /obj/screen/ability + var/atom/movable/screen/ability/new_button = new /atom/movable/screen/ability new_button.ability_master = src new_button.name = name_given new_button.ability_icon_state = name_given @@ -112,7 +112,7 @@ if(my_mob.client) toggle_open(2) //forces the icons to refresh on screen -/obj/screen/movable/ability_master/proc/remove_ability(var/obj/screen/ability/ability) +/atom/movable/screen/movable/ability_master/proc/remove_ability(var/atom/movable/screen/ability/ability) if(!ability) return ability_objects.Remove(ability) @@ -123,28 +123,28 @@ toggle_open(showing + 1) update_icon() -/obj/screen/movable/ability_master/proc/remove_all_abilities() - for(var/obj/screen/ability/A in ability_objects) +/atom/movable/screen/movable/ability_master/proc/remove_all_abilities() + for(var/atom/movable/screen/ability/A in ability_objects) remove_ability(A) -/obj/screen/movable/ability_master/proc/remove_all_psionic_abilities() - for(var/obj/screen/ability/obj_based/psionic/A in ability_objects) +/atom/movable/screen/movable/ability_master/proc/remove_all_psionic_abilities() + for(var/atom/movable/screen/ability/obj_based/psionic/A in ability_objects) remove_ability(A) -/obj/screen/movable/ability_master/proc/get_ability_by_name(name_to_search) - for(var/obj/screen/ability/A in ability_objects) +/atom/movable/screen/movable/ability_master/proc/get_ability_by_name(name_to_search) + for(var/atom/movable/screen/ability/A in ability_objects) if(A.name == name_to_search) return A return -/obj/screen/movable/ability_master/proc/get_ability_by_proc_ref(proc_ref) - for(var/obj/screen/ability/verb_based/V in ability_objects) +/atom/movable/screen/movable/ability_master/proc/get_ability_by_proc_ref(proc_ref) + for(var/atom/movable/screen/ability/verb_based/V in ability_objects) if(V.verb_to_call == proc_ref) return V return -/obj/screen/movable/ability_master/proc/get_ability_by_instance(var/obj/instance/) - for(var/obj/screen/ability/obj_based/O in ability_objects) +/atom/movable/screen/movable/ability_master/proc/get_ability_by_instance(var/obj/instance/) + for(var/atom/movable/screen/ability/obj_based/O in ability_objects) if(O.object == instance) return O return @@ -152,7 +152,7 @@ ///////////ACTUAL ABILITIES//////////// //This is what you click to do things// /////////////////////////////////////// -/obj/screen/ability +/atom/movable/screen/ability icon = 'icons/mob/screen_spells.dmi' icon_state = "grey_spell_base" maptext_x = 3 @@ -160,9 +160,9 @@ var/ability_icon_state = null var/index = 0 - var/obj/screen/movable/ability_master/ability_master + var/atom/movable/screen/movable/ability_master/ability_master -/obj/screen/ability/Destroy() +/atom/movable/screen/ability/Destroy() if(ability_master) ability_master.ability_objects -= src if(ability_master.my_mob && ability_master.my_mob.client) @@ -172,13 +172,13 @@ ability_master = null . = ..() -/obj/screen/ability/update_icon() +/atom/movable/screen/ability/update_icon() overlays.Cut() icon_state = "[background_base_state]_spell_base" overlays += ability_icon_state -/obj/screen/ability/Click(var/location, var/control, var/params) +/atom/movable/screen/ability/Click(var/location, var/control, var/params) if(!usr) return @@ -189,22 +189,22 @@ activate() -/obj/screen/ability/MouseDrop(var/atom/A) +/atom/movable/screen/ability/MouseDrop(var/atom/A) if(!A || A == src) return - if(istype(A, /obj/screen/ability)) - var/obj/screen/ability/ability = A + if(istype(A, /atom/movable/screen/ability)) + var/atom/movable/screen/ability/ability = A if(ability.ability_master && ability.ability_master == src.ability_master) ability_master.ability_objects.Swap(src.index, ability.index) ability_master.toggle_open(2) // To update the UI. // Makes the ability be triggered. The subclasses of this are responsible for carrying it out in whatever way it needs to. -/obj/screen/ability/proc/activate() +/atom/movable/screen/ability/proc/activate() LOG_DEBUG("[src] had activate() called.") // This checks if the ability can be used. -/obj/screen/ability/proc/can_activate() +/atom/movable/screen/ability/proc/can_activate() return TRUE /client/verb/activate_ability(var/slot as num) @@ -218,30 +218,30 @@ return // No abilities. if(slot > mob.ability_master.ability_objects.len || slot <= 0) return // Out of bounds. - var/obj/screen/ability/A = mob.ability_master.ability_objects[slot] + var/atom/movable/screen/ability/A = mob.ability_master.ability_objects[slot] A.activate() //////////Verb Abilities////////// //Buttons to trigger verbs/procs// ////////////////////////////////// -/obj/screen/ability/verb_based +/atom/movable/screen/ability/verb_based var/verb_to_call = null var/object_used = null var/arguments_to_use = list() -/obj/screen/ability/verb_based/activate() +/atom/movable/screen/ability/verb_based/activate() if(object_used && verb_to_call) call(object_used,verb_to_call)(arguments_to_use) -/obj/screen/movable/ability_master/proc/add_verb_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments) +/atom/movable/screen/movable/ability_master/proc/add_verb_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments) if(!object_given) message_admins("ERROR: add_verb_ability() was not given an object in its arguments.") if(!verb_given) message_admins("ERROR: add_verb_ability() was not given a verb/proc in its arguments.") if(get_ability_by_proc_ref(verb_given)) return // Duplicate - var/obj/screen/ability/verb_based/A = new /obj/screen/ability/verb_based() + var/atom/movable/screen/ability/verb_based/A = new /atom/movable/screen/ability/verb_based() A.ability_master = src A.object_used = object_given A.verb_to_call = verb_given @@ -254,18 +254,18 @@ toggle_open(2) //forces the icons to refresh on screen //Changeling Abilities -/obj/screen/ability/verb_based/changeling +/atom/movable/screen/ability/verb_based/changeling icon_state = "ling_spell_base" background_base_state = "ling" -/obj/screen/movable/ability_master/proc/add_ling_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments) +/atom/movable/screen/movable/ability_master/proc/add_ling_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments) if(!object_given) message_admins("ERROR: add_ling_ability() was not given an object in its arguments.") if(!verb_given) message_admins("ERROR: add_ling_ability() was not given a verb/proc in its arguments.") if(get_ability_by_proc_ref(verb_given)) return // Duplicate - var/obj/screen/ability/verb_based/changeling/A = new /obj/screen/ability/verb_based/changeling() + var/atom/movable/screen/ability/verb_based/changeling/A = new /atom/movable/screen/ability/verb_based/changeling() A.ability_master = src A.object_used = object_given A.verb_to_call = verb_given @@ -282,31 +282,31 @@ //Buttons to trigger objects// ////////////////////////////// -/obj/screen/ability/obj_based +/atom/movable/screen/ability/obj_based var/obj/object -/obj/screen/ability/obj_based/activate() +/atom/movable/screen/ability/obj_based/activate() if(object) object.Click() /// Psionics. -/obj/screen/ability/obj_based/psionic +/atom/movable/screen/ability/obj_based/psionic icon_state = "nano_spell_base" background_base_state = "nano" var/singleton/psionic_power/connected_power -/obj/screen/ability/obj_based/psionic/Destroy() +/atom/movable/screen/ability/obj_based/psionic/Destroy() connected_power = null return ..() -/obj/screen/movable/ability_master/proc/add_psionic_ability(var/obj/object_given, var/ability_icon_given, var/singleton/psionic_power/P, var/mob/user) +/atom/movable/screen/movable/ability_master/proc/add_psionic_ability(var/obj/object_given, var/ability_icon_given, var/singleton/psionic_power/P, var/mob/user) if(!object_given) message_admins("ERROR: add_psionic_ability() was not given an object in its arguments.") if(!P) message_admins("Psionic ability added without connected psionic power singleton!") if(get_ability_by_instance(object_given)) return // Duplicate - var/obj/screen/ability/obj_based/psionic/A = new /obj/screen/ability/obj_based/psionic() + var/atom/movable/screen/ability/obj_based/psionic/A = new /atom/movable/screen/ability/obj_based/psionic() A.ability_master = src A.object = object_given A.ability_icon_state = ability_icon_given @@ -316,27 +316,27 @@ if(my_mob.client) toggle_open(2, user) //forces the icons to refresh on screen -/obj/screen/ability/obj_based/psionic/get_examine_text(mob/user) +/atom/movable/screen/ability/obj_based/psionic/get_examine_text(mob/user) . = ..() . += SPAN_NOTICE("This ability is [connected_power.name].") . += SPAN_NOTICE("[connected_power.desc]") /// Technomancer. -/obj/screen/ability/obj_based/technomancer +/atom/movable/screen/ability/obj_based/technomancer icon_state = "wiz_spell_base" background_base_state = "wiz" -/obj/screen/ability/obj_based/technomancer/activate() +/atom/movable/screen/ability/obj_based/technomancer/activate() if(ability_master.my_mob.incapacitated()) return . = ..() -/obj/screen/movable/ability_master/proc/add_technomancer_ability(var/obj/object_given, var/ability_icon_given) +/atom/movable/screen/movable/ability_master/proc/add_technomancer_ability(var/obj/object_given, var/ability_icon_given) if(!object_given) message_admins("ERROR: add_technomancer_ability() was not given an object in its arguments.") if(get_ability_by_instance(object_given)) return // Duplicate - var/obj/screen/ability/obj_based/technomancer/A = new /obj/screen/ability/obj_based/technomancer() + var/atom/movable/screen/ability/obj_based/technomancer/A = new /atom/movable/screen/ability/obj_based/technomancer() A.ability_master = src A.object = object_given A.ability_icon_state = ability_icon_given diff --git a/code/_onclick/hud/action.dm b/code/_onclick/hud/action.dm index 4cf276fcd09..8307aba1532 100644 --- a/code/_onclick/hud/action.dm +++ b/code/_onclick/hud/action.dm @@ -25,7 +25,7 @@ var/check_flags = 0 var/processing = 0 var/active = 0 - var/obj/screen/movable/action_button/button = null + var/atom/movable/screen/movable/action_button/button = null var/button_icon = 'icons/obj/action_buttons/actions.dmi' var/button_icon_state = "default" var/button_icon_color @@ -130,15 +130,15 @@ /datum/action/proc/UpdateName() return name -/obj/screen/movable/action_button +/atom/movable/screen/movable/action_button var/datum/action/owner screen_loc = "WEST,NORTH" -/obj/screen/movable/action_button/Destroy(force) +/atom/movable/screen/movable/action_button/Destroy(force) owner = null . = ..() -/obj/screen/movable/action_button/Click(location,control,params) +/atom/movable/screen/movable/action_button/Click(location,control,params) var/list/modifiers = params2list(params) if(modifiers["shift"]) moved = 0 @@ -148,7 +148,7 @@ owner.Trigger() return 1 -/obj/screen/movable/action_button/update_icon() +/atom/movable/screen/movable/action_button/update_icon() if(!owner) return icon = owner.button_icon @@ -173,13 +173,13 @@ color = rgb(255,255,255,255) //Hide/Show Action Buttons ... Button -/obj/screen/movable/action_button/hide_toggle +/atom/movable/screen/movable/action_button/hide_toggle name = "Hide Buttons" icon = 'icons/obj/action_buttons/actions.dmi' icon_state = "bg_default" var/hidden = 0 -/obj/screen/movable/action_button/hide_toggle/Click() +/atom/movable/screen/movable/action_button/hide_toggle/Click() usr.hud_used.action_buttons_hidden = !usr.hud_used.action_buttons_hidden hidden = usr.hud_used.action_buttons_hidden @@ -191,7 +191,7 @@ usr.update_action_buttons() -/obj/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(var/mob/living/user) +/atom/movable/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(var/mob/living/user) if(isalien(user)) icon_state = "bg_alien" else @@ -199,7 +199,7 @@ update_icon() return -/obj/screen/movable/action_button/hide_toggle/update_icon() +/atom/movable/screen/movable/action_button/hide_toggle/update_icon() ClearOverlays() AddOverlays(hidden ? "show" : "hide") @@ -220,7 +220,7 @@ var/coord_row_offset = AB_NORTH_OFFSET return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:[coord_row_offset]" -/datum/hud/proc/SetButtonCoords(var/obj/screen/button,var/number) +/datum/hud/proc/SetButtonCoords(var/atom/movable/screen/button,var/number) var/row = round((number-1)/AB_MAX_COLUMNS) var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1 var/x_offset = 32*(col-1) + AB_WEST_OFFSET + 2*col diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index 013f70c38cb..6065f249872 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -6,20 +6,20 @@ myai.computer.layer = HUD_BASE_LAYER adding = list( - new /obj/screen/ai/core, - new /obj/screen/ai/camera_list, - new /obj/screen/ai/camera_track, - new /obj/screen/ai/camera_light, - new /obj/screen/ai/crew_manifest, - new /obj/screen/ai/announcement, - new /obj/screen/ai/call_shuttle, - new /obj/screen/ai/state_laws, - new /obj/screen/ai/take_image, - new /obj/screen/ai/view_image, - new /obj/screen/ai/sensor_aug, - new /obj/screen/ai/remote_mech, - new /obj/screen/ai/move_up, - new /obj/screen/ai/move_down, + new /atom/movable/screen/ai/core, + new /atom/movable/screen/ai/camera_list, + new /atom/movable/screen/ai/camera_track, + new /atom/movable/screen/ai/camera_light, + new /atom/movable/screen/ai/crew_manifest, + new /atom/movable/screen/ai/announcement, + new /atom/movable/screen/ai/call_shuttle, + new /atom/movable/screen/ai/state_laws, + new /atom/movable/screen/ai/take_image, + new /atom/movable/screen/ai/view_image, + new /atom/movable/screen/ai/sensor_aug, + new /atom/movable/screen/ai/remote_mech, + new /atom/movable/screen/ai/move_up, + new /atom/movable/screen/ai/move_down, myai.computer ) diff --git a/code/_onclick/hud/borer_hud.dm b/code/_onclick/hud/borer_hud.dm index 3ed2796680c..3a7b76f5563 100644 --- a/code/_onclick/hud/borer_hud.dm +++ b/code/_onclick/hud/borer_hud.dm @@ -4,7 +4,7 @@ /datum/hud/proc/borer_hud() src.adding = list() - var/obj/screen/borer/chemicals/C = new /obj/screen/borer/chemicals() + var/atom/movable/screen/borer/chemicals/C = new /atom/movable/screen/borer/chemicals() adding += C var/mob/living/simple_animal/borer/B = mymob diff --git a/code/_onclick/hud/captive_brain_hud.dm b/code/_onclick/hud/captive_brain_hud.dm index c8abae4ebc8..c2052872255 100644 --- a/code/_onclick/hud/captive_brain_hud.dm +++ b/code/_onclick/hud/captive_brain_hud.dm @@ -4,7 +4,7 @@ /datum/hud/proc/captive_brain_hud() src.adding = list() - var/obj/screen/resist = new /obj/screen() + var/atom/movable/screen/resist = new /atom/movable/screen() resist.name = "resist" resist.icon = 'icons/mob/screen/captive_brain.dmi' resist.icon_state = "resist" diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index cef60f055c6..e55d6cb73cb 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -2,7 +2,7 @@ condition ? overlay_fullscreen(screen_name, screen_type, arg) : clear_fullscreen(screen_name) /mob/proc/overlay_fullscreen(category, type, severity, animated = 0) - var/obj/screen/fullscreen/screen = screens[category] + var/atom/movable/screen/fullscreen/screen = screens[category] if(screen) if(screen.type != type) @@ -27,7 +27,7 @@ return screen /mob/proc/clear_fullscreen(category, animated = 10) - var/obj/screen/fullscreen/screen = screens[category] + var/atom/movable/screen/fullscreen/screen = screens[category] if(!screen) return @@ -41,7 +41,7 @@ client.screen -= screen qdel(screen) -/mob/proc/clear_fullscreen_after_animate(obj/screen/fullscreen/screen) +/mob/proc/clear_fullscreen_after_animate(atom/movable/screen/fullscreen/screen) if(client) client.screen -= screen qdel(screen) @@ -60,7 +60,7 @@ for(var/category in screens) client.screen |= screens[category] -/obj/screen/fullscreen +/atom/movable/screen/fullscreen icon = 'icons/mob/screen/full.dmi' icon_state = "default" screen_loc = "CENTER-7,CENTER-7" @@ -70,87 +70,87 @@ var/severity = 0 var/allstate = 0 //shows if it should show up for dead people too -/obj/screen/fullscreen/Destroy() +/atom/movable/screen/fullscreen/Destroy() severity = 0 return ..() -/obj/screen/fullscreen/brute +/atom/movable/screen/fullscreen/brute icon_state = "brutedamageoverlay" layer = DAMAGE_LAYER -/obj/screen/fullscreen/oxy +/atom/movable/screen/fullscreen/oxy icon_state = "oxydamageoverlay" layer = DAMAGE_LAYER -/obj/screen/fullscreen/crit +/atom/movable/screen/fullscreen/crit icon_state = "passage" layer = CRIT_LAYER -/obj/screen/fullscreen/strong_pain +/atom/movable/screen/fullscreen/strong_pain icon_state = "strong_pain" layer = CRIT_LAYER -/obj/screen/fullscreen/blind +/atom/movable/screen/fullscreen/blind icon_state = "blackimageoverlay" layer = BLIND_LAYER -/obj/screen/fullscreen/blackout +/atom/movable/screen/fullscreen/blackout icon_state = "blackout" layer = BLIND_LAYER -/obj/screen/fullscreen/impaired +/atom/movable/screen/fullscreen/impaired icon_state = "impairedoverlay" -/obj/screen/fullscreen/blurry +/atom/movable/screen/fullscreen/blurry icon = 'icons/mob/screen/effects.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "blurry" alpha = 100 -/obj/screen/fullscreen/pain +/atom/movable/screen/fullscreen/pain icon_state = "brutedamageoverlay6" alpha = 0 -/obj/screen/fullscreen/flash +/atom/movable/screen/fullscreen/flash icon = 'icons/mob/screen/effects.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "flash" -/obj/screen/fullscreen/flash/noise +/atom/movable/screen/fullscreen/flash/noise icon_state = "noise" alpha = 127 -/obj/screen/fullscreen/noise +/atom/movable/screen/fullscreen/noise icon = 'icons/effects/static.dmi' icon_state = "1 light" screen_loc = ui_entire_screen alpha = 127 -/obj/screen/fullscreen/fadeout +/atom/movable/screen/fullscreen/fadeout icon = 'icons/mob/screen/effects.dmi' icon_state = "black" screen_loc = ui_entire_screen alpha = 0 allstate = 1 -/obj/screen/fullscreen/fadeout/Initialize() +/atom/movable/screen/fullscreen/fadeout/Initialize() . = ..() animate(src, alpha = 255, time = 10) -/obj/screen/fullscreen/scanline +/atom/movable/screen/fullscreen/scanline icon = 'icons/effects/static.dmi' icon_state = "scanlines" screen_loc = ui_entire_screen alpha = 50 -/obj/screen/fullscreen/frenzy +/atom/movable/screen/fullscreen/frenzy icon_state = "frenzyoverlay" layer = BLIND_LAYER -/obj/screen/fullscreen/teleport +/atom/movable/screen/fullscreen/teleport icon_state = "teleport" -/obj/screen/fullscreen/blueprints +/atom/movable/screen/fullscreen/blueprints icon = 'icons/effects/blueprints.dmi' icon_state = "base" screen_loc = ui_entire_screen diff --git a/code/_onclick/hud/gun_mode.dm b/code/_onclick/hud/gun_mode.dm index 5e3f1363975..ef2b8bd110a 100644 --- a/code/_onclick/hud/gun_mode.dm +++ b/code/_onclick/hud/gun_mode.dm @@ -1,20 +1,20 @@ -/obj/screen/gun +/atom/movable/screen/gun name = "gun" icon = 'icons/mob/screen/generic.dmi' master = null dir = 2 -/obj/screen/gun/Click(location, control, params) +/atom/movable/screen/gun/Click(location, control, params) if(!usr) return return 1 -/obj/screen/gun/move +/atom/movable/screen/gun/move name = "Allow Movement" icon_state = "no_walk1" screen_loc = ui_gun2 -/obj/screen/gun/move/Click(location, control, params) +/atom/movable/screen/gun/move/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) @@ -23,12 +23,12 @@ return 1 return 0 -/obj/screen/gun/item +/atom/movable/screen/gun/item name = "Allow Item Use" icon_state = "no_item1" screen_loc = ui_gun1 -/obj/screen/gun/item/Click(location, control, params) +/atom/movable/screen/gun/item/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) @@ -37,12 +37,12 @@ return 1 return 0 -/obj/screen/gun/mode +/atom/movable/screen/gun/mode name = "Toggle Gun Mode" icon_state = "gun0" screen_loc = ui_gun_select -/obj/screen/gun/mode/Click(location, control, params) +/atom/movable/screen/gun/mode/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) @@ -51,12 +51,12 @@ return 1 return 0 -/obj/screen/gun/radio +/atom/movable/screen/gun/radio name = "Allow Radio Use" icon_state = "no_radio1" screen_loc = ui_gun4 -/obj/screen/gun/radio/Click(location, control, params) +/atom/movable/screen/gun/radio/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) @@ -65,13 +65,13 @@ return 1 return 0 -/obj/screen/gun/burstfire +/atom/movable/screen/gun/burstfire name = "Toggle Firing Mode" desc = "This can be used in a macro as toggle-firing-mode." icon_state = "toggle_burst_fire" screen_loc = ui_burstfire -/obj/screen/gun/burstfire/Click(location, control, params) +/atom/movable/screen/gun/burstfire/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) @@ -86,13 +86,13 @@ if(istype(dakka)) dakka.toggle_firing_mode(user) -/obj/screen/gun/uniqueaction +/atom/movable/screen/gun/uniqueaction name = "Unique Action" desc = "This can be used in a macro as unique-action." icon_state = "unique_action" screen_loc = ui_uniqueaction -/obj/screen/gun/uniqueaction/Click(location, control, params) +/atom/movable/screen/gun/uniqueaction/Click(location, control, params) if(..()) var/mob/living/user = usr if(istype(user)) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 52533877624..c2c6ca9a010 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -5,24 +5,24 @@ var/datum/global_hud/global_hud // Initialized in SSatoms. var/list/global_huds -/datum/hud/var/obj/screen/grab_intent -/datum/hud/var/obj/screen/hurt_intent -/datum/hud/var/obj/screen/disarm_intent -/datum/hud/var/obj/screen/help_intent +/datum/hud/var/atom/movable/screen/grab_intent +/datum/hud/var/atom/movable/screen/hurt_intent +/datum/hud/var/atom/movable/screen/disarm_intent +/datum/hud/var/atom/movable/screen/help_intent /datum/global_hud - var/obj/screen/vr_control - var/obj/screen/druggy - var/obj/screen/blurry + var/atom/movable/screen/vr_control + var/atom/movable/screen/druggy + var/atom/movable/screen/blurry var/list/vimpaired var/list/darkMask - var/obj/screen/nvg - var/obj/screen/thermal - var/obj/screen/meson - var/obj/screen/science + var/atom/movable/screen/nvg + var/atom/movable/screen/thermal + var/atom/movable/screen/meson + var/atom/movable/screen/science /datum/global_hud/proc/setup_overlay(var/icon_state, var/color) - var/obj/screen/screen = new /obj/screen() + var/atom/movable/screen/screen = new /atom/movable/screen() screen.alpha = 25 // Adjust this if you want goggle overlays to be thinner or thicker. screen.screen_loc = "SOUTHWEST to NORTHEAST" // Will tile up to the whole screen, scaling beyond 15x15 if needed. screen.icon = 'icons/obj/hud_tiled.dmi' @@ -34,7 +34,7 @@ var/list/global_huds /datum/global_hud/New() //420erryday psychedellic colours screen overlay for when you are high - druggy = new /obj/screen() + druggy = new /atom/movable/screen() druggy.screen_loc = ui_entire_screen druggy.icon_state = "druggy" druggy.layer = IMPAIRED_LAYER @@ -43,14 +43,14 @@ var/list/global_huds druggy.blend_mode = BLEND_MULTIPLY //that white blurry effect you get when you eyes are damaged - blurry = new /obj/screen() + blurry = new /atom/movable/screen() blurry.screen_loc = ui_entire_screen blurry.icon_state = "blurry" blurry.layer = IMPAIRED_LAYER blurry.mouse_opacity = MOUSE_OPACITY_TRANSPARENT blurry.alpha = 100 - vr_control = new /obj/screen() + vr_control = new /atom/movable/screen() vr_control.icon = 'icons/mob/screen/full.dmi' vr_control.icon_state = "vr_control" vr_control.screen_loc = "1,1" @@ -62,10 +62,10 @@ var/list/global_huds meson = setup_overlay("scanline", "#9fd800") science = setup_overlay("scanline", "#d600d6") - var/obj/screen/O + var/atom/movable/screen/O var/i //that nasty looking dither you get when you're short-sighted - vimpaired = newlist(/obj/screen,/obj/screen,/obj/screen,/obj/screen) + vimpaired = newlist(/atom/movable/screen,/atom/movable/screen,/atom/movable/screen,/atom/movable/screen) O = vimpaired[1] O.screen_loc = "1,1 to 5,15" O = vimpaired[2] @@ -76,7 +76,7 @@ var/list/global_huds O.screen_loc = "11,1 to 15,15" //welding mask overlay black/dither - darkMask = newlist(/obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen) + darkMask = newlist(/atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen) O = darkMask[1] O.screen_loc = "WEST+2,SOUTH+2 to WEST+4,NORTH-2" O = darkMask[2] @@ -136,18 +136,18 @@ var/list/global_huds ///Boolean, if the action buttons are hidden var/action_buttons_hidden = FALSE - var/obj/screen/blobpwrdisplay - var/obj/screen/blobhealthdisplay - var/obj/screen/r_hand_hud_object - var/obj/screen/l_hand_hud_object - var/obj/screen/action_intent - var/obj/screen/movement_intent/move_intent + var/atom/movable/screen/blobpwrdisplay + var/atom/movable/screen/blobhealthdisplay + var/atom/movable/screen/r_hand_hud_object + var/atom/movable/screen/l_hand_hud_object + var/atom/movable/screen/action_intent + var/atom/movable/screen/movement_intent/move_intent var/list/adding var/list/other - var/list/obj/screen/hotkeybuttons + var/list/atom/movable/screen/hotkeybuttons - var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle + var/atom/movable/screen/movable/action_button/hide_toggle/hide_actions_toggle /datum/hud/New(mob/owner) mymob = owner diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 649e772e952..2e25181a1ee 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -16,14 +16,14 @@ src.hotkeybuttons = list() //These can be disabled for hotkey usersx var/list/hud_elements = list() - var/obj/screen/using - var/obj/screen/inventory/inv_box + var/atom/movable/screen/using + var/atom/movable/screen/inventory/inv_box // Draw the various inventory equipment slots. var/has_hidden_gear for(var/gear_slot in hud_data.gear) var/list/slot_data = hud_data.gear[gear_slot] - var/hud_type = /obj/screen/inventory + var/hud_type = /atom/movable/screen/inventory if(slot_data["slot_type"]) hud_type = slot_data["slot_type"] inv_box = new hud_type() @@ -47,7 +47,7 @@ src.adding += inv_box if(has_hidden_gear) - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "toggle" using.icon = ui_style using.icon_state = "other" @@ -59,7 +59,7 @@ // Draw the attack intent dialogue. if(hud_data.has_a_intent) - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "act_intent" using.icon = ui_style using.icon_state = "intent_"+mymob.a_intent @@ -77,7 +77,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = I_HELP using.icon = ico using.screen_loc = ui_acti @@ -88,7 +88,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = I_DISARM using.icon = ico using.screen_loc = ui_acti @@ -99,7 +99,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = I_GRAB using.icon = ico using.screen_loc = ui_acti @@ -110,7 +110,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = I_HURT using.icon = ico using.screen_loc = ui_acti @@ -120,7 +120,7 @@ //end intent small hud objects if(hud_data.has_m_intent) - using = new /obj/screen/movement_intent() + using = new /atom/movable/screen/movement_intent() using.icon = ui_style using.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") using.color = ui_color @@ -129,7 +129,7 @@ move_intent = using if(hud_data.has_drop) - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "drop" using.icon = ui_style using.icon_state = "act_drop" @@ -140,7 +140,7 @@ if(hud_data.has_hands) - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "equip" using.icon = ui_style using.icon_state = "act_equip" @@ -149,7 +149,7 @@ using.alpha = ui_alpha src.adding += using - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.hud = src inv_box.name = "right hand" inv_box.icon = ui_style @@ -164,7 +164,7 @@ src.r_hand_hud_object = inv_box src.adding += inv_box - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.hud = src inv_box.name = "left hand" inv_box.icon = ui_style @@ -180,7 +180,7 @@ target.update_hud_hands() - using = new /obj/screen/inventory() + using = new /atom/movable/screen/inventory() using.name = "hand" using.icon = ui_style using.icon_state = "hand1" @@ -190,7 +190,7 @@ using.hud = src src.adding += using - using = new /obj/screen/inventory() + using = new /atom/movable/screen/inventory() using.name = "hand" using.icon = ui_style using.icon_state = "hand2" @@ -201,7 +201,7 @@ src.adding += using if(hud_data.has_resist) - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "resist" using.icon = ui_style using.icon_state = "act_resist" @@ -211,7 +211,7 @@ src.hotkeybuttons += using if(hud_data.has_throw) - mymob.throw_icon = new /obj/screen() + mymob.throw_icon = new /atom/movable/screen() mymob.throw_icon.icon = ui_style mymob.throw_icon.icon_state = "act_throw_off" mymob.throw_icon.name = "throw" @@ -221,7 +221,7 @@ src.hotkeybuttons += mymob.throw_icon hud_elements |= mymob.throw_icon - mymob.pullin = new /obj/screen() + mymob.pullin = new /atom/movable/screen() mymob.pullin.icon = ui_style mymob.pullin.icon_state = "pull0" mymob.pullin.name = "pull" @@ -230,42 +230,42 @@ hud_elements |= mymob.pullin if(hud_data.has_internals) - mymob.internals = new /obj/screen/internals() + mymob.internals = new /atom/movable/screen/internals() mymob.internals.icon = ui_style hud_elements |= mymob.internals if(!isnull(target.internal)) mymob.internals.icon_state = "internal1" if(hud_data.has_warnings) - mymob.oxygen = new /obj/screen/oxygen() + mymob.oxygen = new /atom/movable/screen/oxygen() mymob.oxygen.icon = 'icons/mob/status_indicators.dmi' mymob.oxygen.icon_state = "oxy0" mymob.oxygen.name = "oxygen" mymob.oxygen.screen_loc = ui_temp hud_elements |= mymob.oxygen - mymob.toxin = new /obj/screen/toxins() + mymob.toxin = new /atom/movable/screen/toxins() mymob.toxin.icon = 'icons/mob/status_indicators.dmi' mymob.toxin.icon_state = "tox0" mymob.toxin.name = "toxin" mymob.toxin.screen_loc = ui_temp hud_elements |= mymob.toxin - mymob.fire = new /obj/screen() + mymob.fire = new /atom/movable/screen() mymob.fire.icon = ui_style mymob.fire.icon_state = "fire0" mymob.fire.name = "fire" mymob.fire.screen_loc = ui_fire hud_elements |= mymob.fire - mymob.paralysis_indicator = new /obj/screen/paralysis() + mymob.paralysis_indicator = new /atom/movable/screen/paralysis() mymob.paralysis_indicator.icon = 'icons/mob/status_indicators.dmi' mymob.paralysis_indicator.icon_state = "paralysis0" mymob.paralysis_indicator.name = "paralysis" mymob.paralysis_indicator.screen_loc = ui_paralysis hud_elements |= mymob.paralysis_indicator - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = ui_style mymob.healths.icon_state = "health0" mymob.healths.name = "health" @@ -276,7 +276,7 @@ hud_elements |= mymob.healths if(hud_data.has_pressure) - mymob.pressure = new /obj/screen/pressure() + mymob.pressure = new /atom/movable/screen/pressure() mymob.pressure.icon = 'icons/mob/status_indicators.dmi' mymob.pressure.icon_state = "pressure0" mymob.pressure.name = "pressure" @@ -284,7 +284,7 @@ hud_elements |= mymob.pressure if(hud_data.has_bodytemp) - mymob.bodytemp = new /obj/screen/bodytemp() + mymob.bodytemp = new /atom/movable/screen/bodytemp() mymob.bodytemp.icon = 'icons/mob/status_indicators.dmi' mymob.bodytemp.icon_state = "temp1" mymob.bodytemp.name = "body temperature" @@ -292,7 +292,7 @@ hud_elements |= mymob.bodytemp if(hud_data.has_cell) - mymob.cells = new /obj/screen() + mymob.cells = new /atom/movable/screen() mymob.cells.icon = 'icons/mob/screen/robot.dmi' mymob.cells.icon_state = "charge-empty" mymob.cells.name = "cell" @@ -300,7 +300,7 @@ hud_elements |= target.cells if(hud_data.has_nutrition) - mymob.nutrition_icon = new /obj/screen/food() + mymob.nutrition_icon = new /atom/movable/screen/food() mymob.nutrition_icon.icon = 'icons/mob/status_hunger.dmi' mymob.nutrition_icon.pixel_w = 8 mymob.nutrition_icon.icon_state = "nutrition0" @@ -309,7 +309,7 @@ hud_elements |= mymob.nutrition_icon if(hud_data.has_hydration) - mymob.hydration_icon = new /obj/screen/thirst() + mymob.hydration_icon = new /atom/movable/screen/thirst() mymob.hydration_icon.icon = 'icons/mob/status_hunger.dmi' mymob.hydration_icon.icon_state = "thirst0" mymob.hydration_icon.name = "thirst" @@ -317,27 +317,27 @@ hud_elements |= mymob.hydration_icon if(hud_data.has_up_hint) - mymob.up_hint = new /obj/screen() + mymob.up_hint = new /atom/movable/screen() mymob.up_hint.icon = ui_style mymob.up_hint.icon_state = "uphint0" mymob.up_hint.name = "up hint" mymob.up_hint.screen_loc = ui_up_hint hud_elements |= mymob.up_hint - mymob.pain = new /obj/screen/fullscreen/pain(null) + mymob.pain = new /atom/movable/screen/fullscreen/pain(null) hud_elements |= mymob.pain - mymob.instability_display = new /obj/screen/instability() + mymob.instability_display = new /atom/movable/screen/instability() mymob.instability_display.screen_loc = ui_instability_display mymob.instability_display.icon_state = "wiz_instability_none" hud_elements |= mymob.instability_display - mymob.energy_display = new /obj/screen/energy() + mymob.energy_display = new /atom/movable/screen/energy() mymob.energy_display.screen_loc = ui_energy_display mymob.energy_display.icon_state = "wiz_energy" hud_elements |= mymob.energy_display - mymob.zone_sel = new /obj/screen/zone_sel(null) + mymob.zone_sel = new /atom/movable/screen/zone_sel(null) mymob.zone_sel.icon = ui_style mymob.zone_sel.color = ui_color mymob.zone_sel.alpha = ui_alpha @@ -346,34 +346,34 @@ hud_elements |= mymob.zone_sel //Handle the gun settings buttons - mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + mymob.gun_setting_icon = new /atom/movable/screen/gun/mode(null) mymob.gun_setting_icon.icon = ui_style mymob.gun_setting_icon.color = ui_color mymob.gun_setting_icon.alpha = ui_alpha hud_elements |= mymob.gun_setting_icon - mymob.item_use_icon = new /obj/screen/gun/item(null) + mymob.item_use_icon = new /atom/movable/screen/gun/item(null) mymob.item_use_icon.icon = ui_style mymob.item_use_icon.color = ui_color mymob.item_use_icon.alpha = ui_alpha - mymob.gun_move_icon = new /obj/screen/gun/move(null) + mymob.gun_move_icon = new /atom/movable/screen/gun/move(null) mymob.gun_move_icon.icon = ui_style mymob.gun_move_icon.color = ui_color mymob.gun_move_icon.alpha = ui_alpha - mymob.radio_use_icon = new /obj/screen/gun/radio(null) + mymob.radio_use_icon = new /atom/movable/screen/gun/radio(null) mymob.radio_use_icon.icon = ui_style mymob.radio_use_icon.color = ui_color mymob.radio_use_icon.alpha = ui_alpha - mymob.toggle_firing_mode = new /obj/screen/gun/burstfire(null) + mymob.toggle_firing_mode = new /atom/movable/screen/gun/burstfire(null) mymob.toggle_firing_mode.icon = ui_style mymob.toggle_firing_mode.color = ui_color mymob.toggle_firing_mode.alpha = ui_alpha hud_elements |= mymob.toggle_firing_mode - mymob.unique_action_icon = new /obj/screen/gun/uniqueaction(null) + mymob.unique_action_icon = new /atom/movable/screen/gun/uniqueaction(null) mymob.unique_action_icon.icon = ui_style mymob.unique_action_icon.color = ui_color mymob.unique_action_icon.alpha = ui_alpha @@ -411,7 +411,7 @@ // Yes, these use icon state. Yes, these are terrible. The alternative is duplicating // a bunch of fairly blobby logic for every click override on these objects. -/obj/screen/food/Click(var/location, var/control, var/params) +/atom/movable/screen/food/Click(var/location, var/control, var/params) if(istype(usr) && usr.nutrition_icon == src) switch(icon_state) if("nutrition0") @@ -439,7 +439,7 @@ if("charge5") to_chat(usr, SPAN_DANGER("You have almost no charge left!")) -/obj/screen/thirst/Click(var/location, var/control, var/params) +/atom/movable/screen/thirst/Click(var/location, var/control, var/params) if(istype(usr) && usr.hydration_icon == src) switch(icon_state) if("thirst0") @@ -453,7 +453,7 @@ if("thirst4") to_chat(usr, SPAN_DANGER("You are entirely dehydrated!")) -/obj/screen/bodytemp/Click(var/location, var/control, var/params) +/atom/movable/screen/bodytemp/Click(var/location, var/control, var/params) if(istype(usr) && usr.bodytemp == src) switch(icon_state) if("temp4") @@ -475,7 +475,7 @@ else to_chat(usr, SPAN_NOTICE("Your body is at a comfortable temperature.")) -/obj/screen/pressure/Click(var/location, var/control, var/params) +/atom/movable/screen/pressure/Click(var/location, var/control, var/params) if(istype(usr) && usr.pressure == src) switch(icon_state) if("pressure2") @@ -489,45 +489,45 @@ else to_chat(usr, SPAN_NOTICE("The local air pressure is comfortable.")) -/obj/screen/toxins/Click(var/location, var/control, var/params) +/atom/movable/screen/toxins/Click(var/location, var/control, var/params) if(istype(usr) && usr.toxin == src) if(icon_state == "tox0") to_chat(usr, SPAN_NOTICE("The air is clear of toxins.")) else to_chat(usr, SPAN_DANGER("The air is eating away at your skin!")) -/obj/screen/oxygen/Click(var/location, var/control, var/params) +/atom/movable/screen/oxygen/Click(var/location, var/control, var/params) if(istype(usr) && usr.oxygen == src) if(icon_state == "oxy0") to_chat(usr, SPAN_NOTICE("You are breathing easy.")) else to_chat(usr, SPAN_DANGER("You cannot breathe!")) -/obj/screen/paralysis/Click(var/location, var/control, var/params) +/atom/movable/screen/paralysis/Click(var/location, var/control, var/params) if(istype(usr) && usr.paralysis_indicator == src) if(usr.paralysis) to_chat(usr, SPAN_WARNING("You are completely paralyzed and cannot move!")) else to_chat(usr, SPAN_NOTICE("You are walking around completely fine.")) -/obj/screen/instability +/atom/movable/screen/instability name = "instability" icon = 'icons/mob/screen_gen.dmi' icon_state = "instability-1" invisibility = 101 -/obj/screen/energy +/atom/movable/screen/energy name = "energy" icon = 'icons/mob/screen_gen.dmi' icon_state = "wiz_energy" invisibility = 101 -/obj/screen/status +/atom/movable/screen/status icon = 'icons/mob/screen/midnight.dmi' icon_state = "status_template" var/status_message -/obj/screen/status/Initialize(mapload, var/set_icon, var/set_overlay, var/set_status_message) +/atom/movable/screen/status/Initialize(mapload, var/set_icon, var/set_overlay, var/set_status_message) icon = set_icon var/image/status_overlay = image('icons/mob/screen/hud_status.dmi', null, set_overlay) status_overlay.appearance_flags = RESET_COLOR @@ -535,7 +535,7 @@ status_message = set_status_message return ..() -/obj/screen/status/Click(var/location, var/control, var/params) +/atom/movable/screen/status/Click(var/location, var/control, var/params) var/list/modifiers = params2list(params) if(status_message && modifiers["shift"]) to_chat(usr, status_message) diff --git a/code/_onclick/hud/morph.dm b/code/_onclick/hud/morph.dm index 12dcb8023eb..d51a176213c 100644 --- a/code/_onclick/hud/morph.dm +++ b/code/_onclick/hud/morph.dm @@ -2,24 +2,24 @@ HUD.morph_hud() /datum/hud/proc/morph_hud() - var/obj/screen/mov_intent = new /obj/screen/movement_intent() + var/atom/movable/screen/mov_intent = new /atom/movable/screen/movement_intent() mov_intent.set_dir(SOUTHWEST) mov_intent.icon = 'icons/mob/screen/morph.dmi' mov_intent.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") move_intent = mov_intent - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.name = "health" mymob.healths.icon = 'icons/mob/screen/morph.dmi' mymob.healths.icon_state = "health0" mymob.healths.screen_loc = ui_alien_health - mymob.zone_sel = new /obj/screen/zone_sel() + mymob.zone_sel = new /atom/movable/screen/zone_sel() mymob.zone_sel.icon = 'icons/mob/screen/morph.dmi' mymob.zone_sel.ClearOverlays() mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]")) - var/obj/screen/resist = new /obj/screen() + var/atom/movable/screen/resist = new /atom/movable/screen() resist.name = "resist" resist.icon = 'icons/mob/screen/morph.dmi' resist.icon_state = "act_resist" diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 39a937ed698..ef0e401edf1 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -8,18 +8,18 @@ //Movable Screen Object //Not tied to the grid, places it's center where the cursor is -/obj/screen/movable +/atom/movable/screen/movable var/snap2grid = FALSE var/moved = FALSE //Snap Screen Object //Tied to the grid, snaps to the nearest turf -/obj/screen/movable/snap +/atom/movable/screen/movable/snap snap2grid = TRUE -/obj/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) +/atom/movable/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) var/list/PM = params2list(params) //No screen-loc information? abort. @@ -44,7 +44,7 @@ var/pix_Y = text2num(screen_loc_Y[2]) - 16 screen_loc = "[screen_loc_X[1]]:[pix_X],[screen_loc_Y[1]]:[pix_Y]" -/obj/screen/movable/proc/encode_screen_X(X, var/mob/user = usr) +/atom/movable/screen/movable/proc/encode_screen_X(X, var/mob/user = usr) if(X > user?.client?.view+1) . = "EAST-[user?.client?.view*2 + 1-X]" else if(X < user?.client?.view+1) @@ -52,7 +52,7 @@ else . = "CENTER" -/obj/screen/movable/proc/decode_screen_X(X, var/mob/user = usr) +/atom/movable/screen/movable/proc/decode_screen_X(X, var/mob/user = usr) //Find EAST/WEST implementations if(findtext(X,"EAST-")) var/num = text2num(copytext(X,6)) //Trim EAST- @@ -67,7 +67,7 @@ else if(findtext(X,"CENTER")) . = user?.client?.view+1 -/obj/screen/movable/proc/encode_screen_Y(Y, var/mob/user = usr) +/atom/movable/screen/movable/proc/encode_screen_Y(Y, var/mob/user = usr) if(Y > user?.client?.view+1) . = "NORTH-[user?.client?.view*2 + 1-Y]" else if(Y < user?.client?.view+1) @@ -75,7 +75,7 @@ else . = "CENTER" -/obj/screen/movable/proc/decode_screen_Y(Y, var/mob/user = usr) +/atom/movable/screen/movable/proc/decode_screen_Y(Y, var/mob/user = usr) if(findtext(Y,"NORTH-")) var/num = text2num(copytext(Y,7)) //Trim NORTH- if(!num) @@ -94,7 +94,7 @@ set category = "Debug" set name = "Spawn Movable UI Object" - var/obj/screen/movable/M = new() + var/atom/movable/screen/movable/M = new() M.name = "Movable UI Object" M.icon_state = "block" M.maptext = "Movable" @@ -113,7 +113,7 @@ set category = "Debug" set name = "Spawn Snap UI Object" - var/obj/screen/movable/snap/S = new() + var/atom/movable/screen/movable/snap/S = new() S.name = "Snap UI Object" S.icon_state = "block" S.maptext = "Snap" diff --git a/code/_onclick/hud/nymph_hud.dm b/code/_onclick/hud/nymph_hud.dm index d2c97f00fc1..aafecd0b248 100644 --- a/code/_onclick/hud/nymph_hud.dm +++ b/code/_onclick/hud/nymph_hud.dm @@ -6,22 +6,22 @@ src.adding = list() src.other = list() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/movement_intent() + using = new /atom/movable/screen/movement_intent() using.set_dir(SOUTHWEST) using.icon = 'icons/mob/screen/diona_nymph.dmi' using.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") src.adding += using move_intent = using - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen/diona_nymph.dmi' mymob.healths.icon_state = "health0" mymob.healths.name = "health" mymob.healths.screen_loc = ui_alien_health - mymob.fire = new /obj/screen() + mymob.fire = new /atom/movable/screen() mymob.fire.icon = 'icons/mob/screen/diona_nymph.dmi' mymob.fire.icon_state = "fire0" mymob.fire.name = "fire" diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm index bb88ce688f1..df453377559 100644 --- a/code/_onclick/hud/other_mobs.dm +++ b/code/_onclick/hud/other_mobs.dm @@ -16,12 +16,12 @@ /datum/hud/proc/blob_hud(ui_style = 'icons/mob/screen/midnight.dmi') - blobpwrdisplay = new /obj/screen() + blobpwrdisplay = new /atom/movable/screen() blobpwrdisplay.name = "blob power" blobpwrdisplay.icon_state = "block" blobpwrdisplay.screen_loc = ui_health - blobhealthdisplay = new /obj/screen() + blobhealthdisplay = new /atom/movable/screen() blobhealthdisplay.name = "blob health" blobhealthdisplay.icon_state = "block" blobhealthdisplay.screen_loc = ui_internal @@ -37,9 +37,9 @@ src.adding = list() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "act_intent" using.set_dir(SOUTHWEST) using.icon = ui_style @@ -54,7 +54,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = "help" using.icon = ico using.screen_loc = ui_zonesel @@ -64,7 +64,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = "disarm" using.icon = ico using.screen_loc = ui_zonesel @@ -74,7 +74,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = "grab" using.icon = ico using.screen_loc = ui_zonesel @@ -84,7 +84,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) - using = new /obj/screen( src ) + using = new /atom/movable/screen( src ) using.name = I_HURT using.icon = ico using.screen_loc = ui_zonesel @@ -112,31 +112,31 @@ constructtype = "harvester" if(constructtype) - mymob.fire = new /obj/screen() + mymob.fire = new /atom/movable/screen() mymob.fire.icon = 'icons/mob/screen/construct.dmi' mymob.fire.icon_state = "fire0" mymob.fire.name = "fire" mymob.fire.screen_loc = ui_construct_fire - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen/construct.dmi' mymob.healths.icon_state = "[constructtype]_health0" mymob.healths.name = "health" mymob.healths.screen_loc = ui_construct_health - mymob.pullin = new /obj/screen() + mymob.pullin = new /atom/movable/screen() mymob.pullin.icon = 'icons/mob/screen/construct.dmi' mymob.pullin.icon_state = "pull0" mymob.pullin.name = "pull" mymob.pullin.screen_loc = ui_construct_pull - mymob.zone_sel = new /obj/screen/zone_sel() + mymob.zone_sel = new /atom/movable/screen/zone_sel() mymob.zone_sel.icon = 'icons/mob/screen/construct.dmi' mymob.zone_sel.ClearOverlays() mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]")) - mymob.purged = new /obj/screen() + mymob.purged = new /atom/movable/screen() mymob.purged.icon = 'icons/mob/screen/construct.dmi' mymob.purged.icon_state = "purge0" mymob.purged.name = "purged" diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 3dbdebceefb..eaef5fee7c0 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -3,54 +3,54 @@ GLOBAL_LIST_EMPTY(radial_menus) -/obj/screen/radial +/atom/movable/screen/radial icon = 'icons/mob/screen/radial.dmi' layer = RADIAL_BASE_LAYER var/datum/radial_menu/parent -/obj/screen/radial/Destroy() +/atom/movable/screen/radial/Destroy() QDEL_NULL(parent) return ..() -/obj/screen/radial/slice +/atom/movable/screen/radial/slice icon_state = "radial_slice" var/choice var/next_page = FALSE var/tooltips = FALSE -/obj/screen/radial/slice/MouseEntered(location, control, params) +/atom/movable/screen/radial/slice/MouseEntered(location, control, params) . = ..() icon_state = "radial_slice_focus" if(tooltips) openToolTip(usr, src, params, title = name) -/obj/screen/radial/slice/MouseExited(location, control, params) +/atom/movable/screen/radial/slice/MouseExited(location, control, params) . = ..() icon_state = "radial_slice" if(tooltips) closeToolTip(usr) -/obj/screen/radial/slice/Click(location, control, params) +/atom/movable/screen/radial/slice/Click(location, control, params) if(usr.client == parent.current_user) if(next_page) parent.next_page() else parent.element_chosen(choice,usr) -/obj/screen/radial/center +/atom/movable/screen/radial/center name = "Close Menu" icon_state = "radial_center" -/obj/screen/radial/center/MouseEntered(location, control, params) +/atom/movable/screen/radial/center/MouseEntered(location, control, params) . = ..() icon_state = "radial_center_focus" -/obj/screen/radial/center/MouseExited(location, control, params) +/atom/movable/screen/radial/center/MouseExited(location, control, params) . = ..() icon_state = "radial_center" -/obj/screen/radial/center/Click(location, control, params) +/atom/movable/screen/radial/center/Click(location, control, params) if(usr.client == parent.current_user) parent.finished = TRUE @@ -62,8 +62,8 @@ GLOBAL_LIST_EMPTY(radial_menus) var/selected_choice - var/list/obj/screen/elements = list() - var/obj/screen/radial/center/close_button + var/list/atom/movable/screen/elements = list() + var/atom/movable/screen/radial/center/close_button var/client/current_user var/atom/anchor var/image/menu_holder @@ -125,7 +125,7 @@ GLOBAL_LIST_EMPTY(radial_menus) if(elements.len < max_elements) var/elements_to_add = max_elements - elements.len for(var/i in 1 to elements_to_add) //Create all elements - var/obj/screen/radial/slice/new_element = new /obj/screen/radial/slice + var/atom/movable/screen/radial/slice/new_element = new /atom/movable/screen/radial/slice new_element.tooltips = use_tooltips new_element.parent = src elements += new_element @@ -157,14 +157,14 @@ GLOBAL_LIST_EMPTY(radial_menus) var/list/page_choices = page_data[current_page] var/angle_per_element = round(zone / page_choices.len) for(var/i in 1 to elements.len) - var/obj/screen/radial/E = elements[i] + var/atom/movable/screen/radial/E = elements[i] var/angle = Wrap(starting_angle + (i - 1) * angle_per_element,0,360) if(i > page_choices.len) HideElement(E) else SetElement(E,page_choices[i],angle,anim = anim,anim_order = i) -/datum/radial_menu/proc/HideElement(obj/screen/radial/slice/E) +/datum/radial_menu/proc/HideElement(atom/movable/screen/radial/slice/E) E.overlays.Cut() E.alpha = 0 E.name = "None" @@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(radial_menus) E.choice = null E.next_page = FALSE -/datum/radial_menu/proc/SetElement(obj/screen/radial/slice/E,choice_id,angle,anim,anim_order) +/datum/radial_menu/proc/SetElement(atom/movable/screen/radial/slice/E,choice_id,angle,anim,anim_order) //Position var/py = round(cos(angle) * radius) + py_shift var/px = round(sin(angle) * radius) @@ -285,7 +285,7 @@ GLOBAL_LIST_EMPTY(radial_menus) menu_holder.vis_contents = null elements -= src - for(var/obj/screen/radial/slice/possibly_our_child in elements) + for(var/atom/movable/screen/radial/slice/possibly_our_child in elements) if(possibly_our_child.parent == src) possibly_our_child.parent = null diff --git a/code/_onclick/hud/radial_persistent.dm b/code/_onclick/hud/radial_persistent.dm index b3cdfef090a..887df639eff 100644 --- a/code/_onclick/hud/radial_persistent.dm +++ b/code/_onclick/hud/radial_persistent.dm @@ -2,19 +2,19 @@ A derivative of radial menu which persists onscreen until closed and invokes a callback each time an element is clicked */ -/obj/screen/radial/persistent/center +/atom/movable/screen/radial/persistent/center name = "Close Menu" icon_state = "radial_center" -/obj/screen/radial/persistent/center/Click(location, control, params) +/atom/movable/screen/radial/persistent/center/Click(location, control, params) if(usr.client == parent.current_user) parent.element_chosen(null,usr) -/obj/screen/radial/persistent/center/MouseEntered(location, control, params) +/atom/movable/screen/radial/persistent/center/MouseEntered(location, control, params) . = ..() icon_state = "radial_center_focus" -/obj/screen/radial/persistent/center/MouseExited(location, control, params) +/atom/movable/screen/radial/persistent/center/MouseExited(location, control, params) . = ..() icon_state = "radial_center" @@ -23,7 +23,7 @@ var/datum/callback/select_proc_callback /datum/radial_menu/persistent/New() - close_button = new /obj/screen/radial/persistent/center + close_button = new /atom/movable/screen/radial/persistent/center close_button.parent = src /datum/radial_menu/persistent/element_chosen(choice_id,mob/user) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index abf03dc6878..564b7c39fc9 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -1,4 +1,4 @@ -var/obj/screen/robot_inventory +var/atom/movable/screen/robot_inventory /mob/living/silicon/robot/instantiate_hud(datum/hud/HUD) HUD.robot_hud() @@ -8,7 +8,7 @@ var/obj/screen/robot_inventory src.adding = list() src.other = list() - var/obj/screen/using + var/atom/movable/screen/using if(!isrobot(mymob)) return @@ -16,7 +16,7 @@ var/obj/screen/robot_inventory var/mob/living/silicon/robot/r = mymob //Radio - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "radio" using.set_dir(SOUTHWEST) using.icon = 'icons/mob/screen/robot.dmi' @@ -26,22 +26,22 @@ var/obj/screen/robot_inventory //Module select - using = new /obj/screen/module/one() + using = new /atom/movable/screen/module/one() src.adding += using r.inv1 = using - using = new /obj/screen/module/two() + using = new /atom/movable/screen/module/two() src.adding += using r.inv2 = using - using = new /obj/screen/module/three() + using = new /atom/movable/screen/module/three() src.adding += using r.inv3 = using //End of module select //Intent - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "act_intent" using.set_dir(SOUTHWEST) using.icon = 'icons/mob/screen/robot.dmi' @@ -51,28 +51,28 @@ var/obj/screen/robot_inventory action_intent = using // Up Hint - mymob.up_hint = new /obj/screen() + mymob.up_hint = new /atom/movable/screen() mymob.up_hint.icon = 'icons/mob/screen/robot.dmi' mymob.up_hint.icon_state = "uphint0" mymob.up_hint.name = "up hint" mymob.up_hint.screen_loc = ui_up_hint //Cell - r.cells = new /obj/screen() + r.cells = new /atom/movable/screen() r.cells.icon = 'icons/mob/screen/robot.dmi' r.cells.icon_state = "charge-empty" r.cells.name = "cell" r.cells.screen_loc = ui_toxin //Health - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen/robot.dmi' mymob.healths.icon_state = "health0" mymob.healths.name = "health" mymob.healths.screen_loc = ui_borg_health //Installed Module - mymob.hands = new /obj/screen() + mymob.hands = new /atom/movable/screen() mymob.hands.icon = 'icons/mob/screen/robot.dmi' mymob.hands.icon_state = "nomod" mymob.hands.name = "module" @@ -87,7 +87,7 @@ var/obj/screen/robot_inventory mymob.hands.name = "Return-to-core" //Module Panel - using = new /obj/screen() + using = new /atom/movable/screen() using.name = "panel" using.icon = 'icons/mob/screen/robot.dmi' using.icon_state = "panel" @@ -95,14 +95,14 @@ var/obj/screen/robot_inventory src.adding += using //Store - mymob.throw_icon = new /obj/screen() + mymob.throw_icon = new /atom/movable/screen() mymob.throw_icon.icon = 'icons/mob/screen/robot.dmi' mymob.throw_icon.icon_state = "store" mymob.throw_icon.name = "store" mymob.throw_icon.screen_loc = ui_borg_store //Inventory - robot_inventory = new /obj/screen() + robot_inventory = new /atom/movable/screen() robot_inventory.name = "inventory" robot_inventory.icon = 'icons/mob/screen/robot.dmi' robot_inventory.icon_state = "inventory" @@ -110,13 +110,13 @@ var/obj/screen/robot_inventory //Temp - mymob.pullin = new /obj/screen() + mymob.pullin = new /atom/movable/screen() mymob.pullin.icon = 'icons/mob/screen/robot.dmi' mymob.pullin.icon_state = "pull0" mymob.pullin.name = "pull" mymob.pullin.screen_loc = ui_borg_pull - mymob.zone_sel = new /obj/screen/zone_sel() + mymob.zone_sel = new /atom/movable/screen/zone_sel() mymob.zone_sel.icon = 'icons/mob/screen/robot.dmi' mymob.zone_sel.ClearOverlays() mymob.zone_sel.AddOverlays(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]")) @@ -127,12 +127,12 @@ var/obj/screen/robot_inventory //Handle the gun settings buttons - mymob.gun_setting_icon = new /obj/screen/gun/mode(null) - mymob.item_use_icon = new /obj/screen/gun/item(null) - mymob.gun_move_icon = new /obj/screen/gun/move(null) - mymob.radio_use_icon = new /obj/screen/gun/radio(null) - mymob.toggle_firing_mode = new /obj/screen/gun/burstfire(null) - mymob.unique_action_icon = new /obj/screen/gun/uniqueaction(null) + mymob.gun_setting_icon = new /atom/movable/screen/gun/mode(null) + mymob.item_use_icon = new /atom/movable/screen/gun/item(null) + mymob.gun_move_icon = new /atom/movable/screen/gun/move(null) + mymob.radio_use_icon = new /atom/movable/screen/gun/radio(null) + mymob.toggle_firing_mode = new /atom/movable/screen/gun/burstfire(null) + mymob.unique_action_icon = new /atom/movable/screen/gun/uniqueaction(null) mymob.client.screen = null diff --git a/code/_onclick/hud/screen_object_types/ai_screen_objs.dm b/code/_onclick/hud/screen_object_types/ai_screen_objs.dm index 69cc930186b..8d8abd6c873 100644 --- a/code/_onclick/hud/screen_object_types/ai_screen_objs.dm +++ b/code/_onclick/hud/screen_object_types/ai_screen_objs.dm @@ -1,29 +1,29 @@ // AI and Borg screen objects be here. -/obj/screen/module +/atom/movable/screen/module dir = SOUTHWEST icon = 'icons/mob/screen/robot.dmi' var/mod_pos -/obj/screen/module/one +/atom/movable/screen/module/one name = "module1" icon_state = "inv1" screen_loc = ui_inv1 mod_pos = 1 -/obj/screen/module/two +/atom/movable/screen/module/two name = "module2" icon_state = "inv2" screen_loc = ui_inv2 mod_pos = 2 -/obj/screen/module/three +/atom/movable/screen/module/three name = "module3" icon_state = "inv3" screen_loc = ui_inv3 mod_pos = 3 -/obj/screen/module/Click() +/atom/movable/screen/module/Click() if (!istype(usr, /mob/living/silicon/robot)) return @@ -32,129 +32,129 @@ var/mob/living/silicon/robot/R = usr R.toggle_module(mod_pos) -/obj/screen/ai +/atom/movable/screen/ai icon = 'icons/mob/screen/ai.dmi' -/obj/screen/ai/core +/atom/movable/screen/ai/core name = "AI Core" icon_state = "ai_core" screen_loc = ui_ai_core -/obj/screen/ai/core/Click() +/atom/movable/screen/ai/core/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.view_core() -/obj/screen/ai/camera_list +/atom/movable/screen/ai/camera_list name = "Show Camera List" icon_state = "camera" screen_loc = ui_ai_camera_list -/obj/screen/ai/camera_list/Click() +/atom/movable/screen/ai/camera_list/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr var/camera = tgui_input_list(AI, "Select a camera.", "Show Camera List", AI.get_camera_list()) if (camera) AI.ai_camera_list(camera) -/obj/screen/ai/camera_track +/atom/movable/screen/ai/camera_track name = "Track With Camera" icon_state = "track" screen_loc = ui_ai_track_with_camera -/obj/screen/ai/camera_track/Click() +/atom/movable/screen/ai/camera_track/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr var/target_name = tgui_input_list(AI, "Select a mob to track.", "Track With Camera", AI.trackable_mobs()) if (target_name) AI.ai_camera_track(target_name) -/obj/screen/ai/camera_light +/atom/movable/screen/ai/camera_light name = "Toggle Camera Light" icon_state = "camera_light" screen_loc = ui_ai_camera_light -/obj/screen/ai/camera_light/Click() +/atom/movable/screen/ai/camera_light/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.toggle_camera_light() -/obj/screen/ai/crew_manifest +/atom/movable/screen/ai/crew_manifest name = "Show Crew Manifest" icon_state = "manifest" screen_loc = ui_ai_crew_manifest -/obj/screen/ai/crew_manifest/Click() +/atom/movable/screen/ai/crew_manifest/Click() if (isAI(usr)) SSrecords.open_manifest_tgui(usr) -/obj/screen/ai/announcement +/atom/movable/screen/ai/announcement name = "Announcement" icon_state = "announcement" screen_loc = ui_ai_announcement -/obj/screen/ai/announcement/Click() +/atom/movable/screen/ai/announcement/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_announcement() -/obj/screen/ai/call_shuttle +/atom/movable/screen/ai/call_shuttle name = "Call Evacuation" icon_state = "call_shuttle" screen_loc = ui_ai_shuttle -/obj/screen/ai/call_shuttle/Click() +/atom/movable/screen/ai/call_shuttle/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_call_shuttle() -/obj/screen/ai/state_laws +/atom/movable/screen/ai/state_laws name = "State Laws" icon_state = "state_laws" screen_loc = ui_ai_state_laws -/obj/screen/ai/state_laws/Click() +/atom/movable/screen/ai/state_laws/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.computer.ui_interact(usr) AI.computer.run_program("lawmanager") -/obj/screen/ai/take_image +/atom/movable/screen/ai/take_image name = "Take Image" icon_state = "take_picture" screen_loc = ui_ai_take_picture -/obj/screen/ai/take_image/Click() +/atom/movable/screen/ai/take_image/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_camera.toggle_camera_mode() -/obj/screen/ai/view_image +/atom/movable/screen/ai/view_image name = "View Images" icon_state = "view_images" screen_loc = ui_ai_view_images -/obj/screen/ai/view_image/Click() +/atom/movable/screen/ai/view_image/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_camera.viewpictures() -/obj/screen/ai/sensor_aug +/atom/movable/screen/ai/sensor_aug name = "Set Sensor Augmentation" icon_state = "ai_sensor" screen_loc = ui_ai_sensor -/obj/screen/ai/sensor_aug/Click() +/atom/movable/screen/ai/sensor_aug/Click() if (isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.sensor_mode() -/obj/screen/ai/remote_mech +/atom/movable/screen/ai/remote_mech name = "Remote Control Shell" icon_state = "remote_mech" screen_loc = ui_ai_mech -/obj/screen/ai/remote_mech/Click() +/atom/movable/screen/ai/remote_mech/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr if(AI.anchored) @@ -162,20 +162,20 @@ else to_chat(AI, SPAN_WARNING("You are unable to get a good connection while unanchored from the station systems.")) -/obj/screen/ai/move_up +/atom/movable/screen/ai/move_up name = "Move Up" icon_state = "move_up" screen_loc = ui_ai_move_up -/obj/screen/ai/move_up/Click() +/atom/movable/screen/ai/move_up/Click() if (isAI(usr)) usr.up() -/obj/screen/ai/move_down +/atom/movable/screen/ai/move_down name = "Move Down" icon_state = "move_down" screen_loc = ui_ai_move_down -/obj/screen/ai/move_down/Click() +/atom/movable/screen/ai/move_down/Click() if (isAI(usr)) usr.down() diff --git a/code/_onclick/hud/screen_object_types/borer.dm b/code/_onclick/hud/screen_object_types/borer.dm index 80d50b15058..0950cb42469 100644 --- a/code/_onclick/hud/screen_object_types/borer.dm +++ b/code/_onclick/hud/screen_object_types/borer.dm @@ -1,14 +1,14 @@ -/obj/screen/borer +/atom/movable/screen/borer icon = 'icons/mob/screen/borer.dmi' maptext_x = 5 maptext_y = 16 -/obj/screen/borer/chemicals +/atom/movable/screen/borer/chemicals name = "chemicals" icon_state = "chemicals" screen_loc = ui_alien_toxin -/obj/screen/borer/chemicals/Click(var/location, var/control, var/params) +/atom/movable/screen/borer/chemicals/Click(var/location, var/control, var/params) if(istype(usr, /mob/living/simple_animal/borer)) var/mob/living/simple_animal/borer/B = usr to_chat(usr, SPAN_NOTICE("You have [B.chemicals]u of chemicals to use for your abilities.")) diff --git a/code/_onclick/hud/screen_object_types/internals.dm b/code/_onclick/hud/screen_object_types/internals.dm index e3d47af7d18..9cac77d6af6 100644 --- a/code/_onclick/hud/screen_object_types/internals.dm +++ b/code/_onclick/hud/screen_object_types/internals.dm @@ -1,9 +1,9 @@ -/obj/screen/internals +/atom/movable/screen/internals name = "internal" screen_loc = ui_internal icon_state = "internal0" -/obj/screen/internals/Click() +/atom/movable/screen/internals/Click() if(!iscarbon(usr)) return var/mob/living/carbon/C = usr @@ -144,11 +144,11 @@ else to_chat(C, SPAN_NOTICE("You don't have a[breathes==GAS_OXYGEN ? "n oxygen" : addtext(" ",breathes)] tank.")) -/obj/screen/internals/proc/lose_internals(var/mob/living/carbon/human/user) +/atom/movable/screen/internals/proc/lose_internals(var/mob/living/carbon/human/user) icon_state = "internal0" user.internal = null -/obj/screen/internals/proc/has_internals_mask(var/mob/living/carbon/human/user) +/atom/movable/screen/internals/proc/has_internals_mask(var/mob/living/carbon/human/user) if(user.wear_mask && (user.wear_mask.item_flags & ITEM_FLAG_AIRTIGHT)) return TRUE if(user.head && (user.head.item_flags & ITEM_FLAG_AIRTIGHT)) diff --git a/code/_onclick/hud/screen_object_types/vampire.dm b/code/_onclick/hud/screen_object_types/vampire.dm index 1e36e783258..abcb017a1a3 100644 --- a/code/_onclick/hud/screen_object_types/vampire.dm +++ b/code/_onclick/hud/screen_object_types/vampire.dm @@ -1,36 +1,36 @@ -/obj/screen/vampire +/atom/movable/screen/vampire icon = 'icons/mob/screen/vampire.dmi' maptext_x = 5 maptext_y = 16 -/obj/screen/vampire/blood +/atom/movable/screen/vampire/blood name = "usable blood" icon_state = "blood" screen_loc = ui_alien_toxin -/obj/screen/vampire/blood/Click(var/location, var/control, var/params) +/atom/movable/screen/vampire/blood/Click(var/location, var/control, var/params) if(ishuman(usr)) var/datum/vampire/vampire = usr.mind.antag_datums[MODE_VAMPIRE] to_chat(usr, SPAN_NOTICE("You have [vampire.blood_usable]u of blood to use for vampiric powers.")) to_chat(usr, SPAN_WARNING("If it drops too low, you will go into a blood frenzy. You can only store a maximum of [VAMPIRE_MAX_USABLE_BLOOD]u.")) -/obj/screen/vampire/frenzy +/atom/movable/screen/vampire/frenzy name = "frenzy count" icon_state = "frenzy" screen_loc = ui_alien_fire -/obj/screen/vampire/frenzy/Click(var/location, var/control, var/params) +/atom/movable/screen/vampire/frenzy/Click(var/location, var/control, var/params) if(ishuman(usr)) var/datum/vampire/vampire = usr.mind.antag_datums[MODE_VAMPIRE] to_chat(usr, SPAN_WARNING("Your frenzy counter is at [vampire.frenzy].")) to_chat(usr, SPAN_WARNING("If it raises too high, you will gain incredible power, but they will be very unsubtle. You can lower your frenzy counter by getting out of holy areas and by obtaining usable blood.")) -/obj/screen/vampire/suck +/atom/movable/screen/vampire/suck name = "blood_suck" icon_state = "suck" screen_loc = ui_suck -/obj/screen/vampire/suck/Click(var/location, var/control, var/params) +/atom/movable/screen/vampire/suck/Click(var/location, var/control, var/params) if(ishuman(usr)) var/mob/living/carbon/human/H = usr H.vampire_drain_blood() diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 52b25db57e5..e79cd0da271 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -6,23 +6,22 @@ They are used with the client/screen list and the screen_loc var. For more information, see the byond documentation on the screen_loc and screen vars. */ -/obj/screen +/atom/movable/screen name = "" icon = 'icons/mob/screen/generic.dmi' plane = HUD_PLANE layer = HUD_BASE_LAYER - unacidable = 1 var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null // A reference to the owner HUD, if any. appearance_flags = NO_CLIENT_COLOR -/obj/screen/Initialize(mapload, ...) +/atom/movable/screen/Initialize(mapload, ...) . = ..() //This is done with signals because the screen code sucks, blame the ancient developers if(hud) RegisterSignal(hud, COMSIG_QDELETING, PROC_REF(handle_hud_destruction)) -/obj/screen/Destroy(force = FALSE) +/atom/movable/screen/Destroy(force = FALSE) master = null screen_loc = null hud = null @@ -31,13 +30,13 @@ /** * Handles the deletion of the HUD this screen is associated to */ -/obj/screen/proc/handle_hud_destruction() +/atom/movable/screen/proc/handle_hud_destruction() SIGNAL_HANDLER UnregisterSignal(hud, COMSIG_QDELETING) qdel(src) -/obj/screen/text +/atom/movable/screen/text icon = null icon_state = null mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -45,21 +44,21 @@ maptext_height = 480 maptext_width = 480 -/obj/screen/inventory +/atom/movable/screen/inventory var/slot_id //The identifier for the slot. It has nothing to do with ID cards. var/list/object_overlays = list() // Required for inventory/screen overlays. var/color_changed = FALSE -/obj/screen/inventory/MouseEntered() +/atom/movable/screen/inventory/MouseEntered() ..() add_overlays() -/obj/screen/inventory/MouseExited() +/atom/movable/screen/inventory/MouseExited() ..() CutOverlays(object_overlays) object_overlays.Cut() -/obj/screen/inventory/proc/add_overlays() +/atom/movable/screen/inventory/proc/add_overlays() var/mob/user = hud.mymob if(hud && user && slot_id) @@ -76,7 +75,7 @@ object_overlays += item_overlay AddOverlays(object_overlays) -/obj/screen/inventory/proc/set_color_for(var/set_color, var/set_time) +/atom/movable/screen/inventory/proc/set_color_for(var/set_color, var/set_time) if(color_changed) return var/old_color = color @@ -84,14 +83,14 @@ color_changed = TRUE addtimer(CALLBACK(src, PROC_REF(set_color_to), old_color), set_time) -/obj/screen/inventory/proc/set_color_to(var/set_color) +/atom/movable/screen/inventory/proc/set_color_to(var/set_color) color = set_color color_changed = FALSE -/obj/screen/close +/atom/movable/screen/close name = "close" -/obj/screen/close/Click() +/atom/movable/screen/close/Click() if(master) if(istype(master, /obj/item/storage)) var/obj/item/storage/S = master @@ -99,14 +98,14 @@ return 1 -/obj/screen/item_action +/atom/movable/screen/item_action var/obj/item/owner -/obj/screen/item_action/Destroy() +/atom/movable/screen/item_action/Destroy() owner = null . = ..() -/obj/screen/item_action/Click() +/atom/movable/screen/item_action/Click() if(!usr || !owner) return 1 if(!usr.canClick()) @@ -121,28 +120,28 @@ owner.ui_action_click() return 1 -/obj/screen/grab +/atom/movable/screen/grab name = "grab" -/obj/screen/grab/Click() +/atom/movable/screen/grab/Click() var/obj/item/grab/G = master G.s_click(src) return 1 -/obj/screen/grab/attack_hand() +/atom/movable/screen/grab/attack_hand() return -/obj/screen/grab/attackby() +/atom/movable/screen/grab/attackby() return -/obj/screen/storage +/atom/movable/screen/storage name = "storage" screen_loc = "7,7 to 10,8" plane = HUD_PLANE layer = HUD_BASE_LAYER -/obj/screen/storage/Click() +/atom/movable/screen/storage/Click() if(!usr.canClick()) return TRUE if(usr.stat || usr.paralysis || usr.stunned || usr.weakened) @@ -153,25 +152,25 @@ usr.ClickOn(master) return TRUE -/obj/screen/storage/background +/atom/movable/screen/storage/background name = "background storage" layer = HUD_BELOW_ITEM_LAYER -/obj/screen/storage/background/Initialize(mapload, var/obj/set_master, var/set_icon_state) +/atom/movable/screen/storage/background/Initialize(mapload, var/obj/set_master, var/set_icon_state) . = ..() master = set_master if(master) name = master.name icon_state = set_icon_state -/obj/screen/storage/background/Click() +/atom/movable/screen/storage/background/Click() if(usr.incapacitated()) return TRUE if(master) usr.ClickOn(master) return TRUE -/obj/screen/zone_sel +/atom/movable/screen/zone_sel name = "damage zone" icon_state = "zone_sel" screen_loc = ui_zonesel @@ -180,7 +179,7 @@ var/hovering_choice var/mutable_appearance/selecting_appearance -/obj/screen/zone_sel/Click(location, control,params) +/atom/movable/screen/zone_sel/Click(location, control,params) if(isobserver(usr)) return @@ -193,10 +192,10 @@ return set_selected_zone(choice, usr) -/obj/screen/zone_sel/MouseEntered(location, control, params) +/atom/movable/screen/zone_sel/MouseEntered(location, control, params) MouseMove(location, control, params) -/obj/screen/zone_sel/MouseMove(location, control, params) +/atom/movable/screen/zone_sel/MouseMove(location, control, params) if(isobserver(usr)) return @@ -225,12 +224,12 @@ anchored = TRUE plane = HUD_ITEM_LAYER -/obj/screen/zone_sel/MouseExited(location, control, params) +/atom/movable/screen/zone_sel/MouseExited(location, control, params) if(!isobserver(usr) && hovering_choice) remove_vis_contents(hover_overlays_cache[hovering_choice]) hovering_choice = null -/obj/screen/zone_sel/proc/get_zone_at(icon_x, icon_y) +/atom/movable/screen/zone_sel/proc/get_zone_at(icon_x, icon_y) switch(icon_y) if(1 to 3) //Feet switch(icon_x) @@ -274,7 +273,7 @@ return BP_EYES return BP_HEAD -/obj/screen/zone_sel/proc/set_selected_zone(choice, mob/user) +/atom/movable/screen/zone_sel/proc/set_selected_zone(choice, mob/user) if(isobserver(user)) return if(choice != selecting) @@ -282,12 +281,12 @@ update_icon() SEND_SIGNAL(user, COMSIG_MOB_ZONE_SEL_CHANGE, user) -/obj/screen/zone_sel/update_icon() +/atom/movable/screen/zone_sel/update_icon() ClearOverlays() selecting_appearance = mutable_appearance('icons/mob/zone_sel.dmi', "[selecting]") AddOverlays(selecting_appearance) -/obj/screen/Click(location, control, params) +/atom/movable/screen/Click(location, control, params) if(!usr) return TRUE var/list/modifiers = params2list(params) @@ -426,7 +425,7 @@ return 0 return 1 -/obj/screen/inventory/Click() +/atom/movable/screen/inventory/Click() // At this point in client Click() code we have passed the 1/10 sec check and little else // We don't even know if it's a middle click if(!usr.canClick()) @@ -453,12 +452,12 @@ return 1 -/obj/screen/movement_intent +/atom/movable/screen/movement_intent name = "mov_intent" screen_loc = ui_movi //This updates the run/walk button on the hud -/obj/screen/movement_intent/proc/update_move_icon(var/mob/living/user) +/atom/movable/screen/movement_intent/proc/update_move_icon(var/mob/living/user) if(!user.client) return @@ -481,7 +480,7 @@ #define BLACKLIST_SPECIES_RUNNING list(SPECIES_DIONA, SPECIES_DIONA_COEUS) -/obj/screen/movement_intent/Click(location, control, params) +/atom/movable/screen/movement_intent/Click(location, control, params) if(!usr) return 1 var/list/modifiers = params2list(params) @@ -539,12 +538,12 @@ #undef BLACKLIST_SPECIES_RUNNING // Hand slots are special to handle the handcuffs overlay -/obj/screen/inventory/hand +/atom/movable/screen/inventory/hand var/image/handcuff_overlay var/image/disabled_hand_overlay var/image/removed_hand_overlay -/obj/screen/inventory/hand/update_icon() +/atom/movable/screen/inventory/hand/update_icon() ..() if(!hud) return @@ -572,5 +571,5 @@ if(H.handcuffed) AddOverlays(handcuff_overlay) -/obj/screen/inventory/back +/atom/movable/screen/inventory/back name = "back" diff --git a/code/_onclick/hud/spell_screen_objects.dm b/code/_onclick/hud/spell_screen_objects.dm index c2bfb485cb6..14707e7cd47 100644 --- a/code/_onclick/hud/spell_screen_objects.dm +++ b/code/_onclick/hud/spell_screen_objects.dm @@ -1,8 +1,8 @@ -/obj/screen/movable/spell_master +/atom/movable/screen/movable/spell_master name = "Spells" icon = 'icons/mob/screen/spells.dmi' icon_state = "wiz_spell_ready" - var/list/obj/screen/spell/spell_objects = list() + var/list/atom/movable/screen/spell/spell_objects = list() var/showing = 0 var/open_state = "master_open" @@ -12,8 +12,8 @@ var/mob/spell_holder -/obj/screen/movable/spell_master/Destroy() - for(var/obj/screen/spell/spells in spell_objects) +/atom/movable/screen/movable/spell_master/Destroy() + for(var/atom/movable/screen/spell/spells in spell_objects) spells.spellmaster = null spell_objects.Cut() if(spell_holder) @@ -24,22 +24,22 @@ . = ..() -/obj/screen/movable/spell_master/MouseDrop() +/atom/movable/screen/movable/spell_master/MouseDrop() if(showing) return return ..() -/obj/screen/movable/spell_master/Click() +/atom/movable/screen/movable/spell_master/Click() if(!spell_objects.len) qdel(src) return toggle_open() -/obj/screen/movable/spell_master/proc/toggle_open(var/forced_state = 0) +/atom/movable/screen/movable/spell_master/proc/toggle_open(var/forced_state = 0) if(showing && (forced_state != 2)) - for(var/obj/screen/spell/O in spell_objects) + for(var/atom/movable/screen/spell/O in spell_objects) if(spell_holder && spell_holder.client) spell_holder.client.screen -= O O.handle_icon_updates = 0 @@ -53,7 +53,7 @@ ClearOverlays() AddOverlays(open_state) -/obj/screen/movable/spell_master/proc/open_spellmaster() +/atom/movable/screen/movable/spell_master/proc/open_spellmaster() var/list/screen_loc_xy = text2list(screen_loc,",") //Create list of X offsets @@ -67,7 +67,7 @@ var/y_pix = screen_loc_Y[2] for(var/i = 1; i <= spell_objects.len; i++) - var/obj/screen/spell/S = spell_objects[i] + var/atom/movable/screen/spell/S = spell_objects[i] var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7) var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7)) S.screen_loc = "[encode_screen_X(xpos)]:[x_pix],[encode_screen_Y(ypos)]:[y_pix]" @@ -75,7 +75,7 @@ spell_holder.client.screen += S S.handle_icon_updates = 1 -/obj/screen/movable/spell_master/proc/add_spell(var/spell/spell) +/atom/movable/screen/movable/spell_master/proc/add_spell(var/spell/spell) if(!spell) return if(spell.connected_button) //we have one already, for some reason @@ -90,7 +90,7 @@ if(spell.spell_flags & NO_BUTTON) //no button to add if we don't get one return - var/obj/screen/spell/newscreen = new /obj/screen/spell + var/atom/movable/screen/spell/newscreen = new /atom/movable/screen/spell newscreen.spellmaster = src newscreen.spell = spell @@ -109,7 +109,7 @@ if(spell_holder.client) toggle_open(2) //forces the icons to refresh on screen -/obj/screen/movable/spell_master/proc/remove_spell(var/spell/spell) +/atom/movable/screen/movable/spell_master/proc/remove_spell(var/spell/spell) qdel(spell.connected_button) spell.connected_button = null @@ -119,21 +119,21 @@ else qdel(src) -/obj/screen/movable/spell_master/proc/silence_spells(var/amount) - for(var/obj/screen/spell/spell in spell_objects) +/atom/movable/screen/movable/spell_master/proc/silence_spells(var/amount) + for(var/atom/movable/screen/spell/spell in spell_objects) spell.spell.silenced = amount spell.spell.process() spell.update_charge(1) -/obj/screen/movable/spell_master/proc/update_spells(forced = 0, mob/user) +/atom/movable/screen/movable/spell_master/proc/update_spells(forced = 0, mob/user) if(user && user.client) if(!(src in user.client.screen)) user.client.screen += src - for(var/obj/screen/spell/spell in spell_objects) + for(var/atom/movable/screen/spell/spell in spell_objects) spell.update_charge(forced) -/obj/screen/movable/spell_master/genetic +/atom/movable/screen/movable/spell_master/genetic name = "Mutant Powers" icon_state = "genetic_spell_ready" @@ -145,7 +145,7 @@ //////////////ACTUAL SPELLS////////////// //This is what you click to cast things// ///////////////////////////////////////// -/obj/screen/spell +/atom/movable/screen/spell icon = 'icons/mob/screen/spells.dmi' icon_state = "wiz_spell_base" var/spell_base = "wiz" @@ -153,11 +153,11 @@ var/spell/spell = null var/handle_icon_updates = 0 - var/obj/screen/movable/spell_master/spellmaster + var/atom/movable/screen/movable/spell_master/spellmaster var/icon/last_charged_icon -/obj/screen/spell/Destroy() +/atom/movable/screen/spell/Destroy() spell = null last_charged_icon = null if(spellmaster) @@ -170,7 +170,7 @@ . = ..() -/obj/screen/spell/proc/update_charge(var/forced_update = 0) +/atom/movable/screen/spell/proc/update_charge(var/forced_update = 0) if(!spell) qdel(src) return @@ -208,7 +208,7 @@ if(spell.silenced) AddOverlays("silence") -/obj/screen/spell/Click() +/atom/movable/screen/spell/Click() if(!usr || !spell) qdel(src) return diff --git a/code/controllers/subsystems/evacuation/evacuation_pods.dm b/code/controllers/subsystems/evacuation/evacuation_pods.dm index 4d2c0a0327e..5fcadf358ac 100644 --- a/code/controllers/subsystems/evacuation/evacuation_pods.dm +++ b/code/controllers/subsystems/evacuation/evacuation_pods.dm @@ -171,7 +171,7 @@ if(evacuation_controller && evacuation_controller.cancel_evacuation()) log_and_message_admins("[key_name(user)] has cancelled the crew transfer.") -/obj/screen/fullscreen/bluespace_overlay +/atom/movable/screen/fullscreen/bluespace_overlay icon = 'icons/effects/effects.dmi' icon_state = "mfoam" screen_loc = "WEST,SOUTH to EAST,NORTH" diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index 0e9d729fbdd..8a2562f3157 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -655,10 +655,13 @@ SUBSYSTEM_DEF(jobs) log_loadout("EC/([H]): Abort: invalid arguments.") return FALSE - switch (job.title) - if ("AI", "Cyborg") - log_loadout("EC/([H]): Abort: synthetic.") - return FALSE + // if it's for their preview mob, let them wear it + // so they can customize their loadout for their hologram + if(!istype(H, /mob/living/carbon/human/dummy/mannequin)) + switch (job.title) + if ("AI", "Cyborg") + log_loadout("EC/([H]): Abort: synthetic.") + return FALSE for(var/thing in prefs.gear) var/datum/gear/G = gear_datums[thing] diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 545d4df3239..7b255ae4e43 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -50,7 +50,7 @@ var/datum/controller/subsystem/ticker/SSticker //station_explosion used to be a variable for every mob's hud. Which was a waste! //Now we have a general cinematic centrally held within the gameticker....far more efficient! - var/obj/screen/cinematic = null + var/atom/movable/screen/cinematic = null var/list/default_lobby_tracks = list( 'sound/music/lobby/space.ogg', @@ -609,7 +609,7 @@ var/datum/controller/subsystem/ticker/SSticker for(var/mob/abstract/new_player/NP in GLOB.player_list) if(!NP.client) continue - var/obj/screen/new_player/selection/join_game/JG = locate() in NP.client.screen + var/atom/movable/screen/new_player/selection/join_game/JG = locate() in NP.client.screen JG.update_icon(NP) to_world(SPAN_NOTICE("Enjoy the round!")) if(SSatlas.current_sector.sector_welcome_message) @@ -639,7 +639,7 @@ var/datum/controller/subsystem/ticker/SSticker return //already a cinematic in progress! //initialise our cinematic screen object - cinematic = new /obj/screen{ + cinematic = new /atom/movable/screen{ icon = 'icons/effects/station_explosion.dmi'; icon_state = "station_intact"; layer = HUD_ABOVE_ITEM_LAYER; diff --git a/code/game/antagonist/station/vampire.dm b/code/game/antagonist/station/vampire.dm index e3b2cc0b441..977d381ec4f 100644 --- a/code/game/antagonist/station/vampire.dm +++ b/code/game/antagonist/station/vampire.dm @@ -94,9 +94,9 @@ var/datum/antagonist/vampire/vamp = null user.client.images += vampire.master_image if(vampire.status & VAMP_ISTHRALL) return - vampire.blood_hud = new /obj/screen/vampire/blood() - vampire.frenzy_hud = new /obj/screen/vampire/frenzy() - vampire.blood_suck_hud = new /obj/screen/vampire/suck() + vampire.blood_hud = new /atom/movable/screen/vampire/blood() + vampire.frenzy_hud = new /atom/movable/screen/vampire/frenzy() + vampire.blood_suck_hud = new /atom/movable/screen/vampire/suck() user.client.screen += vampire.blood_hud user.client.screen += vampire.frenzy_hud user.client.screen += vampire.blood_suck_hud diff --git a/code/game/atoms.dm b/code/game/atoms.dm index c9765d1c67d..f21659df7d6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -115,7 +115,7 @@ SEND_SIGNAL(src, COMSIG_ATOM_EMP_ACT, severity, protection) return protection // Pass the protection value collected here upwards -/atom/proc/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/atom/proc/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) return /atom/proc/bullet_act(obj/projectile/P, def_zone) @@ -266,17 +266,17 @@ return 0 if (H.gloves) if(src.fingerprintslast != H.key) - src.fingerprintshidden += text("\[[time_stamp()]\] (Wearing gloves). Real name: [], Key: []",H.real_name, H.key) + src.fingerprintshidden += "\[[time_stamp()]\] (Wearing gloves). Real name: [H.real_name], Key: [H.key]" src.fingerprintslast = H.key return 0 if (!( src.fingerprints )) if(src.fingerprintslast != H.key) - src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",H.real_name, H.key) + src.fingerprintshidden += "\[[time_stamp()]\] Real name: [H.real_name], Key: [H.key]" src.fingerprintslast = H.key return 1 else if(src.fingerprintslast != M.key) - src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",M.real_name, M.key) + src.fingerprintshidden += "\[[time_stamp()]\] Real name: [M.real_name], Key: [M.key]" src.fingerprintslast = M.key return @@ -310,7 +310,7 @@ // Now, deal with gloves. if (H.gloves && H.gloves != src) if(fingerprintslast != H.key) - fingerprintshidden += text("\[[]\](Wearing gloves). Real name: [], Key: []",time_stamp(), H.real_name, H.key) + fingerprintshidden += "\[[time_stamp()]\](Wearing gloves). Real name: [H.real_name], Key: [H.key]" fingerprintslast = H.key H.gloves.add_fingerprint(M) @@ -323,7 +323,7 @@ // Admin related. if(fingerprintslast != H.key) - fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), H.real_name, H.key) + fingerprintshidden += "\[[time_stamp()]\]Real name: [H.real_name], Key: [H.key]" fingerprintslast = H.key // Make the list if it does not exist. @@ -375,7 +375,7 @@ else // Smudge up the prints a bit. if(fingerprintslast != M.key) - fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), M.real_name, M.key) + fingerprintshidden += "\[[time_stamp()]\]Real name: [M.real_name], Key: [M.key]" fingerprintslast = M.key // Cleaning up. diff --git a/code/game/gamemodes/cult/items/tome.dm b/code/game/gamemodes/cult/items/tome.dm index 0805979990d..14fa58e2785 100644 --- a/code/game/gamemodes/cult/items/tome.dm +++ b/code/game/gamemodes/cult/items/tome.dm @@ -32,8 +32,8 @@ attack_admins(M, user) /obj/item/book/tome/proc/attack_admins(var/mob/living/M, var/mob/living/user) - M.attack_log += text("\[[time_stamp()]\] Has had the [name] used on them by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used [name] on [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Has had the [name] used on them by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used [name] on [M.name] ([M.ckey])" msg_admin_attack("[key_name_admin(user)] used [name] on [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) diff --git a/code/game/gamemodes/endgame/bluespace_jump/bluespace_jump.dm b/code/game/gamemodes/endgame/bluespace_jump/bluespace_jump.dm index 3eab559f814..754073f72f2 100644 --- a/code/game/gamemodes/endgame/bluespace_jump/bluespace_jump.dm +++ b/code/game/gamemodes/endgame/bluespace_jump/bluespace_jump.dm @@ -47,7 +47,7 @@ bluespaced += M if(M.client) to_chat(M,SPAN_NOTICE("You feel oddly light, and somewhat disoriented as everything around you shimmers and warps ever so slightly.")) - M.overlay_fullscreen("bluespace", /obj/screen/fullscreen/bluespace_overlay) + M.overlay_fullscreen("bluespace", /atom/movable/screen/fullscreen/bluespace_overlay) M.confused = 20 /datum/universal_state/bluespace_jump/proc/clear_bluespaced(var/mob/living/M) @@ -126,7 +126,7 @@ daddy.dust() qdel(src) -/obj/screen/fullscreen/bluespace_overlay +/atom/movable/screen/fullscreen/bluespace_overlay icon = 'icons/effects/effects.dmi' icon_state = "mfoam" screen_loc = "WEST,SOUTH to EAST,NORTH" diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/HELPERS.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/HELPERS.dm index e4e9137f855..ecd1ffcefd5 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/HELPERS.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/HELPERS.dm @@ -239,7 +239,7 @@ /proc/log_ability_use(var/mob/living/silicon/ai/A, var/ability_name, var/atom/target = null, var/notify_admins = 1) var/message if(target) - message = text("used malf ability/function: [ability_name] on [target] ([target.x], [target.y], [target.z])") + message = "used malf ability/function: [ability_name] on [target] ([target.x], [target.y], [target.z])" else - message = text("used malf ability/function: [ability_name].") + message = "used malf ability/function: [ability_name]." admin_attack_log(A, null, message, null, message) diff --git a/code/game/gamemodes/technomancer/core_obj.dm b/code/game/gamemodes/technomancer/core_obj.dm index b4d279b8c27..f32f8d75446 100644 --- a/code/game/gamemodes/technomancer/core_obj.dm +++ b/code/game/gamemodes/technomancer/core_obj.dm @@ -65,7 +65,7 @@ /obj/item/technomancer_core/dropped(mob/user) if(!wearer) return - for(var/obj/screen/ability/obj_based/technomancer/A in wearer.ability_master.ability_objects) + for(var/atom/movable/screen/ability/obj_based/technomancer/A in wearer.ability_master.ability_objects) wearer.ability_master.remove_ability(A) wearer = null ..() @@ -221,7 +221,7 @@ if(spell_to_remove in spells) spells.Remove(spell_to_remove) if(wearer) - var/obj/screen/ability/obj_based/technomancer/A = wearer.ability_master.get_ability_by_instance(spell_to_remove) + var/atom/movable/screen/ability/obj_based/technomancer/A = wearer.ability_master.get_ability_by_instance(spell_to_remove) if(A) wearer.ability_master.remove_ability(A) qdel(spell_to_remove) diff --git a/code/game/gamemodes/vampire/vampire_datum.dm b/code/game/gamemodes/vampire/vampire_datum.dm index 89c241d2982..ddd05652c8a 100644 --- a/code/game/gamemodes/vampire/vampire_datum.dm +++ b/code/game/gamemodes/vampire/vampire_datum.dm @@ -10,9 +10,9 @@ var/status = 0 // Bitfield including different statuses. var/stealth = TRUE // Do you want your victims to know of your sucking? - var/obj/screen/blood_hud - var/obj/screen/frenzy_hud - var/obj/screen/blood_suck_hud + var/atom/movable/screen/blood_hud + var/atom/movable/screen/frenzy_hud + var/atom/movable/screen/blood_suck_hud var/list/datum/power/vampire/purchased_powers = list() // List of power datums available for use. var/obj/effect/dummy/veil_walk/holder = null // The veil_walk dummy. diff --git a/code/game/gamemodes/vampire/vampire_helpers.dm b/code/game/gamemodes/vampire/vampire_helpers.dm index 946188369b9..ca87fd7655e 100644 --- a/code/game/gamemodes/vampire/vampire_helpers.dm +++ b/code/game/gamemodes/vampire/vampire_helpers.dm @@ -13,8 +13,8 @@ vampire.blood_usable += 30 if(client) - vampire.blood_hud = new /obj/screen/vampire/blood() - vampire.frenzy_hud = new /obj/screen/vampire/frenzy() + vampire.blood_hud = new /atom/movable/screen/vampire/blood() + vampire.frenzy_hud = new /atom/movable/screen/vampire/frenzy() client.screen += vampire.blood_hud client.screen += vampire.frenzy_hud @@ -193,7 +193,7 @@ visible_message(SPAN_DANGER("A dark aura manifests itself around [src.name], their eyes turning red and their composure changing to be more beast-like."), SPAN_DANGER("You can resist no longer. The power of the Veil takes control over your mind: you are unable to speak or think. In people, you see nothing but prey to be feasted upon. You are reduced to an animal.")) - overlay_fullscreen("frenzy", /obj/screen/fullscreen/frenzy) + overlay_fullscreen("frenzy", /atom/movable/screen/fullscreen/frenzy) mutations |= HULK update_mutations() @@ -270,13 +270,13 @@ if(client) if(!vampire.blood_hud) - vampire.blood_hud = new /obj/screen/vampire/blood() + vampire.blood_hud = new /atom/movable/screen/vampire/blood() client.screen += vampire.blood_hud if(!vampire.frenzy_hud) - vampire.frenzy_hud = new /obj/screen/vampire/frenzy() + vampire.frenzy_hud = new /atom/movable/screen/vampire/frenzy() client.screen += vampire.frenzy_hud if(!vampire.blood_suck_hud) - vampire.blood_suck_hud = new /obj/screen/vampire/suck() + vampire.blood_suck_hud = new /atom/movable/screen/vampire/suck() client.screen += vampire.blood_suck_hud vampire.blood_hud.maptext = SMALL_FONTS(7, vampire.blood_usable) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 72a0ee87826..e19d0274286 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -167,7 +167,7 @@ supervisors = "the executive officer" selection_color = "#90524b" access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_MEDICAL) - minimal_access = list(ACCESS_JANITOR, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_MEDICAL) + minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_MEDICAL) outfit = /obj/outfit/job/janitor blacklisted_species = list(SPECIES_VAURCA_BREEDER) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 2230fca558a..7e3ab6c29fb 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -147,7 +147,7 @@ H.drop_from_inventory(H.w_uniform) qdel(H.w_uniform) - if(!(equip_preview_mob & EQUIP_PREVIEW_JOB_UNIFORM) && H.wear_suit && REF(H.wear_suit) != pre_suit_ref) + if(!(equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT) && H.wear_suit && REF(H.wear_suit) != pre_suit_ref) H.drop_from_inventory(H.wear_suit) qdel(H.wear_suit) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 14c3b6af8c5..e115f72d31a 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -32,7 +32,7 @@ minimal_player_age = 14 outfit = /obj/outfit/job/hos - blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) + blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /obj/outfit/job/hos name = "Head of Security" @@ -98,7 +98,7 @@ minimal_player_age = 7 outfit = /obj/outfit/job/warden - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) + blacklisted_species = list(SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /obj/outfit/job/warden name = "Warden" @@ -158,7 +158,7 @@ minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_WEAPONS) minimal_player_age = 3 outfit = /obj/outfit/job/forensics - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) + blacklisted_species = list(SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /obj/outfit/job/forensics name = "Investigator" @@ -213,7 +213,7 @@ minimal_player_age = 7 outfit = /obj/outfit/job/officer - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) + blacklisted_species = list(SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /obj/outfit/job/officer name = "Security Officer" @@ -280,7 +280,7 @@ SPECIES_SKRELL_AXIORI = 50 ) - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) + blacklisted_species = list(SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /obj/outfit/job/intern_sec name = "Security Cadet" diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 753ad887fdc..25c72651431 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -50,10 +50,17 @@ economic_modifier = 0 /datum/job/cyborg/equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - return 1 + if(!H) + return FALSE + return TRUE + +/datum/job/cyborg/equip_preview(mob/living/carbon/human/H, datum/preferences/prefs, var/alt_title, var/faction_override) + var/equip_preview_mob = prefs.equip_preview_mob + + if(equip_preview_mob & EQUIP_PREVIEW_JOB_HAT) + H.equip_to_slot_or_del(new /obj/item/clothing/head/cardborg(H), slot_head) + + if(equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/cardborg(H), slot_wear_suit) -/datum/job/cyborg/equip_preview(mob/living/carbon/human/H) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/cardborg(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/cardborg(H), slot_head) - return 1 + return TRUE diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index c0223bb1f11..ac3f286e735 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -62,7 +62,7 @@ return if ( (get_dist(src, user) > 1 )) if (!istype(user, /mob/living/silicon)) - to_chat(user, text("Too far away.")) + to_chat(user, "Too far away.") user.unset_machine() user << browse(null, "window=ai_slipper") return @@ -72,7 +72,7 @@ if (istype(loc, /turf)) loc = loc:loc if (!istype(loc, /area)) - to_chat(user, text("Turret badly positioned - loc.loc is [].", loc)) + to_chat(user, "Turret badly positioned - loc.loc is [loc].") return var/area/area = loc var/t = "AI Liquid Dispenser ([area.name])
" @@ -81,7 +81,7 @@ t += "(Swipe ID card to unlock control panel.)
" else t += "Dispenser [(src.disabled ? "deactivated" : "activated")] - [(src.disabled ? "Enable" : "Disable")]?
\n" - t += text("Uses Left: [uses]. Activate the dispenser?
\n") + t += "Uses Left: [uses]. Activate the dispenser?
\n" user << browse(t, "window=computer;size=575x450") onclose(user, "computer") diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 68d338ad677..d5755f82dd8 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -278,7 +278,7 @@ update_flag if (src.destroyed) ClearOverlays() set_light(FALSE) - src.icon_state = text("[]-1", src.canister_color) + src.icon_state = "[src.canister_color]-1" return if(icon_state != "[canister_color]") diff --git a/code/game/machinery/body_scanner.dm b/code/game/machinery/body_scanner.dm index 192dd6aacf8..b183c51f521 100644 --- a/code/game/machinery/body_scanner.dm +++ b/code/game/machinery/body_scanner.dm @@ -786,48 +786,48 @@ dat += "" dat += "Patient Status

" dat += "" - dat += text("Name: []
", occ["name"]) - dat += text("Status: []
", occ["stat"]) - dat += text("Species: []
", occ["species"]) - dat += text("Pulse: [] BPM
", occ["pulse"]) - dat += text("Brain Activity: []
", occ["brain_activity"]) - dat += text("Body Temperature: []°C ", (occ["bodytemp"] - T0C)) - dat += text("([]°F)
", (occ["bodytemp"]*1.8-459.67)) + dat += "Name: [occ["name"]]
" + dat += "Status: [occ["stat"]]
" + dat += "Species: [occ["species"]]
" + dat += "Pulse: [occ["pulse"]] BPM
" + dat += "Brain Activity: [occ["brain_activity"]]
" + dat += "Body Temperature: [(occ["bodytemp"] - T0C)]°C " + dat += "([(occ["bodytemp"]*1.8-459.67)]°F)
" dat += "
Blood Status


" - dat += text("Blood Pressure: []
", occ["blood_pressure"]) - dat += text("Blood Oxygenation: []%
", occ["blood_oxygenation"]) - dat += text("Blood Volume: []%
", occ["blood_volume"]) - dat += text("Blood Type: []
", occ["blood_type"]) + dat += "Blood Pressure: [occ["blood_pressure"]]
" + dat += "Blood Oxygenation: [occ["blood_oxygenation"]]%
" + dat += "Blood Volume: [occ["blood_volume"]]%
" + dat += "Blood Type: [occ["blood_type"]]
" if(occ["inaprovaline_amount"]) - dat += text("Inaprovaline: [] units
", occ["inaprovaline_amount"]) + dat += "Inaprovaline: [occ["inaprovaline_amount"]] units
" if(occ["soporific_amount"]) - dat += text("Soporific: [] units
", occ["soporific_amount"]) + dat += "Soporific: [occ["soporific_amount"]] units
" if(occ["dermaline_amount"]) - dat += text("[]\tDermaline: [] units

", (""), occ["dermaline_amount"]) + dat += "[("")]\tDermaline: [occ["dermaline_amount"]] units
" if(occ["bicaridine_amount"]) - dat += text("[]\tBicaridine: [] units

", (""), occ["bicaridine_amount"]) + dat += "[("")]\tBicaridine: [occ["bicaridine_amount"]] units
" if(occ["dexalin_amount"]) - dat += text("[]\tDexalin: [] units

", (""), occ["dexalin_amount"]) + dat += "[("")]\tDexalin: [occ["dexalin_amount"]] units
" if(occ["thetamycin_amount"]) - dat += text("[]\tThetamycin: [] units

", (""), occ["thetamycin_amount"]) + dat += "[("")]\tThetamycin: [occ["thetamycin_amount"]] units
" if(occ["other_amount"]) - dat += text("Other: [] units
", occ["other_amount"]) + dat += "Other: [occ["other_amount"]] units
" dat += "
Symptom Status


" - dat += text("Radiation Level: [] Gy
", round(occ["rads"])) - dat += text("Genetic Damage: []
", occ["cloneloss"]) + dat += "Radiation Level: [round(occ["rads"])] Gy
" + dat += "Genetic Damage: [occ["cloneloss"]]
" if(occ["paralysis"]) - dat += text("Est Paralysis Level: [] Seconds Left
", round(occ["paralysis"] / 4)) + dat += "Est Paralysis Level: [round(occ["paralysis"] / 4)] Seconds Left
" else - dat += text("Est Paralysis Level: None
") + dat += "Est Paralysis Level: None
" dat += "
Damage Status


" - dat += text("Brute Trauma: []
", occ["bruteloss"]) - dat += text("Burn Severity: []
", occ["fireloss"]) - dat += text("Oxygen Deprivation: []
", occ["oxyloss"]) - dat += text("Toxin Exposure: []
", occ["toxloss"]) + dat += "Brute Trauma: [occ["bruteloss"]]
" + dat += "Burn Severity: [occ["fireloss"]]
" + dat += "Oxygen Deprivation: [occ["oxyloss"]]
" + dat += "Toxin Exposure: [occ["toxloss"]]
" dat += "
Body Status
" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 0034217df47..b8dc9b5dfe6 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -237,7 +237,7 @@ var/obj/machinery/computer/security/S = O.machine if (S.current_camera == src) to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...") - O << browse(text("[][]", itemname, info), text("window=[]", itemname)) //Force people watching to open the page so they can't see it again) + O << browse("[itemname][info]", "window=[itemname]") //Force people watching to open the page so they can't see it again) return TRUE else if (istype(attacking_item, /obj/item/camera_bug)) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index f1601759bde..82480afdd36 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -16,7 +16,7 @@ for (var/obj/machinery/camera/C in GLOB.cameranet.cameras) var/list/tempnetwork = C.network&src.network if (tempnetwork.len) - T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C + T["[C.c_tag][(C.can_use() ? null : " (Deactivated)")]"] = C track = new() track.cameras = T @@ -113,7 +113,7 @@ var/name = M.name if (name in TB.names) TB.namecounts[name]++ - name = text("[] ([])", name, TB.namecounts[name]) + name = "[name] ([TB.namecounts[name]])" else TB.names.Add(name) TB.namecounts[name] = 1 diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm index 505351cf223..adf9ebeafee 100644 --- a/code/game/machinery/computer/shuttle.dm +++ b/code/game/machinery/computer/shuttle.dm @@ -41,7 +41,7 @@ to_chat(user, "The access level of [id.registered_name]\'s card is not high enough. ") return 0 - var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort") + var/choice = alert(user, "Would you like to (un)authorize a shortened launch time? [(src.auth_need - src.authorized.len)] authorization\s are still needed. Use abort to cancel all authorizations.", "Shuttle Launch", "Authorize", "Repeal", "Abort") if(evacuation_controller.is_prepared() && user.get_active_hand() != id) return 0 switch(choice) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 34e0b9e576f..79f61ed2ad7 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -915,10 +915,10 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) var/message = "" if(isWireCut(WIRE_SHOCK) && arePowerSystemsOn()) - message = text("The electrification wire is cut - Door permanently electrified.") + message ="The electrification wire is cut - Door permanently electrified." electrified_until = -1 else if(duration && !arePowerSystemsOn()) - message = text("The door is unpowered - Cannot electrify the door.") + message = "The door is unpowered - Cannot electrify the door." electrified_until = 0 else if(!duration && electrified_until != 0) message = "The door is now un-electrified." @@ -926,7 +926,7 @@ About the new airlock wires panel: else if(duration) //electrify door for the given duration seconds if(usr) LAZYADD(shockedby, "\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") + usr.attack_log += "\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]" else LAZYADD(shockedby, "\[[time_stamp()]\] - EMP)") message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." @@ -956,7 +956,7 @@ About the new airlock wires panel: var/message = "" // Safeties! We don't need no stinking safeties! if (src.isWireCut(WIRE_SAFETY)) - message = text("The safety wire is cut - Cannot enable safeties.") + message = "The safety wire is cut - Cannot enable safeties." else if (!activate && src.safe) safe = FALSE else if (activate && !src.safe) @@ -1231,7 +1231,7 @@ About the new airlock wires panel: if("timing") // Door speed control if(src.isWireCut(WIRE_TIMING)) - to_chat(usr, text("The timing wire is cut - Cannot alter timing.")) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") else if (activate && src.normalspeed) normalspeed = FALSE else if (!activate && !src.normalspeed) @@ -1617,7 +1617,7 @@ About the new airlock wires panel: if("timing") // Door speed control if(src.isWireCut(WIRE_TIMING)) - to_chat(usr, text("The timing wire is cut - Cannot alter timing.")) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") else if (activate && src.normalspeed) normalspeed = FALSE else if (!activate && !src.normalspeed) diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index c039bb1fcea..e64c49a4745 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -20,7 +20,7 @@ if(!ishuman(user) && !istype(user,/mob/living/silicon/robot)) return ..(user) - var/t1 = text("Access Control
\n") + var/t1 = "Access Control
\n" if(last_configurator) t1 += "Operator: [last_configurator]
" diff --git a/code/game/machinery/mecha_fabricator.dm b/code/game/machinery/mecha_fabricator.dm index fc0612104a2..7754a8b08bc 100644 --- a/code/game/machinery/mecha_fabricator.dm +++ b/code/game/machinery/mecha_fabricator.dm @@ -224,8 +224,8 @@ if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) user.visible_message(SPAN_WARNING("[user] feeds the [target]'s hair into the [src] and flicks it on!"), SPAN_ALERT("You turn the [src] on!")) do_hair_pull(target) - user.attack_log += text("\[[time_stamp()]\] Has fed [target.name]'s ([target.ckey]) hair into a [src].") - target.attack_log += text("\[[time_stamp()]\] Has had their hair fed into [src] by [user.name] ([user.ckey])") + user.attack_log += "\[[time_stamp()]\] Has fed [target.name]'s ([target.ckey]) hair into a [src]." + target.attack_log += "\[[time_stamp()]\] Has had their hair fed into [src] by [user.name] ([user.ckey])" msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] in a [src]. (JMP)",ckey=key_name(user),ckey_target=key_name(target)) else return diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 918dfb4fe24..e4e6439e7e2 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -295,7 +295,7 @@ var/list/obj/machinery/newscaster/allCasters = list() if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) ) var/mob/living/human_or_robot_user = user var/dat - dat = text("

Newscaster Unit #[src.unit_no]

") + dat = "

Newscaster Unit #[src.unit_no]

" src.scan_user(human_or_robot_user) //Newscaster scans you diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index aea53123609..9a0904f7571 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -247,7 +247,7 @@ var/bomb_set yes_code = 0 code = null else - lastentered = text("[]", href_list["type"]) + lastentered = "[href_list["type"]]" if (text2num(lastentered) == null) var/turf/LOC = get_turf(usr) message_admins("[key_name_admin(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: [lastentered]! ([LOC ? "JMP" : "null"])", 0) diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm index d9b6c8a0b2e..dd8de7c71f0 100644 --- a/code/game/machinery/overview.dm +++ b/code/game/machinery/overview.dm @@ -157,7 +157,7 @@ for(var/i=0; iVerified by [T.registered_name], [T.assignment]
") + msgVerified = "Verified by [T.registered_name], [T.assignment]" updateUsrDialog() if(screen == RCS_ANNOUNCE) var/obj/item/card/id/ID = attacking_item diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 5ccb66ba855..84bf3955c9b 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -139,13 +139,13 @@ dat+= "" dat+= "U-Stor-It Suit Storage Unit, model DS1900
" dat+= "Welcome to the Unit control panel.

" - dat+= text("Helmet storage compartment: []
",(src.HELMET ? HELMET.name : "
No helmet detected.") ) + dat+= "Helmet storage compartment: [(src.HELMET ? HELMET.name : "No helmet detected.")]
" if(HELMET && src.isopen) dat += "Dispense helmet
" - dat+= text("Suit storage compartment: []
",(src.SUIT ? SUIT.name : "
No exosuit detected.") ) + dat+= "Suit storage compartment: [(src.SUIT ? SUIT.name : "No exosuit detected.")]
" if(SUIT && src.isopen) dat += "Dispense suit
" - dat+= text("Breathmask storage compartment: []
",(src.MASK ? MASK.name : "
No breathmask detected.") ) + dat+= "Breathmask storage compartment: [(src.MASK ? MASK.name : "No breathmask detected.")]
" if(MASK && src.isopen) dat += "Dispense mask
" if(src.OCCUPANT) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 94539f0f08f..164b9152c05 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -131,7 +131,7 @@ if(2) if(!Console.silent) playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1) - Console.audible_message(text("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5) + Console.audible_message("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'PRIORITY Alert in [sender]'",,5) Console.message_log += "High Priority message from [sender]
[authmsg]" for(var/obj/item/modular_computer/pda in Console.alert_pdas) var/pda_message = "A high priority message has arrived!" @@ -139,7 +139,7 @@ else if(!Console.silent) playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1) - Console.audible_message(text("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'Message from [sender]'"),,4) + Console.audible_message("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'Message from [sender]'",,4) Console.message_log += "Message from [sender]
[authmsg]" for(var/obj/item/modular_computer/pda in Console.alert_pdas) var/pda_message = "A message has arrived!" diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 2e528b14905..4d5a2fca6b4 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -11,7 +11,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/Initialize(mapload) . = ..() - tag = text("landmark*[]", name) + tag = "landmark*[name]" GLOB.landmarks_list += src /obj/effect/landmark/Destroy() diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm index c530be8e4af..d6969045c2e 100644 --- a/code/game/objects/effects/manifest.dm +++ b/code/game/objects/effects/manifest.dm @@ -11,7 +11,7 @@ /obj/effect/manifest/proc/manifest() var/dat = "Crew Manifest:
" for(var/mob/living/carbon/human/M in GLOB.mob_list) - dat += text(" [] - []
", M.name, M.get_assignment()) + dat += " [M.name] - [M.get_assignment()]
" var/obj/item/paper/P = new /obj/item/paper( src.loc ) P.info = dat P.name = "paper- 'Crew Manifest'" diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index f44e66c636f..ad651bb6a36 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -97,8 +97,8 @@ attack_self(user) return - L.attack_log += text("\[[time_stamp()]\] Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to flash [L.name] ([L.ckey])") + L.attack_log += "\[[time_stamp()]\] Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [src.name] to flash [L.name] ([L.ckey])" msg_admin_attack("[user.name] ([user.ckey]) Used the [src.name] to flash [L.name] ([L.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(L)) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 34a7d6c5a86..26c32d1069a 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -35,7 +35,7 @@ effective or pretty fucking useless. to_chat(user, SPAN_WARNING("The mind batterer has been burnt out!")) return - user.attack_log += text("\[[time_stamp()]\] Used [src] to knock down people in the area.") + user.attack_log += "\[[time_stamp()]\] Used [src] to knock down people in the area." for(var/mob/living/carbon/human/M in orange(10, user)) if(prob(50)) diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index fd17e7469fc..01f9d2abaac 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -44,7 +44,7 @@ var/obj/item/gift/G = new /obj/item/gift(src.loc) G.size = attacking_item.w_class G.w_class = G.size + 1 - G.icon_state = text("gift[]", G.size) + G.icon_state = "gift[G.size]" G.gift = attacking_item attacking_item.forceMove(G) G.add_fingerprint(user) @@ -82,8 +82,8 @@ H.forceMove(present) - H.attack_log += text("\[[time_stamp()]\] Has been wrapped with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to wrap [H.name] ([H.ckey])") + H.attack_log += "\[[time_stamp()]\] Has been wrapped with [src.name] by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [src.name] to wrap [H.name] ([H.ckey])" msg_admin_attack("[key_name_admin(user)] used [src] to wrap [key_name_admin(H)] (JMP)",ckey=key_name(user),ckey_target=key_name(H)) else @@ -123,7 +123,7 @@ if(user in target) //no wrapping closets that you are inside - it's not physically possible return - user.attack_log += text("\[[time_stamp()]\] Has used [src.name] on [REF(target)]") + user.attack_log += "\[[time_stamp()]\] Has used [src.name] on [REF(target)]" if(istype(target, /obj/item) && !(istype(target, /obj/item/storage) && !istype(target,/obj/item/storage/box))) var/obj/item/O = target diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 22a69e5f883..39060a2865c 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -110,7 +110,7 @@ AI MODULES ..() var/targName = sanitize(input("Please enter the name of the person to safeguard.", "Safeguard who?", user.name)) targetName = targName - desc = text("A 'safeguard' AI module: 'Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.'", targetName, targetName) + desc = "A 'safeguard' AI module: 'Safeguard [targetName]. Anyone threatening or attempting to harm [targetName] is no longer to be considered a crew member, and is a threat which must be neutralized.'" /obj/item/aiModule/safeguard/install(var/obj/machinery/computer/C) if(!targetName) @@ -119,7 +119,7 @@ AI MODULES ..() /obj/item/aiModule/safeguard/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) - var/law = text("Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.", targetName, targetName) + var/law = "Safeguard [targetName]. Anyone threatening or attempting to harm [targetName] is no longer to be considered a crew member, and is a threat which must be neutralized." target.add_supplied_law(9, law) GLOB.lawchanges.Add("The law specified [targetName]") @@ -136,7 +136,7 @@ AI MODULES ..() var/targName = sanitize(input("Please enter the name of the person who is the only crew member.", "Who?", user.real_name)) targetName = targName - desc = text("A 'one crew member' AI module: 'Only [] is a crew member.'", targetName) + desc = "A 'one crew member' AI module: 'Only [targetName] is a crew member.'" /obj/item/aiModule/oneHuman/install(var/obj/machinery/computer/C) if(!targetName) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 9912145aaf8..3f119de1b71 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -42,7 +42,7 @@ set src in usr if (t) - src.name = text("data disk- '[]'", t) + src.name = "data disk- '[t]'" else src.name = "data disk" src.add_fingerprint(usr) @@ -185,16 +185,16 @@ var/const/NO_EMAG_ACT = -50 /obj/item/card/id/proc/dat() var/dat = ("" dat += "
") - dat += text("Name: []
", registered_name) - dat += text("Age: []
\n", age) - dat += text("Sex: []
\n", sex) - dat += text("Citizenship: []
\n", citizenship) - dat += text("Assignment and Employer: []
\n", assignment) - dat += text("Blood Type: []
\n", blood_type) - dat += text("Fingerprint Hash: []
\n", fingerprint_hash) - dat += text("DNA Hash: []\n", dna_hash) + dat += "Name: [registered_name]
" + dat += "Age: [age]
\n" + dat += "Sex: [sex]
\n" + dat += "Citizenship: [citizenship]
\n" + dat += "Assignment and Employer: [assignment]
\n" + dat += "Blood Type: [blood_type]
\n" + dat += "Fingerprint Hash: [fingerprint_hash]
\n" + dat += "DNA Hash: [dna_hash]\n" if(mining_points) - dat += text("
Ore Redemption Points: []\n", mining_points) + dat += "
Ore Redemption Points: [mining_points]\n" if(front && side) dat +="
Front and Side Photograph
" diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index 35d183c73de..214e8428254 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -132,8 +132,8 @@ if((buf.types & DNA2_BUF_SE) && (block ? (GetState() && block == MONKEYBLOCK) : GetState(MONKEYBLOCK))) injected_with_monkey = SPAN_DANGER(" (MONKEY)") - M.attack_log += text("\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to inject [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [name] to inject [M.name] ([M.ckey])" log_attack("[user.name] ([user.ckey]) used the [name] to inject [M.name] ([M.ckey])") message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with \the [src][injected_with_monkey]") diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index dd8b3ee8587..ab957793934 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -83,8 +83,8 @@ return if(user) - H.attack_log += text("\[[time_stamp()]\] Has been handcuffed (attempt) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to handcuff [H.name] ([H.ckey])") + H.attack_log += "\[[time_stamp()]\] Has been handcuffed (attempt) by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Attempted to handcuff [H.name] ([H.ckey])" msg_admin_attack("[key_name_admin(user)] attempted to handcuff [key_name_admin(H)] (JMP)",ckey=key_name(user),ckey_target=key_name(H)) feedback_add_details("handcuffs","H") @@ -133,7 +133,7 @@ var/s = SPAN_WARNING("[H] chews on [H.get_pronoun("his")] [O.name]!") H.visible_message(s, SPAN_WARNING("You chew on your [O.name]!")) message_admins("[key_name_admin(H)] is chewing on [H.get_pronoun("his")] restrained hand - (JMP)") - H.attack_log += text("\[[time_stamp()]\] [s] ([H.ckey])") + H.attack_log += "\[[time_stamp()]\] [s] ([H.ckey])" log_attack("[s] ([H.ckey])") if(O.take_damage(3, 0, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, used_weapon = "teeth marks")) diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 5afac4afa77..0d4edee4f07 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -100,8 +100,8 @@ user.visible_message(SPAN_WARNING("\The [user] tags \the [M] with \the [src]!"), SPAN_NOTICE("You tag \the [M] with \the [src]."), range = 3) - M.attack_log += text("\[[time_stamp()]\] Implanted with [name] ([ipc_tag.name]) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] ([ipc_tag.name]) to implant [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Implanted with [name] ([ipc_tag.name]) by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [name] ([ipc_tag.name]) to implant [M.name] ([M.ckey])" msg_admin_attack("[key_name_admin(user)] implanted [key_name_admin(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) ipc_tag.replaced(H, H.organs_by_name[BP_HEAD]) diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 033961f41d9..8618026da0a 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -1,6 +1,7 @@ /obj/item/material/kitchen icon = 'icons/obj/kitchen.dmi' contained_sprite = TRUE + worth_multiplier = 1.1 /* * Utensils diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 368b5282f17..2deae652d73 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -146,6 +146,7 @@ attack_verb = list("patted", "tapped") force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel) + worth_multiplier = 8 /obj/item/material/knife/butterfly/update_force() if(active) diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 98cf3cedc61..a673a41d297 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -24,6 +24,9 @@ var/material/material var/drops_debris = TRUE + /// Multiplies the amount this item is worth with the following calculation: material.value * worth_multiplier + var/worth_multiplier = 1 + /obj/item/material/Initialize(var/newloc, var/material_key) . = ..() if(!material_key) diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 8e0fe6455c1..eed42ccdd5c 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -8,6 +8,7 @@ force_divisor = 0.3 // 18 with hardness 60 (steel) thrown_force_divisor = 0.85 attack_verb = list("jabbed","stabbed","ripped") + worth_multiplier = 15 /obj/item/material/harpoon/proc/prime() return @@ -45,6 +46,7 @@ drop_sound = 'sound/items/drop/axe.ogg' pickup_sound = 'sound/items/pickup/axe.ogg' surgerysound = 'sound/items/surgery/hatchet.ogg' + worth_multiplier = 6 /obj/item/material/hatchet/can_woodcut() return TRUE @@ -150,6 +152,7 @@ thrown_force_divisor = 0.25 // as above w_class = WEIGHT_CLASS_SMALL attack_verb = list("slashed", "sliced", "cut", "clawed") + worth_multiplier = 6 /obj/item/material/scythe name = "scythe" @@ -169,6 +172,7 @@ slot_flags = SLOT_BACK origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2) attack_verb = list("chopped", "sliced", "cut", "reaped") + worth_multiplier = 20 /obj/item/material/scythe/sickle name = "sickle" diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index a434eb8e5a7..387a05b2bc8 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -19,6 +19,7 @@ drop_sound = 'sound/items/drop/sword.ogg' pickup_sound = /singleton/sound_category/sword_pickup_sound equip_sound = /singleton/sound_category/sword_equip_sound + worth_multiplier = 30 /obj/item/material/sword/handle_shield(mob/user, var/on_back, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") var/parry_bonus = 1 diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm index 7a5e371afc3..2604992d5cf 100644 --- a/code/game/objects/items/weapons/material/thrown.dm +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -10,6 +10,7 @@ sharp = 1 edge = TRUE w_class = WEIGHT_CLASS_SMALL + worth_multiplier = 25 /obj/item/material/star/Initialize(newloc, material_key) . = ..() diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index e0332ec1fa2..a80a0d3edbf 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -215,6 +215,7 @@ use_material_sound = FALSE drop_sound = 'sound/items/drop/axe.ogg' pickup_sound = 'sound/items/pickup/axe.ogg' + worth_multiplier = 31 /obj/item/material/twohanded/fireaxe/afterattack(atom/A, mob/user, proximity) if(!proximity) return @@ -257,6 +258,7 @@ default_material = "glass" var/obj/item/grenade/explosive = null use_material_sound = FALSE + worth_multiplier = 7 //blade + stuff /obj/item/material/twohanded/spear/Destroy() if(explosive) @@ -552,6 +554,7 @@ use_material_sound = FALSE drop_sound = 'sound/items/drop/woodweapon.ogg' pickup_sound = 'sound/items/pickup/woodweapon.ogg' + worth_multiplier = 20 /obj/item/material/twohanded/pike/halberd icon_state = "halberd0" @@ -563,6 +566,7 @@ force_divisor = 0.6 sharp = 1 attack_verb = list("attacked", "poked", "jabbed","gored", "chopped", "cleaved", "torn", "cut", "stabbed") + worth_multiplier = 30 /obj/item/material/twohanded/pike/halberd/can_woodcut() if(wielded) @@ -575,6 +579,7 @@ base_icon = "pitchfork" name = "pitchfork" desc = "An old farming tool, not something you would find at hydroponics." + worth_multiplier = 10 /obj/item/material/twohanded/pike/flag name = "republic of biesel flag" @@ -651,6 +656,7 @@ default_material = "steel" parry_chance = 60 can_embed = 0 + worth_multiplier = 35 var/wielded_ap = 40 var/unwielded_ap = 0 diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm index 020ba1c30d6..dddb7b4133f 100644 --- a/code/game/objects/items/weapons/storage/internal.dm +++ b/code/game/objects/items/weapons/storage/internal.dm @@ -37,7 +37,7 @@ src.open(user) return 0 - if (!( istype(over_object, /obj/screen) )) + if (!( istype(over_object, /atom/movable/screen) )) return 1 var/obj/item/real_master_item = special_master_item_handling ? get_master_item() : master_item diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index aced1b4f442..8cce2cff7e3 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -79,15 +79,15 @@ /obj/item/storage/secure/attack_self(mob/user as mob) user.set_machine(src) - var/dat = text("[]
\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED")) + var/dat = "[src]
\n\nLock Status: [(src.locked ? "LOCKED" : "UNLOCKED")]" var/message = "Code" if ((src.l_set == 0) && (!src.emagged) && (!src.l_setshort)) - dat += text("

\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.
") + dat += "

\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.
" if (src.emagged) - dat += text("

\nLOCKING SYSTEM ERROR - 1701") + dat += "

\nLOCKING SYSTEM ERROR - 1701" if (src.l_setshort) - dat += text("

\nALERT: MEMORY SYSTEM ERROR - 6040 201") - message = text("[]", src.code) + dat += "

\nALERT: MEMORY SYSTEM ERROR - 6040 201" + message = "src.code[]" if (!src.locked) message = "*****" dat += "


\n>[message]
\n1-2-3
\n4-5-6
\n7-8-9
\nR-0-E
\n
" @@ -117,7 +117,7 @@ src.code = null src.close(usr) else - src.code += text("[]", href_list["type"]) + src.code += "[href_list["type"]]" if (length(src.code) > 5) src.code = "ERROR" src.add_fingerprint(usr) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index e4a16d5f1af..512f6c6d1f6 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -40,15 +40,15 @@ ///The number of columns the storage item will appear to have var/force_column_number - var/obj/screen/storage/boxes + var/atom/movable/screen/storage/boxes ///storage UI - var/obj/screen/storage/storage_start + var/atom/movable/screen/storage/storage_start - var/obj/screen/storage/storage_continue - var/obj/screen/storage/storage_end + var/atom/movable/screen/storage/storage_continue + var/atom/movable/screen/storage/storage_end var/list/storage_screens = list() - var/obj/screen/close/closer + var/atom/movable/screen/close/closer var/care_about_storage_depth = TRUE ///Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up. @@ -208,15 +208,15 @@ return if(!over_object || over_object == src) return - if(istype(over_object, /obj/screen/inventory)) - var/obj/screen/inventory/S = over_object + if(istype(over_object, /atom/movable/screen/inventory)) + var/atom/movable/screen/inventory/S = over_object if(S.slot_id == src.equip_slot) return if(ishuman(usr) || issmall(usr)) //so monkeys can take off their backpacks -- Urist if(over_object == usr && Adjacent(usr)) // this must come before the screen objects only block src.open(usr) return - if(!(istype(over_object, /obj/screen))) + if(!(istype(over_object, /atom/movable/screen))) return ..() //makes sure that the storage is equipped, so that we can't drag it into our hand from miles away. @@ -420,9 +420,9 @@ startpoint = endpoint + 1 endpoint += storage_width * O.get_storage_cost()/max_storage_space - var/obj/screen/storage/background/stored_start = new /obj/screen/storage/background(null, O, "stored_start") - var/obj/screen/storage/background/stored_continue = new /obj/screen/storage/background(null, O, "stored_continue") - var/obj/screen/storage/background/stored_end = new /obj/screen/storage/background(null, O, "stored_end") + var/atom/movable/screen/storage/background/stored_start = new /atom/movable/screen/storage/background(null, O, "stored_start") + var/atom/movable/screen/storage/background/stored_continue = new /atom/movable/screen/storage/background(null, O, "stored_continue") + var/atom/movable/screen/storage/background/stored_end = new /atom/movable/screen/storage/background(null, O, "stored_end") var/matrix/M_start = matrix() var/matrix/M_continue = matrix() @@ -847,22 +847,22 @@ if(!allow_quick_gather) verbs -= /obj/item/storage/verb/toggle_gathering_mode - boxes = new /obj/screen/storage{icon_state = "block"} + boxes = new /atom/movable/screen/storage{icon_state = "block"} boxes.master = src - storage_start = new /obj/screen/storage{icon_state = "storage_start"} + storage_start = new /atom/movable/screen/storage{icon_state = "storage_start"} storage_start.master = src storage_start.layer = HUD_BASE_LAYER - storage_continue = new /obj/screen/storage{icon_state = "storage_continue"} + storage_continue = new /atom/movable/screen/storage{icon_state = "storage_continue"} storage_continue.master = src storage_continue.layer = HUD_BASE_LAYER - storage_end = new /obj/screen/storage{icon_state = "storage_end"} + storage_end = new /atom/movable/screen/storage{icon_state = "storage_end"} storage_end.master = src storage_end.layer = HUD_BASE_LAYER - closer = new /obj/screen/close{ + closer = new /atom/movable/screen/close{ icon_state = "x"; } closer.master = src diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 0a2bb87928c..7d41673e1ec 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -515,7 +515,7 @@ /obj/structure/closet/MouseDrop_T(atom/dropping, mob/user) var/atom/movable/O = dropping - if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete + if(istype(O, /atom/movable/screen)) //fix for HUD elements making their way into the world -Pete return if(O.loc == user) return diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index fea97e20776..99cb86b75f5 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -185,7 +185,7 @@ var/savefile/Banlist if(!expiry) expiry = "Removal Pending" else expiry = "Permaban" - dat += text("(U)(E) Key: [key]ComputerID: [id]IP: [ip] [expiry](By: [by])(Reason: [reason])") + dat += "(U)(E) Key: [key]ComputerID: [id]IP: [ip] [expiry](By: [by])(Reason: [reason])" dat += "" dat = "
Bans: (U) = Unban , (E) = Edit Ban - ([count] Bans)
[dat]" diff --git a/code/modules/admin/admin_attack_log.dm b/code/modules/admin/admin_attack_log.dm index f518e5ecb0c..db266c08180 100644 --- a/code/modules/admin/admin_attack_log.dm +++ b/code/modules/admin/admin_attack_log.dm @@ -24,10 +24,10 @@ /proc/admin_attack_log(var/mob/attacker, var/mob/victim, var/attacker_message, var/victim_message, var/admin_message) var/jmp_link = "" if(victim) - victim.attack_log += text("\[[time_stamp()]\] [key_name(attacker)] - [victim_message]") + victim.attack_log +="\[[time_stamp()]\] [key_name(attacker)] - [victim_message]" jmp_link = " (JMP)" if(attacker) - attacker.attack_log += text("\[[time_stamp()]\] [key_name(victim)] - [attacker_message]") + attacker.attack_log += "\[[time_stamp()]\] [key_name(victim)] - [attacker_message]" jmp_link = " (JMP)" msg_admin_attack("[attacker ? key_name_admin(attacker) : ""] [admin_message] [victim ? key_name_admin(victim) : ""] (INTENT: [attacker? uppertext(attacker.a_intent) : "N/A"])[jmp_link]",ckey=key_name(attacker),ckey_target=key_name(victim)) diff --git a/code/modules/admin/secrets/admin_secrets/bombing_list.dm b/code/modules/admin/secrets/admin_secrets/bombing_list.dm index 812f60ae441..54feb9ee277 100644 --- a/code/modules/admin/secrets/admin_secrets/bombing_list.dm +++ b/code/modules/admin/secrets/admin_secrets/bombing_list.dm @@ -8,5 +8,5 @@ var/dat = "Bombing List" for(var/l in GLOB.bombers) - dat += text("[l]
") + dat += "[l]
" user << browse(dat, "window=bombers") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 937aea4857a..56280ee3868 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -26,7 +26,7 @@ to_chat(src, "Only administrators may use this command.") return - var/msg = sanitize(input("Message:", text("Subtle PM to [M.key]")) as text) + var/msg = sanitize(input("Message:", "Subtle PM to [M.key]")) if (!msg) return @@ -83,7 +83,7 @@ to_chat(src, "Only administrators may use this command.") return - var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to everyone:")) as text)) + var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to everyone:"))) if (!msg) return @@ -110,7 +110,7 @@ else return - var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to everyone within seven tiles of you:")) as text)) + var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to everyone within seven tiles of you:"))) if(!msg) return for(var/M in message_mobs) @@ -133,7 +133,7 @@ if(!M) return - var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to your target:")) as text)) + var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to your target:"))) if( !msg ) return @@ -662,13 +662,13 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_DEBUG|R_FUN)) return - var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null + var/devastation = input("Range of total devastation. -1 to none", "Input") as num|null if(devastation == null) return - var/heavy = input("Range of heavy impact. -1 to none", text("Input")) as num|null + var/heavy = input("Range of heavy impact. -1 to none", "Input") as num|null if(heavy == null) return - var/light = input("Range of light impact. -1 to none", text("Input")) as num|null + var/light = input("Range of light impact. -1 to none", "Input") as num|null if(light == null) return - var/flash = input("Range of flash. -1 to none", text("Input")) as num|null + var/flash = input("Range of flash. -1 to none", "Input") as num|null if(flash == null) return if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1)) @@ -690,9 +690,9 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_DEBUG|R_FUN)) return - var/heavy = input("Range of heavy pulse.", text("Input")) as num|null + var/heavy = input("Range of heavy pulse.", "Input") as num|null if(heavy == null) return - var/light = input("Range of light pulse.", text("Input")) as num|null + var/light = input("Range of light pulse.", "Input") as num|null if(light == null) return if (heavy || light) diff --git a/code/modules/background/origins/origins/human/dominia.dm b/code/modules/background/origins/origins/human/dominia.dm index 26b4b5820cd..eac7d5f01c7 100644 --- a/code/modules/background/origins/origins/human/dominia.dm +++ b/code/modules/background/origins/origins/human/dominia.dm @@ -45,7 +45,7 @@ /singleton/origin_item/origin/core_worlds name = "Imperial Core Worlds" - desc = "The Imperial Core consists of worlds colonized mostly by Morozians with little involvement by Ma'zals such as Sparta, Alterim Obrirava, and Alterim Balteulis. Much of the culture of these planets is shared with the Imperial capital of Moroz, and the pomp-and-circumstance of Dominian noble life is well alive on these worlds as well. Much of the wealth of Dominians living in the Imperial Core has been built off of resources extracted from worlds conquered by the Empire. In the Empire, to be Morozian is to bear a badge of honor - yet with that honor comes an understanding that one must act as a Morozian, and not debase oneself to the level of a Ma'zal." + desc = "The Imperial Core consists of worlds colonized mostly by Morozians with little involvement by Ma'zals such as Zhurong, Alterim Obrirava, and Alterim Balteulis. Much of the culture of these planets is shared with the Imperial capital of Moroz, and the pomp-and-circumstance of Dominian noble life is well alive on these worlds as well. Much of the wealth of Dominians living in the Imperial Core has been built off of resources extracted from worlds conquered by the Empire. In the Empire, to be Morozian is to bear a badge of honor - yet with that honor comes an understanding that one must act as a Morozian, and not debase oneself to the level of a Ma'zal." possible_accents = list(ACCENT_DOMINIA_VULGAR) possible_citizenships = CITIZENSHIPS_DOMINIA possible_religions = list(RELIGION_MOROZ) diff --git a/code/modules/background/space_sectors/badlands.dm b/code/modules/background/space_sectors/badlands.dm index 500cbc8e877..cf7bac1e6f0 100644 --- a/code/modules/background/space_sectors/badlands.dm +++ b/code/modules/background/space_sectors/badlands.dm @@ -18,6 +18,13 @@ starlight_power = 2 starlight_range = 4 + lore_radio_stations = list( + "72.9 Nowa Bratislava Independent Radio" = 'texts/lore_radio/badlands/72.9_Nowa_Bratislava_Independent_Radio.txt', + "83.6 Shipping Radio Traffic" = 'texts/lore_radio/badlands/83.6_Shipping_Radio_Traffic.txt', + "86.2 Shipping Advisory Channel" = 'texts/lore_radio/badlands/86.2_Shipping_Advisory_Channel.txt', + "91.1 Morozian Classics" = 'texts/lore_radio/badlands/91.1_Morozian_Classics.txt' + ) + /datum/space_sector/valley_hale name = SECTOR_VALLEY_HALE description = "Nestled in the narrow Frontier space between the Republic of Elyra and the former borders of the Solarian Alliance is Valley Hale, a large region filled with a large \ diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 72d7697c96b..8c68050b156 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -898,10 +898,10 @@ var/list/localhost_addresses = list( /atom/proc/is_auto_clickable() return TRUE -/obj/screen/is_auto_clickable() +/atom/movable/screen/is_auto_clickable() return FALSE -/obj/screen/click_catcher/is_auto_clickable() +/atom/movable/screen/click_catcher/is_auto_clickable() return TRUE /** diff --git a/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm b/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm index 01845d019f1..235630faff2 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm @@ -346,6 +346,16 @@ ABSTRACT_TYPE(/datum/gear/ears/vaurca) sort_category = "Xenowear - Vaurca" flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION +/datum/gear/accessory/vaurca_starcape + display_name = "cthur star cape" + description = "A decorated cape, fit for a C'thuric Ta." + path = /obj/item/clothing/accessory/vaurca_breeder/star_cape + cost = 1 + whitelisted = list(SPECIES_VAURCA_BREEDER) + culture_restriction = list(/singleton/origin_item/culture/cthur_breeder) + sort_category = "Xenowear - Vaurca" + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION + /datum/gear/accessory/vaurca_cthur_llc display_name = "cthur, llc cape" description = "A cape for C'thur, LLC Vaurca Gyne diplomats." diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f0997a4f9a0..baa07f0b401 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -286,7 +286,7 @@ var/list/preferences_datums = list() if(istype(NP) && istype(NP.late_choices_ui)) // update character icon in late-choices UI NP.late_choices_ui.update_character_icon() - var/obj/screen/BG= LAZYACCESS(char_render_holders, "BG") + var/atom/movable/screen/BG= LAZYACCESS(char_render_holders, "BG") if(!BG) BG = new BG.appearance_flags = TILE_BOUND|PIXEL_SCALE|NO_CLIENT_COLOR @@ -299,7 +299,7 @@ var/list/preferences_datums = list() var/index = 0 for(var/D in GLOB.cardinal) - var/obj/screen/O = LAZYACCESS(char_render_holders, "[D]") + var/atom/movable/screen/O = LAZYACCESS(char_render_holders, "[D]") if(!O) O = new LAZYSET(char_render_holders, "[D]", O) @@ -328,7 +328,7 @@ var/list/preferences_datums = list() /datum/preferences/proc/clear_character_previews() for(var/index in char_render_holders) - var/obj/screen/S = char_render_holders[index] + var/atom/movable/screen/S = char_render_holders[index] client?.screen -= S qdel(S) QDEL_LIST_ASSOC_VAL(char_render_holders) diff --git a/code/modules/client/ui_style.dm b/code/modules/client/ui_style.dm index 073b0515a86..1f596106fde 100644 --- a/code/modules/client/ui_style.dm +++ b/code/modules/client/ui_style.dm @@ -48,7 +48,7 @@ var/all_tooltip_styles = list( var/icon/ic = all_ui_styles[UI_style_new] - for(var/obj/screen/I in icons) + for(var/atom/movable/screen/I in icons) if(I.name in list(I_HELP, I_HURT, I_DISARM, I_GRAB)) continue I.icon = ic I.color = UI_style_color_new diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index a213199bcdf..71c6d3c4f78 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -54,8 +54,8 @@ if(!over_object || over_object == src) return - if(istype(over_object, /obj/screen/inventory)) - var/obj/screen/inventory/S = over_object + if(istype(over_object, /atom/movable/screen/inventory)) + var/atom/movable/screen/inventory/S = over_object if(S.slot_id == src.equip_slot) return diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index f6ba7d07dea..e72d5abeb76 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -28,7 +28,7 @@ BLIND // can't see anything var/off_state = "degoggles" var/active = 1 var/activation_sound = 'sound/items/goggles_charge.ogg' - var/obj/screen/overlay = null + var/atom/movable/screen/overlay = null var/obj/item/clothing/glasses/hud/hud = null // Hud glasses, if any var/activated_color = null var/normal_layer = GLASSES_LAYER diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index 4370feae3ee..668e834415d 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -156,7 +156,7 @@ var/old_next_use = next_use next_use = world.time + module_cooldown if(next_use > old_next_use && holder.wearer) - var/obj/screen/inventory/back/B = locate(/obj/screen/inventory/back) in holder.wearer.hud_used.adding + var/atom/movable/screen/inventory/back/B = locate(/atom/movable/screen/inventory/back) in holder.wearer.hud_used.adding if(B) B.set_color_for(COLOR_RED, module_cooldown) diff --git a/code/modules/clothing/spacesuits/rig/suits/combat.dm b/code/modules/clothing/spacesuits/rig/suits/combat.dm index 87f9ad7aec3..f15a50f4a6a 100644 --- a/code/modules/clothing/spacesuits/rig/suits/combat.dm +++ b/code/modules/clothing/spacesuits/rig/suits/combat.dm @@ -65,7 +65,6 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/military - allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL | MODULE_MEDICAL | MODULE_UTILITY /obj/item/clothing/head/helmet/space/rig/military @@ -479,3 +478,65 @@ /obj/item/clothing/head/helmet/space/rig/nanotrasen/corporate_auxiliary light_overlay = "helmet_light_dual" + +/obj/item/rig/combat/legionnaire + name = "\improper Legionnaire Hardsuit" + desc = "An armored combat hardsuit in the blue colors of the Tau Ceti Armed Forces. The red shoulder pad dignifying the individual as a member of rank. \ + Its golden visor reflecting the shining liberty the TCAF stands for." + desc_extended = "This hardsuit is brimming with modules and material. Manufactured initially by NanoTrasen, and later modified by Zavodskoi, \ + the Legionnaire hardsuit comes in many shapes and sizes to accommodate its missions. Seeing both action in orbit and on the ground. \ + The blue armored plates are layered with brown ballistic padding, and finally a tightly woven black armored liner to keep out any hazardous environment, from air to space." + icon = 'icons/clothing/rig/tcaf_legionnaire.dmi' + icon_state = "legionnaire_rig" + icon_supported_species_tags = null + suit_type = "\improper Legionnaire Hardsuit" + armor = list( + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_MAJOR, + laser = ARMOR_LASER_MEDIUM, + energy = ARMOR_ENERGY_SMALL, + bomb = ARMOR_BOMB_PADDED, + bio = ARMOR_BIO_SHIELDED, + rad = ARMOR_RAD_SMALL + ) + siemens_coefficient = 0.1 + offline_slowdown = 3 + offline_vision_restriction = TINT_HEAVY + + helm_type = /obj/item/clothing/head/helmet/space/rig/legionnaire + + allowed = list( + /obj/item/device/flashlight, + /obj/item/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/gun, + /obj/item/ammo_magazine, + /obj/item/ammo_casing, + /obj/item/melee/baton, + /obj/item/melee/energy/sword, + /obj/item/handcuffs, + /obj/item/material/twohanded/fireaxe, + /obj/item/rfd/construction, + /obj/item/material/twohanded/pike/flag + ) + + allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL | MODULE_MEDICAL | MODULE_UTILITY + + species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_BISHOP, BODYTYPE_IPC_ZENGHU) + +/obj/item/clothing/head/helmet/space/rig/legionnaire + light_overlay = "helmet_light_tcaf_legionnaire" + camera = /obj/machinery/camera/network/tcfl + +/obj/item/rig/combat/legionnaire/equipped + + initial_modules = list( + /obj/item/rig_module/actuators, + /obj/item/rig_module/mounted/egun, + /obj/item/rig_module/fabricator/energy_net, + /obj/item/rig_module/device/drill, + /obj/item/rig_module/vision/nvg, + /obj/item/rig_module/storage, + /obj/item/rig_module/cooling_unit, + /obj/item/rig_module/recharger + ) diff --git a/code/modules/heavy_vehicle/interface/_interface.dm b/code/modules/heavy_vehicle/interface/_interface.dm index 2e2fbc70a1f..fbb0429d4b1 100644 --- a/code/modules/heavy_vehicle/interface/_interface.dm +++ b/code/modules/heavy_vehicle/interface/_interface.dm @@ -14,32 +14,32 @@ if(!LAZYLEN(hud_elements)) var/i = 1 for(var/hardpoint in hardpoints) - var/obj/screen/mecha/hardpoint/H = new(src, hardpoint) + var/atom/movable/screen/mecha/hardpoint/H = new(src, hardpoint) H.screen_loc = "1:6,[15-i]" //temp hud_elements |= H hardpoint_hud_elements[hardpoint] = H i++ var/list/additional_hud_elements = list( - /obj/screen/mecha/toggle/power_control, - /obj/screen/mecha/toggle/maint, - /obj/screen/mecha/eject, - /obj/screen/mecha/toggle/hardpoint, - /obj/screen/mecha/toggle/hatch, - /obj/screen/mecha/toggle/hatch_open, - /obj/screen/mecha/radio, - /obj/screen/mecha/toggle/sensor, - /obj/screen/mecha/toggle/megaspeakers, - /obj/screen/mecha/rename + /atom/movable/screen/mecha/toggle/power_control, + /atom/movable/screen/mecha/toggle/maint, + /atom/movable/screen/mecha/eject, + /atom/movable/screen/mecha/toggle/hardpoint, + /atom/movable/screen/mecha/toggle/hatch, + /atom/movable/screen/mecha/toggle/hatch_open, + /atom/movable/screen/mecha/radio, + /atom/movable/screen/mecha/toggle/sensor, + /atom/movable/screen/mecha/toggle/megaspeakers, + /atom/movable/screen/mecha/rename ) if(body && body.pilot_coverage >= 100) - additional_hud_elements += /obj/screen/mecha/toggle/air + additional_hud_elements += /atom/movable/screen/mecha/toggle/air i = 0 var/pos = 7 for(var/additional_hud in additional_hud_elements) - var/obj/screen/mecha/M = new additional_hud(src) + var/atom/movable/screen/mecha/M = new additional_hud(src) var/y_position = i * -12 if(M.icon_state == "large_base") y_position += 2 @@ -49,20 +49,20 @@ hud_elements |= M i++ - hud_health = new /obj/screen/mecha/health(src) + hud_health = new /atom/movable/screen/mecha/health(src) hud_health.screen_loc = "EAST-1:28,CENTER-3:11" hud_elements |= hud_health - hud_open = locate(/obj/screen/mecha/toggle/hatch_open) in hud_elements - hud_power = new /obj/screen/mecha/power(src) + hud_open = locate(/atom/movable/screen/mecha/toggle/hatch_open) in hud_elements + hud_power = new /atom/movable/screen/mecha/power(src) hud_power.screen_loc = "EAST-1:12,CENTER-4:25" hud_elements |= hud_power - hud_power_control = locate(/obj/screen/mecha/toggle/power_control) in hud_elements + hud_power_control = locate(/atom/movable/screen/mecha/toggle/power_control) in hud_elements refresh_hud() /mob/living/heavy_vehicle/handle_hud_icons() for(var/hardpoint in hardpoint_hud_elements) - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] if(H) H.update_system_info() handle_hud_icons_health() handle_power_hud() diff --git a/code/modules/heavy_vehicle/interface/screen_objects.dm b/code/modules/heavy_vehicle/interface/screen_objects.dm index 4ef322e0c7c..34d9338925d 100644 --- a/code/modules/heavy_vehicle/interface/screen_objects.dm +++ b/code/modules/heavy_vehicle/interface/screen_objects.dm @@ -1,42 +1,42 @@ // Screen objects hereon out. -/obj/screen/mecha +/atom/movable/screen/mecha name = "hardpoint" icon = 'icons/mecha/mecha_hud.dmi' icon_state = "hardpoint" var/mob/living/heavy_vehicle/owner maptext_y = 11 -/obj/screen/mecha/proc/notify_user(var/mob/user, var/text) +/atom/movable/screen/mecha/proc/notify_user(var/mob/user, var/text) if(user && user.loc == owner) to_chat(user, text) -/obj/screen/mecha/radio +/atom/movable/screen/mecha/radio name = "radio" icon_state = "base" maptext = "RADIO" maptext_x = 2 maptext_y = 11 -/obj/screen/mecha/radio/Click() +/atom/movable/screen/mecha/radio/Click() if(..()) if(owner.radio) owner.radio.attack_self(usr) -/obj/screen/mecha/Initialize() +/atom/movable/screen/mecha/Initialize() . = ..() var/mob/living/heavy_vehicle/newowner = loc if(!istype(newowner)) return INITIALIZE_HINT_QDEL owner = newowner -/obj/screen/mecha/Destroy(force) +/atom/movable/screen/mecha/Destroy(force) owner = null . = ..() -/obj/screen/mecha/Click() +/atom/movable/screen/mecha/Click() return (!owner || !usr.incapacitated() && (usr == owner || usr.loc == owner)) -/obj/screen/mecha/hardpoint +/atom/movable/screen/mecha/hardpoint name = "hardpoint" var/hardpoint_tag var/obj/item/holding @@ -45,16 +45,16 @@ maptext_y = 3 maptext_width = 120 -/obj/screen/mecha/hardpoint/Destroy() +/atom/movable/screen/mecha/hardpoint/Destroy() holding = null hardpoint_tag = null . = ..() -/obj/screen/mecha/hardpoint/MouseDrop() +/atom/movable/screen/mecha/hardpoint/MouseDrop() ..() if(holding) holding.screen_loc = screen_loc -/obj/screen/mecha/hardpoint/proc/update_system_info() +/atom/movable/screen/mecha/hardpoint/proc/update_system_info() // No point drawing it if we have no item to use or nobody to see it. if(!holding || !owner) return @@ -132,12 +132,12 @@ new_overlays += GLOB.hardpoint_bar_cache[i] overlays = new_overlays -/obj/screen/mecha/hardpoint/Initialize(mapload, var/newtag) +/atom/movable/screen/mecha/hardpoint/Initialize(mapload, var/newtag) . = ..() hardpoint_tag = newtag name = "hardpoint ([hardpoint_tag])" -/obj/screen/mecha/hardpoint/Click(var/location, var/control, var/params) +/atom/movable/screen/mecha/hardpoint/Click(var/location, var/control, var/params) if(!(..())) return @@ -160,98 +160,98 @@ if(owner.set_hardpoint(hardpoint_tag)) icon_state = "hardpoint_selected" -/obj/screen/mecha/eject +/atom/movable/screen/mecha/eject name = "eject" icon_state = "large_base" maptext = "EJECT" maptext_x = 3 maptext_y = 10 -/obj/screen/mecha/eject/Click() +/atom/movable/screen/mecha/eject/Click() if(..()) owner.eject(usr) -/obj/screen/mecha/rename +/atom/movable/screen/mecha/rename name = "rename" icon_state = "base" maptext = "RENAME" maptext_x = 1 maptext_y = 12 -/obj/screen/mecha/rename/Click() +/atom/movable/screen/mecha/rename/Click() if(..()) owner.rename(usr) -/obj/screen/mecha/power +/atom/movable/screen/mecha/power name = "power" icon_state = null maptext_width = 64 maptext_y = 2 -/obj/screen/mecha/toggle +/atom/movable/screen/mecha/toggle name = "toggle" var/toggled -/obj/screen/mecha/toggle/Click() +/atom/movable/screen/mecha/toggle/Click() if(..()) toggled() -/obj/screen/mecha/toggle/proc/toggled() +/atom/movable/screen/mecha/toggle/proc/toggled() toggled = !toggled icon_state = "[initial(icon_state)][toggled ? "_enabled" : ""]" return toggled -/obj/screen/mecha/toggle/air +/atom/movable/screen/mecha/toggle/air name = "air" icon_state = "base" maptext = "AIR" maptext_x = 8 -/obj/screen/mecha/toggle/air/toggled() +/atom/movable/screen/mecha/toggle/air/toggled() toggled = !toggled owner.use_air = toggled var/main_color = owner.use_air ? "#d1d1d1" : "#525252" maptext = "AIR" notify_user(usr, SPAN_NOTICE("Auxiliary atmospheric system [owner.use_air ? "enabled" : "disabled"].")) -/obj/screen/mecha/toggle/maint +/atom/movable/screen/mecha/toggle/maint name = "toggle maintenance protocol" icon_state = "large_base" maptext = "MAINT" maptext_x = 2 maptext_y = 10 -/obj/screen/mecha/toggle/maint/toggled() +/atom/movable/screen/mecha/toggle/maint/toggled() toggled = !toggled owner.maintenance_protocols = toggled var/main_color = owner.maintenance_protocols ? "#d1d1d1" : "#525252" maptext = "MAINT" notify_user(usr, SPAN_NOTICE("Maintenance protocols [owner.maintenance_protocols ? "enabled" : "disabled"].")) -/obj/screen/mecha/toggle/power_control +/atom/movable/screen/mecha/toggle/power_control name = "power control" icon_state = "large_base" maptext = "POWER" maptext_x = 1 maptext_y = 11 -/obj/screen/mecha/toggle/power_control/toggled() +/atom/movable/screen/mecha/toggle/power_control/toggled() toggled = !toggled owner.toggle_power(usr) var/main_color = toggled ? "#d1d1d1" : "#525252" maptext = "POWER" -/obj/screen/mecha/toggle/power_control/update_icon() +/atom/movable/screen/mecha/toggle/power_control/update_icon() toggled = (owner.power == MECH_POWER_ON) return ..() -/obj/screen/mecha/toggle/hardpoint +/atom/movable/screen/mecha/toggle/hardpoint name = "toggle hardpoint lock" icon_state = "base" maptext = "GEAR" maptext_x = 4 -/obj/screen/mecha/toggle/hardpoint/toggled() +/atom/movable/screen/mecha/toggle/hardpoint/toggled() if(owner.force_locked) notify_user(usr, SPAN_WARNING("The locking system cannot be operated due to software restriction. Contact the manufacturer for more details.")) return @@ -261,13 +261,13 @@ maptext = "GEAR" notify_user(usr, SPAN_NOTICE("Hardpoint system access is now [owner.hardpoints_locked ? "disabled" : "enabled"].")) -/obj/screen/mecha/toggle/hatch +/atom/movable/screen/mecha/toggle/hatch name = "toggle hatch lock" icon_state = "base" maptext = "LOCK" maptext_x = 5 -/obj/screen/mecha/toggle/hatch/toggled() +/atom/movable/screen/mecha/toggle/hatch/toggled() if(!owner.hatch_locked && !owner.hatch_closed) notify_user(usr, SPAN_WARNING("You cannot lock the hatch while it is open.")) return @@ -286,17 +286,17 @@ maptext_x = 5 notify_user(usr, SPAN_NOTICE("The [owner.body.hatch_descriptor] is [owner.hatch_locked ? "now" : "no longer" ] locked.")) -/obj/screen/mecha/toggle/hatch_open +/atom/movable/screen/mecha/toggle/hatch_open name = "open or close hatch" icon_state = "base" maptext = "CLOSE" maptext_x = 3 -/obj/screen/mecha/toggle/hatch_open/update_icon() +/atom/movable/screen/mecha/toggle/hatch_open/update_icon() maptext = "[owner.hatch_closed ? "OPEN" : "CLOSE"]" maptext_x = owner.hatch_closed ? 4 : 3 -/obj/screen/mecha/toggle/hatch_open/toggled(var/notify_user = TRUE) +/atom/movable/screen/mecha/toggle/hatch_open/toggled(var/notify_user = TRUE) if(owner.hatch_locked && owner.hatch_closed) notify_user(usr, SPAN_WARNING("You cannot open the hatch while it is locked.")) return @@ -308,18 +308,18 @@ owner.update_icon() // This is basically just a holder for the updates the mech does. -/obj/screen/mecha/health +/atom/movable/screen/mecha/health name = "exosuit integrity" icon_state = "health" -/obj/screen/mecha/toggle/sensor +/atom/movable/screen/mecha/toggle/sensor name = "toggle sensor matrix" icon_state = "base" maptext = "SENSOR" maptext_x = 1 maptext_y = 12 -/obj/screen/mecha/toggle/sensor/toggled() +/atom/movable/screen/mecha/toggle/sensor/toggled() if(!owner.head) notify_user(usr, SPAN_WARNING("I/O Error: Sensor systems not found.")) return @@ -332,14 +332,14 @@ maptext = "SENSOR" notify_user(usr, SPAN_NOTICE("[capitalize_first_letters(owner.head.name)] Advanced Sensor mode is [owner.head.active_sensors ? "now" : "no longer" ] active.")) -/obj/screen/mecha/toggle/megaspeakers +/atom/movable/screen/mecha/toggle/megaspeakers name = "toggle integrated megaspeakers" icon_state = "base" // based maptext = "VOLUME" maptext_x = 1 maptext_y = 12 -/obj/screen/mecha/toggle/megaspeakers/toggled() +/atom/movable/screen/mecha/toggle/megaspeakers/toggled() toggled = !toggled owner.loudening = toggled var/main_color = owner.loudening ? "#d1d1d1" : "#525252" diff --git a/code/modules/heavy_vehicle/mech_construction.dm b/code/modules/heavy_vehicle/mech_construction.dm index 82637fd3485..44a3172ebf0 100644 --- a/code/modules/heavy_vehicle/mech_construction.dm +++ b/code/modules/heavy_vehicle/mech_construction.dm @@ -102,7 +102,7 @@ GLOB.destroyed_event.unregister(module_to_forget, src, PROC_REF(forget_module)) - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[target] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[target] H.holding = null hud_elements -= module_to_forget @@ -150,7 +150,7 @@ system.forceMove(src) hardpoints[system_hardpoint] = system - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[system_hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[system_hardpoint] H.holding = system system.screen_loc = H.screen_loc @@ -200,7 +200,7 @@ system.layer = initial(system.layer) GLOB.destroyed_event.unregister(system, src, PROC_REF(forget_module)) - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[system_hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[system_hardpoint] H.holding = null for(var/thing in pilots) diff --git a/code/modules/heavy_vehicle/mech_helpers.dm b/code/modules/heavy_vehicle/mech_helpers.dm index 71d26009650..7a073e2b8f0 100644 --- a/code/modules/heavy_vehicle/mech_helpers.dm +++ b/code/modules/heavy_vehicle/mech_helpers.dm @@ -37,17 +37,17 @@ return offset_x /mob/living/heavy_vehicle/proc/toggle_maintenance_protocols() - var/obj/screen/mecha/toggle/maint/M = locate() in hud_elements + var/atom/movable/screen/mecha/toggle/maint/M = locate() in hud_elements M.toggled() return TRUE /mob/living/heavy_vehicle/proc/toggle_hatch() - var/obj/screen/mecha/toggle/hatch_open/H = locate() in hud_elements + var/atom/movable/screen/mecha/toggle/hatch_open/H = locate() in hud_elements H.toggled() return TRUE /mob/living/heavy_vehicle/proc/toggle_lock() - var/obj/screen/mecha/toggle/hatch/L = locate() in hud_elements + var/atom/movable/screen/mecha/toggle/hatch/L = locate() in hud_elements L.toggled() return TRUE diff --git a/code/modules/heavy_vehicle/mech_interaction.dm b/code/modules/heavy_vehicle/mech_interaction.dm index 5e7bd819617..ce6475a7284 100644 --- a/code/modules/heavy_vehicle/mech_interaction.dm +++ b/code/modules/heavy_vehicle/mech_interaction.dm @@ -161,7 +161,7 @@ var/old_next_move = next_move next_move = max(world.time + timeout, next_move) for(var/hardpoint in hardpoint_hud_elements) - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] if(H) H.color = "#FF0000" if(next_move > old_next_move) // TIMER_OVERRIDE would not work here, because the smaller delays tend to be called after the longer ones @@ -169,7 +169,7 @@ /mob/living/heavy_vehicle/proc/reset_hardpoint_color() for(var/hardpoint in hardpoint_hud_elements) - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] if(H) H.color = null @@ -188,7 +188,7 @@ for(var/hardpoint in hardpoints) if(hardpoint != selected_hardpoint) continue - var/obj/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] + var/atom/movable/screen/mecha/hardpoint/H = hardpoint_hud_elements[hardpoint] if(istype(H)) H.icon_state = "hardpoint" break @@ -559,7 +559,7 @@ var/mob/living/carbon/human/D = H if(D.lying) D.attack_log += "\[[time_stamp()]\] Was trampled by [src]" - attack_log += text("\[[time_stamp()]\] trampled [D.name] ([D.ckey]) with \the [src].") + attack_log += "\[[time_stamp()]\] trampled [D.name] ([D.ckey]) with \the [src]." msg_admin_attack("[src] trampled [key_name(D)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] runs over \the [D]!")) D.apply_damage(legs.trample_damage, DAMAGE_BRUTE) diff --git a/code/modules/heavy_vehicle/mecha.dm b/code/modules/heavy_vehicle/mecha.dm index 0efde46f29c..ba6cef6019e 100644 --- a/code/modules/heavy_vehicle/mecha.dm +++ b/code/modules/heavy_vehicle/mecha.dm @@ -79,10 +79,10 @@ var/next_mecha_move = 0 var/list/hud_elements = list() var/list/hardpoint_hud_elements = list() - var/obj/screen/mecha/health/hud_health - var/obj/screen/mecha/toggle/hatch_open/hud_open - var/obj/screen/mecha/power/hud_power - var/obj/screen/mecha/toggle/power_control/hud_power_control + var/atom/movable/screen/mecha/health/hud_health + var/atom/movable/screen/mecha/toggle/hatch_open/hud_open + var/atom/movable/screen/mecha/power/hud_power + var/atom/movable/screen/mecha/toggle/power_control/hud_power_control //POWER var/power = MECH_POWER_OFF diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 312c5e016b2..1bf25d9cd3f 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -228,7 +228,7 @@ close() else if (src.density) - flick(text("[]deny", src.base_state), src) + flick("[src.base_state]deny", src) return diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index f65278a789a..e91ef4d66a7 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -399,7 +399,7 @@ activate_pin(3) for(var/mob/O in hearers(1, get_turf(src))) - O.show_message(text("[icon2html(src, viewers(get_turf(src)))] *beep* *beep*"), 3, "*beep* *beep*", 2) + O.show_message("[icon2html(src, viewers(get_turf(src)))] *beep* *beep*", 3, "*beep* *beep*", 2) //This circuit gives information on where the machine is. /obj/item/integrated_circuit/input/gps diff --git a/code/modules/item_worth/material_weapons.dm b/code/modules/item_worth/material_weapons.dm deleted file mode 100644 index e76b103e156..00000000000 --- a/code/modules/item_worth/material_weapons.dm +++ /dev/null @@ -1,47 +0,0 @@ -/obj/item/material - var/worth_multiplier = 1 - -//Rule of thumb is: worth more than the parts put in -//Finished good is worth more than its individual parts - -/obj/item/material/kitchen - worth_multiplier = 1.1 - -/obj/item/material/knife/butterfly - worth_multiplier = 8 - -/obj/item/material/harpoon - worth_multiplier = 15 - -/obj/item/material/hatchet - worth_multiplier = 6 - -/obj/item/material/minihoe - worth_multiplier = 6 - -/obj/item/material/scythe - worth_multiplier = 20 - -/obj/item/material/sword - worth_multiplier = 30 - -/obj/item/material/twohanded/fireaxe - worth_multiplier = 31 - -/obj/item/material/twohanded/spear - worth_multiplier = 7 //blade + stuff - -/obj/item/material/star - worth_multiplier = 25 - -/obj/item/material/twohanded/pike - worth_multiplier = 20 - -/obj/item/material/twohanded/pike/halberd - worth_multiplier = 30 - -/obj/item/material/twohanded/pike/pitchfork - worth_multiplier = 10 - -/obj/item/material/twohanded/zweihander - worth_multiplier = 35 diff --git a/code/modules/item_worth/materials.dm b/code/modules/item_worth/materials.dm deleted file mode 100644 index 0a0612983d3..00000000000 --- a/code/modules/item_worth/materials.dm +++ /dev/null @@ -1,91 +0,0 @@ -/material - var/value = 1 - -/material/Destroy(force) - stack_trace("Someone tried to delete a /material.") - . = ..() - return QDEL_HINT_LETMELIVE //Materials cannot be deleted, as you cannot poof the concept out of existence - -/material/uranium - value = 100 - -/material/diamond - value = 170 - -/material/gold - value = 40 - -/material/silver - value = 35 - -/material/bronze - value = 25 - -/material/phoron - value = 150 - -/material/stone/marble - value = 4 - -/material/steel - value = 4 - -/material/diona - value = 5 - -/material/steel/holographic - value = 0 - -/material/plasteel - value = 12 - -/material/plasteel/titanium - value = 10 - -/material/glass/reinforced - value = 2 - -/material/glass/phoron - value = 30 - -/material/glass/phoron/reinforced - value = 40 - -/material/osmium - value = 30 - -/material/tritium - value = 300 - -/material/mhydrogen - value = 100 - -/material/platinum - value = 200 - -/material/iron - value = 5 - -/material/wood - value = 3 - -/material/wood/holographic - value = 0 - -/material/cardboard - value = 0 - -/material/leather - value = 3 - -/material/hide - value = 5 - -/material/hide/human - value = 35 - -/material/bone - value = 5 - -/material/bone/necromancer - value = 50 diff --git a/code/modules/item_worth/reagents.dm b/code/modules/item_worth/reagents.dm deleted file mode 100644 index 2cb91bfa47f..00000000000 --- a/code/modules/item_worth/reagents.dm +++ /dev/null @@ -1,853 +0,0 @@ -//These value assume that each unit is roughly a gram - -/singleton/reagent - var/value = 1 //per unit - -/singleton/reagent/blood - value = 2 - -/singleton/reagent/water - value = 0 - -/singleton/reagent/fuel - value = 6.8 - -/singleton/reagent/acetone - value = 0.27 - -/singleton/reagent/aluminum - value = 0.02 - -/singleton/reagent/ammonia - value = 0.01 - -/singleton/reagent/carbon - value = 0.2 - -/singleton/reagent/copper - value = 0.02 - -/singleton/reagent/alcohol/ethanol - value = 0.01 - -/singleton/reagent/alcohol/butanol - value = 0.02 - -/singleton/reagent/alcohol/butanol/xuizijuice - value = 0.2 - -/singleton/reagent/alcohol/butanol/xuizijuice - value = 0.2 - -/singleton/reagent/alcohol/nmshaan_liquor/darmadhirbrew - value = 25 - -/singleton/reagent/hydrazine - value = 0.017 - -/singleton/reagent/iron - value = 0.01 - -/singleton/reagent/lithium - value = 6 - -/singleton/reagent/mercury - value = 0.02 - -/singleton/reagent/phosphorus - value = 0.4 - -/singleton/reagent/potassium - value = 1 - -/singleton/reagent/radium - value = 50 //Radium is crazy expensive, like 100k+ per gram. So probably a bit less expensive in the future. - -/singleton/reagent/acid - value = 0.2 - -/singleton/reagent/acid/stomach - value = 0 - -/singleton/reagent/sodium - value = 0.1 - -/singleton/reagent/sugar - value = 0.1 - -/singleton/reagent/sulfur - value = 2 - -/singleton/reagent/kois - value = 0.5 - -/singleton/reagent/nutriment - value = 0.1 - -/singleton/reagent/nutriment/virus_food - value = 0.15 - -/singleton/reagent/nutriment/sprinkles - value = 0.05 - -/singleton/reagent/nutriment/mint - value = 0.14 - -/singleton/reagent/lipozine - value = 0.11 - -/singleton/reagent/sodiumchloride - value = 0.11 - -/singleton/reagent/blackpepper - value = 0.1 - -/singleton/reagent/enzyme - value = 0.2 - -/singleton/reagent/frostoil - value = 0.2 - -/singleton/reagent/capsaicin - value = 0.2 - -/singleton/reagent/capsaicin/condensed - value = 0.5 - -/singleton/reagent/drink - value = 0.1 - -/singleton/reagent/drink/milk/chocolate - value = 0.11 - -/singleton/reagent/drink/milk/cream - value = 0.12 - -/singleton/reagent/drink/coffee - value = 0.12 - -/singleton/reagent/drink/coffee/soy_latte - value = 0.13 - -/singleton/reagent/drink/hot_coco - value = 0.11 - -/singleton/reagent/drink/milkshake - value = 0.12 - -/singleton/reagent/drink/ntella_milkshake - value = 0.14 - -/singleton/reagent/drink/shake_caramel - value = 0.13 - -/singleton/reagent/drink/shake_strawberry - value = 0.13 - -/singleton/reagent/drink/shake_dirtberry - value = 0.13 - -/singleton/reagent/drink/shake_blueberry - value = 0.13 - -/singleton/reagent/drink/shake_chocolate - value = 0.13 - -/singleton/reagent/drink/shake_blue_raspberry - value = 0.13 - -/singleton/reagent/drink/shake_raspberry - value = 0.13 - -/singleton/reagent/drink/shake_berry - value = 0.13 - -/singleton/reagent/drink/shake_ylpha - value = 0.13 - -/singleton/reagent/drink/shake_choco_mint - value = 0.13 - -/singleton/reagent/drink/ntella_hot_chocolate - value = 0.13 - -/singleton/reagent/drink/rewriter - value = 0.11 - -/singleton/reagent/drink/nuka_cola - value = 0.13 - -/singleton/reagent/drink/doctorsdelight - value = 0.3 - -/singleton/reagent/drink/ice - value = 0 - -/singleton/reagent/drink/nothing - value = 0 - -/singleton/reagent/alcohol/absinthe - value = 0.13 - -/singleton/reagent/alcohol/ale - value = 0.13 - -/singleton/reagent/alcohol/beer - value = 0.12 - -/singleton/reagent/alcohol/bitters - value = 0.15 - -/singleton/reagent/alcohol/bluecuracao - value = 0.16 - -/singleton/reagent/alcohol/champagne - value = 0.2 - -/singleton/reagent/alcohol/cognac - value = 0.2 - -/singleton/reagent/alcohol/deadrum - value = 0.15 - -/singleton/reagent/alcohol/gin - value = 0.1 - -/singleton/reagent/alcohol/coffee/kahlua - value = 0.14 - -/singleton/reagent/alcohol/melonliquor - value = 0.13 - -/singleton/reagent/alcohol/rum - value = 0.1 - -/singleton/reagent/alcohol/sake - value = 0.11 - -/singleton/reagent/alcohol/tequila - value = 0.1 - -/singleton/reagent/alcohol/thirteenloko - value = 0.15 - -/singleton/reagent/alcohol/vermouth - value = 0.1 - -/singleton/reagent/alcohol/vodka - value = 0.1 - -/singleton/reagent/alcohol/whiskey - value = 0.1 - -/singleton/reagent/alcohol/wine - value = 0.1 - -/singleton/reagent/alcohol/wine/vintage - value = 15 - -/singleton/reagent/alcohol/acid_spit - value = 0.15 - -/singleton/reagent/alcohol/alliescocktail - value = 0.16 - -/singleton/reagent/alcohol/aloe - value = 0.17 - -/singleton/reagent/alcohol/amasec - value = 0.16 - -/singleton/reagent/alcohol/andalusia - value = 0.15 - -/singleton/reagent/alcohol/antifreeze - value = 0.16 - -/singleton/reagent/alcohol/atomicbomb - value = 0.21 - -/singleton/reagent/alcohol/coffee/b52 - value = 0.17 - -/singleton/reagent/alcohol/bahama_mama - value = 0.15 - -/singleton/reagent/alcohol/bananahonk - value = 0.15 - -/singleton/reagent/alcohol/barefoot - value = 0.14 - -/singleton/reagent/alcohol/beepsky_smash - value = 0.2 - -/singleton/reagent/alcohol/bilk - value = 0.12 - -/singleton/reagent/alcohol/blackrussian - value = 0.14 - -/singleton/reagent/alcohol/bloodymary - value = 0.14 - -/singleton/reagent/alcohol/booger - value = 0.13 - -/singleton/reagent/alcohol/coffee/brave_bull - value = 0.16 - -/singleton/reagent/alcohol/cmojito - value = 0.14 - -/singleton/reagent/alcohol/gibsonpunch - value = 0.19 - -/singleton/reagent/alcohol/classic - value = 0.14 - -/singleton/reagent/alcohol/martini - value = 0.16 - -/singleton/reagent/alcohol/corkpopper - value = 0.13 - -/singleton/reagent/alcohol/rumandcola - value = 0.15 - -/singleton/reagent/alcohol/cubalibre - value = 0.16 - -/singleton/reagent/alcohol/demonsblood - value = 0.15 - -/singleton/reagent/alcohol/devilskiss - value = 0.14 - -/singleton/reagent/alcohol/driestmartini - value = 0.16 - -/singleton/reagent/alcohol/ginfizz - value = 0.13 - -/singleton/reagent/alcohol/french75 - value = 0.17 - -/singleton/reagent/alcohol/grog - value = 0.11 - -/singleton/reagent/alcohol/erikasurprise - value = 0.16 - -/singleton/reagent/alcohol/gargleblaster - value = 0.21 - -/singleton/reagent/alcohol/gintonic - value = 0.15 - -/singleton/reagent/alcohol/goldschlager - value = 0.2 - -/singleton/reagent/alcohol/hippiesdelight - value = 0.12 - -/singleton/reagent/alcohol/hooch - value = 0.11 - -/singleton/reagent/alcohol/iced_beer - value = 0.13 - -/singleton/reagent/alcohol/irishcarbomb - value = 0.14 - -/singleton/reagent/alcohol/coffee/irishcoffee - value = 0.12 - -/singleton/reagent/alcohol/irish_cream - value = 0.13 - -/singleton/reagent/alcohol/longislandicedtea - value = 0.13 - -/singleton/reagent/alcohol/manhattan - value = 0.14 - -/singleton/reagent/alcohol/manhattan_proj - value = 0.2 - -/singleton/reagent/alcohol/manly_dorf - value = 0.13 - -/singleton/reagent/alcohol/margarita - value = 0.15 - -/singleton/reagent/alcohol/mead - value = 0.13 - -/singleton/reagent/alcohol/moonshine - value = 0.11 - -/singleton/reagent/alcohol/muscmule - value = 0.14 - -/singleton/reagent/alcohol/neurotoxin - value = 0.2 - -/singleton/reagent/alcohol/omimosa - value = 0.18 - -/singleton/reagent/alcohol/patron - value = 0.16 - -/singleton/reagent/alcohol/pinkgin - value = 0.11 - -/singleton/reagent/alcohol/pinkgintonic - value = 0.13 - -/singleton/reagent/alcohol/piratepunch - value = 0.14 - -/singleton/reagent/alcohol/planterpunch - value = 0.13 - -/singleton/reagent/alcohol/pwine - value = 0.19 - -/singleton/reagent/alcohol/red_mead - value = 0.14 - -/singleton/reagent/alcohol/sbiten - value = 0.13 - -/singleton/reagent/alcohol/screwdrivercocktail - value = 0.13 - -/singleton/reagent/alcohol/sidewinderfang - value = 0.14 - -/singleton/reagent/alcohol/silencer - value = 0.135 - -/singleton/reagent/alcohol/singulo - value = 0.2 - -/singleton/reagent/alcohol/snowwhite - value = 0.125 - -/singleton/reagent/alcohol/ssroyale - value = 0.14 - -/singleton/reagent/alcohol/suidream - value = 0.12 - -/singleton/reagent/alcohol/gibsonhooch - value = 0.21 - -/singleton/reagent/alcohol/tequila_sunrise - value = 0.13 - -/singleton/reagent/alcohol/threemileisland - value = 0.2 - -/singleton/reagent/alcohol/toxins_special - value = 0.2 - -/singleton/reagent/alcohol/vodkamartini - value = 0.135 - -/singleton/reagent/alcohol/vodkatonic - value = 0.145 - -/singleton/reagent/alcohol/white_russian - value = 0.125 - -/singleton/reagent/alcohol/whiskey_cola - value = 0.15 - -/singleton/reagent/alcohol/whiskeysoda - value = 0.15 - -/singleton/reagent/alcohol/specialwhiskey - value = 0.3 - -/singleton/reagent/alcohol/daiquiri - value = 0.15 - -/singleton/reagent/alcohol/icepick - value = 0.15 - -/singleton/reagent/alcohol/poussecafe - value = 0.17 - -/singleton/reagent/alcohol/mintjulep - value = 0.15 - -/singleton/reagent/alcohol/johncollins - value = 0.17 - -/singleton/reagent/alcohol/gimlet - value = 0.13 - -/singleton/reagent/alcohol/starsandstripes - value = 0.15 - -/singleton/reagent/alcohol/metropolitan - value = 0.13 - -/singleton/reagent/alcohol/caruso - value = 0.18 - -/singleton/reagent/alcohol/aprilshower - value = 0.15 - -/singleton/reagent/alcohol/carthusiansazerac - value = 0.17 - -/singleton/reagent/alcohol/deweycocktail - value = 0.15 - -/singleton/reagent/alcohol/chartreusegreen - value = 0.18 - -/singleton/reagent/alcohol/chartreuseyellow - value = 0.18 - -/singleton/reagent/alcohol/cremewhite - value = 0.14 - -/singleton/reagent/alcohol/cremeyvette - value = 0.17 - -/singleton/reagent/alcohol/brandy - value = 0.2 - -/singleton/reagent/alcohol/guinness - value = 0.1 - -/singleton/reagent/alcohol/drambuie - value = 0.18 - -/singleton/reagent/alcohol/oldfashioned - value = 0.15 - -/singleton/reagent/alcohol/blindrussian - value = 0.16 - -/singleton/reagent/alcohol/rustynail - value = 0.13 - -/singleton/reagent/alcohol/tallrussian - value = 0.15 - -/singleton/reagent/alcohol/solarian_white - value = 0.125 - -/singleton/reagent/alcohol/solarian_marine - value = 0.2 - -/singleton/reagent/alcohol/cloudyeridani - value = 0.12 - -/singleton/reagent/alcohol/djinntea - value = 0.12 - -/singleton/reagent/alcohol/permanentrevolution - value = 0.13 - -/singleton/reagent/alcohol/internationale - value = 0.13 - -/singleton/reagent/alcohol/dionamama - value = 0.2 - -/singleton/reagent/alcohol/jovianstorm - value = 0.13 - -/singleton/reagent/alcohol/primeminister - value = 0.13 - -/singleton/reagent/alcohol/peacetreaty - value = 0.15 - -/singleton/reagent/alcohol/fiscream - value = 0.14 - -/singleton/reagent/alcohol/coffee/fiscoffee - value = 0.13 - -/singleton/reagent/alcohol/fisfirebomb - value = 0.15 - -/singleton/reagent/inaprovaline - value = 2.5 - -/singleton/reagent/bicaridine - value = 4.9 - -/singleton/reagent/dermaline - value = 3.9 - -/singleton/reagent/dylovene - value = 2.1 - -/singleton/reagent/dexalin - value = 2.4 - -/singleton/reagent/dexalin/plus - value = 3.6 - -/singleton/reagent/tricordrazine - value = 6 - -/singleton/reagent/cryoxadone - value = 3.9 - -/singleton/reagent/clonexadone - value = 5.5 - -/singleton/reagent/perconol - value = 3.3 - -/singleton/reagent/mortaphenyl - value = 3.1 - -/singleton/reagent/oxycomorphine - value = 3.3 - -/singleton/reagent/synaptizine - value = 4.6 - -/singleton/reagent/alkysine - value = 5.9 - -/singleton/reagent/oculine - value = 4.2 - -/singleton/reagent/peridaxon - value = 6 - -/singleton/reagent/ryetalyn - value = 3.6 - -/singleton/reagent/pneumalin - value = 3.2 - -/singleton/reagent/hyperzine - value = 3.9 - -/singleton/reagent/ethylredoxrazine - value = 3.1 - -/singleton/reagent/hyronalin - value = 2.3 - -/singleton/reagent/arithrazine - value = 2.7 - -/singleton/reagent/thetamycin - value = 2.5 - -/singleton/reagent/antidexafen - value = 1.5 - -/singleton/reagent/sterilizine - value = 2.2 - -/singleton/reagent/leporazine - value = 2 - -/singleton/reagent/mental/corophenidate - value = 6 - -/singleton/reagent/mental/parvosil - value = 6 - -/singleton/reagent/mental/neurostabin - value = 6 - -/singleton/reagent/mental/minaphobin - value = 6 - -/singleton/reagent/mental/emoxanyl - value = 6 - -/singleton/reagent/mental/orastabin - value = 6 - -/singleton/reagent/mental/neurapan - value = 6 - -/singleton/reagent/mental/nerospectan - value = 6 - -/singleton/reagent/mental/truthserum - value = 8 - -/singleton/reagent/mental/nicotine - value = 2 - -/singleton/reagent/rezadone - value = 5 - -/singleton/reagent/sanasomnum - value = 5 - -/singleton/reagent/verunol - value = 2 - -/singleton/reagent/crayon_dust - value = 0.001 - -/singleton/reagent/adminordrazine - value = 1000 - -/singleton/reagent/gold - value = 7 - -/singleton/reagent/silver - value = 4 - -/singleton/reagent/uranium - value = 9 - -/singleton/reagent/platinum - value = 3 - -/singleton/reagent/adrenaline - value = 3 - -/singleton/reagent/diethylamine - value = 0.9 - -/singleton/reagent/surfactant - value = 0.05 - -/singleton/reagent/thermite - value = 6 - -/singleton/reagent/spacecleaner - value = 0.7 - -/singleton/reagent/lube - value = 0.6 - -/singleton/reagent/glycerol - value = 8 - -/singleton/reagent/nitroglycerin - value = 9 - -/singleton/reagent/coolant - value = 0.8 - -/singleton/reagent/woodpulp - value = 0.6 - -/singleton/reagent/luminol - value = 1.4 - -/singleton/reagent/toxin - value = 2 - -/singleton/reagent/toxin/plasticide - value = 2.1 - -/singleton/reagent/toxin/amatoxin - value = 2.3 - -/singleton/reagent/toxin/carpotoxin - value = 3 - -/singleton/reagent/toxin/phoron - value = 10 - -/singleton/reagent/toxin/cyanide - value = 3.3 - -/singleton/reagent/toxin/potassium_chloride - value = 4.4 - -/singleton/reagent/toxin/potassium_chlorophoride - value = 4.5 - -/singleton/reagent/toxin/zombiepowder - value = 2.9 - -/singleton/reagent/toxin/fertilizer - value = 1.2 - -/singleton/reagent/toxin/plantbgone - value = 1.1 - -/singleton/reagent/acid/polyacid - value = 2 - -/singleton/reagent/lexorin - value = 2.4 - -/singleton/reagent/mutagen - value = 3.1 - -/singleton/reagent/slimejelly - value = 1.2 - -/singleton/reagent/soporific - value = 2.5 - -/singleton/reagent/polysomnine - value = 2.6 - -/singleton/reagent/polysomnine/beer2 - value = 2.2 - -/singleton/reagent/drugs/mms - value = 2.8 - -/singleton/reagent/drugs/serotrotium - value = 2.5 - -/singleton/reagent/drugs/cryptobiolin - value = 2 - -/singleton/reagent/drugs/impedrezene - value = 1.8 - -/singleton/reagent/drugs/mindbreaker - value = 0.6 - -/singleton/reagent/drugs/psilocybin - value = 0.7 - -/singleton/reagent/aslimetoxin - value = 3 - -/singleton/reagent/toxin/nanites - value = 9 - -/singleton/reagent/estus - value = 50 - -/singleton/reagent/liquid_fire - value = 50 - -/singleton/reagent/black_matter - value = 250 - -/singleton/reagent/bluespace_dust - value = 250 - -/singleton/reagent/philosopher_stone - value = 1000 - -/singleton/reagent/elixir - value = 1000 - -/singleton/reagent/azoth - value = 500 - -/singleton/reagent/toxin/undead - value = 300 - -/singleton/reagent/drugs/ambrosia_extract - value = 2.8 diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 77c7b07e39c..9095933fdaa 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -88,8 +88,8 @@ D.visible_message(SPAN_DANGER("[attack_message]")) playsound(D.loc, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1) - A.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [D.name] ([D.ckey])") - D.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [A.name] ([A.ckey])") + A.attack_log += "\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [D.name] ([D.ckey])" + D.attack_log += "\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [A.name] ([A.ckey])" msg_admin_attack("[key_name(A)] [miss_type ? (miss_type == 1 ? "has missed" : "was blocked by") : "has [pick(attack.attack_verb)]"] [key_name(D)] (JMP)",ckey=key_name(A),ckey_target=key_name(D)) if(miss_type) diff --git a/code/modules/martial_arts/sol_combat.dm b/code/modules/martial_arts/sol_combat.dm index acef8b010a4..078e3aaf0b4 100644 --- a/code/modules/martial_arts/sol_combat.dm +++ b/code/modules/martial_arts/sol_combat.dm @@ -88,8 +88,8 @@ playsound(get_turf(D), /singleton/sound_category/punch_sound, 50, 1, -1) A.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!")) - A.attack_log += text("\[[time_stamp()]\] ["[picked_hit_type]"] [D.name] ([D.ckey])") - D.attack_log += text("\[[time_stamp()]\] ["Has Been [picked_hit_type]"] by [A.name] ([A.ckey])") + A.attack_log += "\[[time_stamp()]\] ["[picked_hit_type]"] [D.name] ([D.ckey])" + D.attack_log += "\[[time_stamp()]\] ["Has Been [picked_hit_type]"] by [A.name] ([A.ckey])" msg_admin_attack("[key_name(A)] ["has [picked_hit_type]"] [key_name(D)] (JMP)",ckey=key_name(A),ckey_target=key_name(D)) return 1 @@ -100,8 +100,8 @@ if(check_streak(A,D)) return 1 - A.attack_log += text("\[[time_stamp()]\] Disarmed [D.name] ([D.ckey])") - D.attack_log += text("\[[time_stamp()]\] Has been disarmed by [A.name] ([A.ckey])") + A.attack_log += "\[[time_stamp()]\] Disarmed [D.name] ([D.ckey])" + D.attack_log += "\[[time_stamp()]\] Has been disarmed by [A.name] ([A.ckey])" msg_admin_attack("[key_name(A)] disarmed [D.name] ([D.ckey]) (JMP)",ckey=key_name(D),ckey_target=key_name(A)) if(prob(60)) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 3c8e3f6c71d..7030cbc7d89 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -87,6 +87,9 @@ var/hardness = 60 // Prob of wall destruction by hulk, used for edge damage in weapons. Also used for bullet protection in armor. var/weight = 20 // Determines blunt damage/throwforce for weapons, and whether it can be flipped. Check DEFAULT_TABLE_FLIP_WEIGHT if you want your materai to be tableflippable. + /// The price value of the item + var/value = 1 + // Noise when someone is faceplanted onto a table made of this material. var/tableslam_noise = 'sound/weapons/tablehit1.ogg' // Noise made when a simple door made of this material opens or closes. @@ -200,6 +203,11 @@ multipart_reinf_icon = new(multipart_reinf_icon) multipart_reinf_icon.Blend(blend_colour, ICON_MULTIPLY) +/material/Destroy(force) + stack_trace("Someone tried to delete a /material.") + . = ..() + return QDEL_HINT_LETMELIVE //Materials cannot be deleted, as you cannot poof the concept out of existence + // This is a placeholder for proper integration of windows/windoors into the system. /material/proc/build_windows(var/mob/living/user, var/obj/item/stack/used_stack) return 0 @@ -279,6 +287,7 @@ icon_colour = "#007A00" weight = 25 hardness = 20 + value = 100 stack_origin_tech = list(TECH_MATERIAL = 5) door_icon_base = "stone" golem = SPECIES_GOLEM_URANIUM @@ -289,6 +298,7 @@ flags = MATERIAL_UNMELTABLE cut_delay = 60 icon_colour = "#00FFE1" + value = 170 opacity = 0.4 reflectivity = 0.6 conductivity = 1 @@ -307,6 +317,7 @@ icon_colour = "#EDD12F" weight = 30 hardness = 15 + value = 40 conductivity = 41 stack_origin_tech = list(TECH_MATERIAL = 4) sheet_singular_name = "ingot" @@ -318,6 +329,7 @@ stack_type = /obj/item/stack/material/bronze weight = 30 hardness = 50 + value = 25 conductivity = 11 icon_colour = "#EDD12F" stack_origin_tech = list(TECH_MATERIAL = 2) @@ -338,6 +350,7 @@ icon_colour = "#D1E6E3" weight = 22 hardness = 50 + value = 35 conductivity = 63 stack_origin_tech = list(TECH_MATERIAL = 3) sheet_singular_name = "ingot" @@ -352,6 +365,7 @@ icon_colour = "#FC2BC5" shard_type = SHARD_SHARD hardness = 30 + value = 150 stack_origin_tech = list(TECH_MATERIAL = 2, TECH_PHORON = 2) door_icon_base = "stone" sheet_singular_name = "crystal" @@ -400,6 +414,7 @@ icon_colour = "#b4b1a6" weight = 26 hardness = 70 + value = 4 stack_type = /obj/item/stack/material/marble golem = SPECIES_GOLEM_MARBLE drop_sound = 'sound/items/drop/boots.ogg' @@ -418,6 +433,7 @@ name = DEFAULT_WALL_MATERIAL stack_type = /obj/item/stack/material/steel integrity = 150 + value = 4 conductivity = 11 protectiveness = 10 // 33% wall_icon = 'icons/turf/smooth/composite_solid_color.dmi' @@ -439,6 +455,7 @@ colour_blend = FALSE integrity = 100 weight = 23 + value = 5 // below is same as wood melting_point = T0C + 300 ignition_point = T0C + 288 @@ -456,6 +473,7 @@ display_name = DEFAULT_WALL_MATERIAL stack_type = null shard_type = SHARD_NONE + value = 0 /material/plasteel name = MATERIAL_PLASTEEL @@ -468,6 +486,7 @@ explosion_resistance = 25 hardness = 80 weight = 23 + value = 12 protectiveness = 20 // 50% conductivity = 10 stack_origin_tech = list(TECH_MATERIAL = 2) @@ -483,6 +502,7 @@ conductivity = 2.38 hardness = 90 weight = 25 + value = 10 protectiveness = 25 icon_base = "metal" door_icon_base = "metal" @@ -617,6 +637,7 @@ tableslam_noise = 'sound/effects/glass_hit.ogg' hardness = 40 weight = 30 + value = 2 stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(DEFAULT_WALL_MATERIAL = 1875, MATERIAL_GLASS = 3750) window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 5) @@ -630,6 +651,7 @@ stack_type = /obj/item/stack/material/glass/phoronglass flags = MATERIAL_BRITTLE integrity = 100 + value = 30 icon_colour = "#FC2BC5" stack_origin_tech = list(TECH_MATERIAL = 4) created_window = /obj/structure/window/borosilicate @@ -646,6 +668,7 @@ created_window = /obj/structure/window/borosilicate/reinforced hardness = 40 weight = 30 + value = 40 rod_product = null /material/plastic @@ -682,6 +705,7 @@ stack_type = /obj/item/stack/material/mhydrogen icon_colour = "#E6C5DE" stack_origin_tech = list(TECH_MATERIAL = 6, TECH_POWER = 6, TECH_MAGNET = 5) + value = 100 conductivity = 100 golem = SPECIES_GOLEM_HYDROGEN is_fusion_fuel = TRUE @@ -691,6 +715,7 @@ stack_type = /obj/item/stack/material/platinum icon_colour = "#9999FF" weight = 27 + value = 200 conductivity = 9.43 stack_origin_tech = list(TECH_MATERIAL = 2) sheet_singular_name = "ingot" @@ -701,6 +726,7 @@ stack_type = /obj/item/stack/material/iron icon_colour = "#5C5454" weight = 22 + value = 5 conductivity = 10 sheet_singular_name = "ingot" sheet_plural_name = "ingots" @@ -755,6 +781,7 @@ hardness = 15 weight = 18 protectiveness = 8 // 28% + value = 3 conductivity = 1 melting_point = T0C+300 //okay, not melting in this case, but hot enough to destroy wood ignition_point = T0C+288 @@ -854,6 +881,7 @@ display_name = "wood" stack_type = null shard_type = SHARD_NONE + value = 0 /material/cardboard name = MATERIAL_CARDBOARD @@ -864,6 +892,7 @@ hardness = 1 weight = 1 protectiveness = 0 // 0% + value = 0 ignition_point = T0C+232 //"the temperature at which book-paper catches fire, and burns." close enough melting_point = T0C+232 //temperature at which cardboard walls would be destroyed stack_origin_tech = list(TECH_MATERIAL = 1) @@ -920,6 +949,7 @@ flags = MATERIAL_PADDING hardness = 1 weight = 1 + value = 3 ignition_point = T0C+300 melting_point = T0C+300 protectiveness = 3 // 13% @@ -1048,6 +1078,7 @@ golem = SPECIES_GOLEM_MEAT drop_sound = 'sound/items/drop/leather.ogg' pickup_sound = 'sound/items/pickup/leather.ogg' + value = 5 /material/hide/corgi name = MATERIAL_HIDE_CORGI @@ -1073,6 +1104,7 @@ name = MATERIAL_HIDE_HUMAN stack_type = /obj/item/stack/material/animalhide/human icon_colour = "#833C00" + value = 35 /material/hide/barehide name = "bare hide" @@ -1092,6 +1124,7 @@ weight = 10 hardness = 20 integrity = 70 + value = 5 stack_origin_tech = list(TECH_MATERIAL = 2) door_icon_base = "stone" protectiveness = 10 // 33% @@ -1103,6 +1136,7 @@ integrity = 150 hardness = 60 protectiveness = 20 // 50% + value = 50 /material/vaurca name = MATERIAL_VAURCA diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 3e1f3550179..06dcb4e0c5e 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -60,53 +60,53 @@ var/dat = "Coin Press
" if(!input) - dat += text("input connection status: ") - dat += text("NOT CONNECTED
") + dat += "input connection status: " + dat += "NOT CONNECTED
" if(!output) - dat += text("
output connection status: ") - dat += text("NOT CONNECTED
") + dat += "
output connection status: " + dat += "NOT CONNECTED
" - dat += text("
Gold inserted: [amt_gold] ") + dat += "
Gold inserted: [amt_gold] " if(chosen == "gold") - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") - dat += text("
Silver inserted: [amt_silver] ") + dat += "Choose" + dat += "
Silver inserted: [amt_silver] " if(chosen == "silver") - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") - dat += text("
Iron inserted: [amt_iron] ") + dat += "Choose" + dat += "
Iron inserted: [amt_iron] " if(chosen == DEFAULT_WALL_MATERIAL) - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") - dat += text("
Diamond inserted: [amt_diamond] ") + dat += "Choose" + dat += "
Diamond inserted: [amt_diamond] " if(chosen == "diamond") - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") - dat += text("
Phoron inserted: [amt_phoron] ") + dat += "Choose" + dat += "
Phoron inserted: [amt_phoron] " if(chosen == "phoron") - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") - dat += text("
Uranium inserted: [amt_uranium] ") + dat += "Choose" + dat += "
Uranium inserted: [amt_uranium] " if(chosen == "uranium") - dat += text("chosen") + dat += "chosen" else - dat += text("Choose") + dat += "Choose" - dat += text("

Will produce [coinsToProduce] [chosen] coins if enough materials are available.
") - dat += text("-10 ") - dat += text("-5 ") - dat += text("-1 ") - dat += text("+1 ") - dat += text("+5 ") - dat += text("+10 ") + dat += "

Will produce [coinsToProduce] [chosen] coins if enough materials are available.
" + dat += "-10 " + dat += "-5 " + dat += "-1 " + dat += "+1 " + dat += "+5 " + dat += "+10 " - dat += text("

In total this machine produced [newCoins] coins.") - dat += text("
Make coins") + dat += "

In total this machine produced [newCoins] coins." + dat += "
Make coins" user << browse("[dat]", "window=mint") /obj/machinery/mineral/mint/Topic(href, href_list) diff --git a/code/modules/mob/abstract/freelook/blueprints/blueprints.dm b/code/modules/mob/abstract/freelook/blueprints/blueprints.dm index aaf62c350ab..c11232db994 100644 --- a/code/modules/mob/abstract/freelook/blueprints/blueprints.dm +++ b/code/modules/mob/abstract/freelook/blueprints/blueprints.dm @@ -265,7 +265,7 @@ return SEE_TURFS|BLIND /mob/abstract/eye/blueprints/apply_visual(mob/living/M) - M.overlay_fullscreen("blueprints", /obj/screen/fullscreen/blueprints) + M.overlay_fullscreen("blueprints", /atom/movable/screen/fullscreen/blueprints) M.client.screen += area_name_effect M.add_client_color(/datum/client_color/monochrome) diff --git a/code/modules/mob/abstract/new_player/menu.dm b/code/modules/mob/abstract/new_player/menu.dm index 36661aca96d..dd99df784df 100644 --- a/code/modules/mob/abstract/new_player/menu.dm +++ b/code/modules/mob/abstract/new_player/menu.dm @@ -12,39 +12,39 @@ SHOULD_NOT_SLEEP(TRUE) adding = list() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/new_player/title(src) + using = new /atom/movable/screen/new_player/title(src) using.name = "Title" using.hud = src adding += using - using = new /obj/screen/new_player/selection/join_game(src) + using = new /atom/movable/screen/new_player/selection/join_game(src) using.name = "Join Game" using.hud = src adding += using - using = new /obj/screen/new_player/selection/settings(src) + using = new /atom/movable/screen/new_player/selection/settings(src) using.name = "Setup Character" adding += using - using = new /obj/screen/new_player/selection/manifest(src) + using = new /atom/movable/screen/new_player/selection/manifest(src) using.name = "Crew Manifest" adding += using - using = new /obj/screen/new_player/selection/observe(src) + using = new /atom/movable/screen/new_player/selection/observe(src) using.name = "Observe" adding += using - using = new /obj/screen/new_player/selection/changelog(src) + using = new /atom/movable/screen/new_player/selection/changelog(src) using.name = "Changelog" adding += using - using = new /obj/screen/new_player/selection/polls(src) + using = new /atom/movable/screen/new_player/selection/polls(src) using.name = "Polls" adding += using - using = new /obj/screen/new_player/selection/lore_summary(src) + using = new /atom/movable/screen/new_player/selection/lore_summary(src) using.name = "Current Lore Summary" adding += using @@ -52,32 +52,32 @@ mymob.client.screen += adding src.adding += using -/obj/screen/new_player +/atom/movable/screen/new_player icon = 'icons/misc/hudmenu/hudmenu.dmi' layer = HUD_BASE_LAYER -/obj/screen/new_player/Initialize() +/atom/movable/screen/new_player/Initialize() set_sector_things() . = ..() -/obj/screen/new_player/proc/set_sector_things() +/atom/movable/screen/new_player/proc/set_sector_things() if(SSatlas.current_sector.sector_hud_menu) icon = SSatlas.current_sector.sector_hud_menu -/obj/screen/new_player/title +/atom/movable/screen/new_player/title name = "Title" screen_loc = "WEST,SOUTH" var/lobby_index = 1 var/refresh_timer_id = null -/obj/screen/new_player/title/Destroy(force) +/atom/movable/screen/new_player/title/Destroy(force) if(refresh_timer_id) deltimer(refresh_timer_id) refresh_timer_id = null . = ..() -/obj/screen/new_player/title/Initialize() +/atom/movable/screen/new_player/title/Initialize() if(SSatlas.current_sector.sector_lobby_art) SSatlas.current_map.lobby_icon = pick(SSatlas.current_sector.sector_lobby_art) else if(!SSatlas.current_map.lobby_icon) @@ -105,10 +105,10 @@ . = ..() -/obj/screen/new_player/title/set_sector_things() +/atom/movable/screen/new_player/title/set_sector_things() return -/obj/screen/new_player/title/proc/Update() +/atom/movable/screen/new_player/title/proc/Update() SHOULD_NOT_SLEEP(TRUE) if(QDELETED(src)) @@ -125,24 +125,24 @@ animate(alpha = 255, icon_state = SSatlas.current_map.lobby_screens[lobby_index], time = 1 SECOND) refresh_timer_id = addtimer(CALLBACK(src, PROC_REF(Update)), SSatlas.current_map.lobby_transitions, TIMER_UNIQUE | TIMER_CLIENT_TIME | TIMER_OVERRIDE | TIMER_STOPPABLE) -/obj/screen/new_player/selection +/atom/movable/screen/new_player/selection var/click_sound = 'sound/effects/menu_click.ogg' var/hud_arrow -/obj/screen/new_player/selection/New(datum/hud/H) +/atom/movable/screen/new_player/selection/New(datum/hud/H) color = null hud = H ..() -/obj/screen/new_player/selection/Initialize() +/atom/movable/screen/new_player/selection/Initialize() . = ..() set_sector_things() -/obj/screen/new_player/selection/Destroy(force) +/atom/movable/screen/new_player/selection/Destroy(force) hud = null . = ..() -/obj/screen/new_player/selection/set_sector_things() +/atom/movable/screen/new_player/selection/set_sector_things() . = ..() if(SSatlas.current_sector.sector_hud_menu_sound) click_sound = SSatlas.current_sector.sector_hud_menu_sound @@ -151,7 +151,7 @@ // We'll reset the animation just so it doesn't get stuck animate(src, color = null, transform = null, time = 3, easing = CUBIC_EASING) -/obj/screen/new_player/selection/MouseEntered(location, control, params) +/atom/movable/screen/new_player/selection/MouseEntered(location, control, params) if(hud_arrow) AddOverlays(hud_arrow) else @@ -160,54 +160,54 @@ animate(src, color = color_rotation(30), transform = M, time = 3, easing = CUBIC_EASING) return ..() -/obj/screen/new_player/selection/MouseExited(location,control,params) +/atom/movable/screen/new_player/selection/MouseExited(location,control,params) if(hud_arrow) ClearOverlays() else animate(src, color = null, transform = null, time = 3, easing = CUBIC_EASING) return ..() -/obj/screen/new_player/selection/join_game +/atom/movable/screen/new_player/selection/join_game name = "Join Game" icon_state = "unready" screen_loc = "LEFT+0.1,CENTER-1" -/obj/screen/new_player/selection/settings +/atom/movable/screen/new_player/selection/settings name = "Setup" icon_state = "setup" screen_loc = "LEFT+0.1,CENTER-2" -/obj/screen/new_player/selection/manifest +/atom/movable/screen/new_player/selection/manifest name = "Crew Manifest" icon_state = "manifest" screen_loc = "LEFT+0.1,CENTER-3" -/obj/screen/new_player/selection/observe +/atom/movable/screen/new_player/selection/observe name = "Observe" icon_state = "observe" screen_loc = "LEFT+0.1,CENTER-4" -/obj/screen/new_player/selection/changelog +/atom/movable/screen/new_player/selection/changelog name = "Changelog" icon_state = "changelog" screen_loc = "LEFT+0.1,CENTER-5" -/obj/screen/new_player/selection/polls +/atom/movable/screen/new_player/selection/polls name = "Polls" icon_state = "polls" screen_loc = "LEFT+0.1,CENTER-6" -/obj/screen/new_player/selection/lore_summary +/atom/movable/screen/new_player/selection/lore_summary name = "Current Lore Summary" icon_state = "lore_summary" screen_loc = "LEFT+0.1,CENTER-7" -/obj/screen/new_player/selection/join_game/Initialize() +/atom/movable/screen/new_player/selection/join_game/Initialize() . = ..() var/mob/abstract/new_player/player = hud.mymob update_icon(player) -/obj/screen/new_player/selection/join_game/Click() +/atom/movable/screen/new_player/selection/join_game/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) if(SSticker.current_state <= GAME_STATE_SETTING_UP) @@ -219,7 +219,7 @@ player.join_game() update_icon(player) -/obj/screen/new_player/selection/join_game/update_icon(var/mob/abstract/new_player/player) +/atom/movable/screen/new_player/selection/join_game/update_icon(var/mob/abstract/new_player/player) if(SSticker.current_state <= GAME_STATE_SETTING_UP) if(player.ready) icon_state = "ready" @@ -228,7 +228,7 @@ else icon_state = "joingame" -/obj/screen/new_player/selection/manifest/Click() +/atom/movable/screen/new_player/selection/manifest/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) if(SSticker.current_state < GAME_STATE_PLAYING) @@ -236,22 +236,22 @@ return player.ViewManifest() -/obj/screen/new_player/selection/observe/Click() +/atom/movable/screen/new_player/selection/observe/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) player.new_player_observe() -/obj/screen/new_player/selection/settings/Click() +/atom/movable/screen/new_player/selection/settings/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) player.setupcharacter() -/obj/screen/new_player/selection/changelog/Click() +/atom/movable/screen/new_player/selection/changelog/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) player.client.changes() -/obj/screen/new_player/selection/polls/Initialize() +/atom/movable/screen/new_player/selection/polls/Initialize() . = ..() if(establish_db_connection(GLOB.dbcon)) var/mob/M = hud.mymob @@ -263,12 +263,12 @@ if(newpoll) icon_state = "polls_new" -/obj/screen/new_player/selection/polls/Click() +/atom/movable/screen/new_player/selection/polls/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) player.handle_player_polling() -/obj/screen/new_player/selection/lore_summary/Click() +/atom/movable/screen/new_player/selection/lore_summary/Click() var/mob/abstract/new_player/player = usr sound_to(player, click_sound) player.show_lore_summary() diff --git a/code/modules/mob/abstract/new_player/preferences_setup.dm b/code/modules/mob/abstract/new_player/preferences_setup.dm index eb42c9cfc21..5dab3c7d195 100644 --- a/code/modules/mob/abstract/new_player/preferences_setup.dm +++ b/code/modules/mob/abstract/new_player/preferences_setup.dm @@ -217,7 +217,7 @@ var/list/leftovers = list() var/list/used_slots = list() - if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT) && !(previewJob && (equip_preview_mob & EQUIP_PREVIEW_JOB) && (previewJob.type == /datum/job/ai || previewJob.type == /datum/job/cyborg))) + if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT)) SSjobs.EquipCustom(mannequin, previewJob, src, leftovers, null, used_slots) if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index e9202a9e020..2e337b7a13d 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -403,7 +403,7 @@ var/list/slot_equipment_priority = list( \ return FALSE /mob/living/carbon/throw_item(atom/target) - if(stat || !target || istype(target, /obj/screen)) + if(stat || !target || istype(target, /atom/movable/screen)) return FALSE var/atom/movable/item = src.get_active_hand() @@ -431,8 +431,8 @@ var/list/slot_equipment_priority = list( \ var/start_T_descriptor = "tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]" var/end_T_descriptor = "tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]" - M.attack_log += text("\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - usr.attack_log += text("\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") + M.attack_log += "\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]" + usr.attack_log += "\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]" msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (JMP)",ckey=key_name(usr),ckey_target=key_name(M)) qdel(G) diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index b3b1962f5f6..ca90f707737 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -5,29 +5,77 @@ */ /datum/language - var/name = "an unknown language" // Fluff name of language if any. - var/short // a shortened name, for use when languages need to be identified - var/desc = "A language." // Short description for 'Check Languages'. - var/list/speech_verb = list("says") // 'says', 'hisses', 'farts'.) - var/list/ask_verb = list("asks") // Used when sentence ends in a ? - var/list/exclaim_verb = list("exclaims") // Used when sentence ends in a ! - var/list/shout_verb = list("shouts", "yells", "screams") //Used when a sentence ends in !! - var/list/whisper_verb = null // Optional. When not specified speech_verb + quietly/softly is used instead. - var/list/signlang_verb = list("signs") // list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags + /// Fluff name of language if any. + var/name = "an unknown language" + + /// a shortened name, for use when languages need to be identified + var/short + + /// Short description for 'Check Languages'. + var/desc = "A language." + + /// 'says', 'hisses', 'farts'. + var/list/speech_verb = list("says") + + /// Used when sentence ends in a ? + var/list/ask_verb = list("asks") + + /// Used when sentence ends in a ! + var/list/exclaim_verb = list("exclaims") + + /// Used when a sentence ends in !! + var/list/shout_verb = list("shouts", "yells", "screams") + + /// Optional. When not specified speech_verb + quietly/softly is used instead. + var/list/whisper_verb = null + + /// list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags + var/list/signlang_verb = list("signs") + + /// The verb displayed when a user sings their message var/list/sing_verb = list("sings") - var/list/sign_adv_length = list(" briefly", " a short message", " a message", " a lengthy message", " a very lengthy message") // 5 messages changing depending on the length of the signed language. A space should be added before the sentence as shown - var/colour = "body" // CSS style to use for strings in this language. - var/written_style // CSS style used when writing language down, can't be written if null - var/key = "x" // Character used to speak in language eg. :o for Unathi. - var/flags = 0 // Various language flags. - var/native // If set, non-native speakers will have trouble speaking. - var/list/syllables // Used when scrambling text for a non-speaker. - var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string - var/list/partial_understanding // List of languages that can /somehwat/ understand it, format is: name = chance of understanding a word - var/machine_understands = TRUE // Whether machines can parse and understand this language + + /// 5 messages changing depending on the length of the signed language. A space should be added before the sentence as shown + var/list/sign_adv_length = list(" briefly", " a short message", " a message", " a lengthy message", " a very lengthy message") + + /// CSS style to use for strings in this language. + var/colour = "body" + + /// CSS style used when writing language down, can't be written if null + var/written_style + + /// Character used to speak in language eg. :o for Unathi. + var/key = "x" + + /// Various language flags. + var/flags = 0 + + /// If set, non-native speakers will have trouble speaking. + var/native + + /// Used when scrambling text for a non-speaker. + var/list/syllables + + /// Likelihood of getting a period and a space in the random scramble string + var/period_chance = 5 + + /// Likelihood of getting a space in the random scramble string + var/space_chance = 55 + + /// List of languages that can /somehwat/ understand it, format is: name = chance of understanding a word + var/list/partial_understanding + + /// Whether machines can parse and understand this language + var/machine_understands = TRUE + + /// Whether the accent tag will display when this language is used var/allow_accents = FALSE - var/always_parse_language = FALSE // forces the language to parse for language keys even when a default is set - var/list/scramble_cache = list() // A map of unscrambled words -> scrambled words, for scrambling. + + /// forces the language to parse for language keys even when a default is set + var/always_parse_language = FALSE + + /// A map of unscrambled words -> scrambled words, for scrambling. + var/list/scramble_cache = list() /datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4, syllable_divisor=2) if(!syllables || !syllables.len) @@ -47,42 +95,61 @@ return "[trim(full_name)]" +/// Scrambles the spoken line by looping through every word in the line, calling scramble_word, and then returning the final result /datum/language/proc/scramble(var/input, var/list/known_languages) + // the chance that someone will recognize one of the words var/understand_chance = 0 for(var/datum/language/L in known_languages) if(LAZYACCESS(partial_understanding, L.name)) understand_chance += partial_understanding[L.name] + // singing automatically adds musical notes to the line, we don't want to scramble those var/static/list/music_notes = list("\u2669", "\u266A", "\u266B") - var/list/words = splittext(input, " ") + // splits the line into a list of words + var/list/words_in_line = splittext(input, " ") + + // this list will be populated by the word created below var/list/scrambled_text = list() - var/new_sentence = 0 - for(var/w in words) - var/nword = "[w] " - var/input_ending = copytext(w, length(w)) - var/ends_sentence = findtext(".?!",input_ending) - if(!prob(understand_chance) && !(w in music_notes)) - nword = scramble_word(w) - if(new_sentence) - nword = capitalize(nword) - new_sentence = FALSE - if(ends_sentence) - nword = trim(nword) - nword = "[nword][input_ending] " - if(ends_sentence) - new_sentence = TRUE + // marks the start of a new sentence in the for loop + var/new_sentence = FALSE - scrambled_text += nword + // loop through the list of words, scrambling it if the listener doesn't understand it, just putting it in if they can partially understand it + var/word_index = 1 + for(var/word in words_in_line) + var/list/scramble_results = process_word_prescramble(word, "[word] ", word_index, new_sentence, understand_chance, music_notes) + var/new_word = scramble_results[1] + new_sentence = scramble_results[2] + scrambled_text += new_word + word_index++ . = jointext(scrambled_text, null) . = capitalize(.) . = trim(.) +/// Handles the word before it's scrambled, and then scrambles it if necessary. Returns the new word as the first result, and whether it's a new sentence or not as the second +/datum/language/proc/process_word_prescramble(var/original_word, var/new_word, var/word_index, var/new_sentence, var/understand_chance, var/list/music_notes) + var/input_ending = copytext(original_word, length(original_word)) + var/ends_sentence = findtext(".?!", input_ending) + if(!prob(understand_chance) && !(original_word in music_notes)) + new_word = scramble_word(original_word) + if(new_sentence) + new_word = capitalize(new_word) + new_sentence = FALSE + if(ends_sentence) + new_word = trim(new_word) + new_word = "[new_word][input_ending] " + + if(ends_sentence) + new_sentence = TRUE + + return list(new_word, new_sentence) + +/// Scrambles one single word by using the syllables within the syllable list to construct a new word of approximately the same length /datum/language/proc/scramble_word(var/input) - if(!syllables || !syllables.len) + if(!length(syllables)) return stars(input) // If the input is cached already, move it to the end of the cache and return it @@ -93,29 +160,47 @@ return n var/input_size = length(input) + var/input_size_required = scrambled_word_size_requirement(input_size) var/scrambled_text = "" - var/capitalize = 0 + var/capitalize = FALSE - while(length(scrambled_text) < input_size) + // loops until the size of the text we've constructed is bigger than the word we're scrambling + while(length(scrambled_text) < input_size_required) + // selects one of the syllables out of the syllable list var/next = pick(syllables) + + // if we're starting a new sentence, capitalize the first word if(capitalize) next = capitalize(next) - capitalize = 0 + capitalize = FALSE + + // adds the picked syllable to the scramble list scrambled_text += next - var/chance = rand(100) - if(chance <= 5) - scrambled_text += ". " - capitalize = 1 - else if(chance > 5 && chance <= space_chance) - scrambled_text += " " + + // we don't want to add any additional text if it pushes us over the size of the word itself, + // otherwise the next word won't be capitalized, or will have a double space in front of itself + if(length(scrambled_text) < input_size_required - 2) + // returns a value between 1 and 100, which will be used to determine if we should add a period and start a new word + var/chance = rand(100) + + // adds a period and starts a new sentence + if(chance <= period_chance) + scrambled_text += ". " + capitalize = TRUE + // just adds a space + else if(chance <= space_chance) + scrambled_text += " " // Add it to cache, cutting old entries if the list is too long scramble_cache[input] = scrambled_text - if(scramble_cache.len > SCRAMBLE_CACHE_LEN) - scramble_cache.Cut(1, scramble_cache.len-SCRAMBLE_CACHE_LEN-1) + if(length(scramble_cache) > SCRAMBLE_CACHE_LEN) + scramble_cache.Cut(1, length(scramble_cache) - (SCRAMBLE_CACHE_LEN - 1)) return scrambled_text +/datum/language/proc/scrambled_word_size_requirement(var/input_size) + return input_size + /datum/language/proc/format_message(message, verb) return "[verb], \"[capitalize(message)]\"" diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index 0cf62a44c3b..011c0ae5369 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -403,9 +403,28 @@ key = "6" flags = RESTRICTED | NO_STUTTER | TCOMSSIM syllables = list("beep","beep","beep","beep","beep","boop","boop","boop","bop","bop","dee","dee","doo","doo","hiss","hss","buzz","buzz","bzz","ksssh","keey","wurr","wahh","tzzz") - space_chance = 10 + period_chance = 0 + space_chance = 0 /datum/language/machine/get_random_name() if(prob(70)) return "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]" return pick(ai_names) + +// we're trimming out the punctuation and not readding it, so we need to readd it at the very end +/datum/language/machine/scramble(var/input, var/list/known_languages) + . = ..() + return formalize_text(.) + +/datum/language/machine/process_word_prescramble(var/original_word, var/new_word, var/word_index, var/new_sentence, var/understand_chance, var/list/music_notes) + // we drop every second word to make the resulting message shorter, to represent the effective compression of EAL + if(word_index % 2) + if(!prob(understand_chance) && !(original_word in music_notes)) + new_word = trim(scramble_word(original_word)) + else + new_word = "" + return list(new_word, new_sentence) + +// we don't care about the input_size at all, we just want one syllable used +/datum/language/machine/scrambled_word_size_requirement(var/input_size) + return 1 diff --git a/code/modules/mob/living/announcer.dm b/code/modules/mob/living/announcer.dm index 8d6a6121d52..3226a8b4e8c 100755 --- a/code/modules/mob/living/announcer.dm +++ b/code/modules/mob/living/announcer.dm @@ -93,7 +93,7 @@ /mob/living/announcer/InStasis() return FALSE -/mob/living/announcer/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/mob/living/announcer/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) return FALSE /mob/living/announcer/dust() diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index afe455ba172..de413423390 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -126,11 +126,11 @@ if(stat != DEAD) if(blinded) - overlay_fullscreen("blind", /obj/screen/fullscreen/blind) + overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind) else clear_fullscreen("blind") - set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1) - set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry) + set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1) + set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry) if(machine) if (machine.check_eye(src) < 0) reset_view(null) diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index bbb9bc85ec1..f29d989344a 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -205,11 +205,11 @@ if(stat != DEAD) if(blinded) - overlay_fullscreen("blind", /obj/screen/fullscreen/blind) + overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind) else clear_fullscreen("blind") - set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1) - set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry) + set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1) + set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry) if(druggy > 5) add_client_color(/datum/client_color/oversaturated) else diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ad89ba2e666..ea8f1c3c598 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -565,7 +565,7 @@ show_inv(machine) if (href_list["mach_close"]) - var/t1 = text("window=[]", href_list["mach_close"]) + var/t1 = "window=[href_list["mach_close"]]" unset_machine() src << browse(null, t1) @@ -673,10 +673,10 @@ return if(istype(usr,/mob/living/carbon/human)) var/mob/living/carbon/human/U = usr - R.security.comments += text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]") + R.security.comments += "Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]" if(istype(usr,/mob/living/silicon/robot)) var/mob/living/silicon/robot/U = usr - R.security.comments += text("Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]") + R.security.comments += "Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]" if (href_list["medical"]) if(hasHUD(usr,"medical")) @@ -774,10 +774,10 @@ return if(ishuman(usr)) var/mob/living/carbon/human/U = usr - R.medical.comments += text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]") + R.medical.comments += "Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]" if(isrobot(usr)) var/mob/living/silicon/robot/U = usr - R.medical.comments += text("Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]") + R.medical.comments += "Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]" if(href_list["triagetag"]) if(hasHUD(usr, "medical")) @@ -872,7 +872,7 @@ if(HAS_TRAIT(src, TRAIT_ORIGIN_LIGHT_SENSITIVE)) return max(. - 1, FLASH_PROTECTION_REDUCED) -/mob/living/carbon/human/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/mob/living/carbon/human/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) if(..()) var/obj/item/organ/E = get_eyes(no_synthetic = !affect_silicon) if(istype(E)) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 6e151980e4b..3108c6f56b4 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -47,8 +47,8 @@ if(G.cell.charge >= 2500) G.cell.use(G.cell.charge) //So it drains the cell. visible_message(SPAN_DANGER("[src] has been touched with the stun gloves by [M]!")) - M.attack_log += text("\[[time_stamp()]\] Stungloved [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been stungloved by [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Stungloved [src.name] ([src.ckey])" + src.attack_log += "\[[time_stamp()]\] Has been stungloved by [M.name] ([M.ckey])" msg_admin_attack("[key_name_admin(M)] stungloved [src.name] ([src.ckey]) (JMP)",ckey=key_name(M),ckey_target=key_name(src)) @@ -248,8 +248,8 @@ H.visible_message(SPAN_DANGER("[attack_message]")) playsound(loc, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1) - H.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [H.name] ([H.ckey])") + H.attack_log += "\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [src.name] ([src.ckey])" + src.attack_log += "\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [H.name] ([H.ckey])" msg_admin_attack("[key_name(H)] [miss_type ? (miss_type == 1 ? "has missed" : "was blocked by") : "has [pick(attack.attack_verb)]"] [key_name(src)] (JMP)",ckey=key_name(H),ckey_target=key_name(src)) if(miss_type) @@ -335,8 +335,8 @@ return FALSE M.nutrition = Clamp(M.nutrition - disarm_cost, 0, M.max_nutrition) - M.attack_log += text("\[[time_stamp()]\] Disarmed [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Disarmed [src.name] ([src.ckey])" + src.attack_log += "\[[time_stamp()]\] Has been disarmed by [M.name] ([M.ckey])" msg_admin_attack("[key_name(M)] disarmed [src.name] ([src.ckey]) (JMP)",ckey=key_name(M),ckey_target=key_name(src)) M.do_attack_animation(src) @@ -546,8 +546,8 @@ if(!damage) return - user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") + user.attack_log += "\[[time_stamp()]\] attacked [src.name] ([src.ckey])" + src.attack_log += "\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])" user.do_attack_animation(src) if(damage < 15 && check_shields(damage, null, user, null, "\the [user]")) return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9c02464ddda..32d3301c656 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -382,8 +382,8 @@ emp_act var/mob/M = O.throwing?.thrower?.resolve() var/client/assailant = M.client if(assailant) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])") - M.attack_log += text("\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]") + src.attack_log += "\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])" + M.attack_log += "\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]" if(!istype(src,/mob/living/simple_animal/rat)) msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)",ckey=key_name(M),ckey_target=key_name(src)) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 5525f825f41..7edea059b34 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -2234,6 +2234,8 @@ V.transmitting = TRUE say("[message]", GLOB.all_languages[LANGUAGE_VAURCA]) + custom_emote(VISIBLE_MESSAGE, "'s receiver antenna vibrates!") + playsound(src, 'sound/voice/vaurca_antenna_twitch.ogg', 60, 1) V.transmitting = FALSE /mob/living/carbon/human/proc/hivenet_manifest() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index f84648d1cc2..4e9ac1d3099 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -875,7 +875,7 @@ if(-INFINITY to -95) severity = 10 if(paralysis || InStasis()) severity = max(severity, 8) - overlay_fullscreen("crit", /obj/screen/fullscreen/crit, severity) + overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity) else clear_fullscreen("crit") //Oxygen damage overlay @@ -889,7 +889,7 @@ if(35 to 40) severity = 5 if(40 to 45) severity = 6 if(45 to INFINITY) severity = 7 - overlay_fullscreen("oxy", /obj/screen/fullscreen/oxy, severity) + overlay_fullscreen("oxy", /atom/movable/screen/fullscreen/oxy, severity) else clear_fullscreen("oxy") @@ -905,7 +905,7 @@ if(55 to 70) severity = 4 if(70 to 85) severity = 5 if(85 to INFINITY) severity = 6 - overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity) + overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity) else clear_fullscreen("brute") @@ -1147,7 +1147,7 @@ #undef POSING_STRING /mob/living/carbon/human/proc/add_status_to_hud(var/set_overlay, var/set_status_message) - var/obj/screen/status/new_status = new /obj/screen/status(null, ui_style2icon(client.prefs.UI_style), set_overlay, set_status_message) + var/atom/movable/screen/status/new_status = new /atom/movable/screen/status(null, ui_style2icon(client.prefs.UI_style), set_overlay, set_status_message) new_status.alpha = client.prefs.UI_style_alpha new_status.color = client.prefs.UI_style_color new_status.screen_loc = get_status_loc(status_overlays ? LAZYLEN(status_overlays) + 1 : 1) diff --git a/code/modules/mob/living/carbon/human/species/outsider/revenant.dm b/code/modules/mob/living/carbon/human/species/outsider/revenant.dm index c17c1646607..74b7dc8b31e 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/revenant.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/revenant.dm @@ -152,7 +152,7 @@ user.forceMove(target) user.visible_message("[user] appears out of thin air!", SPAN_NOTICE("You successfully step into your destination.")) - user.overlay_fullscreen("teleport", /obj/screen/fullscreen/teleport) + user.overlay_fullscreen("teleport", /atom/movable/screen/fullscreen/teleport) user.clear_fullscreen("teleport", 5 SECONDS) playsound(get_turf(user), pick('sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg', 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg'), 50, TRUE) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index aa4833dfbec..027ba9f3c46 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -621,17 +621,17 @@ if(!H.client)//no client, no screen to update return 1 - H.set_fullscreen(H.eye_blind, "blind", /obj/screen/fullscreen/blind) - H.set_fullscreen(H.stat == UNCONSCIOUS, "blackout", /obj/screen/fullscreen/blackout) + H.set_fullscreen(H.eye_blind, "blind", /atom/movable/screen/fullscreen/blind) + H.set_fullscreen(H.stat == UNCONSCIOUS, "blackout", /atom/movable/screen/fullscreen/blackout) if(GLOB.config.welder_vision) if(H.equipment_tint_total) - H.overlay_fullscreen("welder", /obj/screen/fullscreen/impaired, H.equipment_tint_total, 0.5 SECONDS) + H.overlay_fullscreen("welder", /atom/movable/screen/fullscreen/impaired, H.equipment_tint_total, 0.5 SECONDS) else H.clear_fullscreen("welder") var/how_nearsighted = get_how_nearsighted(H) - H.set_fullscreen(how_nearsighted, "nearsighted", /obj/screen/fullscreen/oxy, how_nearsighted) - H.set_fullscreen(H.eye_blurry, "blurry", /obj/screen/fullscreen/blurry) + H.set_fullscreen(how_nearsighted, "nearsighted", /atom/movable/screen/fullscreen/oxy, how_nearsighted) + H.set_fullscreen(H.eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry) if(H.druggy) H.client.screen += global_hud.druggy diff --git a/code/modules/mob/living/carbon/human/species/species_hud.dm b/code/modules/mob/living/carbon/human/species/species_hud.dm index f5129adeffc..618c55ec70b 100644 --- a/code/modules/mob/living/carbon/human/species/species_hud.dm +++ b/code/modules/mob/living/carbon/human/species/species_hud.dm @@ -31,7 +31,7 @@ "shoes" = list("loc" = ui_shoes, "name" = "shoes", "slot" = slot_shoes, "state" = "shoes", "toggle" = 1), "wrists" = list("loc" = ui_wrists, "name" = "wrists", "slot" = slot_wrists, "state" = "wrists", "toggle" = 1), "suit storage" = list("loc" = ui_sstore1, "name" = "suit storage", "slot" = slot_s_store, "state" = "suitstore"), - "back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back", "slot_type" = /obj/screen/inventory/back), + "back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back", "slot_type" = /atom/movable/screen/inventory/back), "id" = list("loc" = ui_id, "name" = "id", "slot" = slot_wear_id, "state" = "id"), "storage1" = list("loc" = ui_storage1, "name" = "left pocket", "slot" = slot_l_store, "state" = "pocket"), "storage2" = list("loc" = ui_storage2, "name" = "right pocket", "slot" = slot_r_store, "state" = "pocket"), @@ -106,7 +106,7 @@ gear = list( "l_ear" = list("loc" = ui_shoes, "name" = "left ear", "slot" = slot_l_ear, "state" = "l_ear", "toggle" = 1), - "back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back", "slot_type" = /obj/screen/inventory/back), + "back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back", "slot_type" = /atom/movable/screen/inventory/back), "id" = list("loc" = ui_id, "name" = "id", "slot" = slot_wear_id, "state" = "id"), "storage1" = list("loc" = ui_storage1, "name" = "left pocket", "slot" = slot_l_store, "state" = "pocket"), "storage2" = list("loc" = ui_storage2, "name" = "right pocket", "slot" = slot_r_store, "state" = "pocket") diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index 851456f992d..396192a9554 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -3,7 +3,7 @@ return FALSE if(user.incapacitated() || !user.Adjacent(src)) - user << browse(null, text("window=mob[src.name]")) + user << browse(null, "window=mob[src.name]") return FALSE if(ishuman(user)) @@ -134,8 +134,8 @@ if (suit.has_sensor >= 2) to_chat(user, SPAN_WARNING("\The [src]'s suit sensor controls are locked.")) return - attack_log += text("\[[time_stamp()]\] Has had their sensors toggled by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to toggle [name]'s ([ckey]) sensors") + attack_log += "\[[time_stamp()]\] Has had their sensors toggled by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Attempted to toggle [name]'s ([ckey]) sensors" suit.set_sensors(user) // Remove all splints. diff --git a/code/modules/mob/living/carbon/slime/powers.dm b/code/modules/mob/living/carbon/slime/powers.dm index 44fd166485f..f95384c6dcd 100644 --- a/code/modules/mob/living/carbon/slime/powers.dm +++ b/code/modules/mob/living/carbon/slime/powers.dm @@ -127,7 +127,7 @@ health = maxHealth amount_grown = 0 regenerate_icons() - name = text("[colour] [is_adult ? "adult" : "baby"] slime ([number])") + name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" real_name = name set_content(TRUE) addtimer(CALLBACK(src, PROC_REF(set_content), FALSE), 1200) // You get two minutes of safety diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 08a750dca3c..acf31f96b72 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -131,13 +131,13 @@ return if(eye_blind) - overlay_fullscreen("blind", /obj/screen/fullscreen/blind) + overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind) else clear_fullscreen("blind") - set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1) - set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry) + set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1) + set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry) - set_fullscreen(stat == UNCONSCIOUS, "blackout", /obj/screen/fullscreen/blackout) + set_fullscreen(stat == UNCONSCIOUS, "blackout", /atom/movable/screen/fullscreen/blackout) if(machine) var/viewflags = machine.check_eye(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b4755dccd1b..2333f3e6094 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -909,7 +909,7 @@ default behaviour is: /mob/living/Initialize() . = ..() add_to_target_grid() - ability_master = new /obj/screen/movable/ability_master(FALSE, src) + ability_master = new /atom/movable/screen/movable/ability_master(FALSE, src) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index a36077714c0..e9e637a9204 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -119,7 +119,7 @@ for(var/obj/O in L) O.emp_act(severity) -/mob/living/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/mob/living/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) if(is_blind() && !(override_blindness_check || affect_silicon)) return FALSE @@ -193,8 +193,8 @@ var/mob/M = O.throwing?.thrower?.resolve() var/client/assailant = M.client if(assailant) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])") - M.attack_log += text("\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]") + src.attack_log += "\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])" + M.attack_log += "\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]" if(!istype(src,/mob/living/simple_animal/rat)) msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)",ckey=key_name(M),ckey_target=key_name(src)) @@ -261,8 +261,8 @@ if(!damage) return - user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") + user.attack_log += "\[[time_stamp()]\] attacked [src.name] ([src.ckey])" + src.attack_log += "\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])" if (attack_message) src.visible_message(SPAN_DANGER("[user] has [attack_message] [src]!")) user.do_attack_animation(src) @@ -414,11 +414,11 @@ button_number++ if(A.button == null) - var/obj/screen/movable/action_button/N = new(hud_used) + var/atom/movable/screen/movable/action_button/N = new(hud_used) N.owner = A A.button = N - var/obj/screen/movable/action_button/B = A.button + var/atom/movable/screen/movable/action_button/B = A.button B.update_icon() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 856e81ec981..b6be086eb5c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -517,7 +517,7 @@ var/list/ai_verbs_default = list( if (href_list["mach_close"]) if (href_list["mach_close"] == "aialerts") view_alerts = 0 - var/t1 = text("window=[]", href_list["mach_close"]) + var/t1 = "window=[href_list["mach_close"]]" unset_machine() src << browse(null, t1) if (href_list["switchcamera"]) @@ -546,7 +546,7 @@ var/list/ai_verbs_default = list( to_chat(src, SPAN_NOTICE("Unable to locate visual entry.")) return var/info = cameraRecords[entry] - src << browse(text("[][]", info[1], info[2]), text("window=[]", html_encode(info[1]))) + src << browse("[info[1]][info[2]]", "window=[html_encode(info[1])]") return return diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index b1070d4387e..ffd3c7844d8 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -167,7 +167,7 @@ /mob/living/silicon/ai/update_sight() if(is_blind()) update_icon() - overlay_fullscreen("blind", /obj/screen/fullscreen/blind) + overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind) set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) set_see_invisible(SEE_INVISIBLE_LIVING) else if(stat == DEAD) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index ad2fdb28966..98b205cd672 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -197,11 +197,11 @@ for(var/O in module.modules) var/module_string = "" if(!O) - module_string += text("Resource depleted
") + module_string +="Resource depleted
" else if(activated(O)) - module_string += text("[O]: Activated
") + module_string += "[O]: Activated
" else - module_string += text("[O]: Activate
") + module_string += "[O]: Activate
" var/obj/item/I = O if((istype(I, /obj/item) || istype(I, /obj/item/device)) && !(I.iscoil())) @@ -213,11 +213,11 @@ if(emagged) if(!module.emag) - dat += text("Resource depleted
") + dat += "Resource depleted
" else if(activated(module.emag)) - dat += text("[module.emag]: Activated
") + dat += "[module.emag]: Activated
" else - dat += text("[module.emag]: Activate
") + dat += "[module.emag]: Activate
" dat += resources diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 46af00f3a0b..a0125db6f01 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -254,11 +254,11 @@ if(stat != DEAD) if(blinded) - overlay_fullscreen("blind", /obj/screen/fullscreen/blind) + overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind) else clear_fullscreen("blind") - set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1) - set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry) + set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1) + set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry) if (machine) if (machine.check_eye(src) < 0) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2da2c3f7b64..31f7fcede6a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -60,11 +60,11 @@ var/overclock_available = FALSE // if the overclock is available for use // HUD Stuff - var/obj/screen/inv1 - var/obj/screen/inv2 - var/obj/screen/inv3 + var/atom/movable/screen/inv1 + var/atom/movable/screen/inv2 + var/atom/movable/screen/inv3 var/shown_robot_modules = FALSE //Used to determine whether they have the module menu shown or not - var/obj/screen/robot_modules_background + var/atom/movable/screen/robot_modules_background // Modules and active items var/mod_type = "Default" @@ -878,21 +878,21 @@ for(var/obj in module.modules) if(!obj) - dat += text("Resource depleted
") + dat += "Resource depleted
" else if(activated(obj)) - dat += text("[obj]: Activated
") + dat += "[obj]: Activated
" else - dat += text("[obj]: Activate
") + dat += "[obj]: Activate
" if(emagged) if(activated(module.emag)) - dat += text("[module.emag]: Activated
") + dat += "[module.emag]: Activated
" else - dat += text("[module.emag]: Activate
") + dat += "[module.emag]: Activate
" if(malf_AI_module) if(activated(module.malf_AI_module)) - dat += text("[module.malf_AI_module]: Activated
") + dat += "[module.malf_AI_module]: Activated
" else - dat += text("[module.malf_AI_module]: Activate
") + dat += "[module.malf_AI_module]: Activate
" src << browse(dat, "window=robotmod") diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index f1c2b1aabbd..49639762e4b 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -344,7 +344,7 @@ /mob/living/silicon/proc/is_malf_or_traitor() return is_traitor() || is_malf() -/mob/living/silicon/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/mob/living/silicon/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) if(affect_silicon) return ..() diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm index f99bd388b80..aa15cb7575b 100644 --- a/code/modules/mob/living/simple_animal/borer/borer.dm +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -30,7 +30,7 @@ var/used_dominate var/datum/progressbar/ability_bar var/ability_start_time = 0 - var/obj/screen/borer/chemicals/chem_hud + var/atom/movable/screen/borer/chemicals/chem_hud var/chemicals = 10 // Chemicals used for reproduction and spitting neurotoxin. var/mob/living/carbon/human/host // Human host for the brain worm. var/truename // Name used for brainworm-speak. diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm index a10f75c6310..8df9e54e3eb 100644 --- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm +++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm @@ -26,8 +26,8 @@ to_chat(user, SPAN_WARNING("This being is corrupted by an alien intelligence and cannot be soul trapped.")) return..() - M.attack_log += text("\[[time_stamp()]\] Has had their soul captured with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to capture the soul of [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Has had their soul captured with [src.name] by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [src.name] to capture the soul of [M.name] ([M.ckey])" msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to capture the soul of [M.name] ([M.ckey]) (JMP)",ckey=key_name(src),ckey_target=key_name(M)) transfer_soul("VICTIM", M, user) diff --git a/code/modules/mob/living/simple_animal/hostile/morph.dm b/code/modules/mob/living/simple_animal/hostile/morph.dm index d5898ffaf11..bdd13b1aa0f 100644 --- a/code/modules/mob/living/simple_animal/hostile/morph.dm +++ b/code/modules/mob/living/simple_animal/hostile/morph.dm @@ -51,7 +51,7 @@ var/melee_damage_disguised = 0 var/eat_while_disguised = FALSE var/atom/movable/form = null - var/static/list/blacklist_typecache = typecacheof(list(/obj/screen, /obj/singularity, /mob/living/simple_animal/hostile/morph, /obj/effect, /obj/structure/gore)) + var/static/list/blacklist_typecache = typecacheof(list(/atom/movable/screen, /obj/singularity, /mob/living/simple_animal/hostile/morph, /obj/effect, /obj/structure/gore)) /mob/living/simple_animal/hostile/morph/Initialize() . = ..() @@ -233,8 +233,8 @@ return return ..() -/mob/living/simple_animal/hostile/morph/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /obj/screen/movable/spell_master) +/mob/living/simple_animal/hostile/morph/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /atom/movable/screen/movable/spell_master) . = ..() - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) spell_master.open_state = "morph_open" spell_master.closed_state = "morph_closed" diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 394098e2c1f..c388587d01a 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -136,7 +136,7 @@ else dat += "
Headset:Nothing" - user << browse(dat, text("window=mob[];size=325x500", name)) + user << browse(dat, "window=mob[name];size=325x500") onclose(user, "mob[real_name]") return diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 77da8a56ff2..cc3f36d3095 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -114,6 +114,6 @@ client.update_skybox(TRUE) if(spell_masters) - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) spell_master.toggle_open(1) client.screen -= spell_master diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index b082ec492b0..436446685df 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -263,7 +263,7 @@ /mob/proc/findname(msg) for(var/mob/M in GLOB.mob_list) - if (M.real_name == text("[]", msg)) + if (M.real_name == "[msg]") return M return 0 @@ -298,7 +298,7 @@ SHOULD_CALL_PARENT(TRUE) if(LAZYLEN(spell_masters)) - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) spell_master.update_spells(0, src) if(stat != DEAD) @@ -367,7 +367,7 @@
Left Hand:[(l_hand ? l_hand : "Nothing")]
Right Hand:[(r_hand ? r_hand : "Nothing")]
Back:[(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
[(internal ? text("Remove Internal") : "")] +
[(internal ? "Remove Internal" : "")]
Empty Pockets
Refresh
Close @@ -657,7 +657,7 @@ /mob/Topic(href, href_list) if(href_list["mach_close"]) - var/t1 = text("window=[href_list["mach_close"]]") + var/t1 = "window=[href_list["mach_close"]]" unset_machine() src << browse(null, t1) @@ -1047,7 +1047,7 @@ /mob/living/carbon/human/flash_strong_pain() if(can_feel_pain()) - overlay_fullscreen("strong_pain", /obj/screen/fullscreen/strong_pain) + overlay_fullscreen("strong_pain", /atom/movable/screen/fullscreen/strong_pain) addtimer(CALLBACK(src, PROC_REF(clear_strong_pain)), 10, TIMER_UNIQUE) /mob/living/proc/clear_strong_pain() @@ -1385,7 +1385,7 @@ return 1 /client/proc/check_has_body_select() - return mob && mob.hud_used && istype(mob.zone_sel, /obj/screen/zone_sel) + return mob && mob.hud_used && istype(mob.zone_sel, /atom/movable/screen/zone_sel) /client/verb/body_toggle_head() set name = "body-toggle-head" @@ -1430,7 +1430,7 @@ /client/proc/toggle_zone_sel(list/zones) if(!check_has_body_select()) return - var/obj/screen/zone_sel/selector = mob.zone_sel + var/atom/movable/screen/zone_sel/selector = mob.zone_sel selector.set_selected_zone(next_in_list(mob.zone_sel.selecting,zones), usr) /mob/proc/get_speech_bubble_state_modifier() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 30a7e4b560b..7c49b1fbf25 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -22,40 +22,40 @@ var/stat = 0 //Whether a mob is alive or dead. TODO: Move this to living - Nodrak can_be_buckled = TRUE - var/obj/screen/cells = null - var/obj/screen/flash = null - var/obj/screen/blind = null - var/obj/screen/hands = null - var/obj/screen/pullin = null - var/obj/screen/purged = null - var/obj/screen/internals/internals = null - var/obj/screen/oxygen = null - var/obj/screen/paralysis_indicator = null - var/obj/screen/i_select = null - var/obj/screen/m_select = null - var/obj/screen/toxin = null - var/obj/screen/fire = null - var/obj/screen/bodytemp = null - var/obj/screen/healths = null - var/obj/screen/throw_icon = null - var/obj/screen/nutrition_icon = null - var/obj/screen/hydration_icon = null - var/obj/screen/pressure = null - var/obj/screen/damageoverlay = null - var/obj/screen/pain = null - var/obj/screen/gun/item/item_use_icon = null - var/obj/screen/gun/radio/radio_use_icon = null - var/obj/screen/gun/move/gun_move_icon = null - var/obj/screen/gun/mode/gun_setting_icon = null - var/obj/screen/gun/unique_action_icon = null - var/obj/screen/gun/toggle_firing_mode = null - var/obj/screen/energy/energy_display = null - var/obj/screen/instability/instability_display = null - var/obj/screen/up_hint = null + var/atom/movable/screen/cells = null + var/atom/movable/screen/flash = null + var/atom/movable/screen/blind = null + var/atom/movable/screen/hands = null + var/atom/movable/screen/pullin = null + var/atom/movable/screen/purged = null + var/atom/movable/screen/internals/internals = null + var/atom/movable/screen/oxygen = null + var/atom/movable/screen/paralysis_indicator = null + var/atom/movable/screen/i_select = null + var/atom/movable/screen/m_select = null + var/atom/movable/screen/toxin = null + var/atom/movable/screen/fire = null + var/atom/movable/screen/bodytemp = null + var/atom/movable/screen/healths = null + var/atom/movable/screen/throw_icon = null + var/atom/movable/screen/nutrition_icon = null + var/atom/movable/screen/hydration_icon = null + var/atom/movable/screen/pressure = null + var/atom/movable/screen/damageoverlay = null + var/atom/movable/screen/pain = null + var/atom/movable/screen/gun/item/item_use_icon = null + var/atom/movable/screen/gun/radio/radio_use_icon = null + var/atom/movable/screen/gun/move/gun_move_icon = null + var/atom/movable/screen/gun/mode/gun_setting_icon = null + var/atom/movable/screen/gun/unique_action_icon = null + var/atom/movable/screen/gun/toggle_firing_mode = null + var/atom/movable/screen/energy/energy_display = null + var/atom/movable/screen/instability/instability_display = null + var/atom/movable/screen/up_hint = null //spells hud icons - this interacts with add_spell and remove_spell - var/list/obj/screen/movable/spell_master/spell_masters = null - var/obj/screen/movable/ability_master/ability_master = null + var/list/atom/movable/screen/movable/spell_master/spell_masters = null + var/atom/movable/screen/movable/ability_master/ability_master = null /*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob. A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such. @@ -63,7 +63,7 @@ I'll make some notes on where certain variable defines should probably go. Changing this around would probably require a good look-over the pre-existing code. */ - var/obj/screen/zone_sel/zone_sel = null + var/atom/movable/screen/zone_sel/zone_sel = null var/use_me = 1 //Allows all mobs to use the me verb by default, will have to manually specify they cannot var/damageoverlaytemp = 0 diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 63ef6aaf4c6..5f30f355afb 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -15,7 +15,7 @@ icon = 'icons/mob/screen/generic.dmi' icon_state = "reinforce" atom_flags = 0 - var/obj/screen/grab/hud = null + var/atom/movable/screen/grab/hud = null var/mob/living/affecting = null var/mob/living/carbon/human/assailant = null var/state = GRAB_PASSIVE @@ -50,7 +50,7 @@ affecting.grabbed_by += src - hud = new /obj/screen/grab(src) + hud = new /atom/movable/screen/grab(src) hud.icon_state = "reinforce" icon_state = "grabbed" hud.name = "reinforce grab" @@ -249,7 +249,7 @@ if(EAST) animate(affecting, pixel_x =-shift, pixel_y = affecting.get_standard_pixel_y(), 5, 1, LINEAR_EASING) -/obj/item/grab/proc/s_click(obj/screen/S) +/obj/item/grab/proc/s_click(atom/movable/screen/S) if(!affecting) return if(state == GRAB_UPGRADING) diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 3b950c3cf32..6af80c5c465 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -113,8 +113,8 @@ attacker.visible_message(SPAN_DANGER("[attacker] [attacker.species.knockout_message]")) playsound(attacker.loc, /singleton/sound_category/swing_hit_sound, 25, 1, -1) - attacker.attack_log += text("\[[time_stamp()]\] Headbutted [target.name] ([target.ckey])") - target.attack_log += text("\[[time_stamp()]\] Headbutted by [attacker.name] ([attacker.ckey])") + attacker.attack_log += "\[[time_stamp()]\] Headbutted [target.name] ([target.ckey])" + target.attack_log += "\[[time_stamp()]\] Headbutted by [attacker.name] ([attacker.ckey])" msg_admin_attack("[key_name(attacker)] has headbutted [key_name(target)]",ckey=key_name(attacker),ckey_target=key_name(target)) qdel(src) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 6937602a08b..29da0e09ce8 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -442,12 +442,12 @@ It's fairly easy to fix if dealing with single letters but not so much with comp n_letter = copytext(te, p, p+n_mod) if (prob(50)) if (prob(30)) - n_letter = text("[n_letter]-[n_letter]-[n_letter]") + n_letter = "[n_letter]-[n_letter]-[n_letter]" else - n_letter = text("[n_letter]-[n_letter]") + n_letter = "[n_letter]-[n_letter]" else - n_letter = text("[n_letter]") - t = text("[t][n_letter]") + n_letter = "[n_letter]" + t = "[t][n_letter]" p=p+n_mod return sanitize(t) @@ -472,7 +472,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /proc/findname(msg) for(var/mob/M in GLOB.mob_list) - if (M.real_name == text("[msg]")) + if (M.real_name == "[msg]") return 1 return 0 diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm index deadb4b2890..c33fb6b2298 100644 --- a/code/modules/modular_computers/computers/modular_computer/interaction.dm +++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm @@ -321,7 +321,7 @@ return if(istype(over_object, /obj/machinery/power/apc) && tesla_link) return over_object.attackby(src, M) - if(!istype(over_object, /obj/screen) && !(over_object == src)) + if(!istype(over_object, /atom/movable/screen) && !(over_object == src)) return attack_self(M) /obj/item/modular_computer/GetID() diff --git a/code/modules/modular_computers/computers/subtypes/dev_wristbound.dm b/code/modules/modular_computers/computers/subtypes/dev_wristbound.dm index 6fe41aead18..ee6fb32a7a7 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_wristbound.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_wristbound.dm @@ -30,12 +30,12 @@ return if(!over_object || over_object == src) return - if(istype(over_object, /obj/screen/inventory)) - var/obj/screen/inventory/S = over_object + if(istype(over_object, /atom/movable/screen/inventory)) + var/atom/movable/screen/inventory/S = over_object if(S.slot_id == equip_slot) return if(ishuman(usr)) - if(!(istype(over_object, /obj/screen))) + if(!(istype(over_object, /atom/movable/screen))) return ..() if(!(loc == usr) || (loc && loc.loc == usr)) diff --git a/code/modules/modular_computers/file_system/programs/command/account_database.dm b/code/modules/modular_computers/file_system/programs/command/account_database.dm index 743f62df8de..4d5b14f4026 100644 --- a/code/modules/modular_computers/file_system/programs/command/account_database.dm +++ b/code/modules/modular_computers/file_system/programs/command/account_database.dm @@ -71,7 +71,7 @@ var/obj/item/card/id/held_card = get_held_card() data["has_printer"] = !!computer.nano_printer - data["id_card"] = held_card ? text("[held_card.registered_name], [held_card.assignment]") : null + data["id_card"] = held_card ? "[held_card.registered_name], [held_card.assignment]" : null data["access_level"] = get_access_level() data["machine_id"] = machine_id data["station_account_number"] = "[SSeconomy.station_account.account_number]" diff --git a/code/modules/modular_computers/file_system/programs/command/card.dm b/code/modules/modular_computers/file_system/programs/command/card.dm index ffed4c11b00..4c6aa651443 100644 --- a/code/modules/modular_computers/file_system/programs/command/card.dm +++ b/code/modules/modular_computers/file_system/programs/command/card.dm @@ -203,7 +203,7 @@ id_card.access += access_type . = TRUE if(id_card) - id_card.name = text("[id_card.registered_name]'s ID Card ([id_card.assignment])") + id_card.name = "[id_card.registered_name]'s ID Card ([id_card.assignment])" . = TRUE /datum/computer_file/program/card_mod/proc/remove_nt_access(var/obj/item/card/id/id_card) diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm index 88641dba2d4..2f4a85f94f5 100644 --- a/code/modules/modular_computers/hardware/nano_printer.dm +++ b/code/modules/modular_computers/hardware/nano_printer.dm @@ -32,15 +32,24 @@ return P /obj/item/computer_hardware/nano_printer/attackby(obj/item/attacking_item, mob/user) - if(istype(attacking_item, /obj/item/paper)) - if(stored_paper >= max_paper) - to_chat(user, SPAN_WARNING("You try to add \the [attacking_item] to the [src], but its paper bin is full.")) - return - to_chat(user, SPAN_NOTICE("You insert \the [attacking_item] into [src].")) - qdel(attacking_item) - stored_paper++ - else - ..() + //We only care about papers here + if(!istype(attacking_item, /obj/item/paper)) + return ..() + + var/obj/item/paper/attacking_paper = attacking_item + + //If the paper is already written onto, we can't add it to the printer + if(attacking_paper.free_space != initial(attacking_paper.free_space)) + to_chat(user, SPAN_WARNING("You try to add \the [attacking_paper] to the [src], but the paper is written onto already.")) + return + + if(stored_paper >= max_paper) + to_chat(user, SPAN_WARNING("You try to add \the [attacking_paper] to the [src], but its paper bin is full.")) + return + + to_chat(user, SPAN_NOTICE("You insert \the [attacking_paper] into [src].")) + qdel(attacking_paper) + stored_paper++ /obj/item/computer_hardware/nano_printer/Destroy() if(parent_computer?.nano_printer == src) diff --git a/code/modules/organs/internal/eyes.dm b/code/modules/organs/internal/eyes.dm index 6523cb6a4bd..d236256faf7 100644 --- a/code/modules/organs/internal/eyes.dm +++ b/code/modules/organs/internal/eyes.dm @@ -44,7 +44,7 @@ if(is_broken() && !oldbroken && owner && !owner.stat) to_chat(owner, SPAN_DANGER("You go blind!")) -/obj/item/organ/internal/eyes/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /obj/screen/fullscreen/flash, length = 2.5 SECONDS) +/obj/item/organ/internal/eyes/flash_act(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, ignore_inherent = FALSE, type = /atom/movable/screen/fullscreen/flash, length = 2.5 SECONDS) var/burnthrough = intensity - owner.get_flash_protection(ignore_inherent) if(burnthrough <= 0) return @@ -82,7 +82,7 @@ /obj/item/organ/internal/eyes/do_surge_effects() if(owner) - owner.overlay_fullscreen("noise", /obj/screen/fullscreen/flash/noise) + owner.overlay_fullscreen("noise", /atom/movable/screen/fullscreen/flash/noise) /obj/item/organ/internal/eyes/clear_surge_effects() if(owner) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 6dedd6ceccc..90c37cf26ac 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -22,7 +22,7 @@ /obj/item/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri if(ishuman(usr)) var/mob/M = usr - if(!(istype(over_object, /obj/screen) )) + if(!(istype(over_object, /atom/movable/screen) )) return ..() if(!M.restrained() && !M.stat) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 8629ebd058b..ca3048abd3a 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -47,7 +47,7 @@ else if(attacking_item.ispen()) var/n_name = sanitizeSafe( tgui_input_text(user, "What would you like to label the folder?", "Folder Labelling", max_length = MAX_NAME_LEN), MAX_NAME_LEN ) if(Adjacent(user) && user.stat == 0) - name = "folder[(n_name ? text("- '[n_name]'") : null)]" + name = "folder[(n_name ? "- '[n_name]'" : null)]" return /obj/item/folder/attack_self(mob/user as mob) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index c1fa902985a..943f836d75b 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -21,20 +21,34 @@ body_parts_covered = HEAD attack_verb = list("bapped") - var/info //What's actually written on the paper. - var/info_links //A different version of the paper which includes html links at fields and EOF - var/stamps //The (text for the) stamps on the paper. - var/fields //Amount of user created fields + ///What's actually written on the paper. + var/info + ///A different version of the paper which includes html links at fields and EOF + var/info_links + ///The (text for the) stamps on the paper. + var/stamps + ///Amount of user created fields + var/fields + var/free_space = MAX_PAPER_MESSAGE_LEN var/list/stamped - var/list/ico[0] //Icons and - var/list/offset_x[0] //offsets stored for later - var/list/offset_y[0] //usage by the photocopier + + ///Icons and + var/list/ico[0] + ///offsets stored for later + var/list/offset_x[0] + ///usage by the photocopier + var/list/offset_y[0] + var/rigged = 0 var/last_honk = 0 - var/old_name // The name of the paper before it was folded into a plane. - var/can_fold = TRUE // If it can be folded into a plane or swan - var/paper_like = TRUE // Is it made of paper and/or burnable material? + + /// The name of the paper before it was folded into a plane. + var/old_name + /// If it can be folded into a plane or swan + var/can_fold = TRUE + /// Is it made of paper and/or burnable material? + var/paper_like = TRUE var/const/deffont = "Verdana" var/const/signfont = "Times New Roman" @@ -96,7 +110,12 @@ else icon_state = "[base_state]" -/obj/item/paper/proc/update_space(var/new_text) +/** + * Updates the amount of free space in the paper + * + * * new_text - The new text the paper contains (supposedly), text + */ +/obj/item/paper/proc/update_space(new_text) if(new_text) free_space -= length(strip_html_properly(new_text)) @@ -756,29 +775,43 @@ . = ..() scan_target = WEAKREF(set_scan_target) -// -// Fluff Papers -// Fluff papers that you can map in, for lore or whatever. -// -/// Parent item for fluff papers. Used for lore or something I guess -/obj/item/paper/fluff - name = "fluff paper" - desc = "You aren't supposed to see this." - /// The language to translate the paper into. Set to the name of the language. + +/*############################################# + FLUFF PAPERS SUBTYPE +#############################################*/ + +/** + * # Fluff papers + * + * Fluff papers that you can map in, used in mapping + * + * You **have** to create a subtype for the map you're using it in, and have the info/name variables set in code, **not in map** ie: + * + * ``` + * /obj/item/paper/fluff//((/)?)+ + * ``` + * + * This subtype will take care of updating the free space on the paper on initialization, and can be written in different languages + */ +ABSTRACT_TYPE(/obj/item/paper/fluff) + /// The language to translate the paper into, one of the `LANGUAGE_*` in `code\__DEFINES\species_languages.dm` var/language -/obj/item/paper/fluff/Initialize() +/obj/item/paper/fluff/Initialize(mapload, text, title) . = ..() - if(language) - var/datum/language/L = GLOB.all_languages[language] + + if(src.language) + var/datum/language/L = GLOB.all_languages[src.language] if(istype(L) && L.written_style) //Don't want to try and write in Hivenet or something var/key = L.key var/languagetext = "\[lang=[key]]" languagetext += "[info]\[/lang]" - info = parsepencode(languagetext) + src.info = parsepencode(languagetext) update_icon() + update_space(src.info) + // Used in the deck 3 cafe on the SCCV Horizon. /obj/item/paper/fluff/microwave name = "\improper RE: Where are our microwaves?" diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 8f74dd7342c..cfa64f1455c 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -10,9 +10,16 @@ throw_speed = 1 layer = ABOVE_OBJ_LAYER attack_verb = list("bapped") - var/page = 1 // current page - var/list/pages = list() // Ordered list of pages as they are to be displayed. Can be different order than src.contents. - var/amount = 0 // How many sheet + + /// current page + var/page = 1 + + /// Ordered list of pages as they are to be displayed. Can be different order than src.contents. + var/list/pages = list() + + /// How many sheet + var/amount = 0 + drop_sound = 'sound/items/drop/paper.ogg' pickup_sound = 'sound/items/pickup/paper.ogg' @@ -203,7 +210,7 @@ if(pages.len <= 1) - var/obj/item/paper/P = src.vars[1] + var/obj/item/paper/P = src.pages[1] if(istype(loc, /obj/item/gripper)) //Hacky but without it there's a ghost icon with grippers and it all spills on the floor. var/obj/item/gripper/G = loc G.drop(get_turf(src), usr, FALSE) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index ab1b31d2b66..06a84e73560 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -187,8 +187,8 @@ var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) to_chat(user, SPAN_ALERT("You stab \the [M] with \the [src], injecting all of its contents.")) // To the stabber. to_chat(M, SPAN_WARNING("You feel a small pinch!")) // To the stabbed. - M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") + M.attack_log += "\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])" + user.attack_log += "\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])" msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans) // Admin log. diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index e1fb972f1f8..38d09e1ff85 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -113,7 +113,7 @@ var/global/photo_count = 0 if((istype(usr, /mob/living/carbon/human))) var/mob/M = usr - if(!( istype(over_object, /obj/screen) )) + if(!( istype(over_object, /atom/movable/screen) )) return ..() playsound(loc, /singleton/sound_category/rustle_sound, 50, 1, -5) if((!( M.restrained() ) && !( M.stat ) && M.back == src)) diff --git a/code/modules/projectiles/guns/energy/rifle.dm b/code/modules/projectiles/guns/energy/rifle.dm index c5d1ad7a150..1ae5a64d5b0 100644 --- a/code/modules/projectiles/guns/energy/rifle.dm +++ b/code/modules/projectiles/guns/energy/rifle.dm @@ -186,7 +186,7 @@ can_switch_modes = 0 can_turret = 0 zoomdevicename = "rifle scope" - var/obj/screen/overlay = null + var/atom/movable/screen/overlay = null /obj/item/gun/energy/rifle/laser/tachyon/verb/scope() set category = "Object" diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index 09a33be1827..5fe14641488 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -141,9 +141,9 @@ var/singleton/reagent/R = GET_SINGLETON(_R) dat += "
[B.reagents.reagent_volumes[_R]] units of [R.name], " if (check_beaker_mixing(B)) - dat += text("Mixing ") + dat += "Mixing " else - dat += text("Not mixing ") + dat += "Not mixing " else dat += "nothing." dat += " \[Eject\]
" diff --git a/code/modules/psionics/complexus/complexus.dm b/code/modules/psionics/complexus/complexus.dm index fd532d4e0fe..f2e48200f60 100644 --- a/code/modules/psionics/complexus/complexus.dm +++ b/code/modules/psionics/complexus/complexus.dm @@ -23,7 +23,7 @@ var/aura_color = "#ff0022" var/datum/component/armor/psionic/armor_component - var/obj/screen/psi/hub/ui // Reference to the master psi UI object. + var/atom/movable/screen/psi/hub/ui // Reference to the master psi UI object. var/mob/living/owner // Reference to our owner. var/image/_aura_image // Client image diff --git a/code/modules/psionics/complexus/complexus_process.dm b/code/modules/psionics/complexus/complexus_process.dm index 561d66404d1..132357e3716 100644 --- a/code/modules/psionics/complexus/complexus_process.dm +++ b/code/modules/psionics/complexus/complexus_process.dm @@ -63,7 +63,7 @@ P.apply(owner) /datum/psi_complexus/proc/wipe_user_abilities() - for(var/obj/screen/ability/obj_based/psionic/P in owner.ability_master.ability_objects) + for(var/atom/movable/screen/ability/obj_based/psionic/P in owner.ability_master.ability_objects) if((P.connected_power.ability_flags & PSI_FLAG_APEX) && get_rank() < PSI_RANK_APEX) owner.ability_master.remove_ability(P) if((P.connected_power.ability_flags & PSI_FLAG_LIMITLESS) && get_rank() < PSI_RANK_LIMITLESS) diff --git a/code/modules/psionics/interface/ui.dm b/code/modules/psionics/interface/ui.dm index 3beffd94bce..925bd11fc12 100644 --- a/code/modules/psionics/interface/ui.dm +++ b/code/modules/psionics/interface/ui.dm @@ -1,14 +1,14 @@ -/obj/screen/psi +/atom/movable/screen/psi icon = 'icons/mob/screen/psi.dmi' var/mob/living/owner var/hidden = TRUE -/obj/screen/psi/New(var/mob/living/_owner) +/atom/movable/screen/psi/New(var/mob/living/_owner) loc = null owner = _owner update_icon() -/obj/screen/psi/Destroy() +/atom/movable/screen/psi/Destroy() if(owner && owner.client) owner.client.screen -= src . = ..() diff --git a/code/modules/psionics/interface/ui_hub.dm b/code/modules/psionics/interface/ui_hub.dm index 9fe30cb9685..47fc04bdfb4 100644 --- a/code/modules/psionics/interface/ui_hub.dm +++ b/code/modules/psionics/interface/ui_hub.dm @@ -1,4 +1,4 @@ -/obj/screen/psi/hub +/atom/movable/screen/psi/hub name = "Psi" icon_state = "psi_active" screen_loc = "EAST-1:28,CENTER-3:11" @@ -7,23 +7,23 @@ maptext_y = -8 var/image/on_cooldown -/obj/screen/psi/hub/New(var/mob/living/_owner) +/atom/movable/screen/psi/hub/New(var/mob/living/_owner) on_cooldown = image(icon, "cooldown") ..() START_PROCESSING(SSprocessing, src) -/obj/screen/psi/hub/update_icon() +/atom/movable/screen/psi/hub/update_icon() if(!owner.psi) return icon_state = owner.psi.suppressed ? "psi_suppressed" : "psi_active" -/obj/screen/psi/hub/Destroy() +/atom/movable/screen/psi/hub/Destroy() STOP_PROCESSING(SSprocessing, src) owner = null . = ..() -/obj/screen/psi/hub/process() +/atom/movable/screen/psi/hub/process() if(!istype(owner)) qdel(src) return @@ -32,23 +32,23 @@ maptext = SMALL_FONTS(7, "[round((owner.psi.stamina/owner.psi.max_stamina)*100)]%") update_icon() -/obj/screen/psi/hub/Click(var/location, var/control, var/params) +/atom/movable/screen/psi/hub/Click(var/location, var/control, var/params) ui_interact(owner) update_icon() -/obj/screen/psi/hub/ui_interact(mob/user, datum/tgui/ui) +/atom/movable/screen/psi/hub/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if (!ui) ui = new(user, src, "PsionicShop", "Psionic Point Shop", 400, 500) ui.open() -/obj/screen/psi/hub/ui_state(mob/user) +/atom/movable/screen/psi/hub/ui_state(mob/user) return GLOB.conscious_state -/obj/screen/psi/hub/ui_status(mob/user, datum/ui_state/state) +/atom/movable/screen/psi/hub/ui_status(mob/user, datum/ui_state/state) return UI_INTERACTIVE -/obj/screen/psi/hub/ui_data(mob/user) +/atom/movable/screen/psi/hub/ui_data(mob/user) var/list/data = list() var/owner_rank = owner.psi.get_rank() data["available_psionics"] = list() @@ -83,7 +83,7 @@ ) return data -/obj/screen/psi/hub/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) +/atom/movable/screen/psi/hub/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return TRUE diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 87990552354..a08613b8c25 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -599,8 +599,8 @@ target.apply_damage(25, DAMAGE_PAIN) target.say("*scream") - user.attack_log += text("\[[time_stamp()]\] Has fed [target.name]'s ([target.ckey]) hair into a [src].") - target.attack_log += text("\[[time_stamp()]\] Has had their hair fed into [src] by [user.name] ([user.ckey])") + user.attack_log += "\[[time_stamp()]\] Has fed [target.name]'s ([target.ckey]) hair into a [src]." + target.attack_log += "\[[time_stamp()]\] Has had their hair fed into [src] by [user.name] ([user.ckey])" msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] in a [src]. (JMP)",ckey=key_name(user),ckey_target=key_name(target)) else return diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index ad05d56efa3..360bd20c9f0 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -39,6 +39,9 @@ var/germ_adjust = 0 // for makeshift bandages/disinfectant var/carbonated = FALSE // if it's carbonated or not + /// Adds to the value of whatever container's holding it, value * units of reagents + var/value = 1 + /singleton/reagent/proc/initialize_data(var/newdata, var/datum/reagents/holder) // Called when the reagent is created. if(!isnull(newdata)) return newdata diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm index 26e818af2be..53b693e8012 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm @@ -12,6 +12,8 @@ fallback_specific_heat = 3.617 + value = 2 + /singleton/reagent/blood/initialize_data(newdata, datum/reagents/holder) . = ..() if(.) @@ -123,6 +125,8 @@ germ_adjust = 0.05 // i mean, i guess you could try... + value = 0 + /singleton/reagent/water/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(!istype(M)) return @@ -206,6 +210,8 @@ fallback_specific_heat = 0.605 + value = 6.8 + /singleton/reagent/fuel/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) new /obj/effect/decal/cleanable/liquid_fuel(T, amount) remove_self(amount, holder) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index dd666cd4942..f82f0f81d6b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -7,6 +7,8 @@ taste_description = "acid" fallback_specific_heat = 0.567 + value = 0.27 + /singleton/reagent/acetone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.adjustToxLoss(removed * 3) @@ -35,6 +37,7 @@ taste_description = "metal" taste_mult = 1.1 fallback_specific_heat = 0.811 + value = 0.02 /singleton/reagent/ammonia name = "Ammonia" @@ -47,6 +50,7 @@ breathe_mul = 2 breathe_met = REM * 0.25 fallback_specific_heat = 1.048 + value = 0.01 /singleton/reagent/ammonia/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(alien == IS_DIONA) @@ -83,6 +87,7 @@ taste_description = "sour chalk" taste_mult = 1.5 fallback_specific_heat = 0.018 + value = 0.2 scannable = TRUE /singleton/reagent/carbon/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -109,6 +114,7 @@ color = "#6E3B08" taste_description = "copper" fallback_specific_heat = 1.148 + value = 0.02 scannable = TRUE /singleton/reagent/copper/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -229,6 +235,8 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) distillation_point = T0C + 78.37 + value = 0.01 + /** * # Butanol * @@ -250,6 +258,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) glass_desc = "A fairly harmless alcohol that has intoxicating effects on certain species." fallback_specific_heat = 0.549 + value = 0.02 distillation_point = T0C + 117.7 @@ -287,6 +296,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) taste_description = "sweet tasting metal" fallback_specific_heat = 0.549 //Unknown + value = 0.017 /singleton/reagent/hydrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/obj/item/organ/internal/augment/fuel_cell/aug = M.internal_organs_by_name[BP_AUG_FUEL_CELL] @@ -317,6 +327,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) scannable = TRUE fallback_specific_heat = 1.181 + value = 0.01 /singleton/reagent/iron/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if (!(alien & (IS_SKRELL | IS_VAURCA))) @@ -330,6 +341,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) taste_description = "metal" fallback_specific_heat = 0.633 + value = 6 /singleton/reagent/lithium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(M.canmove && !M.restrained() && !(istype(M.loc, /turf/space))) @@ -351,6 +363,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) scannable = TRUE fallback_specific_heat = 0.631 + value = 0.02 /singleton/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_NEUROTOXIC, 1*removed) @@ -379,6 +392,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) taste_description = "vinegar" fallback_specific_heat = 0.569 + value = 0.4 /singleton/reagent/potassium name = "Potassium" @@ -388,6 +402,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) taste_description = "sweetness" //potassium is bitter in higher doses but sweet in lower ones. fallback_specific_heat = 0.214 + value = 1 /singleton/reagent/potassium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(REAGENT_VOLUME(holder, type) > 3) @@ -404,6 +419,8 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) unaffected_species = IS_MACHINE fallback_specific_heat = 0.220 + value = 50 // Radium is crazy expensive, like 100k+ per gram. So probably a bit less expensive in the future. + var/message_shown = FALSE /singleton/reagent/radium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -429,6 +446,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) taste_description = "acid" fallback_specific_heat = 0.815 + value = 0.2 /singleton/reagent/acid/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.take_organ_damage(0, removed * power) @@ -525,12 +543,14 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) power = 6 meltdose = 4 taste_description = "acid" + value = 2 /singleton/reagent/acid/stomach name = "Stomach Acid" taste_description = "coppery foulness" power = 2 color = "#d8ff00" + value = 0 /singleton/reagent/silicon name = "Silicon" @@ -547,6 +567,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) color = COLOR_GRAY taste_description = "salty metal" fallback_specific_heat = 0.483 + value = 0.1 /singleton/reagent/sugar name = "Sugar" @@ -561,6 +582,8 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) glass_desc = "You can feel your blood sugar rising just looking at this." fallback_specific_heat = 0.332 + value = 0.1 + condiment_name = "sugar sack" condiment_desc = "Tasty space sugar!" condiment_icon_state = "sugar" @@ -577,6 +600,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) scannable = TRUE fallback_specific_heat = 0.503 + value = 2 /singleton/reagent/sulfur/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if (alien & IS_VAURCA) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm index f94dc28bba2..a37abea81fc 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm @@ -44,6 +44,7 @@ color = "#60A584" taste_description = "bitterness" taste_mult = 0.4 + value = 2.8 /singleton/reagent/drugs/mms/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) ..() @@ -83,6 +84,7 @@ taste_description = "bitterness" fallback_specific_heat = 1.2 effect_messages = FALSE + value = 2.5 /singleton/reagent/drugs/serotrotium/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) ..() @@ -110,6 +112,7 @@ overdose = REAGENTS_OVERDOSE taste_description = "sourness" effect_messages = FALSE + value = 2 /singleton/reagent/drugs/cryptobiolin/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) ..() @@ -153,6 +156,7 @@ overdose = REAGENTS_OVERDOSE taste_description = "numbness" effect_messages = FALSE + value = 1.8 /singleton/reagent/drugs/impedrezene/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) ..() @@ -173,6 +177,7 @@ overdose = REAGENTS_OVERDOSE taste_description = "sourness" ignores_drug_resistance = TRUE + value = 0.6 /singleton/reagent/drugs/mindbreaker/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder) ..() @@ -194,6 +199,7 @@ metabolism = REM * 0.5 taste_description = "mushroom" fallback_specific_heat = 1.2 + value = 0.7 condiment_name = "Psilocybin" condiment_desc = "A small bottle full of a pink liquid. Whatever could it do?" condiment_icon_state = "psilocybin" @@ -480,6 +486,7 @@ taste_description = "spicy earth" taste_mult = 0.4 fallback_specific_heat = 1.6 + value = 2.8 condiment_name = "Ambrosia Extract Bottle" condiment_desc = "A small dropper bottle full of a stoner's paradise." condiment_icon_state = "ambrosiaextract" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 726b953afa6..19ac53428d7 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -10,6 +10,7 @@ unaffected_species = IS_MACHINE var/kois_type = 1 fallback_specific_heat = 0.75 + value = 0.5 /singleton/reagent/kois/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) if(!ishuman(M)) @@ -91,6 +92,7 @@ unaffected_species = IS_MACHINE taste_description = "food" fallback_specific_heat = 1.25 + value = 0.1 /singleton/reagent/nutriment/mix_data(var/list/newdata, var/newamount, var/datum/reagents/holder) if(isemptylist(newdata)) @@ -678,6 +680,7 @@ color = "#899613" taste_description = "vomit" taste_mult = 2 + value = 0.15 /singleton/reagent/nutriment/sprinkles name = "Sprinkles" @@ -688,6 +691,7 @@ condiment_name = "bottle of sprinkles" condiment_icon_state = "sprinklesbottle" condiment_center_of_mass = list("x"=16, "y"=10) + value = 0.05 /singleton/reagent/nutriment/mint name = "Mint" @@ -695,6 +699,7 @@ reagent_state = LIQUID color = "#CFFFE5" taste_description = "mint" + value = 0.14 /singleton/reagent/nutriment/glucose name = "Glucose" @@ -709,6 +714,7 @@ color = "#BBEDA4" overdose = REAGENTS_OVERDOSE taste_description = "mothballs" + value = 0.11 /singleton/reagent/lipozine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.adjustNutritionLoss(10*removed) @@ -771,6 +777,7 @@ condiment_desc = "Salt. From space oceans, presumably." condiment_icon_state = "saltshakersmall" condiment_center_of_mass = list("x"=17, "y"=11) + value = 0.11 /singleton/reagent/sodiumchloride/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.intoxication -= min(M.intoxication,removed*2) //Salt absorbs alcohol @@ -800,6 +807,7 @@ condiment_desc = "Often used to flavor food or make people sneeze." condiment_icon_state = "peppermillsmall" condiment_center_of_mass = list("x"=17, "y"=11) + value = 0.1 /singleton/reagent/enzyme name = "Universal Enzyme" @@ -813,6 +821,7 @@ condiment_name = "universal enzyme" condiment_icon_state = "enzyme" condiment_center_of_mass = list("x"=18, "y"=7) + value = 0.2 /singleton/reagent/frostoil name = "Frost Oil" @@ -821,6 +830,7 @@ color = "#005BCC" taste_description = "mint" taste_mult = 1.5 + value = 0.2 fallback_specific_heat = 15 default_temperature = T0C - 20 @@ -844,6 +854,7 @@ taste_description = "hot peppers" taste_mult = 1.5 fallback_specific_heat = 2 + value = 0.2 condiment_name = "hotsauce" condiment_desc = "Hot sauce. It's in the name." condiment_icon_state = "hotsauce" @@ -896,6 +907,7 @@ discomfort_message = SPAN_DANGER("You feel like your insides are burning!") slime_temp_adj = 15 fallback_specific_heat = 4 + value = 0.5 /singleton/reagent/capsaicin/condensed/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/eyes_covered = 0 @@ -1021,6 +1033,7 @@ unaffected_species = IS_MACHINE var/blood_to_ingest_scale = 2 fallback_specific_heat = 1.75 + value = 0.1 /singleton/reagent/drink/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) digest(M,alien,removed * blood_to_ingest_scale, FALSE, holder) @@ -1431,6 +1444,8 @@ color = "#DFD7AF" taste_description = "creamy milk" + value = 0.12 + glass_icon_state = "glass_white" glass_name = "glass of cream" glass_desc = "Ewwww..." @@ -1907,6 +1922,8 @@ adj_drowsy = -3 adj_sleepy = -3 + value = 0.12 + //Coffee //========== @@ -1959,6 +1976,8 @@ color = "#664300" taste_description = "creamy coffee" + value = 0.13 + glass_icon_state = "soy_latte_vended" glass_name = "glass of soy latte" glass_desc = "A nice and refreshing beverage to enjoy while reading." @@ -2169,6 +2188,8 @@ nutrition = 2 taste_description = "creamy chocolate" + value = 0.11 + glass_icon_state = "chocolateglass" glass_name = "cup of hot chocolate" glass_desc = "Made with love! And cocoa beans." @@ -2272,6 +2293,8 @@ color = "#DADADA" taste_description = "creamy vanilla" + value = 0.12 + glass_icon_state = "milkshake" glass_name = "glass of milkshake" glass_desc = "Glorious brainfreezing mixture." @@ -2285,6 +2308,8 @@ taste_description = "soda and coffee" carbonated = TRUE + value = 0.11 + glass_icon_state = "rewriter" glass_name = "glass of Rewriter" glass_desc = "The secret of the sanctuary of the Libarian..." @@ -2304,6 +2329,8 @@ taste_description = "cola" carbonated = TRUE + value = 0.13 + glass_icon_state = "nuka_colaglass" glass_name = "glass of Nuka-Cola" glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" @@ -2424,6 +2451,8 @@ nutrition = 1 taste_description = "homely fruit" + value = 0.3 + glass_icon_state = "doctorsdelightglass" glass_name = "glass of The Doctor's Delight" glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." @@ -2479,6 +2508,8 @@ taste_mult = 1.5 hydration = 8 + value = 0 + glass_icon_state = "iceglass" glass_name = "glass of ice" glass_desc = "Generally, you're supposed to put something else in there too..." @@ -2490,6 +2521,8 @@ description = "Absolutely nothing." taste_description = "nothing" + value = 0 + glass_icon_state = "nothing" glass_name = "glass of nothing" glass_desc = "Absolutely nothing." @@ -2597,6 +2630,8 @@ color = "#6d4124" taste_description = "overwhelmingly sweet chocolate" + value = 0.14 + glass_icon_state = "NTellamilkshake" glass_name = "glass of NTella milkshake" glass_desc = "Oh look, it's that thing you actually want to get but probably shouldn't." @@ -2608,6 +2643,8 @@ color = "#ff7575" taste_description = "sugary strawberry" + value = 0.13 + glass_icon_state = "shake_strawberry" glass_name = "glass of strawberry milkshake" glass_desc = "A sweet, chilly milkshake with neon red syrup. So sweet you could pop!" @@ -2619,6 +2656,8 @@ color = "#d19d4e" taste_description = "smooth caramel" + value = 0.13 + glass_icon_state = "shake_caramel" glass_name = "glass of caramel milkshake" glass_desc = "In case there wasn't enough sugar in your sugar." @@ -2630,6 +2669,8 @@ color = "#92692c" taste_description = "smooth dirtberries" + value = 0.13 + glass_icon_state = "shake_dirtberry" glass_name = "glass of dirtberry milkshake" glass_desc = "Don't let the name fool you, this dairy delight is smooth and sweet!" @@ -2641,6 +2682,8 @@ color = "#0c00b3" taste_description = "creamy blueberries" + value = 0.13 + glass_icon_state = "shake_blueberry" glass_name = "glass of blueberry milkshake" glass_desc = "This is an alarming level of neon blue for something that's supposed to be ingested. Probably still delicious though!" @@ -2652,6 +2695,8 @@ color = "#79452c" taste_description = "chocolatey vanilla" + value = 0.13 + glass_icon_state = "shake_chocolate" glass_name = "glass of chocolate milkshake" glass_desc = "A vanilla milkshake with a hefty heap of delicious chocolate syrup mixed in. Eh, that diet can wait until tomorrow, right?" @@ -2663,6 +2708,8 @@ color = "#3955a3" taste_description = "creamy raspberry" + value = 0.13 + glass_icon_state = "shake_blue_raspberry" glass_name = "glass of blue raspberry milkshake" glass_desc = "Formerly this used to be created with artificial food dyes. Now it's made with real blue raspberries! Make no mistake, though, this is still absolutely and deliciously bad for you." @@ -2674,6 +2721,8 @@ color = "#a03257" taste_description = "creamy raspberry" + value = 0.13 + glass_icon_state = "shake_purplered" glass_name = "glass of raspberry milkshake" glass_desc = "Oh Raspberries, is there any dessert you can't improve?" @@ -2685,6 +2734,8 @@ color = "#f1315b" taste_description = "smooth berries" + value = 0.13 + glass_icon_state = "shake_berry" glass_name = "glass of berry milkshake" glass_desc = "Why settle for just one Milkshake flavor when you can have the wide, delicious vagueness of 'berries'?" @@ -2696,6 +2747,8 @@ color = "#a03257" taste_description = "tangy sweetness" + value = 0.13 + glass_icon_state = "shake_purplered" glass_name = "glass of ylpha berry milkshake" glass_desc = "That trademark magenta mixture of tangy and sweet - now in a tall, creamy glass of Milkshake!" @@ -2707,6 +2760,8 @@ color = "#6ecf73" taste_description = "chocolatey mint" + value = 0.13 + glass_icon_state = "shake_choco_mint" glass_name = "glass of choco-mint milkshake" glass_desc = "For everyone who liked to eat their toothpaste as a kid and never grew out of it." @@ -2718,6 +2773,8 @@ color = "#63432e" taste_description = "hazelnutty, creamy chocolate" + value = 0.13 + glass_icon_state = "NTellahotchocolate" glass_name = "glass of NTella hot chocolate" glass_desc = "A very chocolatey drink for the days so rough, so cold, or so celebratory that a regular hot chocolate just won't cut it. It has marshmallows!" @@ -2882,6 +2939,8 @@ strength = 75 taste_description = "licorice" + value = 0.13 + glass_icon_state = "absintheglass" glass_name = "glass of absinthe" glass_desc = "Wormwood, anise, oh my." @@ -2895,6 +2954,8 @@ taste_description = "hearty barley ale" carbonated = TRUE + value = 0.13 + glass_icon_state = "aleglass" glass_name = "glass of ale" glass_desc = "A freezing pint of delicious ale." @@ -2931,6 +2992,8 @@ taste_description = "beer" carbonated = TRUE + value = 0.12 + glass_icon_state = "beerglass" glass_name = "glass of beer" glass_desc = "A freezing pint of beer." @@ -2976,6 +3039,8 @@ strength = 40 taste_description = "bitter" + value = 0.15 + glass_icon_state = "bittersglass" glass_name = "glass of bitters" glass_desc = "A pungent glass of bitters." @@ -2988,6 +3053,8 @@ strength = 25 taste_description = "oranges" + value = 0.16 + glass_icon_state = "curacaoglass" glass_name = "glass of blue curacao" glass_desc = "Exotically blue, fruity drink, distilled from oranges." @@ -3001,6 +3068,8 @@ taste_description = "bubbly bitter-sweetness" carbonated = TRUE + value = 0.2 + glass_icon_state = "champagneglass" glass_name = "glass of champagne" glass_desc = "Off-white and bubbly. So passe." @@ -3013,6 +3082,8 @@ strength = 40 taste_description = "rich and smooth alcohol" + value = 0.2 + glass_icon_state = "cognacglass" glass_name = "glass of cognac" glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." @@ -3025,6 +3096,8 @@ strength = 40 taste_description = "salty sea water" + value = 0.15 + glass_icon_state = "rumglass" glass_name = "glass of rum" glass_desc = "Now you want to Pray for a pirate suit, don't you?" @@ -3053,6 +3126,8 @@ strength = 30 taste_description = "an alcoholic christmas tree" + value = 0.1 + glass_icon_state = "ginvodkaglass" glass_name = "glass of gin" glass_desc = "A crystal clear glass of Borovicka gin." @@ -3077,6 +3152,8 @@ strength = 20 taste_description = "fizzy mint tea" + value = 0.12 + glass_icon_state = "djinnteaglass" glass_name = "glass of Djinn Tea" glass_desc = "A mildly alcoholic spin on a popular Skrell drink. Less good for you than the original." @@ -3106,6 +3183,8 @@ caffeine = 0.25 taste_description = "spiked latte" + value = 0.14 + glass_icon_state = "kahluaglass" glass_name = "glass of RR coffee liquor" glass_desc = "DAMN, THIS THING LOOKS ROBUST" @@ -3130,6 +3209,8 @@ strength = 23 taste_description = "fruity alcohol" + value = 0.13 + glass_icon_state = "emeraldglass" glass_name = "glass of melon liquor" glass_desc = "A relatively sweet and fruity 46 proof liquor." @@ -3142,6 +3223,8 @@ strength = 40 taste_description = "spiked butterscotch" + value = 0.1 + glass_icon_state = "rumglass" glass_name = "glass of rum" glass_desc = "Now you want to Pray for a pirate suit, don't you?" @@ -3154,6 +3237,8 @@ strength = 20 taste_description = "mildly dry alcohol with a subtle sweetness" + value = 0.11 + glass_icon_state = "sakeglass" glass_name = "glass of sake" glass_desc = "A glass of sake." @@ -3166,6 +3251,8 @@ strength = 15 taste_description = "soy milk putting on airs" + value = 0.12 + glass_icon_state = "cloudyeridaniglass" glass_name = "glass of Cloudy Eridani" glass_desc = "A frothy white beverage. Reminds Suits of home. Dregs, not so much." @@ -3190,6 +3277,8 @@ strength = 40 taste_description = "paint stripper" + value = 0.1 + glass_icon_state = "tequilaglass" glass_name = "glass of tequila" glass_desc = "Now all that's missing is the weird colored shades!" @@ -3205,6 +3294,8 @@ taste_description = "jitters and death" carbonated = TRUE + value = 0.15 + glass_icon_state = "thirteen_loko_glass" glass_name = "glass of Getmore Energy" glass_desc = "This is a glass of Getmore Energy, a potent mixture of caffeine and alcohol." @@ -3228,6 +3319,8 @@ taste_description = "dry alcohol" taste_mult = 1.3 + value = 0.1 + glass_icon_state = "vermouthglass" glass_name = "glass of vermouth" glass_desc = "You wonder why you're even drinking this straight." @@ -3240,6 +3333,8 @@ strength = 50 taste_description = "grain alcohol" + value = 0.1 + glass_icon_state = "ginvodkaglass" glass_name = "glass of vodka" glass_desc = "The glass contain wodka. Xynta." @@ -3267,6 +3362,8 @@ strength = 40 taste_description = "molasses" + value = 0.1 + glass_icon_state = "whiskeyglass" glass_name = "glass of whiskey" glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." @@ -3279,6 +3376,8 @@ strength = 15 taste_description = "bitter sweetness" + value = 0.1 + glass_icon_state = "wineglass" glass_name = "glass of wine" glass_desc = "A very classy looking drink." @@ -3290,6 +3389,8 @@ strength = 20 taste_description = "rich and full-bodied sweetness unlike anything you've ever had" + value = 15 + glass_name = "glass of vintage wine" glass_desc = "A very classy and expensive-looking drink." @@ -3415,6 +3516,8 @@ strength = 25 taste_description = "stomach acid" + value = 0.15 + glass_icon_state = "acidspitglass" glass_name = "glass of Acid Spit" glass_desc = "A drink from the company archives. Made from live aliens." @@ -3427,6 +3530,8 @@ strength = 25 taste_description = "bitter yet free" + value = 0.16 + glass_icon_state = "alliescocktail" glass_name = "glass of Allies cocktail" glass_desc = "A drink made from your allies." @@ -3439,6 +3544,8 @@ strength = 15 taste_description = "sweet 'n creamy" + value = 0.17 + glass_icon_state = "aloe" glass_name = "glass of Aloe" glass_desc = "Very, very, very good." @@ -3452,6 +3559,8 @@ strength = 25 taste_description = "dark and metallic" + value = 0.16 + glass_icon_state = "amasecglass" glass_name = "glass of Amasec" glass_desc = "Always handy before COMBAT!!!" @@ -3464,6 +3573,8 @@ strength = 35 taste_description = "lemons" + value = 0.15 + glass_icon_state = "andalusia" glass_name = "glass of Andalusia" glass_desc = "A nice, strange named drink." @@ -3478,6 +3589,8 @@ targ_temp = 330 taste_description = "cold cream" + value = 0.16 + glass_icon_state = "antifreeze" glass_name = "glass of Anti-freeze" glass_desc = "The ultimate refreshment." @@ -3492,6 +3605,8 @@ druggy = 50 taste_description = "da bomb" + value = 0.21 + glass_icon_state = "atomicbombglass" glass_name = "glass of Atomic Bomb" glass_desc = "We cannot take legal responsibility for your actions after imbibing." @@ -3504,6 +3619,8 @@ strength = 35 taste_description = "angry and irish" + value = 0.17 + glass_icon_state = "b52glass" glass_name = "glass of B-52" glass_desc = "Kahlua, Irish cream, and congac. You will get bombed." @@ -3515,6 +3632,8 @@ strength = 15 taste_description = "lime and orange" + value = 0.15 + glass_icon_state = "bahama_mama" glass_name = "glass of Bahama Mama" glass_desc = "Tropical cocktail" @@ -3528,6 +3647,8 @@ druggy = 25 taste_description = "tangy, irradiated licorice" + value = 0.2 + glass_icon_state = "dionamamaglass" glass_name = "glass of Diona Mama" glass_desc = "Lightly irradiated, just the way Dionae like it." @@ -3540,6 +3661,8 @@ strength = 15 taste_description = "stormy sweetness" + value = 0.13 + glass_icon_state = "jovianstormglass" glass_name = "glass of Jovian Storm" glass_desc = "A classic Callistean drink named after Jupiter's storm. It'll blow you away." @@ -3553,6 +3676,8 @@ strength = 15 taste_description = "a bad joke" + value = 0.15 + glass_icon_state = "bananahonkglass" glass_name = "glass of Banana Honk" glass_desc = "A drink from banana heaven." @@ -3565,6 +3690,8 @@ strength = 15 taste_description = "creamy berries" + value = 0.14 + glass_icon_state = "b&p" glass_name = "glass of Barefoot" glass_desc = "A drink made of berry juice, cream, and vermouth." @@ -3578,6 +3705,8 @@ strength = 35 taste_description = "JUSTICE" + value = 0.2 + glass_icon_state = "beepskysmashglass" glass_name = "Beepsky Smash" glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." @@ -3596,6 +3725,8 @@ nutriment_factor = 2 taste_description = "desperation and lactate" + value = 0.12 + glass_icon_state = "glass_brown" glass_name = "glass of bilk" glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." @@ -3607,6 +3738,8 @@ strength = 20 taste_description = "bitterness" + value = 0.14 + glass_icon_state = "blackrussianglass" glass_name = "glass of Black Russian" glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." @@ -3619,6 +3752,8 @@ strength = 20 taste_description = "tomatoes with a hint of lime" + value = 0.14 + glass_icon_state = "bloodymaryglass" glass_name = "glass of Bloody Mary" glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." @@ -3630,6 +3765,8 @@ strength = 20 taste_description = "sweet 'n creamy" + value = 0.13 + glass_icon_state = "booger" glass_name = "glass of Booger" glass_desc = "Ewww..." @@ -3642,6 +3779,8 @@ caffeine = 0.2 taste_description = "alcoholic bravery" + value = 0.16 + glass_icon_state = "bravebullglass" glass_name = "glass of Brave Bull" glass_desc = "Tequila and coffee liquor, brought together in a mouthwatering mixture. Drink up." @@ -3654,6 +3793,8 @@ strength = 15 taste_description = "sweet mint alcohol" + value = 0.14 + glass_icon_state = "cmojito" glass_name = "glass of champagne mojito" glass_desc = "Looks fun!" @@ -3665,6 +3806,8 @@ strength = 40 taste_description = "sour and bitter fruit" + value = 0.19 + glass_icon_state = "gibsonpunch" glass_name = "glass of Gibson Punch" glass_desc = "An alcoholic fruit punch." @@ -3678,6 +3821,8 @@ taste_description = "sour and bitter" carbonated = TRUE + value = 0.14 + glass_icon_state = "classic" glass_name = "glass of the classic" glass_desc = "Just classic. Wow." @@ -3690,6 +3835,8 @@ strength = 25 taste_description = "dry class" + value = 0.16 + glass_icon_state = "martiniglass" glass_name = "glass of classic martini" glass_desc = "Damn, the bartender even stirred it, not shook it." @@ -3702,6 +3849,8 @@ strength = 30 taste_description = "sour and smokey" + value = 0.13 + glass_icon_state = "corkpopper" glass_name = "glass of cork popper" glass_desc = "The confusing scent only proves all the more alluring." @@ -3715,6 +3864,8 @@ taste_description = "cola and a hint of lime" carbonated = TRUE + value = 0.16 + glass_icon_state = "cubalibreglass" glass_name = "glass of Cuba Libre" glass_desc = "A classic mix of rum, cola, and lime." @@ -3728,6 +3879,8 @@ taste_description = "cola" carbonated = TRUE + value = 0.15 + glass_icon_state = "rumandcolaglass" glass_name = "glass of Rum and Cola" glass_desc = "A classic mix of rum and cola." @@ -3741,6 +3894,8 @@ taste_description = "sweet tasting iron" carbonated = TRUE + value = 0.15 + glass_icon_state = "demonsblood" glass_name = "glass of Demons' Blood" glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up." @@ -3753,6 +3908,8 @@ strength = 15 taste_description = "bitter iron" + value = 0.14 + glass_icon_state = "devilskiss" glass_name = "glass of Devil's Kiss" glass_desc = "Creepy time!" @@ -3778,6 +3935,8 @@ strength = 20 taste_description = "a beach" + value = 0.16 + glass_icon_state = "driestmartiniglass" glass_name = "glass of Driest Martini" glass_desc = "Only for the experienced. You think you see sand floating in the glass." @@ -3791,6 +3950,8 @@ taste_description = "sour and classy" carbonated = TRUE + value = 0.17 + glass_icon_state = "french75" glass_name = "glass of french 75" glass_desc = "It looks like a lemon shaved into your cocktail." @@ -3804,6 +3965,8 @@ taste_description = "dry, tart lemons" carbonated = TRUE + value = 0.13 + glass_icon_state = "ginfizzglass" glass_name = "glass of gin fizz" glass_desc = "Refreshingly lemony, deliciously dry." @@ -3817,6 +3980,8 @@ strength = 10 taste_description = "a poor excuse for alcohol" + value = 0.11 + glass_icon_state = "grogglass" glass_name = "glass of grog" glass_desc = "A fine and cepa drink for Space." @@ -3828,6 +3993,8 @@ strength = 15 taste_description = "tartness and bananas" + value = 0.16 + glass_icon_state = "erikasurprise" glass_name = "glass of Erika Surprise" glass_desc = "The surprise is, it's green!" @@ -3841,6 +4008,8 @@ strength = 50 taste_description = "your brains smashed out by a lemon wrapped around a gold brick" + value = 0.21 + glass_icon_state = "gargleblasterglass" glass_name = "glass of Pan-Galactic Gargle Blaster" glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." @@ -3854,6 +4023,8 @@ taste_description = "mild and tart" carbonated = TRUE + value = 0.15 + glass_icon_state = "gintonicglass" glass_name = "glass of gin and tonic" glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman." @@ -3866,6 +4037,8 @@ strength = 50 taste_description = "burning cinnamon" + value = 0.2 + glass_icon_state = "ginvodkaglass" glass_name = "glass of Goldschlager" glass_desc = "100 proof that teen girls will drink anything with gold in it." @@ -3880,6 +4053,8 @@ druggy = 50 taste_description = "giving peace a chance" + value = 0.12 + glass_icon_state = "hippiesdelightglass" glass_name = "glass of Hippie's Delight" glass_desc = "A drink enjoyed by people during the 1960's." @@ -3892,6 +4067,8 @@ strength = 65 taste_description = "pure resignation" + value = 0.11 + glass_icon_state = "glass_brown2" glass_name = "glass of Hooch" glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." @@ -3905,6 +4082,8 @@ taste_description = "refreshingly cold" carbonated = TRUE + value = 0.13 + glass_icon_state = "iced_beerglass" glass_name = "glass of iced beer" glass_desc = "A beer so frosty, the air around it freezes." @@ -3918,6 +4097,8 @@ taste_description = "delicious anger" carbonated = TRUE + value = 0.14 + glass_icon_state = "irishcarbomb" glass_name = "glass of Irish Car Bomb" glass_desc = "An irish car bomb." @@ -3931,6 +4112,8 @@ taste_description = "anti-dominian sentiment" carbonated = TRUE + value = 0.15 + glass_icon_state = "fisfirebombglass" glass_name = "glass of Fisanduhian Firebomb" glass_desc = "The somewhat spicier cousin to the Irish Car Bomb." @@ -3944,6 +4127,8 @@ caffeine = 0.3 taste_description = "giving up on the day" + value = 0.12 + glass_icon_state = "irishcoffeeglass" glass_name = "glass of Irish coffee" glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." @@ -3957,6 +4142,8 @@ caffeine = 0.3 taste_description = "giving up on peaceful coexistence" + value = 0.13 + glass_icon_state = "fiscoffeeglass" glass_name = "glass of Fisanduhian coffee" glass_desc = "It's like an Irish coffee, but spicy and angry about Dominia." @@ -3969,6 +4156,8 @@ strength = 25 taste_description = "creamy alcohol" + value = 0.13 + glass_icon_state = "irishcreamglass" glass_name = "glass of Irish cream" glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" @@ -3981,6 +4170,8 @@ strength = 25 taste_description = "creamy spiced alcohol" + value = 0.14 + glass_icon_state = "irishcreamglass" glass_name = "glass of Fisanduhian cream" glass_desc = "A sweet, slightly spicy alcoholic cream. Fisanduh is not yet lost." @@ -3994,6 +4185,8 @@ taste_description = "a mixture of cola and alcohol" carbonated = TRUE + value = 0.13 + glass_icon_state = "longislandicedteaglass" glass_name = "glass of Long Island iced tea" glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." @@ -4006,6 +4199,8 @@ strength = 30 taste_description = "mild dryness" + value = 0.14 + glass_icon_state = "manhattanglass" glass_name = "glass of Manhattan" glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." @@ -4019,6 +4214,8 @@ druggy = 30 taste_description = "death, the destroyer of worlds" + value = 0.2 + glass_icon_state = "proj_manhattanglass" glass_name = "glass of Manhattan Project" glass_desc = "A scientist's drink of choice, for thinking how to blow up the station." @@ -4032,6 +4229,8 @@ taste_description = "hair on your chest and your chin" carbonated = TRUE + value = 0.13 + glass_icon_state = "manlydorfglass" glass_name = "glass of The Manly Dorf" glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." @@ -4043,6 +4242,8 @@ strength = 30 taste_description = "dry and salty" + value = 0.15 + glass_icon_state = "margaritaglass" glass_name = "glass of margarita" glass_desc = "On the rocks with salt on the rim. Arriba~!" @@ -4057,6 +4258,8 @@ nutriment_factor = 1 taste_description = "sweet yet alcoholic" + value = 0.13 + glass_icon_state = "meadglass" glass_name = "glass of mead" glass_desc = "A Viking's beverage, though a cheap one." @@ -4069,6 +4272,8 @@ strength = 65 taste_description = "bitterness" + value = 0.11 + glass_icon_state = "glass_clear" glass_name = "glass of moonshine" glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." @@ -4080,6 +4285,8 @@ strength = 40 taste_description = "mint and a mule's kick" + value = 0.14 + glass_icon_state = "muscmule" glass_name = "glass of muscovite mule" glass_desc = "Such a pretty green, this couldn't possible go wrong!" @@ -4093,6 +4300,8 @@ strength = 50 taste_description = "a numbing sensation" + value = 0.2 + glass_icon_state = "neurotoxinglass" glass_name = "glass of Neurotoxin" glass_desc = "A drink that is guaranteed to knock you silly." @@ -4116,6 +4325,8 @@ taste_description = "fizzy orange" carbonated = TRUE + value = 0.18 + glass_icon_state = "omimosa" glass_name = "glass of orange mimosa" glass_desc = "Smells like a fresh start." @@ -4127,6 +4338,8 @@ strength = 20 taste_description = "metallic and expensive" + value = 0.16 + glass_icon_state = "patronglass" glass_name = "glass of Patron" glass_desc = "Drinking patron in the bar, with all the subpar ladies." @@ -4139,6 +4352,8 @@ strength = 25 taste_description = "bitter christmas tree" + value = 0.11 + glass_icon_state = "pinkgin" glass_name = "glass of pink gin" glass_desc = "What an eccentric cocktail." @@ -4152,6 +4367,8 @@ taste_description = "very bitter christmas tree" carbonated = TRUE + value = 0.13 + glass_icon_state = "pinkgintonic" glass_name = "glass of pink gin and tonic" glass_desc = "You made gin and tonic more bitter... you madman!" @@ -4163,6 +4380,8 @@ strength = 25 taste_description = "spiced fruit cocktail" + value = 0.14 + glass_icon_state = "piratepunch" glass_name = "glass of pirate's punch" glass_desc = "Yarr harr fiddly dee, drink whatcha want 'cause a pirate is ye!" @@ -4175,6 +4394,8 @@ strength = 25 taste_description = "jamaica" + value = 0.13 + glass_icon_state = "planterpunch" glass_name = "glass of planter's punch" glass_desc = "This takes you back, back to those endless white beaches of yore." @@ -4189,6 +4410,8 @@ halluci = 10 taste_description = "purified alcoholic death" + value = 0.19 + glass_icon_state = "pwineglass" glass_name = "glass of ???" glass_desc = "A black ichor with an oily purple sheer on top. Are you sure you should drink this?" @@ -4218,6 +4441,8 @@ strength = 21 taste_description = "sweet and salty alcohol" + value = 0.14 + glass_icon_state = "red_meadglass" glass_name = "glass of red mead" glass_desc = "A true Viking's beverage, though its color is strange." @@ -4232,6 +4457,8 @@ targ_temp = 360 taste_description = "hot and spice" + value = 0.13 + glass_icon_state = "sbitenglass" glass_name = "glass of Sbiten" glass_desc = "A spicy mix of Mead and Spices. Very hot." @@ -4244,6 +4471,8 @@ strength = 15 taste_description = "oranges" + value = 0.13 + glass_icon_state = "screwdriverglass" glass_name = "glass of Screwdriver" glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." @@ -4256,6 +4485,8 @@ strength = 30 taste_description = "fruity rum and bittersweet nostalgia" + value = 0.14 + glass_icon_state = "sidewinderglass" glass_name = "glass of Sidewinder Fang" glass_desc = "An eclectic cocktail of fruit juices and dark rum. Mess with the viper, and you get the fangs." @@ -4268,6 +4499,8 @@ strength = 50 taste_description = "a pencil eraser" + value = 0.135 + glass_icon_state = "silencerglass" glass_name = "glass of Silencer" glass_desc = "A drink from mime Heaven." @@ -4280,6 +4513,8 @@ strength = 50 taste_description = "concentrated matter" + value = 0.2 + glass_icon_state = "singulo" glass_name = "glass of Singulo" glass_desc = "A blue-space beverage." @@ -4293,6 +4528,8 @@ taste_description = "refreshing cold" carbonated = TRUE + value = 0.125 + glass_icon_state = "snowwhite" glass_name = "glass of Snow White" glass_desc = "A cold refreshment." @@ -4305,6 +4542,8 @@ strength = 20 taste_description = "lime christmas tree" + value = 0.14 + glass_icon_state = "ssroyale" glass_name = "glass of southside royale" glass_desc = "This cocktail is better than you. Maybe it's the crossed arms that give it away. Or the rich parents." @@ -4318,6 +4557,8 @@ taste_description = "fruit" carbonated = TRUE + value = 0.12 + glass_icon_state = "sdreamglass" glass_name = "glass of Sui Dream" glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." @@ -4331,6 +4572,8 @@ taste_description = "cheap labor" carbonated = TRUE + value = 0.21 + glass_icon_state = "gibsonhooch" glass_name = "glass of Gibson Hooch" glass_desc = "A factory worker's favorite... Because they can't afford much else." @@ -4343,6 +4586,8 @@ strength = 15 taste_description = "oranges" + value = 0.13 + glass_icon_state = "tequilasunriseglass" glass_name = "glass of Tequila Sunrise" glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." @@ -4356,6 +4601,8 @@ taste_description = "dry" carbonated = TRUE + value = 0.2 + glass_icon_state = "threemileislandglass" glass_name = "glass of Three Mile Island iced tea" glass_desc = "A glass of this is sure to prevent a meltdown." @@ -4371,6 +4618,8 @@ targ_temp = 330 taste_description = "spicy toxins" + value = 0.2 + glass_icon_state = "toxinsspecialglass" glass_name = "glass of Toxins Special" glass_desc = "Whoah, this thing is on FIRE" @@ -4382,6 +4631,8 @@ strength = 32 taste_description = "shaken, not stirred" + value = 0.135 + glass_icon_state = "martiniglass" glass_name = "glass of vodka martini" glass_desc ="A bastardisation of the classic martini. Still great." @@ -4394,6 +4645,8 @@ strength = 35 taste_description = "tart bitterness" + value = 0.145 + glass_icon_state = "vodkatonicglass" glass_name = "glass of vodka and tonic" glass_desc = "For when a gin and tonic isn't Russian enough." @@ -4406,6 +4659,8 @@ strength = 30 taste_description = "bitter cream" + value = 0.125 + glass_icon_state = "whiterussianglass" glass_name = "glass of White Russian" glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." @@ -4418,6 +4673,8 @@ strength = 30 taste_description = "creamy vodka and lime" + value = 0.125 + glass_icon_state = "solarianwhiteglass" glass_name = "glass of Solarian White" glass_desc = "A classic Solarian cocktail. Despite the name, this is not a security officer." @@ -4432,6 +4689,8 @@ strength = 35 taste_description = "polished boots and nationalism" + value = 0.2 + glass_icon_state = "solarianmarineglass" glass_name = "Solarian Marine" glass_desc = "Drink too many of these, and you'll wake up invading Tau Ceti." @@ -4445,6 +4704,8 @@ strength = 65 taste_description = "strong, earthy licorice" + value = 0.13 + glass_icon_state = "permanentrevolutionglass" glass_name = "glass of Permanent Revolution" glass_desc = "A Himean cocktail, so named for its tendency to make the room spin. You have nothing to lose but your sobriety." @@ -4469,6 +4730,8 @@ strength = 28 taste_description = "earthy, oily unity" + value = 0.13 + glass_icon_state = "internationaleglass" glass_name = "glass of Internationale" glass_desc = "The nearest thing the Orion Spur has to left unity. The subversive's choice." @@ -4483,6 +4746,8 @@ taste_description = "cola" carbonated = TRUE + value = 0.15 + glass_icon_state = "whiskeycolaglass" glass_name = "glass of whiskey cola" glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." @@ -4496,6 +4761,8 @@ taste_description = "cola" carbonated = TRUE + value = 0.15 + glass_icon_state = "whiskeysodaglass2" glass_name = "glass of whiskey soda" glass_desc = "Ultimate refreshment." @@ -4508,6 +4775,8 @@ strength = 45 taste_description = "silky, amber goodness" + value = 0.3 + glass_icon_state = "whiskeyglass" glass_name = "glass of special blend whiskey" glass_desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." @@ -4549,6 +4818,8 @@ strength = 15 taste_description = "lime and sugar" + value = 0.15 + glass_icon_state = "daiquiri" glass_name = "glass of Daiquiri" glass_desc = "A splendid looking cocktail." @@ -4560,6 +4831,8 @@ strength = 10 taste_description = "vodka and lemon" + value = 0.15 + glass_icon_state = "icepick" glass_name = "glass of Ice Pick" glass_desc = "Big. And red. Hmm..." @@ -4571,6 +4844,8 @@ strength = 15 taste_description = "layers of liquors" + value = 0.17 + glass_icon_state = "pousseecafe" glass_name = "glass of Pousse-Cafe" glass_desc = "Smells of French and liquore." @@ -4582,6 +4857,8 @@ strength = 25 taste_description = "old as time" + value = 0.15 + glass_icon_state = "mintjulep" glass_name = "glass of Mint Julep" glass_desc = "As old as time itself, but how does it taste?" @@ -4594,6 +4871,8 @@ taste_description = "whiskey" carbonated = TRUE + value = 0.17 + glass_icon_state = "johnscollins" glass_name = "glass of John Collins" glass_desc = "Named after a man, perhaps?" @@ -4606,6 +4885,8 @@ taste_description = "gin and class" carbonated = TRUE + value = 0.13 + glass_icon_state = "gimlet" glass_name = "glass of Gimlet" glass_desc = "Small, elegant, and packs a punch." @@ -4617,6 +4898,8 @@ strength = 10 taste_description = "freedom" + value = 0.15 + glass_icon_state = "starsandstripes" glass_name = "glass of Stars and Stripes" glass_desc = "Someone, somewhere, is saluting." @@ -4639,6 +4922,8 @@ strength = 27 taste_description = "fruity sweetness" + value = 0.13 + glass_icon_state = "metropolitan" glass_name = "glass of Metropolitan" glass_desc = "What more could you ask for?" @@ -4661,6 +4946,8 @@ strength = 30 taste_description = "political power" + value = 0.13 + glass_icon_state = "primeministerglass" glass_name = "glass of Prime Minister" glass_desc = "All the fun of power, none of the assassination risk!" @@ -4672,6 +4959,8 @@ strength = 21 taste_description = "tart, oily honey" + value = 0.15 + glass_icon_state = "peacetreatyglass" glass_name = "glass of Peace Treaty" glass_desc = "A diplomatic overture in a glass." @@ -4683,6 +4972,8 @@ strength = 25 taste_description = "dryness" + value = 0.18 + glass_icon_state = "caruso" glass_name = "glass of Caruso" glass_desc = "Green, almost alien." @@ -4694,6 +4985,8 @@ strength = 25 taste_description = "brandy and oranges" + value = 0.15 + glass_icon_state = "aprilshower" glass_name = "glass of April Shower" glass_desc = "Smells of brandy." @@ -4705,6 +4998,8 @@ strength = 15 taste_description = "sweetness" + value = 0.17 + glass_icon_state = "carthusiansazerac" glass_name = "glass of Carthusian Sazerac" glass_desc = "Whiskey and... Syrup?" @@ -4716,6 +5011,8 @@ strength = 25 taste_description = "dry gin" + value = 0.15 + glass_icon_state = "deweycocktail" glass_name = "glass of Dewey Cocktail" glass_desc = "Colours, look at all the colours!" @@ -4727,6 +5024,8 @@ strength = 40 taste_description = "a mixture of herbs" + value = 0.18 + glass_icon_state = "greenchartreuseglass" glass_name = "glass of Green Chartreuse" glass_desc = "A green, strong liqueur." @@ -4738,6 +5037,8 @@ strength = 40 taste_description = "a sweet mixture of herbs" + value = 0.18 + glass_icon_state = "chartreuseyellowglass" glass_name = "glass of Yellow Chartreuse" glass_desc = "A yellow, strong liqueur." @@ -4749,6 +5050,8 @@ strength = 20 taste_description = "mint" + value = 0.14 + glass_icon_state = "whitecremeglass" glass_name = "glass of White Creme de Menthe" glass_desc = "Mint-flavoured alcohol." @@ -4760,6 +5063,8 @@ strength = 20 taste_description = "berries" + value = 0.17 + glass_icon_state = "cremedeyvetteglass" glass_name = "glass of Creme de Yvette" glass_desc = "Berry-flavoured alcohol." @@ -4771,6 +5076,8 @@ strength = 40 taste_description = "cheap cognac" + value = 0.2 + glass_icon_state = "brandyglass" glass_name = "glass of Brandy" glass_desc = "Cheap knock off for cognac." @@ -4783,6 +5090,8 @@ taste_description = "dryness" carbonated = TRUE + value = 0.1 + glass_icon_state = "guinnessglass" glass_name = "glass of Guinness" glass_desc = "A glass of Guinness." @@ -4794,6 +5103,8 @@ strength = 40 taste_description = "sweet whisky" + value = 0.18 + glass_icon_state = "drambuieglass" glass_name = "glass of Drambuie" glass_desc = "A drink that smells like whiskey but tastes different." @@ -4805,6 +5116,8 @@ strength = 30 taste_description = "bitterness" + value = 0.15 + glass_icon_state = "oldfashioned" glass_name = "glass of Old Fashioned" glass_desc = "That looks like it's from the sixties." @@ -4816,6 +5129,8 @@ strength = 40 taste_description = "bitterness blindness" + value = 0.16 + glass_icon_state = "blindrussian" glass_name = "glass of Blind Russian" glass_desc = "You can't see?" @@ -4827,6 +5142,8 @@ strength = 25 taste_description = "lemons" + value = 0.13 + glass_icon_state = "rustynail" glass_name = "glass of Rusty Nail" glass_desc = "Smells like lemon." @@ -4839,6 +5156,8 @@ taste_description = "tall bitterness" carbonated = TRUE + value = 0.15 + glass_icon_state = "tallblackrussian" glass_name = "glass of Tall Black Russian" glass_desc = "Just like black russian but taller." @@ -5621,6 +5940,8 @@ glass_icon_state = "darmadhirbrew_glass" glass_name = "glass of Darmadhir Brew" + value = 25 + /singleton/reagent/alcohol/treebark_firewater name = "Tree-Bark Firewater" color = "#ACAA1D" @@ -5674,6 +5995,8 @@ glass_name = "glass of Xuizi Juice" glass_desc = "The clear green liquid smells like vanilla, tastes like water. Unathi swear it has a rich taste and texture." + value = 0.2 + /singleton/reagent/alcohol/butanol/sarezhiwine name = "Sarezhi Wine" description = "An alcoholic beverage made from lightly fermented Sareszhi berries, considered an upper class delicacy on Moghes. Significant butanol content indicates intoxicating effects on Unathi." @@ -6430,6 +6753,7 @@ description = "A mixture of perfectly healthy milk and delicious chocolate." color = "#74533b" taste_description = "chocolate milk" + value = 0.11 glass_icon_state = "glass_chocolate" glass_name = "glass of chocolate milk" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index ca421a3ee70..fdbb7af6d83 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -10,6 +10,7 @@ metabolism_min = REM * 0.125 breathe_mul = 0.5 scannable = TRUE + value = 2.5 taste_description = "bitterness" /singleton/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -33,6 +34,7 @@ taste_description = "bitterness" fallback_specific_heat = 1 taste_mult = 3 + value = 4.9 /singleton/reagent/bicaridine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.heal_organ_damage(5 * removed, 0) @@ -114,6 +116,7 @@ metabolism = REM * 0.5 overdose = 15 taste_mult = 1.5 + value = 3.9 /singleton/reagent/dermaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.heal_organ_damage(0, 12 * removed) @@ -129,6 +132,7 @@ scannable = TRUE metabolism = REM * 0.5 taste_description = "a roll of gauze" + value = 2.1 var/remove_generic = TRUE var/list/remove_toxins = list( @@ -171,6 +175,7 @@ metabolism = REM * 0.75 breathe_met = REM * 0.5 breathe_mul = 2 + value = 2.4 var/strength = 6 /singleton/reagent/dexalin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -197,6 +202,7 @@ color = "#0040FF" overdose = 15 strength = 12 + value = 3.6 /singleton/reagent/tricordrazine name = "Tricordrazine" @@ -209,6 +215,7 @@ taste_description = "bitterness" breathe_mul = 0 metabolism = REM * 0.25 + value = 6 /singleton/reagent/tricordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/power = 1 + Clamp((holder.get_temperature() - (T0C + 20))*0.1,-0.5,0.5) @@ -228,6 +235,7 @@ overdose = 5 scannable = TRUE taste_description = "sludge" + value = 3.9 /singleton/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_CRYO, 1) @@ -261,6 +269,7 @@ overdose = 5 scannable = TRUE taste_description = "slime" + value = 5.5 /singleton/reagent/clonexadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_CRYO, 1) @@ -301,6 +310,7 @@ taste_description = "sickness" metabolism_min = 0.005 breathe_mul = 0 + value = 3.3 /singleton/reagent/perconol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(check_min_dose(M)) @@ -330,6 +340,7 @@ taste_description = "sourness" metabolism_min = 0.005 breathe_mul = 0 + value = 3.1 /singleton/reagent/mortaphenyl/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/list/joy_messages = list("You feel soothed and at ease.", "You feel content and at peace.", "You feel a pleasant emptiness.", "You feel like sharing the wonderful memories and feelings you're experiencing.", "All your anxieties fade away.", "You feel like you're floating off the ground.", "You don't want this feeling to end.") @@ -503,6 +514,7 @@ breathe_met = REM * 4 // .8 units per tick taste_description = "bitterness" metabolism_min = 0.005 + value = 3.3 /singleton/reagent/oxycomorphine/initial_effect(var/mob/living/carbon/human/M, var/alien, var/holder) to_chat(M, SPAN_GOOD(pick("You lean back and begin to fall... and fall... and fall.", "A feeling of ecstasy builds within you.", "You're startled by just how amazing you suddenly feel."))) @@ -554,6 +566,7 @@ scannable = TRUE taste_description = "bitterness" metabolism_min = REM * 0.0125 + value = 4.6 /singleton/reagent/synaptizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.drowsiness = max(M.drowsiness - 5, 0) @@ -595,6 +608,7 @@ scannable = TRUE taste_description = "bitterness" metabolism_min = REM * 0.075 + value = 5.9 /singleton/reagent/alkysine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(check_min_dose(M, 2)) //Increased effectiveness & no side-effects if given via IV drip with low transfer rate. @@ -633,6 +647,7 @@ scannable = TRUE taste_mult = 0.33 //Specifically to cut the dull toxin taste out of foods using carrot taste_description = "dull toxin" + value = 4.2 /singleton/reagent/oculine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.eye_blurry = max(M.eye_blurry - 5 * removed, 0) @@ -665,6 +680,7 @@ overdose = 10 scannable = TRUE taste_description = "bitterness" + value = 6 /singleton/reagent/peridaxon/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(ishuman(M)) @@ -707,6 +723,7 @@ taste_description = "acid" metabolism = REM metabolism_min = 0.25 + value = 3.6 /singleton/reagent/ryetalyn/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) holder.remove_reagent(/singleton/reagent/toxin/malignant_tumour_cells, 2) @@ -731,6 +748,7 @@ taste_description = "acid" metabolism_min = REM * 0.025 breathe_met = REM * 0.15 * 0.5 + value = 3.9 /singleton/reagent/hyperzine/initial_effect(mob/living/carbon/M, alien, datum/reagents/holder) . = ..() @@ -781,6 +799,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "bitterness" + value = 3.1 /singleton/reagent/ethylredoxrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/P = removed * ETHYL_REAGENT_POWER @@ -833,6 +852,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "bitterness" + value = 2.3 unaffected_species = IS_MACHINE var/last_taste_time = -10000 @@ -863,6 +883,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "bitterness" + value = 2.7 unaffected_species = IS_MACHINE /singleton/reagent/arithrazine/initialize_data(newdata) @@ -900,6 +921,7 @@ scannable = TRUE taste_description = "bitter gauze soaked in rubbing alcohol" fallback_specific_heat = 0.605 // assuming it's ethanol-based + value = 2.5 /singleton/reagent/thetamycin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_ANTIBIOTIC, M.chem_doses[type]) // strength of antibiotics; amount absorbed, need >5u dose to begin to be effective which'll take ~5 minutes to metabolise. need >10u dose if administered orally. @@ -986,6 +1008,8 @@ breathe_met = REM * 2 // .4 units per tick // touch is slow + value = 1.5 + glass_name = "glass of cough syrup" glass_desc = "You'd better not." @@ -1031,6 +1055,7 @@ touch_met = 5 taste_description = "burning bleach" germ_adjust = 20 + value = 2.2 /singleton/reagent/sterilizine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.germ_level -= min(removed*20, M.germ_level) @@ -1094,6 +1119,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "bitterness" + value = 2 /singleton/reagent/leporazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(!check_min_dose(M)) @@ -1183,6 +1209,7 @@ taste_description = "bitterness" messagedelay = MEDICATION_MESSAGE_DELAY * 0.75 goodmessage = list("You feel good.","You feel relaxed.","You feel alert and focused.") + value = 2 /singleton/reagent/mental/nicotine/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/scale, var/datum/reagents/holder) ..() @@ -1217,6 +1244,7 @@ od_minimum_dose = 0.2 taste_description = "paper" goodmessage = list("You feel focused.","You feel like you have no distractions.","You feel willing to work.") + value = 6 /singleton/reagent/mental/corophenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_HALLUCINATE, -1) @@ -1231,6 +1259,7 @@ od_minimum_dose = 0.2 taste_description = "bitterness" goodmessage = list("You do not feel the need to worry about simple things.","You feel calm and level-headed.","You feel fine.") + value = 6 /singleton/reagent/mental/parvosil name = "Parvosil" @@ -1241,6 +1270,7 @@ od_minimum_dose = 0.4 taste_description = "paper" goodmessage = list("You feel fine.","You feel rational.","You feel secure.") + value = 6 /singleton/reagent/mental/minaphobin name = "Minaphobin" @@ -1251,6 +1281,7 @@ od_minimum_dose = 0.2 taste_description = "duct tape" goodmessage = list("You feel relaxed.","You feel at ease.","You feel carefree.") + value = 6 /singleton/reagent/mental/emoxanyl name = "Emoxanyl" @@ -1262,6 +1293,7 @@ taste_description = "scotch tape" goodmessage = list("You feel at ease.","Your mind feels great.", "You feel centered.") messagedelay = MEDICATION_MESSAGE_DELAY * 0.75 + value = 6 /singleton/reagent/mental/orastabin name = "Orastabin" @@ -1273,6 +1305,7 @@ taste_description = "glue" goodmessage = list("You feel at ease.","You feel like you can speak with confidence.","You feel unafraid to speak.") messagedelay = MEDICATION_MESSAGE_DELAY * 0.75 + value = 6 /singleton/reagent/mental/orastabin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_NOSTUTTER, 2) @@ -1289,6 +1322,7 @@ taste_description = "tranquility" goodmessage = list("Your mind feels as one.","You feel incredibly comfortable.","Your body feels good.","Your thoughts are clear.", "You feel stress free.", "Nothing is bothering you anymore.") messagedelay = MEDICATION_MESSAGE_DELAY * 0.5 + value = 6 /singleton/reagent/mental/neurapan/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_HALLUCINATE, -2) @@ -1311,6 +1345,7 @@ taste_description = "paint" goodmessage = list("Your mind feels as one.","You feel comfortable speaking.","Your body feels good.","Your thoughts are pure.","Your body feels responsive.","You can handle being alone.") messagedelay = MEDICATION_MESSAGE_DELAY * 0.5 + value = 6 /singleton/reagent/mental/nerospectan/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) M.add_chemical_effect(CE_HALLUCINATE, -2) @@ -1331,6 +1366,7 @@ goodmessage = list("You feel like you have nothing to hide.","You feel compelled to spill your secrets.","You feel like you can trust those around you.") messagedelay = 30 ingest_mul = 1 + value = 8 /singleton/reagent/mental/truthserum/overdose(var/mob/living/carbon/M, var/alien, var/datum/reagents/holder) M.add_chemical_effect(CE_PACIFIED, 1) @@ -1511,6 +1547,7 @@ scannable = TRUE taste_description = "fine dust" reagent_state = SOLID + value = 3.2 /singleton/reagent/pneumalin/affect_breathe(var/mob/living/carbon/human/H, var/alien, var/removed, var/datum/reagents/holder) H.adjustOxyLoss(removed) //Every unit heals 1 oxy damage @@ -1535,6 +1572,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "sickness" + value = 5 /singleton/reagent/rezadone/affect_chem_effect(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) . = ..() @@ -1564,6 +1602,7 @@ scannable = TRUE taste_description = "blood" specific_heat = 1 + value = 5 /singleton/reagent/sanasomnum/initial_effect(mob/living/carbon/M) to_chat(M, SPAN_WARNING("Your limbs start to feel numb and weak, and your legs wobble as it becomes hard to stand!")) @@ -1620,6 +1659,7 @@ overdose = REAGENTS_OVERDOSE scannable = TRUE taste_description = "sweet syrup" + value = 2 /singleton/reagent/verunol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if (prob(10+M.chem_doses[type])) @@ -1638,6 +1678,7 @@ taste_description = "bitter metal" overdose = 5 fallback_specific_heat = 1.2 + value = 500 /singleton/reagent/azoth/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) ..() @@ -1726,6 +1767,7 @@ value = 2 breathe_mul = 0 ingest_mul = 0 + value = 3 /singleton/reagent/adrenaline/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed, var/datum/reagents/holder) if(alien == IS_DIONA) @@ -1763,6 +1805,7 @@ affects_dead = 1 taste_description = "eternal blissfulness" fallback_specific_heat = 2 + value = 1000 /singleton/reagent/elixir/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(ishuman(M)) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm index 25349e4029c..9cd09998468 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -8,6 +8,7 @@ overdose = 5 taste_description = "the back of class" fallback_specific_heat = 0.4 + value = 0.001 /singleton/reagent/crayon_dust/red name = "Red Crayon Dust" @@ -99,6 +100,7 @@ glass_desc = "It's magic, I ain't gotta explain shit." fallback_specific_heat = 10 //Magical. + value = 1000 /singleton/reagent/adminordrazine/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -135,6 +137,7 @@ color = "#F7C430" taste_description = "expensive metal" fallback_specific_heat = 2.511 + value = 7 /singleton/reagent/silver name = "Silver" @@ -143,6 +146,7 @@ color = "#D0D0D0" taste_description = "expensive yet reasonable metal" fallback_specific_heat = 0.241 + value = 4 /singleton/reagent/uranium name = "Uranium" @@ -151,6 +155,7 @@ color = "#B8B8C0" taste_description = "the inside of a reactor" fallback_specific_heat = 2.286 + value = 9 /singleton/reagent/uranium/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) affect_ingest(M, alien, removed, holder) @@ -195,6 +200,7 @@ color = "#E0E0E0" taste_description = "salty metalic miner tears" fallback_specific_heat = 0.2971 + value = 3 /singleton/reagent/water/holywater name = "Holy Water" @@ -257,6 +263,7 @@ reagent_state = LIQUID color = "#604030" taste_description = "iron" + value = 0.9 /singleton/reagent/surfactant // Foam precursor name = "Azosurfactant" @@ -264,6 +271,7 @@ reagent_state = LIQUID color = "#9E6B38" taste_description = "metal" + value = 0.05 /singleton/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. name = "Foaming Agent" @@ -279,6 +287,7 @@ color = "#673910" touch_met = 50 taste_description = "sweet tasting metal" + value = 6 /singleton/reagent/thermite/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) . = ..() @@ -306,6 +315,7 @@ touch_met = REM * 10 taste_description = "sourness" germ_adjust = 10 + value = 0.7 /singleton/reagent/spacecleaner/touch_obj(var/obj/O, var/amount, var/datum/reagents/holder) O.clean_blood() @@ -425,6 +435,7 @@ reagent_state = LIQUID color = "#009CA8" taste_description = "cherry" + value = 0.6 /singleton/reagent/lube/touch_turf(var/turf/simulated/T, var/amount, var/datum/reagents/holder) if(!istype(T)) @@ -466,6 +477,7 @@ reagent_state = LIQUID color = COLOR_GRAY taste_description = "sweetness" + value = 8 /singleton/reagent/nitroglycerin name = "Nitroglycerin" @@ -473,6 +485,7 @@ reagent_state = LIQUID color = COLOR_GRAY taste_description = "oil" + value = 9 /singleton/reagent/nitroglycerin/proc/explode(var/datum/reagents/holder) var/datum/effect/effect/system/reagents_explosion/e = new() @@ -515,6 +528,7 @@ color = "#C8A5DC" taste_description = "sourness" taste_mult = 1.1 + value = 0.8 /singleton/reagent/ultraglue name = "Ultra Glue" @@ -530,6 +544,7 @@ color = "#B97A57" taste_description = "wood" fallback_specific_heat = 1.9 + value = 0.6 /singleton/reagent/luminol name = "Luminol" @@ -537,6 +552,7 @@ reagent_state = LIQUID color = "#F2F3F4" taste_description = "metal" + value = 1.4 /singleton/reagent/luminol/touch_obj(var/obj/O, var/amount, var/datum/reagents/holder) O.reveal_blood() @@ -660,6 +676,7 @@ metabolism = REM * 0.25 taste_description = "bottled fire" fallback_specific_heat = 2.75 + value = 50 unaffected_species = IS_MACHINE /singleton/reagent/estus/initial_effect(mob/living/carbon/M, alien, datum/reagents/holder) @@ -690,6 +707,7 @@ touch_met = 5 taste_description = "metal" fallback_specific_heat = 20 //This holds a ton of heat. + value = 50 unaffected_species = IS_MACHINE /singleton/reagent/liquid_fire/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -710,6 +728,7 @@ color = "#000000" taste_description = "emptyness" fallback_specific_heat = 100 //Yeah... + value = 250 unaffected_species = IS_MACHINE /singleton/reagent/black_matter/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) @@ -735,6 +754,7 @@ color = "#1f8999" taste_description = "fizzling blue" fallback_specific_heat = 0.1 + value = 250 unaffected_species = IS_MACHINE /singleton/reagent/bluespace_dust/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -755,6 +775,7 @@ color = "#f4c430" taste_description = "heavenly knowledge" fallback_specific_heat = 1.25 + value = 1000 /singleton/reagent/sglue name = "Sovereign Glue" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 6ae74a94b95..34a43900b60 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -10,6 +10,7 @@ taste_mult = 1.2 fallback_specific_heat = 0.75 overdose = 10 + value = 2 var/target_organ // needs to be null by default var/strength = 2 // How much damage it deals per unit @@ -48,6 +49,7 @@ color = "#CF3600" strength = 5 taste_description = "plastic" + value = 2.1 /singleton/reagent/toxin/amatoxin name = "Amatoxin" @@ -56,6 +58,7 @@ color = "#792300" strength = 10 taste_description = "mushroom" + value = 2.3 /singleton/reagent/toxin/carpotoxin name = "Carpotoxin" @@ -65,6 +68,7 @@ strength = 10 taste_description = "fish" target_organ = BP_BRAIN + value = 3 /singleton/reagent/toxin/carpotoxin/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(alien && alien == IS_UNATHI) @@ -133,6 +137,7 @@ taste_mult = 1.5 breathe_mul = 2 fallback_specific_heat = 12 //Phoron is very dense and can hold a lot of energy. + value = 10 /singleton/reagent/toxin/phoron/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(ishuman(M)) @@ -256,6 +261,7 @@ taste_description = "bitter almonds" taste_mult = 1.5 target_organ = BP_HEART + value = 3.3 /singleton/reagent/toxin/cyanide/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) ..() @@ -274,6 +280,7 @@ overdose = 15 od_minimum_dose = 5 taste_description = "salt" + value = 4.4 /singleton/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M @@ -295,6 +302,7 @@ overdose = 5 od_minimum_dose = 20 taste_description = "salt" + value = 4.5 /singleton/reagent/toxin/potassium_chlorophoride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M @@ -317,6 +325,7 @@ strength = 3 taste_description = "death" target_organ = BP_BRAIN + value = 2.9 /singleton/reagent/toxin/zombiepowder/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) ..() @@ -344,6 +353,7 @@ taste_description = "plant food" taste_mult = 0.5 touch_mul = 0 + value = 1.2 unaffected_species = IS_MACHINE /singleton/reagent/toxin/fertilizer/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -442,6 +452,7 @@ strength = 4 metabolism = REM*1.5 taste_mult = 1 + value = 1.1 unaffected_species = IS_MACHINE /singleton/reagent/toxin/plantbgone/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) @@ -478,6 +489,7 @@ color = "#C8A5DC" overdose = REAGENTS_OVERDOSE taste_description = "acid" + value = 2.4 /singleton/reagent/lexorin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M @@ -494,6 +506,7 @@ color = "#13BC5E" taste_description = "slime" taste_mult = 0.9 + value = 3.1 /singleton/reagent/mutagen/affect_touch(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(prob(33)) @@ -531,6 +544,7 @@ color = "#801E28" taste_description = "slime" taste_mult = 1.3 + value = 1.2 /singleton/reagent/slimejelly/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(isslime(M)) // stabilize slime mutation by reintroducing slime jelly into the slime @@ -557,6 +571,7 @@ overdose = REAGENTS_OVERDOSE taste_description = "bitterness" breathe_met = REM * 0.5 * 0.33 + value = 2.5 var/total_strength = 0 /singleton/reagent/soporific/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) @@ -588,6 +603,7 @@ overdose = 15 taste_description = "bitterness" breathe_met = REM * 0.5 * 0.5 + value = 2.6 /singleton/reagent/polysomnine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) var/mob/living/carbon/human/H = M @@ -620,6 +636,7 @@ glass_center_of_mass = list("x"=16, "y"=8) fallback_specific_heat = 1.2 + value = 2.2 /* Transformations */ @@ -629,6 +646,7 @@ reagent_state = LIQUID color = "#13BC5E" taste_description = "sludge" + value = 3 /singleton/reagent/aslimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) // TODO: check if there's similar code anywhere else if(M.transforming) @@ -663,12 +681,14 @@ color = "#535E66" taste_description = "slimey metal" fallback_specific_heat = 3 + value = 9 /singleton/reagent/toxin/undead name = "Undead Ichor" description = "A wicked liquid with unknown origins and uses." color = "#b2beb5" strength = 25 + value = 300 taste_description = "ashes" /singleton/reagent/toxin/undead/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 5a9ae0b83e2..0ab291566fe 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -190,8 +190,8 @@ var/contained = reagentlist() var/temperature = reagents.get_temperature() var/temperature_text = "Temperature: ([temperature]K/[temperature]C)" - target.attack_log += text("\[[time_stamp()]\] Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained] [temperature_text].") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to splash [target.name] ([target.key]). Reagents: [contained] [temperature_text].") + target.attack_log += "\[[time_stamp()]\] Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained] [temperature_text]." + user.attack_log += "\[[time_stamp()]\] Used the [name] to splash [target.name] ([target.key]). Reagents: [contained] [temperature_text]." msg_admin_attack("[user.name] ([user.ckey]) splashed [target.name] ([target.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(target)) user.visible_message(SPAN_DANGER("\The [target] has been splashed with something by \the [user]!"), @@ -274,8 +274,8 @@ other_feed_message_finish(user, target) var/contained = reagentlist() - target.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]") + target.attack_log += "\[[time_stamp()]\] Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]" + user.attack_log += "\[[time_stamp()]\] Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]" msg_admin_attack("[key_name(user)] fed [key_name(target)] with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(target)) reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index e0f232a83f4..fc6d5e4013c 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -130,8 +130,8 @@ other_feed_message_finish(user,target) var/contained = reagentlist() - target.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [key_name(user)] Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Fed [name] to [key_name(target)] Reagents: [contained]") + target.attack_log += "\[[time_stamp()]\] Has been fed [name] by [key_name(user)] Reagents: [contained]" + user.attack_log += "\[[time_stamp()]\] Fed [name] to [key_name(target)] Reagents: [contained]" msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(target)) reagents.trans_to_mob(target, min(reagents.total_volume,bitesize), CHEM_INGEST) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 2b66e1cde68..d95286d6ce0 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -49,8 +49,8 @@ user.visible_message(SPAN_WARNING("[user] forces [M] to swallow \the [src].")) var/contained = reagentlist() - M.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [key_name(user)] Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Fed [name] to [key_name(M)] Reagents: [contained]") + M.attack_log +="\[[time_stamp()]\] Has been fed [name] by [key_name(user)] Reagents: [contained]" + user.attack_log += "\[[time_stamp()]\] Fed [name] to [key_name(M)] Reagents: [contained]" msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) if(reagents.total_volume) @@ -68,7 +68,7 @@ return to_chat(user, SPAN_NOTICE("You dissolve \the [src] in [target].")) - user.attack_log += text("\[[time_stamp()]\] Spiked \a [target] with a pill. Reagents: [reagentlist()]") + user.attack_log += "\[[time_stamp()]\] Spiked \a [target] with a pill. Reagents: [reagentlist()]" msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(target)) reagents.trans_to(target, reagents.total_volume) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index ce547415b54..da124ec062a 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -229,8 +229,8 @@ for (var/mob/C in viewers(src)) C.show_message(SPAN_WARNING("[GM.name] has been placed in the [src] by [user]."), 3) qdel(G) - usr.attack_log += text("\[[time_stamp()]\] Has placed [GM.name] ([GM.ckey]) in disposals.") - GM.attack_log += text("\[[time_stamp()]\] Has been placed in disposals by [usr.name] ([usr.ckey])") + usr.attack_log += "\[[time_stamp()]\] Has placed [GM.name] ([GM.ckey]) in disposals." + GM.attack_log += "\[[time_stamp()]\] Has been placed in disposals by [usr.name] ([usr.ckey])" msg_admin_attack("[key_name_admin(usr)] placed [key_name_admin(GM)] in a disposals unit. (JMP)",ckey=key_name(usr),ckey_target=key_name(GM)) return TRUE if(!attacking_item.dropsafety()) @@ -287,8 +287,8 @@ msg = "[user.name] stuffs [target.name] into the [src]!" to_chat(user, "You stuff [target.name] into the [src]!") - user.attack_log += text("\[[time_stamp()]\] Has placed [target.name] ([target.ckey]) in disposals.") - target.attack_log += text("\[[time_stamp()]\] Has been placed in disposals by [user.name] ([user.ckey])") + user.attack_log += "\[[time_stamp()]\] Has placed [target.name] ([target.ckey]) in disposals." + target.attack_log += "\[[time_stamp()]\] Has been placed in disposals by [user.name] ([user.ckey])" msg_admin_attack("[user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit. (JMP)",ckey=key_name(user),ckey_target=key_name(target)) else return diff --git a/code/modules/spell_system/spells/spell_code.dm b/code/modules/spell_system/spells/spell_code.dm index 53b35069f46..6094a0c79eb 100644 --- a/code/modules/spell_system/spells/spell_code.dm +++ b/code/modules/spell_system/spells/spell_code.dm @@ -54,7 +54,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now var/hud_state = "" //name of the icon used in generating the spell hud object var/override_base = "" - var/obj/screen/connected_button + var/atom/movable/screen/connected_button /////////////////////// ///SETUP AND PROCESS/// @@ -76,7 +76,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now silenced = max(0,silenced-1) sleep(1) if(connected_button) - var/obj/screen/spell/S = connected_button + var/atom/movable/screen/spell/S = connected_button if(!istype(S)) return S.update_charge(1) @@ -103,7 +103,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now take_charge(user, skipcharge) before_cast(targets) //applies any overlays and effects - user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name].") + user.attack_log += "\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name]." if(prob(critfailchance)) critfail(targets, user) else @@ -172,7 +172,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now for(var/atom/target in targets) var/location = get_turf(target) if(istype(target,/mob/living) && message) - to_chat(target, text("[message]")) + to_chat(target, "[message]") if(sparks_spread) spark(location, sparks_amt) if(smoke_spread) diff --git a/code/modules/spell_system/spells/spells.dm b/code/modules/spell_system/spells/spells.dm index 8a514ca32fe..ba5b0d3bc04 100644 --- a/code/modules/spell_system/spells/spells.dm +++ b/code/modules/spell_system/spells/spells.dm @@ -6,13 +6,13 @@ for(var/spell/spell_to_add in H.mind.learned_spells) H.add_spell(spell_to_add) -/mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /obj/screen/movable/spell_master) +/mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /atom/movable/screen/movable/spell_master) usr = src // whoever made screen objects is an asshole and forced me to do this, i regret absolutely nothing if(!spell_masters) spell_masters = list() if(spell_masters.len) - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) if(spell_master.type == master_type) LAZYADD(spell_list, spell_to_add) spell_master.add_spell(spell_to_add) @@ -20,7 +20,7 @@ LAZYDISTINCTADD(mind.learned_spells, spell_to_add) return TRUE - var/obj/screen/movable/spell_master/new_spell_master = new master_type //we're here because either we didn't find our type, or we have no spell masters to attach to + var/atom/movable/screen/movable/spell_master/new_spell_master = new master_type //we're here because either we didn't find our type, or we have no spell masters to attach to if(client) src.client.screen += new_spell_master new_spell_master.spell_holder = src @@ -46,7 +46,7 @@ if(mind && mind.learned_spells) mind.learned_spells.Remove(spell_to_remove) LAZYREMOVE(spell_list, spell_to_remove) - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) spell_master.remove_spell(spell_to_remove) return 1 @@ -57,5 +57,5 @@ if(!spell_masters || !spell_masters.len) return - for(var/obj/screen/movable/spell_master/spell_master in spell_masters) + for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters) spell_master.silence_spells(amount) diff --git a/code/modules/synthesized_instruments/real_instruments.dm b/code/modules/synthesized_instruments/real_instruments.dm index 625fb3e8ebb..9beebd42987 100644 --- a/code/modules/synthesized_instruments/real_instruments.dm +++ b/code/modules/synthesized_instruments/real_instruments.dm @@ -44,7 +44,7 @@ if ("import") var/t = "" do - t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", owner.name), t) as message) + t = html_encode(input(usr, "Please paste the entire song, formatted:", "[owner.name]", t) as message) if(!CanInteractWith(usr, owner, GLOB.physical_state)) return diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index ccc866b11de..cdf1f7298d5 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -14,7 +14,7 @@ Configuration: Usage: - Define mouse event procs on your (probably HUD) object and simply call the show and hide procs respectively: -/obj/screen/hud +/atom/movable/screen/hud MouseEntered(location, control, params) usr.client.tooltip.show(params, title = src.name, content = src.desc) MouseExited() diff --git a/code/modules/vehicles/animal.dm b/code/modules/vehicles/animal.dm index f582c9d0921..36688404d65 100644 --- a/code/modules/vehicles/animal.dm +++ b/code/modules/vehicles/animal.dm @@ -157,7 +157,7 @@ if(ishuman(AM)) var/mob/living/carbon/human/H = AM M.attack_log += "\[[time_stamp()]\] Was rammed by [src]" - M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") + M.attack_log += "\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src]." msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] smashes into \the [H]!")) playsound(src, /singleton/sound_category/swing_hit_sound, 50, 1) @@ -258,7 +258,7 @@ M = buckled if(M.m_intent == M_RUN) M.attack_log += "\[[time_stamp()]\] Was rammed by [src]" - M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") + M.attack_log += "\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src]." msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] charges into \the [H]!")) playsound(src, 'sound/weapons/pierce.ogg', 50, 1) @@ -299,7 +299,7 @@ if(ishuman(AM)) var/mob/living/carbon/human/H = AM M.attack_log += "\[[time_stamp()]\] Was rammed by [src]" - M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") + M.attack_log += "\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src]." msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] charges into \the [H]!")) playsound(src, 'sound/weapons/pierce.ogg', 50, 1) diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index 4dfa1ed0317..75e1b727158 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -303,7 +303,7 @@ if(ishuman(AM)) var/mob/living/carbon/human/H = AM M.attack_log += "\[[time_stamp()]\] Was rammed by [src]" - M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") + M.attack_log += "\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src]." msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] smashes into \the [H]!")) playsound(src, /singleton/sound_category/swing_hit_sound, 50, 1) @@ -379,7 +379,7 @@ M = buckled if(M.m_intent == M_RUN) M.attack_log += "\[[time_stamp()]\] Was rammed by [src]" - M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") + M.attack_log += "\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src]." msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] runs over \the [H]!")) H.apply_damage(30, DAMAGE_BRUTE) diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index fe5d7e4d80f..cd4b6c6c550 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -216,7 +216,7 @@ /obj/vehicle/train/cargo/trolley/RunOver(var/mob/living/carbon/human/H) ..() - attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") + attack_log += "\[[time_stamp()]\] ran over [H.name] ([H.ckey])" /obj/vehicle/train/cargo/engine/RunOver(var/mob/living/carbon/human/H) ..() @@ -225,10 +225,10 @@ var/mob/living/carbon/human/D = load to_chat(D, SPAN_DANGER("You ran over [H]!")) visible_message(SPAN_DANGER("\The [src] ran over [H]!")) - attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])") + attack_log += "\[[time_stamp()]\] ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])" msg_admin_attack("[D.name] ([D.ckey]) ran over [H.name] ([H.ckey]). (JMP)",ckey=key_name(D),ckey_target=key_name(H)) else - attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") + attack_log += "\[[time_stamp()]\] ran over [H.name] ([H.ckey])" //------------------------------------------- diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 71a97240e05..259cf60c691 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -419,7 +419,7 @@ if(!damage) return visible_message(SPAN_DANGER("[user] [attack_message] the [src]!")) - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + user.attack_log += "\[[time_stamp()]\] attacked [src.name]" user.do_attack_animation(src) src.health -= damage if(prob(10)) diff --git a/code/unit_tests/create_and_destroy.dm b/code/unit_tests/create_and_destroy.dm index 84430f265f5..1b04e4fca50 100644 --- a/code/unit_tests/create_and_destroy.dm +++ b/code/unit_tests/create_and_destroy.dm @@ -48,7 +48,7 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) /obj/machinery/ai_powersupply, // Requires a player - /obj/screen/new_player/selection/join_game, + /atom/movable/screen/new_player/selection/join_game, // Requires to make a sound based on client pref in the announcement /obj/effect/portal/revenant, @@ -90,8 +90,8 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) /obj/spellbutton, - /obj/screen/click_catcher, - /obj/screen/new_player/selection/polls, + /atom/movable/screen/click_catcher, + /atom/movable/screen/new_player/selection/polls, //Temporary exclusion while matt fixes it /obj/projectile/beam/psi_lightning/wide, @@ -138,7 +138,7 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) ignore += typesof(/obj/machinery/gravity_generator/main/station) // Requires an owner's client - ignore += typesof(/obj/screen/psi) + ignore += typesof(/atom/movable/screen/psi) // Requires material on creation ignore += typesof(/obj/effect/overlay/burnt_wall) @@ -161,7 +161,7 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) ignore += typesof(/turf/simulated/floor/beach/water) ignore += typesof(/mob/living/heavy_vehicle) ignore += typesof(/obj/singularity/narsie) - ignore += typesof(/obj/screen/ability) + ignore += typesof(/atom/movable/screen/ability) ignore += typesof(/obj/effect/bmode) // Requires something in icon update or runtimes diff --git a/html/changelogs/Ben10083 - Orion Ship.yml b/html/changelogs/Ben10083 - Orion Ship.yml new file mode 100644 index 00000000000..4f3d7cd9522 --- /dev/null +++ b/html/changelogs/Ben10083 - Orion Ship.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Ben10083 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Orion Express ship minor mapping fixes." diff --git a/html/changelogs/Ben10083 - TCAF Hardsuit.yml b/html/changelogs/Ben10083 - TCAF Hardsuit.yml new file mode 100644 index 00000000000..9161e7b1e45 --- /dev/null +++ b/html/changelogs/Ben10083 - TCAF Hardsuit.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Ben10083 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "New TCAF Hardsuit 'Legionnaire' (currently only for humans/humanoid ipcs). Thanks to NobleRow for the Sprites!" diff --git a/html/changelogs/CometBlaze-saf_auxiliary_drip.yml b/html/changelogs/CometBlaze-saf_auxiliary_drip.yml new file mode 100644 index 00000000000..1225d2d5d5b --- /dev/null +++ b/html/changelogs/CometBlaze-saf_auxiliary_drip.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: CometBlaze + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - imageadd: "Resprites the solarian IPC fatigues to make them lore accurate" diff --git a/html/changelogs/GeneralCamo - Screen Refactor.yml b/html/changelogs/GeneralCamo - Screen Refactor.yml new file mode 100644 index 00000000000..842cc1f1e83 --- /dev/null +++ b/html/changelogs/GeneralCamo - Screen Refactor.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: GeneralCamo + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Refactor /obj/screen to /atom/movable/screen." diff --git a/html/changelogs/ShimmerIsTaken - Sparta1984.yml b/html/changelogs/ShimmerIsTaken - Sparta1984.yml new file mode 100644 index 00000000000..1ff979921fc --- /dev/null +++ b/html/changelogs/ShimmerIsTaken - Sparta1984.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: ShimmerIsTaken + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Removes Sparta from Dominian origins, given it was removed from lore." diff --git a/html/changelogs/SimpleMaroon-hivenetreceivertwitch.yml b/html/changelogs/SimpleMaroon-hivenetreceivertwitch.yml new file mode 100644 index 00000000000..6f5ec01f629 --- /dev/null +++ b/html/changelogs/SimpleMaroon-hivenetreceivertwitch.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: SimpleMaroon + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Using the Ve'katak Hivenet receiver now produces a visible emote and the same sound as a Vaurca using the Hivenet." diff --git a/html/changelogs/SimpleMaroon-starcapeloadout.yml b/html/changelogs/SimpleMaroon-starcapeloadout.yml new file mode 100644 index 00000000000..17b0e44db8e --- /dev/null +++ b/html/changelogs/SimpleMaroon-starcapeloadout.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: SimpleMaroon + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added the C'thur Ta star cape that was missing from the loadout." diff --git a/html/changelogs/Snowy1237-HegemonyNavyShipFix.yml b/html/changelogs/Snowy1237-HegemonyNavyShipFix.yml new file mode 100644 index 00000000000..bb294271a4e --- /dev/null +++ b/html/changelogs/Snowy1237-HegemonyNavyShipFix.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Snowy1237 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed the Hegemony Navy away ship being visible if no crew for it have spawned." diff --git a/html/changelogs/fluffyghost-fixpaperstackremovalruntime.yml b/html/changelogs/fluffyghost-fixpaperstackremovalruntime.yml new file mode 100644 index 00000000000..4567397af7f --- /dev/null +++ b/html/changelogs/fluffyghost-fixpaperstackremovalruntime.yml @@ -0,0 +1,59 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed a runtime on deletion of paper stacks due to erroneous conversion of datum bracket access." + - code_imp: "Some DMDocs." diff --git a/html/changelogs/fluffyghost-fluffpapertweak.yml b/html/changelogs/fluffyghost-fluffpapertweak.yml new file mode 100644 index 00000000000..ba12863b1d6 --- /dev/null +++ b/html/changelogs/fluffyghost-fluffpapertweak.yml @@ -0,0 +1,61 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Fluff papers now update the free space on the paper correctly on initialization." + - refactor: "Moved all the fluff paper in code, from the maps." + - rscadd: "Added maplinting for fluff papers." + - rscadd: "Added DMDoc for fluff papers." diff --git a/html/changelogs/fluffyghost-nanoprinterpapers.yml b/html/changelogs/fluffyghost-nanoprinterpapers.yml new file mode 100644 index 00000000000..e3d8d4b5a7e --- /dev/null +++ b/html/changelogs/fluffyghost-nanoprinterpapers.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - qol: "Nano printers (computer component) will now refuse papers that are already written onto." diff --git a/html/changelogs/fluffyghost-notextproc.yml b/html/changelogs/fluffyghost-notextproc.yml new file mode 100644 index 00000000000..d89ccf1d0e1 --- /dev/null +++ b/html/changelogs/fluffyghost-notextproc.yml @@ -0,0 +1,59 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - refactor: "Refactored all the builtin text procs to use string interpolation instead." + - server: "Added a linting for the above." diff --git a/html/changelogs/geeves-ai_loadout_fixes.yml b/html/changelogs/geeves-ai_loadout_fixes.yml new file mode 100644 index 00000000000..84a1a10ada4 --- /dev/null +++ b/html/changelogs/geeves-ai_loadout_fixes.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "AIs can now dress up their preview mob." + - rscadd: "Cyborgs now have the cardboard outfit in the loadout again. You can toggle it by deselecting the job suit and hat options." + - bugfix: "Job suits are now hidden correctly when the job suit is deselected." diff --git a/html/changelogs/geeves-short_eal.yml b/html/changelogs/geeves-short_eal.yml new file mode 100644 index 00000000000..74f49bcf94a --- /dev/null +++ b/html/changelogs/geeves-short_eal.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "EAL is now much shorter to people who can't understand it, to represent how effective it is at compressing communicated datapackets." + - bugfix: "Fixed scrambled languages causing double spaces and uncapitalized words." diff --git a/html/changelogs/hazelmouse-badlandsradio.yml b/html/changelogs/hazelmouse-badlandsradio.yml new file mode 100644 index 00000000000..2d3a8daaa53 --- /dev/null +++ b/html/changelogs/hazelmouse-badlandsradio.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added radio channels to the Badlands sector, accessible via an analog radio." diff --git a/html/changelogs/hazelmouse-oops.yml b/html/changelogs/hazelmouse-oops.yml new file mode 100644 index 00000000000..ee402263f30 --- /dev/null +++ b/html/changelogs/hazelmouse-oops.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed a fault with the ore redemption consoles in mining that caused miners not to receive points for their ore." diff --git a/html/changelogs/hazelmouse-securityofunusualspeed.yml b/html/changelogs/hazelmouse-securityofunusualspeed.yml new file mode 100644 index 00000000000..b443ed44e76 --- /dev/null +++ b/html/changelogs/hazelmouse-securityofunusualspeed.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Zeng-Hu Mobility Frames can now be played in the security department." diff --git a/html/changelogs/hazelmouse-weirdquirks.yml b/html/changelogs/hazelmouse-weirdquirks.yml new file mode 100644 index 00000000000..17693bf63f4 --- /dev/null +++ b/html/changelogs/hazelmouse-weirdquirks.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - qol: "Resolves a few odd quirks of the Horizon's map, like misaligned objects. Patches a few holes in custodial access to maintenance, including to bar maintenance and behind the main lift." diff --git a/html/changelogs/hazelmouse-zavodshuttle.yml b/html/changelogs/hazelmouse-zavodshuttle.yml new file mode 100644 index 00000000000..f86693f59aa --- /dev/null +++ b/html/changelogs/hazelmouse-zavodshuttle.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "The Zavodskoi Shuttle offsite now correctly spawns onto the overmap." diff --git a/html/changelogs/morespecies-hazelmouse.yml b/html/changelogs/morespecies-hazelmouse.yml new file mode 100644 index 00000000000..d6de89738c7 --- /dev/null +++ b/html/changelogs/morespecies-hazelmouse.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: hazelmouse + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "IPCs are now available to play in the Coalition Ranger, Orion Express, and Elyran Navy ghostroles." diff --git a/icons/clothing/rig/tcaf_legionnaire.dmi b/icons/clothing/rig/tcaf_legionnaire.dmi new file mode 100644 index 00000000000..5d104a10cb2 Binary files /dev/null and b/icons/clothing/rig/tcaf_legionnaire.dmi differ diff --git a/icons/clothing/under/uniforms/sol_uniform.dmi b/icons/clothing/under/uniforms/sol_uniform.dmi index ff01aef65e7..9ea0b1e5880 100644 Binary files a/icons/clothing/under/uniforms/sol_uniform.dmi and b/icons/clothing/under/uniforms/sol_uniform.dmi differ diff --git a/icons/mob/light_overlays.dmi b/icons/mob/light_overlays.dmi index 74fed7ec26b..2664230e684 100644 Binary files a/icons/mob/light_overlays.dmi and b/icons/mob/light_overlays.dmi differ diff --git a/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dmm b/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dmm index 76d05be1364..9370921e48c 100644 --- a/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dmm +++ b/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dmm @@ -1293,6 +1293,10 @@ }, /turf/template_noop, /area/space) +"NY" = ( +/obj/effect/overmap/visitable/zavod_shuttle_destroyed, +/turf/simulated/floor/tiled/steel, +/area/zavod_shuttle_destroyed) "Oh" = ( /obj/structure/inflatable/door, /obj/effect/decal/cleanable/floor_damage/rust, @@ -25937,7 +25941,7 @@ bz YW Sn nY -Cj +NY Cj nY qG diff --git a/maps/away/ships/coc/coc_ranger/coc_ship.dmm b/maps/away/ships/coc/coc_ranger/coc_ship.dmm index 2e27c7b92e4..a42f8700ecd 100644 --- a/maps/away/ships/coc/coc_ranger/coc_ship.dmm +++ b/maps/away/ships/coc/coc_ranger/coc_ship.dmm @@ -1142,13 +1142,13 @@ /obj/item/tank/emergency_oxygen/double, /obj/item/tank/emergency_oxygen/double, /obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, +/obj/item/device/suit_cooling_unit, /turf/simulated/floor/tiled/dark/full, /area/ship/ranger_corvette/voidsuits) "eFH" = ( @@ -1453,7 +1453,9 @@ /area/ship/ranger_corvette/engine1) "fJE" = ( /obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/media/jukebox, +/obj/machinery/media/jukebox{ + anchored = 1 + }, /obj/item/disk/tech_disk{ desc = "A disk for storing data. This one is labeled, Greatest Hits of 2450."; name = "\improper Greatest Hits of The 2450's disk" @@ -1472,6 +1474,8 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/machinery/recharge_station, +/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/ship/ranger_corvette/foyer) "fVq" = ( @@ -5128,8 +5132,8 @@ dir = 1 }, /obj/effect/ghostspawpoint{ - identifier = "ranger"; - name = "igs - ranger" + identifier = "ranger_synthetic"; + name = "igs - ranger_synthetic" }, /turf/simulated/floor/carpet, /area/ship/ranger_corvette/foyer) @@ -5141,7 +5145,12 @@ }, /obj/effect/floor_decal/corner_wide/green/full, /obj/machinery/vending/wallmed1{ - pixel_y = 27 + pixel_y = 27; + req_access = null + }, +/obj/item/stack/nanopaste{ + pixel_x = 16; + pixel_y = 4 }, /turf/simulated/floor/tiled/white, /area/ship/ranger_corvette/medbay) diff --git a/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm b/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm index c42b23fffa9..f796007cb8e 100644 --- a/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm +++ b/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm @@ -7,7 +7,7 @@ tags = list("External") spawnpoints = list("ranger") - max_count = 5 + max_count = 4 outfit = /obj/outfit/admin/ranger possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD) @@ -18,7 +18,6 @@ faction = "Frontier Protection Bureau" respawn_flag = null - /obj/outfit/admin/ranger name = "Coalition Ranger" @@ -32,13 +31,36 @@ backpack_contents = list(/obj/item/storage/box/survival = 1) +/obj/outfit/admin/ranger/get_id_access() + return list(ACCESS_EXTERNAL_AIRLOCKS) + +// Only one role, to represent that synthetics are uncommon in the Rangers. As of 13/09/2024, Tajara or Skrell being available here isn't wanted by lore. +/datum/ghostspawner/human/ranger/ranger_synthetic + short_name = "ranger_synthetic" + name = "Coalition Ranger Synthetic" + desc = "You are a self-owned synthetic serving with the Frontier Protection Bureau, one of few in the human-dominated organization. Protect the interests of the Coalition of Colonies and your member-state." + uses_species_whitelist = TRUE + + spawnpoints = list("ranger_synthetic") + max_count = 1 + + outfit = /obj/outfit/admin/ranger + possible_species = list(SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) + allow_appearance_change = APPEARANCE_PLASTICSURGERY + + assigned_role = "Frontier Ranger" + special_role = "Frontier Ranger" + /obj/outfit/admin/ranger/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) . = ..() if(isoffworlder(H)) H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack) - -/obj/outfit/admin/ranger/get_id_access() - return list(ACCESS_EXTERNAL_AIRLOCKS) + if(isipc(H)) // All Ranger synthetics are tagged, self-owned, and have Coalition citizenship. + var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG] + if(istype(tag)) + tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12)) + tag.ownership_info = IPC_OWNERSHIP_SELF + tag.citizenship_info = CITIZENSHIP_COALITION /datum/ghostspawner/human/ranger/captain short_name = "ranger_leader" @@ -55,7 +77,6 @@ assigned_role = "Frontier Ranger Leader" special_role = "Frontier Ranger Leader" - /obj/outfit/admin/ranger/captain name = "Coalition Ranger Leader" diff --git a/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm b/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm index cbc7a25c8d5..3d55062c1e3 100644 --- a/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm +++ b/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm @@ -695,12 +695,22 @@ /turf/simulated/floor/lino, /area/ship/elyran_corvette/messhall) "di" = ( -/obj/structure/ship_weapon_dummy, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/turf/simulated/floor/reinforced/airless, -/area/ship/elyran_corvette/portwep) +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/turf/simulated/floor/tiled/dark, +/area/ship/elyran_corvette/briefing) "dE" = ( /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos{ dir = 4; @@ -1221,6 +1231,8 @@ /obj/effect/floor_decal/corner_wide/green{ dir = 10 }, +/obj/item/stack/nanopaste, +/obj/item/device/robotanalyzer, /turf/simulated/floor/tiled/white, /area/ship/elyran_corvette/medbay) "gc" = ( @@ -3635,9 +3647,6 @@ /turf/simulated/floor/tiled/dark, /area/ship/elyran_corvette/starboardwep) "uv" = ( -/obj/structure/closet/crate/bin{ - name = "trashbin" - }, /obj/effect/floor_decal/spline/plain/black{ dir = 4 }, @@ -3645,6 +3654,7 @@ dir = 5 }, /obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/recharge_station, /turf/simulated/floor/tiled/dark/full, /area/ship/elyran_corvette/porthallway) "uz" = ( @@ -6088,9 +6098,6 @@ /turf/simulated/floor/carpet/rubber, /area/ship/elyran_corvette/prayerhall) "IM" = ( -/obj/structure/closet/crate/bin{ - name = "trashbin" - }, /obj/effect/floor_decal/spline/plain/black{ dir = 8 }, @@ -6098,6 +6105,7 @@ dir = 5 }, /obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/recharge_station, /turf/simulated/floor/tiled/dark/full, /area/ship/elyran_corvette/starboardhallway) "IO" = ( @@ -7269,12 +7277,6 @@ /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide, -/obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, -/obj/item/tank/emergency_oxygen/double, /turf/simulated/floor/tiled/dark/full, /area/ship/elyran_corvette/briefing) "OY" = ( @@ -46921,7 +46923,7 @@ gD ve Dn GZ -pu +di UP Dn ve @@ -47195,7 +47197,7 @@ Fc cV fe fe -di +La La Cs bk diff --git a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm index 3746c9844f9..863af4da901 100644 --- a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm +++ b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm @@ -10,7 +10,7 @@ max_count = 2 outfit = /obj/outfit/admin/elyran_navy_crewman - possible_species = list(SPECIES_HUMAN) + possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) allow_appearance_change = APPEARANCE_PLASTICSURGERY assigned_role = "Elyran Naval Infantryman" @@ -37,6 +37,14 @@ /obj/outfit/admin/elyran_navy_crewman/get_id_access() return list(ACCESS_ELYRAN_NAVAL_INFANTRY_SHIP, ACCESS_EXTERNAL_AIRLOCKS) +/obj/outfit/admin/elyran_navy_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() + if(isipc(H)) // All Elyran Navy synthetics are tagged, self-owned, and have Elyran citizenship. + var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG] + if(istype(tag)) + tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12)) + tag.ownership_info = IPC_OWNERSHIP_SELF + tag.citizenship_info = CITIZENSHIP_ELYRA // senior crewman /datum/ghostspawner/human/elyran_navy_crewman/nco diff --git a/maps/away/ships/freebooter/freebooter_ship_.dm b/maps/away/ships/freebooter/freebooter_ship_.dm index 4999286ca7b..dd2259e30f4 100644 --- a/maps/away/ships/freebooter/freebooter_ship_.dm +++ b/maps/away/ships/freebooter/freebooter_ship_.dm @@ -107,3 +107,7 @@ fuel_consumption = 2 logging_home_tag = "nav_hangar_freebooter" defer_initialisation = TRUE + +/obj/item/paper/fluff/freeboter_ship/captain_note + name = "old captain's note" + info = "Don't forget - all of the crew's clothing is now in the cargo pod!" diff --git a/maps/away/ships/freebooter/freebooter_ship_submaps.dmm b/maps/away/ships/freebooter/freebooter_ship_submaps.dmm index f3ba3e3fe4d..3e0f12d64bc 100644 --- a/maps/away/ships/freebooter/freebooter_ship_submaps.dmm +++ b/maps/away/ships/freebooter/freebooter_ship_submaps.dmm @@ -77,10 +77,7 @@ /area/ship/freebooter_ship/pod2) "avE" = ( /obj/structure/closet/cabinet, -/obj/item/paper{ - name = "old captain's note"; - info = "Don't forget - all of the crew's clothing is now in the cargo pod!" - }, +/obj/item/paper/fluff/freeboter_ship/captain_note, /turf/simulated/floor/tiled/dark, /area/ship/freebooter_ship/pod1) "awG" = ( @@ -440,10 +437,7 @@ name = "lattice" }, /obj/structure/closet/cabinet, -/obj/item/paper{ - name = "old captain's note"; - info = "Don't forget - all of the crew's clothing is now in the cargo pod!" - }, +/obj/item/paper/fluff/freeboter_ship/captain_note, /turf/simulated/floor, /area/ship/freebooter_ship/pod6) "bxM" = ( @@ -3021,10 +3015,7 @@ name = "lattice" }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/item/paper{ - name = "old captain's note"; - info = "Don't forget - all of the crew's clothing is now in the cargo pod!" - }, +/obj/item/paper/fluff/freeboter_ship/captain_note, /turf/simulated/floor, /area/ship/freebooter_ship/pod1) "qEc" = ( diff --git a/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dm b/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dm index 4138dbcecce..dc818b8339a 100644 --- a/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dm +++ b/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dm @@ -37,6 +37,7 @@ vessel_mass = 5000 fore_dir = SOUTH vessel_size = SHIP_SIZE_SMALL + invisible_until_ghostrole_spawn = TRUE initial_restricted_waypoints = list( "Hegemony Shuttle" = list("nav_hegemony_corvette_shuttle") ) diff --git a/maps/away/ships/orion/orion_express_ship.dmm b/maps/away/ships/orion/orion_express_ship.dmm index acf422c88d0..643122d5dd9 100644 --- a/maps/away/ships/orion/orion_express_ship.dmm +++ b/maps/away/ships/orion/orion_express_ship.dmm @@ -5517,7 +5517,8 @@ icon_state = "bridge" }, /obj/machinery/recharger/wallcharger{ - pixel_y = 24 + pixel_y = 24; + pixel_x = -24 }, /obj/structure/cable/green{ icon_state = "0-4" @@ -7489,7 +7490,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, /obj/structure/lattice/catwalk/indoor/grate, /turf/simulated/floor, /area/ship/orion/mainhall) diff --git a/maps/away/ships/orion/orion_express_ship_ghostroles.dm b/maps/away/ships/orion/orion_express_ship_ghostroles.dm index 2a8d5c1f79f..bfb2e73ee5a 100644 --- a/maps/away/ships/orion/orion_express_ship_ghostroles.dm +++ b/maps/away/ships/orion/orion_express_ship_ghostroles.dm @@ -10,7 +10,7 @@ max_count = 3 outfit = /obj/outfit/admin/orion_express_courier - possible_species = list(SPECIES_HUMAN,SPECIES_HUMAN_OFFWORLD,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN,SPECIES_UNATHI,SPECIES_VAURCA_WARRIOR,SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS) + possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) allow_appearance_change = APPEARANCE_PLASTICSURGERY assigned_role = "Orion Express Courier" diff --git a/maps/event/idris_cruise/code/idris_cruise.dm b/maps/event/idris_cruise/code/idris_cruise.dm index 0a42a378cd2..50bfadaac29 100644 --- a/maps/event/idris_cruise/code/idris_cruise.dm +++ b/maps/event/idris_cruise/code/idris_cruise.dm @@ -26,3 +26,15 @@ allowed_spawns = list("Living Quarters Lift", "Cryogenic Storage") spawn_types = list(/datum/spawnpoint/living_quarters_lift, /datum/spawnpoint/cryo) default_spawn = "Living Quarters Lift" + +/obj/item/paper/fluff/idris_cruise/vr_prep + name = "VR Introduction Slip" + info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!" + +/obj/item/paper/fluff/idris_cruise/medal_of_valor + name = "medal of valor intro sheet" + info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!" + +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush + name = "Medal of Valor 2 Introduction Slip" + info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!" diff --git a/maps/event/idris_cruise/idris_cruise-1.dmm b/maps/event/idris_cruise/idris_cruise-1.dmm index 574a01b813d..dce5759eb5b 100644 --- a/maps/event/idris_cruise/idris_cruise-1.dmm +++ b/maps/event/idris_cruise/idris_cruise-1.dmm @@ -5681,38 +5681,14 @@ /area/cruise/main_bar/aft) "ezH" = ( /obj/structure/table/wood, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, /obj/structure/sign/securearea{ desc = "A warning sign which declares the door to be one way! Don't get trapped."; name = "\improper ONE WAY DOOR"; @@ -7232,14 +7208,8 @@ /obj/effect/floor_decal/spline/fancy{ dir = 4 }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, +/obj/item/paper/fluff/idris_cruise/medal_of_valor, +/obj/item/paper/fluff/idris_cruise/medal_of_valor, /obj/structure/table/standard, /obj/machinery/light/small{ dir = 4 @@ -9396,14 +9366,8 @@ /obj/effect/floor_decal/spline/fancy{ dir = 4 }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, +/obj/item/paper/fluff/idris_cruise/medal_of_valor, +/obj/item/paper/fluff/idris_cruise/medal_of_valor, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "tiled_preview" @@ -17663,38 +17627,14 @@ /area/cruise/e_supplies) "obv" = ( /obj/structure/table/wood, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, +/obj/item/paper/fluff/idris_cruise/vr_prep, /turf/unsimulated/floor{ icon_state = "wood_preview" }, @@ -25559,66 +25499,21 @@ /area/cruise/aft_p) "uAi" = ( /obj/structure/table/reinforced, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, +/obj/item/paper/fluff/idris_cruise/medal_of_valor_nopush, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" diff --git a/maps/event/rooftop/code/rooftop.dm b/maps/event/rooftop/code/rooftop.dm index 78450800845..d86d5a485ae 100644 --- a/maps/event/rooftop/code/rooftop.dm +++ b/maps/event/rooftop/code/rooftop.dm @@ -25,3 +25,15 @@ map_shuttles = list( /datum/shuttle/autodock/ferry/city ) + +/obj/item/paper/fluff/rooftop/vr_prep + name = "VR Introduction Slip" + info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!" + +/obj/item/paper/fluff/rooftop/medal_of_valor + name = "medal of valor intro sheet" + info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!" + +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush + name = "Medal of Valor 2 Introduction Slip" + info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!" diff --git a/maps/event/rooftop/rooftop-1.dmm b/maps/event/rooftop/rooftop-1.dmm index 064405fd995..95446fea274 100644 --- a/maps/event/rooftop/rooftop-1.dmm +++ b/maps/event/rooftop/rooftop-1.dmm @@ -670,38 +670,14 @@ /area/city/mendell/interior) "do" = ( /obj/structure/table/wood, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, /turf/unsimulated/floor{ icon_state = "wood_preview" }, @@ -1400,26 +1376,11 @@ /area/city/mendell) "gZ" = ( /obj/structure/table/stone/marble, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, -/obj/item/paper{ - info = "This stage is for the MEDAL OF VALOR 2 alpha gameplay demo! Please enter your respective team's chair for balance reasons. Do not use the enemy team's base ingame! Remember, sharing is caring!"; - name = "medal of valor intro sheet" - }, +/obj/item/paper/fluff/rooftop/medal_of_valor, +/obj/item/paper/fluff/rooftop/medal_of_valor, +/obj/item/paper/fluff/rooftop/medal_of_valor, +/obj/item/paper/fluff/rooftop/medal_of_valor, +/obj/item/paper/fluff/rooftop/medal_of_valor, /turf/simulated/floor/tiled, /area/city/mendell/interior) "ha" = ( @@ -4039,43 +4000,14 @@ /area/city/mendell) "wR" = ( /obj/structure/table/wood, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/item/paper{ - info = "Welcome to your very own VR preparation room! You can customize your virtual reality avatar here. Once ready, head out to the Game Selection Hall, where you can head out on your customized adventure! Have fun!"; - name = "vr introduction slip" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which declares the door to be one way! Don't get trapped."; - name = "\improper ONE WAY DOOR"; - pixel_x = 28 - }, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, +/obj/item/paper/fluff/rooftop/vr_prep, /turf/unsimulated/floor{ icon_state = "wood_preview" }, @@ -8464,66 +8396,21 @@ /area/city/mendell/interior) "Wk" = ( /obj/structure/table/reinforced, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, -/obj/item/paper{ - info = "Welcome to MEDAL OF VALOR 2 gameplay demo. You've entered your teams respective base. Proceed to the fighting! Do not push into the enemy's base under any circumstances! Remember, have fun!"; - name = "Medal of Valor 2 Introduction Slip" - }, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, +/obj/item/paper/fluff/rooftop/medal_of_valor_nopush, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm index 05b8d7a17bf..510a93e5cf4 100644 --- a/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm +++ b/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm @@ -60,7 +60,6 @@ /obj/item/clothing/under/tajaran, /obj/item/clothing/under/tajaran/summer, /obj/item/clothing/under/pants/tajaran, - /obj/item/clothing/under/pants, /obj/item/clothing/under/pants/track ) diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index fc1da7f8a32..e54fdd0c33d 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -9019,7 +9019,6 @@ /turf/simulated/floor/plating, /area/maintenance/wing/port/far) "bnn" = ( -/obj/effect/floor_decal/corner/teal/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -21942,7 +21941,7 @@ /area/bridge/controlroom) "dkt" = ( /obj/machinery/mineral/stacking_machine{ - id = "stacking_3"; + id = "horizon_stacking_3"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -23236,7 +23235,7 @@ /obj/machinery/door/airlock/maintenance{ dir = 1; name = "Bar Maintenance"; - req_one_access = list(12,25) + req_one_access = list(12, 25) }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -25486,7 +25485,7 @@ /area/horizon/exterior) "dJO" = ( /obj/machinery/mineral/processing_unit{ - id = "processing_1"; + id = "horizon_processing_1"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -31715,7 +31714,9 @@ /turf/simulated/floor/tiled/full, /area/medical/smoking) "eGg" = ( -/obj/structure/bed/stool/bar/padded/teal, +/obj/structure/bed/stool/bar/padded/teal{ + dir = 4 + }, /obj/effect/floor_decal/corner/red/diagonal, /obj/effect/floor_decal/spline/plain{ dir = 4 @@ -35017,7 +35018,7 @@ dir = 8 }, /obj/machinery/mineral/stacking_unit_console{ - id = "stacking_3"; + id = "horizon_stacking_3"; pixel_x = -32 }, /obj/effect/floor_decal/industrial/outline/yellow, @@ -39419,7 +39420,6 @@ /turf/unsimulated/floor, /area/antag/raider) "fQc" = ( -/obj/effect/floor_decal/corner/teal/diagonal, /obj/structure/cable/green{ icon_state = "1-8" }, @@ -48514,7 +48514,7 @@ }, /obj/machinery/door/airlock/maintenance_hatch{ dir = 4; - req_one_access = list(12,26) + req_one_access = list(12) }, /obj/structure/lattice/catwalk/indoor/grate, /turf/simulated/floor/plating, @@ -49333,10 +49333,10 @@ dir = 10 }, /obj/machinery/alarm/north, -/obj/machinery/power/apc/west, /obj/structure/cable/green{ icon_state = "0-2" }, +/obj/machinery/power/apc/east, /turf/simulated/floor, /area/maintenance/engineering_ladder) "hnR" = ( @@ -50574,7 +50574,7 @@ dir = 6 }, /obj/machinery/mineral/processing_unit_console{ - id = "processing_1"; + id = "horizon_processing_1"; pixel_x = 32 }, /obj/effect/floor_decal/industrial/hatch_tiny/yellow, @@ -55714,7 +55714,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/maintenance{ dir = 1; - req_access = list(12) + req_one_access = list(12, 25) }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -59262,7 +59262,7 @@ /obj/machinery/door/airlock/maintenance{ dir = 1; name = "Maintenance Passthrough"; - req_one_access = list(12,26,31,48,67) + req_one_access = list(12,31,48,67) }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -70243,7 +70243,7 @@ dir = 1 }, /obj/machinery/mineral/processing_unit_console{ - id = "processing_3"; + id = "horizon_processing_3"; pixel_x = 32 }, /obj/effect/floor_decal/industrial/hatch_tiny/yellow, @@ -79443,7 +79443,7 @@ dir = 9 }, /obj/machinery/mineral/stacking_unit_console{ - id = "stacking_1"; + id = "horizon_stacking_1"; pixel_x = -32 }, /obj/effect/floor_decal/industrial/outline/yellow, @@ -83781,7 +83781,6 @@ /turf/simulated/wall/shuttle/scc_space_ship/cardinal, /area/maintenance/hangar/starboard) "msz" = ( -/obj/effect/floor_decal/corner/teal/diagonal, /obj/effect/floor_decal/spline/plain{ dir = 8 }, @@ -86902,7 +86901,8 @@ pixel_y = 4 }, /obj/machinery/vending/dinnerware/bar{ - pixel_y = 16 + pixel_y = 16; + pixel_x = 6 }, /turf/simulated/floor/tiled/dark, /area/horizon/bar) @@ -91075,7 +91075,7 @@ }, /obj/machinery/door/airlock/maintenance{ dir = 4; - req_one_access = list(12,26,48) + req_one_access = list(12,48) }, /turf/simulated/floor/tiled/full, /area/hangar/intrepid) @@ -94926,7 +94926,7 @@ /obj/machinery/door/airlock/maintenance{ dir = 1; name = "Recharging Station Maintenance"; - req_one_access = list(12,26) + req_one_access = list(12) }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -95868,7 +95868,7 @@ /area/engineering/engine_monitoring) "oiB" = ( /obj/machinery/mineral/stacking_machine{ - id = "stacking_2"; + id = "horizon_stacking_2"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -102460,7 +102460,6 @@ }, /area/centcom/control) "pkj" = ( -/obj/effect/floor_decal/corner/teal/diagonal, /obj/structure/cable/green{ icon_state = "1-2" }, @@ -108966,7 +108965,9 @@ /turf/space/dynamic, /area/horizon/exterior) "qgw" = ( -/obj/structure/bed/stool/bar/padded/teal, +/obj/structure/bed/stool/bar/padded/teal{ + dir = 4 + }, /obj/effect/floor_decal/corner/red/diagonal, /obj/effect/floor_decal/spline/plain{ dir = 5 @@ -114943,8 +114944,7 @@ "raq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance_hatch{ - dir = 1; - req_access = list(12) + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/full, @@ -115394,7 +115394,7 @@ dir = 9 }, /obj/machinery/mineral/stacking_unit_console{ - id = "stacking_2"; + id = "horizon_stacking_2"; pixel_x = -32 }, /obj/effect/floor_decal/industrial/outline/yellow, @@ -128849,7 +128849,7 @@ /area/rnd/xenobiology/xenoflora) "tia" = ( /obj/machinery/mineral/processing_unit{ - id = "processing_3"; + id = "horizon_processing_3"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -129180,7 +129180,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ dir = 4; - req_one_access = list(12,26) + req_one_access = list(12) }, /turf/simulated/floor/tiled/full, /area/maintenance/engineering) @@ -132531,7 +132531,9 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/structure/bed/stool/bar/padded/red, +/obj/structure/bed/stool/bar/padded/red{ + dir = 8 + }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, @@ -137848,7 +137850,7 @@ dir = 6 }, /obj/machinery/mineral/processing_unit_console{ - id = "processing_2"; + id = "horizon_processing_2"; pixel_x = 32 }, /obj/machinery/conveyor_switch/oneway{ @@ -140496,7 +140498,7 @@ /area/maintenance/substation/civilian_east) "uSM" = ( /obj/machinery/mineral/stacking_machine{ - id = "stacking_1"; + id = "horizon_stacking_1"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -145984,7 +145986,7 @@ /area/horizon/security/autopsy_laboratory) "vIH" = ( /obj/machinery/mineral/processing_unit{ - id = "processing_2"; + id = "horizon_processing_2"; dir = 8 }, /obj/effect/floor_decal/industrial/warning/full, @@ -151712,7 +151714,7 @@ /obj/structure/lattice/catwalk/indoor/grate, /obj/machinery/door/airlock/maintenance_hatch{ dir = 1; - req_one_access = list(12,26) + req_one_access = list(12) }, /turf/simulated/floor/plating, /area/maintenance/engineering) diff --git a/texts/lore_radio/badlands/72.9_Nowa_Bratislava_Independent_Radio.txt b/texts/lore_radio/badlands/72.9_Nowa_Bratislava_Independent_Radio.txt new file mode 100644 index 00000000000..2ce6a1b0dbc --- /dev/null +++ b/texts/lore_radio/badlands/72.9_Nowa_Bratislava_Independent_Radio.txt @@ -0,0 +1,52 @@ +You’re listening to Nowa Bratislava Independent Radio, bringing you the best songs of Visegrad. +Now, one for all our friends in the Navy. +[Hard rock guitar intro] +[RANDOMNOTE] They keep asking where I’ll be tomorrow, where the Navy sends me! [RANDOMNOTE] +[RANDOMNOTE] I don’t know where, I don’t know how! [RANDOMNOTE] +[RANDOMNOTE] Wherever Szalai sees me! [RANDOMNOTE] +[RANDOMNOTE] Get me out! [RANDOMNOTE] +[RANDOMNOTE] Oh, get me out! [RANDOMNOTE] +[Music] +[RANDOMNOTE] When we were younger, the Navy seemed easy, [RANDOMNOTE] +[RANDOMNOTE] But now patrol without ceasing! [RANDOMNOTE] +[RANDOMNOTE] I need someone, I need a relief, [RANDOMNOTE] +[RANDOMNOTE] To get me out! [RANDOMNOTE] +[RANDOMNOTE] Oh, to get me out! [RANDOMNOTE] +[Music] +That was Get Out by the Fellgevar Underground, listeners! +We’ll be back after a short word from our sponsors. +/Ksssshhhhh.../ +Tired of long waits to travel to the Jewel Worlds for your vacation? +Wait no longer with Idris’ new non-stop-service route from Fellegvar to Silversun! +Experience Idris’ famous hospitality in our famous ‘Star-Gazer’ vessels as you cruise in comfort to Helios City, Silversun. +Astronomical quality, unlimited comfort! Book your flight today! +/Pssssshhhhhhh.../ +And we’re back! Mowie, ads! Have to keep the lights on somehow. +That’s enough from me. Let’s keep the day rainy with some songs! +This one comes to us from sunny, sunny Silversun! Too bright for me, but maybe not for you! +/Kssshhhttt.../ +[Upbeat synth intro] +[RANDOMNOTE] I’ll be your million credit dream girl!~ [RANDOMNOTE] +[RANDOMNOTE] I’ll be your shining star in spaaace!~ [RANDOMNOTE] +[RANDOMNOTE] And we’ll sail together for-eveeeerrr~ [RANDOMNOTE] +[RANDOMNOTE] Across the stars and space! [RANDOMNOTE] +[Synth music] +/Khhhrrrtttt.../ +That was, ah, Million Credit Girl, by the Helios Beach Club. Taktak, popular, but not my taste. +Boze, the listener is always right though. +One more before break! This one is more Visegradi! It’s Raining — yes, that’s the real title! — by Forest Brother Blues. +/Fssshhhh.../ +[Music] +[RANDOMNOTE] Rain-ing rain-ing, standing all alone. [RANDOMNOTE] +[RANDOMNOTE] Waiting all alone, I’m feeling so tired — I want to go home. [RANDOMNOTE] +[RANDOMNOTE] Faces pass me places don’t, getting soaking wet, I want to be home. [RANDOMNOTE] +[RANDOMNOTE] I’m trying my best, I want my rest, but I’m getting cold. [RANDOMNOTE] +[RANDOMNOTE] Rain-ing rain-ing, what a fool I’d be, [RANDOMNOTE] +[RANDOMNOTE] To say that I tried, that I could be free. [RANDOMNOTE] +/Bzzzrrrtt.../ +Want a waterfront view without going to Silversun? Stop by the Lazy Szazlabu coffee shop at 1920 Piłsudski Street today! +We’re just a block away from the Waterfront Station stop of the monorail’s green line. +/Ksshhh.../ +Serve our Alliance, see the Spur. Join the Solarian Navy today. +The Navy made Admiral Szalai into the woman she is today. What’s your hidden potential? +/Kzzzhhhtttt.../ diff --git a/texts/lore_radio/badlands/83.6_Shipping_Radio_Traffic.txt b/texts/lore_radio/badlands/83.6_Shipping_Radio_Traffic.txt new file mode 100644 index 00000000000..f7e4d682c01 --- /dev/null +++ b/texts/lore_radio/badlands/83.6_Shipping_Radio_Traffic.txt @@ -0,0 +1,40 @@ +This is IMV Gar, Helium-3 tanker, requesting docking permission on Visegrad. +IMV Gar this is Visegrad OTC, transmit your registration code. +TEN-EIGHT-EIGHT-FIVE-EIGHT-TWELVE, we are an Imperial-flagged vessel. +IMV Gar you are cleared for dock 72, seven-two. +Proceeding. +/Kzzzzhhhhhttttt.../ +Unidentified vessel, this is SAMV Hussar, you are /ordered/ to turn your transponder on. +Hussar this is ICV Phoenix, we are currently attempting to re-enable our transponder after an ion storm. Will cut engines until you can get our signal. +/Bzzzhhhhtttt.../ +This is the ICV Ganges, operating under Xanu flagging, requesting permission to dock at New Suez. +ICV Ganges this is OTC, your transponder is good. Proceed to dock 18. +We copy. +/Bzzzhhhhrrrrtttt.../ +This is the IIV Musa, on our regular tourist route to Persepolis. Can I have my docking request expedited? +IIV Musa, this is New Suez OTC. Negative, proceed to customs. +A man sighs on one end of the line. +Roger. +/Kzzzhhhhrrrrttttt.../ +Are you seriously broadcasting over open band? +I’m /not/, man! +Yes you are! I can hear myself through the radio! +Look, okay, let me just— +[A banging noise and muffed expletives signal the end of this broadcast!] +/Kkkkzzzzzzzhhhhtttt.../ +This is HCV Castillo, I have engine trouble in your system. Please send a tug. +HCV Castillo this is ENV Algier, we are moving to assist you. +Thank you! We are holding at grid ONE TWO EIGHT FOUR dash THREE THREE SEVEN in the al-Wakwak System. +/Kssssshhhhhttttt.../ +Meow. +Meow, meow. +Meow. +... *rrrrreally*, man? +/Kzzzzzhhhhrrrrtttttt.../ +SAMV Szendzielarz this is HIMS Indomitable, we are off your stern. Request you send a shuttle for prisoner transport. +Indomitable, advise nature of prisoners? +Solarian Navy deserters captured south of your interstellar border. +Wait one. +… +Indomitable this is Szendzielarz, we will approach to receive. Switch to military banding, we will transmit our codes. +/Kssssshhhhhhhtttttttt.../ diff --git a/texts/lore_radio/badlands/86.2_Shipping_Advisory_Channel.txt b/texts/lore_radio/badlands/86.2_Shipping_Advisory_Channel.txt new file mode 100644 index 00000000000..cf8d0ae78c5 --- /dev/null +++ b/texts/lore_radio/badlands/86.2_Shipping_Advisory_Channel.txt @@ -0,0 +1,51 @@ +/Kzzzzhhhrrtttt.../ +Be advised, #3 warp gate in Danube System remains closed for maintenance until November. +Please redirect to #2 gate. +Anticipate waits of up to one day. +The National Defense Force appreciates your patience in this matter. +/Kkkkzzzhhhrrrrtttt.../ +Be aware that all civilian vessels must have their transponders active within Solarian space at all times. +Failure to comply may result in search and seizure by Navy vessels. +Registered owners may be held in custody if contraband is discovered. +Your safety is our priority. +/Bzzzzhhhhrrrttttt.../ +Civilian vessels are advised to be aware of restricted flight space near Imperial Fleet facilities on Zhurong. +Entry into restricted space will result in vessel detention. +Refusal to comply may result in the use of force. +/Ssszzzhhrrrttttt.../ +Please be prepared for mandatory inspection upon docking in New Suez. +Your cooperation is appreciated in this matter. +Report any suspicious activity to the Elyran Navy on band ONE ZERO FIVE POINT EIGHT. +Again, report suspicious activity to the Elyran Navy on band ONE ZERO FIVE POINT EIGHT. +/Bzzzzzzkkkhhhhttttt.../ +The Imperial Fleet ensures safety in the Badlands. We are the sword and shield of the Empire. +Obey all laws while in Imperial space and you will be free to conduct business. +Goddess protects. +/Kssssshhhttttt.../ +All intelligent synthetic equipment is to remain onboard its vessel while in Imperial space. +The only exception is for evacuations. +Contact the nearest customs station for further inquiries. +/Bzzzkkkkhhhhttttt.../ +Dock 52 on New Suez is currently undergoing routine maintenance. Inbound vessels are to proceed to dock 53 unless instructed otherwise by orbital traffic control. +Please control your speed within Suezi airspace. Accidents can be prevented. +Contact the port authority for additional information. +/Ksssshhhhtttttt.../ +Vessels are advised to avoid space above the Imperial Territory of Fisanduh. +This is a restricted zone. +Vessels in this area are subject to search and seizure by the Fleet. +/Bzzzzhhhhttttt.../ +Please report all pirate sightings to the Solarian Navy. +Do not attempt to engage these vessels. +The Navy is authorized to provide bounties for confirmed sightings reported to them. +Utilize band ONE TWO EIGHT POINT SEVEN to report sightings. +Again, utilize band ONE TWO EIGHT POINT SEVEN. +/Ksssshhhhhttt.../ +Free positronic intelligences are to remain aboard their vessels while docked at Solarian ports. +Those who leave their vessels do so at their own risk. +The Solarian Alliance does not recognize synthetic self-ownership. +The Southern Solarian Reconstruction Mandate recommends all vessels operating from nations recognizing synthetic self-ownership advise their crews of this. +/Kzzzhhhhttt.../ +Report any suspicious activity to the nearest Elyran Navy vessel. +Fighting privateering is every vessel’s duty. +Only together can we make a safer Orion Spur. +/Bzzzhhhhtttttt.../ diff --git a/texts/lore_radio/badlands/91.1_Morozian_Classics.txt b/texts/lore_radio/badlands/91.1_Morozian_Classics.txt new file mode 100644 index 00000000000..a3aa9e2d00f --- /dev/null +++ b/texts/lore_radio/badlands/91.1_Morozian_Classics.txt @@ -0,0 +1,67 @@ +You are listening to Morozian Classics, a production of the Imperial Institute of Cultural Affairs, broadcasting from Domelkos. +We broadcast great works of Morozian opera and classical music. +Give thanks to our magnanimous royal family for their patronage of the arts. +May Our Lady of Moroz bless your day, listeners. +/Kzzzzhhhhhtttt.../ +And now, a sample from the opera Daybreak. +[Music swells] +/Alas!/ +/How it grieves me to see our Countess fall a slave to her sickness!/ +/Quickly, young Wei, bring her to me./ +/At once, my Lord!/ +[Music] +/Ah, kindly Lord Erik; whence came the strange vessel you now clasp so eagerly to your breast?/ +/Countess Emiliana; it was brought to you from Domelkos./ +/And who of your men obtained it?/ +/Young Wei! Up, Wei! Come!/ +/My Countess; this elixir shall restore you!/ +/It has been blessed by Our Lady Herself!/ +/Shall it? Or shall it send me to Her embrace?/ +[Music] +/I rot upon my litter.../ +/Let us discard caution and place our faith in Her!/ +[Music swells!] +/What sorcery?! I am restored!/ +/Let us give our thanks, to Her, our Lady of Moroz.../ +/... as we march onwards to conquest!/ +[Applause, cheering] +/Kzzzhhhhhrrrrttttt.../ +Listeners interested in this week’s episode of Life on the Reach may find it on our sister channel, the Imperial Broadcasting Service. +Previous episodes are available on the Imperial Institute of Cultural Affairs’ website, www dot i-i-c-a dot gov dot m-z. +They may also be requested through your local IICA office. +Long live our beloved Empire. +/Bzzzzhhhhhrrrrttttt.../ +Now, a stirring work by the Royal Jadranic Choir. +[Applause] +[RANDOMNOTE] I was glad when they said unto me, [RANDOMNOTE] +[RANDOMNOTE] We shall go into the Kingdom of Moroz. [RANDOMNOTE] +[RANDOMNOTE] Our souls laid bare, [RANDOMNOTE] +[RANDOMNOTE] Shall stand before Her eternal majesty. [RANDOMNOTE] +[RANDOMNOTE] On our Moroz’s green and pleasant scenes. [RANDOMNOTE] +[RANDOMNOTE] And there shall shine; [RANDOMNOTE] +[RANDOMNOTE] Her countenance divine. [RANDOMNOTE] +[RANDOMNOTE] Upon Her mighty realm. [RANDOMNOTE] +[RANDOMNOTE] I shall be true as She is divine, [RANDOMNOTE] +[RANDOMNOTE] In Her name, [RANDOMNOTE] +[RANDOMNOTE] And for Her empire. [RANDOMNOTE] +[Applause] +/Bzzzzhhhhrrrrrttttt.../ +We at Morozian Classics would like to extend a toast to our noble defenders: His Imperial Majesty’s Fleet. +Please enjoy this recording of the Zhurong March, our noble Fleet’s march. +Long live the Emperor! +[Music] +[RANDOMNOTE] Whether at home or abroad; [RANDOMNOTE] +[RANDOMNOTE] On defense or attack; [RANDOMNOTE] +[RANDOMNOTE] Count on Zhurong’s castles! [RANDOMNOTE] +[RANDOMNOTE] Floating fortresses of our Empire’s wrath; [RANDOMNOTE] +[RANDOMNOTE] To guard the Empire’s lands and seas! [RANDOMNOTE] +[RANDOMNOTE] Vessels armed and armored with steel; [RANDOMNOTE] +[RANDOMNOTE] To defeat the Empire’s foes! [RANDOMNOTE] +[RANDOMNOTE] They leave behind wakes of shimmering warp; [RANDOMNOTE] +[RANDOMNOTE] That drift through space like a yastr! [RANDOMNOTE] +[RANDOMNOTE] They fire their guns with deafening booms; [RANDOMNOTE] +[RANDOMNOTE] That make our enemies run and scatter! [RANDOMNOTE] +[RANDOMNOTE] Thousands of miles through the void; [RANDOMNOTE] +[RANDOMNOTE] Zhurong’s castles sail for glory! [RANDOMNOTE] +[Applause, cheering] +/Kzzzzhhhhtttttt.../ diff --git a/tgui/packages/tgui-panel/package.json b/tgui/packages/tgui-panel/package.json index d60ccaaa9b1..f652b74df90 100644 --- a/tgui/packages/tgui-panel/package.json +++ b/tgui/packages/tgui-panel/package.json @@ -4,7 +4,7 @@ "version": "4.3.1", "dependencies": { "common": "workspace:*", - "dompurify": "^2.3.1", + "dompurify": "^2.5.4", "inferno": "^7.4.8", "tgui": "workspace:*", "tgui-dev-server": "workspace:*", diff --git a/tgui/packages/tgui-say/package.json b/tgui/packages/tgui-say/package.json index 354d52ece55..d3969ec648a 100644 --- a/tgui/packages/tgui-say/package.json +++ b/tgui/packages/tgui-say/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "dependencies": { "common": "workspace:*", - "dompurify": "^2.3.1", + "dompurify": "^2.5.4", "inferno": "^7.4.8", "tgui": "workspace:*", "tgui-dev-server": "workspace:*", diff --git a/tgui/packages/tgui/package.json b/tgui/packages/tgui/package.json index 74ef5f34624..11c36177807 100644 --- a/tgui/packages/tgui/package.json +++ b/tgui/packages/tgui/package.json @@ -7,7 +7,7 @@ "@types/marked": "^4.0.8", "common": "workspace:*", "dateformat": "^4.5.1", - "dompurify": "^2.3.1", + "dompurify": "^2.5.4", "highlight.js": "^11.5.1", "inferno": "^7.4.8", "inferno-vnode-flags": "^7.4.8", diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 4ca947f9f39..ec02665d001 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -4165,10 +4165,10 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^2.3.1": - version: 2.3.1 - resolution: "dompurify@npm:2.3.1" - checksum: 9c93cfaa9d1d0b31aa2e926ebfa0621287a63ebb16277c94ad4aad2bcf3ad12e609e699fc10f2eaf69e4698e29a31dec87a69f3c6725ce3f4c7a69ee93123d0c +"dompurify@npm:^2.5.4": + version: 2.5.6 + resolution: "dompurify@npm:2.5.6" + checksum: 1d329fe79928aa86c61539b758bdbc53df58dd90bdc5b74032a2a3a22a436e84178d8f6ad8b022c8f6fac46b26d6e7e553c0cd131a37ed5105bbed6bf87be226 languageName: node linkType: hard @@ -9748,7 +9748,7 @@ resolve@^2.0.0-next.3: resolution: "tgui-panel@workspace:packages/tgui-panel" dependencies: common: "workspace:*" - dompurify: ^2.3.1 + dompurify: ^2.5.4 inferno: ^7.4.8 tgui: "workspace:*" tgui-dev-server: "workspace:*" @@ -9772,7 +9772,7 @@ resolve@^2.0.0-next.3: resolution: "tgui-say@workspace:packages/tgui-say" dependencies: common: "workspace:*" - dompurify: ^2.3.1 + dompurify: ^2.5.4 inferno: ^7.4.8 tgui: "workspace:*" tgui-dev-server: "workspace:*" @@ -9834,7 +9834,7 @@ resolve@^2.0.0-next.3: "@types/marked": ^4.0.8 common: "workspace:*" dateformat: ^4.5.1 - dompurify: ^2.3.1 + dompurify: ^2.5.4 highlight.js: ^11.5.1 inferno: ^7.4.8 inferno-vnode-flags: ^7.4.8 diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh index 1876b0005b2..16c59db6299 100755 --- a/tools/ci/check_grep.sh +++ b/tools/ci/check_grep.sh @@ -132,6 +132,27 @@ else echo "PASS: Only the expected number of raw ref proc calls were found" >> code_error.log fi +# Check that only the expected amount of raw ref proc calls are present +echo "Verifying no raw ref proc calls are being added" >> code_error.log +RAW_REF_BUILTIN_PROCS=`grep -r --include \*.dm -P --regexp='[^\w_]ref[\(\[]' | wc -l` +if [[ $RAW_REF_BUILTIN_PROCS -ne 3 ]]; then + ERROR_COUNT=$(($ERROR_COUNT+1)) + echo "FAIL: Found new raw ref proc calls in code" >> code_error.log +else + echo "PASS: Only the expected number of raw ref proc calls were found" >> code_error.log +fi + +# Check that the text proc is not being used +echo "Verifying no built in text proc calls are being added" >> code_error.log +BUILTIN_TEXT_PROC_CALLS=`grep -r --include \*.dm -P --regexp='[^\w_\/\.]text\('` +if [[ $BUILTIN_TEXT_PROC_CALLS != '' ]]; then + ERROR_COUNT=$(($ERROR_COUNT+1)) + echo "FAIL: Found builtin calls to the text proc, use string interpolation instead:" >> code_error.log + echo $BUILTIN_TEXT_PROC_CALLS >> code_error.log +else + echo "PASS: No builtin calls to the text proc were found" >> code_error.log +fi + echo "Found $ERROR_COUNT errors while performing code check" if [ $ERROR_COUNT -ne 0 ]; then diff --git a/tools/maplint/lints/paper_fluff.yml b/tools/maplint/lints/paper_fluff.yml new file mode 100644 index 00000000000..b95f76bd8be --- /dev/null +++ b/tools/maplint/lints/paper_fluff.yml @@ -0,0 +1,10 @@ +help: "No map made papers, make a subtype in code and write the text there." +=/obj/item/paper/fluff: + banned: true + +#This should be done for all /paper but there's just too much shit +/obj/item/paper/fluff: + banned_variables: + - name + - info + - language