Merge branch 'master' of git@github.com:Baystation12/Baystation12
@@ -204,6 +204,7 @@
|
|||||||
#define FILE_DIR "icons/spideros_icons"
|
#define FILE_DIR "icons/spideros_icons"
|
||||||
#define FILE_DIR "icons/Testing"
|
#define FILE_DIR "icons/Testing"
|
||||||
#define FILE_DIR "icons/turf"
|
#define FILE_DIR "icons/turf"
|
||||||
|
#define FILE_DIR "icons/vehicles"
|
||||||
#define FILE_DIR "icons/vending_icons"
|
#define FILE_DIR "icons/vending_icons"
|
||||||
#define FILE_DIR "interface"
|
#define FILE_DIR "interface"
|
||||||
#define FILE_DIR "maps"
|
#define FILE_DIR "maps"
|
||||||
|
|||||||
@@ -20,40 +20,39 @@ obj/machinery/atmospherics
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
var/initialize_directions = 0
|
obj/machinery/atmospherics/var/initialize_directions = 0
|
||||||
var/color
|
obj/machinery/atmospherics/var/color
|
||||||
|
|
||||||
process()
|
obj/machinery/atmospherics/process()
|
||||||
build_network()
|
build_network()
|
||||||
|
|
||||||
proc
|
obj/machinery/atmospherics/proc/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
|
||||||
network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
|
// Check to see if should be added to network. Add self if so and adjust variables appropriately.
|
||||||
// Check to see if should be added to network. Add self if so and adjust variables appropriately.
|
// Note don't forget to have neighbors look as well!
|
||||||
// Note don't forget to have neighbors look as well!
|
|
||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
build_network()
|
obj/machinery/atmospherics/proc/build_network()
|
||||||
// Called to build a network from this node
|
// Called to build a network from this node
|
||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
return_network(obj/machinery/atmospherics/reference)
|
obj/machinery/atmospherics/proc/return_network(obj/machinery/atmospherics/reference)
|
||||||
// Returns pipe_network associated with connection to reference
|
// Returns pipe_network associated with connection to reference
|
||||||
// Notes: should create network if necessary
|
// Notes: should create network if necessary
|
||||||
// Should never return null
|
// Should never return null
|
||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
|
obj/machinery/atmospherics/proc/reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
|
||||||
// Used when two pipe_networks are combining
|
// Used when two pipe_networks are combining
|
||||||
|
|
||||||
return_network_air(datum/network/reference)
|
obj/machinery/atmospherics/proc/return_network_air(datum/network/reference)
|
||||||
// Return a list of gas_mixture(s) in the object
|
// Return a list of gas_mixture(s) in the object
|
||||||
// associated with reference pipe_network for use in rebuilding the networks gases list
|
// associated with reference pipe_network for use in rebuilding the networks gases list
|
||||||
// Is permitted to return null
|
// Is permitted to return null
|
||||||
|
|
||||||
disconnect(obj/machinery/atmospherics/reference)
|
obj/machinery/atmospherics/proc/disconnect(obj/machinery/atmospherics/reference)
|
||||||
|
|
||||||
update_icon()
|
obj/machinery/atmospherics/update_icon()
|
||||||
return null
|
return null
|
||||||
@@ -134,6 +134,7 @@
|
|||||||
P.name = template.name
|
P.name = template.name
|
||||||
P.desc = template.desc
|
P.desc = template.desc
|
||||||
P.icon = template.icon
|
P.icon = template.icon
|
||||||
|
P.img = template:img
|
||||||
|
|
||||||
sleep(30)
|
sleep(30)
|
||||||
job_num_copies -= 1
|
job_num_copies -= 1
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
/obj/item/weapon/storage/pillbottlebox
|
/obj/item/weapon/storage/pillbottlebox
|
||||||
name = "box of pill bottles"
|
name = "box of pill bottles"
|
||||||
desc = "It has pictures of pill bottles on its front."
|
desc = "It has pictures of pill bottles on its front."
|
||||||
icon_state = "box"
|
icon_state = "pillbox"
|
||||||
item_state = "syringe_kit"
|
item_state = "syringe_kit"
|
||||||
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||||
|
|
||||||
@@ -292,12 +292,19 @@
|
|||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
for(var/obj/item/weapon/card/id/ID in contents)
|
for(var/obj/item/weapon/card/id/ID in contents)
|
||||||
if(ID.icon_state == "gold")
|
switch(ID.icon_state)
|
||||||
icon_state = "walletid_gold"
|
if("id")
|
||||||
return
|
icon_state = "walletid"
|
||||||
else if(ID.icon_state == "id")
|
return
|
||||||
icon_state = "walletid"
|
if("silver")
|
||||||
return
|
icon_state = "walletid_silver"
|
||||||
|
return
|
||||||
|
if("gold")
|
||||||
|
icon_state = "walletid_gold"
|
||||||
|
return
|
||||||
|
if("centcom")
|
||||||
|
icon_state = "walletid_centcom"
|
||||||
|
return
|
||||||
icon_state = "wallet"
|
icon_state = "wallet"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -142,12 +142,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
|
|||||||
/obj/machinery/newscaster/attack_hand(mob/user as mob)
|
/obj/machinery/newscaster/attack_hand(mob/user as mob)
|
||||||
if(!src.ispowered || src.isbroken)
|
if(!src.ispowered || src.isbroken)
|
||||||
return
|
return
|
||||||
if(istype(user, /mob/living/carbon/human) )
|
if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
|
||||||
var/mob/living/carbon/human/human_user = user
|
var/mob/living/human_or_robot_user = user
|
||||||
var/dat
|
var/dat
|
||||||
dat = text("<HEAD><TITLE>Newscaster</TITLE></HEAD><H3>Newscaster Unit #[src.unit_no]</H3>")
|
dat = text("<HEAD><TITLE>Newscaster</TITLE></HEAD><H3>Newscaster Unit #[src.unit_no]</H3>")
|
||||||
|
|
||||||
src.scan_user(human_user) //Newscaster scans you
|
src.scan_user(human_or_robot_user) //Newscaster scans you
|
||||||
|
|
||||||
switch(screen)
|
switch(screen)
|
||||||
if(0)
|
if(0)
|
||||||
@@ -160,7 +160,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
|
|||||||
dat+= "<BR><A href='?src=\ref[src];create_feed_story=1'>Submit new Feed story</A>"
|
dat+= "<BR><A href='?src=\ref[src];create_feed_story=1'>Submit new Feed story</A>"
|
||||||
dat+= "<BR><A href='?src=\ref[src];menu_paper=1'>Print newspaper</A>"
|
dat+= "<BR><A href='?src=\ref[src];menu_paper=1'>Print newspaper</A>"
|
||||||
dat+= "<BR><A href='?src=\ref[src];refresh=1'>Re-scan User</A>"
|
dat+= "<BR><A href='?src=\ref[src];refresh=1'>Re-scan User</A>"
|
||||||
dat+= "<BR><BR><A href='?src=\ref[human_user];mach_close=newscaster_main'>Exit</A>"
|
dat+= "<BR><BR><A href='?src=\ref[human_or_robot_user];mach_close=newscaster_main'>Exit</A>"
|
||||||
if(src.securityCaster)
|
if(src.securityCaster)
|
||||||
var/wanted_already = 0
|
var/wanted_already = 0
|
||||||
for(var/obj/machinery/newscaster/N in allCasters)
|
for(var/obj/machinery/newscaster/N in allCasters)
|
||||||
@@ -363,8 +363,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
|
|||||||
dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com"
|
dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com"
|
||||||
|
|
||||||
|
|
||||||
human_user << browse(dat, "window=newscaster_main;size=400x600")
|
human_or_robot_user << browse(dat, "window=newscaster_main;size=400x600")
|
||||||
onclose(human_user, "newscaster_main")
|
onclose(human_or_robot_user, "newscaster_main")
|
||||||
|
|
||||||
/*if(src.isbroken) //debugging shit
|
/*if(src.isbroken) //debugging shit
|
||||||
return
|
return
|
||||||
@@ -377,7 +377,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
|
|||||||
/obj/machinery/newscaster/Topic(href, href_list)
|
/obj/machinery/newscaster/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
|
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
|
||||||
usr.machine = src
|
usr.machine = src
|
||||||
if(href_list["set_channel_name"])
|
if(href_list["set_channel_name"])
|
||||||
src.channel_name = strip_html(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))
|
src.channel_name = strip_html(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))
|
||||||
@@ -444,6 +444,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
|
|||||||
FC.messages += newMsg // To avoid further confusion, this one for adds the message to all existing newscasters' channel_list's channels.
|
FC.messages += newMsg // To avoid further confusion, this one for adds the message to all existing newscasters' channel_list's channels.
|
||||||
break // Another for to go through newscasters is not needed. Due to the nature of submit_new_CHANNEL, every reference
|
break // Another for to go through newscasters is not needed. Due to the nature of submit_new_CHANNEL, every reference
|
||||||
src.screen=4 // to a channel in ANY newscaster is the same. Editing one will edit them all.
|
src.screen=4 // to a channel in ANY newscaster is the same. Editing one will edit them all.
|
||||||
|
|
||||||
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
|
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
|
||||||
NEWSCASTER.newsAlert(src.channel_name)
|
NEWSCASTER.newsAlert(src.channel_name)
|
||||||
|
|
||||||
@@ -747,7 +748,7 @@ obj/item/weapon/newspaper/attack_self(mob/user as mob)
|
|||||||
obj/item/weapon/newspaper/Topic(href, href_list)
|
obj/item/weapon/newspaper/Topic(href, href_list)
|
||||||
var/mob/living/U = usr
|
var/mob/living/U = usr
|
||||||
..()
|
..()
|
||||||
if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ) )
|
if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ))
|
||||||
U.machine = src
|
U.machine = src
|
||||||
if(href_list["next_page"])
|
if(href_list["next_page"])
|
||||||
if(curr_page==src.pages+1)
|
if(curr_page==src.pages+1)
|
||||||
@@ -796,21 +797,26 @@ obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|||||||
////////////////////////////////////helper procs
|
////////////////////////////////////helper procs
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/newscaster/proc/scan_user(mob/living/carbon/human/human_user as mob)
|
/obj/machinery/newscaster/proc/scan_user(mob/living/user as mob)
|
||||||
if(human_user.wear_id) //Newscaster scans you
|
if(istype(user,/mob/living/carbon/human)) //User is a human
|
||||||
if(istype(human_user.wear_id, /obj/item/device/pda) ) //autorecognition, woo!
|
var/mob/living/carbon/human/human_user = user
|
||||||
var/obj/item/device/pda/P = human_user.wear_id
|
if(human_user.wear_id) //Newscaster scans you
|
||||||
if(P.id)
|
if(istype(human_user.wear_id, /obj/item/device/pda) ) //autorecognition, woo!
|
||||||
src.scanned_user = "[P.id.registered_name] ([P.id.assignment])"
|
var/obj/item/device/pda/P = human_user.wear_id
|
||||||
|
if(P.id)
|
||||||
|
src.scanned_user = "[P.id.registered_name] ([P.id.assignment])"
|
||||||
|
else
|
||||||
|
src.scanned_user = "Unknown"
|
||||||
|
else if(istype(human_user.wear_id, /obj/item/weapon/card/id) )
|
||||||
|
var/obj/item/weapon/card/id/ID = human_user.wear_id
|
||||||
|
src.scanned_user ="[ID.registered_name] ([ID.assignment])"
|
||||||
else
|
else
|
||||||
src.scanned_user = "Unknown"
|
src.scanned_user ="Unknown"
|
||||||
else if(istype(human_user.wear_id, /obj/item/weapon/card/id) )
|
|
||||||
var/obj/item/weapon/card/id/ID = human_user.wear_id
|
|
||||||
src.scanned_user ="[ID.registered_name] ([ID.assignment])"
|
|
||||||
else
|
else
|
||||||
src.scanned_user ="Unknown"
|
src.scanned_user ="Unknown"
|
||||||
else
|
else
|
||||||
src.scanned_user ="Unknown"
|
var/mob/living/silicon/ai_user = user
|
||||||
|
src.scanned_user = "[ai_user.name] ([ai_user.job])"
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/newscaster/proc/print_paper()
|
/obj/machinery/newscaster/proc/print_paper()
|
||||||
|
|||||||
@@ -103,7 +103,8 @@
|
|||||||
|
|
||||||
var/n_name = input(usr, "What would you like to label the photo?", "Photo Labelling", src.name) as text
|
var/n_name = input(usr, "What would you like to label the photo?", "Photo Labelling", src.name) as text
|
||||||
n_name = copytext(n_name, 1, 32)
|
n_name = copytext(n_name, 1, 32)
|
||||||
if ((loc == usr && usr.stat == 0))
|
//loc.loc check is for making possible renaming photos in clipboards
|
||||||
|
if (( (src.loc == usr || (src.loc.loc && src.loc.loc == usr)) && usr.stat == 0))
|
||||||
name = "photo[(n_name ? text("- '[n_name]'") : null)]"
|
name = "photo[(n_name ? text("- '[n_name]'") : null)]"
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
return
|
return
|
||||||
@@ -203,7 +204,10 @@
|
|||||||
y_c--
|
y_c--
|
||||||
x_c = x_c - 3
|
x_c = x_c - 3
|
||||||
|
|
||||||
var/obj/item/weapon/photo/P = new/obj/item/weapon/photo( get_turf(src) )
|
var/obj/item/weapon/photo/P = new/obj/item/weapon/photo()
|
||||||
|
P.loc = usr.loc
|
||||||
|
if(!user.get_inactive_hand())
|
||||||
|
usr.put_in_inactive_hand(P)
|
||||||
var/icon/small_img = icon(temp)
|
var/icon/small_img = icon(temp)
|
||||||
var/icon/ic = icon('items.dmi',"photo")
|
var/icon/ic = icon('items.dmi',"photo")
|
||||||
small_img.Scale(8,8)
|
small_img.Scale(8,8)
|
||||||
|
|||||||
@@ -101,7 +101,8 @@ NOTEBOOK
|
|||||||
return
|
return
|
||||||
var/n_name = input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text
|
var/n_name = input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text
|
||||||
n_name = copytext(n_name, 1, 32)
|
n_name = copytext(n_name, 1, 32)
|
||||||
if ((src.loc == usr && usr.stat == 0))
|
//loc.loc check is for making possible renaming papers in clipboards
|
||||||
|
if ((src.loc == usr || (src.loc.loc && src.loc.loc == usr) && usr.stat == 0))
|
||||||
src.name = n_name && n_name != "" ? n_name : "Untitled paper"
|
src.name = n_name && n_name != "" ? n_name : "Untitled paper"
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
return
|
return
|
||||||
@@ -633,8 +634,24 @@ NOTEBOOK
|
|||||||
var/dat = "<B>Clipboard</B><BR>"
|
var/dat = "<B>Clipboard</B><BR>"
|
||||||
if (src.pen)
|
if (src.pen)
|
||||||
dat += text("<A href='?src=\ref[];pen=1'>Remove Pen</A><BR><HR>", src)
|
dat += text("<A href='?src=\ref[];pen=1'>Remove Pen</A><BR><HR>", src)
|
||||||
for(var/obj/item/weapon/paper/P in src)
|
dat += "<table>"
|
||||||
dat += text("<A href='?src=\ref[];read=\ref[]'>[]</A> <A href='?src=\ref[];write=\ref[]'>Write</A> <A href='?src=\ref[];remove=\ref[]'>Remove</A><BR>", src, P, P.name, src, P, src, P)
|
for(var/obj/item/weapon/W in src)
|
||||||
|
dat += "<tr>"
|
||||||
|
if (istype(W, /obj/item/weapon/paper))
|
||||||
|
var/obj/item/weapon/paper/P = W
|
||||||
|
dat += text("<td><A href='?src=\ref[];read=\ref[]'>[]</A></td><td> \
|
||||||
|
<A href='?src=\ref[];write=\ref[]'>Write</A></td><td> \
|
||||||
|
<A href='?src=\ref[];rname=\ref[]'>Rename</A></td><td> \
|
||||||
|
<A href='?src=\ref[];remove=\ref[]'>Remove</A><BR></td>", \
|
||||||
|
src, P, P.name, src, P, src, P, src, P)
|
||||||
|
if (istype(W, /obj/item/weapon/photo))
|
||||||
|
var/obj/item/weapon/photo/P = W
|
||||||
|
dat += text("<td><A href='?src=\ref[];read=\ref[]'>[]</A></td><td> \
|
||||||
|
<A href='?src=\ref[];rname=\ref[]'>Rename</A></td><td> \
|
||||||
|
<A href='?src=\ref[];remove=\ref[]'>Remove</A><BR></td>" \
|
||||||
|
, src, P, P.name, src, P, src, P)
|
||||||
|
dat += "</tr>"
|
||||||
|
dat += "</table>"
|
||||||
user << browse(dat, "window=clipboard")
|
user << browse(dat, "window=clipboard")
|
||||||
onclose(user, "clipboard")
|
onclose(user, "clipboard")
|
||||||
return
|
return
|
||||||
@@ -679,6 +696,16 @@ NOTEBOOK
|
|||||||
usr.update_clothing()
|
usr.update_clothing()
|
||||||
P.add_fingerprint(usr)
|
P.add_fingerprint(usr)
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
|
if (href_list["rname"])
|
||||||
|
var/obj/item/I = locate(href_list["rname"])
|
||||||
|
if ((I && I.loc == src))
|
||||||
|
if (istype(I, /obj/item/weapon/paper))
|
||||||
|
var/obj/item/weapon/paper/P = I
|
||||||
|
P.rename()
|
||||||
|
if (istype(I, /obj/item/weapon/photo))
|
||||||
|
var/obj/item/weapon/photo/P = I
|
||||||
|
P.rename()
|
||||||
|
src.add_fingerprint(usr)
|
||||||
if (href_list["write"])
|
if (href_list["write"])
|
||||||
var/obj/item/P = locate(href_list["write"])
|
var/obj/item/P = locate(href_list["write"])
|
||||||
if ((P && P.loc == src))
|
if ((P && P.loc == src))
|
||||||
@@ -692,13 +719,25 @@ NOTEBOOK
|
|||||||
P.attackby(src.pen, usr)
|
P.attackby(src.pen, usr)
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
if (href_list["read"])
|
if (href_list["read"])
|
||||||
var/obj/item/weapon/paper/P = locate(href_list["read"])
|
var/obj/item/I = locate(href_list["read"])
|
||||||
if ((P && P.loc == src))
|
if ((I && I.loc == src))
|
||||||
if (!( istype(usr, /mob/living/carbon/human) ))
|
if (istype(I, /obj/item/weapon/paper))
|
||||||
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, stars(P.info)), text("window=[]", P.name))
|
var/obj/item/weapon/paper/P = I
|
||||||
onclose(usr, "[P.name]")
|
if (!( istype(usr, /mob/living/carbon/human) ))
|
||||||
else
|
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, stars(P.info)), text("window=[]", P.name))
|
||||||
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, P.info), text("window=[]", P.name))
|
onclose(usr, "[P.name]")
|
||||||
|
else
|
||||||
|
var/t = dd_replacetext(P.info, "\n", "<BR>")
|
||||||
|
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, t), text("window=[]", P.name))
|
||||||
|
onclose(usr, "[P.name]")
|
||||||
|
if (istype(I, /obj/item/weapon/photo))
|
||||||
|
var/obj/item/weapon/photo/P = I
|
||||||
|
usr << browse_rsc(P.img, "tmp_photo.png")
|
||||||
|
usr << browse("<html><head><title>Photo</title></head>" \
|
||||||
|
+ "<body style='overflow:hidden'>" \
|
||||||
|
+ "<div> <img src='tmp_photo.png' width = '180'" \
|
||||||
|
+ "[P.scribble ? "<div> Writings on the back:<br><i>[P.scribble]</i>" : ]"\
|
||||||
|
+ "</body></html>", "window=book;size=200x[P.scribble ? 400 : 200]")
|
||||||
onclose(usr, "[P.name]")
|
onclose(usr, "[P.name]")
|
||||||
if (ismob(src.loc))
|
if (ismob(src.loc))
|
||||||
var/mob/M = src.loc
|
var/mob/M = src.loc
|
||||||
@@ -733,7 +772,7 @@ NOTEBOOK
|
|||||||
|
|
||||||
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
||||||
..()
|
..()
|
||||||
if (istype(P, /obj/item/weapon/paper))
|
if (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo))
|
||||||
if (src.contents.len < 15)
|
if (src.contents.len < 15)
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
P.loc = src
|
P.loc = src
|
||||||
|
|||||||
@@ -75,7 +75,12 @@
|
|||||||
H.apply_effect(10, STUTTER, 0)
|
H.apply_effect(10, STUTTER, 0)
|
||||||
user.lastattacked = M
|
user.lastattacked = M
|
||||||
H.lastattacker = user
|
H.lastattacker = user
|
||||||
charges--
|
if(isrobot(src.loc))
|
||||||
|
var/mob/living/silicon/robot/R = src.loc
|
||||||
|
if(R && R.cell)
|
||||||
|
R.cell.use(50)
|
||||||
|
else
|
||||||
|
charges--
|
||||||
H.visible_message("<span class='danger'>[M] has been stunned with the [src] by [user]!</span>")
|
H.visible_message("<span class='danger'>[M] has been stunned with the [src] by [user]!</span>")
|
||||||
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
|
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
|
||||||
if(charges < 1)
|
if(charges < 1)
|
||||||
|
|||||||
@@ -262,6 +262,8 @@ SHARDS
|
|||||||
playsound(src.loc, 'glass_step.ogg', 50, 1)
|
playsound(src.loc, 'glass_step.ogg', 50, 1)
|
||||||
if(ishuman(M))
|
if(ishuman(M))
|
||||||
var/mob/living/carbon/human/H = M
|
var/mob/living/carbon/human/H = M
|
||||||
|
if(H.mutantrace == "lizard") //Soghun have... Scales? Yeah that works
|
||||||
|
return
|
||||||
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
|
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
|
||||||
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
|
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
|
||||||
if(affecting.status & ROBOT)
|
if(affecting.status & ROBOT)
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
/obj/item/weapon/storage/briefcase/New()
|
/obj/item/weapon/storage/briefcase/New()
|
||||||
..()
|
..()
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/paper(src)
|
|
||||||
new /obj/item/weapon/pen(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
|
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
|
||||||
//..()
|
//..()
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
|||||||
randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap
|
randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap
|
||||||
randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox
|
randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox
|
||||||
|
|
||||||
if(!randomItems)
|
if(!randomItems.len)
|
||||||
del(randomItems)
|
del(randomItems)
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -58,7 +58,10 @@
|
|||||||
var/obj/item/weapon/grab/G = I
|
var/obj/item/weapon/grab/G = I
|
||||||
var/mob/GM = G.affecting
|
var/mob/GM = G.affecting
|
||||||
if(ismob(G.affecting))
|
if(ismob(G.affecting))
|
||||||
if(G.state>1 && GM.loc == get_turf(src))
|
if(G.state>1)
|
||||||
|
if(!GM.loc == get_turf(src))
|
||||||
|
user << "<span class='notice'>[GM.name] needs to be on the toilet.</span>"
|
||||||
|
return
|
||||||
if(open && !swirlie)
|
if(open && !swirlie)
|
||||||
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
||||||
swirlie = GM
|
swirlie = GM
|
||||||
@@ -101,7 +104,10 @@
|
|||||||
var/obj/item/weapon/grab/G = I
|
var/obj/item/weapon/grab/G = I
|
||||||
var/mob/GM = G.affecting
|
var/mob/GM = G.affecting
|
||||||
if(ismob(G.affecting))
|
if(ismob(G.affecting))
|
||||||
if(G.state>1 && GM.loc == get_turf(src))
|
if(G.state>1)
|
||||||
|
if(!GM.loc == get_turf(src))
|
||||||
|
user << "<span class='notice'>[GM.name] needs to be on the urinal.</span>"
|
||||||
|
return
|
||||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||||
GM.adjustBruteLoss(8)
|
GM.adjustBruteLoss(8)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -266,7 +266,8 @@ proc/move_mining_shuttle()
|
|||||||
/*****************************Shovel********************************/
|
/*****************************Shovel********************************/
|
||||||
|
|
||||||
/obj/item/weapon/shovel
|
/obj/item/weapon/shovel
|
||||||
name = "Shovel"
|
name = "shovel"
|
||||||
|
desc = "A large tool for digging and moving dirt."
|
||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
icon_state = "shovel"
|
icon_state = "shovel"
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
@@ -278,11 +279,14 @@ proc/move_mining_shuttle()
|
|||||||
m_amt = 50
|
m_amt = 50
|
||||||
origin_tech = "materials=1;engineering=1"
|
origin_tech = "materials=1;engineering=1"
|
||||||
|
|
||||||
|
/obj/item/weapon/shovel/spade
|
||||||
|
name = "spade"
|
||||||
|
desc = "A small tool for digging and moving dirt."
|
||||||
|
icon_state = "spade"
|
||||||
|
item_state = "spade"
|
||||||
|
force = 5.0
|
||||||
|
throwforce = 7.0
|
||||||
|
w_class = 2.0
|
||||||
|
|
||||||
|
|
||||||
/**********************Mining car (Crate like thing, not the rail car)**************************/
|
/**********************Mining car (Crate like thing, not the rail car)**************************/
|
||||||
|
|||||||
@@ -132,6 +132,8 @@ datum/preferences
|
|||||||
// OOC Metadata:
|
// OOC Metadata:
|
||||||
var/metadata = ""
|
var/metadata = ""
|
||||||
|
|
||||||
|
var/sound_adminhelp = 0
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
hair_style = new/datum/sprite_accessory/hair/short
|
hair_style = new/datum/sprite_accessory/hair/short
|
||||||
@@ -265,9 +267,13 @@ datum/preferences
|
|||||||
if(config.allow_Metadata)
|
if(config.allow_Metadata)
|
||||||
dat += "<b>OOC Notes:</b> <a href='byond://?src=\ref[user];preferences=1;OOC=input'> Edit </a><br>"
|
dat += "<b>OOC Notes:</b> <a href='byond://?src=\ref[user];preferences=1;OOC=input'> Edit </a><br>"
|
||||||
|
|
||||||
if((user.client) && (user.client.holder) && (user.client.holder.rank) && (user.client.holder.level >= 5))
|
if((user.client) && (user.client.holder) && (user.client.holder.rank))
|
||||||
dat += "<hr><b>OOC</b><br>"
|
dat += "<hr><b>Adminhelp sound</b>: "
|
||||||
dat += "<a href='byond://?src=\ref[user];preferences=1;ooccolor=input'>Change colour</a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font>"
|
dat += "[(sound_adminhelp)?"On":"Off"] <a href='byond://?src=\ref[user];preferences=1;toggleadminhelpsound=1'>toggle</a>"
|
||||||
|
|
||||||
|
if(user.client.holder.level >= 5)
|
||||||
|
dat += "<hr><b>OOC</b><br>"
|
||||||
|
dat += "<a href='byond://?src=\ref[user];preferences=1;ooccolor=input'>Change color</a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font>"
|
||||||
|
|
||||||
dat += "<hr><b>Occupation Choices</b><br>"
|
dat += "<hr><b>Occupation Choices</b><br>"
|
||||||
dat += "\t<a href=\"byond://?src=\ref[user];preferences=1;occ=1\"><b>Set Preferences</b></a><br>"
|
dat += "\t<a href=\"byond://?src=\ref[user];preferences=1;occ=1\"><b>Set Preferences</b></a><br>"
|
||||||
@@ -906,6 +912,9 @@ datum/preferences
|
|||||||
if(ooccolor)
|
if(ooccolor)
|
||||||
src.ooccolor = ooccolor
|
src.ooccolor = ooccolor
|
||||||
|
|
||||||
|
if(link_tags["toggleadminhelpsound"])
|
||||||
|
src.sound_adminhelp = !src.sound_adminhelp
|
||||||
|
|
||||||
if(link_tags["f_style"])
|
if(link_tags["f_style"])
|
||||||
if(species != "Human") //Non-humans don't have hair stuff yet.
|
if(species != "Human") //Non-humans don't have hair stuff yet.
|
||||||
return
|
return
|
||||||
@@ -1268,6 +1277,7 @@ datum/preferences
|
|||||||
|
|
||||||
proc/setup_client(var/client/C)
|
proc/setup_client(var/client/C)
|
||||||
if(C)
|
if(C)
|
||||||
|
C.sound_adminhelp = src.sound_adminhelp
|
||||||
C.midis = src.midis
|
C.midis = src.midis
|
||||||
C.ooccolor = src.ooccolor
|
C.ooccolor = src.ooccolor
|
||||||
C.be_alien = be_special & BE_ALIEN
|
C.be_alien = be_special & BE_ALIEN
|
||||||
|
|||||||
@@ -161,6 +161,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
|
|||||||
|
|
||||||
F["OOC_Notes"] << src.metadata
|
F["OOC_Notes"] << src.metadata
|
||||||
|
|
||||||
|
F["sound_adminhelp"] << src.sound_adminhelp
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
// loads the savefile corresponding to the mob's ckey
|
// loads the savefile corresponding to the mob's ckey
|
||||||
@@ -269,6 +271,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
|
|||||||
|
|
||||||
F["OOC_Notes"] >> src.metadata
|
F["OOC_Notes"] >> src.metadata
|
||||||
|
|
||||||
|
F["sound_adminhelp"] >> src.sound_adminhelp
|
||||||
|
|
||||||
if(isnull(metadata))
|
if(isnull(metadata))
|
||||||
metadata = ""
|
metadata = ""
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,16 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
<li class="tweak">Raises job limits for Botanists, Atmospheric Technicnians, Roboticists, Chemists, and Geneticists.</li>
|
<li class="tweak">Raises job limits for Botanists, Atmospheric Technicnians, Roboticists, Chemists, and Geneticists.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="commit sansserif">
|
||||||
|
<h2 class="date">28 June 2012</h2>
|
||||||
|
<h3 class="author">Chinsky updated:</h3>
|
||||||
|
<ul class="changes bgimages16">
|
||||||
|
<li class="rscadd">'Rename' function for clipboards</li>
|
||||||
|
<li class="rscadd">Can add photos to clipboards</li>
|
||||||
|
<li class="bugfix">Fixed troubles with formatting when reading from clipboard (linebreaks not being properly placed)</li>
|
||||||
|
<li class="bugfix">Fixed photocopiers not copying photos properly</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<div class="commit sansserif">
|
<div class="commit sansserif">
|
||||||
<h2 class="date">27 June 2012</h2>
|
<h2 class="date">27 June 2012</h2>
|
||||||
<h3 class="author">Erthilo updated:</h3>
|
<h3 class="author">Erthilo updated:</h3>
|
||||||
@@ -82,6 +91,14 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
<li class="bugfix">Fixes medical items. Gauze/kits/ointment can now be applied correctly again.</li>
|
<li class="bugfix">Fixes medical items. Gauze/kits/ointment can now be applied correctly again.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="commit sansserif">
|
||||||
|
<h2 class="date">26 June 2012</h2>
|
||||||
|
<h3 class="author">TG updated:</h3>
|
||||||
|
<ul class="changes bgimages16">
|
||||||
|
<li class="bugfix">Fixed silicon mobs not being able to access newscaster.</li>
|
||||||
|
<li class="bugfix">Fixed harmbatons on everything other than harm, now it is the opposite way round.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="commit sansserif">
|
<div class="commit sansserif">
|
||||||
<h2 class="date">25 June 2012</h2>
|
<h2 class="date">25 June 2012</h2>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
BIN
icons/vehicles/vehicles.dmi
Normal file
|
After Width: | Height: | Size: 12 KiB |