Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into turfs

# Conflicts:
#	icons/obj/toy.dmi
This commit is contained in:
Mark van Alphen
2019-05-03 18:31:45 +02:00
149 changed files with 4031 additions and 1043 deletions
+334 -314
View File
@@ -50861,7 +50861,7 @@
icon_state = "diagonalWall3"
},
/area/shuttle/administration)
"bPM" = (
"bPN" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
name = "Shuttle Hatch";
@@ -50874,25 +50874,17 @@
id = "admin";
name = "administration shuttle";
roundstart_move = "admin_away";
timid = 1;
width = 18
},
/obj/docking_port/stationary{
dir = 2;
dwidth = 8;
height = 15;
dwidth = 9;
height = 18;
id = "admin_home";
name = "port bay 1";
width = 18
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"bPN" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
name = "Shuttle Hatch";
req_access_txt = "106"
timid = 1;
width = 19
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
@@ -52067,21 +52059,6 @@
icon_state = "wall3"
},
/area/shuttle/administration)
"bRH" = (
/obj/machinery/door_control{
id = "adminshuttleblast";
name = "blast door control";
pixel_x = -30;
req_access_txt = "106"
},
/obj/machinery/light{
icon_state = "tube1";
dir = 8
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"bRI" = (
/obj/structure/plasticflaps/mining,
/obj/machinery/conveyor/east{
@@ -54159,28 +54136,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel,
/area/engine/gravitygenerator)
"bVk" = (
/obj/machinery/door_control{
id = "adminshuttleblast";
name = "blast door control";
pixel_x = -30;
req_access_txt = "106"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"bVl" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Workshop";
opacity = 1;
req_access_txt = "105"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"bVm" = (
/obj/machinery/light/spot{
tag = "icon-tube1 (WEST)";
@@ -55150,14 +55105,6 @@
icon_state = "floor4"
},
/area/shuttle/administration)
"bWO" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_l";
tag = "icon-propulsion_l (EAST)"
},
/turf/simulated/shuttle/plating,
/area/shuttle/administration)
"bWP" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
@@ -56132,14 +56079,6 @@
icon_state = "floor4"
},
/area/shuttle/administration)
"bYu" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_r";
tag = "icon-propulsion_r (EAST)"
},
/turf/simulated/shuttle/plating,
/area/shuttle/administration)
"bYv" = (
/turf/space,
/turf/simulated/shuttle/wall{
@@ -57422,17 +57361,6 @@
"cam" = (
/turf/simulated/wall,
/area/quartermaster/miningdock)
"can" = (
/obj/structure/table/reinforced,
/obj/machinery/light/spot{
tag = "icon-tube1 (NORTH)";
icon_state = "tube1";
dir = 1
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"cao" = (
/obj/structure/filingcabinet,
/turf/simulated/floor/plasteel,
@@ -58236,23 +58164,6 @@
icon_state = "floor4"
},
/area/shuttle/administration)
"cby" = (
/obj/machinery/computer/shuttle/admin,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"cbz" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Bridge";
opacity = 1;
req_access_txt = "106"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"cbA" = (
/obj/machinery/door/poddoor/shutters{
density = 0;
@@ -59505,18 +59416,9 @@
icon_state = "floor3"
},
/area/shuttle/administration)
"cdq" = (
/obj/machinery/computer/card/centcom,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"cdr" = (
/obj/structure/table/reinforced,
/obj/machinery/door_control{
id = "adminshuttleshutters";
name = "remote shutter control";
req_access_txt = "106"
/obj/machinery/computer/camera_advanced/shuttle_docker/admin{
name = "NTV Argos shuttle navigation computer"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
@@ -60290,17 +60192,6 @@
tag = "icon-cafeteria (NORTHEAST)"
},
/area/crew_quarters/hor)
"ceT" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Medbay";
opacity = 1;
req_access_txt = "103"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"ceU" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/shuttle/plating,
@@ -96567,6 +96458,12 @@
},
/turf/simulated/floor/plating,
/area/toxins/mixing)
"gQL" = (
/obj/machinery/computer/card,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"hsy" = (
/obj/machinery/atmospherics/pipe/simple/insulated{
dir = 4
@@ -96621,6 +96518,35 @@
/area/toxins/launch{
name = "Toxins Launch Room"
})
"jnJ" = (
/obj/machinery/light/spot{
tag = "icon-tube1 (NORTH)";
icon_state = "tube1";
dir = 1
},
/obj/machinery/door_control{
id = "adminshuttleblast";
name = "Blast door control";
pixel_x = -5;
pixel_y = 35;
req_access = list(101);
req_access_txt = "0"
},
/obj/machinery/door_control{
id = "adminshuttleshutters";
name = "Shutter control";
pixel_x = 5;
pixel_y = 35;
req_access = list(101);
req_access_txt = "0"
},
/obj/structure/chair/comfy/black{
dir = 4
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"kOE" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
dir = 4
@@ -96634,22 +96560,90 @@
},
/turf/space,
/area/space)
"oZV" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Medbay";
opacity = 1;
req_access_txt = "101"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"pwN" = (
/obj/machinery/door_control{
id = "adminshuttleblast";
name = "blast door control";
pixel_x = -30;
req_access_txt = "101"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"pZO" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
dir = 10
},
/turf/space,
/area/space)
"qgG" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
name = "Shuttle Hatch";
req_access_txt = "101"
},
/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"qUv" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
/turf/space,
/area/space)
"rEw" = (
/obj/machinery/computer/shuttle/admin{
name = "NTV Argos shuttle console"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"rSv" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_l";
tag = "icon-propulsion_l (EAST)"
},
/turf/space,
/area/shuttle/administration)
"rYq" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Bridge";
opacity = 1;
req_access_txt = "101"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"uxy" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
dir = 4
},
/turf/space,
/area/space)
"uBM" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_r";
tag = "icon-propulsion_r (EAST)"
},
/turf/space,
/area/shuttle/administration)
"uDK" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
tag = "icon-intact (NORTHEAST)";
@@ -96680,6 +96674,32 @@
},
/turf/space,
/area/space)
"yeP" = (
/obj/machinery/door_control{
id = "adminshuttleblast";
name = "blast door control";
pixel_x = -30;
req_access_txt = "101"
},
/obj/machinery/light{
icon_state = "tube1";
dir = 8
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
"ylx" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
name = "Workshop";
opacity = 1;
req_access_txt = "101"
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/administration)
(1,1,1) = {"
aaa
@@ -105044,15 +105064,15 @@ aaa
aaa
aaa
aaa
bPL
rSv
uBM
cae
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
bPL
rSv
uBM
cae
aaa
aaa
aaa
@@ -105300,18 +105320,18 @@ aaa
aaa
aaa
aaa
aaa
bPL
bWO
bYu
bPI
bWG
bWG
bPI
bPI
bPI
bWG
bWG
bPI
cae
aaa
bPL
bWO
bYu
cae
aaa
aaa
aaa
aaa
aaa
@@ -105556,16 +105576,17 @@ aaa
aaa
aaa
aaa
aaa
bPL
bPI
bWG
bWG
bVe
bRA
bRA
caf
bPI
bPI
bPI
bWG
bWG
cdl
ceR
ceR
cig
bPI
cae
aaa
@@ -105674,7 +105695,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(36,1,1) = {"
aaa
@@ -105808,22 +105828,23 @@ bCd
bCd
bCd
bAR
aaa
aaa
bjQ
aaa
aaa
aaa
bPL
bPI
bVe
bRu
bRA
bVf
bRA
bRA
caf
cag
bPI
cdl
cdm
ceR
ceR
cig
ceR
ckd
bPI
cae
aaa
@@ -105931,7 +105952,6 @@ aaa
aaa
aaa
aaa
aaa
"}
(37,1,1) = {"
aaa
@@ -106065,25 +106085,25 @@ bCc
bDG
bEK
bAR
bjQ
aLd
aaa
aaa
aaa
bPL
bRu
bRA
bVf
bRA
bRA
cag
bPI
cdm
ceR
ceR
ceR
ckd
bRv
bRA
bVg
cuH
bRA
cah
bPI
cdp
ceR
ceR
ceR
ceR
clC
bPI
cae
aaa
aaa
aaa
@@ -106322,24 +106342,24 @@ aAi
bCb
bCl
bAR
aLd
aSd
aaa
aaa
aaa
bPI
bRv
bRw
bRA
bVg
bVh
cuH
bRA
cah
cai
bPI
cdp
cdl
ceR
cgw
cih
ceR
ceR
ceR
clC
clD
bPI
aaa
aaa
@@ -106584,19 +106604,19 @@ aaa
aaa
aaa
bPI
bRw
bRA
bVh
bRx
bTl
bVi
cuH
bRA
cai
bRA
bPI
cdl
cdo
ceR
cgw
cih
ceR
clD
cgx
cii
ckf
clE
bPI
aaa
aaa
@@ -106837,23 +106857,23 @@ bCb
bEL
bAR
aSd
aaa
aaa
aaa
aSd
aSd
aSd
bPI
bRx
bTl
bVi
cuH
bRA
bRA
bPI
cdo
ceR
cgx
cii
ckf
clE
bRG
bRG
bRG
bRG
bYt
bRG
bRG
bRG
oZV
bRG
bRG
bRG
bRG
bPI
aaa
aaa
@@ -107094,23 +107114,23 @@ bCb
bEL
bAR
aSd
aSd
aSd
aSd
bPI
bRG
bRG
bRG
bRG
bYt
bRG
bRG
bRG
ceT
bRG
bRG
bRG
bRG
bGm
bLY
bKp
qgG
yeP
bTn
pwN
bRA
bRA
bRA
bTo
bRA
bRA
bRA
bRA
bRA
bRA
bPI
aaa
aaa
@@ -107351,23 +107371,23 @@ bCb
bEL
bAR
aSd
bGm
bLY
bGl
bLX
bKp
bPN
bRH
bRA
bTn
bVk
bRA
bRA
bRA
bTo
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
clF
bPI
aaa
aaa
@@ -107608,23 +107628,23 @@ bCb
bEL
bAR
aSd
bGl
bLX
bKp
bPM
bRA
bTn
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
bRA
clF
bKp
bOb
bPI
bRG
bRG
ylx
bRG
bRG
bRG
rYq
bRG
bRG
bRG
cik
bRG
bRG
bPI
aaa
aaa
@@ -107865,23 +107885,23 @@ bCb
bAR
bER
aSd
bKp
bKp
bOb
aMd
bLZ
aSd
bPI
bRG
bRG
bVl
bRG
bRG
bRG
cbz
bRG
bRG
bRG
cik
bRG
bRG
bRB
bTo
bRA
bWI
bPI
gQL
bRA
bRA
bPI
bRA
bRA
ckg
clG
bPI
aaa
aaa
@@ -108126,19 +108146,19 @@ aMd
bLZ
aSd
bPI
bRB
bTo
bRC
bRA
bWI
bRA
bWJ
bPI
jnJ
cbx
cbx
bPI
bRA
bRA
bRA
bPI
bRA
bRA
ckg
clG
clI
bPI
aaa
aaa
@@ -108383,19 +108403,19 @@ aMd
bLZ
aSd
bPI
bRC
bRD
bRA
bRA
bWJ
bWK
bPI
can
cbx
cak
rEw
cdr
bPI
bRA
bRA
bRA
clI
bRA
bPI
aaa
aaa
@@ -108639,21 +108659,21 @@ aSd
aMd
bMa
bjQ
bPR
bPI
bRD
bRA
bRA
bWK
bPI
cak
cby
cdq
bPI
bRA
bRA
bTp
bRA
bRA
bPI
car
cbA
cds
bPI
cgz
cio
ckj
bPI
bYv
aaa
aaa
aaa
@@ -108896,21 +108916,21 @@ bLs
bmS
bMb
aLd
bPR
aaa
bPI
bWL
bRA
bWM
bPI
aaa
aaa
aaa
bPI
bTp
bRA
bRA
ckh
bPI
car
cbA
cds
bPI
cgz
cio
ckj
bPI
bYv
aaa
aaa
aaa
aaa
@@ -109154,19 +109174,19 @@ aSf
bLZ
aSd
aaa
bPR
bPI
bWL
bRA
bWM
bTl
bWN
bPI
aaa
aaa
aaa
bPI
bRA
bRA
ckh
cgA
cil
bPI
bYv
aaa
aaa
aaa
@@ -109411,22 +109431,22 @@ aSf
bMc
aSd
aaa
aaa
bPR
bPI
bTl
bWN
bPI
aaa
aaa
aaa
bPI
cgA
cil
bPI
bRG
bRG
bYv
aaa
aaa
aaa
bPR
bRG
bRG
bYv
aaa
aaa
aaa
aaa
aaa
aaa
aaa
@@ -109669,17 +109689,17 @@ bCf
bCf
aaa
aaa
bPR
bRG
bRG
bYv
aaa
aaa
aaa
bPR
bRG
bRG
bYv
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
+145 -144
View File
@@ -8030,11 +8030,12 @@
"tH" = (
/obj/docking_port/stationary{
dir = 2;
dwidth = 8;
height = 15;
dwidth = 9;
height = 18;
id = "admin_away";
name = "centcom bay 1";
width = 18
timid = 1;
width = 19
},
/turf/space,
/area/space)
@@ -35340,9 +35341,9 @@ wK
wK
wK
wK
aN
aN
aN
wK
wK
wK
aN
aN
aN
@@ -35581,21 +35582,24 @@ aN
aN
cp
cj
yt
yt
yt
cr
aN
aN
cr
yt
cr
aN
aN
cr
yt
yt
yt
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -35638,9 +35642,6 @@ aN
aN
aN
aN
aN
aN
aN
jZ
kz
kM
@@ -35838,9 +35839,6 @@ aN
aN
cp
cj
yt
yt
cr
aN
aN
aN
@@ -35850,9 +35848,15 @@ aN
aN
aN
aN
cr
yt
yt
aN
aN
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -35918,9 +35922,6 @@ aN
aN
aN
aN
aN
aN
aN
"}
(91,1,1) = {"
aN
@@ -36095,8 +36096,6 @@ aN
aN
cp
cj
yt
cr
aN
aN
aN
@@ -36108,8 +36107,13 @@ aN
aN
aN
aN
cr
yt
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -36152,9 +36156,6 @@ aN
aN
aN
aN
aN
aN
aN
jU
kw
kE
@@ -36352,7 +36353,6 @@ aN
aN
cp
cj
cr
aN
aN
aN
@@ -36366,7 +36366,11 @@ aN
aN
aN
aN
cr
aN
aN
aN
aN
aN
wK
aN
aN
@@ -36408,9 +36412,6 @@ aN
aN
aN
aN
aN
aN
aN
jQ
jW
kD
@@ -36624,6 +36625,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -36665,9 +36669,6 @@ aN
aN
aN
aN
aN
aN
aN
jP
kt
kx
@@ -36881,6 +36882,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -36922,9 +36926,6 @@ aN
aN
aN
aN
aN
aN
aN
jS
kv
kx
@@ -37138,6 +37139,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -37179,9 +37183,6 @@ aN
aN
aN
aN
aN
aN
aN
jR
ku
kx
@@ -37395,6 +37396,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -37436,9 +37440,6 @@ aN
aN
aN
aN
aN
aN
aN
jT
ka
kA
@@ -37652,6 +37653,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -37694,9 +37698,6 @@ aN
aN
aN
aN
aN
aN
aN
jZ
kz
kM
@@ -37909,6 +37910,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -37974,9 +37978,6 @@ aN
aN
aN
aN
aN
aN
aN
"}
(99,1,1) = {"
aN
@@ -38166,6 +38167,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -38231,9 +38235,6 @@ aN
aN
aN
aN
aN
aN
aN
"}
(100,1,1) = {"
aN
@@ -38423,6 +38424,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -38488,9 +38492,6 @@ aN
aN
aN
aN
aN
aN
aN
"}
(101,1,1) = {"
aN
@@ -38680,6 +38681,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -38713,9 +38717,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
mr
mr
@@ -38937,6 +38938,9 @@ aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -38970,9 +38974,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
aN
aN
@@ -39179,7 +39180,6 @@ qo
qs
tx
wK
cr
aN
aN
aN
@@ -39193,7 +39193,11 @@ aN
aN
aN
aN
cr
aN
aN
aN
aN
aN
wK
aN
aN
@@ -39227,9 +39231,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
aN
aN
@@ -39436,21 +39437,24 @@ qo
qs
tA
wK
yt
aN
aN
aN
aN
aN
yt
yt
yt
aN
aN
aN
aN
aN
yt
aN
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -39484,9 +39488,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
aN
aN
@@ -39693,21 +39694,24 @@ tq
tv
tz
wK
yt
cr
aN
aN
aN
aN
yt
yt
yt
aN
aN
aN
aN
cr
yt
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -39741,9 +39745,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
aN
aN
@@ -39950,21 +39951,24 @@ wK
wK
wK
wK
yt
yt
cr
aN
aN
cr
yt
yt
yt
cr
aN
aN
cr
yt
yt
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
wK
aN
aN
@@ -39998,9 +40002,6 @@ aN
aN
aN
aN
aN
aN
aN
mr
aN
aN
@@ -40207,22 +40208,6 @@ aN
aN
aN
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
aN
aN
aN
@@ -40241,6 +40226,22 @@ aN
aN
aN
aN
wK
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
@@ -40463,26 +40464,26 @@ aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
aN
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
wK
aN
aN
aN
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+29 -28
View File
@@ -217,33 +217,34 @@
#define MFOAM_IRON 2
//Human Overlays Indexes/////////
#define BODY_LAYER 37
#define MUTANTRACE_LAYER 36
#define TAIL_UNDERLIMBS_LAYER 35 //Tail split-rendering.
#define LIMBS_LAYER 34
#define INTORGAN_LAYER 33
#define MARKINGS_LAYER 32
#define UNDERWEAR_LAYER 31
#define MUTATIONS_LAYER 30
#define H_DAMAGE_LAYER 29
#define UNIFORM_LAYER 28
#define ID_LAYER 27
#define SHOES_LAYER 26
#define GLOVES_LAYER 25
#define EARS_LAYER 24
#define SUIT_LAYER 23
#define BELT_LAYER 22 //Possible make this an overlay of somethign required to wear a belt?
#define SUIT_STORE_LAYER 21
#define BACK_LAYER 20
#define HEAD_ACCESSORY_LAYER 19
#define FHAIR_LAYER 18
#define GLASSES_LAYER 17
#define HAIR_LAYER 16 //TODO: make part of head layer?
#define HEAD_ACC_OVER_LAYER 15 //Select-layer rendering.
#define FHAIR_OVER_LAYER 14 //Select-layer rendering.
#define GLASSES_OVER_LAYER 13 //Select-layer rendering.
#define TAIL_LAYER 12 //bs12 specific. this hack is probably gonna come back to haunt me
#define FACEMASK_LAYER 11
#define BODY_LAYER 38
#define MUTANTRACE_LAYER 37
#define TAIL_UNDERLIMBS_LAYER 36 //Tail split-rendering.
#define LIMBS_LAYER 35
#define INTORGAN_LAYER 34
#define MARKINGS_LAYER 33
#define UNDERWEAR_LAYER 32
#define MUTATIONS_LAYER 31
#define H_DAMAGE_LAYER 30
#define UNIFORM_LAYER 29
#define ID_LAYER 28
#define SHOES_LAYER 27
#define GLOVES_LAYER 26
#define EARS_LAYER 25
#define SUIT_LAYER 24
#define BELT_LAYER 23 //Possible make this an overlay of somethign required to wear a belt?
#define SUIT_STORE_LAYER 22
#define BACK_LAYER 21
#define HEAD_ACCESSORY_LAYER 20
#define FHAIR_LAYER 19
#define GLASSES_LAYER 18
#define HAIR_LAYER 17 //TODO: make part of head layer?
#define HEAD_ACC_OVER_LAYER 16 //Select-layer rendering.
#define FHAIR_OVER_LAYER 15 //Select-layer rendering.
#define GLASSES_OVER_LAYER 14 //Select-layer rendering.
#define TAIL_LAYER 13 //bs12 specific. this hack is probably gonna come back to haunt me
#define FACEMASK_LAYER 12
#define OVER_MASK_LAYER 11 //Select-layer rendering.
#define HEAD_LAYER 10
#define COLLAR_LAYER 9
#define HANDCUFF_LAYER 8
@@ -254,7 +255,7 @@
#define FIRE_LAYER 3 //If you're on fire
#define MISC_LAYER 2
#define FROZEN_LAYER 1
#define TOTAL_LAYERS 37
#define TOTAL_LAYERS 38
///Access Region Codes///
#define REGION_ALL 0
+15
View File
@@ -25,6 +25,11 @@
port_id = "ferry"
name = "Base Shuttle Template (Ferry)"
/datum/map_template/shuttle/admin
port_id = "admin"
name = "Base Shuttle Template (Admin)"
// Shuttles start here:
@@ -117,3 +122,13 @@
definitely no zombifyin' reagents!"
admin_notes = "Meat currently contains no zombifying reagents, people on \
meatspike must be spawned in."
/datum/map_template/shuttle/admin/hospital
suffix = "hospital"
name = "NHV Asclepius"
description = "Nanostrasen Hospital ship, for medical assistance during disasters."
/datum/map_template/shuttle/admin/admin
suffix = "admin"
name = "NTV Argos"
description = "Default Admin ship. An older ship used for special operations."
+6
View File
@@ -1073,6 +1073,12 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containertype = /obj/structure/closet/critter/cow
containername = "cow crate"
/datum/supply_packs/organic/pig
name = "Pig Crate"
cost = 25
containertype = /obj/structure/closet/critter/pig
containername = "pig crate"
/datum/supply_packs/organic/goat
name = "Goat Crate"
cost = 25
+3 -3
View File
@@ -1544,10 +1544,10 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 12
/datum/uplink_item/cyber_implants/reviver
name = "Reviver Implant"
desc = "This implant will attempt to revive you if you lose consciousness. Comes with an automated implanting tool."
name = "Hardened Reviver Implant"
desc = "This implant will attempt to revive you if you lose consciousness. It is invulnerable to EMPs. Comes with an automated implanting tool."
reference = "CIR"
item = /obj/item/organ/internal/cyberimp/chest/reviver
item = /obj/item/organ/internal/cyberimp/chest/reviver/hardened
cost = 8
// POINTLESS BADASSERY
+1 -1
View File
@@ -335,7 +335,7 @@ var/list/ghostteleportlocs = list()
icon_state = "shuttle"
/area/shuttle/administration
name = "\improper Administration Shuttle"
name = "\improper Nanotrasen Vessel"
icon_state = "shuttlered"
/area/shuttle/administration/centcom
+6 -1
View File
@@ -257,7 +257,12 @@ var/global/list/role_playtime_requirements = list(
play_records[rtype] = text2num(read_records[rtype])
else
play_records[rtype] = 0
var/myrole = mob.mind.playtime_role ? mob.mind.playtime_role : mob.mind.assigned_role
var/myrole
if(mob.mind)
if(mob.mind.playtime_role)
myrole = mob.mind.playtime_role
else if(mob.mind.assigned_role)
myrole = mob.mind.assigned_role
if(mob.stat == CONSCIOUS && myrole)
play_records[EXP_TYPE_LIVING] += minutes
if(announce_changes)
+2 -5
View File
@@ -87,10 +87,7 @@
if(operating || !density)
return
add_fingerprint(user)
if(!requiresID())
user = null
if(allowed(user))
if(!requiresID() || allowed(user))
open_and_close()
else
do_animate("deny")
@@ -217,7 +214,7 @@
return attack_hand(user)
/obj/machinery/door/window/attack_hand(mob/user)
return attackby(user, user)
return bumpopen(user)
/obj/machinery/door/window/emag_act(mob/user, obj/weapon)
if(!operating && density && !emagged)
+1 -1
View File
@@ -599,7 +599,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
/obj/item/MouseEntered(location, control, params)
if(in_inventory)
var/timedelay = 5
var/timedelay = 8
var/user = usr
tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), timedelay, TIMER_STOPPABLE)
+1 -1
View File
@@ -37,7 +37,7 @@
visible_message("<span class='notice'>[src] swells up!</span>")
// Animation
icon = 'icons/mob/animal.dmi'
icon = 'icons/mob/carp.dmi'
flick("carp_swell", src)
// Wait for animation to end
sleep(6)
@@ -240,6 +240,7 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
var/global/list/datum/stack_recipe/cardboard_recipes = list (
new /datum/stack_recipe("box", /obj/item/storage/box),
new /datum/stack_recipe("large box", /obj/item/storage/box/large, 4),
new /datum/stack_recipe("patch pack", /obj/item/storage/pill_bottle/patch_pack, 2),
new /datum/stack_recipe("light tubes", /obj/item/storage/box/lights/tubes),
new /datum/stack_recipe("light bulbs", /obj/item/storage/box/lights/bulbs),
new /datum/stack_recipe("mouse traps", /obj/item/storage/box/mousetraps),
+26
View File
@@ -1066,6 +1066,32 @@ obj/item/toy/cards/deck/syndicate/black
name = "tuxedo cat plushie"
icon_state = "tuxedocat"
//New generation TG plushies
/obj/item/toy/plushie/lizardplushie
name = "lizard plushie"
desc = "An adorable stuffed toy that resembles a lizardperson."
icon_state = "plushie_lizard"
item_state = "plushie_lizard"
/obj/item/toy/plushie/snakeplushie
name = "snake plushie"
desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing."
icon_state = "plushie_snake"
item_state = "plushie_snake"
/obj/item/toy/plushie/nukeplushie
name = "operative plushie"
desc = "An stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious."
icon_state = "plushie_nuke"
item_state = "plushie_nuke"
/obj/item/toy/plushie/slimeplushie
name = "slime plushie"
desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack."
icon_state = "plushie_slime"
item_state = "plushie_slime"
/*
* Foam Armblade
*/
@@ -4,23 +4,22 @@
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "utilitybelt"
item_state = "utility"
lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi'
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
var/use_item_overlays = 0 // Do we have overlays for items held inside the belt?
/obj/item/storage/belt/update_icon()
if(use_item_overlays)
overlays.Cut()
for(var/obj/item/I in contents)
overlays += "[I.name]"
..()
/obj/item/storage/belt/proc/can_use()
return is_equipped()
/obj/item/storage/belt/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if(!istype(over_object, /obj/screen))
@@ -68,7 +67,7 @@
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/stack/cable_coil(src, 30, pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE))
new /obj/item/stack/cable_coil/random(src, 30)
update_icon()
/obj/item/storage/belt/utility/full/multitool/New()
@@ -99,7 +98,7 @@
new /obj/item/crowbar/power(src)
new /obj/item/weldingtool/experimental(src)//This can be changed if this is too much
new /obj/item/multitool(src)
new /obj/item/stack/cable_coil(src, 30, pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE))
new /obj/item/stack/cable_coil/random(src, 30)
new /obj/item/extinguisher/mini(src)
new /obj/item/analyzer(src)
update_icon()
@@ -184,7 +183,6 @@
new /obj/item/reagent_containers/food/pill/salicylic(src)
update_icon()
/obj/item/storage/belt/botany
name = "botanist belt"
desc = "Can hold various botanical supplies."
@@ -207,7 +205,6 @@
/obj/item/wrench,
)
/obj/item/storage/belt/security
name = "security belt"
desc = "Can hold security gear like handcuffs and flashes."
@@ -474,7 +471,6 @@
..()
update_icon()
/obj/item/storage/belt/holster
name = "shoulder holster"
desc = "A holster to conceal a carried handgun. WARNING: Badasses only."
@@ -512,7 +508,6 @@
W.charges = W.max_charges
update_icon()
/obj/item/storage/belt/fannypack
name = "fannypack"
desc = "A dorky fannypack for keeping small items in."
@@ -601,7 +596,6 @@
// Bluespace Belt
// -------------------------------------
/obj/item/storage/belt/bluespace
name = "Belt of Holding"
desc = "The greatest in pants-supporting technology."
@@ -634,8 +628,6 @@
var/bolacount = 0
var/cooldown = 0
/obj/item/storage/belt/bluespace/owlman/New()
..()
new /obj/item/grenade/smokebomb(src)
@@ -312,6 +312,7 @@
if(usr.s_active)
usr.s_active.show_to(usr)
W.mouse_opacity = MOUSE_OPACITY_OPAQUE //So you can click on the area around the item to equip it, instead of having to pixel hunt
W.in_inventory = TRUE
update_icon()
return 1
@@ -44,6 +44,10 @@
name = "cow crate"
content_mob = /mob/living/simple_animal/cow
/obj/structure/closet/critter/pig
name = "pig crate"
content_mob = /mob/living/simple_animal/pig
/obj/structure/closet/critter/goat
name = "goat crate"
content_mob = /mob/living/simple_animal/hostile/retaliate/goat
+2 -2
View File
@@ -42,8 +42,8 @@
possible_contents = list(/obj/random/carp_plushie)
/obj/item/toy/prizeball/plushie
name = "animal plushie capsule"
desc = "Contains one cuddly animal plushie!"
name = "plushie capsule"
desc = "Contains one cuddly plushie!"
possible_contents = list(/obj/random/plushie)
/obj/item/toy/prizeball/figure
+2 -2
View File
@@ -157,8 +157,8 @@ var/global/datum/prizes/global_prizes = new
cost = 65
/datum/prize_item/plushie
name = "Random Animal Plushie"
desc = "A colorful animal-shaped plush toy."
name = "Random Plushie"
desc = "A colorful plush toy."
typepath = /obj/item/toy/prizeball/plushie
cost = 75
+23
View File
@@ -159,6 +159,7 @@
var/list/color_view = null//overrides client.color while worn
var/prescription = 0
var/prescription_upgradable = 0
var/over_mask = FALSE //Whether or not the eyewear is rendered above the mask. Purely cosmetic.
strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets
put_on_delay = 25
burn_state = FIRE_PROOF
@@ -173,6 +174,28 @@ SEE_PIXELS// if an object is located on an unlit area, but some of its pixels ar
BLIND // can't see anything
*/
/obj/item/clothing/glasses/verb/adjust_eyewear() //Adjust eyewear to be worn above or below the mask.
set name = "Adjust Eyewear"
set category = "Object"
set desc = "Adjust your eyewear to be worn over or under a mask."
set src in usr
var/mob/living/carbon/human/user = usr
if(!istype(user))
return
if(user.incapacitated()) //Dead spessmen adjust no glasses. Resting/buckled ones do, though
return
var/action_fluff = "You adjust \the [src]"
if(user.glasses == src)
if(!user.canUnEquip(src))
to_chat(usr, "[src] is stuck to you!")
return
if(attack_hand(user)) //Remove the glasses for this action. Prevents logic-defying instances where glasses phase through your mask as it ascends/descends to another plane of existence.
action_fluff = "You remove \the [src] and adjust it"
over_mask = !over_mask
to_chat(user, "<span class='notice'>[action_fluff] to be worn [over_mask ? "over" : "under"] a mask.</span>")
//Gloves
/obj/item/clothing/gloves
+10 -1
View File
@@ -345,7 +345,7 @@
name = "winter coat"
desc = "A heavy jacket made from 'synthetic' animal furs."
icon_state = "wintercoat"
item_state = "labcoat"
item_state = "coatwinter"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -369,6 +369,7 @@
/obj/item/clothing/suit/hooded/wintercoat/captain
name = "captain's winter coat"
icon_state = "wintercoat_captain"
item_state = "coatcaptain"
armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/winterhood/captain
@@ -379,6 +380,7 @@
/obj/item/clothing/suit/hooded/wintercoat/security
name = "security winter coat"
icon_state = "wintercoat_sec"
item_state = "coatsecurity"
armor = list(melee = 10, bullet = 10, laser = 10, energy = 5, bomb = 15, bio = 0, rad = 0)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/winterhood/security
@@ -389,6 +391,7 @@
/obj/item/clothing/suit/hooded/wintercoat/medical
name = "medical winter coat"
icon_state = "wintercoat_med"
item_state = "coatmedical"
allowed = list(/obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 50, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/medical
@@ -399,6 +402,7 @@
/obj/item/clothing/suit/hooded/wintercoat/science
name = "science winter coat"
icon_state = "wintercoat_sci"
item_state = "coatscience"
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/science
@@ -409,6 +413,7 @@
/obj/item/clothing/suit/hooded/wintercoat/engineering
name = "engineering winter coat"
icon_state = "wintercoat_engi"
item_state = "coatengineer"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20)
allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd)
hoodtype = /obj/item/clothing/head/winterhood/engineering
@@ -419,6 +424,7 @@
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
name = "atmospherics winter coat"
icon_state = "wintercoat_atmos"
item_state = "coatatmos"
hoodtype = /obj/item/clothing/head/winterhood/engineering/atmos
/obj/item/clothing/head/winterhood/engineering/atmos
@@ -427,6 +433,7 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro
name = "hydroponics winter coat"
icon_state = "wintercoat_hydro"
item_state = "coathydro"
allowed = list(/obj/item/reagent_containers/spray, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/hatchet, /obj/item/storage/bag/plants)
hoodtype = /obj/item/clothing/head/winterhood/hydro
@@ -436,6 +443,7 @@
/obj/item/clothing/suit/hooded/wintercoat/cargo
name = "cargo winter coat"
icon_state = "wintercoat_cargo"
item_state = "coatcargo"
hoodtype = /obj/item/clothing/head/winterhood/cargo
/obj/item/clothing/head/winterhood/cargo
@@ -444,6 +452,7 @@
/obj/item/clothing/suit/hooded/wintercoat/miner
name = "mining winter coat"
icon_state = "wintercoat_miner"
item_state = "coatminer"
allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/miner
@@ -806,6 +806,7 @@
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
flags = NODROP
flags_size = ONESIZEFITSALL
has_sensor = 0 // HUNKE
/obj/item/clothing/under/victdress
+16 -2
View File
@@ -414,8 +414,22 @@
if(has_breathable_mask && istype(belt, /obj/item/tank))
dat += "&nbsp;<A href='?src=[UID()];internal=[slot_belt]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
dat += "</td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>Pockets:</B></td><td><A href='?src=[UID()];pockets=left'>[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "<font color=grey>Left (Empty)</font>"]</A>"
dat += "&nbsp;<A href='?src=[UID()];pockets=right'>[(r_store && !(r_store.flags&ABSTRACT)) ? "Right (Full)" : "<font color=grey>Right (Empty)</font>"]</A></td></tr>"
// Pockets
dat += "<tr><td>&nbsp;&#8627;<B>Pockets:</B></td><td><A href='?src=[UID()];pockets=left'>"
if(l_store && internal && l_store == internal)
dat += "[l_store]"
else if(l_store && !(l_store.flags&ABSTRACT))
dat += "Left (Full)"
else
dat += "<font color=grey>Left (Empty)</font>"
dat += "</A>&nbsp;<A href='?src=[UID()];pockets=right'>"
if(r_store && internal && r_store == internal)
dat += "[r_store]"
else if(r_store && !(r_store.flags&ABSTRACT))
dat += "Right (Full)"
else
dat += "<font color=grey>Right (Empty)</font>"
dat += "</A></td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>ID:</B></td><td><A href='?src=[UID()];item=[slot_wear_id]'>[(wear_id && !(wear_id.flags&ABSTRACT)) ? wear_id : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>PDA:</B></td><td><A href='?src=[UID()];item=[slot_wear_pda]'>[(wear_pda && !(wear_pda.flags&ABSTRACT)) ? wear_pda : "<font color=grey>Empty</font>"]</A></td></tr>"
@@ -659,6 +659,7 @@ var/global/list/damage_icon_parts = list()
/mob/living/carbon/human/update_inv_glasses(var/update_icons=1)
remove_overlay(GLASSES_LAYER)
remove_overlay(GLASSES_OVER_LAYER)
remove_overlay(OVER_MASK_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[slot_glasses]
@@ -681,7 +682,12 @@ var/global/list/damage_icon_parts = list()
new_glasses = mutable_appearance('icons/mob/eyes.dmi', "[glasses.icon_state]", layer = -GLASSES_LAYER)
var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style]
if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value.
var/obj/item/clothing/glasses/G = glasses
if(istype(G) && G.over_mask) //If the user's used the 'wear over mask' verb on the glasses.
new_glasses.layer = -OVER_MASK_LAYER
overlays_standing[OVER_MASK_LAYER] = new_glasses
apply_overlay(OVER_MASK_LAYER)
else if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value.
new_glasses.layer = -GLASSES_OVER_LAYER
overlays_standing[GLASSES_OVER_LAYER] = new_glasses
apply_overlay(GLASSES_OVER_LAYER)
@@ -22,8 +22,11 @@
/datum/robot_component/proc/install()
go_online()
owner.updatehealth("component '[src]' installed")
/datum/robot_component/proc/uninstall()
go_offline()
owner.updatehealth("component '[src]' removed")
/datum/robot_component/proc/destroy()
if(wrapped)
@@ -102,12 +105,6 @@
external_type = /obj/item/robot_parts/robot_component/actuator
max_damage = 50
/datum/robot_component/actuator/go_online()
owner.update_stat()
/datum/robot_component/actuator/go_offline()
owner.update_stat()
/datum/robot_component/cell
name = "power cell"
max_damage = 50
@@ -115,12 +112,6 @@
/datum/robot_component/cell/is_powered()
return ..() && owner.cell
/datum/robot_component/cell/go_online()
owner.update_stat()
/datum/robot_component/cell/go_offline()
owner.update_stat()
/datum/robot_component/cell/destroy()
..()
owner.cell = null
@@ -264,19 +255,25 @@
if(M.timeofdeath && M.stat == DEAD)
to_chat(user, "<span class='notice'>Time of Disable: [station_time_timestamp("hh:mm:ss", M.timeofdeath)]</span>")
var/mob/living/silicon/robot/H = M
var/list/damaged = H.get_damaged_components(1,1,1)
var/list/damaged = H.get_damaged_components(TRUE, TRUE, TRUE) // Get all except the missing ones
var/list/missing = H.get_missing_components()
to_chat(user, "<span class='notice'>Localized Damage:</span>")
if(length(damaged)>0)
for(var/datum/robot_component/org in damaged)
user.show_message(text("<span class='notice'>\t []: [][] - [] - [] - []</span>", \
capitalize(org.name), \
(org.installed == -1) ? "<font color='red'><b>DESTROYED</b></font> " :"",\
(org.electronics_damage > 0) ? "<font color='#FFA500'>[org.electronics_damage]</font>" :0, \
(org.brute_damage > 0) ? "<font color='red'>[org.brute_damage]</font>" :0, \
(org.toggled) ? "Toggled ON" : "<font color='red'>Toggled OFF</font>",\
(org.powered) ? "Power ON" : "<font color='red'>Power OFF</font>"),1)
else
if(!LAZYLEN(damaged) && !LAZYLEN(missing))
to_chat(user, "<span class='notice'>\t Components are OK.</span>")
else
if(LAZYLEN(damaged))
for(var/datum/robot_component/org in damaged)
user.show_message(text("<span class='notice'>\t []: [][] - [] - [] - []</span>", \
capitalize(org.name), \
(org.installed == -1) ? "<font color='red'><b>DESTROYED</b></font> " :"",\
(org.electronics_damage > 0) ? "<font color='#FFA500'>[org.electronics_damage]</font>" :0, \
(org.brute_damage > 0) ? "<font color='red'>[org.brute_damage]</font>" :0, \
(org.toggled) ? "Toggled ON" : "<font color='red'>Toggled OFF</font>",\
(org.powered) ? "Power ON" : "<font color='red'>Power OFF</font>"),1)
if(LAZYLEN(missing))
for(var/datum/robot_component/org in missing)
user.show_message("<span class='warning'>\t [capitalize(org.name)]: MISSING</span>")
if(H.emagged && prob(5))
to_chat(user, "<span class='warning'>\t ERROR: INTERNAL SYSTEMS COMPROMISED</span>")
@@ -287,22 +284,22 @@
to_chat(user, "<span class='notice'>External prosthetics:</span>")
var/organ_found
if(H.internal_organs.len)
if(LAZYLEN(H.internal_organs))
for(var/obj/item/organ/external/E in H.bodyparts)
if(!E.is_robotic())
continue
organ_found = 1
organ_found = TRUE
to_chat(user, "[E.name]: <font color='red'>[E.brute_dam]</font> <font color='#FFA500'>[E.burn_dam]</font>")
if(!organ_found)
to_chat(user, "<span class='warning'>No prosthetics located.</span>")
to_chat(user, "<hr>")
to_chat(user, "<span class='notice'>Internal prosthetics:</span>")
organ_found = null
if(H.internal_organs.len)
if(LAZYLEN(H.internal_organs))
for(var/obj/item/organ/internal/O in H.internal_organs)
if(!O.is_robotic())
continue
organ_found = 1
organ_found = TRUE
to_chat(user, "[capitalize(O.name)]: <font color='red'>[O.damage]</font>")
if(!organ_found)
to_chat(user, "<span class='warning'>No prosthetics located.</span>")
+16 -7
View File
@@ -157,6 +157,7 @@ var/list/robot_verbs_default = list(
var/datum/robot_component/cell_component = components["power cell"]
cell_component.wrapped = cell
cell_component.installed = 1
cell_component.install()
diag_hud_set_borgcell()
scanner = new(src)
@@ -438,8 +439,10 @@ var/list/robot_verbs_default = list(
var/dat = "<HEAD><TITLE>[src.name] Self-Diagnosis Report</TITLE></HEAD><BODY>\n"
for(var/V in components)
var/datum/robot_component/C = components[V]
dat += "<b>[C.name]</b><br><table><tr><td>Brute Damage:</td><td>[C.brute_damage]</td></tr><tr><td>Electronics Damage:</td><td>[C.electronics_damage]</td></tr><tr><td>Powered:</td><td>[C.is_powered() ? "Yes" : "No"]</td></tr><tr><td>Toggled:</td><td>[ C.toggled ? "Yes" : "No"]</td></table><br>"
if(C.installed == 0)
dat += "<b>[C.name]</b><br>MISSING<br>"
else
dat += "<b>[C.name]</b>[C.installed == -1 ? "<br>DESTROYED" : ""]<br><table><tr><td>Brute Damage:</td><td>[C.brute_damage]</td></tr><tr><td>Electronics Damage:</td><td>[C.electronics_damage]</td></tr><tr><td>Powered:</td><td>[C.is_powered() ? "Yes" : "No"]</td></tr><tr><td>Toggled:</td><td>[ C.toggled ? "Yes" : "No"]</td></table><br>"
return dat
/mob/living/silicon/robot/verb/self_diagnosis_verb()
@@ -591,6 +594,9 @@ var/list/robot_verbs_default = list(
if(!getBruteLoss())
to_chat(user, "<span class='notice'>Nothing to fix!</span>")
return
else if(!getBruteLoss(TRUE))
to_chat(user, "<span class='warning'>The damaged components are beyond saving!</span>")
return
var/obj/item/weldingtool/WT = W
user.changeNext_move(CLICK_CD_MELEE)
if(WT.remove_fuel(0))
@@ -603,11 +609,14 @@ var/list/robot_verbs_default = list(
return
else if(istype(W, /obj/item/stack/cable_coil) && user.a_intent == INTENT_HELP && (wiresexposed || istype(src,/mob/living/silicon/robot/drone)))
else if(istype(W, /obj/item/stack/cable_coil) && user.a_intent == INTENT_HELP && (wiresexposed || istype(src, /mob/living/silicon/robot/drone)))
user.changeNext_move(CLICK_CD_MELEE)
if(!getFireLoss())
to_chat(user, "<span class='notice'>Nothing to fix!</span>")
return
else if(!getFireLoss(TRUE))
to_chat(user, "<span class='warning'>The damaged components are beyond saving!</span>")
return
var/obj/item/stack/cable_coil/coil = W
adjustFireLoss(-30)
updatehealth()
@@ -654,10 +663,10 @@ var/list/robot_verbs_default = list(
I.burn = C.electronics_damage
I.loc = src.loc
if(C.installed == 1)
C.uninstall()
var/was_installed = C.installed
C.installed = 0
if(was_installed == 1)
C.uninstall()
else
if(locked)
@@ -1362,7 +1371,7 @@ var/list/robot_verbs_default = list(
..()
var/brute = 1000
var/burn = 1000
var/list/datum/robot_component/borked_parts = get_damaged_components(brute,burn,1)
var/list/datum/robot_component/borked_parts = get_damaged_components(TRUE, TRUE, TRUE, TRUE)
for(var/datum/robot_component/borked_part in borked_parts)
brute = borked_part.brute_damage
burn = borked_part.electronics_damage
@@ -8,18 +8,20 @@
handle_hud_icons_health()
diag_hud_set_health()
/mob/living/silicon/robot/getBruteLoss()
/mob/living/silicon/robot/getBruteLoss(repairable_only = FALSE)
var/amount = 0
for(var/V in components)
var/datum/robot_component/C = components[V]
if(C.installed != 0) amount += C.brute_damage
if(C.installed != 0 && (!repairable_only || C.installed != -1)) // Installed ones only and if repair only remove the borked ones
amount += C.brute_damage
return amount
/mob/living/silicon/robot/getFireLoss()
/mob/living/silicon/robot/getFireLoss(repairable_only = FALSE)
var/amount = 0
for(var/V in components)
var/datum/robot_component/C = components[V]
if(C.installed != 0) amount += C.electronics_damage
if(C.installed != 0 && (!repairable_only || C.installed != -1)) // Installed ones only and if repair only remove the borked ones
amount += C.electronics_damage
return amount
/mob/living/silicon/robot/adjustBruteLoss(amount, updating_health = TRUE)
@@ -36,11 +38,19 @@
heal_overall_damage(0, -amount, updating_health)
return STATUS_UPDATE_HEALTH
/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn, var/get_all)
/mob/living/silicon/robot/proc/get_damaged_components(get_brute, get_burn, get_borked = FALSE, get_missing = FALSE)
var/list/datum/robot_component/parts = list()
for(var/V in components)
var/datum/robot_component/C = components[V]
if(C.installed == 1 || get_all) if((brute && C.brute_damage) || (burn && C.electronics_damage))
if((C.installed == 1 || (get_borked && C.installed == -1) || (get_missing && C.installed == 0)) && ((get_brute && C.brute_damage) || (get_burn && C.electronics_damage)))
parts += C
return parts
/mob/living/silicon/robot/proc/get_missing_components()
var/list/datum/robot_component/parts = list()
for(var/V in components)
var/datum/robot_component/C = components[V]
if(C.installed == 0)
parts += C
return parts
@@ -48,41 +58,43 @@
var/list/rval = new
for(var/V in components)
var/datum/robot_component/C = components[V]
if(C.installed == 1) rval += C
if(C.installed == 1)
rval += C
return rval
/mob/living/silicon/robot/proc/get_armour()
if(!components.len) return 0
if(!LAZYLEN(components))
return 0
var/datum/robot_component/C = components["armour"]
if(C && C.installed == 1)
return C
return 0
/mob/living/silicon/robot/heal_organ_damage(brute, burn, updating_health = TRUE)
var/list/datum/robot_component/parts = get_damaged_components(brute,burn)
if(!parts.len) return
var/list/datum/robot_component/parts = get_damaged_components(brute, burn)
if(!LAZYLEN(parts))
return
var/datum/robot_component/picked = pick(parts)
picked.heal_damage(brute,burn, updating_health)
picked.heal_damage(brute, burn, updating_health)
/mob/living/silicon/robot/take_organ_damage(brute = 0, burn = 0, updating_health = TRUE, sharp = 0, edge = 0)
var/list/components = get_damageable_components()
if(!components.len)
if(!LAZYLEN(components))
return
//Combat shielding absorbs a percentage of damage directly into the cell.
var/obj/item/borg/combat/shield/shield
if(module_state_1 && istype(module_state_1,/obj/item/borg/combat/shield))
if(module_state_1 && istype(module_state_1, /obj/item/borg/combat/shield))
shield = module_state_1
else if(module_state_2 && istype(module_state_2,/obj/item/borg/combat/shield))
else if(module_state_2 && istype(module_state_2, /obj/item/borg/combat/shield))
shield = module_state_2
else if(module_state_3 && istype(module_state_3,/obj/item/borg/combat/shield))
else if(module_state_3 && istype(module_state_3, /obj/item/borg/combat/shield))
shield = module_state_3
if(shield)
//Shields absorb a certain percentage of damage based on their power setting.
var/absorb_brute = brute*shield.shield_level
var/absorb_burn = burn*shield.shield_level
var/cost = (absorb_brute+absorb_burn)*100
var/absorb_brute = brute * shield.shield_level
var/absorb_burn = burn * shield.shield_level
var/cost = (absorb_brute+absorb_burn) * 100
cell.charge -= cost
if(cell.charge <= 0)
@@ -102,9 +114,9 @@
C.take_damage(brute, burn, sharp, updating_health)
/mob/living/silicon/robot/heal_overall_damage(var/brute, var/burn, updating_health = TRUE)
var/list/datum/robot_component/parts = get_damaged_components(brute,burn)
var/list/datum/robot_component/parts = get_damaged_components(brute, burn)
while(parts.len && (brute>0 || burn>0) )
while(LAZYLEN(parts) && (brute > 0 || burn > 0) )
var/datum/robot_component/picked = pick(parts)
var/brute_was = picked.brute_damage
@@ -112,8 +124,8 @@
picked.heal_damage(brute,burn, updating_health)
brute -= (brute_was-picked.brute_damage)
burn -= (burn_was-picked.electronics_damage)
brute -= (brute_was - picked.brute_damage)
burn -= (burn_was - picked.electronics_damage)
parts -= picked
@@ -126,17 +138,17 @@
//Combat shielding absorbs a percentage of damage directly into the cell.
var/obj/item/borg/combat/shield/shield
if(module_state_1 && istype(module_state_1,/obj/item/borg/combat/shield))
if(module_state_1 && istype(module_state_1, /obj/item/borg/combat/shield))
shield = module_state_1
else if(module_state_2 && istype(module_state_2,/obj/item/borg/combat/shield))
else if(module_state_2 && istype(module_state_2, /obj/item/borg/combat/shield))
shield = module_state_2
else if(module_state_3 && istype(module_state_3,/obj/item/borg/combat/shield))
else if(module_state_3 && istype(module_state_3, /obj/item/borg/combat/shield))
shield = module_state_3
if(shield)
//Shields absorb a certain percentage of damage based on their power setting.
var/absorb_brute = brute*shield.shield_level
var/absorb_burn = burn*shield.shield_level
var/cost = (absorb_brute+absorb_burn)*100
var/absorb_brute = brute * shield.shield_level
var/absorb_burn = burn * shield.shield_level
var/cost = (absorb_brute+absorb_burn) * 100
cell.charge -= cost
if(cell.charge <= 0)
@@ -152,7 +164,7 @@
A.take_damage(brute, burn, sharp)
return
while(parts.len && (brute>0 || burn>0) )
while(LAZYLEN(parts) && (brute > 0 || burn > 0) )
var/datum/robot_component/picked = pick(parts)
var/brute_was = picked.brute_damage
@@ -46,7 +46,9 @@
user.put_in_active_hand(cell)
to_chat(user, "<span class='notice'>You remove \the [cell].</span>")
cell = null
update_stat()
var/datum/robot_component/C = components["power cell"]
C.installed = 0
C.uninstall()
diag_hud_set_borgcell()
if(!opened)
@@ -1,11 +1,8 @@
/mob/living/simple_animal/hostile/carp
name = "space carp"
desc = "A ferocious, fang-bearing creature that resembles a fish."
icon = 'icons/mob/carp.dmi'
icon_state = "carp"
icon_living = "carp"
icon_dead = "carp_dead"
icon_gib = "carp_gib"
speak_chance = 0
turns_per_move = 5
@@ -16,7 +13,6 @@
speed = 0
maxHealth = 25
health = 25
harm_intent_damage = 8
obj_damage = 50
melee_damage_lower = 15
@@ -30,12 +26,27 @@
minbodytemp = 0
maxbodytemp = 1500
faction = list("carp")
flying = 1
gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE
var/carp_color = "carp" //holder for icon set
var/list/icon_sets = list("carp", "blue", "yellow", "grape", "rust", "teal", "purple")
/mob/living/simple_animal/hostile/carp/Initialize(mapload)
. = ..()
carp_randomify()
update_icons()
/mob/living/simple_animal/hostile/carp/proc/carp_randomify()
if(prob(1))
carp_color = pick("white", "black")
else
carp_color = pick(icon_sets)
icon_state = "[carp_color]"
icon_living = "[carp_color]"
icon_dead = "[carp_color]_dead"
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space carp! //original comments do not steal
@@ -50,7 +61,6 @@
var/mob/living/carbon/human/H = target
H.adjustStaminaLoss(8)
/mob/living/simple_animal/hostile/carp/holocarp
icon_state = "holocarp"
icon_living = "holocarp"
@@ -58,6 +68,8 @@
gold_core_spawnable = CHEM_MOB_SPAWN_INVALID
del_on_death = 1
/mob/living/simple_animal/hostile/carp/holocarp/carp_randomify()
return
/mob/living/simple_animal/hostile/carp/megacarp
icon = 'icons/mob/alienqueen.dmi'
@@ -73,4 +85,7 @@
mob_size = MOB_SIZE_LARGE
obj_damage = 80
melee_damage_lower = 20
melee_damage_upper = 20
melee_damage_upper = 20
/mob/living/simple_animal/hostile/carp/megacarp/carp_randomify()
return
@@ -2,9 +2,8 @@
/mob/living/simple_animal/hostile/retaliate/carp
name = "sea carp"
desc = "A large fish bearing similarities to a certain space-faring menace."
icon = 'icons/mob/carp.dmi'
icon_state = "carp"
icon_living = "carp"
icon_dead = "carp_dead"
icon_gib = "carp_gib"
speak_chance = 0
turns_per_move = 5
@@ -15,20 +14,33 @@
speed = 0
maxHealth = 25
health = 25
retreat_distance = 6
vision_range = 5
harm_intent_damage = 8
melee_damage_lower = 15
melee_damage_upper = 15
attacktext = "bites"
attack_sound = 'sound/weapons/bite.ogg'
speak_emote = list("gnashes")
faction = list("carp")
flying = 1
var/carp_color = "carp" //holder for icon set
var/list/icon_sets = list("carp", "blue", "yellow", "grape", "rust", "teal", "purple")
/mob/living/simple_animal/hostile/retaliate/carp/Initialize(mapload)
. = ..()
carp_randomify()
update_icons()
/mob/living/simple_animal/hostile/retaliate/carp/proc/carp_randomify()
if(prob(1))
carp_color = pick("white", "black")
else
carp_color = pick(icon_sets)
icon_state = "[carp_color]"
icon_living = "[carp_color]"
icon_dead = "[carp_color]_dead"
/mob/living/simple_animal/hostile/retaliate/carp/koi
name = "space koi"
@@ -50,18 +62,17 @@
gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE
/mob/living/simple_animal/hostile/retaliate/carp/koi/New()
..()
/mob/living/simple_animal/hostile/retaliate/carp/koi/Initialize(mapload)
. = ..()
var/koinum = rand(1, 4)
icon_state = "koi[koinum]"
icon_living = "koi[koinum]"
icon_dead = "koi[koinum]-dead"
/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir)
return TRUE
/mob/living/simple_animal/hostile/retaliate/carp/koi/honk
icon_state = "koi5"
icon_living = "koi5"
icon_dead = "koi5-dead"
icon_dead = "koi5-dead"
+1
View File
@@ -981,6 +981,7 @@ var/list/slot_equipment_priority = list( \
stat("CPU:", "[world.cpu]")
stat("Instances:", "[num2text(world.contents.len, 10)]")
GLOB.stat_entry()
stat("Server Time:", time_stamp())
stat(null)
if(Master)
Master.stat_entry()
+4 -3
View File
@@ -325,9 +325,10 @@ var/list/SpookyGhosts = list("ghost","shade","shade2","ghost-narsie","horror","s
to_chat(user, "<span class='notice'>[pictures_left] photos left.</span>")
icon_state = icon_off
on = 0
if(user.mind && !(user.mind.assigned_role == "Chaplain"))
if(prob(24))
handle_haunt(user)
if(istype(src,/obj/item/camera/spooky))
if(user.mind && user.mind.assigned_role == "Chaplain" && see_ghosts)
if(prob(24))
handle_haunt(user)
spawn(64)
icon_state = icon_on
on = 1
@@ -56,7 +56,8 @@
volume = ..()
M.apply_damage(0.6*volume, TOX)
M.hallucination += 0.6*volume
M.reagents.add_reagent("spore", 0.4*volume)
if(M.reagents)
M.reagents.add_reagent("spore", 0.4*volume)
/datum/reagent/blob/lexorin_jelly //does tons of oxygen damage and a little brute
name = "Lexorin Jelly"
@@ -102,7 +103,8 @@
volume = ..()
M.apply_damage(0.4*volume, BURN)
M.adjustStaminaLoss(0.4*volume)
M.reagents.add_reagent("frostoil", 0.4*volume)
if(M.reagents)
M.reagents.add_reagent("frostoil", 0.4*volume)
/datum/reagent/blob/b_sorium
name = "Sorium"
+18 -5
View File
@@ -714,8 +714,6 @@
possible_destinations = C.possible_destinations
shuttleId = C.shuttleId
/obj/machinery/computer/shuttle/Initialize(mapload)
. = ..()
connect()
/obj/machinery/computer/shuttle/proc/connect()
@@ -868,12 +866,27 @@
possible_destinations = "science_home;science_away"
/obj/machinery/computer/shuttle/admin
name = "Administration Shuttle Console"
desc = "Used to call and send the administration shuttle."
name = "admin shuttle console"
req_access = list(access_cent_general)
shuttleId = "admin"
possible_destinations = "admin_home;admin_away"
possible_destinations = "admin_home;admin_away;admin_custom"
resistance_flags = INDESTRUCTIBLE
/obj/machinery/computer/camera_advanced/shuttle_docker/admin
name = "Admin shuttle navigation computer"
desc = "Used to designate a precise transit location for the admin shuttle."
icon_screen = "navigation"
icon_keyboard = "med_key"
shuttleId = "admin"
shuttlePortId = "admin_custom"
view_range = 14
x_offset = 0
y_offset = 0
resistance_flags = INDESTRUCTIBLE
access_tcomms = TRUE
access_construction = TRUE
access_mining = TRUE
/obj/machinery/computer/shuttle/trade
name = "Freighter Console"
resistance_flags = INDESTRUCTIBLE
+1 -1
View File
@@ -42,7 +42,7 @@
..()
/obj/machinery/computer/shuttle/sst
name = "Syndicate Strike Time Shuttle Console"
name = "Syndicate Strike Team Shuttle Console"
desc = "Used to call and send the SST shuttle."
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
@@ -256,9 +256,17 @@
origin_tech = "materials=5;programming=4;biotech=4"
slot = "heartdrive"
var/revive_cost = 0
var/reviving = 0
var/reviving = FALSE
var/cooldown = 0
/obj/item/organ/internal/cyberimp/chest/reviver/hardened
name = "Hardened reviver implant"
emp_proof = TRUE
/obj/item/organ/internal/cyberimp/chest/reviver/hardened/Initialize(mapload)
. = ..()
desc += " The implant has been hardened. It is invulnerable to EMPs."
/obj/item/organ/internal/cyberimp/chest/reviver/on_life()
if(reviving)
if(owner.stat == UNCONSCIOUS && (owner.sleeping == 0)) //!owner.sleeping didn't work for whatever dumb reason
@@ -320,7 +328,7 @@
/obj/item/storage/box/cyber_implants/bundle
name = "boxed cybernetic implants"
var/list/boxed = list(/obj/item/organ/internal/cyberimp/eyes/xray,/obj/item/organ/internal/cyberimp/eyes/thermals,
/obj/item/organ/internal/cyberimp/brain/anti_stun, /obj/item/organ/internal/cyberimp/chest/reviver)
/obj/item/organ/internal/cyberimp/brain/anti_stun, /obj/item/organ/internal/cyberimp/chest/reviver/hardened)
var/amount = 5
/obj/item/storage/box/cyber_implants/bundle/New()
+231
View File
@@ -56,6 +56,237 @@
-->
<div class="commit sansserif">
<h2 class="date">02 May 2019</h2>
<h3 class="author">AffectedArc07 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">ssMapping</li>
<li class="tweak">Gateway and space ruins are now loaded with ssMapping</li>
<li class="rscdel">Master Controller</li>
<li class="tweak">Darkmode chat department colors match NTTC theming now</li>
<li class="rscadd">SSvotes</li>
<li class="rscadd">SSradio</li>
<li class="rscadd">SSevents</li>
<li class="rscadd">SSholiday</li>
<li class="tweak">We no longer check if its Christmas every tick. Dont ask.</li>
<li class="rscadd">SSalarms</li>
</ul>
<h3 class="author">Arkatos updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Shadowlings now have a slightly bigger colored text when speaking in the Shadowling Hivemind</li>
<li class="soundadd">Replaced title2.ogg music with a higher quality version</li>
<li class="tweak">Shield Blobs automatically spawned around Blob Cores now give no refund upon removing. No freebies.</li>
<li class="rscadd">Added new Wizard Spell - Summon Ghosts! This nefarious spell will make all ghosts visible to the living. Be careful though, as while they cannot harm you in any way, they might prove a bit.. annoying. Costs 0 points in the Wizard's spellbook.</li>
<li class="tweak">Ghosts now orbit around their followed targets</li>
<li class="rscadd">Added new Shadowling Ability - Null Charge! This new ability allows Shadowling to completely drain an APC of it's power after a moderate delay. Shadowling must not be interrupted, or the whole process will fail.</li>
<li class="imageadd">Added custom icon for the Null Charge ability</li>
<li class="rscdel">Shadowling Drain Life ability removed</li>
<li class="rscadd">Added Observer HUD buttons for Jump to Mob, Orbit, Re-enter corpse, and Teleport</li>
<li class="imageadd">Added custom icons for Observer HUD buttons</li>
<li class="rscadd">Added Floorbot color variants. Different toolboxes will result in a differently colored Floorbots. One even might be a little stronger than others..</li>
<li class="imageadd">Added sprites of Floorbot color variants</li>
<li class="bugfix">Fixed incorrect amount of required floortiles for the Floorbot in the crafting tab</li>
<li class="rscadd">Added cancel button to Wizard teleportation scrolls</li>
<li class="rscadd">Added an option to grant Martial Arts via administrative Var menu</li>
<li class="bugfix">Toggling hardhat light on/off now correctly updates wearer's sprite</li>
<li class="soundadd">Added deathsound for Silicons</li>
<li class="tweak">Dice will now roll when thrown</li>
<li class="soundadd">Added sound when adding or removing IDs from ID modification computers</li>
<li class="rscadd">Added cancel button to transfer amount from stack menu</li>
<li class="tweak">Alt-click is a new shortcut to take a custom amount from stack</li>
<li class="rscadd">Added shortcuts for handling pumps, volume pumps, filters, and mixers. Ctrl-click these devices to turn them on/off and Alt-click them to set their output to maximum.</li>
<li class="rscadd">Added ability to rename pumps, volume pumps, filters and mixers with a pen.</li>
<li class="soundadd">Added sound for throwing bolas</li>
<li class="soundadd">Added hitsound for all types of bolas</li>
<li class="rscadd">Added AntagHUD to everyone at the round end</li>
<li class="rscadd">Circuit Boards now show their required components on examine</li>
<li class="rscadd">Revenants now have randomly generated flavor names</li>
<li class="tweak">You can shift-click any action button to reset it's position. Alt-click on Hide Buttons will reset all action buttons to their default positions.</li>
<li class="rscadd">Pill Bottles are now printable in the Autolathe. You can find them in the Medical section, and each costs 80 metal and 20 glass to print.</li>
<li class="tweak">Puts beakers in your hand upon eject from chemistry machines</li>
<li class="rscadd">Cardboard can now be made in the Biogenerator</li>
<li class="rscadd">You can now hotswap tanks in a canister or gas pump by clicking it with a new tank!</li>
<li class="rscadd">You can now also close a canister's valve and remove the tank inside it by alt-clicking it.</li>
<li class="rscadd">Added examine toolptips. Hover over any equipped or hold item for a little while and it will display the item description as a tooltip.</li>
<li class="bugfix">Ghost teleport verb will no locker flicker when used</li>
<li class="rscadd">Alt-click now opens and closes fire extinguisher cabinet</li>
<li class="bugfix">Fire extinguisher cabinet now properly updates it's sprite correctly when putting fire extinquisher inside the cabinet</li>
<li class="bugfix">Fire extinguisher no longer sprays when put into fire extinguisher cabinet with a safety off</li>
<li class="soundadd">Added sound for opening and closing fire extinguisher cabinet</li>
<li class="imageadd">Added new torch sprites</li>
<li class="tweak">Torch light color is now orange instead of red</li>
<li class="bugfix">Torch sprite now correctly shows all inhand sprites</li>
<li class="tweak">Blob Rally Spores power is now free to use</li>
<li class="bugfix">Blob mobs can no longer speak while being dead via Blob Broadcast</li>
<li class="bugfix">Blob structures now properly show working animation</li>
<li class="imageadd">Added new sprites for variants of Blob resource, factory and storage structures</li>
<li class="imageadd">Added inhand sprites for winter coats</li>
<li class="rscadd">Carps now spawn with a random color! There might even be some really rare ones..</li>
<li class="imageadd">Added carp color variants sprites</li>
</ul>
<h3 class="author">Arkatos and Paradise community: updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added Tip of the round to a pre-game lobby</li>
<li class="rscadd">Added Show Custom Tip admin verb</li>
<li class="rscadd">Added Give Random Tip OOC verb</li>
</ul>
<h3 class="author">Citinited updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">You can no longer turn transit turfs into foamed metal flooring.</li>
<li class="bugfix">Foamed metal floors have a sprite now.</li>
<li class="bugfix">Pipe dispensers (the big ones) now work again.</li>
<li class="tweak">Cooldown on pipe dispensers reduced to 0.4 seconds, down from 1.5 seconds</li>
</ul>
<h3 class="author">CornMyCob updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">The plasma cutter now cuts through multiple rock tiles.</li>
</ul>
<h3 class="author">CthulhuOnIce updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">you can smell dead bodies, even if someone else shouldn't</li>
</ul>
<h3 class="author">Fethas updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Cluwne suits should no longer fall off cluwnes from being fat.</li>
</ul>
<h3 class="author">Fox McCloud updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">CQC has been updated; a few combos are more powerful</li>
<li class="tweak">cost increased to 13 TC</li>
<li class="tweak">CQC is now nuke ops only</li>
<li class="tweak">gloves of the north star restriction on CQC removed</li>
<li class="tweak">CQC disarms will now take the item from your opponent</li>
<li class="tweak">CQC blocks melee weapons and a couple of stun weapons and not everything now</li>
<li class="tweak">Reagents will now adjust to the body temperature over time as opposed to all at once</li>
<li class="tweak">Strange Reagent will work 25% of the time with TOUCH based reactions</li>
<li class="tweak">Strange reagent will revive whether there's a ghost or not (can use SR on clientless mobs now, like monkies)</li>
<li class="tweak">SR puts the occupant back in their body automatically</li>
<li class="tweak">Cloners that eject their messes will now eject the unattached organs</li>
<li class="tweak">the message for brain death will now properly and only occur when they have truly died from brain damage</li>
<li class="bugfix">Fixes being able to attain brain damage over 120</li>
<li class="rscdel">Updates nations. Updates nations so hard right into the void</li>
<li class="tweak">Plasma fires should burn a bit faster now</li>
<li class="tweak">Bleeding will now stop at the temperature at which cryoxadone heals</li>
<li class="bugfix">Fixes a few potential exploits with forcing chem, dust, and explosive implants activating with the deathgasp emote, prior to death</li>
<li class="tweak">Tesla can't zap cameras and other disposal structures anymore</li>
<li class="rscadd">Simple mobs can now be shocked</li>
<li class="tweak">Electrocution damage scales a bit more linearly up to its maximum potential instead of being heavily random</li>
<li class="bugfix">Fixes being able to shock yourself with TK, at range, on electrical equipment</li>
<li class="rscadd">simple mobs can now be shocked by the tesla and other sources</li>
<li class="bugfix">Fixes goats not attacking people</li>
<li class="tweak">Goats will eat glowshrooms</li>
<li class="rscadd">Goats will eat full grown diona</li>
<li class="rscadd">Remapped toxins to be more compatible with the modern age</li>
<li class="tweak">updates plasma and N2O sprites</li>
<li class="bugfix">Fixes not being able to look at a turf if it had plasma/N2O on it</li>
<li class="rscdel">cold turfs no longer become icy</li>
<li class="rscadd">Cryostylane makes turfs icy</li>
<li class="rscadd">Icy turfs are slippery; wear magboots to counteract the effect. Watch your head!</li>
<li class="bugfix">Fixes grammar of slipping on turfs; no more "you slipped on floor" or "you slipped on wet floor"</li>
<li class="rscdel">removes ponies</li>
<li class="tweak">object and fast processing are now proper subsystems</li>
<li class="bugfix">Fixes multi-spawn blobs</li>
<li class="tweak">Powersinks drain rate increased, but they also explode a bit sooner</li>
<li class="rscadd">Multitools display total power, load, and free power</li>
<li class="bugfix">Fix emitter sparks sparking at the location of emitters where biult as opposed to emitter current location</li>
</ul>
<h3 class="author">Ionward updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added new mantles! Check the ClothesMate, or in department head's lockers.</li>
</ul>
<h3 class="author">KasparoVy updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Adds striped normal-height socks.</li>
<li class="rscadd">Vox can now wear whatever undergarment they want.</li>
<li class="tweak">Removes flesh from shredded Vox uniform sprites.</li>
<li class="rscdel">Armalis can no longer wear undergarments. They didn't fit, anyhow.</li>
<li class="bugfix">Underwear no can no longer lock up the character creator.</li>
</ul>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">bans issued by admins via the Player Panel no longer incorrectly omit IP/etc information</li>
<li class="tweak">admins issuing permanent bans are no longer presented with an "ip ban?" prompt, as all bans include IP/CID information now. This prompt was a legacy thing from back when the filesystem was used to store bans, and hasn't ever affected how DB-based bans were stored.</li>
<li class="rscadd">Added a config file option which allows SSD crew members to be moved to cryo after a defined amount of minutes.</li>
<li class="rscadd">Added a config file option which causes most people trying to attack/loot/interact with a SSD character to need to confirm they've read the rules before being able to do so.</li>
<li class="bugfix">Fixed an error message being inappropriately generated for admins when someone signs up as a pAI.</li>
<li class="rscadd">The ID computer now color-codes potential job transfer options, highlighting good choices for a job transfer in green, and bad ones in gray.</li>
<li class="bugfix">Taking a job transfer now gives you playtime based on your new job, instead of incorrectly still giving you playtime based on your old job.</li>
<li class="tweak">Job transfers to karma jobs are now possible - if you have the job unlocked.</li>
<li class="rscadd">Attempting to bypass a job ban via a job transfer now generates a warning to all online admins.</li>
<li class="tweak">Refactored and improved our entry on the server hub.</li>
<li class="bugfix">Fixed a runtime in job_exp.dm</li>
</ul>
<h3 class="author">Markolie updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Safes can now consist of more than two tumblers.</li>
<li class="tweak">All safes now have three tumblers by default, instead of two.</li>
<li class="tweak">The safe opening mechanism has changed slightly. This is described on the safe cracking UI.</li>
<li class="rscadd">The hardsuit equipment lockers on the Syndicate Nuclear Operative shuttle have been replaced with suit storage units. Suit storage units now have a separate slot for magboots.</li>
<li class="rscadd">Nuclear Operatives can now purchase reinforcements. These reinforcements cost 25 telecrystals each.</li>
<li class="rscadd">A number of new ammunition and weapon bundles have been added for Nuclear Operatives.</li>
<li class="tweak">For every ten players on the server, the Nuclear Operatives now receive 2 extra telecrystals.</li>
<li class="tweak">The Syndicate borg spawners have been separated into three separate spawners, one for each type of Syndicate cyborg. Their prices have been modified.</li>
<li class="tweak">Saboteur borgs now spawn with thermals.</li>
<li class="tweak">The Syndicate borg and exosuits have been moved to a new category, "Support and Mechanized Exosuits".</li>
<li class="tweak">Existing bundles and telecrystal purchases have been moved to a new category, "Bundles and Telecrystals".</li>
<li class="tweak">There are now more spawn points for nuclear operatives on their base. The number of operatives spawning has not been changed.</li>
<li class="bugfix">Spawning nuclear operatives through the traitor panel now causes their ID to be properly updated.</li>
<li class="bugfix">Shuttles no longer leave behind their propulsion.</li>
<li class="bugfix">AZERTY hotkey mode users can now switch between regular mode and hotkey mode properly using TAB again.</li>
<li class="tweak">Jumpsuits are now removed by clicking instead of clicking and dragging.</li>
<li class="bugfix">Removed a useless message that would be sent to admins whenever a drone joins the round.</li>
<li class="bugfix">Fixed an issue where admins would receive a message whenever someone joined up as a pAI.</li>
</ul>
<h3 class="author">McDonald072 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">You can no longer examine or teleport things using clipboards</li>
</ul>
<h3 class="author">Quantum-M updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Two multicolor pens to the Internal Affairs Office</li>
</ul>
<h3 class="author">TDSSS updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">nukies can buy plasma grenades again</li>
</ul>
<h3 class="author">Ty-Omaha updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Moves AI admin log to the all preference</li>
</ul>
<h3 class="author">dovydas12345 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Fixes normal cameras spooking non-chaplains even when they don't capture any ghosts</li>
</ul>
<h3 class="author">farie82 updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Makes puke less lag inducing</li>
<li class="tweak">Puke can now appear on all kinds of turfs except spess</li>
<li class="bugfix">Ticket messages now have their corresponding span classes. Making them easier to notice</li>
<li class="bugfix">PM's now shouldn't go to the wrong client anymore when the target left.</li>
<li class="tweak">Cure text for Shock and Cardiac failure are more clear now</li>
<li class="bugfix">Ducttape gags can now be removed properly without spawning an invisible one in your hands</li>
<li class="bugfix">Windoors now give the airlock assembly electronics once deconstructed</li>
<li class="bugfix">Can't place runes in space anymore</li>
<li class="bugfix">Admins can now use all mhelp related things again</li>
<li class="spellcheck">Fixed the toggle mentor ticket messages text</li>
<li class="bugfix">Vampiric glaring is logged now</li>
<li class="bugfix">Doctor delight and orange juice now heal again</li>
<li class="bugfix">Fixes admin PM's. Bwoinks are back on the menu!</li>
<li class="bugfix">Organs will now prompt a update_stat. Meaning that IRCs and the like now get revived when possible when you put their battery and brain in</li>
<li class="bugfix">The typing limiter option should now work for all edge cases. Such as dying while talking and such</li>
<li class="bugfix">Borgs health status now updates properly when removing and adding parts</li>
<li class="bugfix">You won't try to fix destroyed components in borgs anymore. Which resulted to lost materials and no healing</li>
<li class="bugfix">Borg analysers will now properly show missing components and won't show their damage if missing</li>
<li class="tweak">Self diagnostics for borgs now also shows missing parts and destroyed ones</li>
</ul>
<h3 class="author">iantine updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Adds Lumi's vox suit fluff</li>
</ul>
<h3 class="author">uc_guy updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Players in the lobby no longer see cult speak.</li>
</ul>
<h2 class="date">08 April 2019</h2>
<h3 class="author">TDSSS updated:</h3>
<ul class="changes bgimages16">
+253
View File
@@ -9790,3 +9790,256 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
2019-04-08:
TDSSS:
- bugfix: Added missing vent in toxins mixing
2019-05-02:
AffectedArc07:
- rscadd: ssMapping
- tweak: Gateway and space ruins are now loaded with ssMapping
- rscdel: Master Controller
- tweak: Darkmode chat department colors match NTTC theming now
- rscadd: SSvotes
- rscadd: SSradio
- rscadd: SSevents
- rscadd: SSholiday
- tweak: We no longer check if its Christmas every tick. Dont ask.
- rscadd: SSalarms
Arkatos:
- tweak: Shadowlings now have a slightly bigger colored text when speaking in the
Shadowling Hivemind
- soundadd: Replaced title2.ogg music with a higher quality version
- tweak: Shield Blobs automatically spawned around Blob Cores now give no refund
upon removing. No freebies.
- rscadd: Added new Wizard Spell - Summon Ghosts! This nefarious spell will make
all ghosts visible to the living. Be careful though, as while they cannot harm
you in any way, they might prove a bit.. annoying. Costs 0 points in the Wizard's
spellbook.
- tweak: Ghosts now orbit around their followed targets
- rscadd: Added new Shadowling Ability - Null Charge! This new ability allows Shadowling
to completely drain an APC of it's power after a moderate delay. Shadowling
must not be interrupted, or the whole process will fail.
- imageadd: Added custom icon for the Null Charge ability
- rscdel: Shadowling Drain Life ability removed
- rscadd: Added Observer HUD buttons for Jump to Mob, Orbit, Re-enter corpse, and
Teleport
- imageadd: Added custom icons for Observer HUD buttons
- rscadd: Added Floorbot color variants. Different toolboxes will result in a differently
colored Floorbots. One even might be a little stronger than others..
- imageadd: Added sprites of Floorbot color variants
- bugfix: Fixed incorrect amount of required floortiles for the Floorbot in the
crafting tab
- rscadd: Added cancel button to Wizard teleportation scrolls
- rscadd: Added an option to grant Martial Arts via administrative Var menu
- bugfix: Toggling hardhat light on/off now correctly updates wearer's sprite
- soundadd: Added deathsound for Silicons
- tweak: Dice will now roll when thrown
- soundadd: Added sound when adding or removing IDs from ID modification computers
- rscadd: Added cancel button to transfer amount from stack menu
- tweak: Alt-click is a new shortcut to take a custom amount from stack
- rscadd: Added shortcuts for handling pumps, volume pumps, filters, and mixers.
Ctrl-click these devices to turn them on/off and Alt-click them to set their
output to maximum.
- rscadd: Added ability to rename pumps, volume pumps, filters and mixers with a
pen.
- soundadd: Added sound for throwing bolas
- soundadd: Added hitsound for all types of bolas
- rscadd: Added AntagHUD to everyone at the round end
- rscadd: Circuit Boards now show their required components on examine
- rscadd: Revenants now have randomly generated flavor names
- tweak: You can shift-click any action button to reset it's position. Alt-click
on Hide Buttons will reset all action buttons to their default positions.
- rscadd: Pill Bottles are now printable in the Autolathe. You can find them in
the Medical section, and each costs 80 metal and 20 glass to print.
- tweak: Puts beakers in your hand upon eject from chemistry machines
- rscadd: Cardboard can now be made in the Biogenerator
- rscadd: You can now hotswap tanks in a canister or gas pump by clicking it with
a new tank!
- rscadd: You can now also close a canister's valve and remove the tank inside it
by alt-clicking it.
- rscadd: Added examine toolptips. Hover over any equipped or hold item for a little
while and it will display the item description as a tooltip.
- bugfix: Ghost teleport verb will no locker flicker when used
- rscadd: Alt-click now opens and closes fire extinguisher cabinet
- bugfix: Fire extinguisher cabinet now properly updates it's sprite correctly when
putting fire extinquisher inside the cabinet
- bugfix: Fire extinguisher no longer sprays when put into fire extinguisher cabinet
with a safety off
- soundadd: Added sound for opening and closing fire extinguisher cabinet
- imageadd: Added new torch sprites
- tweak: Torch light color is now orange instead of red
- bugfix: Torch sprite now correctly shows all inhand sprites
- tweak: Blob Rally Spores power is now free to use
- bugfix: Blob mobs can no longer speak while being dead via Blob Broadcast
- bugfix: Blob structures now properly show working animation
- imageadd: Added new sprites for variants of Blob resource, factory and storage
structures
- imageadd: Added inhand sprites for winter coats
- rscadd: Carps now spawn with a random color! There might even be some really rare
ones..
- imageadd: Added carp color variants sprites
'Arkatos and Paradise community:':
- rscadd: Added Tip of the round to a pre-game lobby
- rscadd: Added Show Custom Tip admin verb
- rscadd: Added Give Random Tip OOC verb
Citinited:
- bugfix: You can no longer turn transit turfs into foamed metal flooring.
- bugfix: Foamed metal floors have a sprite now.
- bugfix: Pipe dispensers (the big ones) now work again.
- tweak: Cooldown on pipe dispensers reduced to 0.4 seconds, down from 1.5 seconds
CornMyCob:
- tweak: The plasma cutter now cuts through multiple rock tiles.
CthulhuOnIce:
- bugfix: you can smell dead bodies, even if someone else shouldn't
Fethas:
- bugfix: Cluwne suits should no longer fall off cluwnes from being fat.
Fox McCloud:
- tweak: CQC has been updated; a few combos are more powerful
- tweak: cost increased to 13 TC
- tweak: CQC is now nuke ops only
- tweak: gloves of the north star restriction on CQC removed
- tweak: CQC disarms will now take the item from your opponent
- tweak: CQC blocks melee weapons and a couple of stun weapons and not everything
now
- tweak: Reagents will now adjust to the body temperature over time as opposed to
all at once
- tweak: Strange Reagent will work 25% of the time with TOUCH based reactions
- tweak: Strange reagent will revive whether there's a ghost or not (can use SR
on clientless mobs now, like monkies)
- tweak: SR puts the occupant back in their body automatically
- tweak: Cloners that eject their messes will now eject the unattached organs
- tweak: the message for brain death will now properly and only occur when they
have truly died from brain damage
- bugfix: Fixes being able to attain brain damage over 120
- rscdel: Updates nations. Updates nations so hard right into the void
- tweak: Plasma fires should burn a bit faster now
- tweak: Bleeding will now stop at the temperature at which cryoxadone heals
- bugfix: Fixes a few potential exploits with forcing chem, dust, and explosive
implants activating with the deathgasp emote, prior to death
- tweak: Tesla can't zap cameras and other disposal structures anymore
- rscadd: Simple mobs can now be shocked
- tweak: Electrocution damage scales a bit more linearly up to its maximum potential
instead of being heavily random
- bugfix: Fixes being able to shock yourself with TK, at range, on electrical equipment
- rscadd: simple mobs can now be shocked by the tesla and other sources
- bugfix: Fixes goats not attacking people
- tweak: Goats will eat glowshrooms
- rscadd: Goats will eat full grown diona
- rscadd: Remapped toxins to be more compatible with the modern age
- tweak: updates plasma and N2O sprites
- bugfix: Fixes not being able to look at a turf if it had plasma/N2O on it
- rscdel: cold turfs no longer become icy
- rscadd: Cryostylane makes turfs icy
- rscadd: Icy turfs are slippery; wear magboots to counteract the effect. Watch
your head!
- bugfix: Fixes grammar of slipping on turfs; no more "you slipped on floor" or
"you slipped on wet floor"
- rscdel: removes ponies
- tweak: object and fast processing are now proper subsystems
- bugfix: Fixes multi-spawn blobs
- tweak: Powersinks drain rate increased, but they also explode a bit sooner
- rscadd: Multitools display total power, load, and free power
- bugfix: Fix emitter sparks sparking at the location of emitters where biult as
opposed to emitter current location
Ionward:
- rscadd: Added new mantles! Check the ClothesMate, or in department head's lockers.
KasparoVy:
- rscadd: Adds striped normal-height socks.
- rscadd: Vox can now wear whatever undergarment they want.
- tweak: Removes flesh from shredded Vox uniform sprites.
- rscdel: Armalis can no longer wear undergarments. They didn't fit, anyhow.
- bugfix: Underwear no can no longer lock up the character creator.
Kyep:
- bugfix: bans issued by admins via the Player Panel no longer incorrectly omit
IP/etc information
- tweak: admins issuing permanent bans are no longer presented with an "ip ban?"
prompt, as all bans include IP/CID information now. This prompt was a legacy
thing from back when the filesystem was used to store bans, and hasn't ever
affected how DB-based bans were stored.
- rscadd: Added a config file option which allows SSD crew members to be moved to
cryo after a defined amount of minutes.
- rscadd: Added a config file option which causes most people trying to attack/loot/interact
with a SSD character to need to confirm they've read the rules before being
able to do so.
- bugfix: Fixed an error message being inappropriately generated for admins when
someone signs up as a pAI.
- rscadd: The ID computer now color-codes potential job transfer options, highlighting
good choices for a job transfer in green, and bad ones in gray.
- bugfix: Taking a job transfer now gives you playtime based on your new job, instead
of incorrectly still giving you playtime based on your old job.
- tweak: Job transfers to karma jobs are now possible - if you have the job unlocked.
- rscadd: Attempting to bypass a job ban via a job transfer now generates a warning
to all online admins.
- tweak: Refactored and improved our entry on the server hub.
- bugfix: Fixed a runtime in job_exp.dm
Markolie:
- rscadd: Safes can now consist of more than two tumblers.
- tweak: All safes now have three tumblers by default, instead of two.
- tweak: The safe opening mechanism has changed slightly. This is described on the
safe cracking UI.
- rscadd: The hardsuit equipment lockers on the Syndicate Nuclear Operative shuttle
have been replaced with suit storage units. Suit storage units now have a separate
slot for magboots.
- rscadd: Nuclear Operatives can now purchase reinforcements. These reinforcements
cost 25 telecrystals each.
- rscadd: A number of new ammunition and weapon bundles have been added for Nuclear
Operatives.
- tweak: For every ten players on the server, the Nuclear Operatives now receive
2 extra telecrystals.
- tweak: The Syndicate borg spawners have been separated into three separate spawners,
one for each type of Syndicate cyborg. Their prices have been modified.
- tweak: Saboteur borgs now spawn with thermals.
- tweak: The Syndicate borg and exosuits have been moved to a new category, "Support
and Mechanized Exosuits".
- tweak: Existing bundles and telecrystal purchases have been moved to a new category,
"Bundles and Telecrystals".
- tweak: There are now more spawn points for nuclear operatives on their base. The
number of operatives spawning has not been changed.
- bugfix: Spawning nuclear operatives through the traitor panel now causes their
ID to be properly updated.
- bugfix: Shuttles no longer leave behind their propulsion.
- bugfix: AZERTY hotkey mode users can now switch between regular mode and hotkey
mode properly using TAB again.
- tweak: Jumpsuits are now removed by clicking instead of clicking and dragging.
- bugfix: Removed a useless message that would be sent to admins whenever a drone
joins the round.
- bugfix: Fixed an issue where admins would receive a message whenever someone joined
up as a pAI.
McDonald072:
- bugfix: You can no longer examine or teleport things using clipboards
Quantum-M:
- rscadd: Two multicolor pens to the Internal Affairs Office
TDSSS:
- tweak: nukies can buy plasma grenades again
Ty-Omaha:
- tweak: Moves AI admin log to the all preference
dovydas12345:
- bugfix: Fixes normal cameras spooking non-chaplains even when they don't capture
any ghosts
farie82:
- tweak: Makes puke less lag inducing
- tweak: Puke can now appear on all kinds of turfs except spess
- bugfix: Ticket messages now have their corresponding span classes. Making them
easier to notice
- bugfix: PM's now shouldn't go to the wrong client anymore when the target left.
- tweak: Cure text for Shock and Cardiac failure are more clear now
- bugfix: Ducttape gags can now be removed properly without spawning an invisible
one in your hands
- bugfix: Windoors now give the airlock assembly electronics once deconstructed
- bugfix: Can't place runes in space anymore
- bugfix: Admins can now use all mhelp related things again
- spellcheck: Fixed the toggle mentor ticket messages text
- bugfix: Vampiric glaring is logged now
- bugfix: Doctor delight and orange juice now heal again
- bugfix: Fixes admin PM's. Bwoinks are back on the menu!
- bugfix: Organs will now prompt a update_stat. Meaning that IRCs and the like now
get revived when possible when you put their battery and brain in
- bugfix: The typing limiter option should now work for all edge cases. Such as
dying while talking and such
- bugfix: Borgs health status now updates properly when removing and adding parts
- bugfix: You won't try to fix destroyed components in borgs anymore. Which resulted
to lost materials and no healing
- bugfix: Borg analysers will now properly show missing components and won't show
their damage if missing
- tweak: Self diagnostics for borgs now also shows missing parts and destroyed ones
iantine:
- rscadd: Adds Lumi's vox suit fluff
uc_guy:
- bugfix: Players in the lobby no longer see cult speak.
@@ -1,9 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "CQC has been updated; a few combos are more powerful"
- tweak: "cost increased to 13 TC"
- tweak: "CQC is now nuke ops only"
- tweak: "gloves of the north star restriction on CQC removed"
- tweak: "CQC disarms will now take the item from your opponent"
- tweak: "CQC blocks melee weapons and a couple of stun weapons and not everything now"
@@ -1,5 +0,0 @@
author: "AffectedArc07"
delete-after: True
changes:
- rscadd: "ssMapping"
- tweak: "Gateway and space ruins are now loaded with ssMapping"
@@ -1,4 +0,0 @@
author: "iantine"
delete-after: True
changes:
- rscadd: "Adds Lumi's vox suit fluff"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- tweak: "Shadowlings now have a slightly bigger colored text when speaking in the Shadowling Hivemind"
@@ -1,4 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "Reagents will now adjust to the body temperature over time as opposed to all at once"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- soundadd: "Replaced title2.ogg music with a higher quality version"
@@ -1,7 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "Strange Reagent will work 25% of the time with TOUCH based reactions"
- tweak: "Strange reagent will revive whether there's a ghost or not (can use SR on clientless mobs now, like monkies)"
- tweak: "SR puts the occupant back in their body automatically"
- tweak: "Cloners that eject their messes will now eject the unattached organs"
@@ -1,5 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "the message for brain death will now properly and only occur when they have truly died from brain damage"
- bugfix: "Fixes being able to attain brain damage over 120"
@@ -1,6 +0,0 @@
author: "Arkatos and Paradise community:"
delete-after: True
changes:
- rscadd: "Added Tip of the round to a pre-game lobby"
- rscadd: "Added Show Custom Tip admin verb"
- rscadd: "Added Give Random Tip OOC verb"
@@ -1,4 +0,0 @@
author: "CornMyCob"
delete-after: True
changes:
- tweak: "The plasma cutter now cuts through multiple rock tiles."
@@ -1,5 +0,0 @@
author: "Citinited"
delete-after: True
changes:
- bugfix: "You can no longer turn transit turfs into foamed metal flooring."
- bugfix: "Foamed metal floors have a sprite now."
@@ -1,6 +0,0 @@
author: "Markolie"
delete-after: True
changes:
- rscadd: "Safes can now consist of more than two tumblers."
- tweak: "All safes now have three tumblers by default, instead of two."
- tweak: "The safe opening mechanism has changed slightly. This is described on the safe cracking UI."
@@ -1,4 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- rscdel: "Updates nations. Updates nations so hard right into the void"
@@ -1,13 +0,0 @@
author: "Markolie"
delete-after: True
changes:
- rscadd: "The hardsuit equipment lockers on the Syndicate Nuclear Operative shuttle have been replaced with suit storage units. Suit storage units now have a separate slot for magboots."
- rscadd: "Nuclear Operatives can now purchase reinforcements. These reinforcements cost 25 telecrystals each."
- rscadd: "A number of new ammunition and weapon bundles have been added for Nuclear Operatives."
- tweak: "For every ten players on the server, the Nuclear Operatives now receive 2 extra telecrystals."
- tweak: "The Syndicate borg spawners have been separated into three separate spawners, one for each type of Syndicate cyborg. Their prices have been modified."
- tweak: "Saboteur borgs now spawn with thermals."
- tweak: "The Syndicate borg and exosuits have been moved to a new category, \"Support and Mechanized Exosuits\"."
- tweak: "Existing bundles and telecrystal purchases have been moved to a new category, \"Bundles and Telecrystals\"."
- tweak: "There are now more spawn points for nuclear operatives on their base. The number of operatives spawning has not been changed."
- bugfix: "Spawning nuclear operatives through the traitor panel now causes their ID to be properly updated."
@@ -1,4 +0,0 @@
author: "TDSSS"
delete-after: True
changes:
- tweak: "nukies can buy plasma grenades again"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- tweak: "Shield Blobs automatically spawned around Blob Cores now give no refund upon removing. No freebies."
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added new Wizard Spell - Summon Ghosts! This nefarious spell will make all ghosts visible to the living. Be careful though, as while they cannot harm you in any way, they might prove a bit.. annoying. Costs 0 points in the Wizard's spellbook."
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- tweak: "Ghosts now orbit around their followed targets"
@@ -1,4 +0,0 @@
author: "Ionward"
delete-after: True
changes:
- rscadd: "Added new mantles! Check the ClothesMate, or in department head's lockers."
@@ -1,5 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "Plasma fires should burn a bit faster now"
- tweak: "Bleeding will now stop at the temperature at which cryoxadone heals"
@@ -1,4 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- bugfix: "Fixes a few potential exploits with forcing chem, dust, and explosive implants activating with the deathgasp emote, prior to death"
@@ -1,6 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added new Shadowling Ability - Null Charge! This new ability allows Shadowling to completely drain an APC of it's power after a moderate delay. Shadowling must not be interrupted, or the whole process will fail."
- imageadd: "Added custom icon for the Null Charge ability"
- rscdel: "Shadowling Drain Life ability removed"
@@ -1,8 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "Tesla can't zap cameras and other disposal structures anymore"
- rscadd: "Simple mobs can now be shocked"
- tweak: "Electrocution damage scales a bit more linearly up to its maximum potential instead of being heavily random"
- bugfix: "Fixes being able to shock yourself with TK, at range, on electrical equipment"
- rscadd: "simple mobs can now be shocked by the tesla and other sources"
@@ -1,6 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- bugfix: "Fixes goats not attacking people"
- tweak: "Goats will eat glowshrooms"
- rscadd: "Goats will eat full grown diona"
@@ -1,4 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- rscadd: "Remapped toxins to be more compatible with the modern age"
@@ -1,5 +0,0 @@
author: "farie82"
delete-after: True
changes:
- tweak: "Makes puke less lag inducing"
- tweak: "Puke can now appear on all kinds of turfs except spess"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Ticket messages now have their corresponding span classes. Making them easier to notice"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "PM's now shouldn't go to the wrong client anymore when the target left."
@@ -1,9 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- tweak: "updates plasma and N2O sprites"
- bugfix: "Fixes not being able to look at a turf if it had plasma/N2O on it"
- rscdel: "cold turfs no longer become icy"
- rscadd: "Cryostylane makes turfs icy"
- rscadd: "Icy turfs are slippery; wear magboots to counteract the effect. Watch your head!"
- bugfix: "Fixes grammar of slipping on turfs; no more \"you slipped on floor\" or \"you slipped on wet floor\""
@@ -1,5 +0,0 @@
author: "Kyep"
delete-after: True
changes:
- bugfix: "bans issued by admins via the Player Panel no longer incorrectly omit IP/etc information"
- tweak: "admins issuing permanent bans are no longer presented with an \"ip ban?\" prompt, as all bans include IP/CID information now. This prompt was a legacy thing from back when the filesystem was used to store bans, and hasn't ever affected how DB-based bans were stored."
@@ -1,5 +0,0 @@
author: "Kyep"
delete-after: True
changes:
- rscadd: "Added a config file option which allows SSD crew members to be moved to cryo after a defined amount of minutes."
- rscadd: "Added a config file option which causes most people trying to attack/loot/interact with a SSD character to need to confirm they've read the rules before being able to do so."
@@ -1,5 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added Observer HUD buttons for Jump to Mob, Orbit, Re-enter corpse, and Teleport"
- imageadd: "Added custom icons for Observer HUD buttons"
@@ -1,7 +0,0 @@
author: "KasparoVy"
delete-after: True
changes:
- rscadd: "Adds striped normal-height socks."
- rscadd: "Vox can now wear whatever undergarment they want."
- tweak: "Removes flesh from shredded Vox uniform sprites."
- rscdel: "Armalis can no longer wear undergarments. They didn't fit, anyhow."
@@ -1,4 +0,0 @@
author: "Fox McCloud"
delete-after: True
changes:
- rscdel: "removes ponies"
@@ -1,4 +0,0 @@
author: "KasparoVy"
delete-after: True
changes:
- bugfix: "Underwear no can no longer lock up the character creator."
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- tweak: "Cure text for Shock and Cardiac failure are more clear now"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Ducttape gags can now be removed properly without spawning an invisible one in your hands"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Windoors now give the airlock assembly electronics once deconstructed"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Can't place runes in space anymore"
@@ -1,4 +0,0 @@
author: "AffectedArc07"
delete-after: True
changes:
- rscdel: "Master Controller"
@@ -1,6 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added Floorbot color variants. Different toolboxes will result in a differently colored Floorbots. One even might be a little stronger than others.."
- imageadd: "Added sprites of Floorbot color variants"
- bugfix: "Fixed incorrect amount of required floortiles for the Floorbot in the crafting tab"
@@ -1,4 +0,0 @@
author: "Markolie"
delete-after: True
changes:
- bugfix: "Shuttles no longer leave behind their propulsion."
@@ -1,4 +0,0 @@
author: "AffectedArc07"
delete-after: True
changes:
- tweak: "Darkmode chat department colors match NTTC theming now"
@@ -1,5 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Admins can now use all mhelp related things again"
- spellcheck: "Fixed the toggle mentor ticket messages text"
@@ -1,4 +0,0 @@
author: "farie82"
delete-after: True
changes:
- bugfix: "Vampiric glaring is logged now"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added cancel button to Wizard teleportation scrolls"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added an option to grant Martial Arts via administrative Var menu"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- bugfix: "Toggling hardhat light on/off now correctly updates wearer's sprite"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- soundadd: "Added deathsound for Silicons"
@@ -1,4 +0,0 @@
author: "CthulhuOnIce"
delete-after: True
changes:
- bugfix: "you can smell dead bodies, even if someone else shouldn't"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- soundadd: "Added sound when adding or removing IDs from ID modification computers"
@@ -1,4 +0,0 @@
author: "Markolie"
delete-after: True
changes:
- bugfix: "AZERTY hotkey mode users can now switch between regular mode and hotkey mode properly using TAB again."
@@ -1,4 +0,0 @@
author: "Markolie"
delete-after: True
changes:
- tweak: "Jumpsuits are now removed by clicking instead of clicking and dragging."
@@ -1,5 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added cancel button to transfer amount from stack menu"
- tweak: "Alt-click is a new shortcut to take a custom amount from stack"
@@ -1,5 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added shortcuts for handling pumps, volume pumps, filters, and mixers. Ctrl-click these devices to turn them on/off and Alt-click them to set their output to maximum."
- rscadd: "Added ability to rename pumps, volume pumps, filters and mixers with a pen."
@@ -1,5 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- soundadd: "Added sound for throwing bolas"
- soundadd: "Added hitsound for all types of bolas"
@@ -1,5 +0,0 @@
author: "AffectedArc07"
delete-after: True
changes:
- rscadd: "SSvotes"
- rscadd: "SSradio"
@@ -1,5 +0,0 @@
author: "Citinited"
delete-after: True
changes:
- bugfix: "Pipe dispensers (the big ones) now work again."
- tweak: "Cooldown on pipe dispensers reduced to 0.4 seconds, down from 1.5 seconds"
@@ -1,4 +0,0 @@
author: "Arkatos"
delete-after: True
changes:
- rscadd: "Added AntagHUD to everyone at the round end"
@@ -1,4 +0,0 @@
author: "Kyep"
delete-after: True
changes:
- bugfix: "Fixed an error message being inappropriately generated for admins when someone signs up as a pAI."
@@ -1,4 +0,0 @@
author: "McDonald072"
delete-after: True
changes:
- bugfix: "You can no longer examine or teleport things using clipboards"

Some files were not shown because too many files have changed in this diff Show More