April sync (#360)

* Maps and things no code/icons

* helpers defines globalvars

* Onclick world.dm orphaned_procs

* subsystems

Round vote and shuttle autocall done here too

* datums

* Game folder

* Admin - chatter modules

* clothing - mining

* modular computers - zambies

* client

* mob level 1

* mob stage 2 + simple_animal

* silicons n brains

* mob stage 3 + Alien/Monkey

* human mobs

* icons updated

* some sounds

* emitter y u no commit

* update tgstation.dme

* compile fixes

* travis fixes

Also removes Fast digest mode, because reasons.

* tweaks for travis Mentors are broke again

Also fixes Sizeray guns

* oxygen loss fix for vore code.

* removes unused code

* some code updates

* bulk fixes

* further fixes

* outside things

* whoops.

* Maint bar ported

* GLOBs.
This commit is contained in:
Poojawa
2017-04-13 23:37:00 -05:00
committed by GitHub
parent cdc32c98fa
commit 7e9b96a00f
1322 changed files with 174827 additions and 23888 deletions

View File

@@ -19,7 +19,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
var/launch_warning = TRUE
var/list/turrets = list() //List of connected turrets
req_one_access = list(access_cargo, access_construction, access_heads, access_research)
req_one_access = list(GLOB.access_cargo, GLOB.access_construction, GLOB.access_heads, GLOB.access_research)
var/possible_destinations
clockwork = TRUE
var/obj/item/device/gps/internal/base/locator
@@ -199,7 +199,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
var/turf/T = get_turf(user)
var/obj/machinery/computer/auxillary_base/AB
for (var/obj/machinery/computer/auxillary_base/A in machines)
for (var/obj/machinery/computer/auxillary_base/A in GLOB.machines)
if(A.z == ZLEVEL_STATION)
AB = A
break
@@ -274,7 +274,7 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
to_chat(user, "<span class='warning'>This device is only to be used in a mining zone.</span>")
return
var/obj/machinery/computer/auxillary_base/aux_base_console
for(var/obj/machinery/computer/auxillary_base/ABC in machines)
for(var/obj/machinery/computer/auxillary_base/ABC in GLOB.machines)
if(get_dist(landing_spot, ABC) <= console_range)
aux_base_console = ABC
break

View File

@@ -62,7 +62,7 @@
/obj/machinery/computer/camera_advanced/base_construction/CreateEye()
var/spawn_spot
for(var/obj/machinery/computer/auxillary_base/ABC in machines)
for(var/obj/machinery/computer/auxillary_base/ABC in GLOB.machines)
if(istype(get_area(ABC), /area/shuttle/auxillary_base))
found_aux_console = ABC
break

View File

@@ -82,7 +82,7 @@
var/list/destinations = list()
if(isgolem(user))
for(var/obj/item/device/radio/beacon/B in teleportbeacons)
for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons)
var/turf/T = get_turf(B)
if(istype(T.loc, /area/ruin/powered/golem_ship))
destinations += B
@@ -91,7 +91,7 @@
if(destinations.len)
return destinations
for(var/obj/item/device/radio/beacon/B in teleportbeacons)
for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons)
var/turf/T = get_turf(B)
if(T.z == ZLEVEL_STATION)
destinations += B
@@ -573,9 +573,9 @@
L.underlays -= marked_image
qdel(marked_image)
marked_image = null
var/backstab = check_target_facings(user, L)
var/backstab_dir = get_dir(user, L)
var/def_check = L.getarmor(type = "bomb")
if(backstab == FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR || backstab == FACING_SAME_DIR)
if((user.dir & backstab_dir) && (L.dir & backstab_dir))
L.apply_damage(80, BRUTE, blocked = def_check)
playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong
else

View File

