update master
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
diff a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm (rejected hunks)
|
||||
@@ -9,6 +9,7 @@
|
||||
#define INVESTIGATE_SUPERMATTER "supermatter"
|
||||
#define INVESTIGATE_TELESCI "telesci"
|
||||
#define INVESTIGATE_WIRES "wires"
|
||||
+#define INVESTIGATE_HALLUCINATIONS "hallucinations"
|
||||
|
||||
//Individual logging defines
|
||||
#define INDIVIDUAL_ATTACK_LOG "Attack log"
|
||||
@@ -97,8 +97,7 @@
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]CHAT: [text]")
|
||||
|
||||
/proc/log_sql(text)
|
||||
if(config.sql_enabled)
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]SQL: [text]")
|
||||
WRITE_FILE(GLOB.sql_error_log, "\[[time_stamp()]]SQL: [text]")
|
||||
|
||||
//This replaces world.log so it displays both in DD and the file
|
||||
/proc/log_world(text)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
A non null 'fixed_underlay' list var will skip copying the previous turf appearance and always use the list. If the list is
|
||||
not set properly, the underlay will default to regular floor plating.
|
||||
|
||||
To see an example of a diagonal wall, see '/turf/closed/wall/shuttle' and its subtypes.
|
||||
To see an example of a diagonal wall, see '/turf/closed/wall/mineral/titanium' and its subtypes.
|
||||
*/
|
||||
|
||||
//Redefinitions of the diagonal directions so they can be stored in one var without conflicts
|
||||
|
||||
@@ -72,7 +72,9 @@
|
||||
return .
|
||||
|
||||
//Splits the text of a file at seperator and returns them in a list.
|
||||
/world/proc/file2list(filename, seperator="\n")
|
||||
/world/proc/file2list(filename, seperator="\n", trim = TRUE)
|
||||
if (trim)
|
||||
return splittext(trim(file2text(filename)),seperator)
|
||||
return splittext(file2text(filename),seperator)
|
||||
|
||||
//Turns a direction into text
|
||||
@@ -551,4 +553,4 @@
|
||||
return /atom
|
||||
else
|
||||
return /datum
|
||||
return text2path(copytext(string_type, 1, last_slash))
|
||||
return text2path(copytext(string_type, 1, last_slash))
|
||||
|
||||
@@ -6,5 +6,6 @@
|
||||
#define POLL_IGNORE_ALIEN_LARVA "alien_larva"
|
||||
#define POLL_IGNORE_CLOCKWORK_MARAUDER "clockwork_marauder"
|
||||
#define POLL_IGNORE_SYNDICATE "syndicate"
|
||||
#define POLL_IGNORE_HOLOPARASITE "holoparasite"
|
||||
|
||||
GLOBAL_LIST_EMPTY(poll_ignore)
|
||||
|
||||
@@ -12,6 +12,8 @@ GLOBAL_VAR(round_id)
|
||||
GLOBAL_PROTECT(round_id)
|
||||
GLOBAL_VAR(config_error_log)
|
||||
GLOBAL_PROTECT(config_error_log)
|
||||
GLOBAL_VAR(sql_error_log)
|
||||
GLOBAL_PROTECT(sql_error_log)
|
||||
|
||||
GLOBAL_LIST_EMPTY(bombers)
|
||||
GLOBAL_PROTECT(bombers)
|
||||
|
||||
@@ -188,7 +188,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
|
||||
if(form == BLOOD_LIZARD && SOULVALUE < BLOOD_THRESHOLD)
|
||||
regress_humanoid()
|
||||
if(SOULVALUE < 0)
|
||||
remove_spells()
|
||||
give_appropriate_spells()
|
||||
to_chat(owner.current, "<span class='warning'>As punishment for your failures, all of your powers except contract creation have been revoked.")
|
||||
|
||||
/datum/antagonist/devil/proc/regress_humanoid()
|
||||
@@ -408,7 +408,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
|
||||
reviveNumber += LOSS_PER_DEATH
|
||||
update_hud()
|
||||
if(body)
|
||||
body.revive(1,0)
|
||||
body.revive(TRUE, TRUE) //Adminrevive also recovers organs, preventing someone from resurrecting without a heart.
|
||||
if(istype(body.loc, /obj/effect/dummy/slaughter/))
|
||||
body.forceMove(get_turf(body))//Fixes dying while jaunted leaving you permajaunted.
|
||||
if(istype(body, /mob/living/carbon/true_devil))
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
diff a/code/datums/callback.dm b/code/datums/callback.dm (rejected hunks)
|
||||
@@ -100,60 +100,3 @@
|
||||
if (object == GLOBAL_PROC)
|
||||
return call(delegate)(arglist(calling_arguments))
|
||||
return call(object, delegate)(arglist(calling_arguments))
|
||||
-
|
||||
-
|
||||
-/datum/callback_select
|
||||
- var/list/finished
|
||||
- var/pendingcount
|
||||
- var/total
|
||||
-
|
||||
-/datum/callback_select/New(count, savereturns)
|
||||
- total = count
|
||||
- if (savereturns)
|
||||
- finished = new(count)
|
||||
-
|
||||
-
|
||||
-/datum/callback_select/proc/invoke_callback(index, datum/callback/callback, list/callback_args, savereturn = TRUE)
|
||||
- set waitfor = FALSE
|
||||
- if (!callback || !istype(callback))
|
||||
- //This check only exists because the alternative is callback_select would block forever if given invalid data
|
||||
- CRASH("invalid callback passed to invoke_callback")
|
||||
- if (!length(callback_args))
|
||||
- callback_args = list()
|
||||
- pendingcount++
|
||||
- debug_usr("calling callback")
|
||||
- var/rtn = callback.Invoke(arglist(callback_args))
|
||||
- debug_usr("callback returned")
|
||||
- pendingcount--
|
||||
- if (savereturn)
|
||||
- finished[index] = rtn
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-//runs a list of callbacks asynchronously, returning once all of them return.
|
||||
-//callbacks can be repeated.
|
||||
-//callbacks-args is a optional list of argument lists, in the same order as the callbacks,
|
||||
-// the inner lists will be sent to the callbacks when invoked() as additional args.
|
||||
-//can optionly save and return a list of return values, in the same order as the original list of callbacks
|
||||
-//resolution is the number of byond ticks between checks.
|
||||
-/proc/callback_select(list/callbacks, list/callback_args, savereturns = TRUE, resolution = 1)
|
||||
- if (!callbacks)
|
||||
- return
|
||||
- var/count = length(callbacks)
|
||||
- if (!count)
|
||||
- return
|
||||
- if (!callback_args)
|
||||
- callback_args = list()
|
||||
-
|
||||
- callback_args.len = count
|
||||
-
|
||||
- var/datum/callback_select/CS = new(count, savereturns)
|
||||
- for (var/i in 1 to count)
|
||||
- CS.invoke_callback(i, callbacks[i], callback_args[i], savereturns)
|
||||
- debug_usr("starting callbacks: [CS.pendingcount]")
|
||||
- while(CS.pendingcount)
|
||||
- debug_usr("callbacks: [CS.pendingcount]")
|
||||
- sleep(resolution*world.tick_lag)
|
||||
- return CS.finished
|
||||
-
|
||||
@@ -56,7 +56,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
|
||||
1. `GET_COMPONENT(varname, component_type)` OR `GET_COMPONENT_FROM(varname, component_type, src)`
|
||||
* Shorthand for `var/component_type/varname = src.GetComponent(component_type)`
|
||||
1. `/datum/proc/AddComponent(component_type(type), ...) -> datum/component` (public, final)
|
||||
* Creates an instance of `component_type` in the datum and passes `...` to it's `New()` call
|
||||
* Creates an instance of `component_type` in the datum and passes `...` to its `Initialize()` call
|
||||
* Sends the `COMSIG_COMPONENT_ADDED` signal to the datum
|
||||
* All components a datum owns are deleted with the datum
|
||||
* Returns the component that was created. Or the old component in a dupe situation where `COMPONENT_DUPE_UNIQUE` was set
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
-
|
||||
@@ -27,7 +27,7 @@
|
||||
var/config_max_users = 0
|
||||
var/config_min_users = 0
|
||||
var/voteweight = 1
|
||||
|
||||
var/allow_custom_shuttles = "yes"
|
||||
/datum/map_config/New(filename = "data/next_map.json", default_to_box, delete_after)
|
||||
if(default_to_box)
|
||||
return
|
||||
@@ -44,12 +44,12 @@
|
||||
if(!json)
|
||||
log_world("Could not open map_config: [filename]")
|
||||
return
|
||||
|
||||
|
||||
json = file2text(json)
|
||||
if(!json)
|
||||
log_world("map_config is not text: [filename]")
|
||||
return
|
||||
|
||||
|
||||
json = json_decode(json)
|
||||
if(!json)
|
||||
log_world("map_config is not json: [filename]")
|
||||
@@ -58,7 +58,7 @@
|
||||
if(!ValidateJSON(json))
|
||||
log_world("map_config failed to validate for above reason: [filename]")
|
||||
return
|
||||
|
||||
|
||||
config_filename = filename
|
||||
|
||||
map_name = json["map_name"]
|
||||
@@ -66,6 +66,7 @@
|
||||
map_file = json["map_file"]
|
||||
|
||||
minetype = json["minetype"]
|
||||
allow_custom_shuttles = json["allow_custom_shuttles"]
|
||||
|
||||
var/list/jtcl = json["transition_config"]
|
||||
|
||||
@@ -74,7 +75,7 @@
|
||||
|
||||
for(var/I in jtcl)
|
||||
transition_config[TransitionStringToEnum(I)] = TransitionStringToEnum(jtcl[I])
|
||||
|
||||
|
||||
defaulted = FALSE
|
||||
|
||||
#define CHECK_EXISTS(X) if(!istext(json[X])) { log_world(X + "missing from json!"); return; }
|
||||
@@ -84,6 +85,7 @@
|
||||
CHECK_EXISTS("map_file")
|
||||
CHECK_EXISTS("minetype")
|
||||
CHECK_EXISTS("transition_config")
|
||||
CHECK_EXISTS("allow_custom_shuttles")
|
||||
|
||||
var/path = GetFullMapPath(json["map_path"], json["map_file"])
|
||||
if(!fexists(path))
|
||||
@@ -92,7 +94,7 @@
|
||||
|
||||
if(json["transition_config"] != "default")
|
||||
if(!islist(json["transition_config"]))
|
||||
log_world("transition_config is not a list!")
|
||||
log_world("transition_config is not a list!")
|
||||
return
|
||||
|
||||
var/list/jtcl = json["transition_config"]
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/datums/riding.dm b/code/datums/riding.dm (rejected hunks)
|
||||
@@ -419,7 +419,7 @@
|
||||
icon = 'icons/obj/items_and_weapons.dmi.dmi'
|
||||
icon_state = "offhand"
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
- flags = ABSTRACT | DROPDEL | NOBLUDGEON
|
||||
+ flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
var/mob/living/carbon/rider
|
||||
var/mob/living/ridden
|
||||
@@ -1,29 +0,0 @@
|
||||
diff a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm (rejected hunks)
|
||||
@@ -535,15 +535,15 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/crew_quarters/toilet/fitness
|
||||
name = "Fitness Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/female
|
||||
name = "Female Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/male
|
||||
name = "Male Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/restrooms
|
||||
name = "Restrooms"
|
||||
icon_state = "toilet"
|
||||
@@ -1009,7 +1009,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
|
||||
/area/security/execution/transfer
|
||||
name = "Transfer Centre"
|
||||
-
|
||||
+
|
||||
/area/security/execution/education
|
||||
name = "Prisoner Education Chamber"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/area/areas.dm b/code/game/area/areas.dm (rejected hunks)
|
||||
@@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
// Ambience goes down here -- make sure to list each area seperately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch
|
||||
if(L.client && !L.client.ambience_playing && L.client.prefs.toggles & SOUND_SHIP_AMBIENCE)
|
||||
L.client.ambience_playing = 1
|
||||
- L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ)
|
||||
+ SEND_SOUND(L, sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ))
|
||||
|
||||
if(!(L.client && (L.client.prefs.toggles & SOUND_AMBIENCE)))
|
||||
return //General ambience check is below the ship ambience so one can play without the other
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm (rejected hunks)
|
||||
@@ -175,7 +175,7 @@
|
||||
SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg'))
|
||||
to_chat(blobber, "<b>You are a blobbernaut!</b>")
|
||||
to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.")
|
||||
- to_chat(blobber, "You can communicate with other blobbernauts and GLOB.overminds via <b>:b</b>")
|
||||
+ to_chat(blobber, "You can communicate with other blobbernauts and overminds via <b>:b</b>")
|
||||
to_chat(blobber, "Your overmind's blob reagent is: <b><font color=\"[blob_reagent_datum.color]\">[blob_reagent_datum.name]</b></font>!")
|
||||
to_chat(blobber, "The <b><font color=\"[blob_reagent_datum.color]\">[blob_reagent_datum.name]</b></font> reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
|
||||
if(blobber)
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm (rejected hunks)
|
||||
@@ -395,7 +395,7 @@
|
||||
/obj/item/shield/changeling
|
||||
name = "shield-like mass"
|
||||
desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield."
|
||||
- flags = ABSTRACT | NODROP | DROPDEL
|
||||
+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "ling_shield"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
@@ -443,7 +443,7 @@
|
||||
name = "flesh mass"
|
||||
icon_state = "lingspacesuit"
|
||||
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
|
||||
- flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
+ flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all.
|
||||
|
||||
@@ -27,9 +27,6 @@
|
||||
/turf/closed/wall/mineral/cult/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //no metal
|
||||
return list("operation_time" = 80, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = SOUTH)
|
||||
|
||||
/turf/closed/wall/shuttle/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //two sheets of metal
|
||||
return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH)
|
||||
|
||||
/turf/closed/wall/r_wall/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm (rejected hunks)
|
||||
@@ -6,6 +6,8 @@
|
||||
icon = 'icons/obj/clockwork_objects.dmi'
|
||||
icon_state = "ratvarian_spear"
|
||||
item_state = "ratvarian_spear"
|
||||
+ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi'
|
||||
+ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
|
||||
force = 15 //Extra damage is dealt to targets in attack()
|
||||
throwforce = 25
|
||||
armour_penetration = 10
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm (rejected hunks)
|
||||
@@ -31,7 +31,7 @@
|
||||
/obj/item/melee/cultblade/ghost
|
||||
name = "eldritch sword"
|
||||
force = 19 //can't break normal airlocks
|
||||
- flags = NODROP|DROPDEL
|
||||
+ flags_1 = NODROP_1|DROPDEL_1
|
||||
|
||||
/obj/item/melee/cultblade/pickup(mob/living/user)
|
||||
..()
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm (rejected hunks)
|
||||
@@ -343,7 +343,7 @@
|
||||
desc = "Shackles that bind the wrists with sinister magic."
|
||||
trashtype = /obj/item/restraints/handcuffs/energy/used
|
||||
origin_tech = "materials=2;magnets=5"
|
||||
- flags = DROPDEL
|
||||
+ flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s shackles shatter in a discharge of dark magic!</span>", \
|
||||
@@ -431,7 +431,7 @@
|
||||
/datum/gang_item/equipment/dominator/purchase(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool)
|
||||
var/area/usrarea = get_area(user.loc)
|
||||
var/usrturf = get_turf(user.loc)
|
||||
if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION)
|
||||
if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION || !usrarea.valid_territory)
|
||||
to_chat(user, "<span class='warning'>You can only use this on the station!</span>")
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm (rejected hunks)
|
||||
@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/used
|
||||
desc = "energy discharge"
|
||||
- flags = DROPDEL
|
||||
+ flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm (rejected hunks)
|
||||
@@ -23,7 +23,7 @@
|
||||
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
|
||||
if(V)
|
||||
console.AddVest(V)
|
||||
- V.flags |= NODROP
|
||||
+ V.flags_1 |= NODROP_1
|
||||
|
||||
var/obj/item/storage/backpack/B = locate() in H
|
||||
if(B)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm (rejected hunks)
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
|
||||
/obj/structure/frame/computer/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(state == 4)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
@@ -456,7 +456,8 @@
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=announce'>Make a Captain's Announcement</A> \]"
|
||||
if(config.cross_allowed)
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=crossserver'>Send a message to an allied station</A> \]"
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=purchase_menu'>Purchase Shuttle</A> \]"
|
||||
if(SSmapping.config.allow_custom_shuttles == "yes")
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=purchase_menu'>Purchase Shuttle</A> \]"
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=changeseclevel'>Change Alert Level</A> \]"
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=emergencyaccess'>Emergency Maintenance Access</A> \]"
|
||||
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=nukerequest'>Request Nuclear Authentication Codes</A> \]"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm (rejected hunks)
|
||||
@@ -163,7 +163,7 @@
|
||||
else if(istype(I, /obj/item/weldingtool))
|
||||
try_to_weld(I, user)
|
||||
return 1
|
||||
- else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM)
|
||||
+ else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM)
|
||||
try_to_activate_door(user)
|
||||
return 1
|
||||
return ..()
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm (rejected hunks)
|
||||
@@ -11,7 +11,7 @@
|
||||
integrity_failure = 0
|
||||
armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100)
|
||||
visible = FALSE
|
||||
- flags = ON_BORDER
|
||||
+ flags_1 = ON_BORDER_1
|
||||
opacity = 0
|
||||
CanAtmosPass = ATMOS_PASS_PROC
|
||||
var/obj/item/electronics/airlock/electronics = null
|
||||
@@ -221,7 +221,7 @@
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
- if(!(flags&NODECONSTRUCT))
|
||||
+ if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(density || operating)
|
||||
to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>")
|
||||
@@ -1,16 +0,0 @@
|
||||
diff a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm (rejected hunks)
|
||||
@@ -239,12 +239,12 @@
|
||||
alarm()
|
||||
|
||||
/obj/machinery/firealarm/obj_break(damage_flag)
|
||||
- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/firealarm/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 1)
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/I = new /obj/item/electronics/firealarm(loc)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm (rejected hunks)
|
||||
@@ -15,7 +15,7 @@
|
||||
/obj/item/reagent_containers/glass)
|
||||
|
||||
/obj/machinery/iv_drip/Initialize()
|
||||
- ..()
|
||||
+ . = ..()
|
||||
update_icon()
|
||||
drip_containers = typecacheof(drip_containers)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm (rejected hunks)
|
||||
@@ -10,7 +10,7 @@
|
||||
icon = 'icons/obj/machines/limbgrower.dmi'
|
||||
icon_state = "limbgrower_idleoff"
|
||||
density = TRUE
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 10
|
||||
@@ -1,18 +0,0 @@
|
||||
diff a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm (rejected hunks)
|
||||
@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
|
||||
|
||||
/obj/machinery/newscaster/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 2)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/newscaster/obj_break()
|
||||
- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
stat |= BROKEN
|
||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||
update_icon()
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm (rejected hunks)
|
||||
@@ -664,7 +659,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets
|
||||
- ..()
|
||||
+ . = ..()
|
||||
if(!mapload)
|
||||
return
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm (rejected hunks)
|
||||
@@ -187,7 +187,7 @@
|
||||
name = "dangerous old crusher"
|
||||
emagged = TRUE
|
||||
crush_damage = 120
|
||||
- flags = NODECONSTRUCT
|
||||
+ flags_1 = NODECONSTRUCT_1
|
||||
|
||||
/obj/item/paper/guides/recycler
|
||||
name = "paper - 'garbage duty instructions'"
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm (rejected hunks)
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/structure/emergency_shield/Initialize()
|
||||
. = ..()
|
||||
- setDir(pick(1,2,3,4))
|
||||
+ setDir(pick(GLOB.cardinals))
|
||||
air_update_turf(1)
|
||||
|
||||
/obj/structure/emergency_shield/Destroy()
|
||||
@@ -12,7 +12,7 @@
|
||||
use_power = NO_POWER_USE
|
||||
idle_power_usage = 0
|
||||
machinetype = 6
|
||||
var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel
|
||||
var/intercept = FALSE // if TRUE, broadcasts all (non-syndie) messages to syndicate channel
|
||||
|
||||
/obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal)
|
||||
|
||||
@@ -33,12 +33,21 @@
|
||||
sleep(signal.data["slow"]) // simulate the network lag if necessary
|
||||
|
||||
/* ###### Broadcast a message using signal.data ###### */
|
||||
if(signal.frequency == GLOB.SYND_FREQ) // if syndicate broadcast, just
|
||||
Broadcast_Message(signal.data["mob"],
|
||||
signal.data["vmask"],
|
||||
signal.data["radio"], signal.data["message"],
|
||||
signal.data["name"], signal.data["job"],
|
||||
signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"],
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"],
|
||||
signal.data["language"])
|
||||
|
||||
/* ###### Copy all non-syndie communications to the Syndicate Frequency ###### */
|
||||
if(intercept && signal.frequency != GLOB.SYND_FREQ)
|
||||
Broadcast_Message(signal.data["mob"],
|
||||
signal.data["vmask"],
|
||||
signal.data["radio"], signal.data["message"],
|
||||
signal.data["name"], signal.data["job"],
|
||||
signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"],
|
||||
signal.data["realname"],, signal.data["compression"], list(0, z), GLOB.SYND_FREQ, signal.data["spans"],
|
||||
signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"],
|
||||
signal.data["language"])
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm (rejected hunks)
|
||||
@@ -130,7 +130,7 @@
|
||||
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
|
||||
|
||||
var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
|
||||
- chainsaw.flags |= NODROP
|
||||
+ chainsaw.flags_1 |= NODROP_1
|
||||
victim.drop_all_held_items()
|
||||
victim.put_in_hands(chainsaw)
|
||||
chainsaw.attack_self(victim)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/items.dm b/code/game/objects/items.dm (rejected hunks)
|
||||
@@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
hitsound = "swing_hit"
|
||||
|
||||
/obj/item/Destroy()
|
||||
- flags &= ~DROPDEL //prevent reqdels
|
||||
+ flags_1 &= ~DROPDEL_1 //prevent reqdels
|
||||
if(ismob(loc))
|
||||
var/mob/m = loc
|
||||
m.temporarilyRemoveItemFromInventory(src, TRUE)
|
||||
@@ -426,7 +426,10 @@
|
||||
signal.frequency = freqnum // Quick frequency set
|
||||
for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
|
||||
R.receive_signal(signal)
|
||||
|
||||
|
||||
// Allinone can act as receivers. (Unless of course whoever coded this last time forgot to put it in somewhere!)
|
||||
for(var/obj/machinery/telecomms/allinone/R in GLOB.telecomms_list)
|
||||
R.receive_signal(signal)
|
||||
|
||||
spawn(20) // wait a little...
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
active = TRUE
|
||||
var/turf/boomturf = get_turf(imp_in)
|
||||
var/area/A = get_area(boomturf)
|
||||
message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)].")
|
||||
message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)], with cause of [cause].")
|
||||
//If the delay is short, just blow up already jeez
|
||||
if(delay <= 7)
|
||||
explosion(src,heavy,medium,weak,weak, flame_range = weak)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm (rejected hunks)
|
||||
@@ -151,7 +151,7 @@
|
||||
/obj/item/borg/charger
|
||||
name = "power connector"
|
||||
icon_state = "charger_draw"
|
||||
- flags = NOBLUDGEON
|
||||
+ flags_1 = NOBLUDGEON_1
|
||||
var/mode = "draw"
|
||||
var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port))
|
||||
var/static/list/charge_items = typecacheof(list(/obj/item/stock_parts/cell, /obj/item/gun/energy))
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm (rejected hunks)
|
||||
@@ -9,7 +9,7 @@
|
||||
desc = "Wrap packages with this festive paper to make gifts."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "wrap_paper"
|
||||
- flags = NOBLUDGEON
|
||||
+ flags_1 = NOBLUDGEON_1
|
||||
amount = 25
|
||||
max_amount = 25
|
||||
resistance_flags = FLAMMABLE
|
||||
@@ -30,7 +30,7 @@
|
||||
desc = "You can use this to wrap items in."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "deliveryPaper"
|
||||
- flags = NOBLUDGEON
|
||||
+ flags_1 = NOBLUDGEON_1
|
||||
amount = 25
|
||||
max_amount = 25
|
||||
resistance_flags = FLAMMABLE
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
diff a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm (rejected hunks)
|
||||
@@ -732,7 +732,6 @@
|
||||
/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist.
|
||||
name = "ingredients box"
|
||||
illustration = "donk_kit"
|
||||
- icon_state = null
|
||||
|
||||
/obj/item/storage/box/ingredients/Initialize()
|
||||
..()
|
||||
@@ -1,12 +0,0 @@
|
||||
diff a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm (rejected hunks)
|
||||
@@ -244,8 +244,8 @@
|
||||
// Copied from /obj/item/melee/transforming/energy/sword/attackby
|
||||
/obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params)
|
||||
if(istype(W, /obj/item/toy/sword))
|
||||
- if((W.flags & NODROP) || (flags & NODROP))
|
||||
- to_chat(user, "<span class='warning'>\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!</span>")
|
||||
+ if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1))
|
||||
+ to_chat(user, "<span class='warning'>\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.</span>")
|
||||
@@ -18,8 +18,11 @@
|
||||
return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS)
|
||||
|
||||
/obj/item/banhammer/attack(mob/M, mob/user)
|
||||
to_chat(M, "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>")
|
||||
to_chat(user, "<font color='red'>You have <b>BANNED</b> [M]</font>")
|
||||
if(user.zone_selected == "head")
|
||||
M.visible_message("<span class='danger'>[user] are stroking the head of [M] with a bangammer</span>", "<span class='userdanger'>[user] are stroking the head with a bangammer</span>", "you hear a bangammer stroking a head");
|
||||
|
||||
else
|
||||
M.visible_message("<span class='danger'>[M] has been banned FOR NO REISIN by [user]</span>", "<span class='userdanger'>You have been banned FOR NO REISIN by [user]</span>", "you hear a banhammer banning someone")
|
||||
playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much
|
||||
|
||||
/obj/item/sord
|
||||
@@ -586,4 +589,4 @@
|
||||
/obj/item/proc/can_trigger_gun(mob/living/user)
|
||||
if(!user.can_use_guns(src))
|
||||
return FALSE
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm (rejected hunks)
|
||||
@@ -31,7 +31,7 @@
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/bed/attackby(obj/item/W, mob/user, params)
|
||||
- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT))
|
||||
+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct(TRUE)
|
||||
else
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm (rejected hunks)
|
||||
@@ -41,7 +41,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/chair/attackby(obj/item/W, mob/user, params)
|
||||
- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT))
|
||||
+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct()
|
||||
else if(istype(W, /obj/item/assembly/shock_kit))
|
||||
@@ -1,16 +0,0 @@
|
||||
diff a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm (rejected hunks)
|
||||
@@ -193,12 +193,12 @@
|
||||
return open(user)
|
||||
|
||||
/obj/structure/closet/deconstruct(disassembled = TRUE)
|
||||
- if(ispath(material_drop) && material_drop_amount && !(flags & NODECONSTRUCT))
|
||||
+ if(ispath(material_drop) && material_drop_amount && !(flags_1 & NODECONSTRUCT_1))
|
||||
new material_drop(loc, material_drop_amount)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/closet/obj_break(damage_flag)
|
||||
- if(!broken && !(flags & NODECONSTRUCT))
|
||||
+ if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
bust_open()
|
||||
|
||||
/obj/structure/closet/attackby(obj/item/W, mob/user, params)
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm (rejected hunks)
|
||||
@@ -50,7 +50,7 @@
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
/obj/structure/displaycase/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
dump()
|
||||
if(!disassembled)
|
||||
new /obj/item/shard( src.loc )
|
||||
@@ -58,7 +58,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/displaycase/obj_break(damage_flag)
|
||||
- if(!broken && !(flags & NODECONSTRUCT))
|
||||
+ if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
density = FALSE
|
||||
broken = 1
|
||||
new /obj/item/shard( src.loc )
|
||||
@@ -303,7 +303,7 @@
|
||||
mineral = /obj/item/stack/sheet/mineral/titanium
|
||||
walltype = /turf/closed/wall/mineral/titanium
|
||||
smooth = SMOOTH_MORE
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine, /obj/structure/shuttle/engine/heater, )
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
|
||||
|
||||
/obj/structure/falsewall/plastitanium
|
||||
name = "wall"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm (rejected hunks)
|
||||
@@ -91,7 +91,7 @@
|
||||
new /obj/item/shard(loc)
|
||||
|
||||
/obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(fireaxe && loc)
|
||||
fireaxe.forceMove(loc)
|
||||
fireaxe = null
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm (rejected hunks)
|
||||
@@ -13,7 +13,7 @@
|
||||
var/log_amount = 10
|
||||
|
||||
/obj/structure/flora/tree/attackby(obj/item/W, mob/user, params)
|
||||
- if(!cut && log_amount && (!(NODECONSTRUCT in flags)))
|
||||
+ if(!cut && log_amount && (!(flags_1 & NODECONSTRUCT_1)))
|
||||
if(W.sharpness && W.force > 0)
|
||||
if(W.hitsound)
|
||||
playsound(get_turf(src), W.hitsound, 100, 0, 0)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm (rejected hunks)
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "cart"
|
||||
anchored = FALSE
|
||||
density = TRUE
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
//copypaste sorry
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
var/obj/item/storage/bag/trash/mybag = null
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm (rejected hunks)
|
||||
@@ -177,7 +177,7 @@
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "offhand"
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
- flags = ABSTRACT | NODROP | NOBLUDGEON | DROPDEL
|
||||
+ flags_1 = ABSTRACT_1 | NODROP_1 | NOBLUDGEON_1 | DROPDEL_1
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
var/obj/machinery/manned_turret/turret
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
diff a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm (rejected hunks)
|
||||
@@ -47,14 +47,14 @@
|
||||
..()
|
||||
|
||||
/obj/structure/mirror/obj_break(damage_flag)
|
||||
- if(!broken && !(flags & NODECONSTRUCT))
|
||||
+ if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
icon_state = "mirror_broke"
|
||||
playsound(src, "shatter", 70, 1)
|
||||
desc = "Oh no, seven years of bad luck!"
|
||||
broken = 1
|
||||
|
||||
/obj/structure/mirror/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!disassembled)
|
||||
new /obj/item/shard( src.loc )
|
||||
qdel(src)
|
||||
@@ -1,11 +0,0 @@
|
||||
diff a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm (rejected hunks)
|
||||
@@ -326,6 +326,6 @@
|
||||
icon_state = "direction_bridge"
|
||||
|
||||
/obj/structure/sign/logo
|
||||
- name = "station logo"
|
||||
- desc = "A sign: SPACE STATION 13."
|
||||
+ name = "nanotrasen logo"
|
||||
+ desc = "The Nanotrasen corporate logo."
|
||||
icon_state = "nanotrasen_sign1"
|
||||
\ No newline at end of file
|
||||
@@ -1,37 +0,0 @@
|
||||
diff a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm (rejected hunks)
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
|
||||
/obj/structure/table/attackby(obj/item/I, mob/user, params)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/screwdriver) && deconstruction_ready)
|
||||
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
@@ -429,7 +429,7 @@
|
||||
|
||||
|
||||
/obj/structure/rack/attackby(obj/item/W, mob/user, params)
|
||||
- if (istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT))
|
||||
+ if (istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct(TRUE)
|
||||
return
|
||||
@@ -466,7 +466,7 @@
|
||||
*/
|
||||
|
||||
/obj/structure/rack/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags&NODECONSTRUCT))
|
||||
+ if(!(flags_1&NODECONSTRUCT_1))
|
||||
density = FALSE
|
||||
var/obj/item/rack_parts/newparts = new(loc)
|
||||
transfer_fingerprints_to(newparts)
|
||||
@@ -482,7 +482,7 @@
|
||||
desc = "Parts of a rack."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "rack_parts"
|
||||
- flags = CONDUCT
|
||||
+ flags_1 = CONDUCT_1
|
||||
materials = list(MAT_METAL=2000)
|
||||
var/building = FALSE
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm (rejected hunks)
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
if(istype(O, /obj/item/reagent_containers))
|
||||
var/obj/item/reagent_containers/RG = O
|
||||
- if(RG.container_type & OPENCONTAINER)
|
||||
+ if(RG.container_type & OPENCONTAINER_1)
|
||||
if(!RG.reagents.holder_full())
|
||||
RG.reagents.add_reagent("[dispensedreagent]", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
|
||||
to_chat(user, "<span class='notice'>You fill [RG] from [src].</span>")
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm (rejected hunks)
|
||||
@@ -188,7 +188,7 @@
|
||||
to_chat(user, "<span class='warning'>[src] is already in good condition!</span>")
|
||||
return
|
||||
|
||||
- if(!(flags&NODECONSTRUCT))
|
||||
+ if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
playsound(src, I.usesound, 75, 1)
|
||||
if(reinf)
|
||||
@@ -1,9 +0,0 @@
|
||||
diff a/code/game/sound.dm b/code/game/sound.dm (rejected hunks)
|
||||
@@ -145,7 +145,3 @@
|
||||
if ("can_open")
|
||||
soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg')
|
||||
return soundin
|
||||
-
|
||||
-/proc/playsound_global(file, repeat = 0, wait, channel, volume)
|
||||
- for(var/V in GLOB.clients)
|
||||
- V << sound(file, repeat, wait, channel, volume)
|
||||
@@ -24,16 +24,30 @@
|
||||
|
||||
//The code below here isn't exactly optimal, but because of the individual decals that each area uses it's still applicable.
|
||||
|
||||
//high dirt - 1/3
|
||||
if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/ruin/space))
|
||||
//high dirt - 1/3 chance.
|
||||
var/static/list/high_dirt_areas = typecacheof(list(/area/science/test_area,
|
||||
/area/mine/production,
|
||||
/area/mine/living_quarters,
|
||||
/area/mine/north_outpost,
|
||||
/area/mine/west_outpost,
|
||||
/area/ruin/space))
|
||||
if(is_type_in_typecache(A, high_dirt_areas))
|
||||
new /obj/effect/decal/cleanable/dirt(src) //vanilla, but it works
|
||||
return
|
||||
|
||||
|
||||
if(prob(80)) //mid dirt - 1/15
|
||||
return
|
||||
|
||||
if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/ruin/space/derelict/assembly_line) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction))
|
||||
//Blood, sweat, and oil. Oh, and dirt.
|
||||
//Construction zones. Blood, sweat, and oil. Oh, and dirt.
|
||||
var/static/list/engine_dirt_areas = typecacheof(list(/area/engine,
|
||||
/area/crew_quarters/heads/chief,
|
||||
/area/ruin/space/derelict/assembly_line,
|
||||
/area/science/robotics,
|
||||
/area/maintenance,
|
||||
/area/construction,
|
||||
/area/survivalpod))
|
||||
if(is_type_in_typecache(A, engine_dirt_areas))
|
||||
if(prob(3))
|
||||
new /obj/effect/decal/cleanable/blood/old(src)
|
||||
else
|
||||
@@ -46,7 +60,10 @@
|
||||
new /obj/effect/decal/cleanable/dirt(src)
|
||||
return
|
||||
|
||||
if(istype(A, /area/crew_quarters/toilet))
|
||||
//Bathrooms. Blood, vomit, and shavings in the sinks.
|
||||
var/static/list/bathroom_dirt_areas = typecacheof(list( /area/crew_quarters/toilet,
|
||||
/area/awaymission/research/interior/bathroom))
|
||||
if(is_type_in_typecache(A, bathroom_dirt_areas))
|
||||
if(prob(40))
|
||||
if(prob(90))
|
||||
new /obj/effect/decal/cleanable/vomit/old(src)
|
||||
@@ -54,15 +71,23 @@
|
||||
new /obj/effect/decal/cleanable/blood/old(src)
|
||||
return
|
||||
|
||||
if(istype(A, /area/quartermaster))
|
||||
//Hangars and pods covered in oil.
|
||||
var/static/list/oily_areas = typecacheof(list(/area/quartermaster))
|
||||
if(is_type_in_typecache(A, oily_areas))
|
||||
if(prob(25))
|
||||
new /obj/effect/decal/cleanable/oil(src)
|
||||
return
|
||||
|
||||
|
||||
if(prob(75)) //low dirt - 1/60
|
||||
return
|
||||
|
||||
if(istype(A, /area/ai_monitored/turret_protected) || istype(A, /area/prison) || istype(A, /area/security) || istype(A, /area/crew_quarters/heads/hos)) //chance of incident
|
||||
//Areas where gibs will be present. Robusting probably happened some time ago.
|
||||
var/static/list/gib_covered_areas = typecacheof(list(/area/ai_monitored/turret_protected,
|
||||
/area/prison,
|
||||
/area/security,
|
||||
/area/crew_quarters/heads/hos))
|
||||
if(is_type_in_typecache(A, gib_covered_areas))
|
||||
if(prob(20))
|
||||
if(prob(5))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/old(src)
|
||||
@@ -70,8 +95,10 @@
|
||||
new /obj/effect/decal/cleanable/blood/old(src)
|
||||
return
|
||||
|
||||
|
||||
if(istype(A, /area/crew_quarters/kitchen) || istype(A, /area/crew_quarters/cafeteria)) //Kitchen messes
|
||||
//Kitchen areas. Broken eggs, flour, spilled milk (no crying allowed.)
|
||||
var/static/list/kitchen_dirt_areas = typecacheof(list(/area/crew_quarters/kitchen,
|
||||
/area/crew_quarters/cafeteria))
|
||||
if(is_type_in_typecache(A, kitchen_dirt_areas))
|
||||
if(prob(60))
|
||||
if(prob(50))
|
||||
new /obj/effect/decal/cleanable/egg_smudge(src)
|
||||
@@ -79,7 +106,10 @@
|
||||
new /obj/effect/decal/cleanable/flour(src)
|
||||
return
|
||||
|
||||
if(istype(A, /area/medical) || istype(A, /area/crew_quarters/heads/cmo)) //Kept clean, but chance of blood
|
||||
//Medical areas. Mostly clean by space-OSHA standards, but has some blood and oil spread about.
|
||||
var/static/list/medical_dirt_areas = typecacheof(list(/area/medical,
|
||||
/area/crew_quarters/heads/cmo))
|
||||
if(is_type_in_typecache(A, medical_dirt_areas))
|
||||
if(prob(66))
|
||||
if(prob(5))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/old(src)
|
||||
@@ -92,7 +122,10 @@
|
||||
new /obj/effect/decal/cleanable/vomit/old(src)
|
||||
return
|
||||
|
||||
if(istype(A, /area/science) || istype(A, /area/crew_quarters/heads/hor))
|
||||
//Science messes. Mostly green glowy stuff -WHICH YOU SHOULD NOT INJEST-.
|
||||
var/static/list/science_dirt_areas = typecacheof(list(/area/science,
|
||||
/area/crew_quarters/heads/hor))
|
||||
if(is_type_in_typecache(A, medical_dirt_areas))
|
||||
if(prob(20))
|
||||
new /obj/effect/decal/cleanable/greenglow(src) //this cleans itself up but it might startle you when you see it.
|
||||
return
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm (rejected hunks)
|
||||
@@ -66,7 +66,7 @@
|
||||
icon_state = "grass"
|
||||
floor_tile = /obj/item/stack/tile/grass
|
||||
broken_states = list("sand")
|
||||
- flags = NONE
|
||||
+ flags_1 = NONE
|
||||
var/ore_type = /obj/item/ore/glass
|
||||
var/turfverb = "uproot"
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1
|
||||
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
||||
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
|
||||
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal
|
||||
smooth = SMOOTH_MORE
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
garbage
|
||||
+2
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
SetupExternalRSC()
|
||||
|
||||
GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl
|
||||
GLOB.config_error_log = GLOB.sql_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl
|
||||
|
||||
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log")
|
||||
GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log")
|
||||
GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html")
|
||||
GLOB.sql_error_log = file("[GLOB.log_directory]/sql.log")
|
||||
WRITE_FILE(GLOB.world_game_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")
|
||||
WRITE_FILE(GLOB.world_attack_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")
|
||||
WRITE_FILE(GLOB.world_runtime_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
garbage
|
||||
@@ -24,7 +24,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
QDEL_NULL(cstatclick)
|
||||
QDEL_NULL(rstatclick)
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/admin_help_tickets/proc/TicketByID(id)
|
||||
var/list/lists = list(active_tickets, closed_tickets, resolved_tickets)
|
||||
for(var/I in lists)
|
||||
@@ -185,8 +185,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
|
||||
TimeoutVerb()
|
||||
|
||||
var/parsed_message = keywords_lookup(msg)
|
||||
|
||||
statclick = new(null, src)
|
||||
_interactions = list()
|
||||
|
||||
@@ -194,7 +192,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
AddInteraction("<font color='blue'>[key_name_admin(usr)] PM'd [LinkedReplyName()]</font>")
|
||||
message_admins("<font color='blue'>Ticket [TicketHref("#[id]")] created</font>")
|
||||
else
|
||||
MessageNoRecipient(msg, parsed_message)
|
||||
MessageNoRecipient(msg)
|
||||
|
||||
//send it to irc if nobody is on and tell us how many were on
|
||||
var/admin_number_present = send2irc_adminless_only(initiator_ckey, "Ticket #[id]: [name]")
|
||||
@@ -249,13 +247,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
|
||||
//message from the initiator without a target, all admins will see this
|
||||
//won't bug irc
|
||||
/datum/admin_help/proc/MessageNoRecipient(msg, parsed_msg)
|
||||
/datum/admin_help/proc/MessageNoRecipient(msg)
|
||||
var/ref_src = "\ref[src]"
|
||||
//Message to be sent to all admins
|
||||
var/admin_msg = "<span class='adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [parsed_msg]</span>"
|
||||
var/admin_msg = "<span class='adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [keywords_lookup(msg)]</span>"
|
||||
|
||||
AddInteraction("<font color='red'>[LinkedReplyName(ref_src)]: [msg]</font>")
|
||||
|
||||
|
||||
//send this msg to all admins
|
||||
for(var/client/X in GLOB.admins)
|
||||
if(X.prefs.toggles & SOUND_ADMINHELP)
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
freq = pick(0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1.1, 1.2, 1.4, 1.6, 2.0, 2.5)
|
||||
to_chat(src, "You feel the Honkmother messing with your song...")
|
||||
|
||||
var/vol = input(usr, "What volume would you like the sound to play at?",, 100) as null|num
|
||||
if(!vol)
|
||||
return
|
||||
vol = Clamp(vol, 1, 100)
|
||||
|
||||
var/sound/admin_sound = new()
|
||||
admin_sound.file = S
|
||||
admin_sound.priority = 250
|
||||
@@ -17,7 +22,8 @@
|
||||
admin_sound.wait = 1
|
||||
admin_sound.repeat = 0
|
||||
admin_sound.status = SOUND_STREAM
|
||||
|
||||
admin_sound.volume = vol
|
||||
|
||||
var/res = alert(usr, "Show the title of this song to the players?",, "No", "Yes", "Cancel")
|
||||
switch(res)
|
||||
if("Yes")
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm (rejected hunks)
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
- flags = CONDUCT
|
||||
+ flags_1 = CONDUCT_1
|
||||
var/status = FALSE //0 - not readied //1 - bomb finished with welder
|
||||
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
|
||||
var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm (rejected hunks)
|
||||
@@ -734,7 +734,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/airalarm/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 2)
|
||||
var/obj/item/I = new /obj/item/electronics/airalarm(loc)
|
||||
if(!disassembled)
|
||||
@@ -1,18 +0,0 @@
|
||||
diff a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm (rejected hunks)
|
||||
@@ -473,14 +473,14 @@
|
||||
W.registered_name = H.real_name
|
||||
W.update_label(W.registered_name, W.assignment)
|
||||
|
||||
- // The shielded hardsuit is already NODROP
|
||||
+ // The shielded hardsuit is already NODROP_1
|
||||
no_drops += H.get_item_by_slot(slot_gloves)
|
||||
no_drops += H.get_item_by_slot(slot_shoes)
|
||||
no_drops += H.get_item_by_slot(slot_w_uniform)
|
||||
no_drops += H.get_item_by_slot(slot_ears)
|
||||
for(var/i in no_drops)
|
||||
var/obj/item/I = i
|
||||
- I.flags |= NODROP
|
||||
+ I.flags_1 |= NODROP_1
|
||||
|
||||
/datum/outfit/ctf/instagib
|
||||
r_hand = /obj/item/gun/energy/laser/instakill
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm (rejected hunks)
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
var/reason = ""
|
||||
if(requestonly)
|
||||
- reason = stripped_input("Reason:", name, "") as text|null
|
||||
+ reason = stripped_input("Reason:", name, "")
|
||||
if(isnull(reason) || ..())
|
||||
return
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm (rejected hunks)
|
||||
@@ -73,7 +73,7 @@
|
||||
return
|
||||
|
||||
//Logs all hrefs, except chat pings
|
||||
- if(href_list["proc"] != "ping")
|
||||
+ if(!(href_list["_src_"] == "chat" && href_list["proc"] == "ping" && LAZYLEN(href_list) == 2))
|
||||
WRITE_FILE(GLOB.world_href_log, "<small>[time_stamp(show_ds = TRUE)] [src] (usr:[usr])</small> || [hsrc ? "[hsrc] " : ""][href]<br>")
|
||||
|
||||
// Admin PM
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm (rejected hunks)
|
||||
@@ -193,7 +193,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
return 0
|
||||
S.cd = "/"
|
||||
|
||||
- WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date)
|
||||
+ WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date
|
||||
|
||||
//general preferences
|
||||
WRITE_FILE(S["ooccolor"], ooccolor)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm (rejected hunks)
|
||||
@@ -384,7 +384,7 @@
|
||||
item_color = "black"
|
||||
desc = "A pair of black shoes."
|
||||
permeability_coefficient = 0.05
|
||||
- flags = NOSLIP
|
||||
+ flags_1 = NOSLIP_1
|
||||
origin_tech = "syndicate=2"
|
||||
resistance_flags = 0
|
||||
pockets = /obj/item/storage/internal/pocket/shoes
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm (rejected hunks)
|
||||
@@ -494,7 +494,7 @@ BLIND // can't see anything
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.02
|
||||
- flags = STOPSPRESSUREDMAGE | THICKMATERIAL
|
||||
+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals)
|
||||
slowdown = 1
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm (rejected hunks)
|
||||
@@ -331,7 +331,7 @@
|
||||
vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS
|
||||
darkness_view = 8
|
||||
scan_reagents = 1
|
||||
- flags = NODROP
|
||||
+ flags_1 = NODROP_1
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
||||
|
||||
/obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
@@ -1,9 +0,0 @@
|
||||
diff a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm (rejected hunks)
|
||||
@@ -4,7 +4,6 @@
|
||||
/obj/item/clothing/head/collectable
|
||||
name = "collectable hat"
|
||||
desc = "A rare collectable hat."
|
||||
- dynamic_hair_suffix = "+detective"
|
||||
|
||||
|
||||
/obj/item/clothing/head/collectable/petehat
|
||||
@@ -1,16 +0,0 @@
|
||||
diff a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm (rejected hunks)
|
||||
@@ -250,7 +250,7 @@
|
||||
name = "jester hat"
|
||||
desc = "A hat with bells, to add some merriness to the suit."
|
||||
icon_state = "jester_hat"
|
||||
- dynamic_hair_suffix = "null"
|
||||
+ dynamic_hair_suffix = ""
|
||||
|
||||
/obj/item/clothing/head/rice_hat
|
||||
name = "rice hat"
|
||||
@@ -302,4 +302,4 @@
|
||||
name = "jester hat"
|
||||
desc = "A hat with bells, to add some merriness to the suit."
|
||||
icon_state = "jester_hat2"
|
||||
- dynamic_hair_suffix = "null"
|
||||
+ dynamic_hair_suffix = ""
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm (rejected hunks)
|
||||
@@ -348,7 +348,7 @@
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen)
|
||||
- flags = THICKMATERIAL
|
||||
+ flags_1 = THICKMATERIAL_1
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm (rejected hunks)
|
||||
@@ -18,7 +18,7 @@
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
- flags = THICKMATERIAL
|
||||
+ flags_1 = THICKMATERIAL_1
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
slowdown = 1
|
||||
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray)
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm (rejected hunks)
|
||||
@@ -21,7 +21,7 @@
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/extinguisher, /obj/item/crowbar)
|
||||
slowdown = 1
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
- flags = STOPSPRESSUREDMAGE | THICKMATERIAL
|
||||
+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
@@ -124,7 +124,7 @@
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.50
|
||||
- flags = THICKMATERIAL
|
||||
+ flags_1 = THICKMATERIAL_1
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter)
|
||||
slowdown = 1.5
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm (rejected hunks)
|
||||
@@ -96,7 +96,7 @@
|
||||
else
|
||||
if(istype(I, /obj/item/reagent_containers))
|
||||
var/obj/item/reagent_containers/RC = I
|
||||
- if(RC.container_type & OPENCONTAINER)
|
||||
+ if(RC.container_type & OPENCONTAINER_1)
|
||||
for(var/datum/reagent/A in RC.reagents.reagent_list)
|
||||
.[A.type] += A.volume
|
||||
.[I.type] += 1
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm (rejected hunks)
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = null
|
||||
alpha = 0
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
- flags = ABSTRACT|ON_BORDER
|
||||
+ flags_1 = ABSTRACT_1|ON_BORDER_1
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
var/datum/proximity_monitor/advanced/parent = null
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm (rejected hunks)
|
||||
@@ -357,7 +357,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user)
|
||||
if(!is_open_container())
|
||||
to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
playsound(src, "can_open", 50, 1)
|
||||
spillable = TRUE
|
||||
return
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm (rejected hunks)
|
||||
@@ -4,7 +4,7 @@
|
||||
/obj/item/reagent_containers/food
|
||||
possible_transfer_amounts = list()
|
||||
volume = 50 //Sets the default container amount for all food items.
|
||||
- container_type = INJECTABLE
|
||||
+ container_type = INJECTABLE_1
|
||||
resistance_flags = FLAMMABLE
|
||||
var/foodtype = NONE
|
||||
var/last_check_time
|
||||
@@ -225,6 +225,11 @@
|
||||
tastes = list("meat" = 1, "wheat" = 1)
|
||||
foodtype = GRAIN
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/gorilla
|
||||
name = "gorilla meat"
|
||||
desc = "Much meatier than monkey meat."
|
||||
list_reagents = list("nutriment" = 5, "vitamin" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/rawbacon
|
||||
name = "raw piece of bacon"
|
||||
desc = "A raw piece of bacon."
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm (rejected hunks)
|
||||
@@ -15,7 +15,7 @@ insert ascii eagle on american flag background here
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
var/obj/item/frying = null //What's being fried RIGHT NOW?
|
||||
var/cook_time = 0
|
||||
var/static/list/deepfry_blacklisted_items = typecacheof(list(
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm (rejected hunks)
|
||||
@@ -15,7 +15,7 @@
|
||||
var/portion = 10
|
||||
var/selected_drink
|
||||
var/list/stored_food = list()
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
var/obj/item/reagent_containers/mixer
|
||||
|
||||
/obj/machinery/food_cart/Initialize()
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm (rejected hunks)
|
||||
@@ -14,7 +14,7 @@
|
||||
anchored = FALSE
|
||||
use_power = NO_POWER_USE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
max_integrity = 300
|
||||
var/list/product_types = list()
|
||||
var/dispense_flavour = ICECREAM_VANILLA
|
||||
@@ -1,137 +0,0 @@
|
||||
diff a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm (rejected hunks)
|
||||
@@ -166,135 +166,6 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
|
||||
|
||||
//Global chat procs
|
||||
|
||||
-//Converts an icon to base64. Operates by putting the icon in the iconCache savefile,
|
||||
-// exporting it as text, and then parsing the base64 from that.
|
||||
-// (This relies on byond automatically storing icons in savefiles as base64)
|
||||
-/proc/icon2base64(icon/icon, iconKey = "misc")
|
||||
- if (!isicon(icon))
|
||||
- return FALSE
|
||||
- WRITE_FILE(GLOB.iconCache[iconKey], icon)
|
||||
- var/iconData = GLOB.iconCache.ExportText(iconKey)
|
||||
- var/list/partial = splittext(iconData, "{")
|
||||
- return replacetext(copytext(partial[2], 3, -5), "\n", "")
|
||||
-
|
||||
-/proc/icon2html(thing, target, icon_state, dir, frame = 1, moving)
|
||||
- if (!thing)
|
||||
- return
|
||||
- var/static/datum/callback/CB = CALLBACK(GLOBAL_PROC, .proc/send_asset)
|
||||
-
|
||||
- var/key
|
||||
- var/icon/I = thing
|
||||
- if (!target)
|
||||
- return
|
||||
- if (target == world)
|
||||
- target = GLOB.clients
|
||||
-
|
||||
- var/list/targets
|
||||
- if (!islist(target))
|
||||
- targets = list(target)
|
||||
- else
|
||||
- targets = target
|
||||
- if (!targets.len)
|
||||
- return
|
||||
- debug_usr("start")
|
||||
- if (!isicon(I))
|
||||
- debug_usr("not icon")
|
||||
- if (isfile(thing)) //special snowflake
|
||||
- debug_usr("file")
|
||||
- var/name = sanitize_filename("bicon.[thing]")
|
||||
- debug_usr("file:[name]")
|
||||
- register_asset(name, thing)
|
||||
- var/list/callbacks
|
||||
- var/list/callback_args = list()
|
||||
- for (var/thing2 in targets)
|
||||
- callbacks += CB
|
||||
- callback_args[++callback_args.len] = list(thing2, name, TRUE)
|
||||
- callback_select(callbacks, callback_args, savereturns = FALSE)
|
||||
- return "<img class='icon misc' src=\"[url_encode(name)]\">"
|
||||
- debug_usr("not file")
|
||||
- var/atom/A
|
||||
- if (isnull(dir))
|
||||
- dir = A.dir
|
||||
- if (isnull(icon_state))
|
||||
- icon_state = A.icon_state
|
||||
- I = A.icon
|
||||
- if (ishuman(thing)) // Shitty workaround for a BYOND issue.
|
||||
- debug_usr("human")
|
||||
- var/icon/temp = I
|
||||
- I = icon()
|
||||
- I.Insert(temp, dir = SOUTH)
|
||||
- dir = SOUTH
|
||||
- else
|
||||
- debug_usr("icon")
|
||||
- if (isnull(dir))
|
||||
- dir = SOUTH
|
||||
- if (isnull(icon_state))
|
||||
- icon_state = ""
|
||||
-
|
||||
- I = icon(I, icon_state, dir, frame)
|
||||
-
|
||||
- key = sanitize_filename("bicon.[md5(icon2base64(I))].[icon_state].[dir].png")
|
||||
- debug_usr("key:[key]")
|
||||
- register_asset(key, I)
|
||||
- var/list/callbacks = list()
|
||||
- var/list/callback_args = list()
|
||||
- for (var/thing2 in targets)
|
||||
- callbacks += CB
|
||||
- callback_args[++callback_args.len] = list(thing2, key, TRUE)
|
||||
-
|
||||
- callback_select(callbacks, callback_args, savereturns = FALSE)
|
||||
- return "<img class='icon [icon_state]' src=\"[url_encode(key)]\">"
|
||||
-
|
||||
-/proc/icon2base64html(thing)
|
||||
- if (!thing)
|
||||
- return
|
||||
- var/static/list/bicon_cache = list()
|
||||
- if (isicon(thing))
|
||||
- var/icon/I = thing
|
||||
- var/icon_base64 = icon2base64(I)
|
||||
-
|
||||
- if (I.Height() > world.icon_size || I.Width() > world.icon_size)
|
||||
- var/icon_md5 = md5(icon_base64)
|
||||
- debug_admins(icon_md5)
|
||||
- icon_base64 = bicon_cache[icon_md5]
|
||||
- if (!icon_base64) // Doesn't exist yet, make it.
|
||||
- I = icon(I)
|
||||
- I.Scale(world.icon_size, world.icon_size)
|
||||
- bicon_cache[icon_md5] = icon_base64 = icon2base64(I)
|
||||
-
|
||||
-
|
||||
- return "<img class='icon misc' src='data:image/png;base64,[icon_base64]'>"
|
||||
-
|
||||
- // Either an atom or somebody fucked up and is gonna get a runtime, which I'm fine with.
|
||||
- var/atom/A = thing
|
||||
- var/key = "[istype(A.icon, /icon) ? "\ref[A.icon]" : A.icon]:[A.icon_state]"
|
||||
-
|
||||
-
|
||||
- if (!bicon_cache[key]) // Doesn't exist, make it.
|
||||
- var/icon/I = icon(A.icon, A.icon_state, SOUTH, 1)
|
||||
- if (ishuman(thing)) // Shitty workaround for a BYOND issue.
|
||||
- var/icon/temp = I
|
||||
- I = icon()
|
||||
- I.Insert(temp, dir = SOUTH)
|
||||
-
|
||||
- if (I.Height() > world.icon_size || I.Width() > world.icon_size)
|
||||
- I.Scale(world.icon_size, world.icon_size)
|
||||
-
|
||||
- bicon_cache[key] = icon2base64(I, key)
|
||||
-
|
||||
- return "<img class='icon [A.icon_state]' src='data:image/png;base64,[bicon_cache[key]]'>"
|
||||
-
|
||||
-//Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs.
|
||||
-/proc/costly_icon2html(thing, target)
|
||||
- if (!thing)
|
||||
- return
|
||||
-
|
||||
- if (isicon(thing))
|
||||
- return icon2html(thing, target)
|
||||
-
|
||||
- var/icon/I = getFlatIcon(thing)
|
||||
- return icon2html(I, target)
|
||||
-
|
||||
/proc/to_chat(target, message)
|
||||
if(!target)
|
||||
return
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm (rejected hunks)
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/item/pickaxe/drill/cyborg
|
||||
name = "cyborg mining drill"
|
||||
desc = "An integrated electric mining drill."
|
||||
- flags = NODROP
|
||||
+ flags_1 = NODROP_1
|
||||
|
||||
/obj/item/pickaxe/drill/diamonddrill
|
||||
name = "diamond-tipped mining drill"
|
||||
@@ -72,7 +72,7 @@
|
||||
desc = "Yours is the drill that will pierce the heavens!"
|
||||
|
||||
/obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version!
|
||||
- name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics.
|
||||
+ name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics.
|
||||
icon_state = "diamonddrill"
|
||||
digspeed = 7
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
|
||||
requires_power = FALSE
|
||||
has_gravity = TRUE
|
||||
valid_territory = FALSE
|
||||
|
||||
//Survival Capsule
|
||||
/obj/item/survivalcapsule
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
diff a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm (rejected hunks)
|
||||
@@ -167,7 +167,7 @@
|
||||
pixel_y = -32
|
||||
|
||||
/obj/item/device/gps/computer/attackby(obj/item/W, mob/user, params)
|
||||
- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT))
|
||||
+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
user.visible_message("<span class='warning'>[user] disassembles the gps.</span>", \
|
||||
"<span class='notice'>You start to disassemble the gps...</span>", "You hear clanking and banging noises.")
|
||||
@@ -198,7 +198,7 @@
|
||||
light_color = "#DDFFD3"
|
||||
max_n_of_items = 10
|
||||
pixel_y = -4
|
||||
- flags = NODECONSTRUCT
|
||||
+ flags_1 = NODECONSTRUCT_1
|
||||
var/empty = FALSE
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/Initialize(mapload)
|
||||
@@ -237,13 +237,13 @@
|
||||
CanAtmosPass = ATMOS_PASS_NO
|
||||
|
||||
/obj/structure/fans/deconstruct()
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(buildstacktype)
|
||||
new buildstacktype(loc,buildstackamount)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/fans/attackby(obj/item/W, mob/user, params)
|
||||
- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT))
|
||||
+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
user.visible_message("<span class='warning'>[user] disassembles the fan.</span>", \
|
||||
"<span class='notice'>You start to disassemble the fan...</span>", "You hear clanking and banging noises.")
|
||||
@@ -592,6 +592,7 @@
|
||||
extra = 1
|
||||
extra2 = 1
|
||||
icon = 'icons/mob/mam_body_markings.dmi'
|
||||
gender_specific = 1
|
||||
|
||||
/datum/sprite_accessory/mam_body_markings/xeno
|
||||
name = "Xeno"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm (rejected hunks)
|
||||
@@ -167,7 +167,7 @@
|
||||
if(iscarbon(src))
|
||||
var/mob/living/carbon/C = src
|
||||
for(var/obj/item/bloodcrawl/BC in C)
|
||||
- BC.flags = null
|
||||
+ BC.flags_1 = null
|
||||
qdel(BC)
|
||||
qdel(src.holder)
|
||||
src.holder = null
|
||||
@@ -1,19 +0,0 @@
|
||||
diff a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm (rejected hunks)
|
||||
@@ -213,7 +213,7 @@
|
||||
if(href_list["internal"])
|
||||
var/slot = text2num(href_list["internal"])
|
||||
var/obj/item/ITEM = get_item_by_slot(slot)
|
||||
- if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS))
|
||||
+ if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1))
|
||||
visible_message("<span class='danger'>[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].</span>", \
|
||||
"<span class='userdanger'>[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].</span>")
|
||||
if(do_mob(usr, src, POCKET_STRIP_DELAY))
|
||||
@@ -221,7 +221,7 @@
|
||||
internal = null
|
||||
update_internals_hud_icon(0)
|
||||
else if(ITEM && istype(ITEM, /obj/item/tank))
|
||||
- if((wear_mask && (wear_mask.flags & MASKINTERNALS)) || getorganslot("breathing_tube"))
|
||||
+ if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot("breathing_tube"))
|
||||
internal = ITEM
|
||||
update_internals_hud_icon(1)
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
diff a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm (rejected hunks)
|
||||
@@ -141,42 +141,42 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
|
||||
dat += "<table>"
|
||||
for(var/i in 1 to held_items.len)
|
||||
var/obj/item/I = get_item_for_held_index(i)
|
||||
- dat += "<tr><td><B>[get_held_index_name(i)]:</B></td><td><A href='?src=\ref[src];item=[slot_hands];hand_index=[i]'>[(I && !(I.flags & ABSTRACT)) ? I : "<font color=grey>Empty</font>"]</a></td></tr>"
|
||||
+ dat += "<tr><td><B>[get_held_index_name(i)]:</B></td><td><A href='?src=\ref[src];item=[slot_hands];hand_index=[i]'>[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "<font color=grey>Empty</font>"]</a></td></tr>"
|
||||
dat += "<tr><td> </td></tr>"
|
||||
|
||||
- dat += "<tr><td><B>Back:</B></td><td><A href='?src=\ref[src];item=[slot_back]'>[(back && !(back.flags&ABSTRACT)) ? back : "<font color=grey>Empty</font>"]</A>"
|
||||
+ dat += "<tr><td><B>Back:</B></td><td><A href='?src=\ref[src];item=[slot_back]'>[(back && !(back.flags_1&ABSTRACT_1)) ? back : "<font color=grey>Empty</font>"]</A>"
|
||||
if(has_breathable_mask && istype(back, /obj/item/tank))
|
||||
dat += " <A href='?src=\ref[src];internal=[slot_back]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
|
||||
|
||||
dat += "</td></tr><tr><td> </td></tr>"
|
||||
|
||||
- dat += "<tr><td><B>Head:</B></td><td><A href='?src=\ref[src];item=[slot_head]'>[(head && !(head.flags&ABSTRACT)) ? head : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Head:</B></td><td><A href='?src=\ref[src];item=[slot_head]'>[(head && !(head.flags_1&ABSTRACT_1)) ? head : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_wear_mask in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Mask:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Mask:</B></td><td><A href='?src=\ref[src];item=[slot_wear_mask]'>[(wear_mask && !(wear_mask.flags&ABSTRACT)) ? wear_mask : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Mask:</B></td><td><A href='?src=\ref[src];item=[slot_wear_mask]'>[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_neck in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Neck:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Neck:</B></td><td><A href='?src=\ref[src];item=[slot_neck]'>[(wear_neck && !(wear_neck.flags&ABSTRACT)) ? wear_neck : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Neck:</B></td><td><A href='?src=\ref[src];item=[slot_neck]'>[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_glasses in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Eyes:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Eyes:</B></td><td><A href='?src=\ref[src];item=[slot_glasses]'>[(glasses && !(glasses.flags&ABSTRACT)) ? glasses : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Eyes:</B></td><td><A href='?src=\ref[src];item=[slot_glasses]'>[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_ears in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Ears:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Ears:</B></td><td><A href='?src=\ref[src];item=[slot_ears]'>[(ears && !(ears.flags&ABSTRACT)) ? ears : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Ears:</B></td><td><A href='?src=\ref[src];item=[slot_ears]'>[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
dat += "<tr><td> </td></tr>"
|
||||
|
||||
- dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=\ref[src];item=[slot_wear_suit]'>[(wear_suit && !(wear_suit.flags&ABSTRACT)) ? wear_suit : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=\ref[src];item=[slot_wear_suit]'>[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
if(wear_suit)
|
||||
- dat += "<tr><td> ↳<B>Suit Storage:</B></td><td><A href='?src=\ref[src];item=[slot_s_store]'>[(s_store && !(s_store.flags&ABSTRACT)) ? s_store : "<font color=grey>Empty</font>"]</A>"
|
||||
+ dat += "<tr><td> ↳<B>Suit Storage:</B></td><td><A href='?src=\ref[src];item=[slot_s_store]'>[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "<font color=grey>Empty</font>"]</A>"
|
||||
if(has_breathable_mask && istype(s_store, /obj/item/tank))
|
||||
dat += " <A href='?src=\ref[src];internal=[slot_s_store]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
|
||||
dat += "</td></tr>"
|
||||
@@ -186,30 +186,30 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
|
||||
if(slot_shoes in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Shoes:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Shoes:</B></td><td><A href='?src=\ref[src];item=[slot_shoes]'>[(shoes && !(shoes.flags&ABSTRACT)) ? shoes : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Shoes:</B></td><td><A href='?src=\ref[src];item=[slot_shoes]'>[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_gloves in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Gloves:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Gloves:</B></td><td><A href='?src=\ref[src];item=[slot_gloves]'>[(gloves && !(gloves.flags&ABSTRACT)) ? gloves : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Gloves:</B></td><td><A href='?src=\ref[src];item=[slot_gloves]'>[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(slot_w_uniform in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Uniform:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td><B>Uniform:</B></td><td><A href='?src=\ref[src];item=[slot_w_uniform]'>[(w_uniform && !(w_uniform.flags&ABSTRACT)) ? w_uniform : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td><B>Uniform:</B></td><td><A href='?src=\ref[src];item=[slot_w_uniform]'>[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured))
|
||||
dat += "<tr><td><font color=grey> ↳<B>Pockets:</B></font></td></tr>"
|
||||
dat += "<tr><td><font color=grey> ↳<B>ID:</B></font></td></tr>"
|
||||
dat += "<tr><td><font color=grey> ↳<B>Belt:</B></font></td></tr>"
|
||||
else
|
||||
- dat += "<tr><td> ↳<B>Belt:</B></td><td><A href='?src=\ref[src];item=[slot_belt]'>[(belt && !(belt.flags&ABSTRACT)) ? belt : "<font color=grey>Empty</font>"]</A>"
|
||||
+ dat += "<tr><td> ↳<B>Belt:</B></td><td><A href='?src=\ref[src];item=[slot_belt]'>[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "<font color=grey>Empty</font>"]</A>"
|
||||
if(has_breathable_mask && istype(belt, /obj/item/tank))
|
||||
dat += " <A href='?src=\ref[src];internal=[slot_belt]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
|
||||
dat += "</td></tr>"
|
||||
- dat += "<tr><td> ↳<B>Pockets:</B></td><td><A href='?src=\ref[src];pockets=left'>[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "<font color=grey>Left (Empty)</font>"]</A>"
|
||||
- dat += " <A href='?src=\ref[src];pockets=right'>[(r_store && !(r_store.flags&ABSTRACT)) ? "Right (Full)" : "<font color=grey>Right (Empty)</font>"]</A></td></tr>"
|
||||
- dat += "<tr><td> ↳<B>ID:</B></td><td><A href='?src=\ref[src];item=[slot_wear_id]'>[(wear_id && !(wear_id.flags&ABSTRACT)) ? wear_id : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td> ↳<B>Pockets:</B></td><td><A href='?src=\ref[src];pockets=left'>[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "<font color=grey>Left (Empty)</font>"]</A>"
|
||||
+ dat += " <A href='?src=\ref[src];pockets=right'>[(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "<font color=grey>Right (Empty)</font>"]</A></td></tr>"
|
||||
+ dat += "<tr><td> ↳<B>ID:</B></td><td><A href='?src=\ref[src];item=[slot_wear_id]'>[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
if(handcuffed)
|
||||
dat += "<tr><td><B>Handcuffed:</B> <A href='?src=\ref[src];item=[slot_handcuffed]'>Remove</A></td></tr>"
|
||||
@@ -1,4 +1,4 @@
|
||||
datum/species/mammal
|
||||
/datum/species/mammal
|
||||
name = "Mammal"
|
||||
id = "mammal"
|
||||
default_color = "4B4B4B"
|
||||
@@ -229,7 +229,7 @@ datum/species/mammal
|
||||
whitelist = list("rubyflamewing")
|
||||
blacklisted = 0
|
||||
|
||||
datum/species/guilmon
|
||||
/datum/species/guilmon
|
||||
name = "Guilmon"
|
||||
id = "guilmon"
|
||||
default_color = "4B4B4B"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user