mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-06 07:22:42 +00:00
Fixes merge conflicts again.
This commit is contained in:
@@ -183,7 +183,7 @@
|
||||
else
|
||||
f_name += "oil-stained [name][infix]."
|
||||
|
||||
to_chat(user, "\icon[src] That's [f_name] [suffix]")
|
||||
to_chat(user, "[bicon(src)] That's [f_name] [suffix]")
|
||||
to_chat(user,desc)
|
||||
|
||||
return distance == -1 || (get_dist(src, user) <= distance)
|
||||
|
||||
@@ -538,15 +538,15 @@ proc/get_nt_opposed()
|
||||
set category = "OOC"
|
||||
|
||||
if(!ticker || !ticker.mode)
|
||||
to_chat(usr, "Something is terribly wrong; there is no gametype.")
|
||||
to_chat(usr, "<span class='warning'>Something is terribly wrong; there is no gametype.</span>")
|
||||
return
|
||||
|
||||
if(master_mode != "secret")
|
||||
to_chat(usr, "<b>The roundtype is [capitalize(ticker.mode.name)]</b>")
|
||||
to_chat(usr, "<span class='notice'><b>The roundtype is [capitalize(ticker.mode.name)]</b></span>")
|
||||
if(ticker.mode.round_description)
|
||||
to_chat(usr, "<i>[ticker.mode.round_description]</i>")
|
||||
to_chat(usr, "<span class='notice'><i>[ticker.mode.round_description]</i></span>")
|
||||
if(ticker.mode.extended_round_description)
|
||||
to_chat(usr, "[ticker.mode.extended_round_description]")
|
||||
to_chat(usr, "<span class='notice'>[ticker.mode.extended_round_description]</span>")
|
||||
else
|
||||
to_chat(usr, "<i>Shhhh</i>. It's a secret.")
|
||||
to_chat(usr, "<span class='notice'><i>Shhhh</i>. It's a secret.</span>")
|
||||
return
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
var/orders[0]
|
||||
var/receipts[0]
|
||||
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if(shuttle)
|
||||
if(shuttle.has_arrive_time())
|
||||
shuttle_status["location"] = "In transit"
|
||||
@@ -109,8 +109,8 @@
|
||||
else
|
||||
shuttle["mode"] = SUP_SHUTTLE_ERROR
|
||||
|
||||
for(var/pack_name in supply_controller.supply_pack)
|
||||
var/datum/supply_pack/P = supply_controller.supply_pack[pack_name]
|
||||
for(var/pack_name in SSsupply.supply_pack)
|
||||
var/datum/supply_pack/P = SSsupply.supply_pack[pack_name]
|
||||
if(P.group == active_category)
|
||||
var/list/pack = list(
|
||||
"name" = P.name,
|
||||
@@ -131,7 +131,7 @@
|
||||
// Status determines which menus the entry will display in
|
||||
// Organized in field-entry list for iterative display
|
||||
// List is nested so both the list of orders, and the list of elements in each order, can be iterated over
|
||||
for(var/datum/supply_order/S in supply_controller.order_history)
|
||||
for(var/datum/supply_order/S in SSsupply.order_history)
|
||||
orders[++orders.len] = list(
|
||||
"ref" = "\ref[S]",
|
||||
"status" = S.status,
|
||||
@@ -148,7 +148,7 @@
|
||||
)
|
||||
|
||||
// Compile exported crates
|
||||
for(var/datum/exported_crate/E in supply_controller.exported_crates)
|
||||
for(var/datum/exported_crate/E in SSsupply.exported_crates)
|
||||
receipts[++receipts.len] = list(
|
||||
"ref" = "\ref[E]",
|
||||
"contents" = E.contents,
|
||||
@@ -164,7 +164,7 @@
|
||||
data["shuttle_auth"] = (authorization & SUP_SEND_SHUTTLE) // Whether this ui is permitted to control the supply shuttle
|
||||
data["order_auth"] = (authorization & SUP_ACCEPT_ORDERS) // Whether this ui is permitted to accept/deny requested orders
|
||||
data["shuttle"] = shuttle_status
|
||||
data["supply_points"] = supply_controller.points
|
||||
data["supply_points"] = SSsupply.points
|
||||
data["categories"] = all_supply_groups
|
||||
data["active_category"] = active_category
|
||||
data["supply_packs"] = pack_list
|
||||
@@ -189,10 +189,10 @@
|
||||
|
||||
|
||||
/obj/machinery/computer/supplycomp/Topic(href, href_list)
|
||||
if(!supply_controller)
|
||||
to_world_log("## ERROR: The supply_controller datum is missing.")
|
||||
if(!SSsupply)
|
||||
to_world_log("## ERROR: The SSsupply datum is missing.")
|
||||
return
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if (!shuttle)
|
||||
to_world_log("## ERROR: The supply shuttle datum is missing.")
|
||||
return
|
||||
@@ -240,7 +240,7 @@
|
||||
if(!reason)
|
||||
return
|
||||
|
||||
supply_controller.create_order(S, user, reason)
|
||||
SSsupply.create_order(S, user, reason)
|
||||
|
||||
var/idname = "*None Provided*"
|
||||
var/idrank = "*None Provided*"
|
||||
@@ -255,7 +255,7 @@
|
||||
var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc)
|
||||
reqform.name = "Requisition Form - [S.name]"
|
||||
reqform.info += "<h3>[station_name()] Supply Requisition Form</h3><hr>"
|
||||
reqform.info += "INDEX: #[supply_controller.ordernum]<br>"
|
||||
reqform.info += "INDEX: #[SSsupply.ordernum]<br>"
|
||||
reqform.info += "REQUESTED BY: [idname]<br>"
|
||||
reqform.info += "RANK: [idrank]<br>"
|
||||
reqform.info += "REASON: [reason]<br>"
|
||||
@@ -315,20 +315,20 @@
|
||||
O.approved_at = new_val
|
||||
|
||||
if(href_list["approve"])
|
||||
supply_controller.approve_order(O, user)
|
||||
SSsupply.approve_order(O, user)
|
||||
|
||||
if(href_list["deny"])
|
||||
supply_controller.deny_order(O, user)
|
||||
SSsupply.deny_order(O, user)
|
||||
|
||||
if(href_list["delete"])
|
||||
supply_controller.delete_order(O, user)
|
||||
SSsupply.delete_order(O, user)
|
||||
|
||||
if(href_list["clear_all_requests"])
|
||||
var/mob/user = locate(href_list["user"])
|
||||
if(!istype(user)) // Invalid ref
|
||||
return
|
||||
|
||||
supply_controller.deny_all_pending(user)
|
||||
SSsupply.deny_all_pending(user)
|
||||
|
||||
if(href_list["export_ref"])
|
||||
var/datum/exported_crate/E = locate(href_list["export_ref"])
|
||||
@@ -384,10 +384,10 @@
|
||||
E.value = num
|
||||
|
||||
else if(href_list["delete"])
|
||||
supply_controller.delete_export(E, user)
|
||||
SSsupply.delete_export(E, user)
|
||||
|
||||
else if(href_list["add_item"])
|
||||
supply_controller.add_export_item(E, user)
|
||||
SSsupply.add_export_item(E, user)
|
||||
|
||||
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
|
||||
if("send_to_station")
|
||||
shuttle.launch(src)
|
||||
to_chat(usr, "<span class='notice'>The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.</span>")
|
||||
to_chat(usr, "<span class='notice'>The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.</span>")
|
||||
|
||||
if("cancel_shuttle")
|
||||
shuttle.cancel_launch(src)
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
dat += "<a href='?src=\ref[src];item=1'>Recover object</a>.<br>"
|
||||
dat += "<a href='?src=\ref[src];allitems=1'>Recover all objects</a>.<br>"
|
||||
|
||||
to_chat(user, browse(dat, "window=cryopod_console"))
|
||||
user << browse(dat, "window=cryopod_console")
|
||||
onclose(user, "cryopod_console")
|
||||
|
||||
/obj/machinery/computer/cryopod/Topic(href, href_list)
|
||||
@@ -114,7 +114,7 @@
|
||||
dat += "[person]<br/>"
|
||||
dat += "<hr/>"
|
||||
|
||||
to_chat(user, browse(dat, "window=cryolog"))
|
||||
user << browse(dat, "window=cryolog")
|
||||
|
||||
if(href_list["view"])
|
||||
if(!allow_items) return
|
||||
@@ -124,7 +124,7 @@
|
||||
dat += "[I.name]<br/>"
|
||||
dat += "<hr/>"
|
||||
|
||||
to_chat(user, browse(dat, "window=cryoitems"))
|
||||
user << browse(dat, "window=cryoitems")
|
||||
|
||||
else if(href_list["item"])
|
||||
if(!allow_items) return
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
if(docking_codes)
|
||||
var/code = signal.data["code"]
|
||||
if(code != docking_codes)
|
||||
testing("Controller [id_tag] got request_dock but code:[code] != docking_codes:[docking_codes]")
|
||||
log_debug("Controller [id_tag] got request_dock but code:[code] != docking_codes:[docking_codes]")
|
||||
return
|
||||
|
||||
control_mode = MODE_SERVER
|
||||
|
||||
@@ -268,7 +268,7 @@ Class Procs:
|
||||
|
||||
/obj/machinery/proc/state(var/msg)
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("\icon[src] <span class = 'notice'>[msg]</span>", 2)
|
||||
O.show_message("[bicon(src)] <span class = 'notice'>[msg]</span>", 2)
|
||||
|
||||
/obj/machinery/proc/ping(text=null)
|
||||
if(!text)
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
var/icon/I = imap[1+(ix + icx*iy)*2]
|
||||
var/icon/I2 = imap[2+(ix + icx*iy)*2]
|
||||
|
||||
//to_world("icon: \icon[I]")
|
||||
//to_world("icon: [bicon(I)]")
|
||||
|
||||
I.DrawBox(colour, rx, ry, rx+1, ry+1)
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
|
||||
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
|
||||
|
||||
//to_world("\icon[I] at [H.screen_loc]")
|
||||
//to_world("[bicon(I)] at [H.screen_loc]")
|
||||
|
||||
H.name = (i==0)?"maprefresh":"map"
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
//to_world("trying [ix],[iy] : [ix+icx*iy]")
|
||||
var/icon/I = imap[1+(ix + icx*iy)]
|
||||
|
||||
//to_world("icon: \icon[I]")
|
||||
//to_world("icon: [bicon(I)]")
|
||||
|
||||
I.DrawBox(colour, rx, ry, rx, ry)
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
|
||||
|
||||
//to_world("\icon[I] at [H.screen_loc]")
|
||||
//to_world("[bicon(I)] at [H.screen_loc]")
|
||||
|
||||
H.name = (i==0)?"maprefresh":"map"
|
||||
|
||||
|
||||
@@ -176,7 +176,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
screen = RCS_SENTPASS
|
||||
message_log += "<B>Message sent to [recipient]</B><BR>[message]"
|
||||
else
|
||||
audible_message(text("\icon[src] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
|
||||
audible_message(text("[bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
|
||||
|
||||
//Handle screen switching
|
||||
if(href_list["setScreen"])
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]"
|
||||
|
||||
/obj/machinery/status_display/proc/get_supply_shuttle_timer()
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if(!shuttle)
|
||||
return "Error"
|
||||
|
||||
|
||||
@@ -931,7 +931,7 @@
|
||||
|
||||
/obj/machinery/suit_cycler/proc/finished_job()
|
||||
var/turf/T = get_turf(src)
|
||||
T.visible_message("\icon[src]<span class='notice'>The [src] beeps several times.</span>")
|
||||
T.visible_message("[bicon(src)]<span class='notice'>The [src] beeps several times.</span>")
|
||||
icon_state = initial(icon_state)
|
||||
active = 0
|
||||
playsound(src, 'sound/machines/boobeebeep.ogg', 50)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
message1 = "CARGO"
|
||||
message2 = ""
|
||||
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if(!shuttle)
|
||||
message2 = "Error"
|
||||
else if(shuttle.has_arrive_time())
|
||||
|
||||
@@ -348,7 +348,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
var/part_b_extra = ""
|
||||
if(data == 3) // intercepted radio message
|
||||
part_b_extra = " <i>(Intercepted)</i>"
|
||||
var/part_a = "<span class='[frequency_span_class(display_freq)]'>\icon[radio]<b>\[[freq_text]\][part_b_extra]</b> <span class='name'>" // goes in the actual output
|
||||
var/part_a = "<span class='[frequency_span_class(display_freq)]'>[bicon(radio)]<b>\[[freq_text]\][part_b_extra]</b> <span class='name'>" // goes in the actual output
|
||||
|
||||
// --- Some more pre-message formatting ---
|
||||
var/part_b = "</span> <span class='message'>" // Tweaked for security headsets -- TLE
|
||||
@@ -547,7 +547,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
// Create a radio headset for the sole purpose of using its icon
|
||||
var/obj/item/device/radio/headset/radio = new
|
||||
|
||||
var/part_b = "</span><b> \icon[radio]\[[freq_text]\][part_b_extra]</b> <span class='message'>" // Tweaked for security headsets -- TLE
|
||||
var/part_b = "</span><b> [bicon(radio)]\[[freq_text]\][part_b_extra]</b> <span class='message'>" // Tweaked for security headsets -- TLE
|
||||
var/part_blackbox_b = "</span><b> \[[freq_text]\]</b> <span class='message'>" // Tweaked for security headsets -- TLE
|
||||
var/part_c = "</span></span>"
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
dat += "</font>"
|
||||
temp = ""
|
||||
to_chat(user, browse(dat, "window=tcommachine;size=520x500;can_resize=0"))
|
||||
user << browse(dat, "window=tcommachine;size=520x500;can_resize=0")
|
||||
onclose(user, "dormitory")
|
||||
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
|
||||
// This is not a status display message, since it's something the character
|
||||
// themselves is meant to see BEFORE putting the money in
|
||||
to_chat(usr, "\icon[cashmoney] <span class='warning'>That is not enough money.</span>")
|
||||
to_chat(usr, "[bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
|
||||
return 0
|
||||
|
||||
if(istype(cashmoney, /obj/item/weapon/spacecash))
|
||||
|
||||
@@ -178,10 +178,10 @@
|
||||
src.log_message("Toggled zoom mode.")
|
||||
src.occupant_message("<font color='[src.zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>")
|
||||
if(zoom)
|
||||
src.occupant.client.view = 12
|
||||
src.occupant.set_viewsize(12)
|
||||
playsound(src.occupant, 'sound/mecha/imag_enh.ogg',50)
|
||||
else
|
||||
src.occupant.client.view = world.view//world.view - default mob view size
|
||||
src.occupant.set_viewsize() // Reset to default
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -180,10 +180,10 @@
|
||||
src.log_message("Toggled zoom mode.")
|
||||
src.occupant_message("<font color='[src.zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>")
|
||||
if(zoom)
|
||||
src.occupant.client.view = 12
|
||||
src.occupant.set_viewsize(12)
|
||||
src.occupant << sound('sound/mecha/imag_enh.ogg',volume=50)
|
||||
else
|
||||
src.occupant.client.view = world.view//world.view - default mob view size
|
||||
src.occupant.set_viewsize() // Reset to default
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message)
|
||||
if(chassis)
|
||||
chassis.occupant_message("\icon[src] [message]")
|
||||
chassis.occupant_message("[bicon(src)] [message]")
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/proc/log_message(message)
|
||||
|
||||
@@ -177,20 +177,20 @@
|
||||
switch(emagged)
|
||||
if(0)
|
||||
emagged = 0.5
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
sleep(10)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
sleep(15)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
sleep(30)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
req_access = null
|
||||
emagged = 1
|
||||
return 1
|
||||
if(0.5)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
if(1)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/proc/update_busy()
|
||||
if(queue.len)
|
||||
|
||||
@@ -225,20 +225,20 @@
|
||||
switch(emagged)
|
||||
if(0)
|
||||
emagged = 0.5
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
sleep(10)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
sleep(15)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
sleep(30)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
req_access = null
|
||||
emagged = 1
|
||||
return 1
|
||||
if(0.5)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
if(1)
|
||||
visible_message("\icon[src] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
|
||||
/obj/machinery/pros_fabricator/proc/update_busy()
|
||||
if(queue.len)
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
if(equipment && equipment.len)
|
||||
to_chat(user, "It's equipped with:")
|
||||
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
|
||||
to_chat(user, "\icon[ME] [ME]")
|
||||
to_chat(user, "[bicon(ME)] [ME]")
|
||||
return
|
||||
|
||||
|
||||
@@ -1642,7 +1642,7 @@
|
||||
/obj/mecha/proc/occupant_message(message as text)
|
||||
if(message)
|
||||
if(src.occupant && src.occupant.client)
|
||||
to_chat(src.occupant, "\icon[src] [message]")
|
||||
to_chat(src.occupant, "[bicon(src)] [message]")
|
||||
return
|
||||
|
||||
/obj/mecha/proc/log_message(message as text,red=null)
|
||||
|
||||
@@ -663,7 +663,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
if(!zoom && !cannotzoom)
|
||||
if(H.hud_used.hud_shown)
|
||||
H.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in
|
||||
H.client.view = viewsize
|
||||
H.set_viewsize(viewsize)
|
||||
zoom = 1
|
||||
|
||||
var/tilesize = 32
|
||||
@@ -689,7 +689,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
H.handle_vision()
|
||||
|
||||
else
|
||||
H.client.view = world.view
|
||||
H.set_viewsize() // Reset to default
|
||||
if(!H.hud_used.hud_shown)
|
||||
H.toggle_zoom_hud()
|
||||
zoom = 0
|
||||
|
||||
@@ -660,8 +660,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
// auto update every Master Controller tick
|
||||
ui.set_auto_update(auto_update)
|
||||
|
||||
//NOTE: graphic resources are loaded on client login
|
||||
/obj/item/device/pda/attack_self(mob/user as mob)
|
||||
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/pda)
|
||||
assets.send(user)
|
||||
|
||||
user.set_machine(src)
|
||||
|
||||
@@ -1151,7 +1152,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
if (!beep_silent)
|
||||
playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
for (var/mob/O in hearers(2, loc))
|
||||
O.show_message(text("\icon[src] *[message_tone]*"))
|
||||
O.show_message(text("[bicon(src)] *[message_tone]*"))
|
||||
//Search for holder of the PDA.
|
||||
var/mob/living/L = null
|
||||
if(loc && isliving(loc))
|
||||
@@ -1166,7 +1167,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
SSnanoui.update_user_uis(L, src) // Update the receiving user's PDA UI so that they can see the new message
|
||||
|
||||
/obj/item/device/pda/proc/new_news(var/message)
|
||||
new_info(news_silent, newstone, news_silent ? "" : "\icon[src] <b>[message]</b>")
|
||||
new_info(news_silent, newstone, news_silent ? "" : "[bicon(src)] <b>[message]</b>")
|
||||
|
||||
if(!news_silent)
|
||||
new_news = 1
|
||||
@@ -1181,7 +1182,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
new_message(sending_device, sending_device.owner, sending_device.ownjob, message)
|
||||
|
||||
/obj/item/device/pda/proc/new_message(var/sending_unit, var/sender, var/sender_job, var/message, var/reply = 1)
|
||||
var/reception_message = "\icon[src] <b>Message from [sender] ([sender_job]), </b>\"[message]\" ([reply ? "<a href='byond://?src=\ref[src];choice=Message;notap=[istype(loc, /mob/living/silicon)];skiprefresh=1;target=\ref[sending_unit]'>Reply</a>" : "Unable to Reply"])"
|
||||
var/reception_message = "[bicon(src)] <b>Message from [sender] ([sender_job]), </b>\"[message]\" ([reply ? "<a href='byond://?src=\ref[src];choice=Message;notap=[istype(loc, /mob/living/silicon)];skiprefresh=1;target=\ref[sending_unit]'>Reply</a>" : "Unable to Reply"])"
|
||||
new_info(message_silent, ttone, reception_message)
|
||||
|
||||
log_pda("(PDA: [sending_unit]) sent \"[message]\" to [name]", usr)
|
||||
@@ -1193,7 +1194,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
if(ismob(sending_unit.loc) && isAI(loc))
|
||||
track = "(<a href='byond://?src=\ref[loc];track=\ref[sending_unit.loc];trackname=[html_encode(sender)]'>Follow</a>)"
|
||||
|
||||
var/reception_message = "\icon[src] <b>Message from [sender] ([sender_job]), </b>\"[message]\" (<a href='byond://?src=\ref[src];choice=Message;notap=1;skiprefresh=1;target=\ref[sending_unit]'>Reply</a>) [track]"
|
||||
var/reception_message = "[bicon(src)] <b>Message from [sender] ([sender_job]), </b>\"[message]\" (<a href='byond://?src=\ref[src];choice=Message;notap=1;skiprefresh=1;target=\ref[sending_unit]'>Reply</a>) [track]"
|
||||
new_info(message_silent, newstone, reception_message)
|
||||
|
||||
log_pda("(PDA: [sending_unit]) sent \"[message]\" to [name]",usr)
|
||||
|
||||
@@ -425,14 +425,14 @@ var/list/civilian_cartridges = list(
|
||||
|
||||
if(mode==47)
|
||||
var/supplyData[0]
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if (shuttle)
|
||||
supplyData["shuttle_moving"] = shuttle.has_arrive_time()
|
||||
supplyData["shuttle_eta"] = shuttle.eta_minutes()
|
||||
supplyData["shuttle_loc"] = shuttle.at_station() ? "Station" : "Dock"
|
||||
var/supplyOrderCount = 0
|
||||
var/supplyOrderData[0]
|
||||
for(var/S in supply_controller.shoppinglist)
|
||||
for(var/S in SSsupply.shoppinglist)
|
||||
var/datum/supply_order/SO = S
|
||||
|
||||
supplyOrderData[++supplyOrderData.len] = list("Number" = SO.ordernum, "Name" = html_encode(SO.object.name), "ApprovedBy" = SO.ordered_by, "Comment" = html_encode(SO.comment))
|
||||
@@ -444,7 +444,7 @@ var/list/civilian_cartridges = list(
|
||||
|
||||
var/requestCount = 0
|
||||
var/requestData[0]
|
||||
for(var/S in supply_controller.order_history)
|
||||
for(var/S in SSsupply.order_history)
|
||||
var/datum/supply_order/SO = S
|
||||
if(SO.status != SUP_ORDER_REQUESTED)
|
||||
continue
|
||||
|
||||
@@ -94,22 +94,22 @@
|
||||
if(new_state != old_state)
|
||||
switch(new_state)
|
||||
if(PROXIMITY_OFF_CAMERANET)
|
||||
to_chat(carrier, "<span class='notice'>\icon[src] Now outside of camera network.</span>")
|
||||
to_chat(carrier, "<span class='notice'>[bicon(src)] Now outside of camera network.</span>")
|
||||
carrier << 'sound/machines/defib_failed.ogg'
|
||||
if(PROXIMITY_NONE)
|
||||
to_chat(carrier, "<span class='notice'>\icon[src] Now within camera network, AI and cameras unfocused.</span>")
|
||||
to_chat(carrier, "<span class='notice'>[bicon(src)] Now within camera network, AI and cameras unfocused.</span>")
|
||||
carrier << 'sound/machines/defib_safetyOff.ogg'
|
||||
if(PROXIMITY_NEAR)
|
||||
to_chat(carrier, "<span class='warning'>\icon[src] Warning: AI focus at nearby location.</span>")
|
||||
to_chat(carrier, "<span class='warning'>[bicon(src)] Warning: AI focus at nearby location.</span>")
|
||||
carrier << 'sound/machines/defib_SafetyOn.ogg'
|
||||
if(PROXIMITY_ON_SCREEN)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src] Alert: AI or camera focused at current location!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Alert: AI or camera focused at current location!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
if(PROXIMITY_TRACKING)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src] Danger: AI is actively tracking you!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Danger: AI is actively tracking you!</span></font>")
|
||||
carrier << 'sound/machines/defib_success.ogg'
|
||||
if(PROXIMITY_TRACKING_FAIL)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
if(!reason)
|
||||
return
|
||||
|
||||
supply_controller.create_order(S, user, reason)
|
||||
SSsupply.create_order(S, user, reason)
|
||||
internal_data["supply_reqtime"] = (world.time + 5) % 1e5
|
||||
|
||||
if(href_list["order_ref"])
|
||||
@@ -189,20 +189,20 @@
|
||||
O.approved_at = new_val
|
||||
|
||||
if(href_list["approve"])
|
||||
supply_controller.approve_order(O, user)
|
||||
SSsupply.approve_order(O, user)
|
||||
|
||||
if(href_list["deny"])
|
||||
supply_controller.deny_order(O, user)
|
||||
SSsupply.deny_order(O, user)
|
||||
|
||||
if(href_list["delete"])
|
||||
supply_controller.delete_order(O, user)
|
||||
SSsupply.delete_order(O, user)
|
||||
|
||||
if(href_list["clear_all_requests"])
|
||||
var/mob/user = locate(href_list["user"])
|
||||
if(!istype(user)) // Invalid ref
|
||||
return
|
||||
|
||||
supply_controller.deny_all_pending(user)
|
||||
SSsupply.deny_all_pending(user)
|
||||
|
||||
if(href_list["export_ref"])
|
||||
var/datum/exported_crate/E = locate(href_list["export_ref"])
|
||||
@@ -258,29 +258,29 @@
|
||||
E.value = num
|
||||
|
||||
else if(href_list["delete"])
|
||||
supply_controller.delete_export(E, user)
|
||||
SSsupply.delete_export(E, user)
|
||||
|
||||
else if(href_list["add_item"])
|
||||
supply_controller.add_export_item(E, user)
|
||||
SSsupply.add_export_item(E, user)
|
||||
|
||||
if(supply_controller && supply_controller.shuttle)
|
||||
if(SSsupply && SSsupply.shuttle)
|
||||
switch(href_list["send_shuttle"])
|
||||
if("send_away")
|
||||
if(supply_controller.shuttle.forbidden_atoms_check())
|
||||
if(SSsupply.shuttle.forbidden_atoms_check())
|
||||
to_chat(usr, "<span class='warning'>For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.</span>")
|
||||
else
|
||||
supply_controller.shuttle.launch(src)
|
||||
SSsupply.shuttle.launch(src)
|
||||
to_chat(usr, "<span class='notice'>Initiating launch sequence.</span>")
|
||||
|
||||
if("send_to_station")
|
||||
supply_controller.shuttle.launch(src)
|
||||
to_chat(usr, "<span class='notice'>The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.</span>")
|
||||
SSsupply.shuttle.launch(src)
|
||||
to_chat(usr, "<span class='notice'>The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.</span>")
|
||||
|
||||
if("cancel_shuttle")
|
||||
supply_controller.shuttle.cancel_launch(src)
|
||||
SSsupply.shuttle.cancel_launch(src)
|
||||
|
||||
if("force_shuttle")
|
||||
supply_controller.shuttle.force_launch(src)
|
||||
SSsupply.shuttle.force_launch(src)
|
||||
|
||||
// Status display
|
||||
switch(href_list["stat_display"])
|
||||
|
||||
@@ -313,7 +313,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
||||
/obj/item/device/communicator/Destroy()
|
||||
for(var/mob/living/voice/voice in contents)
|
||||
voice_mobs.Remove(voice)
|
||||
to_chat(voice, "<span class='danger'>\icon[src] Connection timed out with remote host.</span>")
|
||||
to_chat(voice, "<span class='danger'>[bicon(src)] Connection timed out with remote host.</span>")
|
||||
qdel(voice)
|
||||
close_connection(reason = "Connection timed out")
|
||||
|
||||
|
||||
@@ -394,7 +394,7 @@
|
||||
// code\game\machinery\computer\supply.dm, starting at line 55
|
||||
/obj/item/weapon/commcard/proc/get_supply_shuttle_status()
|
||||
var/shuttle_status[0]
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
|
||||
if(shuttle)
|
||||
if(shuttle.has_arrive_time())
|
||||
shuttle_status["location"] = "In transit"
|
||||
@@ -454,7 +454,7 @@
|
||||
// code\game\machinery\computer\supply.dm, starting at line 130
|
||||
/obj/item/weapon/commcard/proc/get_supply_orders()
|
||||
var/orders[0]
|
||||
for(var/datum/supply_order/S in supply_controller.order_history)
|
||||
for(var/datum/supply_order/S in SSsupply.order_history)
|
||||
orders[++orders.len] = list(
|
||||
"ref" = "\ref[S]",
|
||||
"status" = S.status,
|
||||
@@ -477,7 +477,7 @@
|
||||
// code\game\machinery\computer\supply.dm, starting at line 147
|
||||
/obj/item/weapon/commcard/proc/get_supply_receipts()
|
||||
var/receipts[0]
|
||||
for(var/datum/exported_crate/E in supply_controller.exported_crates)
|
||||
for(var/datum/exported_crate/E in SSsupply.exported_crates)
|
||||
receipts[++receipts.len] = list(
|
||||
"ref" = "\ref[E]",
|
||||
"contents" = E.contents,
|
||||
@@ -495,8 +495,8 @@
|
||||
// code\game\machinery\computer\supply.dm, starting at line 147
|
||||
/obj/item/weapon/commcard/proc/get_supply_pack_list()
|
||||
var/supply_packs[0]
|
||||
for(var/pack_name in supply_controller.supply_pack)
|
||||
var/datum/supply_pack/P = supply_controller.supply_pack[pack_name]
|
||||
for(var/pack_name in SSsupply.supply_pack)
|
||||
var/datum/supply_pack/P = SSsupply.supply_pack[pack_name]
|
||||
if(P.group == internal_data["supply_category"])
|
||||
var/list/pack = list(
|
||||
"name" = P.name,
|
||||
@@ -521,7 +521,7 @@
|
||||
return list(
|
||||
"shuttle_auth" = (internal_data["supply_controls"] & SUP_SEND_SHUTTLE),
|
||||
"order_auth" = (internal_data["supply_controls"] & SUP_ACCEPT_ORDERS),
|
||||
"supply_points" = supply_controller.points,
|
||||
"supply_points" = SSsupply.points,
|
||||
"supply_categories" = all_supply_groups
|
||||
)
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
if(src in comm.voice_invites)
|
||||
comm.open_connection(src)
|
||||
return
|
||||
to_chat(src, "<span class='notice'>\icon[origin_atom] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
to_chat(src, "<span class='notice'>[bicon(origin_atom)] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
verb, and select that name to answer the call.</span>")
|
||||
src << 'sound/machines/defib_SafetyOn.ogg'
|
||||
comm.voice_invites |= src
|
||||
@@ -44,7 +44,7 @@
|
||||
random = random / 10
|
||||
exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms")
|
||||
if(message == "text")
|
||||
to_chat(src, "<span class='notice'>\icon[origin_atom] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
|
||||
to_chat(src, "<span class='notice'>[bicon(origin_atom)] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
|
||||
src << 'sound/machines/defib_safetyOff.ogg'
|
||||
exonet_messages.Add("<b>From [origin_atom]:</b><br>[text]")
|
||||
return
|
||||
@@ -78,7 +78,7 @@
|
||||
if(ringer)
|
||||
playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
for (var/mob/O in hearers(2, loc))
|
||||
O.show_message(text("\icon[src] *beep*"))
|
||||
O.show_message(text("[bicon(src)] *beep*"))
|
||||
|
||||
alert_called = 1
|
||||
update_icon()
|
||||
@@ -89,7 +89,7 @@
|
||||
L = loc
|
||||
|
||||
if(L)
|
||||
to_chat(L, "<span class='notice'>\icon[src] Message from [who].</span>")
|
||||
to_chat(L, "<span class='notice'>[bicon(src)] Message from [who].</span>")
|
||||
|
||||
// Verb: text_communicator()
|
||||
// Parameters: None
|
||||
|
||||
@@ -39,15 +39,15 @@
|
||||
comm.voice_requests.Remove(src)
|
||||
|
||||
if(user)
|
||||
comm.visible_message("<span class='notice'>\icon[src] Connecting to [src].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src] Attempting to call [comm].</span>")
|
||||
comm.visible_message("<span class='notice'>[bicon(src)] Connecting to [src].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Attempting to call [comm].</span>")
|
||||
sleep(10)
|
||||
to_chat(user, "<span class='notice'>\icon[src] Dialing internally from [station_name()], [system_name()].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Dialing internally from [station_name()], [system_name()].</span>")
|
||||
sleep(20) //If they don't have an exonet something is very wrong and we want a runtime.
|
||||
to_chat(user, "<span class='notice'>\icon[src] Connection re-routed to [comm] at [comm.exonet.address].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connection re-routed to [comm] at [comm.exonet.address].</span>")
|
||||
sleep(40)
|
||||
to_chat(user, "<span class='notice'>\icon[src] Connection to [comm] at [comm.exonet.address] established.</span>")
|
||||
comm.visible_message("<span class='notice'>\icon[src] Connection to [src] at [exonet.address] established.</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connection to [comm] at [comm.exonet.address] established.</span>")
|
||||
comm.visible_message("<span class='notice'>[bicon(src)] Connection to [src] at [exonet.address] established.</span>")
|
||||
sleep(20)
|
||||
|
||||
src.add_communicating(comm)
|
||||
@@ -86,28 +86,28 @@
|
||||
|
||||
//Now for some connection fluff.
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>\icon[src] Connecting to [candidate].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src] Attempting to call [src].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connecting to [candidate].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Attempting to call [src].</span>")
|
||||
sleep(10)
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src] Dialing to [station_name()], Kara Subsystem, [system_name()].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Dialing to [station_name()], Kara Subsystem, [system_name()].</span>")
|
||||
sleep(20)
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src] Connecting to [station_name()] telecommunications array.</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connecting to [station_name()] telecommunications array.</span>")
|
||||
sleep(40)
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].</span>")
|
||||
sleep(20)
|
||||
|
||||
//We're connected, no need to hide everything.
|
||||
new_voice.client.screen.Remove(blackness)
|
||||
qdel(blackness)
|
||||
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src] Connection to [src] established.</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connection to [src] established.</span>")
|
||||
to_chat(new_voice, "<b>To talk to the person on the other end of the call, just talk normally.</b>")
|
||||
to_chat(new_voice, "<b>If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.</b>")
|
||||
to_chat(new_voice, "<b>Remember, your character does not know anything you've learned from observing!</b>")
|
||||
if(new_voice.mind)
|
||||
new_voice.mind.assigned_role = "Disembodied Voice"
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>\icon[src] Your communicator is now connected to [candidate]'s communicator.</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Your communicator is now connected to [candidate]'s communicator.</span>")
|
||||
|
||||
// Proc: close_connection()
|
||||
// Parameters: 3 (user - the user who initiated the disconnect, target - the mob or device being disconnected, reason - string shown when disconnected)
|
||||
@@ -120,8 +120,8 @@
|
||||
for(var/mob/living/voice/voice in voice_mobs) //Handle ghost-callers
|
||||
if(target && voice != target) //If no target is inputted, it deletes all of them.
|
||||
continue
|
||||
to_chat(voice, "<span class='danger'>\icon[src] [reason].</span>")
|
||||
visible_message("<span class='danger'>\icon[src] [reason].</span>")
|
||||
to_chat(voice, "<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
voice_mobs.Remove(voice)
|
||||
qdel(voice)
|
||||
update_icon()
|
||||
@@ -131,8 +131,8 @@
|
||||
continue
|
||||
src.del_communicating(comm)
|
||||
comm.del_communicating(src)
|
||||
comm.visible_message("<span class='danger'>\icon[src] [reason].</span>")
|
||||
visible_message("<span class='danger'>\icon[src] [reason].</span>")
|
||||
comm.visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
if(comm.camera && video_source == comm.camera) //We hung up on the person on video
|
||||
end_video()
|
||||
if(camera && comm.video_source == camera) //We hung up on them while they were watching us
|
||||
@@ -163,7 +163,7 @@
|
||||
if(ringer)
|
||||
playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
for (var/mob/O in hearers(2, loc))
|
||||
O.show_message(text("\icon[src] *beep*"))
|
||||
O.show_message(text("[bicon(src)] *beep*"))
|
||||
|
||||
alert_called = 1
|
||||
update_icon()
|
||||
@@ -174,7 +174,7 @@
|
||||
L = loc
|
||||
|
||||
if(L)
|
||||
to_chat(L, "<span class='notice'>\icon[src] Communications request from [who].</span>")
|
||||
to_chat(L, "<span class='notice'>[bicon(src)] Communications request from [who].</span>")
|
||||
|
||||
// Proc: del_request()
|
||||
// Parameters: 1 (candidate - the ghost or communicator to be declined)
|
||||
@@ -197,13 +197,13 @@
|
||||
us = loc
|
||||
|
||||
if(us)
|
||||
to_chat(us, "<span class='notice'>\icon[src] Declined request.</span>")
|
||||
to_chat(us, "<span class='notice'>[bicon(src)] Declined request.</span>")
|
||||
|
||||
// Proc: see_emote()
|
||||
// Parameters: 2 (M - the mob the emote originated from, text - the emote's contents)
|
||||
// Description: Relays the emote to all linked communicators.
|
||||
/obj/item/device/communicator/see_emote(mob/living/M, text)
|
||||
var/rendered = "\icon[src] <span class='message'>[text]</span>"
|
||||
var/rendered = "[bicon(src)] <span class='message'>[text]</span>"
|
||||
for(var/obj/item/device/communicator/comm in communicating)
|
||||
var/turf/T = get_turf(comm)
|
||||
if(!T) return
|
||||
@@ -241,16 +241,16 @@
|
||||
var/name_used = M.GetVoice()
|
||||
var/rendered = null
|
||||
if(speaking) //Language being used
|
||||
rendered = "<span class='game say'>\icon[src] <span class='name'>[name_used]</span> [speaking.format_message(text, verb)]</span>"
|
||||
rendered = "<span class='game say'>[bicon(src)] <span class='name'>[name_used]</span> [speaking.format_message(text, verb)]</span>"
|
||||
else
|
||||
rendered = "<span class='game say'>\icon[src] <span class='name'>[name_used]</span> [verb], <span class='message'>\"[text]\"</span></span>"
|
||||
rendered = "<span class='game say'>[bicon(src)] <span class='name'>[name_used]</span> [verb], <span class='message'>\"[text]\"</span></span>"
|
||||
mob.show_message(rendered, 2)
|
||||
|
||||
// Proc: show_message()
|
||||
// Parameters: 4 (msg - the message, type - number to determine if message is visible or audible, alt - unknown, alt_type - unknown)
|
||||
// Description: Relays the message to all linked communicators.
|
||||
/obj/item/device/communicator/show_message(msg, type, alt, alt_type)
|
||||
var/rendered = "\icon[src] <span class='message'>[msg]</span>"
|
||||
var/rendered = "[bicon(src)] <span class='message'>[msg]</span>"
|
||||
for(var/obj/item/device/communicator/comm in communicating)
|
||||
var/turf/T = get_turf(comm)
|
||||
if(!T) return
|
||||
@@ -331,14 +331,14 @@
|
||||
to_chat(user, "<span class='danger'>You cannot see well enough to do that!</span>")
|
||||
|
||||
if(!(src in comm.communicating) || !comm.camera) //You called someone with a broken communicator or one that's fake or yourself or something
|
||||
to_chat(user, "<span class='danger'>\icon[src]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.</span>")
|
||||
to_chat(user, "<span class='danger'>[bicon(src)]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>\icon[src] Attempting to start video over existing call.</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Attempting to start video over existing call.</span>")
|
||||
sleep(30)
|
||||
to_chat(user, "<span class='notice'>\icon[src] Please wait...</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Please wait...</span>")
|
||||
|
||||
video_source = comm.camera
|
||||
comm.visible_message("<span class='danger'>\icon[src] New video connection from [comm].</span>")
|
||||
comm.visible_message("<span class='danger'>[bicon(src)] New video connection from [comm].</span>")
|
||||
watch_video(user)
|
||||
update_icon()
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
/obj/item/device/communicator/proc/end_video(var/reason)
|
||||
video_source = null
|
||||
|
||||
. = "<span class='danger'>\icon[src] [reason ? reason : "Video session ended"].</span>"
|
||||
. = "<span class='danger'>[bicon(src)] [reason ? reason : "Video session ended"].</span>"
|
||||
|
||||
visible_message(.)
|
||||
update_icon()
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
scanning = !scanning
|
||||
update_icon()
|
||||
update_sound()
|
||||
to_chat(user, "<span class='notice'>\icon[src] You switch [scanning ? "on" : "off"] \the [src].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] You switch [scanning ? "on" : "off"] \the [src].</span>")
|
||||
|
||||
/obj/item/device/geiger/update_icon()
|
||||
if(!scanning)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
to_chat(user, "<span class='warning'>You are already hacking!</span>")
|
||||
return 0
|
||||
if(!is_type_in_list(target, supported_types))
|
||||
to_chat(user, "\icon[src] <span class='warning'>Unable to hack this target!</span>")
|
||||
to_chat(user, "[bicon(src)] <span class='warning'>Unable to hack this target!</span>")
|
||||
return 0
|
||||
var/found = known_targets.Find(target)
|
||||
if(found)
|
||||
|
||||
@@ -364,7 +364,7 @@ var/global/list/default_medbay_channels = list(
|
||||
var/list/jamming = is_jammed(src)
|
||||
if(jamming)
|
||||
var/distance = jamming["distance"]
|
||||
to_chat(M, "<span class='danger'>\icon[src] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
|
||||
to_chat(M, "<span class='danger'>[bicon(src)] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
|
||||
return FALSE
|
||||
|
||||
// First, we want to generate a new radio signal
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
var/message = sanitize(input(user,"Choose a message to relay to those around you.") as text|null)
|
||||
if(message)
|
||||
var/obj/item/device/text_to_speech/O = src
|
||||
audible_message("\icon[O] \The [O.name] states, \"[message]\"")
|
||||
audible_message("[bicon(O)] \The [O.name] states, \"[message]\"")
|
||||
|
||||
@@ -446,7 +446,7 @@
|
||||
|
||||
/obj/item/toy/waterflower/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
to_chat(user, "\icon[src] [src.reagents.total_volume] units of water left!")
|
||||
to_chat(user, "[bicon(src)] [src.reagents.total_volume] units of water left!")
|
||||
|
||||
/*
|
||||
* Bosun's whistle
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/obj/item/weapon/extinguisher/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
to_chat(user, text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume))
|
||||
to_chat(user, "[bicon(src)] [src.name] contains [src.reagents.total_volume] units of water left!")
|
||||
|
||||
/obj/item/weapon/extinguisher/attack_self(mob/user as mob)
|
||||
safety = !safety
|
||||
|
||||
@@ -91,8 +91,8 @@
|
||||
return dat
|
||||
|
||||
/obj/item/weapon/card/id/attack_self(mob/user as mob)
|
||||
user.visible_message("\The [user] shows you: \icon[src] [src.name]. The assignment on the card: [src.assignment]",\
|
||||
"You flash your ID card: \icon[src] [src.name]. The assignment on the card: [src.assignment]")
|
||||
user.visible_message("\The [user] shows you: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]",\
|
||||
"You flash your ID card: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
@@ -108,7 +108,7 @@
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
to_chat(usr, "\icon[src] [src.name]: The current assignment on the card is [src.assignment].")
|
||||
to_chat(usr, "[bicon(src)] [src.name]: The current assignment on the card is [src.assignment].")
|
||||
to_chat(usr, "The blood type on the card is [blood_type].")
|
||||
to_chat(usr, "The DNA hash on the card is [dna_hash].")
|
||||
to_chat(usr, "The fingerprint hash on the card is [fingerprint_hash].")
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
icon_state = "c-4[size]_1"
|
||||
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1)
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("\icon[src] <span class = 'warning'> The [src.name] beeps! </span>")
|
||||
O.show_message("[bicon(src)] <span class = 'warning'> The [src.name] beeps! </span>")
|
||||
sleep(50)
|
||||
explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range)
|
||||
for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors.
|
||||
|
||||
@@ -329,6 +329,9 @@ var/list/global/tank_gauge_cache = list()
|
||||
/obj/item/weapon/tank/remove_air(amount)
|
||||
return air_contents.remove(amount)
|
||||
|
||||
/obj/item/weapon/tank/proc/remove_air_by_flag(flag, amount)
|
||||
return air_contents.remove_by_flag(flag, amount)
|
||||
|
||||
/obj/item/weapon/tank/return_air()
|
||||
return air_contents
|
||||
|
||||
@@ -465,7 +468,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
return
|
||||
T.assume_air(air_contents)
|
||||
playsound(get_turf(src), 'sound/weapons/Gunshot_shotgun.ogg', 20, 1)
|
||||
visible_message("\icon[src] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
|
||||
visible_message("[bicon(src)] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
|
||||
T.hotspot_expose(air_contents.temperature, 70, 1)
|
||||
|
||||
|
||||
@@ -510,7 +513,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
|
||||
T.assume_air(leaked_gas)
|
||||
if(!leaking)
|
||||
visible_message("\icon[src] <span class='warning'>\The [src] relief valve flips open with a hiss!</span>", "You hear hissing.")
|
||||
visible_message("[bicon(src)] <span class='warning'>\The [src] relief valve flips open with a hiss!</span>", "You hear hissing.")
|
||||
playsound(src.loc, 'sound/effects/spray.ogg', 10, 1, -3)
|
||||
leaking = 1
|
||||
#ifdef FIREDBG
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
if(loc == usr && tools.len)
|
||||
to_chat(usr, "It has the following fittings:")
|
||||
for(var/obj/item/tool in tools)
|
||||
to_chat(usr, "\icon[tool] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
to_chat(usr, "[bicon(tool)] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
|
||||
/obj/item/weapon/combitool/New()
|
||||
..()
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
/obj/item/weapon/weldingtool/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(max_fuel)
|
||||
to_chat(user, text("\icon[] The [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel ))
|
||||
to_chat(user, "[bicon(src)] The [src.name] contains [get_fuel()]/[src.max_fuel] units of fuel!")
|
||||
|
||||
/obj/item/weapon/weldingtool/attack(atom/A, mob/living/user, def_zone)
|
||||
if(ishuman(A) && user.a_intent == I_HELP)
|
||||
@@ -560,9 +560,9 @@
|
||||
to_chat(user, desc)
|
||||
else
|
||||
if(power_supply)
|
||||
to_chat(user, "\icon[src] The [src.name] has [get_fuel()] charge left.")
|
||||
to_chat(user, "[bicon(src)] The [src.name] has [get_fuel()] charge left.")
|
||||
else
|
||||
to_chat(user, "\icon[src] The [src.name] has no power cell!")
|
||||
to_chat(user, "[bicon(src)] The [src.name] has no power cell!")
|
||||
|
||||
/obj/item/weapon/weldingtool/electric/get_fuel()
|
||||
if(use_external_power)
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
/obj/item/weapon/weldpack/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "\icon[src] [src.reagents.total_volume] units of fuel left!")
|
||||
to_chat(user, "[bicon(src)] [src.reagents.total_volume] units of fuel left!")
|
||||
return
|
||||
|
||||
/obj/item/weapon/weldpack/survival
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
/obj/CanUseTopic(var/mob/user, var/datum/topic_state/state = default_state)
|
||||
if(user.CanUseObjTopic(src))
|
||||
return ..()
|
||||
to_chat(user, "<span class='danger'>\icon[src]Access Denied!</span>")
|
||||
to_chat(user, "<span class='danger'>[bicon(src)]Access Denied!</span>")
|
||||
return STATUS_CLOSE
|
||||
|
||||
/mob/living/silicon/CanUseObjTopic(var/obj/O)
|
||||
|
||||
@@ -25,7 +25,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
|
||||
/obj/structure/janitorialcart/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!")
|
||||
to_chat(user, "[src] [bicon(src)] contains [reagents.total_volume] unit\s of liquid!")
|
||||
//everything else is visible, so doesn't need to be mentioned
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
|
||||
to_chat(user, "\icon[src] This [callme] contains [reagents.total_volume] unit\s of water!")
|
||||
to_chat(user, "[bicon(src)] This [callme] contains [reagents.total_volume] unit\s of water!")
|
||||
if(mybag)
|
||||
to_chat(user, "\A [mybag] is hanging on the [callme].")
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket)
|
||||
|
||||
/obj/structure/mopbucket/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "[src] \icon[src] contains [reagents.total_volume] unit\s of water!")
|
||||
to_chat(user, "[src] [bicon(src)] contains [reagents.total_volume] unit\s of water!")
|
||||
|
||||
/obj/structure/mopbucket/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/mop))
|
||||
|
||||
@@ -192,7 +192,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(src.electronics && istype(src.electronics, /obj/item/weapon/circuitboard/broken))
|
||||
to_chat(usr,"<span class='warning'>The assembly has broken airlock electronics.</span>")
|
||||
return
|
||||
to_chat(usr,browse(null, "window=windoor_access")) //Not sure what this actually does... -Ner
|
||||
usr << browse(null, "window=windoor_access") //Not sure what this actually does... -Ner
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
user.visible_message("[user] pries the windoor into the frame.", "You start prying the windoor into the frame.")
|
||||
|
||||
|
||||
@@ -83,11 +83,31 @@
|
||||
var/turf/under_turf //Underlay override turf path.
|
||||
var/join_flags = 0 //Bitstring to represent adjacency of joining walls
|
||||
var/join_group = "shuttle" //A tag for what other walls to join with. Null if you don't want them to.
|
||||
var/static/list/antilight_cache
|
||||
|
||||
/turf/simulated/shuttle/New()
|
||||
..()
|
||||
if(!antilight_cache)
|
||||
antilight_cache = list()
|
||||
for(var/diag in cornerdirs)
|
||||
var/image/I = image(LIGHTING_ICON, null, icon_state = "diagonals", layer = 10, dir = diag)
|
||||
I.plane = PLANE_LIGHTING
|
||||
antilight_cache["[diag]"] = I
|
||||
|
||||
/turf/simulated/shuttle/Destroy()
|
||||
landed_holder = null
|
||||
..()
|
||||
|
||||
// For joined corners touching static lighting turfs, add an overlay to cancel out that part of our lighting overlay.
|
||||
/turf/simulated/shuttle/proc/update_breaklights()
|
||||
if(join_flags in cornerdirs) //We're joined at an angle
|
||||
//Dynamic lighting dissolver
|
||||
var/turf/T = get_step(src, turn(join_flags,180))
|
||||
if(!T || !T.dynamic_lighting || !get_area(T).dynamic_lighting)
|
||||
add_overlay(antilight_cache["[join_flags]"], TRUE)
|
||||
return
|
||||
cut_overlay(antilight_cache["[join_flags]"], TRUE)
|
||||
|
||||
/turf/simulated/shuttle/proc/underlay_update()
|
||||
if(!takes_underlays)
|
||||
//Basically, if it's not forced, and we don't care, don't do it.
|
||||
@@ -103,11 +123,19 @@
|
||||
|
||||
//Well if this isn't our first rodeo, we know EXACTLY what we landed on, and it looks like this.
|
||||
if(landed_holder && !interior_corner)
|
||||
var/mutable_appearance/landed_on = new(landed_holder)
|
||||
landed_on.layer = FLOAT_LAYER //Not turf
|
||||
landed_on.plane = FLOAT_PLANE //Not turf
|
||||
us.underlays = list(landed_on)
|
||||
appearance = us
|
||||
//Space gets special treatment
|
||||
if(ispath(landed_holder.turf_type, /turf/space))
|
||||
var/image/spaceimage = image(landed_holder.icon, landed_holder.icon_state)
|
||||
spaceimage.plane = SPACE_PLANE
|
||||
underlays = list(spaceimage)
|
||||
else
|
||||
var/mutable_appearance/landed_on = new(landed_holder)
|
||||
landed_on.layer = FLOAT_LAYER //Not turf
|
||||
landed_on.plane = FLOAT_PLANE //Not turf
|
||||
us.underlays = list(landed_on)
|
||||
appearance = us
|
||||
|
||||
spawn update_breaklights() //So that we update the breaklight overlays only after turfs are connected
|
||||
return
|
||||
|
||||
if(!under)
|
||||
@@ -143,12 +171,15 @@
|
||||
under_ma = new(under)
|
||||
|
||||
if(under_ma)
|
||||
if(ispath(under,/turf/space)) //Scramble space turfs
|
||||
under_ma.icon_state = "[rand(1,25)]"
|
||||
if(ispath(under,/turf/space) || istype(under,/turf/space)) //Space gets weird treatment
|
||||
under_ma.icon_state = "white"
|
||||
under_ma.plane = SPACE_PLANE
|
||||
us.underlays = list(under_ma)
|
||||
|
||||
appearance = us
|
||||
|
||||
spawn update_breaklights() //So that we update the breaklight overlays only after turfs are connected
|
||||
|
||||
return under
|
||||
|
||||
/turf/simulated/shuttle/floor
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_state = "asteroid_cracked"
|
||||
dynamic_lighting = TRUE
|
||||
keep_sprite = TRUE
|
||||
plane = TURF_PLANE //It's not really space
|
||||
|
||||
/turf/space/cracked_asteroid/is_space() // So people don't start floating when standing on it.
|
||||
return FALSE
|
||||
|
||||
@@ -1,20 +1,89 @@
|
||||
/turf/space
|
||||
icon = 'icons/turf/space.dmi'
|
||||
name = "\proper space"
|
||||
icon_state = "0"
|
||||
icon_state = "default"
|
||||
dynamic_lighting = 0
|
||||
plane = SPACE_PLANE
|
||||
|
||||
temperature = T20C
|
||||
thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT
|
||||
can_build_into_floor = TRUE
|
||||
var/keep_sprite = FALSE
|
||||
// heat_capacity = 700000 No.
|
||||
var/static/list/dust_cache
|
||||
var/static/list/speedspace_cache
|
||||
var/static/list/phase_shift_by_x
|
||||
var/static/list/phase_shift_by_y
|
||||
|
||||
/turf/space/proc/build_dust_cache()
|
||||
//Static
|
||||
LAZYINITLIST(dust_cache)
|
||||
for (var/i in 0 to 25)
|
||||
var/image/im = image('icons/turf/space_dust.dmi', "[i]")
|
||||
im.plane = DUST_PLANE
|
||||
im.alpha = 128 //80
|
||||
im.blend_mode = BLEND_ADD
|
||||
dust_cache["[i]"] = im
|
||||
//Moving
|
||||
LAZYINITLIST(speedspace_cache)
|
||||
for (var/i in 0 to 14)
|
||||
// NORTH/SOUTH
|
||||
var/image/im = image('icons/turf/space_dust_transit.dmi', "speedspace_ns_[i]")
|
||||
im.plane = DUST_PLANE
|
||||
im.blend_mode = BLEND_ADD
|
||||
speedspace_cache["NS_[i]"] = im
|
||||
// EAST/WEST
|
||||
im = image('icons/turf/space_dust_transit.dmi', "speedspace_ew_[i]")
|
||||
im.plane = DUST_PLANE
|
||||
im.blend_mode = BLEND_ADD
|
||||
speedspace_cache["EW_[i]"] = im
|
||||
|
||||
/turf/space/Initialize()
|
||||
. = ..()
|
||||
if(!keep_sprite)
|
||||
icon_state = "[((x + y) ^ ~(x * y) + z) % 25]"
|
||||
icon_state = "white"
|
||||
update_starlight()
|
||||
if (!dust_cache)
|
||||
build_dust_cache()
|
||||
toggle_transit() //add static dust
|
||||
|
||||
/turf/space/proc/toggle_transit(var/direction)
|
||||
cut_overlays()
|
||||
|
||||
if(!direction)
|
||||
add_overlay(dust_cache["[((x + y) ^ ~(x * y) + z) % 25]"])
|
||||
return
|
||||
|
||||
if(direction & (NORTH|SOUTH))
|
||||
if(!phase_shift_by_x)
|
||||
phase_shift_by_x = get_cross_shift_list(15)
|
||||
var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1]
|
||||
var/transit_state = ((direction & SOUTH ? world.maxy - src.y : src.y) + x_shift)%15
|
||||
add_overlay(speedspace_cache["NS_[transit_state]"])
|
||||
else if(direction & (EAST|WEST))
|
||||
if(!phase_shift_by_y)
|
||||
phase_shift_by_y = get_cross_shift_list(15)
|
||||
var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1]
|
||||
var/transit_state = ((direction & WEST ? world.maxx - src.x : src.x) + y_shift)%15
|
||||
add_overlay(speedspace_cache["EW_[transit_state]"])
|
||||
|
||||
for(var/atom/movable/AM in src)
|
||||
if (AM.simulated && !AM.anchored)
|
||||
AM.throw_at(get_step(src,reverse_direction(direction)), 5, 1)
|
||||
|
||||
//generates a list used to randomize transit animations so they aren't in lockstep
|
||||
/turf/space/proc/get_cross_shift_list(var/size)
|
||||
var/list/result = list()
|
||||
|
||||
result += rand(0, 14)
|
||||
for(var/i in 2 to size)
|
||||
var/shifts = list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
|
||||
shifts -= result[i - 1] //consecutive shifts should not be equal
|
||||
if(i == size)
|
||||
shifts -= result[1] //because shift list is a ring buffer
|
||||
result += pick(shifts)
|
||||
|
||||
return result
|
||||
|
||||
/turf/space/is_space()
|
||||
return 1
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/turf/space/transit
|
||||
keep_sprite = TRUE
|
||||
can_build_into_floor = FALSE
|
||||
var/pushdirection // push things that get caught in the transit tile this direction
|
||||
|
||||
@@ -7,87 +6,26 @@
|
||||
/turf/space/transit/attackby(obj/O as obj, mob/user as mob)
|
||||
return
|
||||
|
||||
//generates a list used to randomize transit animations so they aren't in lockstep
|
||||
/turf/space/transit/proc/get_cross_shift_list(var/size)
|
||||
var/list/result = list()
|
||||
|
||||
result += rand(0, 14)
|
||||
for(var/i in 2 to size)
|
||||
var/shifts = list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
|
||||
shifts -= result[i - 1] //consecutive shifts should not be equal
|
||||
if(i == size)
|
||||
shifts -= result[1] //because shift list is a ring buffer
|
||||
result += pick(shifts)
|
||||
|
||||
return result
|
||||
/turf/space/transit/Initialize()
|
||||
. = ..()
|
||||
toggle_transit(reverse_dir[pushdirection])
|
||||
|
||||
//------------------------
|
||||
|
||||
/turf/space/transit/north // moving to the north
|
||||
icon_state = "arrow-north"
|
||||
pushdirection = SOUTH // south because the space tile is scrolling south
|
||||
var/static/list/phase_shift_by_x
|
||||
|
||||
/turf/space/transit/north/New()
|
||||
..()
|
||||
if(!phase_shift_by_x)
|
||||
phase_shift_by_x = get_cross_shift_list(15)
|
||||
|
||||
var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1]
|
||||
var/transit_state = (world.maxy - src.y + x_shift)%15 + 1
|
||||
|
||||
icon_state = "speedspace_ns_[transit_state]"
|
||||
//------------------------
|
||||
|
||||
/turf/space/transit/south // moving to the south
|
||||
icon_state = "arrow-south"
|
||||
pushdirection = SOUTH // south because the space tile is scrolling south
|
||||
var/static/list/phase_shift_by_x
|
||||
|
||||
/turf/space/transit/south/New()
|
||||
..()
|
||||
if(!phase_shift_by_x)
|
||||
phase_shift_by_x = get_cross_shift_list(15)
|
||||
|
||||
var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1]
|
||||
var/transit_state = (world.maxy - src.y + x_shift)%15 + 1
|
||||
|
||||
var/icon/I = new(icon, "speedspace_ns_[transit_state]")
|
||||
I.Flip(SOUTH)
|
||||
icon = I
|
||||
//------------------------
|
||||
|
||||
/turf/space/transit/east // moving to the east
|
||||
icon_state = "arrow-east"
|
||||
pushdirection = WEST
|
||||
var/static/list/phase_shift_by_y
|
||||
|
||||
/turf/space/transit/east/New()
|
||||
..()
|
||||
if(!phase_shift_by_y)
|
||||
phase_shift_by_y = get_cross_shift_list(15)
|
||||
|
||||
var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1]
|
||||
var/transit_state = (world.maxx - src.x + y_shift)%15 + 1
|
||||
|
||||
icon_state = "speedspace_ew_[transit_state]"
|
||||
//------------------------
|
||||
|
||||
/turf/space/transit/west // moving to the west
|
||||
icon_state = "arrow-west"
|
||||
pushdirection = WEST
|
||||
var/static/list/phase_shift_by_y
|
||||
|
||||
/turf/space/transit/west/New()
|
||||
..()
|
||||
if(!phase_shift_by_y)
|
||||
phase_shift_by_y = get_cross_shift_list(15)
|
||||
|
||||
var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1]
|
||||
var/transit_state = (world.maxx - src.x + y_shift)%15 + 1
|
||||
|
||||
var/icon/I = new(icon, "speedspace_ew_[transit_state]")
|
||||
I.Flip(WEST)
|
||||
icon = I
|
||||
|
||||
//------------------------
|
||||
@@ -71,4 +71,5 @@
|
||||
msg += "[line]\n"
|
||||
|
||||
msg += "<b>Total Players: [length(Lines)]</b>"
|
||||
msg = "<span class='info'>" + msg + "</span>"
|
||||
to_chat(src, msg)
|
||||
@@ -149,12 +149,12 @@
|
||||
if(target in admins)
|
||||
admin_stuff += "/([key])"
|
||||
|
||||
to_chat(target, "<span class='ooc'><span class='looc'>" + create_text_tag("looc", "LOOC:", target) + " <EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span></span></span>")
|
||||
to_chat(target, "<span class='ooc looc'>" + create_text_tag("looc", "LOOC:", target) + " <EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span></span>")
|
||||
|
||||
for(var/client/target in r_receivers)
|
||||
var/admin_stuff = "/([key])([admin_jump_link(mob, target.holder)])"
|
||||
|
||||
to_chat(target, "<span class='ooc'><span class='looc'>" + create_text_tag("looc", "LOOC:", target) + " <span class='prefix'>(R)</span><EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span></span></span>")
|
||||
to_chat(target, "<span class='ooc looc'>" + create_text_tag("looc", "LOOC:", target) + " <span class='prefix'>(R)</span><EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span></span>")
|
||||
|
||||
/mob/proc/get_looc_source()
|
||||
return src
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000
|
||||
|
||||
callHook("startup")
|
||||
init_vchat()
|
||||
//Emergency Fix
|
||||
load_mods()
|
||||
//end-emergency fix
|
||||
|
||||
Reference in New Issue
Block a user