Bump dreamchecker version to 1.4 (#8711)

This commit is contained in:
Matt Atlas
2020-04-28 15:41:32 +02:00
committed by GitHub
parent a0938b98c7
commit 4b97822bb4
88 changed files with 153 additions and 293 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ env:
FLYWAY_BUILD="5.2.4"
NODE_VERSION=10
RUST_G_VERSION="0.4.1"
SPACEMAN_DMM_VERSION="suite-1.1"
SPACEMAN_DMM_VERSION="suite-1.4"
matrix:
- USE_MAP=aurora
- USE_MAP=runtime
+1 -2
View File
@@ -140,7 +140,6 @@ proc/RoundHealth(health)
return "health0"
else
return "health-100"
return "0"
/*
Proc for attack log creation, because really why not
@@ -211,4 +210,4 @@ Proc for attack log creation, because really why not
// Returns true if the mob was removed form the dead list
/mob/proc/remove_from_dead_mob_list()
return dead_mob_list.Remove(src)
return dead_mob_list.Remove(src)
-5
View File
@@ -12,11 +12,9 @@
if (!( istext(HTMLstring) ))
CRASH("Given non-text argument!")
return
else
if (length(HTMLstring) != 7)
CRASH("Given non-HTML argument!")
return
var/textr = copytext(HTMLstring, 2, 4)
var/textg = copytext(HTMLstring, 4, 6)
var/textb = copytext(HTMLstring, 6, 8)
@@ -33,7 +31,6 @@
if (length(textb) < 2)
textr = text("0[]", textb)
return text("#[][][]", textr, textg, textb)
return
//Returns the middle-most value
/proc/dd_range(var/low, var/high, var/num)
@@ -859,8 +856,6 @@ proc/is_hot(obj/item/W as obj)
else
return 0
return 0
//Whether or not the given item counts as sharp in terms of dealing damage
/proc/is_sharp(obj/O as obj)
if (!O) return 0
@@ -243,8 +243,6 @@ var/datum/controller/subsystem/battle_monsters/SSbattlemonsters
else
return GetSpecies(card_defense_type," mixed with ")
return "unknown"
/datum/controller/subsystem/battle_monsters/proc/GetSpecies(card_defense_type, var/and_text = " and ")
//This list looks odd to prevent runtime errors related to out of bounds indexes
@@ -520,4 +518,4 @@ var/datum/controller/subsystem/battle_monsters/SSbattlemonsters
#undef BATTLE_MONSTERS_GEN_ROOT
#undef BATTLE_MONSTERS_GEN_SUFFIX
#undef BATTLE_MONSTERS_GEN_TRAP
#undef BATTLE_MONSTERS_GEN_SPELL
#undef BATTLE_MONSTERS_GEN_SPELL
+1 -1
View File
@@ -138,7 +138,7 @@ var/datum/controller/subsystem/chemistry/SSchemistry
cc.result = chemconfig[chemical]["result"]
cc.result_amount = chemconfig[chemical]["resultamount"]
cc.required_reagents = chemconfig[chemical]["required_reagents"]
if(!cc.result in chemical_reagents)
if(!(cc.result in chemical_reagents))
log_debug("SSchemistry: Warning: Invalid result [cc.result] in [cc.name] reactions list.")
qdel(cc)
+1 -1
View File
@@ -56,7 +56,7 @@
var/datum/job/job = new J()
if(!job || job.faction != faction)
continue
if(!job.faction in faction)
if(!(job.faction in faction))
continue
occupations += job
name_occupations[job.title] = job
+3 -3
View File
@@ -40,7 +40,7 @@
if(href_list["download"])
var/datum/paiCandidate/candidate = locate(href_list["candidate"])
var/obj/item/device/paicard/card = locate(href_list["device"])
if (!candidate in pai_candidates)
if (!(candidate in pai_candidates))
return
if(card.pai)
@@ -105,7 +105,7 @@
return FALSE
candidate.ready = FALSE
return TRUE
/datum/controller/subsystem/pai/proc/recruitWindow(mob/M as mob)
var/datum/paiCandidate/candidate
@@ -144,7 +144,7 @@
nstate = interactive_state)
ui.metadata = list("candidate" = candidate)
ui.header = "minimal"
return ui.open()
/datum/controller/subsystem/pai/proc/findPAI(obj/item/device/paicard/p, mob/user)
+5 -5
View File
@@ -160,7 +160,7 @@ var/datum/controller/subsystem/timer/SStimer
if (timer.timeToRun < head_offset)
bucket_resolution = null //force bucket recreation
CRASH("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
crash_with("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
if (timer.callBack && !timer.spent)
timer.callBack.InvokeAsync()
@@ -172,7 +172,7 @@ var/datum/controller/subsystem/timer/SStimer
if (timer.timeToRun < head_offset + TICKS2DS(practical_offset-1))
bucket_resolution = null //force bucket recreation
CRASH("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
crash_with("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
if (timer.callBack && !timer.spent)
timer.callBack.InvokeAsync()
spent += timer
@@ -335,7 +335,7 @@ var/datum/controller/subsystem/timer/SStimer
timeToRun = REALTIMEOFDAY + wait
else
timeToRun = world.time + wait
if (flags & TIMER_UNIQUE)
SStimer.hashes[hash] = src
if (flags & TIMER_STOPPABLE)
@@ -525,7 +525,7 @@ var/datum/controller/subsystem/timer/SStimer
var/datum/timedevent/timer = null
if (!istext(id) && istype(id, /datum/timedevent))
timer = id
else
else
timer = SStimer.timer_id_dict[id]
if(!timer)
@@ -543,4 +543,4 @@ var/datum/controller/subsystem/timer/SStimer
#undef BUCKET_LEN
#undef BUCKET_POS
#undef TIMER_ID_MAX
#undef TIMER_MAX
#undef TIMER_MAX
+1 -1
View File
@@ -257,8 +257,8 @@ var/datum/controller/subsystem/vote/SSvote
to_chat(initiator_key, "The current alert status is too high to call for a crew transfer!")
return 0
if(SSticker.current_state <= 2)
return 0
to_chat(initiator_key, "The crew transfer button has been disabled!")
return 0
question = "End the shift?"
AddChoice("Initiate Crew Transfer")
AddChoice("Continue The Round")
-1
View File
@@ -185,7 +185,6 @@ var/list/advance_cures = list(
if(!symptoms || !symptoms.len)
CRASH("We did not have any symptoms before generating properties.")
return
for(var/datum/symptom/S in symptoms)
@@ -18,7 +18,7 @@
/datum/expansion/multitool/items/cable/on_topic(href, href_list, user)
var/obj/item/stack/cable_coil/cable_coil = holder
if(href_list["select_color"] && href_list["select_color"] in possible_cable_coil_colours)
if(href_list["select_color"] && (href_list["select_color"] in possible_cable_coil_colours))
cable_coil.set_cable_color(href_list["select_color"], user)
return MT_REFRESH
-1
View File
@@ -32,7 +32,6 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown"
src.holder = holder
if(!istype(holder, holder_type))
CRASH("Our holder is null/the wrong type!")
return
// Generate new wires
if(random)
+1 -1
View File
@@ -11,7 +11,7 @@
return FALSE
if(config.protect_roles_from_antagonist && (player.assigned_role in protected_jobs))
return FALSE
if(player.current.client.prefs && player.current.client.prefs.species in restricted_species)
if(player.current.client.prefs && (player.current.client.prefs.species in restricted_species))
return FALSE
if(player.current && (player.current.status_flags & NO_ANTAG))
return FALSE
+1 -1
View File
@@ -27,7 +27,7 @@
* Is the gene active in this mob's DNA?
*/
/datum/dna/gene/proc/is_active(var/mob/M)
return M.active_genes && type in M.active_genes
return M.active_genes && (type in M.active_genes)
// Return 1 if we can activate.
// HANDLE MUTCHK_FORCED HERE!
@@ -13,5 +13,4 @@
to_chat(user, span("warning", "The world beyond opens to your eyes."))
user.see_invisible = SEE_INVISIBLE_CULT
user.seer = TRUE
return
return fizzle(user)
return fizzle(user)
+1 -1
View File
@@ -16,7 +16,7 @@
if(iscarbon(L))
var/mob/living/carbon/C = L
flick("e_flash", C.flash)
if(C.stuttering < 1 && !HULK in C.mutations)
if(C.stuttering < 1 && !(HULK in C.mutations))
C.stuttering = 1
if(is_rune)
C.Weaken(3)
+2 -2
View File
@@ -351,14 +351,14 @@ var/global/list/additional_antag_types = list()
var/mob/living/carbon/human/H = M
if(M.stat != DEAD)
surviving_humans++
if(M.loc && M.loc.loc && M.loc.loc.type in escape_locations)
if(M.loc && M.loc.loc && (M.loc.loc.type in escape_locations))
escaped_humans++
if (isipc(H))
var/datum/species/machine/machine = H.species
machine.update_tag(H, H.client)
if(M.stat != DEAD)
surviving_total++
if(M.loc && M.loc.loc && M.loc.loc.type in escape_locations)
if(M.loc && M.loc.loc && (M.loc.loc.type in escape_locations))
escaped_total++
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape/centcom)
@@ -130,8 +130,8 @@
return
if (reporttype == "Template")
sanitizeSafe(alert(usr, "Would you like it to appear as if CCIAMS made the report?",,"Yes","No"))
if ("Yes")
var/resp = alert(usr, "Would you like it to appear as if CCIAMS made the report?",,"Yes","No")
if (resp == "Yes")
reportbody += "\n\n- CCIAMS, [commstation_name()]"
else
-4
View File
@@ -351,16 +351,12 @@
for(var/obj/machinery/camera/C in oview(4, M))
if(C.can_use()) // check if camera disabled
return C
break
return null
/proc/near_range_camera(var/mob/M)
for(var/obj/machinery/camera/C in range(4, M))
if(C.can_use()) // check if camera disabled
return C
break
return null
/obj/machinery/camera/proc/weld(var/obj/item/weldingtool/WT, var/mob/user)
@@ -23,7 +23,6 @@ var/syndicate_elite_shuttle_timeleft = 0
/proc/syndicate_elite_process()
var/area/syndicate_mothership/control/syndicate_ship = locate()//To find announcer. This area should exist for this proc to work.
var/area/syndicate_mothership/elite_squad/elite_squad = locate()//Where is the specops area located?
var/mob/living/silicon/decoy/announcer = locate() in syndicate_ship//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
@@ -63,86 +62,6 @@ var/syndicate_elite_shuttle_timeleft = 0
to_chat(usr, "<span class='warning'>The Syndicate Elite shuttle is unable to leave.</span>")
return
sleep(600)
/*
//Begin Marauder launchpad.
spawn(0)//So it parallel processes it.
for(var/obj/machinery/door/poddoor/M in elite_squad)
switch(M.id)
if("ASSAULT0")
spawn(10)//1 second delay between each.
M.open()
if("ASSAULT1")
spawn(20)
M.open()
if("ASSAULT2")
spawn(30)
M.open()
if("ASSAULT3")
spawn(40)
M.open()
sleep(10)
var/spawn_marauder[] = new()
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Entry")
spawn_marauder.Add(L)
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Exit")
var/obj/effect/portal/P = new(L.loc)
P.invisibility = 101//So it is not seen by anyone.
P.failchance = 0//So it has no fail chance when teleporting.
P.target = pick(spawn_marauder)//Where the marauder will arrive.
spawn_marauder.Remove(P.target)
sleep(10)
for(var/obj/machinery/mass_driver/M in elite_squad)
switch(M.id)
if("ASSAULT0")
spawn(10)
M.drive()
if("ASSAULT1")
spawn(20)
M.drive()
if("ASSAULT2")
spawn(30)
M.drive()
if("ASSAULT3")
spawn(40)
M.drive()
sleep(50)//Doors remain open for 5 seconds.
for(var/obj/machinery/door/poddoor/M in elite_squad)
switch(M.id)//Doors close at the same time.
if("ASSAULT0")
spawn(0)
M.close()
if("ASSAULT1")
spawn(0)
M.close()
if("ASSAULT2")
spawn(0)
M.close()
if("ASSAULT3")
spawn(0)
M.close()
*/
elite_squad.readyreset()//Reset firealarm after the team launched.
//End Marauder launchpad.
/*
var/obj/explosionmarker = locate("Syndicate Breach Area")
if(explosionmarker)
var/turf/simulated/T = explosionmarker.loc
if(T)
explosion(T,4,6,8,10,0)
sleep(40)
// proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1)
*/
var/area/start_location = locate(/area/shuttle/syndicate_elite/mothership)
var/area/end_location = locate(/area/shuttle/syndicate_elite/station)
-1
View File
@@ -123,7 +123,6 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
src.isbroken=1
src.update_icon()
return
return
/obj/machinery/newscaster/attack_ai(mob/user as mob)
return src.attack_hand(user)
+3 -3
View File
@@ -454,17 +454,17 @@ Buildable meters
else if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT))
if(pipe_type in list(PIPE_SIMPLE_BENT, PIPE_SIMPLE_STRAIGHT))
if(PIPE_SIMPLE_BENT)
if(pipe_type == PIPE_SIMPLE_BENT)
pipe_type = PIPE_SCRUBBERS_BENT
else
pipe_type =PIPE_SCRUBBERS_STRAIGHT
else if(pipe_type in list(PIPE_SCRUBBERS_BENT, PIPE_SCRUBBERS_STRAIGHT))
if(PIPE_SCRUBBERS_BENT)
if(pipe_type == PIPE_SCRUBBERS_BENT)
pipe_type = PIPE_SUPPLY_BENT
else
pipe_type = PIPE_SUPPLY_STRAIGHT
else if(pipe_type in list(PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT))
if(PIPE_SUPPLY_BENT)
if(pipe_type == PIPE_SUPPLY_BENT)
pipe_type = PIPE_SIMPLE_BENT
else
pipe_type = PIPE_SIMPLE_STRAIGHT
+3 -1
View File
@@ -82,10 +82,12 @@
user.visible_message(span("notice", "[user] [panel_open ? "opens" : "closes"] the hatch on the [src]."),
span("notice", "You [panel_open ? "open" : "close"] the hatch on the [src]."))
update_icon()
return
if(!panel_open && user.machine == src)
user << browse(null, "window=spaceheater")
user.unset_machine()
return
else
..()
return
-1
View File
@@ -211,7 +211,6 @@
return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
else
return "Launch"
return ""
/obj/machinery/status_display/proc/remove_display()
cut_overlays()
-2
View File
@@ -101,8 +101,6 @@
return
else
return
return
/obj/machinery/suit_storage_unit/attack_hand(mob/user as mob)
var/dat
@@ -56,7 +56,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
continue
if(amount && send_count >= amount)
break
if(!machine.loc.z in listening_level)
if(!(machine.loc.z in listening_level))
if(long_range_link == 0 && machine.long_range_link == 0)
continue
// If we're sending a copy, be sure to create the copy for EACH machine and paste the data
@@ -52,7 +52,7 @@
for(var/mob/M in viewingcode)
if( (M.machine == src && M in view(1, src) ) || issilicon(M))
if((M.machine == src && (M in view(1, src))) || issilicon(M))
winset(M, "tcscode", "is-disabled=true")
winset(M, "tcscode", "text=\"[showcode]\"")
else
+3 -3
View File
@@ -133,7 +133,7 @@
set name = "Move To Top"
set category = "Object"
if (!I in view(1, src))
if (!(I in view(1, src)))
return
if(!istype(I.loc, /turf) || usr.stat || usr.restrained() )
return
@@ -469,7 +469,7 @@ var/list/global/slot_flags_enumeration = list(
if(!(usr)) //BS12 EDIT
return
if (!I in view(1, src))
if (!(I in view(1, src)))
return
if (istype(I, /obj/item/storage/internal))
return
@@ -672,7 +672,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
if(M.stat || !(ishuman(M)))
to_chat(M, SPAN_WARNING("You are unable to focus through \the [devicename]!"))
cannotzoom = 1
else if(!zoom && global_hud.darkMask[1] in M.client.screen)
else if(!zoom && (global_hud.darkMask[1] in M.client.screen))
to_chat(M, SPAN_WARNING("Your visor gets in the way of looking through the [devicename]!"))
cannotzoom = 1
else if(!zoom && M.get_active_hand() != src)
+1 -1
View File
@@ -433,7 +433,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/auto_update = 1
if(mode in no_auto_update)
auto_update = 0
if(old_ui && (mode == lastmode && ui_tick % 5 && mode in update_every_five))
if(old_ui && (mode == lastmode && ui_tick % 5 && (mode in update_every_five)))
return
lastmode = mode
@@ -38,7 +38,7 @@
set src in usr
var/num = input(usr, "Please enter the low-bound for the detector") as num|null
if (null)
if (num == null)
return
low = num
@@ -49,7 +49,7 @@
set src in usr
var/num = input(usr, "Please enter the high-bound for the detector") as num|null
if (null)
if (num == null)
return
high = num
@@ -425,7 +425,7 @@ var/global/list/default_medbay_channels = list(
R.receive_signal(signal)
// Receiving code can be located in Telecommunications.dm
return signal.data["done"] && position.z in signal.data["level"]
return signal.data["done"] && (position.z in signal.data["level"])
/* ###### Intercoms and station-bounced radios ###### */
@@ -476,7 +476,7 @@ var/global/list/default_medbay_channels = list(
sleep(rand(10,25)) // wait a little...
if(signal.data["done"] && position.z in signal.data["level"])
if(signal.data["done"] && (position.z in signal.data["level"]))
// we're done here.
return 1
-1
View File
@@ -220,7 +220,6 @@
if(!S.use_charge(charge_costs[i] * used)) // Doesn't need to be deleted
return 0
return 1
return 0
/obj/item/stack/proc/add(var/extra)
if(!uses_charge)
+1 -11
View File
@@ -44,17 +44,7 @@
var/datum/autopsy_data/W = O.autopsy_data[V]
if(!W.pretend_weapon)
/*
// the more hits, the more likely it is that we get the right weapon type
if(prob(50 + W.hits * 10 + W.damage))
*/
// Buffing this stuff up for now!
if(1)
W.pretend_weapon = W.weapon
else
W.pretend_weapon = pick("mechanical toolbox", "wirecutters", "revolver", "crowbar", "fire extinguisher", "tomato soup", "oxygen tank", "emergency oxygen tank", "laser", "bullet")
W.pretend_weapon = W.weapon
var/datum/autopsy_data_scanner/D = wdata[V]
if(!D)
@@ -64,7 +64,7 @@
overlays.Cut()
if(front_id)
var/tiny_state = "id-generic"
if("id-"+front_id.icon_state in icon_states(icon))
if(("id-" + front_id.icon_state) in icon_states(icon))
tiny_state = "id-"+front_id.icon_state
var/image/tiny_image = new/image(icon, icon_state = tiny_state)
tiny_image.appearance_flags = RESET_COLOR
@@ -201,4 +201,4 @@
var/image/film_image = new/image(icon, icon_state = "lanyard_film")
film_image.appearance_flags = RESET_COLOR
overlays += film_image
mob_icon_update()
mob_icon_update()
@@ -125,7 +125,7 @@
else if(src in location) // or if tank is in the mobs possession
if(!location.internal) // and they do not have any active internals
mask_check = 1
else if(istype(src.loc, /obj/item/rig) && src.loc in location) // or the rig is in the mobs possession
else if(istype(src.loc, /obj/item/rig) && (src.loc in location)) // or the rig is in the mobs possession
if(!location.internal) // and they do not have any active internals
mask_check = 1
@@ -119,7 +119,7 @@ obj/structure/ex_act(severity)
if(pod.contents.len)
to_chat(AM, "<span class='notice'>The pod is already occupied.</span>")
return
else if(!pod.moving && pod.dir in directions())
else if(!pod.moving && (pod.dir in directions()))
AM.forceMove(pod)
return
@@ -127,7 +127,7 @@ obj/structure/ex_act(severity)
/obj/structure/transit_tube/station/attack_hand(mob/user as mob)
if(!pod_moving)
for(var/obj/structure/transit_tube_pod/pod in loc)
if(!pod.moving && pod.dir in directions())
if(!pod.moving && (pod.dir in directions()))
if(icon_state == "closed")
open_animation()
@@ -156,7 +156,7 @@ obj/structure/ex_act(severity)
/obj/structure/transit_tube/station/proc/launch_pod()
for(var/obj/structure/transit_tube_pod/pod in loc)
if(!pod.moving && pod.dir in directions())
if(!pod.moving && (pod.dir in directions()))
spawn(5)
pod_moving = 1
close_animation()
+1 -1
View File
@@ -95,7 +95,7 @@ var/intercom_range_display_status = 0
if(!(locate(/obj/structure/grille,T)))
var/window_check = 0
for(var/obj/structure/window/W in T)
if (W.dir == turn(C1.dir,180) || W.dir in list(5,6,9,10) )
if (W.dir == turn(C1.dir,180) || (W.dir in list(5,6,9,10)))
window_check = 1
break
if(!window_check)
+1 -1
View File
@@ -421,7 +421,7 @@ var/list/VVdynamic_lock = list(
var/var_value
if(param_var_name)
if(!param_var_name in O.vars)
if(!(param_var_name in O.vars))
to_chat(src, "A variable with this name ([param_var_name]) doesn't exist in this atom ([O])")
return
+2 -2
View File
@@ -77,6 +77,6 @@
if(!..())
return FALSE
var/datum/bounty/item/other_item_bounty = other_bounty
if(other_bounty && /obj/item/robot_parts/robot_suit in other_item_bounty.wanted_types)
if(other_bounty && (/obj/item/robot_parts/robot_suit in other_item_bounty.wanted_types))
return FALSE
return TRUE
return TRUE
@@ -117,7 +117,7 @@
if(href_list["category"])
var/category = locate(href_list["category"])
if(category && category in categories)
if(category && (category in categories))
selected_category = category
. = 1
+1 -1
View File
@@ -220,7 +220,7 @@
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/card))
var/obj/item/card/id/C = I
if(access_cent_captain in C.access || access_hop in C.access || access_captain in C.access)
if((access_cent_captain in C.access) || (access_hop in C.access) || (access_captain in C.access))
access_code = 0
to_chat(usr, "\icon[src]<span class='info'>Access code reset to 0.</span>")
else if (istype(I, /obj/item/card/emag))
@@ -116,7 +116,7 @@
else
bar.color = "#ff0000"
hardpoint_bar_cache += bar
for(var/i=i;i<=value;i++)
for(var/i = 1; i <= value; i++)
new_overlays += hardpoint_bar_cache[i]
overlays = new_overlays
+1 -1
View File
@@ -153,8 +153,8 @@
to_chat(user, "<span class='notice'>You vastly increase projector power and override the safety and security protocols.</span>")
to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call [current_map.company_name] maintenance and do not use the simulator.")
log_game("[key_name(usr)] emagged the Holodeck Control Computer",ckey=key_name(usr))
return 1
src.updateUsrDialog()
return 1
else
..()
@@ -20,7 +20,7 @@
write_data_to_pin(new_data)
/datum/integrated_io/dir/write_data_to_pin(var/new_data)
if(isnull(new_data) || new_data in alldirs + list(UP, DOWN))
if(isnull(new_data) || (new_data in (alldirs + list(UP, DOWN))))
data = new_data
holder.on_data_written()
@@ -18,8 +18,8 @@
var/datum/integrated_io/I = inputs[1]
set_pin_data(IC_OUTPUT, 1, null)
if(!isweakref(I.data))
return
activate_pin(3)
return
var/atom/A = I.data.resolve()
if(!A)
activate_pin(3)
@@ -70,4 +70,4 @@
set_pin_data(IC_OUTPUT, 1, get_dir(get_turf(src), get_step_towards2(get_turf(src),A)))
set_pin_data(IC_OUTPUT, 2, sqrt((A.x-T.x)*(A.x-T.x)+ (A.y-T.y)*(A.y-T.y)))
push_data()
activate_pin(2)
activate_pin(2)
+2 -2
View File
@@ -185,7 +185,7 @@
if(islist(composite_material))
for(var/material_string in composite_material)
temp_matter[material_string] = composite_material[material_string]
else if(SHEET_MATERIAL_AMOUNT)
else
temp_matter[name] = SHEET_MATERIAL_AMOUNT
return temp_matter
@@ -995,4 +995,4 @@
name = MATERIAL_SHUTTLE_SKRELL
display_name = "superadvanced alloy"
icon_colour = null
icon_base = "skrell"
icon_base = "skrell"
+8 -8
View File
@@ -253,7 +253,7 @@
P.stamped += /obj/item/stamp
P.add_overlay(stampoverlay)
P.stamps += "<HR><i>This paper has been stamped by the NT Ore Processing System.</i>"
user.visible_message("\The [src] rattles and prints out a sheet of paper.")
playsound(get_turf(src), "sound/bureaucracy/print_short.ogg", 50, 1)
@@ -335,7 +335,7 @@
if(!O)
break
if(!isnull(ores_stored[O.material]))
ores_stored[O.material]++
ores_stored[O.material] = ores_stored[O.material] + 1
qdel(O)
@@ -388,7 +388,7 @@
sheets += total - 1
for(var/i = 0, i < total, i++)
console.alloy_mats[A]++
console.alloy_mats[A] = console.alloy_mats[A] + 1
new A.product(get_turf(output))
else if(ores_processing[metal] == 2 && O.compresses_to) //Compressing.
@@ -407,7 +407,7 @@
use_power(100)
ores_stored[metal] -= 2
sheets += 2
console.output_mats[M]++
console.output_mats[M] += 1
new M.stack_type(get_turf(output))
else if(ores_processing[metal] == 1 && O.smelts_to) //Smelting.
@@ -421,17 +421,17 @@
if(console)
console.points += O.worth
use_power(100)
ores_stored[metal]--
ores_stored[metal] -= 1
sheets++
console.output_mats[M]++
console.output_mats[M] += 1
new M.stack_type(get_turf(output))
else
if(console)
console.points -= O.worth * 3 //reee wasting our materials!
use_power(500)
ores_stored[metal]--
ores_stored[metal] -= 1
sheets++
console.input_mats[O]++
console.input_mats[O] += 1
console.waste++
new /obj/item/ore/slag(get_turf(output))
else
+2 -2
View File
@@ -4,7 +4,7 @@
if(!istype(src, /mob/living/test) && !client)
return
if(speaker && !istype(speaker, /mob/living/test) && (!speaker.client && istype(src,/mob/abstract/observer) && client.prefs.toggles & CHAT_GHOSTEARS && !speaker in view(src)))
if(speaker && !istype(speaker, /mob/living/test) && (!speaker.client && istype(src,/mob/abstract/observer) && client.prefs.toggles & CHAT_GHOSTEARS && !(speaker in view(src))))
//Does the speaker have a client? It's either random stuff that observers won't care about (Experiment 97B says, 'EHEHEHEHEHEHEHE')
//Or someone snoring. So we make it where they won't hear it.
return
@@ -56,7 +56,7 @@
if(speaker_name != speaker.real_name && speaker.real_name)
speaker_name = "[speaker.real_name] ([speaker_name])"
track = "[ghost_follow_link(speaker, src)] "
if(client.prefs.toggles & CHAT_GHOSTEARS && speaker in view(src))
if((client.prefs.toggles & CHAT_GHOSTEARS) && (speaker in view(src)))
message = "<b>[message]</b>"
var/hearing_aid = FALSE
+4 -4
View File
@@ -302,12 +302,12 @@ var/list/slot_equipment_priority = list( \
//Outdated but still in use apparently. This should at least be a human proc.
/mob/proc/get_equipped_items(var/include_carried = 0)
. = list()
if(slot_back) . += back
if(slot_wear_mask) . += wear_mask
if(back) . += back
if(wear_mask) . += wear_mask
if(include_carried)
if(slot_l_hand) . += l_hand
if(slot_r_hand) . += r_hand
if(l_hand) . += l_hand
if(r_hand) . += r_hand
+1 -1
View File
@@ -183,7 +183,7 @@
// Can we speak this language, as opposed to just understanding it?
/mob/proc/can_speak(datum/language/speaking)
return (universal_speak || (speaking && speaking.flags & INNATE) || speaking in src.languages)
return (universal_speak || (speaking && speaking.flags & INNATE) || (speaking in src.languages))
/mob/proc/get_language_prefix()
if(client && client.prefs.language_prefixes && client.prefs.language_prefixes.len)
+2 -23
View File
@@ -230,31 +230,10 @@
if (stat != 2)
if (machine)
if (!( machine.check_eye(src) ))
if (machine.check_eye(src) < 1)
reset_view(null)
else
if(client && !client.adminobs)
if(!client?.adminobs)
reset_view(null)
return 1
if (stat != 2)
if (machine)
if (machine.check_eye(src) < 0)
reset_view(null)
else
if(client && !client.adminobs)
reset_view(null)
/*/mob/living/carbon/brain/emp_act(severity)
if(!(container && istype(container, /obj/item/device/mmi)))
return
else
switch(severity)
if(1)
emp_damage += rand(20,30)
if(2)
emp_damage += rand(10,20)
if(3)
emp_damage += rand(0,10)
..()*/
@@ -151,7 +151,7 @@
var/emote_scream = pick("screams in pain and ", "lets out a sharp cry and ", "cries out and ")
emote("me", 1, "[(species.flags & NO_PAIN) ? "" : emote_scream ]drops what they were holding in their [E.name]!")
else if(!(E.status & ORGAN_ROBOT) && CE_DROPITEM in chem_effects && prob(chem_effects[CE_DROPITEM]))
else if(!(E.status & ORGAN_ROBOT) && (CE_DROPITEM in chem_effects) && prob(chem_effects[CE_DROPITEM]))
to_chat(src, span("warning", "Your [E.name] goes limp and unresponsive for a moment, dropping what it was holding!"))
emote("me", 1, "drops what they were holding in their [E.name]!")
switch(E.body_part)
@@ -382,13 +382,13 @@ This saves us from having to call add_fingerprint() any time something is put in
if(w_uniform) items += w_uniform
if(include_carried)
if(slot_l_hand) items += l_hand
if(slot_r_hand) items += r_hand
if(slot_l_store) items += l_store
if(slot_r_store) items += r_store
if(slot_legcuffed) items += legcuffed
if(slot_handcuffed) items += handcuffed
if(slot_s_store) items += s_store
if(l_hand) items += l_hand
if(r_hand) items += r_hand
if(l_store) items += l_store
if(r_store) items += r_store
if(legcuffed) items += legcuffed
if(handcuffed) items += handcuffed
if(s_store) items += s_store
return items
+2 -2
View File
@@ -282,7 +282,7 @@
var/cword = pick(words)
words.Remove(cword)
var/suffix = copytext(cword,length(cword)-1,length(cword))
while(length(cword)>0 && suffix in list(".",",",";","!",":","?"))
while(length(cword)>0 && (suffix in list(".",",",";","!",":","?")))
cword = copytext(cword,1 ,length(cword)-1)
suffix = copytext(cword,length(cword)-1,length(cword) )
if(length(cword))
@@ -308,4 +308,4 @@
message = "[prefix][jointext(words," ")]"
return message
return message
@@ -90,6 +90,8 @@
updateicon()
/mob/living/silicon/robot/proc/activated(obj/item/O)
updateicon()
if(module_state_1 == O)
return 1
else if(module_state_2 == O)
@@ -98,7 +100,6 @@
return 1
else
return 0
updateicon()
//Helper procs for cyborg modules on the UI.
//These are hackish but they help clean up code elsewhere.
@@ -315,4 +316,4 @@
var/selected = get_selected_module()
if (selected)
result += "\nThe activity light on hardpoint [selected] is on.\n"
return result
return result
+2 -2
View File
@@ -120,7 +120,7 @@
if(M.stat == DEAD && M.client?.prefs.toggles & CHAT_GHOSTEARS)
M.hear_say(message, verb, speaking, null, null, src)
continue
if(M.loc && M.locs[1] in hearturfs)
if(M.loc && (M.locs[1] in hearturfs))
M.hear_say(message, verb, speaking, null, null, src)
else
to_chat(src, SPAN_WARNING("No holopad connected."))
@@ -155,4 +155,4 @@
#undef IS_AI
#undef IS_ROBOT
#undef IS_PAI
#undef IS_PAI
@@ -78,7 +78,7 @@
var/mob/living/carbon/human/M = target_mob
var/sting_prob = 40 // Bees will always try to sting.
var/prob_mult = 1
if(M && M in view(src,1)) // Can I see my target?
if(M && (M in view(src,1))) // Can I see my target?
var/obj/item/clothing/worn_suit = M.wear_suit
var/obj/item/clothing/worn_helmet = M.head
if(worn_suit) // Are you wearing clothes?
@@ -76,7 +76,7 @@
var/current_dist = get_dist(src, friend)
if(movement_target != friend)
if(current_dist > follow_dist && friend in oview(src))
if(current_dist > follow_dist && (friend in oview(src)))
//stop existing movement
walk_to(src,0)
turns_since_scan = 0
@@ -153,4 +153,4 @@
/mob/living/simple_animal/carp/baby/death()
.=..()
desc = "A dead baby space carp, what a tragedy!"
desc = "A dead baby space carp, what a tragedy!"
@@ -241,8 +241,6 @@
held_item = null
return 1
return
/mob/living/simple_animal/spiderbot/verb/get_item()
set name = "Pick up item"
set category = "Spiderbot"
@@ -303,4 +301,4 @@
layer = initial(layer)
/mob/living/simple_animal/spiderbot/get_bullet_impact_effect_type(var/def_zone)
return BULLET_IMPACT_METAL
return BULLET_IMPACT_METAL
@@ -112,7 +112,7 @@
stop_automated_movement = 1
stance_step++
if(stance_step >= 15) //rests for 10 ticks
if(target_mob && target_mob in ListTargets(10))
if(target_mob && (target_mob in ListTargets(10)))
set_stance(HOSTILE_STANCE_ATTACK) //If the mob he was chasing is still nearby, resume the attack, otherwise go idle.
else
set_stance(HOSTILE_STANCE_IDLE)
@@ -309,7 +309,6 @@ mob/living/simple_animal/hostile/hitby(atom/movable/AM as mob|obj,var/speed = TH
/mob/living/simple_animal/hostile/proc/check_horde()
return 0
if(emergency_shuttle.shuttle.location)
if(!enroute && !target_mob) //The shuttle docked, all monsters rush for the escape hallway
if(!shuttletarget && escape_list.len) //Make sure we didn't already assign it a target, and that there are targets to pick
@@ -387,4 +386,4 @@ mob/living/simple_animal/hostile/hitby(atom/movable/AM as mob|obj,var/speed = TH
if(get_dist(src, E) < get_dist(src, current))
return TRUE
else
return FALSE
return FALSE
@@ -133,7 +133,7 @@
/mob/living/simple_animal/hostile/retaliate/minedrone/proc/FindOre()
if(!enemies.len)
setClickCooldown(attack_delay)
if(!target_ore in ListTargets(10))
if(!(target_ore in ListTargets(10)))
target_ore = null
for(var/obj/item/ore/O in oview(1,src))
O.forceMove(src)
@@ -377,11 +377,11 @@
return
return
if(parrot_interest && parrot_interest in view(src))
if(parrot_interest && (parrot_interest in view(src)))
parrot_state = PARROT_SWOOP | PARROT_STEAL
return
if(parrot_perch && parrot_perch in view(src))
if(parrot_perch && (parrot_perch in view(src)))
parrot_state = PARROT_SWOOP | PARROT_RETURN
return
-1
View File
@@ -8,7 +8,6 @@
return (!mover.density || !density || lying)
else
return (!mover.density || !density || lying)
return
/mob/proc/setMoveCooldown(var/timeout)
if(client)
@@ -115,7 +115,7 @@
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
else if(check_type == PROGRAM_ACCESS_LIST_ALL)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(!check in I.access) //Fail on first miss
if(!(check in I.access)) //Fail on first miss
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
return FALSE
@@ -163,7 +163,7 @@
return FALSE
else if(check_type == PROGRAM_ACCESS_LIST_ALL)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(!check in I.access) //Fail on first miss
if(!(check in I.access)) //Fail on first miss
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
return FALSE
@@ -227,4 +227,4 @@
if(NM)
return NM.check_eye(user)
else
return -1
return -1
@@ -121,7 +121,7 @@
if(!computer || !computer.hard_drive || !computer.hard_drive.store_file(logfile))
if(!computer)
// This program shouldn't even be runnable without computer.
CRASH("Var computer is null!")
crash_with("Var computer is null!")
return TRUE
if(!computer.hard_drive)
computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")
@@ -230,4 +230,4 @@
ui.auto_update_layout = 1
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(TRUE)
ui.set_auto_update(TRUE)
+1 -1
View File
@@ -80,7 +80,7 @@
if(. != STATUS_CLOSE)
if(loc)
. = min(., loc.contents_nano_distance(src_object, src))
if(STATUS_INTERACTIVE)
if(. == STATUS_INTERACTIVE)
return STATUS_UPDATE
/mob/living/carbon/human/default_can_use_topic(var/src_object)
+1 -1
View File
@@ -20,7 +20,7 @@
if(monitored_alarm_ids)
for(var/obj/machinery/alarm/alarm in SSmachinery.processing_machines)
if(alarm.alarm_id && alarm.alarm_id in monitored_alarm_ids)
if(alarm.alarm_id && (alarm.alarm_id in monitored_alarm_ids))
monitored_alarms += alarm
// machines may not yet be ordered at this point
sortTim(monitored_alarms, /proc/cmp_alarm, FALSE)
+2 -2
View File
@@ -22,7 +22,7 @@
if(istype(running_code))
running_code.cycle(100000)
var/list/dat = json_decode(ntsl2.send(list(action="get_signals",id=running_code.id)))
if(istype(dat) && "content" in dat)
if(istype(dat) && ("content" in dat))
var/datum/signal/sig = null
if(dat["reference"])
sig = locate(dat["reference"])
@@ -44,4 +44,4 @@
else
sig = new()
sig.data["server"] = running_code.S
sig.tcombroadcast(html_encode(dat["content"]), dat["freq"], html_encode(dat["source"]), html_encode(dat["job"]), html_encode(dat["verb"]), dat["language"])
sig.tcombroadcast(html_encode(dat["content"]), dat["freq"], html_encode(dat["source"]), html_encode(dat["job"]), html_encode(dat["verb"]), dat["language"])
+2 -2
View File
@@ -925,12 +925,12 @@ Note that amputating the affected organ does in fact remove the infection from t
holder = owner
if(!holder)
return
if (holder.handcuffed && body_part in list(ARM_LEFT, ARM_RIGHT, HAND_LEFT, HAND_RIGHT))
if (holder.handcuffed && (body_part in list(ARM_LEFT, ARM_RIGHT, HAND_LEFT, HAND_RIGHT)))
holder.visible_message(\
"\The [holder.handcuffed.name] falls off of [holder.name].",\
"\The [holder.handcuffed.name] falls off you.")
holder.drop_from_inventory(holder.handcuffed)
if (holder.legcuffed && body_part in list(FOOT_LEFT, FOOT_RIGHT, LEG_LEFT, LEG_RIGHT))
if (holder.legcuffed && (body_part in list(FOOT_LEFT, FOOT_RIGHT, LEG_LEFT, LEG_RIGHT)))
holder.visible_message(\
"\The [holder.legcuffed.name] falls off of [holder.name].",\
"\The [holder.legcuffed.name] falls off you.")
+1 -1
View File
@@ -210,7 +210,7 @@ obj/item/organ/vaurca/neuralsocket/process()
else if(src in location) // or if tank is in the mobs possession
if(!location.internal) // and they do not have any active internals
mask_check = 1
else if(istype(src.loc, /obj/item/rig) && src.loc in location) // or the rig is in the mobs possession
else if(istype(src.loc, /obj/item/rig) && (src.loc in location)) // or the rig is in the mobs possession
if(!location.internal) // and they do not have any active internals
mask_check = 1
+1 -2
View File
@@ -66,8 +66,7 @@
var/input_stamp = input(user, "Choose a stamp to disguise as.", "Choose a stamp.") in show_stamps
if(user && src in user.contents)
if(user && (src in user.contents))
var/obj/item/stamp/chosen_stamp = stamps[capitalize(input_stamp)]
if(chosen_stamp)
@@ -218,8 +218,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
update_state()
update_icon()
return TRUE
return FALSE
/obj/machinery/particle_accelerator
name = "Particle Accelerator"
@@ -335,4 +333,3 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
use_power = 1
update_icon()
return TRUE
return FALSE
+1 -3
View File
@@ -182,8 +182,6 @@
else
return TRUE
return TRUE
/obj/item/gun/verb/wield_gun()
set name = "Wield Firearm"
set category = "Object"
@@ -819,4 +817,4 @@
"You hear a metallic crack.")
qdel(pin)
pin = null
return ..()
return ..()
@@ -299,4 +299,5 @@
if(isprox(D))
to_chat(user, "This wooden bucket doesn't play well with electronics.")
return
..()
..()
+1 -1
View File
@@ -263,7 +263,7 @@
/obj/item/device/destTagger/Topic(href, href_list)
src.add_fingerprint(usr)
if(href_list["nextTag"] && href_list["nextTag"] in SSdisposals.tagger_locations)
if(href_list["nextTag"] && (href_list["nextTag"] in SSdisposals.tagger_locations))
src.currTag = href_list["nextTag"]
if(href_list["nextTag"] == "CUSTOM")
var/dest = input("Please enter custom location.", "Location", src.currTag ? src.currTag : "None")
@@ -134,7 +134,7 @@
/obj/item/vampiric/hear_talk(mob/M as mob, text)
..()
if(world.time - last_bloodcall >= bloodcall_interval && M in view(7, src))
if(world.time - last_bloodcall >= bloodcall_interval && (M in view(7, src)))
bloodcall(M)
/obj/item/vampiric/proc/bloodcall(var/mob/living/carbon/human/M)
+6 -6
View File
@@ -1,7 +1,7 @@
client/verb/tcssave()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || issilicon(mob))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -28,7 +28,7 @@ client/verb/tcssave()
client/verb/tcscompile()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -79,7 +79,7 @@ client/verb/tcscompile()
client/verb/tcsrun()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -145,7 +145,7 @@ client/verb/tcsrun()
client/verb/exittcs()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode == mob)
Machine.storedcode = "[winget(mob, "tcscode", "text")]"
@@ -157,7 +157,7 @@ client/verb/exittcs()
client/verb/tcsrevert()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -186,7 +186,7 @@ client/verb/tcsrevert()
client/verb/tcsclearmem()
set hidden = 1
if(mob.machine || issilicon(mob))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob)) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
if((istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob))) || (issilicon(mob) && istype(mob.machine, /obj/machinery/computer/telecomms/traffic) ))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
+15 -17
View File
@@ -6,9 +6,8 @@
An object responsible for breaking up source code into tokens for use by the parser.
*/
/n_Scanner
var
code
list
var/code
/*
Var: errors
A list of fatal errors found by the scanner. If there are any items in this list, then it is not safe to parse the returned tokens.
@@ -16,12 +15,12 @@
See Also:
- <scriptError>
*/
errors = new
var/list/errors = new
/*
Var: warnings
A list of non-fatal problems in the source code found by the scanner.
*/
warnings = new
var/list/warnings = new
proc
/*
@@ -49,21 +48,19 @@
A scanner implementation for n_Script.
*/
/n_Scanner/nS_Scanner
var
/*
Variable: codepos
The scanner's position in the source code.
*/
codepos = 1
line = 1
linepos = 0 //column=codepos-linepos
n_scriptOptions/nS_Options/options
var/codepos = 1
var/line = 1
var/linepos = 0 //column=codepos-linepos
var/n_scriptOptions/nS_Options/options
commenting = 0
var/commenting = 0
// 1: single-line
// 2: multi-line
list
/*
Variable: ignore
A list of characters that are ignored by the scanner.
@@ -71,7 +68,8 @@
Default Value:
Whitespace
*/
ignore = list(" ", "\t", "\n") //Don't add tokens for whitespace
var/list/ignore = list(" ", "\t", "\n") //Don't add tokens for whitespace
/*
Variable: end_stmt
A list of characters that end a statement. Each item may only be one character long.
@@ -79,7 +77,7 @@
Default Value:
Semicolon
*/
end_stmt = list(";")
var/list/end_stmt = list(";")
/*
Variable: string_delim
A list of characters that can start and end strings.
@@ -87,12 +85,12 @@
Default Value:
Double and single quotes.
*/
string_delim = list("\"", "'")
var/list/string_delim = list("\"", "'")
/*
Variable: delim
A list of characters that denote the start of a new token. This list is automatically populated.
*/
delim = new
var/list/delim = new
/*
Macro: COL
+1 -1
View File
@@ -42,7 +42,7 @@
if(istype(W, /obj/item/card/id))
var/obj/item/card/id/C = W
if(access_captain in C.access || access_security in C.access || access_engine in C.access)
if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access))
src.locked = !src.locked
to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]")
updateDialog()
+1 -1
View File
@@ -56,7 +56,7 @@
/obj/machinery/shield_gen/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/card/id))
var/obj/item/card/id/C = W
if(access_captain in C.access || access_security in C.access || access_engine in C.access)
if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access))
src.locked = !src.locked
to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]")
updateDialog()
+2 -2
View File
@@ -64,9 +64,9 @@ var/list/escape_pods = list()
if(..())
return 1
if("manual_arm")
if(href_list["manual_arm"])
pod.arming_controller.arm()
if("force_launch")
if(href_list["force_launch"])
if (pod.can_force())
pod.force_launch(src)
else if (emergency_shuttle.departed && pod.can_launch()) //allow players to manually launch ahead of time if the shuttle leaves
@@ -5,7 +5,6 @@
..()
if(emergency_shuttle.shuttle)
CRASH("An emergency shuttle has already been created.")
return
emergency_shuttle.shuttle = src
/datum/shuttle/autodock/ferry/emergency/arrived()
+1 -1
View File
@@ -266,7 +266,7 @@
return SURGERY_FAILURE
if(O.species_restricted)
if(!target.species.name in O.species_restricted)
if(!(target.species.name in O.species_restricted))
to_chat(user, SPAN_WARNING("\The [O] is not compatible with \the [target]'s biology."))
return SURGERY_FAILURE
+3 -3
View File
@@ -137,8 +137,8 @@
if(!ishuman(target))
return 0
if (target_zone == BP_MOUTH || target_zone == BP_EYES)
return 0
if (target_zone == BP_MOUTH)
return 0
var/obj/item/organ/external/affected = target.get_organ(target_zone)
return affected && affected.open == 3 && (affected.status & ORGAN_DEAD)
@@ -248,4 +248,4 @@
return
rig.reset()
user.visible_message("<span class='notice'>[user] has cut through the support systems of [target]'s [rig] with \the [tool].</span>", \
"<span class='notice'>You have cut through the support systems of [target]'s [rig] with \the [tool].</span>")
"<span class='notice'>You have cut through the support systems of [target]'s [rig] with \the [tool].</span>")
-2
View File
@@ -181,8 +181,6 @@
else
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
return
qdel(W)
return
if(!dropsafety(W))
return
+1 -1
View File
@@ -15,7 +15,7 @@
var/mob/abstract/observer/G = ghosts[target]
if(!G in ghosts)
if(!(G in ghosts))
statuscode = 404
response = "Target not in ghosts list"
data = null
@@ -20,15 +20,18 @@
s["transferring"] = !!(emergency_shuttle?.online())
s["players"] = clients.len
s["admins"] = 0
s["staff"] = staff.len
var/admin_count = 0
for(var/S in staff)
var/client/C = S
if(C.holder.fakekey)
continue
if(C.holder.rights & (R_MOD|R_ADMIN))
s["admins"]++
admin_count++
s["admins"] = admin_count
statuscode = 200
response = "Server status fetched."