@@ -1,4 +1,4 @@
var/list/total_extraction_beacons = list()
GLOBAL_LIST_EMPTY(total_extraction_beacons)
/obj/item/weapon/extraction_pack
name = "fulton extraction pack"
@@ -18,7 +18,7 @@ var/list/total_extraction_beacons = list()
/obj/item/weapon/extraction_pack/attack_self(mob/user)
var/list/possible_beacons = list()
for(var/B in total_extraction_beacons)
for(var/B in GLOB.total_extraction_beacons)
var/obj/structure/extraction_point/EP = B
if(EP.beacon_network in beacon_networks)
possible_beacons += EP
@@ -30,11 +30,12 @@ var/list/total_extraction_beacons = list()
else
var/A
A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) in possible_beacons
A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) as null|anything in possible_beacons
if(!A)
return
beacon = A
to_chat(user, "You link the extraction pack to the beacon system.")
/obj/item/weapon/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params)
if(!beacon)
@@ -60,7 +61,7 @@ var/list/total_extraction_beacons = list()
to_chat(user, "<span class='notice'>You start attaching the pack to [A]...</span>")
if(do_after(user,50,target=A))
to_chat(user, "<span class='notice'>You attach the pack to [A] and activate it.</span>")
if(loc == user || istype(user.back, /obj/item/weapon/storage/backpack))
if(loc == user && istype(user.back, /obj/item/weapon/storage/backpack))
var/obj/item/weapon/storage/backpack/B = user.back
if(B.can_be_inserted(src,stop_messages = 1))
B.handle_item_insertion(src)
@@ -150,21 +151,21 @@ var/list/total_extraction_beacons = list()
/obj/structure/extraction_point
name = "fulton recovery beacon"
desc = "A beacon for the fulton recovery system. Hit a beacon with a pack to link the pack to a beacon."
desc = "A beacon for the fulton recovery system. Activate a pack in your hand to link it to a beacon."
icon = 'icons/obj/fulton.dmi'
icon_state = "extraction_point"
anchored = 1
density = 0
var/beacon_network = "station"
/obj/structure/extraction_point/New()
/obj/structure/extraction_point/Initialize()
var/area/area_name = get_area(src)
name += " ([rand(100,999)]) ([area_name.name])"
total_extraction_beacons += src
GLOB.total_extraction_beacons += src
..()
/obj/structure/extraction_point/Destroy()
total_extraction_beacons -= src
GLOB.total_extraction_beacons -= src
..()
/obj/effect/extraction_holder
@@ -182,4 +183,4 @@ var/list/total_extraction_beacons = list()
var/mob/living/L = A
if(L.stat != DEAD)
return 1
return 0
return 0

View File

@@ -4,7 +4,7 @@
circuit = /obj/item/weapon/circuitboard/computer/labor_shuttle
shuttleId = "laborcamp"
possible_destinations = "laborcamp_home;laborcamp_away"
req_access = list(access_brig)
req_access = list(GLOB.access_brig)
/obj/machinery/computer/shuttle/labor/one_way

View File

@@ -35,7 +35,7 @@
return ..()
/obj/machinery/mineral/labor_claim_console/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "labor_claim_console", name, 450, 475, master_ui, state)
@@ -104,8 +104,8 @@
to_chat(usr, "<span class='notice'>No permission to dock could be granted.</span>")
else
if(!emagged)
Radio.set_frequency(SEC_FREQ)
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", SEC_FREQ)
Radio.set_frequency(GLOB.SEC_FREQ)
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", GLOB.SEC_FREQ, get_spans(), get_default_language())
to_chat(usr, "<span class='notice'>Shuttle received message and will be sent shortly.</span>")
/obj/machinery/mineral/labor_claim_console/proc/check_auth()

View File

