mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
Merge branch 'dev-freeze' of github.com:Baystation12/Baystation12 into dev
Conflicts: html/changelog.html
This commit is contained in:
@@ -202,6 +202,9 @@
|
|||||||
/obj/machinery/power/supermatter/attack_robot(mob/user as mob)
|
/obj/machinery/power/supermatter/attack_robot(mob/user as mob)
|
||||||
return attack_hand(user)
|
return attack_hand(user)
|
||||||
|
|
||||||
|
/obj/machinery/power/supermatter/attack_ai(mob/user as mob)
|
||||||
|
user << "<span class = \"warning\">You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update.</span>"
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/power/supermatter/attack_hand(mob/user as mob)
|
/obj/machinery/power/supermatter/attack_hand(mob/user as mob)
|
||||||
user.visible_message("<span class=\"warning\">\The [user] reaches out and touches \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.</span>",\
|
user.visible_message("<span class=\"warning\">\The [user] reaches out and touches \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.</span>",\
|
||||||
|
|||||||
@@ -109,10 +109,13 @@ var/list/alldepartments = list("Central Command")
|
|||||||
|
|
||||||
if(href_list["remove"])
|
if(href_list["remove"])
|
||||||
if(tofax)
|
if(tofax)
|
||||||
tofax.loc = usr.loc
|
if(!ishuman(usr))
|
||||||
usr.put_in_hands(tofax)
|
usr << "<span class='warning'>You can't do it.</span>"
|
||||||
usr << "<span class='notice'>You take the paper out of \the [src].</span>"
|
else
|
||||||
tofax = null
|
tofax.loc = usr.loc
|
||||||
|
usr.put_in_hands(tofax)
|
||||||
|
usr << "<span class='notice'>You take the paper out of \the [src].</span>"
|
||||||
|
tofax = null
|
||||||
|
|
||||||
if(href_list["scan"])
|
if(href_list["scan"])
|
||||||
if (scan)
|
if (scan)
|
||||||
|
|||||||
@@ -276,37 +276,79 @@
|
|||||||
C << "<span class='notice'>You are not wearing a mask.</span>"
|
C << "<span class='notice'>You are not wearing a mask.</span>"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
if(istype(C.l_hand, /obj/item/weapon/tank))
|
var/list/nicename = null
|
||||||
C << "<span class='notice'>You are now running on internals from the [C.l_hand] on your left hand.</span>"
|
var/list/tankcheck = null
|
||||||
C.internal = C.l_hand
|
var/breathes = "oxygen" //default, we'll check later
|
||||||
else if(istype(C.r_hand, /obj/item/weapon/tank))
|
var/list/contents = list()
|
||||||
C << "<span class='notice'>You are now running on internals from the [C.r_hand] on your right hand.</span>"
|
|
||||||
C.internal = C.r_hand
|
if(ishuman(C))
|
||||||
else if(ishuman(C))
|
|
||||||
var/mob/living/carbon/human/H = C
|
var/mob/living/carbon/human/H = C
|
||||||
if(istype(H.s_store, /obj/item/weapon/tank))
|
breathes = H.species.breath_type
|
||||||
H << "<span class='notice'>You are now running on internals from the [H.s_store] on your [H.wear_suit].</span>"
|
nicename = list ("suit", "back", "belt", "right hand", "left hand", "left pocket", "right pocket")
|
||||||
H.internal = H.s_store
|
tankcheck = list (H.s_store, C.back, H.belt, C.r_hand, C.l_hand, H.l_store, H.r_store)
|
||||||
else if(istype(H.belt, /obj/item/weapon/tank))
|
|
||||||
H << "<span class='notice'>You are now running on internals from the [H.belt] on your belt.</span>"
|
|
||||||
H.internal = H.belt
|
|
||||||
else if(istype(H.l_store, /obj/item/weapon/tank))
|
|
||||||
H << "<span class='notice'>You are now running on internals from the [H.l_store] in your left pocket.</span>"
|
|
||||||
H.internal = H.l_store
|
|
||||||
else if(istype(H.r_store, /obj/item/weapon/tank))
|
|
||||||
H << "<span class='notice'>You are now running on internals from the [H.r_store] in your right pocket.</span>"
|
|
||||||
H.internal = H.r_store
|
|
||||||
|
|
||||||
//Seperate so CO2 jetpacks are a little less cumbersome.
|
else
|
||||||
if(!C.internal && istype(C.back, /obj/item/weapon/tank))
|
|
||||||
C << "<span class='notice'>You are now running on internals from the [C.back] on your back.</span>"
|
|
||||||
C.internal = C.back
|
|
||||||
|
|
||||||
|
nicename = list("Right Hand", "Left Hand", "Back")
|
||||||
|
tankcheck = list(C.r_hand, C.l_hand, C.back)
|
||||||
|
|
||||||
|
for(var/i=1, i<tankcheck.len+1, ++i)
|
||||||
|
if(istype(tankcheck[i], /obj/item/weapon/tank))
|
||||||
|
var/obj/item/weapon/tank/t = tankcheck[i]
|
||||||
|
if (!isnull(t.manipulated_by) && t.manipulated_by != C.real_name && findtext(t.desc,breathes))
|
||||||
|
contents.Add(t.air_contents.total_moles) //Someone messed with the tank and put unknown gasses
|
||||||
|
continue //in it, so we're going to believe the tank is what it says it is
|
||||||
|
switch(breathes)
|
||||||
|
//These tanks we're sure of their contents
|
||||||
|
if("nitrogen") //So we're a bit more picky about them.
|
||||||
|
|
||||||
|
if(t.air_contents.nitrogen && !t.air_contents.oxygen)
|
||||||
|
contents.Add(t.air_contents.nitrogen)
|
||||||
|
else
|
||||||
|
contents.Add(0)
|
||||||
|
|
||||||
|
if ("oxygen")
|
||||||
|
if(t.air_contents.oxygen && !t.air_contents.toxins)
|
||||||
|
contents.Add(t.air_contents.oxygen)
|
||||||
|
else
|
||||||
|
contents.Add(0)
|
||||||
|
|
||||||
|
// No races breath this, but never know about downstream servers.
|
||||||
|
if ("carbon dioxide")
|
||||||
|
if(t.air_contents.carbon_dioxide && !t.air_contents.toxins)
|
||||||
|
contents.Add(t.air_contents.carbon_dioxide)
|
||||||
|
else
|
||||||
|
contents.Add(0)
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
//no tank so we set contents to 0
|
||||||
|
contents.Add(0)
|
||||||
|
|
||||||
|
//Alright now we know the contents of the tanks so we have to pick the best one.
|
||||||
|
|
||||||
|
var/best = 0
|
||||||
|
var/bestcontents = 0
|
||||||
|
for(var/i=1, i < contents.len + 1 , ++i)
|
||||||
|
if(!contents[i])
|
||||||
|
continue
|
||||||
|
if(contents[i] > bestcontents)
|
||||||
|
best = i
|
||||||
|
bestcontents = contents[i]
|
||||||
|
|
||||||
|
|
||||||
|
//We've determined the best container now we set it as our internals
|
||||||
|
|
||||||
|
if(best)
|
||||||
|
C << "<span class='notice'>You are now running on internals from [tankcheck[best]] on your [nicename[best]].</span>"
|
||||||
|
C.internal = tankcheck[best]
|
||||||
|
|
||||||
|
|
||||||
if(C.internal)
|
if(C.internal)
|
||||||
if(C.internals)
|
if(C.internals)
|
||||||
C.internals.icon_state = "internal1"
|
C.internals.icon_state = "internal1"
|
||||||
else
|
else
|
||||||
C << "<span class='notice'>You don't have an oxygen tank.</span>"
|
C << "<span class='notice'>You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.</span>"
|
||||||
if("act_intent")
|
if("act_intent")
|
||||||
usr.a_intent_change("right")
|
usr.a_intent_change("right")
|
||||||
if("help")
|
if("help")
|
||||||
|
|||||||
@@ -255,6 +255,8 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
|
|||||||
|
|
||||||
if (href_list["remove_tank"])
|
if (href_list["remove_tank"])
|
||||||
if(holding)
|
if(holding)
|
||||||
|
if(istype(holding, /obj/item/weapon/tank))
|
||||||
|
holding.manipulated_by = usr.real_name
|
||||||
holding.loc = loc
|
holding.loc = loc
|
||||||
holding = null
|
holding = null
|
||||||
|
|
||||||
|
|||||||
@@ -1042,6 +1042,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
|||||||
|
|
||||||
if(5)
|
if(5)
|
||||||
if((istype(A, /obj/item/weapon/tank)) || (istype(A, /obj/machinery/portable_atmospherics)))
|
if((istype(A, /obj/item/weapon/tank)) || (istype(A, /obj/machinery/portable_atmospherics)))
|
||||||
|
if(istype(A, /obj/item/weapon/tank))
|
||||||
|
var/obj/item/weapon/tank/t = A
|
||||||
|
t.manipulated_by = user.real_name
|
||||||
var/obj/icon = A
|
var/obj/icon = A
|
||||||
for (var/mob/O in viewers(user, null))
|
for (var/mob/O in viewers(user, null))
|
||||||
O << "\red [user] has used [src] on \icon[icon] [A]"
|
O << "\red [user] has used [src] on \icon[icon] [A]"
|
||||||
|
|||||||
@@ -285,7 +285,7 @@
|
|||||||
playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/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.shoes && !(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 & ORGAN_ROBOT)
|
if(affecting.status & ORGAN_ROBOT)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -203,23 +203,12 @@
|
|||||||
|
|
||||||
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
|
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
|
||||||
..()
|
..()
|
||||||
var/t = reject_bad_name(input(user, "What name would you like to put on this card?\nNode: You can change this later by clicking on the ID card while it's in your hand.", "Agent card name", ishuman(user) ? user.real_name : user.name))
|
if(!isnull(user)) // Runtime prevention on laggy starts or where users log out because of lag at round start.
|
||||||
if(!t)
|
registered_name = ishuman(user) ? user.real_name : user.name
|
||||||
alert("Invalid name.")
|
|
||||||
if(!registered_name)
|
|
||||||
registered_name = ishuman(user) ? user.real_name : user.name
|
|
||||||
else
|
else
|
||||||
registered_name = t
|
registered_name = "Agent Card"
|
||||||
var/u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
|
assignment = "Agent"
|
||||||
if(!u)
|
name = "[registered_name]'s ID Card ([assignment])"
|
||||||
alert("Invalid assignment.")
|
|
||||||
assignment = "Assistant"
|
|
||||||
else
|
|
||||||
assignment = u
|
|
||||||
name = "[registered_name]'s ID Card ([assignment])"
|
|
||||||
user << "\blue You successfully forge the ID card."
|
|
||||||
registered_user = user
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
|
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
|
||||||
if(!proximity) return
|
if(!proximity) return
|
||||||
@@ -239,7 +228,7 @@
|
|||||||
return
|
return
|
||||||
src.registered_name = t
|
src.registered_name = t
|
||||||
|
|
||||||
var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
|
var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Agent")),1,MAX_MESSAGE_LEN)
|
||||||
if(!u)
|
if(!u)
|
||||||
alert("Invalid assignment.")
|
alert("Invalid assignment.")
|
||||||
src.registered_name = ""
|
src.registered_name = ""
|
||||||
@@ -250,7 +239,7 @@
|
|||||||
registered_user = user
|
registered_user = user
|
||||||
else if(!registered_user || registered_user == user)
|
else if(!registered_user || registered_user == user)
|
||||||
|
|
||||||
if(!registered_user) registered_user = user // First one to pick it up is the owner if there is ever a wild case New() doens't work.
|
if(!registered_user) registered_user = user //
|
||||||
|
|
||||||
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
|
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
|
||||||
if("Rename")
|
if("Rename")
|
||||||
@@ -263,7 +252,6 @@
|
|||||||
var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
|
var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
|
||||||
if(!u)
|
if(!u)
|
||||||
alert("Invalid assignment.")
|
alert("Invalid assignment.")
|
||||||
src.registered_name = ""
|
|
||||||
return
|
return
|
||||||
src.assignment = u
|
src.assignment = u
|
||||||
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
|
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||||
|
|||||||
@@ -32,6 +32,12 @@
|
|||||||
..()
|
..()
|
||||||
usr << text("The service panel is [src.open ? "open" : "closed"].")
|
usr << text("The service panel is [src.open ? "open" : "closed"].")
|
||||||
|
|
||||||
|
attack_alien(mob/user as mob)
|
||||||
|
return attack_hand(user)
|
||||||
|
|
||||||
|
attack_paw(mob/user as mob)
|
||||||
|
return attack_hand(user)
|
||||||
|
|
||||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if(locked)
|
if(locked)
|
||||||
if ( (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (!src.emagged))
|
if ( (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (!src.emagged))
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
var/distribute_pressure = ONE_ATMOSPHERE
|
var/distribute_pressure = ONE_ATMOSPHERE
|
||||||
var/integrity = 3
|
var/integrity = 3
|
||||||
var/volume = 70
|
var/volume = 70
|
||||||
|
var/manipulated_by = null //Used by _onclick/hud/screen_objects.dm internals to determine if someone has messed with our tank or not.
|
||||||
|
//If they have and we haven't scanned it with the PDA or gas analyzer then we might just breath whatever they put in it.
|
||||||
/obj/item/weapon/tank/New()
|
/obj/item/weapon/tank/New()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -86,7 +87,7 @@
|
|||||||
O << "\red [user] has used [W] on \icon[icon] [src]"
|
O << "\red [user] has used [W] on \icon[icon] [src]"
|
||||||
|
|
||||||
var/pressure = air_contents.return_pressure()
|
var/pressure = air_contents.return_pressure()
|
||||||
|
manipulated_by = user.real_name //This person is aware of the contents of the tank.
|
||||||
var/total_moles = air_contents.total_moles()
|
var/total_moles = air_contents.total_moles()
|
||||||
|
|
||||||
user << "\blue Results of analysis of \icon[icon]"
|
user << "\blue Results of analysis of \icon[icon]"
|
||||||
@@ -261,4 +262,4 @@
|
|||||||
integrity--
|
integrity--
|
||||||
|
|
||||||
else if(integrity < 3)
|
else if(integrity < 3)
|
||||||
integrity++
|
integrity++
|
||||||
|
|||||||
@@ -423,6 +423,8 @@
|
|||||||
set desc = "Flips a non-reinforced table"
|
set desc = "Flips a non-reinforced table"
|
||||||
set category = "Object"
|
set category = "Object"
|
||||||
set src in oview(1)
|
set src in oview(1)
|
||||||
|
if(ismouse(usr))
|
||||||
|
return
|
||||||
if (!can_touch(usr))
|
if (!can_touch(usr))
|
||||||
return
|
return
|
||||||
if(!flip(get_cardinal_dir(usr,src)))
|
if(!flip(get_cardinal_dir(usr,src)))
|
||||||
|
|||||||
@@ -26,12 +26,12 @@
|
|||||||
F << "<small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br>"
|
F << "<small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br>"
|
||||||
|
|
||||||
//ADMINVERBS
|
//ADMINVERBS
|
||||||
/client/proc/investigate_show( subject in list("hrefs","notes","singulo") )
|
/client/proc/investigate_show( subject in list("hrefs","notes","singulo","telesci") )
|
||||||
set name = "Investigate"
|
set name = "Investigate"
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
if(!holder) return
|
if(!holder) return
|
||||||
switch(subject)
|
switch(subject)
|
||||||
if("singulo") //general one-round-only stuff
|
if("singulo", "telesci") //general one-round-only stuff
|
||||||
var/F = investigate_subject2file(subject)
|
var/F = investigate_subject2file(subject)
|
||||||
if(!F)
|
if(!F)
|
||||||
src << "<font color='red'>Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.</font>"
|
src << "<font color='red'>Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.</font>"
|
||||||
|
|||||||
@@ -453,6 +453,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
src << "<span class='warning'>You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.</span>"
|
src << "<span class='warning'>You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.</span>"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
var/response = alert(src, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?","Squeek!","Nope!")
|
||||||
|
if(response != "Squeek!") return //Hit the wrong key...again.
|
||||||
|
|
||||||
|
|
||||||
//find a viable mouse candidate
|
//find a viable mouse candidate
|
||||||
var/mob/living/simple_animal/mouse/host
|
var/mob/living/simple_animal/mouse/host
|
||||||
var/obj/machinery/atmospherics/unary/vent_pump/vent_found
|
var/obj/machinery/atmospherics/unary/vent_pump/vent_found
|
||||||
|
|||||||
@@ -875,8 +875,8 @@ obj/item/weapon/organ/head/New(loc, mob/living/carbon/human/H)
|
|||||||
|
|
||||||
H.regenerate_icons()
|
H.regenerate_icons()
|
||||||
|
|
||||||
H.stat = 2
|
brainmob.stat = 2
|
||||||
H.death()
|
brainmob.death()
|
||||||
|
|
||||||
obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->head
|
obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->head
|
||||||
brainmob = new(src)
|
brainmob = new(src)
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
if(href_list["remove"])
|
if(href_list["remove"])
|
||||||
var/obj/item/P = locate(href_list["remove"])
|
var/obj/item/P = locate(href_list["remove"])
|
||||||
if(P)
|
if(P && P.loc == src)
|
||||||
P.loc = usr.loc
|
P.loc = usr.loc
|
||||||
usr.put_in_hands(P)
|
usr.put_in_hands(P)
|
||||||
|
|
||||||
|
|||||||
@@ -800,7 +800,8 @@
|
|||||||
if(!can_use(usr, 1))
|
if(!can_use(usr, 1))
|
||||||
return
|
return
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
usr.set_machine(src)
|
if(usingUI) // If we set their machine and they're not using the UI, it'll cause the UI to pop up.
|
||||||
|
usr.set_machine(src)
|
||||||
if (href_list["apcwires"])
|
if (href_list["apcwires"])
|
||||||
var/t1 = text2num(href_list["apcwires"])
|
var/t1 = text2num(href_list["apcwires"])
|
||||||
if (!( istype(usr.get_active_hand(), /obj/item/weapon/wirecutters) ))
|
if (!( istype(usr.get_active_hand(), /obj/item/weapon/wirecutters) ))
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ client/proc/add_gun_icons()
|
|||||||
screen += usr.gun_run_icon
|
screen += usr.gun_run_icon
|
||||||
|
|
||||||
client/proc/remove_gun_icons()
|
client/proc/remove_gun_icons()
|
||||||
|
if(isnull(usr)) return 1 // Runtime prevention on N00k agents spawning with SMG
|
||||||
screen -= usr.item_use_icon
|
screen -= usr.item_use_icon
|
||||||
screen -= usr.gun_move_icon
|
screen -= usr.gun_move_icon
|
||||||
if (target_can_move)
|
if (target_can_move)
|
||||||
|
|||||||
@@ -114,6 +114,11 @@ var/list/valid_secondary_effect_types = list(\
|
|||||||
#define TRIGGER_NITRO 12
|
#define TRIGGER_NITRO 12
|
||||||
|
|
||||||
/obj/machinery/artifact/process()
|
/obj/machinery/artifact/process()
|
||||||
|
|
||||||
|
var/turf/L = loc
|
||||||
|
if(isnull(L) || !istype(L)) // We're inside a container or on null turf, either way stop processing effects
|
||||||
|
return
|
||||||
|
|
||||||
if(my_effect)
|
if(my_effect)
|
||||||
my_effect.process()
|
my_effect.process()
|
||||||
if(secondary_effect)
|
if(secondary_effect)
|
||||||
|
|||||||
@@ -84,6 +84,8 @@
|
|||||||
interact(user)
|
interact(user)
|
||||||
|
|
||||||
/obj/machinery/computer/telescience/interact(mob/user)
|
/obj/machinery/computer/telescience/interact(mob/user)
|
||||||
|
user.machine = src
|
||||||
|
in_use = 1
|
||||||
|
|
||||||
var/t = "<div class='statusDisplay'>[temp_msg]</div><BR>"
|
var/t = "<div class='statusDisplay'>[temp_msg]</div><BR>"
|
||||||
t += "<A href='?src=\ref[src];setrotation=1'>Set Bearing</A>"
|
t += "<A href='?src=\ref[src];setrotation=1'>Set Bearing</A>"
|
||||||
@@ -301,9 +303,10 @@
|
|||||||
temp_msg = "NOTICE:<BR>Bluespace crystals ejected."
|
temp_msg = "NOTICE:<BR>Bluespace crystals ejected."
|
||||||
|
|
||||||
updateDialog()
|
updateDialog()
|
||||||
|
return 1
|
||||||
|
|
||||||
/obj/machinery/computer/telescience/proc/recalibrate()
|
/obj/machinery/computer/telescience/proc/recalibrate()
|
||||||
teles_left = rand(30, 40)
|
teles_left = rand(30, 40)
|
||||||
angle_off = rand(-25, 25)
|
angle_off = rand(-25, 25)
|
||||||
power_off = rand(-4, 0)
|
power_off = rand(-4, 0)
|
||||||
rotation_off = rand(-10, 10)
|
rotation_off = rand(-10, 10)
|
||||||
|
|||||||
@@ -35,10 +35,7 @@ Header Section
|
|||||||
<table align='center' class="top">
|
<table align='center' class="top">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign='top'>
|
<td valign='top'>
|
||||||
|
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn,Ccomp5950 ,Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
|
||||||
|
|
||||||
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Ccomp5950,Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
|
|
||||||
|
|
||||||
<font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone, faux<br></font>
|
<font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone, faux<br></font>
|
||||||
<font size='2'><b>Sounds:</b> Aryn<br></font>
|
<font size='2'><b>Sounds:</b> Aryn<br></font>
|
||||||
<font size='2'><b>Thanks To:</b> /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot.</font>
|
<font size='2'><b>Thanks To:</b> /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot.</font>
|
||||||
@@ -60,7 +57,6 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
|
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='commit sansserif'>
|
<div class='commit sansserif'>
|
||||||
<h2 class='date'>24 November 2013</h2>
|
<h2 class='date'>24 November 2013</h2>
|
||||||
<h3 class='author'>Yinadele updated:</h3>
|
<h3 class='author'>Yinadele updated:</h3>
|
||||||
@@ -79,10 +75,22 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
<li class='bugfix'>Fixed areas in medbay to have fully functional APC sectors.</li>
|
<li class='bugfix'>Fixed areas in medbay to have fully functional APC sectors.</li>
|
||||||
<li class='rscadd'>Girders are now lasable.</li>
|
<li class='rscadd'>Girders are now lasable.</li>
|
||||||
<li class='experiment'>Please wait warmly, new features planned for next merge!</li>
|
<li class='experiment'>Please wait warmly, new features planned for next merge!</li>
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class='commit sansserif'>
|
||||||
|
<h2 class='date'>23 November 2013</h2>
|
||||||
|
<h3 class='author'>Ccomp5950 updated:</h3>
|
||||||
|
<ul class='changes bgimages16'>
|
||||||
|
<li class='bugfix'>Players are now no longer able to commit suicide with a lasertag gun, and will feel silly for doing so.</li>
|
||||||
|
<li class='bugfix'>Ghosts hit with the cult book shall now actually become visible.</li>
|
||||||
|
<li class='bugfix'>The powercells spawned with Exosuits will now properly be named to not confuse bearded roboticists.</li>
|
||||||
|
<li class='bugfix'>Blindfolded players will now no longer require eye surgery to repair their sight, removing the blindfold will be sufficient.</li>
|
||||||
|
<li class='rscadd'>Atmospheric Technicians will now have access to Exterior airlocks.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='commit sansserif'>
|
||||||
<h2 class='date'>29 October 2013</h2>
|
<h2 class='date'>29 October 2013</h2>
|
||||||
<h3 class='author'>Cael_Aislinn updated:</h3>
|
<h3 class='author'>Cael_Aislinn updated:</h3>
|
||||||
<ul class='changes bgimages16'>
|
<ul class='changes bgimages16'>
|
||||||
@@ -92,6 +100,8 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class='commit sansserif'>
|
||||||
<h2 class='date'>06 Derptomber 2013</h2>
|
<h2 class='date'>06 Derptomber 2013</h2>
|
||||||
<h3 class='author'>Chinsky updated:</h3>
|
<h3 class='author'>Chinsky updated:</h3>
|
||||||
<ul class='changes bgimages16'>
|
<ul class='changes bgimages16'>
|
||||||
@@ -110,7 +120,6 @@ should be listed in the changelog upon commit though. Thanks. -->
|
|||||||
<li class='rscadd'>Return of dreaded side effects. They now manifest well after their cause disappears, so curing them should be possible without them reappearing immediately. They also lost last stage damaging effects.</li>
|
<li class='rscadd'>Return of dreaded side effects. They now manifest well after their cause disappears, so curing them should be possible without them reappearing immediately. They also lost last stage damaging effects.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class='commit sansserif'>
|
|
||||||
|
|
||||||
<div class="commit sansserif">
|
<div class="commit sansserif">
|
||||||
<h2 class="date">September 24th, 2013</h2>
|
<h2 class="date">September 24th, 2013</h2>
|
||||||
@@ -1030,4 +1039,4 @@ Credits Section
|
|||||||
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
|
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
|
||||||
</td></tr></table></div>
|
</td></tr></table></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user