mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12
This commit is contained in:
@@ -26,6 +26,10 @@ log transactions
|
||||
del I
|
||||
|
||||
/obj/machinery/atm/attack_hand(mob/user as mob)
|
||||
if(istype(user, /mob/living/silicon))
|
||||
user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005."
|
||||
return
|
||||
|
||||
var/obj/item/weapon/card/id/user_id = src.scan_user(user)
|
||||
if(..())
|
||||
return
|
||||
|
||||
+4
-4
@@ -88,7 +88,7 @@
|
||||
|
||||
/obj/structure/bedsheetbin
|
||||
name = "linen bin"
|
||||
desc = "A bin for containing bedsheets. It looks rather cosy."
|
||||
desc = "A small wire mesh bin full of extra bedsheets and cleaning supplies for the beds. Smells of lilacs and has a faint undertone of disinfectant."
|
||||
icon = 'items.dmi'
|
||||
icon_state = "bedbin"
|
||||
var/amount = 23.0
|
||||
@@ -232,7 +232,7 @@
|
||||
var/mob/living/carbon/monkey/target = null
|
||||
|
||||
/obj/effect/sign/securearea
|
||||
desc = "A warning sign which reads 'SECURE AREA'"
|
||||
desc = "A large yellow warning sign which reads 'SECURE AREA', it appears to have been painted onto the wall like that."
|
||||
name = "SECURE AREA"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "securearea"
|
||||
@@ -250,7 +250,7 @@
|
||||
density = 0
|
||||
|
||||
/obj/effect/sign/biohazard
|
||||
desc = "A warning sign which reads 'BIOHAZARD'"
|
||||
desc = "A warning sign which reads 'BIOHAZARD', you think it'd be a good idea to ensure you have a properly sealed hazardsuit on."
|
||||
name = "BIOHAZARD"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "bio"
|
||||
@@ -259,7 +259,7 @@
|
||||
density = 0
|
||||
|
||||
/obj/effect/sign/electricshock
|
||||
desc = "A warning sign which reads 'HIGH VOLTAGE'"
|
||||
desc = "A warning sign which reads 'HIGH VOLTAGE', it looks like it'd be a wise decision to stay away from here."
|
||||
name = "HIGH VOLTAGE"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "shock"
|
||||
|
||||
@@ -225,38 +225,6 @@
|
||||
idle_power_usage = 10
|
||||
active_power_usage = 400
|
||||
|
||||
/obj/machinery/door_control
|
||||
name = "remote door-control"
|
||||
desc = "It controls doors, remotely."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "doorctrl0"
|
||||
desc = "A remote control-switch for a door."
|
||||
var/id = null
|
||||
var/range = 10
|
||||
var/normaldoorcontrol = 0
|
||||
var/desiredstate = 0 // Zero is closed, 1 is open.
|
||||
var/specialfunctions = 1
|
||||
/*
|
||||
Bitflag, 1= open
|
||||
2= idscan,
|
||||
4= bolts
|
||||
8= shock
|
||||
16= door safties
|
||||
|
||||
*/
|
||||
|
||||
var/exposedwires = 0
|
||||
var/wires = 3
|
||||
/*
|
||||
Bitflag, 1=checkID
|
||||
2=Network Access
|
||||
*/
|
||||
|
||||
anchored = 1.0
|
||||
use_power = 1
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 4
|
||||
|
||||
/obj/machinery/driver_button
|
||||
name = "mass driver button"
|
||||
icon = 'objects.dmi'
|
||||
|
||||
@@ -838,6 +838,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
var/list/names = list()
|
||||
var/list/creatures = list()
|
||||
var/list/namecounts = list()
|
||||
|
||||
for(var/mob/M in mobs)
|
||||
var/name = M.name
|
||||
if (name in names)
|
||||
@@ -846,13 +847,16 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
else
|
||||
names.Add(name)
|
||||
namecounts[name] = 1
|
||||
|
||||
if (M.real_name && M.real_name != M.name)
|
||||
name += " \[[M.original_name? M.original_name : M.real_name]\]"
|
||||
|
||||
if (M.stat == 2)
|
||||
if(istype(M, /mob/dead/observer/))
|
||||
name += " \[ghost\]"
|
||||
else
|
||||
name += " \[dead\]"
|
||||
|
||||
creatures[name] = M
|
||||
|
||||
return creatures
|
||||
|
||||
@@ -179,19 +179,16 @@ proc/countJob(rank)
|
||||
del(W)
|
||||
return equipped
|
||||
|
||||
/proc/AutoUpdateAI(obj/subject)
|
||||
/*
|
||||
/proc/AutoUpdateAI(obj/subject) // Needed for AI's to not have to click on every computer after every change.
|
||||
if (subject!=null)
|
||||
for(var/mob/living/silicon/ai/M in world)
|
||||
if ((M.client && M.machine == subject))
|
||||
subject.attack_ai(M)
|
||||
*/
|
||||
|
||||
/proc/AutoUpdateTK(obj/subject)
|
||||
/* if (subject!=null)
|
||||
/proc/AutoUpdateTK(obj/subject) // Commented where used due to lag.
|
||||
if (subject!=null)
|
||||
for(var/obj/item/tk_grab/T in world)
|
||||
if (T.host)
|
||||
var/mob/M = T.host
|
||||
if(M.client && M.machine == subject)
|
||||
subject.attack_hand(M)
|
||||
*/
|
||||
|
||||
@@ -86,6 +86,8 @@
|
||||
background = "'background-color:#CD853F;'"
|
||||
if("Released")
|
||||
background = "'background-color:#3BB9FF;'"
|
||||
if("Deceased")
|
||||
background = "'background-color:#CD853F;'"
|
||||
if("None")
|
||||
background = "'background-color:#00FF7F;'"
|
||||
if("")
|
||||
@@ -171,6 +173,8 @@
|
||||
background = "'background-color:#CD853F;'"
|
||||
if("Released")
|
||||
background = "'background-color:#3BB9FF;'"
|
||||
if("Deceased")
|
||||
background = "'background-color:#CD853F;'"
|
||||
if("None")
|
||||
background = "'background-color:#00FF7F;'"
|
||||
if("")
|
||||
@@ -472,6 +476,7 @@ What a mess.*/
|
||||
temp += "<li><a href='?src=\ref[src];choice=Change Criminal Status;criminal2=incarcerated'>Incarcerated</a></li>"
|
||||
temp += "<li><a href='?src=\ref[src];choice=Change Criminal Status;criminal2=parolled'>Parolled</a></li>"
|
||||
temp += "<li><a href='?src=\ref[src];choice=Change Criminal Status;criminal2=released'>Released</a></li>"
|
||||
temp += "<li><a href='?src=\ref[src];choice=Change Criminal Status;criminal2=deceased'>Deceased</a></li>"
|
||||
temp += "</ul>"
|
||||
if("rank")
|
||||
var/list/L = list( "Head of Personnel", "Captain", "AI" )
|
||||
@@ -525,6 +530,8 @@ What a mess.*/
|
||||
active2.fields["criminal"] = "Parolled"
|
||||
if("released")
|
||||
active2.fields["criminal"] = "Released"
|
||||
if("deceased")
|
||||
active2.fields["criminal"] = "Deceased"
|
||||
|
||||
if ("Delete Record (Security) Execute")
|
||||
if (active2)
|
||||
|
||||
@@ -1,3 +1,35 @@
|
||||
/obj/machinery/door_control
|
||||
name = "remote door-control"
|
||||
desc = "It controls doors, remotely."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "doorctrl0"
|
||||
desc = "A remote control-switch for a door."
|
||||
var/id = null
|
||||
var/range = 10
|
||||
var/normaldoorcontrol = 0
|
||||
var/desiredstate = 0 // Zero is closed, 1 is open.
|
||||
var/specialfunctions = 1
|
||||
/*
|
||||
Bitflag, 1= open
|
||||
2= idscan,
|
||||
4= bolts
|
||||
8= shock
|
||||
16= door safties
|
||||
|
||||
*/
|
||||
|
||||
var/exposedwires = 0
|
||||
var/wires = 3
|
||||
/*
|
||||
Bitflag, 1=checkID
|
||||
2=Network Access
|
||||
*/
|
||||
|
||||
anchored = 1.0
|
||||
use_power = 1
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 4
|
||||
|
||||
/obj/machinery/door_control/attack_ai(mob/user as mob)
|
||||
if(wires & 2)
|
||||
return src.attack_hand(user)
|
||||
|
||||
@@ -59,9 +59,9 @@ datum/controller/game_controller
|
||||
|
||||
setupgenetics()
|
||||
|
||||
for(var/i = 0, i < max_secret_rooms, i++)
|
||||
make_mining_asteroid_secret()
|
||||
|
||||
// for(var/i = 0, i < max_secret_rooms, i++)
|
||||
// make_mining_asteroid_secret()
|
||||
// Because energy cutlasses, facehuggers, and empty rooms are silly. FOR NOW. - Erthilo
|
||||
syndicate_code_phrase = generate_code_phrase()//Sets up code phrase for traitors, for the round.
|
||||
syndicate_code_response = generate_code_phrase()
|
||||
|
||||
|
||||
@@ -1034,7 +1034,8 @@ steam.start() -- spawns the effect
|
||||
user << "\blue You hit the metal foam to no effect."
|
||||
|
||||
CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
||||
if(air_group) return 0
|
||||
if(!istype(mover))
|
||||
return 0
|
||||
return !density
|
||||
|
||||
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
|
||||
if(M:brain_op_stage == 4.0)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
if(O == (user || M))
|
||||
if(O == user || O == M)
|
||||
continue
|
||||
if(M == user)
|
||||
O.show_message(text("\red [user] inserts [src] into his head!"), 1)
|
||||
|
||||
@@ -164,10 +164,10 @@ KNIFE
|
||||
playsound(M, 'trayhit2.ogg', 50, 1) //sound playin'
|
||||
return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3
|
||||
|
||||
var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later.
|
||||
var/mob/living/carbon/human/H = M // Let's have this ready for later.
|
||||
|
||||
|
||||
if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes
|
||||
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") //hitting anything else other than the eyes
|
||||
if(prob(33))
|
||||
src.add_blood(H)
|
||||
var/turf/location = H.loc
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
/obj/item/robot_parts/l_arm/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
/obj/item/robot_parts/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
var/limbloc = null
|
||||
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
@@ -8,230 +10,59 @@
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "l_arm")
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
if(!S.attachable)
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if((user.zone_sel.selecting == "l_arm") && (istype(src, /obj/item/robot_parts/l_arm)))
|
||||
limbloc = "l_hand"
|
||||
else if((user.zone_sel.selecting == "r_arm") && (istype(src, /obj/item/robot_parts/r_arm)))
|
||||
limbloc = "r_hand"
|
||||
else if((user.zone_sel.selecting == "r_leg") && (istype(src, /obj/item/robot_parts/r_leg)))
|
||||
limbloc = "r_foot"
|
||||
else if((user.zone_sel.selecting == "l_leg") && (istype(src, /obj/item/robot_parts/l_leg)))
|
||||
limbloc = "l_foot"
|
||||
else
|
||||
user << "\red That doesn't fit there!"
|
||||
return ..()
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
if(!S.attachable)
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to attach \the [src] where [H]'s [S.display_name] used to be.", \
|
||||
"\red [user] begins to attach \the [src] where your [S.display_name] used to be.")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
|
||||
"\red You begin to attach \the [src] where your [S.display_name] used to be.")
|
||||
|
||||
if(do_mob(user, H, 100))
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to attach a robotic limb where [H]'s [S.display_name] used to be with [src].", \
|
||||
"\red [user] begins to attach a robotic limb where [S.display_name] used to be with [src].")
|
||||
"\red [user] finishes attaching [H]'s new [S.display_name].", \
|
||||
"\red [user] finishes attaching your new [S.display_name].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
|
||||
"\red You begin to attach a robotic limb where your [S.display_name] used to be with [src].")
|
||||
"\red [user] finishes attaching \his new [S.display_name].", \
|
||||
"\red You finish attaching your new [S.display_name].")
|
||||
|
||||
if(do_mob(user, H, 100))
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching [H]'s new [S.display_name].", \
|
||||
"\red [user] finishes attaching your new [S.display_name].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching \his new [S.display_name].", \
|
||||
"\red You finish attaching your new [S.display_name].")
|
||||
if(H == user && prob(25))
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
|
||||
if(H == user && prob(25))
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
S.broken = 0
|
||||
S.attachable = 0
|
||||
S.destroyed = 0
|
||||
S.robot = 1
|
||||
var/datum/organ/external/T = H.organs[limbloc]
|
||||
T.attachable = 0
|
||||
T.destroyed = 0
|
||||
T.broken = 0
|
||||
T.robot = 1
|
||||
del(src)
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
S.broken = 0
|
||||
S.attachable = 0
|
||||
S.destroyed = 0
|
||||
S.robot = 1
|
||||
var/datum/organ/external/T = H.organs["l_hand"]
|
||||
T.attachable = 0
|
||||
T.destroyed = 0
|
||||
T.broken = 0
|
||||
T.robot = 1
|
||||
user.drop_item()
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
return 1
|
||||
else
|
||||
user << "\red That doesn't fit there!."
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/robot_parts/r_arm/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/stool/bed/roller, M.loc) && (M.buckled || M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat)) && prob(75) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(66))))
|
||||
return ..()
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "r_arm")
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
if(!S.attachable)
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to attach a robotic limb where [H]'s [S.display_name] used to be with [src].", \
|
||||
"\red [user] begins to attach a robotic limb where [S.display_name] used to be with [src].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
|
||||
"\red You begin to attach a robotic limb where your [S.display_name] used to be with [src].")
|
||||
|
||||
if(do_mob(user, H, 100))
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching [H]'s new [S.display_name].", \
|
||||
"\red [user] finishes attaching your new [S.display_name].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching \his new [S.display_name].", \
|
||||
"\red You finish attaching your new [S.display_name].")
|
||||
|
||||
if(H == user && prob(25))
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
|
||||
S.broken = 0
|
||||
S.attachable = 0
|
||||
S.destroyed = 0
|
||||
S.robot = 1
|
||||
var/datum/organ/external/T = H.organs["r_hand"]
|
||||
T.attachable = 0
|
||||
T.destroyed = 0
|
||||
T.broken = 0
|
||||
T.robot = 1
|
||||
user.drop_item()
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
return 1
|
||||
else
|
||||
user << "\red That doesn't fit there!."
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_parts/l_leg/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/stool/bed/roller, M.loc) && (M.buckled || M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat)) && prob(75) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(66))))
|
||||
return ..()
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "l_leg")
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
if(!S.attachable)
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to attach a robotic limb where [H]'s [S.display_name] used to be with [src].", \
|
||||
"\red [user] begins to attach a robotic limb where [S.display_name] used to be with [src].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
|
||||
"\red You begin to attach a robotic limb where your [S.display_name] used to be with [src].")
|
||||
|
||||
if(do_mob(user, H, 100))
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching [H]'s new [S.display_name].", \
|
||||
"\red [user] finishes attaching your new [S.display_name].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching \his new [S.display_name].", \
|
||||
"\red You finish attaching your new [S.display_name].")
|
||||
|
||||
if(H == user && prob(25))
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
|
||||
S.broken = 0
|
||||
S.attachable = 0
|
||||
S.destroyed = 0
|
||||
S.robot = 1
|
||||
var/datum/organ/external/T = H.organs["l_foot"]
|
||||
T.attachable = 0
|
||||
T.destroyed = 0
|
||||
T.broken = 0
|
||||
T.robot = 1
|
||||
user.drop_item()
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
return 1
|
||||
else
|
||||
user << "\red That doesn't fit there!."
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/robot_parts/r_leg/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/stool/bed/roller, M.loc) && (M.buckled || M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat)) && prob(75) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(66))))
|
||||
return ..()
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting == "r_leg")
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
if(!S.attachable)
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to attach a robotic limb where [H]'s [S.display_name] used to be with [src].", \
|
||||
"\red [user] begins to attach a robotic limb where [S.display_name] used to be with [src].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
|
||||
"\red You begin to attach a robotic limb where your [S.display_name] used to be with [src].")
|
||||
|
||||
if(do_mob(user, H, 100))
|
||||
if(M != user)
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching [H]'s new [S.display_name].", \
|
||||
"\red [user] finishes attaching your new [S.display_name].")
|
||||
else
|
||||
M.visible_message( \
|
||||
"\red [user] finishes attaching \his new [S.display_name].", \
|
||||
"\red You finish attaching your new [S.display_name].")
|
||||
|
||||
if(H == user && prob(25))
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
|
||||
S.broken = 0
|
||||
S.attachable = 0
|
||||
S.destroyed = 0
|
||||
S.robot = 1
|
||||
var/datum/organ/external/T = H.organs["r_foot"]
|
||||
T.attachable = 0
|
||||
T.destroyed = 0
|
||||
T.broken = 0
|
||||
T.robot = 1
|
||||
user.drop_item()
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
return 1
|
||||
else
|
||||
user << "\red That doesn't fit there!."
|
||||
return ..()
|
||||
return 1
|
||||
@@ -10,12 +10,9 @@
|
||||
opacity = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/shuttle/window/New()
|
||||
var/temploc = src.loc
|
||||
for(var/turf/simulated/W in range(temploc,0))
|
||||
W.blocks_air = 1
|
||||
W.density = 1
|
||||
..()
|
||||
CanPass(atom/movable/mover, turf/target, height, air_group)
|
||||
if(!height || air_group) return 0
|
||||
else return ..()
|
||||
|
||||
/obj/structure/shuttle/engine
|
||||
name = "engine"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
s["ai"] = config.allow_ai
|
||||
s["host"] = host ? host : null
|
||||
s["players"] = list()
|
||||
s["admins"] = 0
|
||||
var/n = 0
|
||||
|
||||
for(var/client/C)
|
||||
|
||||
@@ -95,20 +95,24 @@
|
||||
else
|
||||
alert("Admin jumping disabled")
|
||||
|
||||
/client/proc/Getmob(var/mob/M)
|
||||
/client/proc/Getmob(var/mob/M in world)
|
||||
set category = "Admin"
|
||||
set name = "Get Mob"
|
||||
set desc = "Mob to teleport"
|
||||
|
||||
if(!src.holder)
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
|
||||
if(config.allow_admin_jump)
|
||||
if(!M || !istype(M))
|
||||
var/mobs = getmobs()
|
||||
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in mobs
|
||||
M = mobs[selection]
|
||||
if(!istype(M))
|
||||
if(!selection)
|
||||
return
|
||||
|
||||
M = mobs[selection]
|
||||
|
||||
var/mob/A = src.mob
|
||||
var/turf/T = get_turf(A)
|
||||
if(T && isturf(T))
|
||||
|
||||
@@ -696,10 +696,11 @@ datum
|
||||
id = "sugar"
|
||||
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#808080" // rgb: 128, 128, 128
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2236,7 +2237,6 @@ datum
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getOxyLoss() && prob(30)) M:adjustOxyLoss(-1)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2252,7 +2252,6 @@ datum
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getFireLoss() && prob(20)) M:heal_organ_damage(0,1)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2268,7 +2267,6 @@ datum
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getToxLoss() && prob(20)) M:adjustToxLoss(-1)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2420,12 +2418,13 @@ datum
|
||||
id = "milk"
|
||||
description = "An opaque white liquid produced by the mammary glands of mammals."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1.5 * REAGENTS_METABOLISM
|
||||
color = "#DFDFDF" // rgb: 223, 223, 223
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getBruteLoss() && prob(20)) M:heal_organ_damage(1,0)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2434,12 +2433,13 @@ datum
|
||||
id = "soymilk"
|
||||
description = "An opaque white liquid made from soybeans."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1.2 * REAGENTS_METABOLISM
|
||||
color = "#DFDFC7" // rgb: 223, 223, 199
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getBruteLoss() && prob(20)) M:heal_organ_damage(1,0)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2543,13 +2543,14 @@ datum
|
||||
id = "cola"
|
||||
description = "A refreshing beverage."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#100800" // rgb: 16, 8, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:drowsyness = max(0,M:drowsyness-5)
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2558,6 +2559,7 @@ datum
|
||||
id = "nuka_cola"
|
||||
description = "Cola, cola never changes."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#100800" // rgb: 16, 8, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
@@ -2569,7 +2571,7 @@ datum
|
||||
M:sleeping = max(0,M.sleeping-2)
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2578,6 +2580,7 @@ datum
|
||||
id = "spacemountainwind"
|
||||
description = "Blows right through you like a space wind."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
@@ -2587,7 +2590,7 @@ datum
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M.make_jittery(1)
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2596,13 +2599,14 @@ datum
|
||||
id = "dr_gibb"
|
||||
description = "A delicious blend of 42 different flavours"
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:drowsyness = max(0,M:drowsyness-6)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5) //310 is the normal bodytemp. 310.055
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2611,12 +2615,13 @@ datum
|
||||
id = "space_up"
|
||||
description = "Tastes like a hull breach in your mouth."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#202800" // rgb: 32, 40, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-8) //310 is the normal bodytemp. 310.055
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2625,12 +2630,13 @@ datum
|
||||
description = "A tangy substance made of 0.5% natural citrus!"
|
||||
id = "lemon_lime"
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#878F00" // rgb: 135, 40, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-8) //310 is the normal bodytemp. 310.055
|
||||
M:nutrition += 1
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2664,6 +2670,7 @@ datum
|
||||
id = "ethanol"
|
||||
description = "A well-known alcohol with a variety of applications."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 0 //So alcohol can fill you up! If they want to.
|
||||
color = "#404030" // rgb: 64, 64, 48
|
||||
var
|
||||
dizzy_adj = 3
|
||||
@@ -2675,6 +2682,7 @@ datum
|
||||
pass_out = 325 //amount absorbed after which mob starts passing out
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
if(!src.data) data = 1
|
||||
src.data++
|
||||
|
||||
@@ -2706,13 +2714,13 @@ datum
|
||||
name = "Beer"
|
||||
id = "beer"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
// slur_start = 25 //amount absorbed after which mob starts slurring
|
||||
// confused_start = 40 //amount absorbed after which mob starts confusing directions //This is quite silly - Erthilo
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M:jitteriness = max(M:jitteriness-3,0)
|
||||
M:nutrition += 2
|
||||
return
|
||||
|
||||
whiskey
|
||||
@@ -2801,13 +2809,13 @@ datum
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
M:drowsyness = max(0,M:drowsyness-7)
|
||||
if(!M:sleeping_willingly)
|
||||
M:sleeping = max(0,M.sleeping-2)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature-5)
|
||||
M.make_jittery(1)
|
||||
M:nutrition += 1
|
||||
return
|
||||
|
||||
|
||||
@@ -2951,9 +2959,11 @@ datum
|
||||
id = "doctorsdelight"
|
||||
description = "A gulp a day keeps the MediBot away. That's probably for the best."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:getOxyLoss() && prob(50)) M:adjustOxyLoss(-2)
|
||||
if(M:getBruteLoss() && prob(60)) M:heal_organ_damage(2,0)
|
||||
@@ -3115,6 +3125,7 @@ datum
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
if (M.bodytemperature < 360)
|
||||
M.bodytemperature = min(360, M.bodytemperature+50) //310 is the normal bodytemp. 310.055
|
||||
return
|
||||
@@ -3148,6 +3159,7 @@ datum
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
if (M.bodytemperature < 270)
|
||||
M.bodytemperature = min(270, M.bodytemperature-40) //310 is the normal bodytemp. 310.055
|
||||
return
|
||||
@@ -3195,6 +3207,7 @@ datum
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M.stunned = 4
|
||||
return
|
||||
|
||||
@@ -3206,6 +3219,7 @@ datum
|
||||
color = "#2E2E61" // rgb: 46, 46, 97
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
if(!M) M = holder.my_atom
|
||||
M:adjustOxyLoss(0.5)
|
||||
M:adjustOxyLoss(0.5)
|
||||
@@ -3235,15 +3249,8 @@ datum
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!data) data = 1
|
||||
data++
|
||||
M.dizziness +=5
|
||||
if(data >= 55 && data <115)
|
||||
if (!M.slurring) M.slurring = 1
|
||||
M.slurring += 5
|
||||
else if(data >= 115 && prob(33))
|
||||
M.confused = max(M:confused+15,15)
|
||||
..()
|
||||
M.dizziness +=5
|
||||
return
|
||||
|
||||
irishcarbomb
|
||||
@@ -3254,15 +3261,8 @@ datum
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!data) data = 1
|
||||
data++
|
||||
M.dizziness +=5
|
||||
if(data >= 55 && data <115)
|
||||
if (!M.slurring) M.slurring = 1
|
||||
M.slurring += 5
|
||||
else if(data >= 115 && prob(33))
|
||||
M.confused = max(M:confused+15,15)
|
||||
..()
|
||||
M.dizziness +=5
|
||||
return
|
||||
|
||||
syndicatebomb
|
||||
@@ -3352,10 +3352,12 @@ datum
|
||||
id = "soy_latte"
|
||||
description = "A nice and tasty beverage while you are reading your hippie books."
|
||||
reagent_state = LIQUID
|
||||
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M:nutrition += nutriment_factor
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M:drowsyness = max(0,M:drowsyness-3)
|
||||
M:sleeping = 0
|
||||
@@ -3363,7 +3365,6 @@ datum
|
||||
M.bodytemperature = min(310, M.bodytemperature+5)
|
||||
M.make_jittery(5)
|
||||
if(M:getBruteLoss() && prob(20)) M:heal_organ_damage(1,0)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -3372,10 +3373,10 @@ datum
|
||||
id = "cafe_latte"
|
||||
description = "A nice, strong and tasty beverage while you are reading."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M:drowsyness = max(0,M:drowsyness-3)
|
||||
M:sleeping = 0
|
||||
@@ -3383,8 +3384,6 @@ datum
|
||||
M.bodytemperature = min(310, M.bodytemperature+5)
|
||||
M.make_jittery(5)
|
||||
if(M:getBruteLoss() && prob(20)) M:heal_organ_damage(1,0)
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
|
||||
hippies_delight
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
..()
|
||||
|
||||
// While I'm doing a terriblly lazy way of initalizing things, why don't I make it so people's preferences tag along with them. This could be useful in fixing the fucking cloned-as-unknown thing, making me not have to dynamically load them during tensioner, and of course, storing metadata.
|
||||
|
||||
if(!src.storedpreferences)
|
||||
src.storedpreferences = new
|
||||
storedpreferences.savefile_load(src, 0)
|
||||
//Whoever wrote this should go suck a choad. This was causing runtimes, asshat. IN ADDITION, YOU PUT IT IN THE LIFE PROC YOU ASSHAT
|
||||
// if(!src.storedpreferences)
|
||||
// src.storedpreferences = new
|
||||
// storedpreferences.savefile_load(src, 0)
|
||||
|
||||
|
||||
|
||||
@@ -281,8 +281,8 @@
|
||||
density = 1
|
||||
else
|
||||
density = !lying
|
||||
|
||||
|
||||
//Bullshit ERP horseshit causing runtimes. Eat a dick.
|
||||
/*
|
||||
/mob/living/proc/Examine_OOC()
|
||||
set name = "Examine Meta-Info (OOC)"
|
||||
set category = "OOC"
|
||||
@@ -300,7 +300,7 @@
|
||||
else
|
||||
usr << "OOC Metadata is not supported by this server!"
|
||||
|
||||
return
|
||||
return*/
|
||||
|
||||
/mob/living/attack_animal(mob/M)
|
||||
attack_paw(M) // treat it like a normal non-human attack
|
||||
|
||||
@@ -47,15 +47,16 @@
|
||||
|
||||
verbs += /mob/living/silicon/ai/proc/show_laws_verb
|
||||
|
||||
if (istype(loc, /turf))
|
||||
if (istype(loc, /turf)) //If you add a verb here, make sure to add it to transform_procs.dm too.
|
||||
verbs += /mob/living/silicon/ai/proc/ai_call_shuttle
|
||||
verbs += /mob/living/silicon/ai/proc/show_laws_verb
|
||||
verbs += /mob/living/silicon/ai/proc/ai_camera_track
|
||||
verbs += /mob/living/silicon/ai/proc/ai_alerts
|
||||
verbs += /mob/living/silicon/ai/proc/ai_camera_list
|
||||
//Added ai_network_change by Mord_Sith
|
||||
verbs += /mob/living/silicon/ai/proc/ai_network_change
|
||||
verbs += /mob/living/silicon/ai/proc/ai_statuschange
|
||||
//Hologram verb./N
|
||||
verbs += /mob/living/silicon/ai/proc/ai_hologram_change
|
||||
verbs += /mob/living/silicon/ai/proc/ai_roster
|
||||
|
||||
if(!safety)//Only used by AIize() to successfully spawn an AI.
|
||||
if (!B)//If there is no player/brain inside.
|
||||
|
||||
@@ -415,7 +415,7 @@
|
||||
if ((stat != 2 || !( ticker )))
|
||||
usr << "\blue <B>You must be dead to use this!</B>"
|
||||
return
|
||||
if (ticker.mode.name == ("meteor" || "epidemic"))
|
||||
if (ticker.mode.name == "meteor" || ticker.mode.name == "epidemic")
|
||||
usr << "\blue Respawn is disabled."
|
||||
return
|
||||
else
|
||||
|
||||
@@ -285,13 +285,9 @@ the mob is also allowed to move without any sort of restriction. For instance, i
|
||||
var/digitalcamo = 0 // Can they be tracked by the AI?
|
||||
|
||||
var/list/organs = list( ) //List of organs.
|
||||
var/list/organs2 = list()
|
||||
// var/list/organs2 = list()
|
||||
//Singularity wants you!
|
||||
var/grav_delay = 0
|
||||
var/being_strangled = 0
|
||||
|
||||
var/datum/preferences/storedpreferences = null
|
||||
|
||||
// var/geaslist = list()
|
||||
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ datum/preferences
|
||||
b_eyes = 0
|
||||
|
||||
//UI style
|
||||
UI = UI_OLD
|
||||
UI = UI_NEW
|
||||
|
||||
//Mob preview
|
||||
icon/preview_icon = null
|
||||
|
||||
@@ -398,13 +398,15 @@
|
||||
O << "4.) Your laws are not in preference, laws do not take preference over one another unless specifically stated in the law."
|
||||
O << "<br>We want everyone to have a good time, so we, the admins, will try to correct you if you stray from these rules. Just try to keep it sensible."
|
||||
|
||||
|
||||
//If you add a verb here, make sure to add it to silicon\ai\ai.dm too.
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_call_shuttle
|
||||
O.verbs += /mob/living/silicon/ai/proc/show_laws_verb
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_camera_track
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_alerts
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_camera_list
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_network_change
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_statuschange
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_hologram_change
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_roster
|
||||
|
||||
// O.verbs += /mob/living/silicon/ai/proc/ai_cancel_call
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
#define DOOR_CRUSH_DAMAGE 10
|
||||
|
||||
// Factor of how fast mob nutrition decreases
|
||||
#define HUNGER_FACTOR 0.1
|
||||
#define HUNGER_FACTOR 0.05
|
||||
#define REAGENTS_METABOLISM 0.05
|
||||
#define REAGENTS_OVERDOSE 30
|
||||
|
||||
|
||||
@@ -47,10 +47,25 @@ Stuff which is in development and not yet visible to players or just code relate
|
||||
should be listed in the changelog upon commit though. Thanks. -->
|
||||
|
||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">17 May 2012</h2>
|
||||
<h3 class="author">Abi79 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Fixed ID access requirements for the QM's office and the prison wing.</li>
|
||||
</ul>
|
||||
|
||||
<h3 class="author">SkyMarshal updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Metal foam now blocks air.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">16 May 2012</h2>
|
||||
<h3 class="author">Erthilo updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Hunger rate has been halved, and drinks no longer fill you up super fast. Most drinks will now keep your hunger stable. Eat food if you want to fill up!</li>
|
||||
<li class="rscdel">Removed mining secret rooms due to them having some very silly things.</li>
|
||||
<li class="rscadd">You can cut cable cuffs with wirecutters for quick removal.</li>
|
||||
<li class="bugfix">Stops pod windows leaking air everywhere.</li>
|
||||
</ul>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
@@ -667,8 +667,8 @@
|
||||
"amQ" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "floorgrime"},/area/prison)
|
||||
"amR" = (/obj/structure/stool/bed,/obj/item/toy/snappop,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/prison)
|
||||
"amS" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
|
||||
"amT" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig2"; name = "Prison Wing Interior"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
|
||||
"amU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig"; name = "Prison Wing Exterior"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
|
||||
"amT" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig2"; name = "Prison Wing Interior"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
|
||||
"amU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig"; name = "Prison Wing Exterior"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
|
||||
"amV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/prison)
|
||||
"amW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
|
||||
"amX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/prison)
|
||||
@@ -728,7 +728,7 @@
|
||||
"anZ" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/prison)
|
||||
"aoa" = (/obj/machinery/flasher{dir = 4; id = "permflash"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/prison)
|
||||
"aob" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/prison)
|
||||
"aoc" = (/obj/machinery/door_control{desc = "A remote control-switch for the exterior doors."; id = "permbrig"; name = "Prison Exterior Airlock Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 6},/obj/machinery/door_control{desc = "A remote control-switch for the interior doors."; id = "permbrig2"; name = "Prison Interior Airlock Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -6},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/prison)
|
||||
"aoc" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/prison)
|
||||
"aod" = (/obj/structure/closet/extinguisher{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
|
||||
"aoe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/security/brig)
|
||||
"aof" = (/obj/machinery/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
|
||||
@@ -3953,7 +3953,7 @@
|
||||
"bya" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"byb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"byc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"byd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "QM Office Maintenance"; req_combined_access_txt = "12;41"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm)
|
||||
"byd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "QM Office Maintenance"; req_access_txt = "41"; req_combined_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm)
|
||||
"bye" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)
|
||||
"byf" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)
|
||||
"byg" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = list("QM Office")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)
|
||||
|
||||
Reference in New Issue
Block a user