@@ -9,7 +9,7 @@
/obj/structure/closet/crate/necropolis/tendril
desc = "It's watching you suspiciously."
/obj/structure/closet/crate/necropolis/tendril/New()
/obj/structure/closet/crate/necropolis/tendril/Initialize()
..()
var/loot = rand(1,25)
switch(loot)
@@ -104,7 +104,7 @@
icon_state = "lantern-blue"
feedback_add_details("wisp_lantern","R") // returned
/obj/item/device/wisp_lantern/New()
/obj/item/device/wisp_lantern/Initialize()
..()
wisp = new(src)
@@ -149,7 +149,7 @@
desc = "A mysterious red cube."
icon_state = "red_cube"
/obj/item/device/warp_cube/red/New()
/obj/item/device/warp_cube/red/Initialize()
..()
if(!linked)
var/obj/item/device/warp_cube/blue = new(src.loc)
@@ -294,7 +294,7 @@
name = "paradox bag"
desc = "Somehow, it's in two places at once."
/obj/item/device/shared_storage/red/New()
/obj/item/device/shared_storage/red/Initialize()
..()
if(!bag)
var/obj/item/weapon/storage/backpack/shared/S = new(src)
@@ -359,7 +359,7 @@
name = "oar"
icon = 'icons/obj/vehicles.dmi'
icon_state = "oar"
item_state = "rods"
item_state = "oar"
desc = "Not to be confused with the kind Research hassles you for."
force = 12
w_class = WEIGHT_CLASS_NORMAL
@@ -453,7 +453,7 @@
/obj/structure/closet/crate/necropolis/dragon
name = "dragon chest"
/obj/structure/closet/crate/necropolis/dragon/New()
/obj/structure/closet/crate/necropolis/dragon/Initialize()
..()
var/loot = rand(1,4)
switch(loot)
@@ -482,18 +482,18 @@
var/summon_cooldown = 0
var/list/mob/dead/observer/spirits
/obj/item/weapon/melee/ghost_sword/New()
/obj/item/weapon/melee/ghost_sword/Initialize()
..()
spirits = list()
START_PROCESSING(SSobj, src)
poi_list |= src
GLOB.poi_list |= src
/obj/item/weapon/melee/ghost_sword/Destroy()
for(var/mob/dead/observer/G in spirits)
G.invisibility = observer_default_invisibility
G.invisibility = GLOB.observer_default_invisibility
spirits.Cut()
STOP_PROCESSING(SSobj, src)
poi_list -= src
GLOB.poi_list -= src
. = ..()
/obj/item/weapon/melee/ghost_sword/attack_self(mob/user)
@@ -537,7 +537,7 @@
current_spirits |= G
for(var/mob/dead/observer/G in spirits - current_spirits)
G.invisibility = observer_default_invisibility
G.invisibility = GLOB.observer_default_invisibility
spirits = current_spirits
@@ -634,7 +634,7 @@
var/timer = 0
var/banned_turfs
/obj/item/weapon/lava_staff/New()
/obj/item/weapon/lava_staff/Initialize()
. = ..()
banned_turfs = typecacheof(list(/turf/open/space/transit, /turf/closed))
@@ -699,7 +699,7 @@
/obj/structure/closet/crate/necropolis/bubblegum
name = "bubblegum chest"
/obj/structure/closet/crate/necropolis/bubblegum/New()
/obj/structure/closet/crate/necropolis/bubblegum/Initialize()
..()
var/loot = rand(1,3)
switch(loot)
@@ -722,7 +722,7 @@
if(used)
return
used = TRUE
var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in player_list
var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in GLOB.player_list
if(!(isliving(choice)))
to_chat(user, "[choice] is already dead!")
@@ -747,7 +747,7 @@
var/obj/effect/mine/pickup/bloodbath/B = new(L)
B.mineEffect(L)
for(var/mob/living/carbon/human/H in player_list)
for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H == L)
continue
to_chat(H, "<span class='userdanger'>You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!</span>")
@@ -975,7 +975,7 @@
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
new /obj/effect/overlay/temp/hierophant/blast(T, user, friendly_fire_check)
for(var/d in cardinal)
for(var/d in GLOB.cardinal)
INVOKE_ASYNC(src, .proc/blast_wall, T, d, user)
/obj/item/weapon/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long

