Hotfixes for March 3, 2017 (#260)
* fixes sterile mask box * fixes admin map templates https://github.com/tgstation/tgstation/pull/24581 * syndicate beacon refactor https://github.com/tgstation/tgstation/pull/24612 * singularity tracking https://github.com/tgstation/tgstation/pull/24609 * puddle description https://github.com/tgstation/tgstation/pull/24601 * aux base landing fix https://github.com/tgstation/tgstation/pull/24594 * comms console cooldown https://github.com/tgstation/tgstation/pull/24579 * cult fixes + pronouns https://github.com/tgstation/tgstation/pull/24590 * minebots now check for pressure https://github.com/tgstation/tgstation/pull/24604 * fixes a very annoying spawn https://github.com/tgstation/tgstation/pull/24588 * fixes false positive AI cheat check https://github.com/tgstation/tgstation/pull/24558 mso is bae * Fixes abductor surgery designs https://github.com/tgstation/tgstation/pull/24593 * Allows transit space shuttle repairs https://github.com/tgstation/tgstation/pull/24582 * fixes indentation error
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
T.ratvar_act(1)
|
||||
var/dir_to_step_in = pick(cardinal)
|
||||
if(!prey)
|
||||
for(var/obj/singularity/narsie/N in poi_list)
|
||||
for(var/obj/singularity/narsie/N in singularities)
|
||||
if(N.z == z)
|
||||
prey = N
|
||||
break
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
user << "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>"
|
||||
user.Dizzy(120)
|
||||
else
|
||||
user << "<span class='cultlarge'>\"One of Ratvar's toys is trying to play with things [user.gender == FEMALE ? "s" : ""]he shouldn't. Cute.\"</span>"
|
||||
user << "<span class='cultlarge'>\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"</span>"
|
||||
user << "<span class='userdanger'>A horrible force yanks at your arm!</span>"
|
||||
user.emote("scream")
|
||||
user.apply_damage(30, BRUTE, pick("l_arm", "r_arm"))
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
/obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/M)
|
||||
if(istype(M, /mob/living/simple_animal/hostile/construct/builder))
|
||||
if(obj_integrity < max_integrity)
|
||||
M.changeNext_move(CLICK_CD_MELEE)
|
||||
obj_integrity = min(max_integrity, obj_integrity + 5)
|
||||
Beam(M, icon_state="sendbeam", time=4)
|
||||
M.visible_message("<span class='danger'>[M] repairs \the <b>[src]</b>.</span>", \
|
||||
|
||||
@@ -35,6 +35,11 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
var/stat_msg1
|
||||
var/stat_msg2
|
||||
|
||||
/obj/machinery/computer/communications/proc/checkCCcooldown()
|
||||
var/obj/item/weapon/circuitboard/computer/communications/CM = circuit
|
||||
if(CM.lastTimeUsed + 600 > world.time)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/communications/New()
|
||||
shuttle_caller_list += src
|
||||
@@ -264,11 +269,11 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
// OMG CENTCOM LETTERHEAD
|
||||
if("MessageCentcomm")
|
||||
if(src.authenticated==2)
|
||||
if(CM.lastTimeUsed + 600 > world.time)
|
||||
if(!checkCCcooldown())
|
||||
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
|
||||
return
|
||||
var/input = stripped_input(usr, "Please choose a message to transmit to Centcom via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to Centcomm.", "")
|
||||
if(!input || !(usr in view(1,src)))
|
||||
if(!input || !(usr in view(1,src)) || !checkCCcooldown())
|
||||
return
|
||||
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
|
||||
Centcomm_announce(input, usr)
|
||||
@@ -280,12 +285,12 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
// OMG SYNDICATE ...LETTERHEAD
|
||||
if("MessageSyndicate")
|
||||
if((src.authenticated==2) && (src.emagged))
|
||||
if(CM.lastTimeUsed + 600 > world.time)
|
||||
if(!checkCCcooldown())
|
||||
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
|
||||
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
|
||||
return
|
||||
var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING COORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to /??????/.", "")
|
||||
if(!input || !(usr in view(1,src)))
|
||||
if(!input || !(usr in view(1,src)) || !checkCCcooldown())
|
||||
return
|
||||
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
|
||||
Syndicate_announce(input, usr)
|
||||
@@ -301,11 +306,11 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
|
||||
if("nukerequest") //When there's no other way
|
||||
if(src.authenticated==2)
|
||||
if(CM.lastTimeUsed + 600 > world.time)
|
||||
if(!checkCCcooldown())
|
||||
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
|
||||
return
|
||||
var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","")
|
||||
if(!input || !(usr in view(1,src)))
|
||||
if(!input || !(usr in view(1,src)) || !checkCCcooldown())
|
||||
return
|
||||
Nuke_request(input, usr)
|
||||
usr << "<span class='notice'>Request sent.</span>"
|
||||
@@ -687,4 +692,4 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
|
||||
/obj/machinery/computer/communications/proc/overrideCooldown()
|
||||
var/obj/item/weapon/circuitboard/computer/communications/CM = circuit
|
||||
CM.lastTimeUsed = 0
|
||||
CM.lastTimeUsed = 0
|
||||
@@ -11,6 +11,8 @@
|
||||
density = 1
|
||||
layer = BELOW_MOB_LAYER //so people can't hide it and it's REALLY OBVIOUS
|
||||
stat = 0
|
||||
verb_say = "states"
|
||||
var/cooldown = 0
|
||||
|
||||
var/active = 0
|
||||
var/icontype = "beacon"
|
||||
@@ -20,18 +22,17 @@
|
||||
if(surplus() < 1500)
|
||||
if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>"
|
||||
return
|
||||
for(var/obj/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in singularities)
|
||||
if(singulo.z == z)
|
||||
singulo.target = src
|
||||
icon_state = "[icontype]1"
|
||||
active = 1
|
||||
machines |= src
|
||||
if(user)
|
||||
user << "<span class='notice'>You activate the beacon.</span>"
|
||||
|
||||
|
||||
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
|
||||
for(var/obj/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in singularities)
|
||||
if(singulo.target == src)
|
||||
singulo.target = null
|
||||
icon_state = "[icontype]0"
|
||||
@@ -81,12 +82,18 @@
|
||||
//stealth direct power usage
|
||||
/obj/machinery/power/singularity_beacon/process()
|
||||
if(!active)
|
||||
return PROCESS_KILL
|
||||
return
|
||||
|
||||
if(surplus() > 1500)
|
||||
add_load(1500)
|
||||
if(cooldown <= world.time)
|
||||
cooldown = world.time + 100
|
||||
for(var/obj/singularity/singulo in singularities)
|
||||
if(singulo.z == z)
|
||||
say("The [singulo] is now [get_dist(src,singulo)] standard lengths away to the [dir2text(get_dir(src,singulo))]")
|
||||
else
|
||||
if(surplus() > 1500)
|
||||
add_load(1500)
|
||||
else
|
||||
Deactivate()
|
||||
Deactivate()
|
||||
say("Insufficient charge detected - powering down")
|
||||
|
||||
|
||||
/obj/machinery/power/singularity_beacon/syndicate
|
||||
@@ -120,4 +127,4 @@
|
||||
/obj/item/device/sbeacondrop/powersink
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a power draining device to your location</i>."
|
||||
droptype = /obj/item/device/powersink
|
||||
origin_tech = "bluespace=4;syndicate=5"
|
||||
origin_tech = "bluespace=4;syndicate=5"
|
||||
@@ -156,10 +156,7 @@
|
||||
//BubbleWrap END
|
||||
|
||||
if (src && usr.machine==src) //do not reopen closed window
|
||||
spawn( 0 )
|
||||
src.interact(usr)
|
||||
return
|
||||
return
|
||||
addtimer(CALLBACK(src, /atom/.proc/interact, usr), 0)
|
||||
|
||||
/obj/item/stack/proc/building_checks(datum/stack_recipe/R, multiplier)
|
||||
if (src.get_amount() < R.req_amount*multiplier)
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
/obj/item/weapon/storage/box/masks
|
||||
name = "box of sterile masks"
|
||||
desc = "This box contains sterile medical masks."
|
||||
icon_state = "sterile"
|
||||
illustration = "sterile"
|
||||
|
||||
/obj/item/weapon/storage/box/masks/New()
|
||||
..()
|
||||
|
||||
@@ -520,6 +520,7 @@
|
||||
|
||||
/obj/structure/sink/puddle //splishy splashy ^_^
|
||||
name = "puddle"
|
||||
desc = "A puddle used for washing one's hands and face."
|
||||
icon_state = "puddle"
|
||||
|
||||
/obj/structure/sink/puddle/attack_hand(mob/M)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/turf/open/space/Initialize()
|
||||
icon_state = SPACE_ICON_STATE
|
||||
air = space_gas
|
||||
|
||||
|
||||
if(initialized)
|
||||
stack_trace("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
@@ -60,9 +60,11 @@
|
||||
/turf/open/space/attack_paw(mob/user)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/turf/open/space/attackby(obj/item/C, mob/user, params)
|
||||
/turf/open/space/attackby(obj/item/C, mob/user, area_restriction)
|
||||
..()
|
||||
if(istype(C, /obj/item/stack/rods))
|
||||
if(area_restriction && !istype(get_area(src), area_restriction))
|
||||
return
|
||||
var/obj/item/stack/rods/R = C
|
||||
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
|
||||
var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src)
|
||||
|
||||
@@ -57,9 +57,9 @@
|
||||
AM.loc = T
|
||||
AM.newtonian_move(dir)
|
||||
|
||||
//Overwrite because we dont want people building rods in space.
|
||||
/turf/open/space/transit/attackby()
|
||||
return
|
||||
//Overwrite because we dont want people building rods
|
||||
/turf/open/space/transit/attackby(obj/item/C, mob/user)
|
||||
..(C, user, /area/shuttle)
|
||||
|
||||
/turf/open/space/transit/Initialize()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user