View File

@@ -10,8 +10,8 @@
anchored = 1
input_dir = NORTH
output_dir = SOUTH
req_access = list(access_mineral_storeroom)
var/req_access_reclaim = access_mining_station
req_access = list(GLOB.access_mineral_storeroom)
var/req_access_reclaim = GLOB.access_mining_station
var/stk_types = list()
var/stk_amt = list()
var/stack_list = list() //Key: Type. Value: Instance of type.
@@ -85,7 +85,7 @@
var/obj/item/stack/sheet/sheet = stack_list[s]
msg += "[capitalize(sheet.name)]: [sheet.amount] sheets<br>"
for(var/obj/machinery/requests_console/D in allConsoles)
for(var/obj/machinery/requests_console/D in GLOB.allConsoles)
if(D.receive_ore_updates)
D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0)

View File

@@ -52,7 +52,6 @@
new /datum/data/mining_equipment("Drone AI Upgrade", /obj/item/slimepotion/sentience/mining, 1000),
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
new /datum/data/mining_equipment("Survival Knife", /obj/item/weapon/kitchen/knife/combat/survival, 350),
new /datum/data/mining_equipment("Survival Pen Economy Pack",/obj/item/weapon/storage/box/medipens/survival, 2000),
new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 250),
new /datum/data/mining_equipment("Stimpack Economy Pack",/obj/item/weapon/storage/box/medipens/utility, 1000)
)
@@ -276,10 +275,10 @@
/obj/item/weapon/card/mining_access_card/afterattack(atom/movable/AM, mob/user, proximity)
if(istype(AM, /obj/item/weapon/card/id) && proximity)
var/obj/item/weapon/card/id/I = AM
I.access |= access_mining
I.access |= access_mining_station
I.access |= access_mineral_storeroom
I.access |= access_cargo
I.access |= GLOB.access_mining
I.access |= GLOB.access_mining_station
I.access |= GLOB.access_mineral_storeroom
I.access |= GLOB.access_cargo
to_chat(user, "You upgrade [I] with mining access.")
qdel(src)
..()

View File

@@ -37,7 +37,7 @@
/obj/structure/closet/secure_closet/miner
name = "miner's equipment"
icon_state = "mining"
req_access = list(access_mining)
req_access = list(GLOB.access_mining)
/obj/structure/closet/secure_closet/miner/New()
..()
@@ -68,7 +68,7 @@
var/global/list/dumb_rev_heads = list()
/obj/machinery/computer/shuttle/mining/attack_hand(mob/user)
if(user.z == ZLEVEL_STATION && user.mind && (user.mind in ticker.mode.head_revolutionaries) && !(user.mind in dumb_rev_heads))
if(user.z == ZLEVEL_STATION && user.mind && (user.mind in SSticker.mode.head_revolutionaries) && !(user.mind in dumb_rev_heads))
to_chat(user, "<span class='warning'>You get a feeling that leaving the station might be a REALLY dumb idea...</span>")
dumb_rev_heads += user.mind
return
@@ -389,16 +389,18 @@
name = "dusty survival pod storage"
desc = "A heated storage unit. This one's seen better days."
/obj/machinery/smartfridge/survival_pod/empty/New()
return()
/obj/machinery/smartfridge/survival_pod/empty/Initialize(mapload)
..(mapload, TRUE)
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
if(istype(O, /obj/item))
return 1
return 0
/obj/machinery/smartfridge/survival_pod/New()
/obj/machinery/smartfridge/survival_pod/Initialize(mapload, empty)
..()
if(empty)
return
for(var/i in 1 to 5)
var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm/W = new(src)
load(W)

View File

@@ -130,13 +130,13 @@
if(istype(target, /obj/item/weapon/ore) && mode == MINEDRONE_COLLECT)
CollectOre()
return
..()
return ..()
/mob/living/simple_animal/hostile/mining_drone/proc/CollectOre()
var/obj/item/weapon/ore/O
for(O in src.loc)
O.loc = src
for(var/dir in alldirs)
for(var/dir in GLOB.alldirs)
var/turf/T = get_step(src,dir)
for(O in T)
O.loc = src
@@ -195,13 +195,14 @@
/datum/action/innate/minedrone/toggle_meson_vision/Activate()
var/mob/living/simple_animal/hostile/mining_drone/user = owner
if(user.sight & SEE_TURFS)
user.sight &= ~SEE_TURFS
user.see_invisible = SEE_INVISIBLE_LIVING
user.lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE
else
user.sight |= SEE_TURFS
user.see_invisible = SEE_INVISIBLE_MINIMUM
user.lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE
user.sync_lighting_plane_alpha()
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].</span>")

View File

@@ -270,7 +270,7 @@
explosion(src.loc,-1,1,3,adminlog = notify_admins)
qdel(src)
/obj/item/weapon/ore/New()
/obj/item/weapon/ore/Initialize()
..()
pixel_x = rand(0,16)-8
pixel_y = rand(0,8)-8
@@ -297,68 +297,73 @@
var/cooldown = 0
var/value = 1
/obj/item/weapon/coin/New()
/obj/item/weapon/coin/Initialize()
..()
pixel_x = rand(0,16)-8
pixel_y = rand(0,8)-8
icon_state = "coin_[cmineral]_heads"
if(cmineral)
name = "[cmineral] coin"
/obj/item/weapon/coin/examine(mob/user)
..()
if(value)
to_chat(user, "<span class='info'>It's worth [value] credit\s.</span>")
/obj/item/weapon/coin/gold
name = "gold coin"
cmineral = "gold"
icon_state = "coin_gold_heads"
value = 50
materials = list(MAT_GOLD = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/silver
name = "silver coin"
cmineral = "silver"
icon_state = "coin_silver_heads"
value = 20
materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/diamond
name = "diamond coin"
cmineral = "diamond"
icon_state = "coin_diamond_heads"
value = 500
materials = list(MAT_DIAMOND = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/iron
name = "iron coin"
cmineral = "iron"
icon_state = "coin_iron_heads"
value = 1
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/plasma
name = "plasma coin"
cmineral = "plasma"
icon_state = "coin_plasma_heads"
value = 100
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/uranium
name = "uranium coin"
cmineral = "uranium"
icon_state = "coin_uranium_heads"
value = 80
materials = list(MAT_URANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/clown
name = "bananium coin"
cmineral = "bananium"
icon_state = "coin_bananium_heads"
value = 1000 //makes the clown cry
materials = list(MAT_BANANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
/obj/item/weapon/coin/adamantine
name = "adamantine coin"
cmineral = "adamantine"
icon_state = "coin_adamantine_heads"
value = 1500
/obj/item/weapon/coin/mythril
name = "mythril coin"
cmineral = "mythril"
icon_state = "coin_mythril_heads"
value = 3000
@@ -379,9 +384,6 @@
sideslist = list("valid", "salad")
value = 0
/obj/item/weapon/coin/antagtoken/New()
return
/obj/item/weapon/coin/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
@@ -411,12 +413,12 @@
else ..()
/obj/item/weapon/coin/attack_self(mob/user)
if(cooldown < world.time - 15)
if(cooldown < world.time)
if(string_attached) //does the coin have a wire attached
to_chat(user, "<span class='warning'>The coin won't flip very well with something attached!</span>" )
return //do not flip the coin
var/coinflip = pick(sideslist)
cooldown = world.time
cooldown = world.time + 15
flick("coin_[cmineral]_flip", src)
icon_state = "coin_[cmineral]_[coinflip]"
playsound(user.loc, 'sound/items/coinflip.ogg', 50, 1)