mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into auxtools-atmos
This commit is contained in:
@@ -5,8 +5,8 @@ dreamchecker = true
|
||||
engine = "auxtools"
|
||||
|
||||
#[code_standards]
|
||||
#disallow_relative_type_definitions = true
|
||||
#disallow_relative_proc_definitions = true
|
||||
disallow_relative_type_definitions = true
|
||||
disallow_relative_proc_definitions = true
|
||||
|
||||
[dmdoc]
|
||||
use_typepath_names = true
|
||||
|
||||
@@ -111,6 +111,17 @@
|
||||
/obj/structure/alien/resin/membrane,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"ax" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/gibs,
|
||||
/obj/structure/alien/weeds/node,
|
||||
/mob/living/simple_animal/hostile/alien/drone,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"ay" = (
|
||||
/obj/structure/stone_tile/slab/cracked,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aA" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/item/flamethrower,
|
||||
@@ -130,6 +141,17 @@
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aD" = (
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile,
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/center,
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aE" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/ash,
|
||||
@@ -160,6 +182,19 @@
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aK" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/center/cracked,
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aL" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/item/tank/internals/plasma,
|
||||
@@ -170,6 +205,26 @@
|
||||
/obj/effect/decal/cleanable/blood/xeno,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aN" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/stone_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/cracked,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aO" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/sentinel,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aP" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/hunter,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aQ" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/bed/nest,
|
||||
@@ -215,13 +270,6 @@
|
||||
/obj/effect/gibspawner/xeno,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aY" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/gibs,
|
||||
/mob/living/simple_animal/hostile/alien/drone,
|
||||
/obj/structure/alien/weeds/node,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"aZ" = (
|
||||
/turf/closed/indestructible/riveted/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
@@ -338,10 +386,6 @@
|
||||
/obj/structure/stone_tile,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bm" = (
|
||||
/obj/structure/stone_tile/slab/cracked,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bn" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 4
|
||||
@@ -365,12 +409,6 @@
|
||||
/obj/structure/stone_tile/center,
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bp" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bq" = (
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
@@ -391,33 +429,6 @@
|
||||
},
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bt" = (
|
||||
/obj/structure/stone_tile/surrounding_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile,
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/center,
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bu" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bv" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/stone_tile{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/cracked,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bw" = (
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 4
|
||||
@@ -492,19 +503,6 @@
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/template_noop,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"bE" = (
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/stone_tile/center/cracked,
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"dE" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/bed/nest,
|
||||
@@ -514,6 +512,12 @@
|
||||
/obj/item/clothing/mask/facehugger/impregnated,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"gA" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/bed/nest,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/sentinel,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"iA" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/structure/bed/nest,
|
||||
@@ -522,18 +526,24 @@
|
||||
/obj/item/clothing/mask/facehugger/impregnated,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"kp" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/item/reagent_containers/syringe/alien,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"lG" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/drone,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"pE" = (
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/queen,
|
||||
"lM" = (
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"nj" = (
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/praetorian,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"tY" = (
|
||||
/obj/structure/alien/weeds/node,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/hunter,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"wA" = (
|
||||
@@ -546,12 +556,23 @@
|
||||
/mob/living/simple_animal/hostile/alien/sentinel,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"zj" = (
|
||||
/obj/structure/stone_tile/block/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/chasm/lavaland,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"Dd" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/effect/decal/cleanable/blood/gibs,
|
||||
/obj/item/storage/backpack/duffelbag/sec/surgery,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"Ha" = (
|
||||
/obj/structure/alien/weeds,
|
||||
/obj/item/reagent_containers/syringe/alien,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/xenonest)
|
||||
"JM" = (
|
||||
/obj/structure/alien/weeds/node,
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/drone,
|
||||
@@ -1075,7 +1096,7 @@ ac
|
||||
ac
|
||||
ac
|
||||
bi
|
||||
aY
|
||||
ax
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
@@ -1123,7 +1144,7 @@ an
|
||||
an
|
||||
ac
|
||||
ac
|
||||
am
|
||||
gA
|
||||
ac
|
||||
ac
|
||||
aJ
|
||||
@@ -1278,10 +1299,10 @@ ac
|
||||
Dd
|
||||
ag
|
||||
ak
|
||||
ag
|
||||
aP
|
||||
af
|
||||
ac
|
||||
lG
|
||||
ag
|
||||
ac
|
||||
ac
|
||||
an
|
||||
@@ -1357,7 +1378,7 @@ ab
|
||||
ac
|
||||
af
|
||||
ag
|
||||
ar
|
||||
tY
|
||||
lG
|
||||
ag
|
||||
ag
|
||||
@@ -1511,7 +1532,7 @@ ac
|
||||
ah
|
||||
af
|
||||
ah
|
||||
JM
|
||||
ar
|
||||
Vi
|
||||
ak
|
||||
ag
|
||||
@@ -1618,7 +1639,7 @@ ag
|
||||
wA
|
||||
ag
|
||||
ag
|
||||
pE
|
||||
nj
|
||||
ag
|
||||
at
|
||||
ag
|
||||
@@ -1640,7 +1661,7 @@ ab
|
||||
aZ
|
||||
aZ
|
||||
aZ
|
||||
bm
|
||||
ay
|
||||
aZ
|
||||
aZ
|
||||
aZ
|
||||
@@ -1718,7 +1739,7 @@ ah
|
||||
ar
|
||||
ah
|
||||
ak
|
||||
kp
|
||||
Ha
|
||||
at
|
||||
ag
|
||||
ag
|
||||
@@ -1742,8 +1763,8 @@ ac
|
||||
aZ
|
||||
bc
|
||||
bj
|
||||
bp
|
||||
bt
|
||||
lM
|
||||
aD
|
||||
bx
|
||||
aZ
|
||||
ab
|
||||
@@ -1794,7 +1815,7 @@ ba
|
||||
bd
|
||||
bk
|
||||
bq
|
||||
bu
|
||||
zj
|
||||
by
|
||||
aZ
|
||||
ab
|
||||
@@ -1823,7 +1844,7 @@ ac
|
||||
ag
|
||||
ar
|
||||
ag
|
||||
ag
|
||||
aO
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
@@ -1845,7 +1866,7 @@ aZ
|
||||
be
|
||||
bo
|
||||
bs
|
||||
bE
|
||||
aK
|
||||
bz
|
||||
aZ
|
||||
ab
|
||||
@@ -1896,7 +1917,7 @@ aZ
|
||||
bf
|
||||
bl
|
||||
br
|
||||
bv
|
||||
aN
|
||||
bA
|
||||
aZ
|
||||
ab
|
||||
|
||||
@@ -60135,9 +60135,6 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/disposalpipe/junction/flip{
|
||||
dir = 8
|
||||
},
|
||||
@@ -60145,6 +60142,9 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/research)
|
||||
"cpx" = (
|
||||
@@ -60947,9 +60947,6 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/turf_decal/tile/purple,
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
@@ -60958,6 +60955,10 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/research)
|
||||
"cqP" = (
|
||||
@@ -61465,7 +61466,6 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/door/airlock/research{
|
||||
@@ -61477,6 +61477,7 @@
|
||||
name = "biohazard containment shutters"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"crU" = (
|
||||
@@ -62156,11 +62157,11 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"cth" = (
|
||||
@@ -62531,24 +62532,21 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 5
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"ctY" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/chair/stool,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 10
|
||||
@@ -62568,10 +62566,6 @@
|
||||
/area/science/storage)
|
||||
"cua" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/airalarm{
|
||||
dir = 8;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
@@ -63127,7 +63121,6 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"cuU" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -63668,12 +63661,12 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"cvW" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/landmark/blobstart,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/storage)
|
||||
"cvX" = (
|
||||
@@ -68931,13 +68924,13 @@
|
||||
pixel_x = -25;
|
||||
pixel_y = -5
|
||||
},
|
||||
/obj/machinery/airalarm{
|
||||
dir = 1;
|
||||
pixel_y = -22
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/airalarm/unlocked{
|
||||
dir = 1;
|
||||
pixel_y = -22
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/mixing)
|
||||
"cGm" = (
|
||||
@@ -117641,7 +117634,7 @@ cmQ
|
||||
cok
|
||||
cpy
|
||||
cqQ
|
||||
cgq
|
||||
crR
|
||||
cti
|
||||
ctZ
|
||||
cuV
|
||||
|
||||
@@ -1070,7 +1070,7 @@ B --><-- A
|
||||
return closest_atom
|
||||
|
||||
|
||||
proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
|
||||
/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
|
||||
if (value == FALSE) //nothing should be calling us with a number, so this is safe
|
||||
value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text
|
||||
if (isnull(value))
|
||||
|
||||
@@ -85,6 +85,10 @@
|
||||
to_chat(user, "<span class='warning'>You're not ready to tackle!</span>")
|
||||
return
|
||||
|
||||
if(!user.mob_has_gravity() ||!user.loc.has_gravity() || isspaceturf(user.loc))
|
||||
to_chat(user, "<span class='warning'>You can't find your footing without gravity!</span>")
|
||||
return
|
||||
|
||||
if(user.has_status_effect(STATUS_EFFECT_TASED)) // can't tackle if you just got tased
|
||||
to_chat(user, "<span class='warning'>You can't tackle while tased!</span>")
|
||||
return
|
||||
|
||||
@@ -887,7 +887,7 @@
|
||||
L.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND)
|
||||
|
||||
|
||||
datum/status_effect/pacify
|
||||
/datum/status_effect/pacify
|
||||
id = "pacify"
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
tick_interval = 1
|
||||
|
||||
@@ -168,7 +168,7 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
datum/atom_hud/alternate_appearance/basic/onePerson
|
||||
/datum/atom_hud/alternate_appearance/basic/onePerson
|
||||
var/mob/seer
|
||||
|
||||
/datum/atom_hud/alternate_appearance/basic/onePerson/mobShouldSee(mob/M)
|
||||
|
||||
@@ -31,7 +31,14 @@
|
||||
var/list/client_mobs_in_contents // This contains all the client mobs within this container
|
||||
var/list/acted_explosions //for explosion dodging
|
||||
var/datum/forced_movement/force_moving = null //handled soley by forced_movement.dm
|
||||
var/movement_type = GROUND //Incase you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc.
|
||||
|
||||
/**
|
||||
* In case you have multiple types, you automatically use the most useful one.
|
||||
* IE: Skating on ice, flippers on water, flying over chasm/space, etc.
|
||||
* I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
|
||||
*/
|
||||
var/movement_type = GROUND
|
||||
|
||||
var/atom/movable/pulling
|
||||
var/grab_state = 0
|
||||
var/throwforce = 0
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
icon_state = "knuckles"
|
||||
w_class = 3
|
||||
|
||||
datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang member anyways?
|
||||
/datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang member anyways?
|
||||
name = "Cool Sunglasses"
|
||||
id = "glasses"
|
||||
cost = 5
|
||||
@@ -313,13 +313,13 @@ datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang m
|
||||
permeability_coefficient = 0.01
|
||||
clothing_flags = NOSLIP
|
||||
|
||||
datum/gang_item/equipment/shield
|
||||
/datum/gang_item/equipment/shield
|
||||
name = "Riot Shield"
|
||||
id = "riot_shield"
|
||||
cost = 25
|
||||
item_path = /obj/item/shield/riot
|
||||
|
||||
datum/gang_item/equipment/gangsheild
|
||||
/datum/gang_item/equipment/gangsheild
|
||||
name = "Tower Shield"
|
||||
id = "metal"
|
||||
cost = 45 //High block of melee and even higher for bullets
|
||||
|
||||
@@ -49,6 +49,42 @@
|
||||
/obj/effect/overlay/vis
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
anchored = TRUE
|
||||
vis_flags = NONE
|
||||
var/unused = 0 //When detected to be unused it gets set to world.time, after a while it gets removed
|
||||
var/cache_expiration = 2 MINUTES // overlays which go unused for 2 minutes get cleaned up
|
||||
vis_flags = VIS_INHERIT_DIR
|
||||
///When detected to be unused it gets set to world.time, after a while it gets removed
|
||||
var/unused = 0
|
||||
///overlays which go unused for this amount of time get cleaned up
|
||||
var/cache_expiration = 2 MINUTES
|
||||
|
||||
// /obj/effect/overlay/atmos_excited
|
||||
// name = "excited group"
|
||||
// icon = null
|
||||
// icon_state = null
|
||||
// anchored = TRUE // should only appear in vis_contents, but to be safe
|
||||
// appearance_flags = RESET_TRANSFORM | TILE_BOUND
|
||||
// invisibility = INVISIBILITY_ABSTRACT
|
||||
// mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
|
||||
// layer = ATMOS_GROUP_LAYER
|
||||
// plane = ATMOS_GROUP_PLANE
|
||||
|
||||
// /obj/effect/overlay/light_visible
|
||||
// name = ""
|
||||
// icon = 'icons/effects/light_overlays/light_32.dmi'
|
||||
// icon_state = "light"
|
||||
// layer = O_LIGHTING_VISUAL_LAYER
|
||||
// plane = O_LIGHTING_VISUAL_PLANE
|
||||
// appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
|
||||
// mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
// alpha = 0
|
||||
// vis_flags = NONE
|
||||
|
||||
// /obj/effect/overlay/light_cone
|
||||
// name = ""
|
||||
// icon = 'icons/effects/light_overlays/light_cone.dmi'
|
||||
// icon_state = "light"
|
||||
// layer = O_LIGHTING_VISUAL_LAYER
|
||||
// plane = O_LIGHTING_VISUAL_PLANE
|
||||
// appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
|
||||
// mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
// vis_flags = NONE
|
||||
// alpha = 110
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
last = C
|
||||
break
|
||||
|
||||
obj/item/rcl/proc/getMobhook(mob/to_hook)
|
||||
/obj/item/rcl/proc/getMobhook(mob/to_hook)
|
||||
if(listeningTo == to_hook)
|
||||
return
|
||||
if(listeningTo)
|
||||
|
||||
@@ -306,18 +306,6 @@ GENETICS SCANNER
|
||||
if(T.name == "fluffy tongue")
|
||||
temp_message += " <span class='danger'>Subject is suffering from a fluffified tongue. Suggested cure: Yamerol or a tongue transplant.</span>"
|
||||
|
||||
//HECK
|
||||
else if(istype(O, /obj/item/organ/genital/penis))
|
||||
var/obj/item/organ/genital/penis/P = O
|
||||
if(P.length>20)
|
||||
temp_message += " <span class='info'>Subject has a sizeable gentleman's organ at [P.length] inches.</span>"
|
||||
|
||||
else if(istype(O, /obj/item/organ/genital/breasts))
|
||||
var/obj/item/organ/genital/breasts/Br = O
|
||||
if(Br.cached_size>5)
|
||||
temp_message += " <span class='info'>Subject has a sizeable bosom with a [Br.size] cup.</span>"
|
||||
|
||||
|
||||
|
||||
//GENERAL HANDLER
|
||||
if(!damage_message)
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
shield_flags = SHIELD_FLAGS_DEFAULT
|
||||
max_integrity = 300
|
||||
|
||||
obj/item/shield/riot/bullet_proof
|
||||
/obj/item/shield/riot/bullet_proof
|
||||
name = "bullet resistant shield"
|
||||
desc = "A far more frail shield made of resistant plastics and kevlar meant to block ballistics."
|
||||
armor = list("melee" = 30, "bullet" = 80, "laser" = 0, "energy" = 0, "bomb" = -40, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
|
||||
|
||||
@@ -639,7 +639,7 @@
|
||||
new /obj/item/bikehorn(src)
|
||||
new /obj/item/implanter/sad_trombone(src)
|
||||
|
||||
obj/item/storage/backpack/duffelbag/syndie/shredderbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/shredderbundle
|
||||
desc = "A large duffel bag containing two CX Shredders, some magazines, an elite hardsuit, and a chest rig."
|
||||
|
||||
/obj/item/storage/backpack/duffelbag/syndie/shredderbundle/PopulateContents()
|
||||
|
||||
@@ -857,7 +857,7 @@
|
||||
icon_state = "2sheath"
|
||||
item_state = "katana" //this'll do.
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
fitting_swords = list(/obj/item/melee/smith/wakizashi, /obj/item/melee/smith/twohand/katana, /obj/item/melee/bokken)
|
||||
fitting_swords = list(/obj/item/melee/smith/wakizashi, /obj/item/melee/smith/twohand/katana, /obj/item/melee/bokken, /obj/item/katana)
|
||||
starting_sword = null
|
||||
|
||||
/obj/item/storage/belt/sabre/twin/ComponentInitialize()
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/grenade/flashbang(src)
|
||||
|
||||
obj/item/storage/box/stingbangs
|
||||
/obj/item/storage/box/stingbangs
|
||||
name = "box of stingbangs (WARNING)"
|
||||
desc = "<B>WARNING: These devices are extremely dangerous and can cause severe injuries or death in repeated use.</B>"
|
||||
icon_state = "secbox"
|
||||
|
||||
@@ -269,21 +269,22 @@
|
||||
icon_state = "refill_donksoft"
|
||||
var/product = /obj/item/melee/baton/stunsword //what it makes
|
||||
var/list/fromitem = list(/obj/item/melee/baton, /obj/item/melee/baton/loaded) //what it needs
|
||||
afterattack(obj/O, mob/user as mob)
|
||||
if(istype(O, product))
|
||||
to_chat(user,"<span class='warning'>[O] is already modified!")
|
||||
else if(O.type in fromitem) //makes sure O is the right thing
|
||||
var/obj/item/melee/baton/B = O
|
||||
if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
|
||||
new product(usr.loc) //spawns the product
|
||||
user.visible_message("<span class='warning'>[user] modifies [O]!","<span class='warning'>You modify the [O]!")
|
||||
qdel(O) //Gets rid of the baton
|
||||
qdel(src) //gets rid of the kit
|
||||
|
||||
else
|
||||
to_chat(user,"<span class='warning'>Remove the powercell first!</span>") //We make this check because the stunsword starts without a battery.
|
||||
/obj/item/ssword_kit/afterattack(obj/O, mob/user as mob)
|
||||
if(istype(O, product))
|
||||
to_chat(user,"<span class='warning'>[O] is already modified!")
|
||||
return
|
||||
if(O.type in fromitem) //makes sure O is the right thing
|
||||
var/obj/item/melee/baton/B = O
|
||||
if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
|
||||
new product(usr.loc) //spawns the product
|
||||
user.visible_message("<span class='warning'>[user] modifies [O]!","<span class='warning'>You modify the [O]!")
|
||||
qdel(O) //Gets rid of the baton
|
||||
qdel(src) //gets rid of the kit
|
||||
else
|
||||
to_chat(user, "<span class='warning'> You can't modify [O] with this kit!</span>")
|
||||
to_chat(user,"<span class='warning'>Remove the powercell first!</span>") //We make this check because the stunsword starts without a battery.
|
||||
else
|
||||
to_chat(user, "<span class='warning'> You can't modify [O] with this kit!</span>")
|
||||
|
||||
//Makeshift stun baton. Replacement for stun gloves.
|
||||
/obj/item/melee/baton/cattleprod
|
||||
|
||||
@@ -56,17 +56,17 @@
|
||||
desc = "A direction sign, pointing out which way the Cafe is."
|
||||
icon_state = "direction_cafe"
|
||||
|
||||
obj/structure/sign/directions/rooms
|
||||
/obj/structure/sign/directions/rooms
|
||||
name = "room"
|
||||
desc = "Room numbers, helps others find you!"
|
||||
icon_state = "roomnum"
|
||||
|
||||
obj/structure/sign/directions/dorms
|
||||
/obj/structure/sign/directions/dorms
|
||||
name = "dorm"
|
||||
desc = "Dorm numbers, help others find you, or you find others."
|
||||
icon_state = "dormnum"
|
||||
|
||||
obj/structure/sign/directions/cells
|
||||
/obj/structure/sign/directions/cells
|
||||
name = "room"
|
||||
desc = "So the less fortunate amongst us know where they'll be staying."
|
||||
icon_state = "cellnum"
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
/turf/open
|
||||
plane = FLOOR_PLANE
|
||||
/// Does dirt buildup happen on us?
|
||||
var/dirt_buildup_allowed = FALSE
|
||||
/// Dirt level.
|
||||
var/dirtyness = 0
|
||||
/// Dirt level to spawn dirt. Null to use config.
|
||||
var/dirt_spawn_threshold
|
||||
/// Slowdown applied to mobs on us.
|
||||
var/slowdown = 0 //negative for faster, positive for slower
|
||||
|
||||
var/postdig_icon_change = FALSE
|
||||
@@ -18,6 +11,15 @@
|
||||
var/clawfootstep = null
|
||||
var/heavyfootstep = null
|
||||
|
||||
/// Dirtyness system, cit specific.
|
||||
|
||||
/// Does dirt buildup happen on us?
|
||||
var/dirt_buildup_allowed = FALSE
|
||||
/// Dirt level.
|
||||
var/dirtyness = 0
|
||||
/// Dirt level to spawn dirt. Null to use config.
|
||||
var/dirt_spawn_threshold
|
||||
|
||||
/turf/open/ComponentInitialize()
|
||||
. = ..()
|
||||
if(wet)
|
||||
|
||||
@@ -10,6 +10,8 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
plane = OPENSPACE_BACKDROP_PLANE
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
layer = SPLASHSCREEN_LAYER
|
||||
//I don't know why the others are aligned but I shall do the same.
|
||||
vis_flags = VIS_INHERIT_ID
|
||||
|
||||
/turf/open/transparent/openspace
|
||||
name = "open space"
|
||||
@@ -17,6 +19,7 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
icon_state = "transparent"
|
||||
baseturfs = /turf/open/transparent/openspace
|
||||
CanAtmosPassVertical = ATMOS_PASS_YES
|
||||
intact = FALSE //this means wires go on top
|
||||
//mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
var/can_cover_up = TRUE
|
||||
var/can_build_on = TRUE
|
||||
@@ -32,10 +35,14 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
/turf/open/transparent/openspace/show_bottom_level()
|
||||
return FALSE
|
||||
|
||||
/turf/open/transparent/openspace/Initialize() // handle plane and layer here so that they don't cover other obs/turfs in Dream Maker
|
||||
/turf/open/openspace/Initialize() // handle plane and layer here so that they don't cover other obs/turfs in Dream Maker
|
||||
. = ..()
|
||||
|
||||
vis_contents += GLOB.openspace_backdrop_one_for_all //Special grey square for projecting backdrop darkness filter on it.
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/turf/open/openspace/LateInitialize()
|
||||
. = ..()
|
||||
// AddElement(/datum/element/turf_z_transparency, FALSE)
|
||||
|
||||
/turf/open/transparent/openspace/can_have_cabling()
|
||||
if(locate(/obj/structure/lattice/catwalk, src))
|
||||
@@ -95,6 +102,7 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
return
|
||||
if(L)
|
||||
if(R.use(1))
|
||||
qdel(L)
|
||||
to_chat(user, "<span class='notice'>You construct a catwalk.</span>")
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE)
|
||||
new/obj/structure/lattice/catwalk(src)
|
||||
@@ -148,9 +156,22 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr
|
||||
/turf/open/transparent/openspace/icemoon
|
||||
name = "ice chasm"
|
||||
baseturfs = /turf/open/transparent/openspace/icemoon
|
||||
can_cover_up = TRUE
|
||||
can_build_on = TRUE
|
||||
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
|
||||
planetary_atmos = TRUE
|
||||
var/replacement_turf = /turf/open/floor/plating/asteroid/snow/icemoon
|
||||
|
||||
/turf/open/transparent/openspace/icemoon/Initialize()
|
||||
. = ..()
|
||||
var/turf/T = below()
|
||||
// if(T.flags_1 & NO_RUINS_1)
|
||||
// ChangeTurf(replacement_turf, null, CHANGETURF_IGNORE_AIR)
|
||||
// return
|
||||
// if(!ismineralturf(T))
|
||||
// return
|
||||
var/turf/closed/mineral/M = T
|
||||
M.mineralAmt = 0
|
||||
M.gets_drilled()
|
||||
baseturfs = /turf/open/transparent/openspace/icemoon //This is to ensure that IF random turf generation produces a openturf, there won't be other turfs assigned other than openspace.
|
||||
|
||||
/turf/open/transparent/openspace/icemoon/can_zFall(atom/movable/A, levels = 1, turf/target)
|
||||
return TRUE
|
||||
|
||||
@@ -61,7 +61,12 @@
|
||||
|
||||
/turf/open/transparent/glass/Initialize()
|
||||
icon_state = "" //Prevent the normal icon from appearing behind the smooth overlays
|
||||
return ..()
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/turf/open/floor/glass/LateInitialize()
|
||||
. = ..()
|
||||
// AddElement(/datum/element/turf_z_transparency, TRUE)
|
||||
|
||||
/turf/open/transparent/glass/wrench_act(mob/living/user, obj/item/I)
|
||||
to_chat(user, "<span class='notice'>You begin removing glass...</span>")
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
|
||||
bullet_bounce_sound = null
|
||||
|
||||
vis_flags = VIS_INHERIT_ID //when this be added to vis_contents of something it be associated with something on clicking, important for visualisation of turf in openspace and interraction with openspace that show you turf.
|
||||
|
||||
/turf/open/space/basic/New() //Do not convert to Initialize
|
||||
//This is used to optimize the map loader
|
||||
|
||||
@@ -176,6 +176,14 @@ GLOBAL_LIST(topic_status_cache)
|
||||
/world/Topic(T, addr, master, key)
|
||||
TGS_TOPIC //redirect to server tools if necessary
|
||||
|
||||
if(!SSfail2topic)
|
||||
return "Server not initialized."
|
||||
if(SSfail2topic.IsRateLimited(addr))
|
||||
return "Rate limited."
|
||||
|
||||
if(length(T) > CONFIG_GET(number/topic_max_size))
|
||||
return "Payload too large!"
|
||||
|
||||
var/static/list/topic_handlers = TopicHandlers()
|
||||
|
||||
var/list/input = params2list(T)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
. = ..()
|
||||
desc = initial(desc)
|
||||
|
||||
obj/item/shield/riot/ratvarian/proc/calc_bash_mult()
|
||||
/obj/item/shield/riot/ratvarian/proc/calc_bash_mult()
|
||||
var/bash_mult = 0
|
||||
if(!dam_absorbed)
|
||||
return 1
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
transform = matrix() * 2
|
||||
animate(src, transform = matrix() * 0.5, time = 30, flags = ANIMATION_END_NOW)
|
||||
|
||||
obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy()
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
if(!purpose_fulfilled)
|
||||
var/area/gate_area = get_area(src)
|
||||
|
||||
@@ -103,29 +103,29 @@
|
||||
name = "knotted dildo"
|
||||
attack_verb = list("penetrated", "knotted", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/human
|
||||
/obj/item/dildo/human
|
||||
dildo_shape = "human"
|
||||
name = "human dildo"
|
||||
attack_verb = list("penetrated", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/plain
|
||||
/obj/item/dildo/plain
|
||||
dildo_shape = "plain"
|
||||
name = "plain dildo"
|
||||
attack_verb = list("penetrated", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/flared
|
||||
/obj/item/dildo/flared
|
||||
dildo_shape = "flared"
|
||||
name = "flared dildo"
|
||||
attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated")
|
||||
|
||||
obj/item/dildo/flared/huge
|
||||
/obj/item/dildo/flared/huge
|
||||
name = "literal horse cock"
|
||||
desc = "THIS THING IS HUGE!"
|
||||
dildo_size = 4
|
||||
force = 10
|
||||
hitsound = 'sound/weapons/klonk.ogg'
|
||||
|
||||
obj/item/dildo/custom
|
||||
/obj/item/dildo/custom
|
||||
name = "customizable dildo"
|
||||
desc = "Thanks to significant advances in synthetic nanomaterials, this dildo is capable of taking on many different forms to fit the user's preferences! Pricy!"
|
||||
can_customize = TRUE
|
||||
@@ -136,9 +136,9 @@ obj/item/dildo/custom
|
||||
// Suicide acts, by request
|
||||
|
||||
/obj/item/dildo/proc/manual_suicide(mob/living/user)
|
||||
user.visible_message("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
|
||||
user.adjustOxyLoss(200)
|
||||
user.death(0)
|
||||
user.visible_message("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
|
||||
user.adjustOxyLoss(200)
|
||||
user.death(0)
|
||||
|
||||
/obj/item/dildo/suicide_act(mob/living/user)
|
||||
// is_knotted = ((src.dildo_shape == "knotted")?"They swallowed the knot":"Their face is turning blue")
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
new /obj/item/stack/sheet/metal (loc, 5)
|
||||
qdel(src)
|
||||
|
||||
obj/machinery/portable_atmospherics/canister/welder_act(mob/living/user, obj/item/I)
|
||||
/obj/machinery/portable_atmospherics/canister/welder_act(mob/living/user, obj/item/I)
|
||||
..()
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return FALSE
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe which can relay air up a deck (Z+1). It currently only supports being on pipe layer 1
|
||||
/// This is an atmospherics pipe which can relay air up/down a deck.
|
||||
/obj/machinery/atmospherics/pipe/simple/multiz
|
||||
name = "multi deck pipe adapter"
|
||||
desc = "An adapter which allows pipes to connect to other pipenets on different decks."
|
||||
icon_state = "multiz_pipe"
|
||||
@@ -24,6 +25,4 @@ obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe wh
|
||||
if(above)
|
||||
nodes += above
|
||||
above.nodes += src //Two way travel :)
|
||||
return ..()
|
||||
else
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
name = "Simple Drink"
|
||||
reward = 1500
|
||||
|
||||
datum/bounty/reagent/simple_drink/New()
|
||||
/datum/bounty/reagent/simple_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/antifreeze,\
|
||||
@@ -91,7 +91,7 @@ datum/bounty/reagent/simple_drink/New()
|
||||
name = "Complex Drink"
|
||||
reward = 4000
|
||||
|
||||
datum/bounty/reagent/complex_drink/New()
|
||||
/datum/bounty/reagent/complex_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/atomicbomb,\
|
||||
@@ -124,7 +124,7 @@ datum/bounty/reagent/complex_drink/New()
|
||||
reward = 2750
|
||||
required_volume = 30
|
||||
|
||||
datum/bounty/reagent/chemical/New()
|
||||
/datum/bounty/reagent/chemical/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some chems are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/medicine/leporazine,\
|
||||
|
||||
@@ -473,7 +473,7 @@
|
||||
//Soft Suits
|
||||
|
||||
//Blanket
|
||||
datum/export/gear/space/helmet
|
||||
/datum/export/gear/space/helmet
|
||||
cost = 55
|
||||
unit_name = "space helmet"
|
||||
export_types = list(/obj/item/clothing/head/helmet/space)
|
||||
@@ -485,7 +485,7 @@ datum/export/gear/space/helmet
|
||||
export_types = list(/obj/item/clothing/suit/space)
|
||||
include_subtypes = TRUE
|
||||
|
||||
datum/export/gear/space/helmet/plasma
|
||||
/datum/export/gear/space/helmet/plasma
|
||||
cost = 100
|
||||
unit_name = "plasmaman space helmet"
|
||||
export_types = list(/obj/item/clothing/suit/space/eva/plasmaman)
|
||||
@@ -495,7 +495,7 @@ datum/export/gear/space/helmet/plasma
|
||||
unit_name = "plasmaman space suit"
|
||||
export_types = list(/obj/item/clothing/suit/space/eva/plasmaman)
|
||||
|
||||
datum/export/gear/space/helmet/synda
|
||||
/datum/export/gear/space/helmet/synda
|
||||
cost = 150 //Flash proof
|
||||
unit_name = "syndicate space helmet"
|
||||
export_types = list(/obj/item/clothing/head/helmet/space/syndicate)
|
||||
@@ -510,7 +510,7 @@ datum/export/gear/space/helmet/synda
|
||||
//Glasses
|
||||
|
||||
//Blanket
|
||||
datum/export/gear/glasses //glasses are not worth selling
|
||||
/datum/export/gear/glasses //glasses are not worth selling
|
||||
cost = 3
|
||||
unit_name = "glasses"
|
||||
export_types = list(/obj/item/clothing/glasses)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/item/clothing/mask/gas/examine(mob/user)
|
||||
. = ..()
|
||||
if(flavor_adjust)
|
||||
. += "<span class='info'>Alt-click to toggle identity concealment. it's currently <b>[flags_inv & HIDEFACE ? "on" : "off"]</b>.</span>"
|
||||
. += "<span class='info'>Alt-click to toggle identity concealment. It's currently <b>[flags_inv & HIDEFACE ? "on" : "off"]</b>.</span>"
|
||||
|
||||
/obj/item/clothing/mask/gas/AltClick(mob/user)
|
||||
. = ..()
|
||||
@@ -143,14 +143,17 @@
|
||||
"Blanc" = image(icon = src.icon, icon_state = "mime"),
|
||||
"Excité" = image(icon = src.icon, icon_state = "sexymime"),
|
||||
"Triste" = image(icon = src.icon, icon_state = "sadmime"),
|
||||
"Effrayé" = image(icon = src.icon, icon_state = "scaredmime")
|
||||
"Effrayé" = image(icon = src.icon, icon_state = "scaredmime"),
|
||||
"Timid Woman" = image(icon = src.icon, icon_state = "timidwoman"),
|
||||
"Timid Man" = image(icon = src.icon, icon_state = "timidman")
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/gas/mime/ui_action_click(mob/user)
|
||||
if(!istype(user) || user.incapacitated())
|
||||
return
|
||||
|
||||
var/static/list/options = list("Blanc" = "mime", "Triste" = "sadmime", "Effrayé" = "scaredmime", "Excité" ="sexymime")
|
||||
var/static/list/options = list("Blanc" = "mime", "Triste" = "sadmime", "Effrayé" = "scaredmime", "Excité" ="sexymime",
|
||||
"Timid Woman" = "timidwoman", "Timid Man" = "timidman")
|
||||
|
||||
var/choice = show_radial_menu(user,src, mimemask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
|
||||
|
||||
@@ -170,6 +173,20 @@
|
||||
item_state = "sexymime"
|
||||
actions_types = list()
|
||||
|
||||
/obj/item/clothing/mask/gas/timidcostume
|
||||
name = "timid woman mask"
|
||||
desc = "Most people who wear these are not really that timid."
|
||||
clothing_flags = ALLOWINTERNALS
|
||||
icon_state = "timidwoman"
|
||||
item_state = "timidwoman"
|
||||
flags_cover = MASKCOVERSEYES
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/timidcostume/man
|
||||
name = "timid man mask"
|
||||
icon_state = "timidman"
|
||||
item_state = "timidman"
|
||||
|
||||
/obj/item/clothing/mask/gas/monkeymask
|
||||
name = "monkey mask"
|
||||
desc = "A mask used when acting as a monkey."
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
//VERY SUPER BADASS NECKERCHIEFS//
|
||||
//////////////////////////////////
|
||||
|
||||
obj/item/clothing/neck/neckerchief
|
||||
/obj/item/clothing/neck/neckerchief
|
||||
icon = 'icons/obj/clothing/masks.dmi' //In order to reuse the bandana sprite
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/sourceBandanaType
|
||||
|
||||
@@ -413,6 +413,22 @@
|
||||
var/wallcharges = 4
|
||||
var/newlocobject = null
|
||||
|
||||
/obj/item/clothing/shoes/timidcostume
|
||||
name = "timid woman boots"
|
||||
desc = "Ready to rock your hips back and forth? These boots have a polychromic finish."
|
||||
icon_state = "timidwoman"
|
||||
item_state = "timidwoman"
|
||||
|
||||
/obj/item/clothing/shoes/timidcostume/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, list("#0094FF"), 1)
|
||||
|
||||
/obj/item/clothing/shoes/timidcostume/man
|
||||
name = "timid man shoes"
|
||||
desc = "Ready to go kart racing? These shoes have a polychromic finish."
|
||||
icon_state = "timidman"
|
||||
item_state = "timidman"
|
||||
|
||||
/obj/item/clothing/shoes/wallwalkers/equipped(mob/user,slot)
|
||||
. = ..()
|
||||
if(slot == SLOT_SHOES)
|
||||
|
||||
@@ -1088,6 +1088,36 @@
|
||||
icon_state = "winterhood_poly"
|
||||
item_state = "winterhood_poly"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/timidcostume
|
||||
name = "timid woman hoodie"
|
||||
desc = "A snug, tight yet warm outfit with belts wrapped around it. Looks to be made of polychromic materials."
|
||||
icon_state = "timidwoman"
|
||||
item_state = "timidwoman"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/timidcostume
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/timidcostume/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, list("#EB0C07", "#5E2400", "#CEA100"), 3)
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/timidcostume
|
||||
name = "timid woman hood"
|
||||
desc = "A hood attached to the hoodie."
|
||||
icon_state = "timidwoman"
|
||||
item_state = "timidwoman"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/timidcostume/man
|
||||
name = "timid man hoodie"
|
||||
desc = "A snug, tight yet warm outfit a belt wrapped around it. Looks to be made of polychromic materials."
|
||||
icon_state = "timidman"
|
||||
item_state = "timidman"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/timidcostume/man
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/timidcostume/man
|
||||
name = "timid man hood"
|
||||
icon_state = "timidman"
|
||||
item_state = "timidman"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/striped_sweater
|
||||
name = "striped sweater"
|
||||
desc = "Reminds you of someone, but you just can't put your finger on it..."
|
||||
|
||||
@@ -61,8 +61,9 @@
|
||||
if(!hood)
|
||||
to_chat(loc, "<span class='warning'>[src] seems to be missing its hood..</span>")
|
||||
return
|
||||
hood.atom_colours = atom_colours.Copy()
|
||||
hood.update_atom_colour()
|
||||
if(atom_colours)
|
||||
hood.atom_colours = atom_colours.Copy()
|
||||
hood.update_atom_colour()
|
||||
if(!suittoggled)
|
||||
if(ishuman(src.loc))
|
||||
var/mob/living/carbon/human/H = src.loc
|
||||
@@ -198,8 +199,9 @@
|
||||
if(!helmet)
|
||||
to_chat(H, "<span class='warning'>[src] seems to be missing its helmet..</span>")
|
||||
return
|
||||
helmet.atom_colours = atom_colours.Copy()
|
||||
helmet.update_atom_colour()
|
||||
if(atom_colours)
|
||||
helmet.atom_colours = atom_colours.Copy()
|
||||
helmet.update_atom_colour()
|
||||
if(!suittoggled)
|
||||
if(ishuman(src.loc))
|
||||
if(H.wear_suit != src)
|
||||
|
||||
@@ -144,22 +144,23 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
if(L && (L.density || prob(10)))
|
||||
L.ex_act(EXPLODE_HEAVY)
|
||||
|
||||
obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(U.job in list("Research Director"))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
for(var/mob/M in urange(8, src))
|
||||
if(!M.stat)
|
||||
shake_camera(M, 2, 3)
|
||||
if(wizard)
|
||||
U.visible_message("<span class='boldwarning'>[src] transforms into [wizard] as [U] suplexes them!</span>", "<span class='warning'>As you grab [src], it suddenly turns into [wizard] as you suplex them!</span>")
|
||||
to_chat(wizard, "<span class='boldwarning'>You're suddenly jolted out of rod-form as [U] somehow manages to grab you, slamming you into the ground!</span>")
|
||||
wizard.Stun(60)
|
||||
wizard.apply_damage(25, BRUTE)
|
||||
qdel(src)
|
||||
else
|
||||
U.visible_message("<span class='boldwarning'>[U] suplexes [src] into the ground!</span>", "<span class='warning'>You suplex [src] into the ground!</span>")
|
||||
new /obj/structure/festivus/anchored(drop_location())
|
||||
new /obj/effect/anomaly/flux(drop_location())
|
||||
qdel(src)
|
||||
/obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
if(!ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(U.job in list("Research Director"))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
|
||||
for(var/mob/M in urange(8, src))
|
||||
if(!M.stat)
|
||||
shake_camera(M, 2, 3)
|
||||
if(wizard)
|
||||
U.visible_message("<span class='boldwarning'>[src] transforms into [wizard] as [U] suplexes them!</span>", "<span class='warning'>As you grab [src], it suddenly turns into [wizard] as you suplex them!</span>")
|
||||
to_chat(wizard, "<span class='boldwarning'>You're suddenly jolted out of rod-form as [U] somehow manages to grab you, slamming you into the ground!</span>")
|
||||
wizard.Stun(60)
|
||||
wizard.apply_damage(25, BRUTE)
|
||||
qdel(src)
|
||||
else
|
||||
U.visible_message("<span class='boldwarning'>[U] suplexes [src] into the ground!</span>", "<span class='warning'>You suplex [src] into the ground!</span>")
|
||||
new /obj/structure/festivus/anchored(drop_location())
|
||||
new /obj/effect/anomaly/flux(drop_location())
|
||||
qdel(src)
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
var/datum/effect_system/smoke_spread/smoke = new
|
||||
smoke.set_up(1, spawn_location)
|
||||
smoke.start()
|
||||
trader.visible_message("<b>[src]</b> suddenly appears in a puff of smoke!")
|
||||
trader.visible_message("<b>[trader]</b> suddenly appears in a puff of smoke!")
|
||||
|
||||
/datum/round_event/travelling_trader/announce(fake)
|
||||
priority_announce("A mysterious figure has been detected on sensors at [get_area(spawn_location)]", "Mysterious Figure")
|
||||
|
||||
/datum/round_event/travelling_trader/end()
|
||||
if(trader)
|
||||
trader.visible_message("The <b>[src]</b> has given up on waiting!")
|
||||
if(trader) // the /datum/round_event/travelling_trader has given up on waiting!
|
||||
trader.visible_message("The <b>[trader]</b> has given up on waiting!")
|
||||
qdel(trader)
|
||||
|
||||
//the actual trader mob
|
||||
@@ -188,18 +188,18 @@
|
||||
/mob/living/simple_animal/hostile/netherworld/blankbody = 1,
|
||||
/mob/living/simple_animal/hostile/retaliate/goose = 1)
|
||||
|
||||
mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
. = ..()
|
||||
acceptance_speech = pick(list("This lifeform shall make for a great stew, thank you.", "This lifeform shall be of a true use to our cause, thank you.", "The lifeform is adequate. Goodbye.", "This lifeform shall make a great addition to my collection."))
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/check_item(var/obj/item/supplied_item) //item is likely to be in contents of whats supplied
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/check_item(obj/item/supplied_item) //item is likely to be in contents of whats supplied
|
||||
for(var/atom/something in supplied_item.contents)
|
||||
if(istype(something, requested_item))
|
||||
qdel(something) //typically things holding mobs release the mob when the container is deleted, so delete the mob first here
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/give_reward(var/mob/giver) //the reward is actually given in a jar, because releasing it onto the station might be a bad idea
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/give_reward(mob/giver) //the reward is actually given in a jar, because releasing it onto the station might be a bad idea
|
||||
var/obj/item/pet_carrier/bluespace/jar = new(get_turf(src))
|
||||
var/chosen_animal = pickweight(possible_rewards)
|
||||
var/mob/living/new_animal = new chosen_animal(jar)
|
||||
@@ -223,6 +223,7 @@ mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/obj/structure/reagent_dispensers/keg/quintuple_sec = 3)
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/bartender/Initialize() //pick a subtype of ethanol that isn't found in the default set of the booze dispensers reagents
|
||||
. = ..() // RETURN A HINT.
|
||||
requested_item = pick(subtypesof(/datum/reagent/consumable/ethanol) - list(/datum/reagent/consumable/ethanol/beer,
|
||||
/datum/reagent/consumable/ethanol/kahlua,
|
||||
/datum/reagent/consumable/ethanol/whiskey,
|
||||
@@ -242,7 +243,6 @@ mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/datum/reagent/consumable/ethanol/triple_sec,
|
||||
/datum/reagent/consumable/ethanol/sake,
|
||||
/datum/reagent/consumable/ethanol/applejack))
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/bartender/check_item(var/obj/item/supplied_item) //you need to check its reagents
|
||||
if(istype(supplied_item, /obj/item/reagent_containers))
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1)
|
||||
foodtype = GRAIN | DAIRY | SUGAR
|
||||
|
||||
obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
name = "pound cake"
|
||||
desc = "A condensed cake made for filling people up quickly."
|
||||
icon_state = "pound_cake"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/chaos
|
||||
|
||||
datum/crafting_recipe/food/donut/meat
|
||||
/datum/crafting_recipe/food/donut/meat
|
||||
time = 15
|
||||
name = "Meat donut"
|
||||
reqs = list(
|
||||
|
||||
@@ -34,16 +34,14 @@
|
||||
|
||||
/obj/item/grown/cotton/attack_self(mob/user)
|
||||
user.show_message("<span class='notice'>You pull some [cotton_name] out of the [name]!</span>", MSG_VISUAL)
|
||||
var/seed_modifier = 0
|
||||
if(seed)
|
||||
seed_modifier = round(seed.potency / 25)
|
||||
var/obj/item/stack/cotton = new cotton_type(user.loc, 1 + seed_modifier)
|
||||
var/old_cotton_amount = cotton.amount
|
||||
for(var/obj/item/stack/ST in user.loc)
|
||||
if(ST != cotton && istype(ST, cotton_type) && ST.amount < ST.max_amount)
|
||||
ST.attackby(cotton, user)
|
||||
if(cotton.amount > old_cotton_amount)
|
||||
to_chat(user, "<span class='notice'>You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].</span>")
|
||||
var/cottonAmt = 1 + round(seed.potency / 25) // cotton inhand we're holding
|
||||
for(var/obj/item/grown/cotton/ctn in user.loc) // cotton on the floor
|
||||
if(ctn.type != type)
|
||||
continue
|
||||
cottonAmt += 1 + round(ctn.seed.potency / 25)
|
||||
qdel(ctn)
|
||||
new cotton_type(user.drop_location(), cottonAmt)
|
||||
// above code stolen from grass
|
||||
qdel(src)
|
||||
|
||||
//reinforced mutated variant
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/yield = 3 // Amount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.
|
||||
var/potency = 10 // The 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.
|
||||
var/growthstages = 6 // Amount of growth sprites the plant has.
|
||||
var/instability = 5 //Chance that a plant will mutate in each stage of it's life.
|
||||
var/instability = 5 //Chance that a plant will mutate in each stage of it's life.
|
||||
var/rarity = 0 // How rare the plant is. Used for giving points to cargo when shipping off to CentCom.
|
||||
var/list/mutatelist = list() // The type of plants that this plant can mutate into.
|
||||
var/list/genes = list() // Plant genes are stored here, see plant_genes.dm for more info.
|
||||
@@ -105,7 +105,7 @@
|
||||
S.reagents_add = reagents_add.Copy() // Faster than grabbing the list from genes.
|
||||
return S
|
||||
|
||||
obj/item/seeds/proc/is_gene_forbidden(typepath)
|
||||
/obj/item/seeds/proc/is_gene_forbidden(typepath)
|
||||
return (typepath in forbiddengenes)
|
||||
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
activate_pin(2)
|
||||
|
||||
// Required for making the connector port script work
|
||||
obj/item/integrated_circuit/atmospherics/connector/portableConnectorReturnAir()
|
||||
/obj/item/integrated_circuit/atmospherics/connector/portableConnectorReturnAir()
|
||||
return air_contents
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
datum/sprite_accessory/caps
|
||||
/datum/sprite_accessory/caps
|
||||
icon = 'icons/mob/mutant_bodyparts.dmi'
|
||||
color_src = HAIR
|
||||
relevant_layers = list(BODY_ADJ_LAYER)
|
||||
|
||||
@@ -11,6 +11,11 @@
|
||||
|
||||
// please make sure they're sorted alphabetically and categorized
|
||||
|
||||
/datum/sprite_accessory/underwear/socks/garter
|
||||
name = "Garter"
|
||||
icon_state = "garter"
|
||||
has_color = TRUE
|
||||
|
||||
/datum/sprite_accessory/underwear/socks/socks_knee
|
||||
name = "Knee-high"
|
||||
icon_state = "socks_knee"
|
||||
|
||||
@@ -757,7 +757,7 @@
|
||||
icon_state = "husky"
|
||||
matrixed_sections = MATRIX_RED_GREEN
|
||||
|
||||
datum/sprite_accessory/tails/mam_tails/insect
|
||||
/datum/sprite_accessory/tails/mam_tails/insect
|
||||
name = "Insect"
|
||||
icon_state = "insect"
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
@@ -923,7 +923,8 @@
|
||||
/obj/item/cyborg_clamp,
|
||||
/obj/item/stack/marker_beacon,
|
||||
/obj/item/destTagger,
|
||||
/obj/item/stack/packageWrap)
|
||||
/obj/item/stack/packageWrap,
|
||||
/obj/item/card/id/miningborg)
|
||||
emag_modules = list(/obj/item/borg/stun)
|
||||
ratvar_modules = list(
|
||||
/obj/item/clockwork/slab/cyborg/miner,
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
to_chat(user, "<span class='info'>You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.</span>")
|
||||
qdel(src)
|
||||
|
||||
mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it.
|
||||
/mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it.
|
||||
name = "Terrygold"
|
||||
icon_state = "butterbear"
|
||||
icon_living = "butterbear"
|
||||
@@ -155,7 +155,7 @@ mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Seve
|
||||
to_chat(src, "<span class='notice'>Your name is now <b>\"new_name\"</b>!</span>")
|
||||
name = new_name
|
||||
|
||||
mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path.
|
||||
/mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path.
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
if((L.mobility_flags & MOBILITY_STAND))
|
||||
|
||||
@@ -389,7 +389,6 @@
|
||||
name = "Wrap"
|
||||
panel = "Spider"
|
||||
active = FALSE
|
||||
datum/action/spell_action/action = null
|
||||
desc = "Wrap something or someone in a cocoon. If it's a living being, you'll also consume them, allowing you to lay eggs."
|
||||
ranged_mousepointer = 'icons/effects/wrap_target.dmi'
|
||||
action_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
|
||||
@@ -511,7 +511,7 @@
|
||||
DestroyObjectsInDirection(direction)
|
||||
|
||||
|
||||
mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them
|
||||
/mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them
|
||||
if(environment_smash)
|
||||
EscapeConfinement()
|
||||
for(var/dir in GLOB.cardinals)
|
||||
|
||||
@@ -190,5 +190,5 @@
|
||||
* Arguments:
|
||||
* * datum/beam/vine - The vine to be removed from the list.
|
||||
*/
|
||||
mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force)
|
||||
/mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force)
|
||||
vines -= vine
|
||||
|
||||
@@ -83,6 +83,8 @@
|
||||
|
||||
//Headset for Poly to yell at engineers :)
|
||||
var/obj/item/radio/headset/ears = null
|
||||
/// spawns with headset
|
||||
var/spawns_with_headset = FALSE
|
||||
|
||||
//The thing the parrot is currently interested in. This gets used for items the parrot wants to pick up, mobs it wants to steal from,
|
||||
//mobs it wants to attack or mobs that have attacked it
|
||||
@@ -105,13 +107,14 @@
|
||||
|
||||
/mob/living/simple_animal/parrot/Initialize()
|
||||
. = ..()
|
||||
if(!ears)
|
||||
var/headset = pick(/obj/item/radio/headset/headset_sec, \
|
||||
/obj/item/radio/headset/headset_eng, \
|
||||
/obj/item/radio/headset/headset_med, \
|
||||
/obj/item/radio/headset/headset_sci, \
|
||||
/obj/item/radio/headset/headset_cargo)
|
||||
ears = new headset(src)
|
||||
if(spawns_with_headset)
|
||||
if(!ears)
|
||||
var/headset = pick(/obj/item/radio/headset/headset_sec, \
|
||||
/obj/item/radio/headset/headset_eng, \
|
||||
/obj/item/radio/headset/headset_med, \
|
||||
/obj/item/radio/headset/headset_sci, \
|
||||
/obj/item/radio/headset/headset_cargo)
|
||||
ears = new headset(src)
|
||||
|
||||
parrot_sleep_dur = parrot_sleep_max //In case someone decides to change the max without changing the duration var
|
||||
|
||||
@@ -881,6 +884,7 @@
|
||||
speak = list("Poly wanna cracker!", ":e Check the crystal, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS ABOUT TO DELAMINATE CALL THE SHUTTLE")
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
speak_chance = 3
|
||||
spawns_with_headset = TRUE
|
||||
var/memory_saved = FALSE
|
||||
var/rounds_survived = 0
|
||||
var/longest_survival = 0
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
/mob/proc/get_top_level_mob()
|
||||
if(istype(src.loc,/mob)&&src.loc!=src)
|
||||
var/mob/M=src.loc
|
||||
if(ismob(src.loc) && src.loc != src)
|
||||
var/mob/M = src.loc
|
||||
return M.get_top_level_mob()
|
||||
return src
|
||||
|
||||
proc/get_top_level_mob(var/mob/S)
|
||||
if(istype(S.loc,/mob)&&S.loc!=S)
|
||||
var/mob/M=S.loc
|
||||
/proc/get_top_level_mob(mob/S)
|
||||
if(ismob(S.loc) && S.loc != S)
|
||||
var/mob/M = S.loc
|
||||
return M.get_top_level_mob()
|
||||
return S
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_slug
|
||||
custom_materials = list(/datum/material/iron=4000)
|
||||
|
||||
obj/item/ammo_casing/shotgun/executioner
|
||||
/obj/item/ammo_casing/shotgun/executioner
|
||||
name = "executioner slug"
|
||||
desc = "A 12 gauge lead slug purpose built to annihilate flesh on impact."
|
||||
icon_state = "stunshell"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
obj/item/projectile/energy/plasmabolt
|
||||
/obj/item/projectile/energy/plasmabolt
|
||||
name = "plasma bolt"
|
||||
icon_state = "plasma"
|
||||
flag = "energy"
|
||||
|
||||
@@ -2288,6 +2288,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
//Race-Base-Drinks//
|
||||
////////////////////
|
||||
/datum/reagent/consumable/ethanol/species_drink
|
||||
name = "Species Drink"
|
||||
var/species_required
|
||||
var/disgust = 26
|
||||
boozepwr = 50
|
||||
|
||||
@@ -272,10 +272,10 @@
|
||||
overdose_threshold = 50
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/reaction_obj(obj/O, reac_volume)
|
||||
if(istype(O, /obj/item/stack/medical/gauze))
|
||||
if(istype(O, /obj/item/stack/medical/gauze/adv))
|
||||
var/obj/item/stack/medical/gauze/G = O
|
||||
reac_volume = min((reac_volume / 10), G.amount)
|
||||
new/obj/item/stack/medical/mesh(get_turf(G), reac_volume)
|
||||
reac_volume = min((reac_volume / 5), G.amount)
|
||||
new /obj/item/stack/medical/mesh/five(get_turf(G), reac_volume)
|
||||
G.use(reac_volume)
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
|
||||
@@ -358,10 +358,10 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/reaction_obj(obj/O, reac_volume)
|
||||
if(istype(O, /obj/item/stack/medical/gauze))
|
||||
if(istype(O, /obj/item/stack/medical/gauze/adv))
|
||||
var/obj/item/stack/medical/gauze/G = O
|
||||
reac_volume = min((reac_volume / 10), G.amount)
|
||||
new/obj/item/stack/medical/suture(get_turf(G), reac_volume)
|
||||
reac_volume = min((reac_volume / 5), G.amount)
|
||||
new /obj/item/stack/medical/suture/five(get_turf(G), reac_volume)
|
||||
G.use(reac_volume)
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/carbon/M)
|
||||
|
||||
@@ -2528,7 +2528,7 @@
|
||||
M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen
|
||||
..()
|
||||
|
||||
datum/reagent/eldritch
|
||||
/datum/reagent/eldritch
|
||||
name = "Eldritch Essence"
|
||||
description = "Strange liquid that defies the laws of physics"
|
||||
taste_description = "Ag'hsj'saje'sh"
|
||||
|
||||
@@ -104,31 +104,44 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/blood/attack(mob/living/carbon/C, mob/user, def_zone)
|
||||
if(user.a_intent == INTENT_HELP && reagents.total_volume > 0 && iscarbon(C) && user.a_intent == INTENT_HELP)
|
||||
if(C.is_mouth_covered())
|
||||
to_chat(user, "<span class='notice'>You cant drink from the [src] while your mouth is covered.</span>")
|
||||
return
|
||||
if(user != C)
|
||||
user.visible_message("<span class='danger'>[user] forces [C] to drink from the [src].</span>", \
|
||||
"<span class='notice'>You force [C] to drink from the [src]</span>")
|
||||
if(!do_mob(user, C, 50))
|
||||
return
|
||||
else
|
||||
if(!do_mob(user, C, 10))
|
||||
return
|
||||
if(!iscarbon(C) || user.a_intent != INTENT_HELP || reagents.total_volume <= 0)
|
||||
..()
|
||||
|
||||
to_chat(user, "<span class='notice'>You take a sip from the [src].</span>")
|
||||
user.visible_message("<span class='notice'>[user] puts the [src] up to their mouth.</span>")
|
||||
if(reagents.total_volume <= 0) // Safety: In case you spam clicked the blood bag on yourself, and it is now empty (below will divide by zero)
|
||||
if(C.is_mouth_covered())
|
||||
if(user != C)
|
||||
to_chat(user, "<span class='notice'>You can't force [C] to drink from [src] while their mouth is covered.</span>")
|
||||
return
|
||||
var/gulp_size = 3
|
||||
var/fraction = min(gulp_size / reagents.total_volume, 1)
|
||||
reagents.reaction(C, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
|
||||
reagents.trans_to(C, gulp_size)
|
||||
reagents.remove_reagent(src, 2) //Inneficency, so hey, IVs are usefull.
|
||||
playsound(C.loc,'sound/items/drink.ogg', rand(10, 50), TRUE)
|
||||
to_chat(user, "<span class='notice'>You can't drink from [src] while your mouth is covered.</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
if(!user.CheckActionCooldown())
|
||||
return
|
||||
if(user != C)
|
||||
user.visible_message("<span class='danger'>[user] forces [C] to drink from [src].</span>", \
|
||||
"<span class='notice'>You force [C] to drink from [src]</span>")
|
||||
user.DelayNextAction(50)
|
||||
if(do_mob(user, C, 50))
|
||||
do_drink(C, user)
|
||||
|
||||
else
|
||||
user.DelayNextAction(10)
|
||||
if(do_mob(user, C, 10))
|
||||
user.visible_message("<span class='notice'>[user] puts [src] up to their mouth.</span>", \
|
||||
"<span class='notice'>You take a sip from [src].</span>")
|
||||
do_drink(C, user)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/blood/proc/do_drink(mob/living/carbon/C, mob/user)
|
||||
if(reagents.total_volume <= 0) // Safety: In case you spam clicked the blood bag on yourself, and it is now empty (below will divide by zero)
|
||||
to_chat(user, "<span class='notice'>...and notice [src] is empty.</span>")
|
||||
return
|
||||
var/gulp_size = 3
|
||||
var/fraction = min(gulp_size / reagents.total_volume, 1)
|
||||
reagents.reaction(C, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
|
||||
reagents.remove_any(5) //Inneficency, so hey, IVs are usefull.
|
||||
reagents.trans_to(C, gulp_size)
|
||||
playsound(C.loc,'sound/items/drink.ogg', rand(10, 50), TRUE)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/blood/bluespace
|
||||
name = "bluespace blood pack"
|
||||
|
||||
@@ -44,8 +44,7 @@
|
||||
else
|
||||
. += "<span class='notice'>Alt-click to seal it.</span>"
|
||||
|
||||
|
||||
obj/item/reagent_containers/chem_pack/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/chem_pack/attack_self(mob/user)
|
||||
if(sealed)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
duration = -1
|
||||
alert_type = null
|
||||
|
||||
datum/status_effect/rebreathing/tick()
|
||||
/datum/status_effect/rebreathing/tick()
|
||||
owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing.
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
@@ -524,7 +524,7 @@ datum/status_effect/rebreathing/tick()
|
||||
ADD_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus")
|
||||
return ..()
|
||||
|
||||
datum/status_effect/stabilized/blue/on_remove()
|
||||
/datum/status_effect/stabilized/blue/on_remove()
|
||||
REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus")
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -5,6 +5,24 @@
|
||||
name = "alien drone"
|
||||
mob_name = "alien drone"
|
||||
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/hunter
|
||||
mob_type = /mob/living/carbon/alien/humanoid/hunter
|
||||
death = TRUE
|
||||
name = "alien hunter"
|
||||
mob_name = "alien hunter"
|
||||
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/sentinel
|
||||
mob_type = /mob/living/carbon/alien/humanoid/sentinel
|
||||
death = TRUE
|
||||
name = "alien sentinel"
|
||||
mob_name = "alien sentinel"
|
||||
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/praetorian
|
||||
mob_type = /mob/living/carbon/alien/humanoid/royal/praetorian
|
||||
death = TRUE
|
||||
name = "alien praetorian"
|
||||
mob_name = "alien praetorian"
|
||||
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/queen
|
||||
mob_type = /mob/living/carbon/alien/humanoid/royal/queen
|
||||
death = TRUE
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
. = ..()
|
||||
SSshuttle.beacons |= src
|
||||
|
||||
obj/machinery/spaceship_navigation_beacon/emp_act()
|
||||
/obj/machinery/spaceship_navigation_beacon/emp_act()
|
||||
locked = TRUE
|
||||
|
||||
/obj/machinery/spaceship_navigation_beacon/Destroy()
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
|
||||
/obj/item/melee/smith/twohand/katana
|
||||
name = "katana"
|
||||
icon_state = "katana"
|
||||
icon_state = "katana-s"
|
||||
overlay_state = "katanahilt"
|
||||
force = 7
|
||||
wielded_mult = 2
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
owner.set_heartattack(TRUE)
|
||||
failed = TRUE
|
||||
|
||||
obj/item/organ/heart/slime
|
||||
/obj/item/organ/heart/slime
|
||||
name = "slime heart"
|
||||
desc = "It seems we've gotten to the slimy core of the matter."
|
||||
icon_state = "heart-s-on"
|
||||
@@ -221,7 +221,7 @@ obj/item/organ/heart/slime
|
||||
var/rid = /datum/reagent/medicine/epinephrine
|
||||
var/ramount = 10
|
||||
|
||||
obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
/obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
cost = 4
|
||||
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
|
||||
|
||||
datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
/datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
name = "Tae-clown-do Shoes"
|
||||
desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn."
|
||||
cost = 12
|
||||
|
||||
@@ -120,7 +120,14 @@
|
||||
/obj/item/clothing/ears/headphones = 2,
|
||||
/obj/item/clothing/head/wig/random = 3,
|
||||
/obj/item/clothing/suit/ran = 2,
|
||||
/obj/item/clothing/head/ran = 2)
|
||||
/obj/item/clothing/head/ran = 2,
|
||||
/obj/item/clothing/mask/gas/timidcostume = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/timidcostume = 3,
|
||||
/obj/item/clothing/shoes/timidcostume = 3,
|
||||
/obj/item/clothing/mask/gas/timidcostume/man = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/timidcostume/man = 3,
|
||||
/obj/item/clothing/shoes/timidcostume/man = 3,
|
||||
)
|
||||
contraband = list(/obj/item/clothing/suit/judgerobe = 1,
|
||||
/obj/item/clothing/head/powdered_wig = 1,
|
||||
/obj/item/gun/magic/wand = 2,
|
||||
|
||||
1447
html/changelog.html
1447
html/changelog.html
File diff suppressed because it is too large
Load Diff
@@ -27524,3 +27524,730 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- bugfix: limb id entry in mutant bodyparts now supports switching to/from species
|
||||
with gendered body parts
|
||||
- tweak: the minimum brightness of mutant parts is now a define
|
||||
2021-01-21:
|
||||
Acer202:
|
||||
- bugfix: Main mining shuttle should no longer look at the public mining shuttle
|
||||
and attempt to dock ontop of it. Monastery shuttle should now function again.
|
||||
Acer202, with minor help from The0bserver:
|
||||
- rscadd: After internal deliberation, CentCom has decided to run a limited reinstatement
|
||||
of public mining shuttles for use in more tried and true station classes. CentCom
|
||||
would like to remind you that this privilege is easily revoked, and that abuse
|
||||
may result in immediate detonation.
|
||||
- rscadd: Restores the mining shuttle on Pubby, Box, Delta, Meta, and Lambda Station.
|
||||
ArcaneMusic, The0bserver-sys:
|
||||
- rscadd: 'New from Hydrowear LLC: The Botanical Belt! This handy yellow belt lets
|
||||
you hold most of your botany gear, and a few beakers for reduced bag and floor
|
||||
clutter!'
|
||||
- tweak: Gives Hydrotrays plumbing pipes automatically, allowing you to make a self
|
||||
sustaining tray via plumbing.
|
||||
- tweak: Gives Service access to Bluespace Beakers, at last, gives Cargo, Science,
|
||||
and Medical the ability to construct reinforced plungers for use on lavaland.
|
||||
ArchieBeepBoop:
|
||||
- rscadd: Upgraded Advanced RTG Machine Preset
|
||||
- bugfix: Outlet Injector Mapping Asset Layer Fix
|
||||
- bugfix: Jacqueen and the Christmas tree should no longer spawn abstract things
|
||||
that can cause shittons of runtimes.
|
||||
Arturlang:
|
||||
- bugfix: You can't tackle in nograv anymore
|
||||
- tweak: You cannot spam drink from blood bags anymore
|
||||
- bugfix: Blood bag drinking inefficiency is now the right way, so you loose some
|
||||
of the blood drinking it straight
|
||||
- bugfix: Handles more edge cases with construct soul returning
|
||||
- tweak: Being sacrificed by the cult no longer removes all hope of rescue.
|
||||
- bugfix: Makes construct mind returning more robust
|
||||
- tweak: Prayers to admins now do a wee ding sound for all prayers, instead of just
|
||||
chaplains
|
||||
- bugfix: Fixes the mint machine's UI
|
||||
- bugfix: Hopefully fixes whitescreen issues for TGUI UI's by giving assets more
|
||||
time to get to the client
|
||||
- bugfix: Fixes hijack implant APC UI, again
|
||||
- code_imp: Comments out spaceman dmm do not sleeps for mob/proc/CommonClickOn,
|
||||
atom/proc/attack_hand, datum/proc/keyLoop and mob/living/proc/Life
|
||||
- bugfix: Bloodsuckers tresspass ability can no longer work while they are not awake.
|
||||
- tweak: The cursed heart now only takes away half as much blood every loop, and
|
||||
can be used as long as you are alive, instead if only you are awake/able to
|
||||
use your hands
|
||||
Bhijn:
|
||||
- tweak: Changeling loudness is now determined as an average of all their abilities,
|
||||
rather than the sum
|
||||
- tweak: To compensate for this, blood tests now require a loudness value of 1 or
|
||||
higher to detect ling blood. Additionally, blood test explosions are now triggered
|
||||
only when the loudness value is higher than 2.
|
||||
BlackMajor:
|
||||
- tweak: Cyborg hypospray no longer injects if it means OD'ing while on help intent.
|
||||
BlueWildrose:
|
||||
- tweak: Nyctophobia quirk now has some light lag compensation.
|
||||
- bugfix: Fixes cloning computer UI not updating when pressing certain buttons -
|
||||
also adds extra check for names to update a message
|
||||
- rscdel: Removes oversized genitalia analysis from medical scanners, since huge
|
||||
dick and titty are no longer a problem anymore thanks to advancements in that
|
||||
kind of technology when it comes to chemical fun times growth.
|
||||
- bugfix: Fixed species-specific drinks not giving a mood boost if you are that
|
||||
species.
|
||||
- tweak: You will now only unbuckle fireman-carried/piggybacked people on disarm
|
||||
or harm intent.
|
||||
- balance: The traitor AI can no longer activate the doomsday device while carded.
|
||||
- bugfix: Fixes noodle size appearance for 12+ inch members.
|
||||
- bugfix: Fixed the subtle hotkey being weird with its input prompts.
|
||||
- rscadd: Adds a subtler anti-ghost hotkey. Default key is 6.
|
||||
- tweak: No more straining when your cock or breasts are growing via incubus draft
|
||||
or succubus milk.
|
||||
- rscadd: PubbyStation now has two Christmas Tree spawners.
|
||||
- tweak: You can now have a max-roundstart-dicksize-config inch long johnson before
|
||||
you start suffering blood loss and slowdowns instead of a 20 inch one.
|
||||
- rscadd: Color Mates have been added to all stations (except Snaxi). Enjoy coloring
|
||||
your attire without having to bug science!
|
||||
- bugfix: Polychromic hoodies that were obtained from the loadout have functional
|
||||
colorable hoods now.
|
||||
- rscadd: Adds in timid woman/man costumes. Available at your autodrobe! Also adds
|
||||
in garters as some new socks.
|
||||
- spellcheck: Corrected the capitalization in gasmask concealment examine text
|
||||
Chiirno:
|
||||
- rscadd: Added the paramedics EVA suit as a purchase from the cargo console.
|
||||
- rscadd: Paramedics office and Surgery Storage Room
|
||||
- tweak: Remodeled the surgery room, as well as shrunk Morgue and Starboard Emergency
|
||||
Storage. Fiddled with some areas for better map edit clarity and fixed one runtime
|
||||
in Vacant Office A.
|
||||
- imageadd: Added the paramedic closet sprite, a paramedic colored medical3 closet.
|
||||
- code_imp: Added a paramedic closet, which is the standard medical3 closet with
|
||||
their suit, a pinpointer, and a crew monitor added.
|
||||
- tweak: Nightmare now deals additional damage to most light sources.
|
||||
- bugfix: Nightmare now one-shots miners beacons and glowshrooms
|
||||
- bugfix: Portable Chem Mixer now researchable from biotech node.
|
||||
- tweak: Chem masters can now dispense 20 instances of its outputs instead of 10.
|
||||
Delams-The-SM:
|
||||
- rscadd: Added 3 new emotes *hiss *purr *meow
|
||||
- soundadd: ported sounds from Citadel RP for *purr and *meow
|
||||
- bugfix: fixed randomization of colors for things like mulligan and Stabilized
|
||||
green slime extract for matrixed body parts
|
||||
DeltaFire15:
|
||||
- balance: Biomechanical (hybrid) bodyparts now have access to wound-fixing surgeries.
|
||||
- tweak: A wound being fixed no longer just qdel()s surgeries connected to it.
|
||||
- tweak: Some robotic surgery steps are now a bit more clear.
|
||||
- bugfix: Organs no longer get fed to people after successfully being inserted into
|
||||
them.
|
||||
- tweak: Not completing the do_after of a surgery no longer causes you to attack
|
||||
the target with whatever you were holding.
|
||||
- rscadd: IPC cells & power cords are now printable after they are researched.
|
||||
- rscadd: A new surgery, allowing revival of synths without a defib at hand.
|
||||
- balance: 'Semi-permanent damage of Synth limbs caused by passing the damage threshold:
|
||||
10 <- 15.'
|
||||
- tweak: The embed removal surgery now has a version for Synths.
|
||||
- balance: EMPs no longer hardstun Synths.
|
||||
- bugfix: Portals no longer runtime because of incorrect args.
|
||||
- tweak: Abductors now can use experimental organ replacement surgery on robots
|
||||
/ synthetics.
|
||||
- bugfix: Fixes a minor incorrectness in ratvarian borg slabs (ratvar_act -> ui_act)
|
||||
- bugfix: Changelings no longer double-deathgasp when activating the regen stasis
|
||||
ability while not dead.
|
||||
- bugfix: People installing KA modkits in miner borgs is no longer broken.
|
||||
- bugfix: Fixes the tail entwine messages displaying incorrectly.
|
||||
- bugfix: Antagging / Deantagging Heretics now properly sets their special role.
|
||||
- bugfix: The borg VTEC ability now actually gets removed when the upgrade is removed.
|
||||
- bugfix: Supplypods shouldn't cause runtimes anymore, and shrapnel (pelletclouds)
|
||||
should work for them.
|
||||
- rscadd: Robots (anyone with the robotic_organism trait) have toxins damage replaced
|
||||
with system corruption. See the PR for details.
|
||||
- code_imp: Clockwork rites now support hiding specific rites from neutered servants.
|
||||
- tweak: AIs now only have to kill people once instead of permanently.
|
||||
- bugfix: Scripture no longer sometimes eats part of its invocation.
|
||||
- balance: APCs and silicons are now more susceptible to powerdrains (by the power_drain()
|
||||
proc, which is rare)
|
||||
- balance: Void Volt has been modified from a chant to a singular pulse.
|
||||
- balance: Robotpeople are now fully immune to the effects of alcohol (drunkness
|
||||
etc.)
|
||||
- tweak: Renames the alcohol intolerance trait in the code to make what it does
|
||||
more clear.
|
||||
- bugfix: Self-fueling weldingtools recharge fuel properly again.
|
||||
- bugfix: Brass welders now actually recharge faster than experimental ones.
|
||||
- bugfix: Repeatable surgery steps can no longer cause an infinite loop if not completing
|
||||
the do_after
|
||||
- bugfix: The Revenant self-revive ability is no longer broken.
|
||||
- bugfix: Loot items mobs drop are no longer always failing to initialize.
|
||||
- tweak: Instant summons can no longer do wacky stuff with disposals (and nukes).
|
||||
- bugfix: Objectives are no longer very broken.
|
||||
- bugfix: Bloodcult stunhands now work against clockies like they were supposed
|
||||
to instead of hardstunning.
|
||||
- balance: zeolites are now actual fermichems instead of being incredibly easy to
|
||||
make.
|
||||
- bugfix: Using syringes / droppers on chem heaters with beakers in them works again.
|
||||
- bugfix: Some edge cases causing issues with system corruption shouldn't be able
|
||||
to occur anymore.
|
||||
- bugfix: Cyborg B.o.r.i.s. installation now checks for if the chest has a cell,
|
||||
just like how it does with MMIs.
|
||||
- bugfix: The 'Your body is in a cloner' notification works again
|
||||
- bugfix: Hijack implants should work properly again (or, at least better)
|
||||
- bugfix: Liches are now good skeletons again instead of weak ones
|
||||
- bugfix: The piratepad control cannot be destroyed again.
|
||||
- bugfix: Pirates have received new supplies of jetpacks instead of useless oxygen
|
||||
tanks
|
||||
- bugfix: Ratvarian AIs are once again able to show their linked borgs Ratvar's
|
||||
light
|
||||
- bugfix: Hijackers are once again unable to detonate borgs without being adjacent
|
||||
to the console
|
||||
- bugfix: Automated annoucement systems and gulag ore consoles no longer waste emag
|
||||
charges
|
||||
- bugfix: Automated announcement systems once again can be remote controlled by
|
||||
non-AIs with silicon access
|
||||
- bugfix: APCs being hijacked multiple times at once is no longer possible, preventing
|
||||
some issues
|
||||
- bugfix: Recharging APCs no longer use 0.2% of the power they should be using.
|
||||
- bugfix: APCs no longer always use as much power as they can for their cell, even
|
||||
if it is full.
|
||||
- bugfix: Vampire shapeshifting should now behave as intended
|
||||
- balance: Some synth damage stuff has been a bit rebalanced, see the PR for details.
|
||||
- rscadd: Nanogel, available at medical and robotics, which fixes internal damage
|
||||
in sufficiently repaired robotic limbs.
|
||||
- balance: Robotic Limbs now each have their own damage threshhold values
|
||||
- balance: Robotic Limb damage threshholds are now seperated into threshhold itself
|
||||
and mindamage when passed balance; Hybrid limbs can now be injected with hypos,
|
||||
but not sprayed (Still not healed by chems)
|
||||
- tweak: Brain surgery has been tweaked back to allowing robotic limbs, blacklisting
|
||||
IPC brains instead.
|
||||
- tweak: Robot brain surgery can now be used on organic heads, if there is a IPC
|
||||
brain in them somehow.
|
||||
- tweak: The robot limb heal surgery can now be used even if the target's torso
|
||||
is not robotic, as long as they have robotic limbs
|
||||
- refactor: BODYPART_ROBOTIC / BODYPART_ORGANIC checks replaced with helper-procs
|
||||
whereever possible.
|
||||
- code_imp: Added a BODYPART_HYBRID define for robotic bodyparts that behave organic
|
||||
in some regards.
|
||||
- bugfix: The transmission sigil power drain works now
|
||||
- bugfix: A certain lizard (totally not me) being stupid is no longer going to break
|
||||
regenerate_bodyparts
|
||||
- bugfix: Combat mode now will not stay permanently disabled due to status effects
|
||||
not working as intended.
|
||||
- bugfix: Attacking some certain objects no longer has no clickdelay.
|
||||
- bugfix: the blacksmithing skill now works properly
|
||||
- tweak: Anvils cannot be interacted with with hammers whilst they are already being
|
||||
used
|
||||
- tweak: If someone has no gloves when interacting with heated ingots, they no longer
|
||||
ignore their effects.
|
||||
- bugfix: A runtime caused by hallucinations is gone.
|
||||
- bugfix: Cargo packs marked as 'no private buying' now actually register as such.
|
||||
- balance: Fleshmend, Anatomic Panacea and bloodsucker healing now work for Synths
|
||||
/ IPCs.
|
||||
- tweak: Medibots now ignore people they cannot help due to their biology.
|
||||
- bugfix: get_damaged_bodyparts() is no longer broken.
|
||||
- bugfix: Your target cryoing will no longer give you a free greentext.
|
||||
- bugfix: Sleeper UI interactiveness now behaves correctly.
|
||||
Detective-Google:
|
||||
- rscadd: arcade carpet
|
||||
- rscadd: explosions now get broadcasted to deadchat.
|
||||
- rscadd: Lick radial
|
||||
- bugfix: Hilbert's jukebox works
|
||||
- bugfix: arcade carpets now actually work
|
||||
- tweak: the snow taxi is no longer the slow taxi
|
||||
ERP mains:
|
||||
- rscadd: Subtler Around Table is now a verb
|
||||
EdgeLordExe, MoonFalcon:
|
||||
- balance: Ported a bunch of heretic-related tweaks and changes from tg
|
||||
EmeraldSundisk:
|
||||
- rscadd: Adds a few new area designations primarily for CogStation, incorporates
|
||||
them into said map
|
||||
- tweak: Reorganizes some area designations for ease of use, along with renaming
|
||||
the central "Router" to "Routing Depot"
|
||||
- bugfix: Fixes an incorrectly designated area in CogStation
|
||||
- bugfix: Changes the area designations to be not varedited since the code didn't
|
||||
like that anymore
|
||||
- bugfix: The cargo bay conveyor belts not only work with the shuttle now but go
|
||||
in the right direction to boot
|
||||
- tweak: Slight visual adjustments to cargo in light of this
|
||||
- rscadd: The arcade's got RAD carpet now
|
||||
- bugfix: Fixes the conveyor belt issues in Delta Station's cargo wing
|
||||
- rscdel: Removes some of the dirt around the affected area (presumably they would
|
||||
have cleaned it up while working on it)
|
||||
- rscadd: Adds a floor light to fix the "dark spot" cargo had
|
||||
- rscadd: Adds a new "Computer Core" area designation for CogStation
|
||||
- bugfix: Fixes some missing area strings
|
||||
- tweak: Replaces some firelocks with directional ones as to ensure desks/counters
|
||||
can still be accessed
|
||||
- balance: The "Skelter ruin" now has stechkins as opposed to M1911s
|
||||
- tweak: Skelter's decorative bullet casings replaced to factor in the change in
|
||||
caliber
|
||||
- rscadd: Skelter now has a combat knife and fluff note
|
||||
Ghommie:
|
||||
- bugfix: You can access the mime / clown mask skins radial menu once again.
|
||||
- bugfix: Dice bags no longer act like cardboard boxes.
|
||||
- bugfix: Abductors should be no longer mute.
|
||||
- bugfix: Item action buttons should now properly show the item current overlays,
|
||||
most times.
|
||||
- bugfix: The blackbox should now go into your hand slot when pried out, rather
|
||||
than tumbling on the ground everytime.
|
||||
- tweak: The Quick Equip hotkey is now usable by all living mobs (so long they have
|
||||
hands and equipment slots)
|
||||
Ghommie, porting PRs by MMMiracles and pireamaineach, credits to BlueWildrose too.:
|
||||
- rscadd: You can now draw on plasmaman helmets with a crayon to turn their frown
|
||||
upside-down.
|
||||
- balance: Plasmaman helmets no longer hide your identity when worn by themselves.
|
||||
- balance: Plasmaman helmets now have welding visors, which can't stack with their
|
||||
torches in the helmet and are visible.
|
||||
Hatterhat:
|
||||
- rscadd: Energy sabre reskin for the energy sword - access via alt-click.
|
||||
- bugfix: Alt-click reskins are fixed.
|
||||
- tweak: Defibrillators and their many, many overlays were moved to another .dmi.
|
||||
- tweak: You can now change the color of an energy sword via multitool. Not deswords.
|
||||
Yet.
|
||||
- imageadd: The Syndicate appear to be issuing new revolver variants.
|
||||
- rscadd: Basic sticky technology is now a roundstart tech. Advanced sticky technology
|
||||
is BEPIS-locked, though. Theoretically.
|
||||
- tweak: Non-smithed katanas (including the temporal katana) can now fit in the
|
||||
twin sheath.
|
||||
- tweak: Cotton and durathread processing by hand now acts like grass. Stand on
|
||||
a pile of cotton (or durathread) and use a single bundle from it.
|
||||
- spellcheck: Utility uniforms now comply with the "nonproper equipment names" thing.
|
||||
- bugfix: The CapDrobe now allows the captain to get his own clothes for free. Probably.
|
||||
- tweak: All captains' clothes now offer 15 woundarmor, up from the 5. Because apparently
|
||||
only the suit and tie and its suitskirt subtype have this wound armor, which
|
||||
is dumb.
|
||||
- rscadd: The nature interaction shuttle with the monkeys now has tiny fans on the
|
||||
airlocks in, because that's apparently a feature that was missing.
|
||||
- rscadd: More bags have been added to department vendors.
|
||||
- balance: Every roundstart species (and also ash walkers) now has flesh and bone
|
||||
that can be wounded.
|
||||
- balance: Recipes for sutures, regen mesh, and sterilized gauze have been adjusted
|
||||
to be easier, mostly.
|
||||
- balance: Sterilized gauze is better at absorbing blood and being a splint.
|
||||
- bugfix: Energy sabres now have an off inhand.
|
||||
- balance: The bone gauntlets should be slightly less murderously punchy on the
|
||||
fast punches mode.
|
||||
- tweak: RPEDs now drop their lowest part tier first when quick-emptied (used inhand).
|
||||
- tweak: Improvised gauzes can now be crafted in stacks up to 10, like their maximum
|
||||
stacksize implies they should be capable of doing.
|
||||
- bugfix: Pouring sterilizine on gauze now takes the proper 5u per sterilized gauze
|
||||
instead of 10u.
|
||||
- bugfix: Cryogenics now screams on common again when your fuckbuddy heads out.
|
||||
- rscadd: Survival daggers! A slightly more expensive survival knife that comes
|
||||
with a brighter flashlight. On the blade.
|
||||
- tweak: Luxury pod capsules look different from normal capsules.
|
||||
- rscadd: The wastes of Lavaland and the icy caverns of Snow Taxi rumble in unison.
|
||||
- tweak: Exosuits sold on the Supply shuttle no longer leave wreckages.
|
||||
- rscdel: Apparently, shrink rays were buyable again, despite a PR having been made
|
||||
a while ago specifically for removing shrink rays. They're gone again.
|
||||
- rscadd: Changeling bone gauntlets! They punch the shit out of people really good.
|
||||
- tweak: Guerilla gloves and gorilla gloves inherit the strip modifiers of their
|
||||
predecessors, because apparently they had those.
|
||||
- balance: Pugilists now always hit the targeted limb and never miss.
|
||||
- rscadd: The dock-silver standard set by Box and Meta has been enforced across
|
||||
maps in rotation (Delta, Pubby, Lambda).
|
||||
- bugfix: The Box whiteship now has its missing tiny fan back.
|
||||
- bugfix: The survival dagger light on the sprite now actually turns on and off.
|
||||
- balance: The survival dagger in the glaive kit that can also be bought by itself
|
||||
is now better at butchering things.
|
||||
HeroWithYay:
|
||||
- bugfix: Changed description of Necrotizing Fasciitis symptom.
|
||||
- tweak: Wormhole Projector and Gravity Gun now require anomaly cores to function
|
||||
instead of firing pins.
|
||||
KeRSedChaplain:
|
||||
- imageadd: Resprited the brass claw
|
||||
LetterN:
|
||||
- rscadd: 2 more ways to get up from z1
|
||||
- tweak: tweaked the z2 garden to be less blank
|
||||
- bugfix: fixed telecomms pda log
|
||||
- rscadd: Coin & Holochip support for slot machine
|
||||
- admin: Stickybans are now saved in the DB too
|
||||
- soundadd: Immersive ™ audio reverbs. (also adds multiz audio)
|
||||
- code_imp: Semi-hardsync from TG
|
||||
- code_imp: Updates rust-g
|
||||
- code_imp: Uses git CI instead of travis/appveyor now
|
||||
- code_imp: Updates git and build tests.
|
||||
- bugfix: minimap text
|
||||
- code_imp: ports cinematic upgrades
|
||||
Linzolle:
|
||||
- bugfix: entertainment monitors no longer invisible
|
||||
- rscadd: entertainment monitors now light up and display text when motion is detected
|
||||
in thunderdome
|
||||
- bugfix: lizard snouts are no longer *slightly* lighter than they are supposed
|
||||
to be.
|
||||
MrJWhit:
|
||||
- rscadd: Expanded space hermit base
|
||||
- tweak: Replaced engineering fuel tank with a large fuel tank
|
||||
- tweak: Changed access to sec suit storage from armory access in every map to other
|
||||
security access
|
||||
- rscadd: Adds a space loop to every map in toxins
|
||||
- rscadd: ''
|
||||
- tweak: Added the ability for cargo to buy a large welding tank
|
||||
- imageadd: Tweaked large tank reagent sprites to /tg/'s
|
||||
- tweak: Gives metastation toxins storage a scrubber and a vent
|
||||
- tweak: Updates suit storage info on Tip Of the Round.
|
||||
- tweak: Increased christmas event from 22th to 27th to 10th to 27th
|
||||
- tweak: Removes an opposum from the wall
|
||||
- tweak: Donut boxes show what's inside of them now
|
||||
- tweak: Updated meat icons
|
||||
- admin: Canceling events gives more time to stop from 10 to 30
|
||||
- tweak: Fixes two chairs on one table
|
||||
- tweak: Removed the wires connecting the AI from the rest of the station on cogstation.
|
||||
- tweak: Fixes experimenter on cogstation.
|
||||
- tweak: Less pipes in the overall area in toxins on cogstation
|
||||
- tweak: Small fixes on security on boxstation
|
||||
- tweak: Updated jukebox sprite.
|
||||
- tweak: Fixes maint area in boxstation
|
||||
- tweak: Christmas starts on the 18th now
|
||||
- rscadd: Adds a goose bar sign
|
||||
- bugfix: Effects can no longer trigger landmines
|
||||
- rscdel: Removes the screen flashing on climax.
|
||||
- rscadd: Makes gas sensors fireproof.
|
||||
- tweak: A small bucket of random fixes,
|
||||
- tweak: Minor fixes to kilo
|
||||
- tweak: Porting garbage collection tweak from /tg/
|
||||
- tweak: Updates our dark gygax sprites to /tg/'s
|
||||
- tweak: Bugfix of a morph becoming an AI eye
|
||||
- tweak: Mining station oxygen locker on the cycling airlock starts out wrenched.
|
||||
- balance: Nerf combat knife damage
|
||||
- bugfix: Code improvement on ventcrawling
|
||||
NT Cleaning Crews On Break:
|
||||
- rscadd: Most kinds of dirt, grime, and debris are now persistent. Get to work,
|
||||
jannies.
|
||||
- rscadd: Dirt can now be removed by tile replacements. Other cleanable decals can't,
|
||||
though.
|
||||
Putnam3145:
|
||||
- tweak: Replaces majority judgement with usual judgement.
|
||||
- bugfix: Toilet loot spawners don't lag the server on server start with forced
|
||||
hard dels.
|
||||
- bugfix: vore prefs save now
|
||||
- tweak: gear harness no longer magically covers up the body mechanically despite
|
||||
covering up nothing visually
|
||||
- balance: Regen coma now puts into a coma even from crit or while unconscious.
|
||||
- bugfix: Regen coma now properly weakens while asleep.
|
||||
- bugfix: Multi-surgery unit test no longer fails at random.
|
||||
- refactor: Dwarf speech is no longer absolutely paranoid about word replacement.
|
||||
- balance: Spontaneous brain trauma now requires minimum 5 players
|
||||
- tweak: Grab bag works as advertised.
|
||||
- balance: Xeno threat in dynamic tripled.
|
||||
- code_imp: 'Vote system #defines are now strings'
|
||||
- rscadd: Stat panel UI for ranked choice votes
|
||||
- rscadd: A fallback for dynamic antag rolling that allows for it to just try between
|
||||
traitor, blood brothers, heretics, changeling, bloodsucker and devil until there
|
||||
are enough roundstart antags. This can also happen randomly anyway. Blood brothers
|
||||
and devil are disabled for now, but the code is there to enable them.
|
||||
- rscadd: A new storyteller, "Grab Bag", that forces the above round type.
|
||||
- bugfix: atmos subsystem no longer dies if there's too many gases
|
||||
- bugfix: Emotes can properly be filtered for in TGUI.
|
||||
- bugfix: Holofirelocks work now.
|
||||
- bugfix: adminhelping no longer removes entire admin tab
|
||||
- bugfix: end of round no longer removes entire admin tab
|
||||
- bugfix: Fixed a runtime in every healing nanite program.
|
||||
- bugfix: removed a unit test causing master to fail
|
||||
- tweak: Planetary atmos no longer does superconduction.
|
||||
- bugfix: Dynamic vote no longer shows the none-storyteller.
|
||||
- tweak: You can now exit polycircuit input
|
||||
- bugfix: Polycircuits now check for range
|
||||
- bugfix: gear harness alt-click is now sane
|
||||
- code_imp: rolldown() and toggle_jumpsuit_adjust() now no longer mix behavior-that-should-be-overridden
|
||||
and behavior-that-shouldn't-be-overridden in ways that make no sense.
|
||||
- tweak: Gear harness now covers nothing.
|
||||
- bugfix: Chemical stuff now displays fermichem stuff properly
|
||||
- balance: Rad collectors now get 1.25x as much energy from radiation
|
||||
- balance: Rad collectors now put out 1.25x as much stored energy per tick
|
||||
- balance: Above two rad collector changes give a total 56.25% power output increase
|
||||
- balance: Zeolites now only generate 1/5 the heat when reacting and don't require
|
||||
a catalyst.
|
||||
Ryll/Shaps:
|
||||
- admin: Fixed an issue with player logs becoming confused when someone triggers
|
||||
multiple events within one second (like being attacked by two people at the
|
||||
same time) that would cause holes in the logs
|
||||
SandPoot:
|
||||
- tweak: You can attack a pile of money on the floor with your id to put it all
|
||||
in quickly.
|
||||
- refactor: Changes the limb grower a lot.
|
||||
- bugfix: '"Limb" costs on limbgrower are actually displayed like it was meant to
|
||||
all along.'
|
||||
- code_imp: Swaps the gift static blacklist with a global list one.
|
||||
SiliconMain:
|
||||
- tweak: Engi department has gas masks in loadout
|
||||
- tweak: hololocks (which haven't worked for god knows how long) commented out until
|
||||
auxmos is merged
|
||||
Sonic121x:
|
||||
- rscadd: alarm ert hardsuit sprite for naga and canine
|
||||
- tweak: adjust the naga ert hardsuit to cover the hand
|
||||
- bugfix: cydonia hardsuit helmet
|
||||
- rscadd: digi sprite uniform
|
||||
- bugfix: digi leg suit
|
||||
SpaceManiac:
|
||||
- bugfix: Fixed the maphook
|
||||
Thalpy:
|
||||
- bugfix: fixes some bugs in jacqs code from edits to the codebase
|
||||
The Grinch:
|
||||
- rscdel: infinite presents from hilbert hotel
|
||||
TheObserver:
|
||||
- rscadd: Re-adds the rifle stock, and sets the improv shotgun to be as it was.
|
||||
- rscdel: The maintenance rifle has been shelved - for now. Watch this space.
|
||||
TheObserver-sys:
|
||||
- bugfix: Drake? Where's the dead fairygrass sprite?
|
||||
TheSpaghetti:
|
||||
- bugfix: no more tumor bread double punctuation
|
||||
Trilbyspaceclone:
|
||||
- tweak: Zeolites now use gold rather then uranium for catalyst
|
||||
- tweak: Zeolites are not as hard to make ph wise
|
||||
- tweak: Making Zeolites heats up the beaker less allowing for better control
|
||||
- tweak: ASP 9mm and M1911 can now have suppressers added
|
||||
- balance: Brass welders are 50% faster at refueling
|
||||
- code_imp: redoes self fueling welders in the code to be less speggie
|
||||
- rscadd: the corporate unifoms can now be gotton in the clothing mate vender
|
||||
TripleShades:
|
||||
- rscadd: 'Firelock to Surgery Bay drapes change: Swapped Nanomed and Fire Alarm
|
||||
button locations in both Surgery Bays change: Removes the double mirror in both
|
||||
Surgery Bays to be a singular mirror change: Moved an intercom to not be doorstuck
|
||||
below Paramedical Office remove: One Surgery Observation Fire Alarm button'
|
||||
- rscadd: 'New Paramedic Office next to Genetics where the old Genetics Reception
|
||||
used to be change: Surgery, Surgery Observation, and Recovery Hall layout revamped
|
||||
drastically change: Maints below Surgery lowered by one tile to recover lost
|
||||
tile space from Surgery expansion'
|
||||
Tupinambis:
|
||||
- rscadd: Arachnids (spider people) with limited night vision, flash vulnerability,
|
||||
and webbing.
|
||||
Vynzill:
|
||||
- rscadd: 'new gateway mission mapadd: jungleresort map'
|
||||
- bugfix: fixes high luminosity eyes
|
||||
Xantholne:
|
||||
- bugfix: Fixed new birds changing back to basic parrot when sitting
|
||||
- rscadd: New parrots from the RP server, can be found in Bird Crate in Cargo
|
||||
- rscadd: You can now tuck disky into bed
|
||||
- rscadd: You can now make beds by applying a bed sheet to them
|
||||
- rscadd: You can now tuck in pai cards into bed
|
||||
- rscadd: Added bed tucking element, can be added to any held object to allow tucking
|
||||
into beds
|
||||
- bugfix: Twin Sword Sheaths have an equipment icon and icon when worn now and make
|
||||
a sound when sheathed/unsheathed
|
||||
Yakumo Chen:
|
||||
- balance: Slime Jelly is no longer obtainable from slimepeople. Go ask Xenobio
|
||||
YakumoChen:
|
||||
- balance: "To lower production costs, Buzz Fuzz is now manufactured with Real\u2122\
|
||||
\uFE0F Synthetic honey."
|
||||
Zandario:
|
||||
- code_imp: Added some framework for future species expansions, including clothing
|
||||
refitting.
|
||||
- refactor: Made majority of the relevant Species IDs and Categories pre-defined,
|
||||
also for easier expansion and use.
|
||||
- bugfix: lum slime sprites work again
|
||||
- code_imp: Slapped the Species Defines where relevant
|
||||
corin9090:
|
||||
- tweak: The chaplain's prayer beads can now be worn on your belt slot
|
||||
kappa-sama:
|
||||
- bugfix: super saiyan
|
||||
- tweak: ishotgun crafting recipe no longer requires plasteel and is slightly more
|
||||
convenient
|
||||
- balance: ishotgun does 45 damage now instead of 40.5
|
||||
- rscadd: s
|
||||
- tweak: s
|
||||
- balance: s
|
||||
- bugfix: s
|
||||
- rscadd: A new spell for the wizard and his martial apprentices, the Inner Mantra
|
||||
technique. It makes you punch people really good and makes you durable, but
|
||||
drains your energy while it's active.
|
||||
- rscadd: A self-buffing spell for valiant bubblegum slayers that is ultimately
|
||||
useless on lavaland and probably overpowered for miner antagonists. Go figure.
|
||||
At least all it does is let you punch hard while draining your health every
|
||||
second.
|
||||
- balance: bubblegum now drops a book that makes you into an abusive father instead
|
||||
of a shotgun that plays like pre-nerf shotguns
|
||||
- soundadd: a powerup and powerdown sound effect
|
||||
- imageadd: two icons for two buff spells
|
||||
keronshb:
|
||||
- bugfix: Allows Energy Bola to be caught
|
||||
- balance: This also allows them to be dropped/picked up.
|
||||
- rscadd: Adds a reduced stamina buffer for SCarp users
|
||||
- rscadd: Gives SCarp users a better parry
|
||||
- rscadd: Adds the SCarp bundle which includes a bo staff
|
||||
- rscadd: Lets Carp costumes carry Bo Staffs
|
||||
- balance: reduces the stamina damage of scarp slightly
|
||||
- balance: reduced the blockchance of the bo staff
|
||||
- rscadd: Adds more room to northwest maint
|
||||
- rscadd: Adds a bridge between Atmos and the Turbine.
|
||||
- balance: Blob Resource Tower to 2 points per instead of 1 point per.
|
||||
- balance: Blob Factory Towers can be placed 5 tiles apart instead of 7.
|
||||
- bugfix: Fixes Blobbernaut Factories consuming Factories if no naut is chosen.
|
||||
- bugfix: Fixes Reflective Blobs
|
||||
- rscadd: Re-adds the Clown Car to the clown uplink
|
||||
- balance: 15 >16 TC cost
|
||||
- balance: bonks on external airlocks
|
||||
- bugfix: Fixes the parry data for scarp
|
||||
kittycat2002:
|
||||
- rscadd: set the name of /datum/reagent/consumable/ethanol/species_drink to Species
|
||||
Drink
|
||||
kiwedespars:
|
||||
- balance: balanced bone gauntlets.
|
||||
- rscadd: the robust dildo weapon now has sound.
|
||||
necromanceranne:
|
||||
- bugfix: Fixes various sprites for bokken, as well as being unable to craft certain
|
||||
parts and duplicate entries.
|
||||
- rscadd: 'Bokken now come in two lengths; full and wakizashi, and two varieties:
|
||||
wood and ironwood. They have different stats for all four.'
|
||||
- rscadd: Bokken require menu crafting and part construction, as well as more complicated
|
||||
materials.
|
||||
- tweak: Bokken (long and short) require wood, cloth and leather to craft with a
|
||||
hatchet and screwdriver.
|
||||
- tweak: Ironwood bokken (long and short) require ironcap logs, cloth and leather
|
||||
to craft with a hatchet, screwdriver and welder.
|
||||
- balance: Twin sheathes can only fit a pair of blades (longsword + shortsword)
|
||||
or they can fit two shortswords.
|
||||
- bugfix: Fixed a twin sheath runtime.
|
||||
- imageadd: A lot of bokken related sprites received an overhaul. Added overlay
|
||||
sprites for weapons sheathed in the twin sheathes.
|
||||
- imageadd: The extradimensional blade received improved sprites for inhands/back
|
||||
sprites.
|
||||
- bugfix: You can now make all the variants of the bokken.
|
||||
- bugfix: Removes a duplicate sprite.
|
||||
- tweak: Renames all instances of 'ironwood' to 'steelwood'.
|
||||
- rscadd: Adds new roboticist labcoat sprites!
|
||||
qwertyquerty:
|
||||
- bugfix: Flash the screen on climax
|
||||
raspy-on-osu:
|
||||
- spellcheck: salicylic acid
|
||||
- tweak: space heater heating range and power
|
||||
- tweak: windoor open length
|
||||
shellspeed1:
|
||||
- rscadd: Wings from Cit RP have been ported over
|
||||
- rscadd: Moth wings from cit have been ported over
|
||||
- bugfix: Cleaned up some pixels on existing moth wings.
|
||||
- tweak: Organized the lists for wings by if they are for moths or not and than
|
||||
by alphabetical.
|
||||
- balance: Lings now have infinite space for DNA.
|
||||
- rscadd: All xenomorph types have been added as corpses for mapping purposes
|
||||
- balance: The dead xenomorphs in the lavaland xenomorph hive now have more variety.
|
||||
- tweak: Floor bots are now buildable with all toolboxes.
|
||||
- rscadd: 'Xenomorph hybrids can now select wings ~~add: Xenomorph hybrids can now
|
||||
speak xenomorph~~'
|
||||
- rscadd: Xenomorph tongues are available for customization.
|
||||
- rscadd: Mining borgs can claim points again
|
||||
- rscadd: Construction bags have been added, use them to carry all sorts of construction
|
||||
bits.
|
||||
- rscadd: A recipe has been added to cloth stacks to make material and construction
|
||||
bags.
|
||||
- balance: Material bags and construction bags are now available in engineering
|
||||
lockers.
|
||||
- rscadd: Adds the disposable sentry gun from tg for 11tc each.
|
||||
- rscadd: The exofab can now print prosthetic limbs
|
||||
- bugfix: The exofab was missing access to multiple cybernetic organs. This has
|
||||
now been rectified.
|
||||
- rscadd: A new recipe for a spicy has been given to us by a strange business man.
|
||||
- rscadd: The bluespace navigation gigabeacon design has been added to shuttle research
|
||||
for those wanting to take their ships around space more.
|
||||
- tweak: Xenomorph powers now list plasma cost in their description.
|
||||
silicons:
|
||||
- tweak: nanite resistances tweaked
|
||||
- rscadd: new nanite programs added for locking the user out from being modified
|
||||
by consoles or antivirals.
|
||||
- rscdel: anomalies no longer spawn in walls
|
||||
- rscadd: 'Twitch Plays: Clown Car'
|
||||
- rscadd: pugilists can now parry
|
||||
- balance: c4 can no longer gib mobs
|
||||
- tweak: medium screens are better now
|
||||
- tweak: text formatting now uses one character instead of two around the text to
|
||||
emphasize.
|
||||
- rscadd: colormates
|
||||
- balance: shoving yourself up now costs 50% more
|
||||
- bugfix: dullahans enabled
|
||||
- rscadd: tailed individuals can now target groin to intertwine tails on grab intent.
|
||||
- rscadd: Clowns now have unpredictable effects on supermatter crystals when dusting
|
||||
from contact.
|
||||
- tweak: anyone new to the server is lucky enough to have their sprint default to
|
||||
toggle instead of hold
|
||||
- balance: stamina crit is only removed when at or under 100 stamina, rather than
|
||||
140. stamina crit threshold is still at 140.
|
||||
- tweak: luxury shuttle no longer has noteleport
|
||||
- rscdel: now only poly gets a headset on spawn, not all birds.
|
||||
- tweak: the warp implant now actually warps you back 10 seconds. leaves a trail,
|
||||
though. now unlimited us.
|
||||
- bugfix: things in DEATHCOMA do not deathgasp on death
|
||||
- tweak: Meth and changeling adrenals no longer ignore all slowdowns, rather damage
|
||||
slowdowns.
|
||||
- rscadd: you can now be an angel using a magic mirror again
|
||||
- tweak: command headsets are 120% instead of 160%
|
||||
- bugfix: no more emote italics
|
||||
- rscadd: players can now respawn/return to lobby as a ghost after a 15 minute (default)
|
||||
delay and rejoin on another character with some/many restrictions
|
||||
- rscadd: cryo now preserves everything
|
||||
- bugfix: Magrifle ammo no longer glows.
|
||||
- tweak: temperature slowdown divisor nerfed to 35 from 20.
|
||||
- balance: dna melt drops all items being destroying you
|
||||
- bugfix: keybinds generate anti-collision bindings where necessary automatically
|
||||
now
|
||||
- balance: changeling combat mutations rebalanced. most of them take chemicals to
|
||||
upkeep now.
|
||||
- rscadd: set-pose has been added
|
||||
- tweak: temporary flavor text renamed to set pose, fully visible in examine
|
||||
- bugfix: ninja gloves no longer hardstun
|
||||
- balance: ninja gloves now cost half as much to use to compensate
|
||||
- bugfix: simple mobs are now immune to radioactive contamination
|
||||
timothyteakettle:
|
||||
- bugfix: time for memory loss message to show up when being revived is now correctly
|
||||
300 seconds, instead of 30
|
||||
- bugfix: the load away mission verb won't crash the server now
|
||||
- rscadd: roundstart slimes can turn into puddles now
|
||||
- rscadd: all gas masks (but welding + glass) can be alt clicked to show/hide identity
|
||||
- tweak: autosurgeons from travelling trader rewards now only have one use
|
||||
- bugfix: fixes held items proccing crossed when passing someone
|
||||
- tweak: you can now get a family heirlooms based off your species instead of job
|
||||
- tweak: changeling stings retract upon turning into a slime puddle
|
||||
- tweak: you cannot transform into a slime puddle with a no drop item in your hands
|
||||
- tweak: slime puddles are now transparent and their colour looks more natural in
|
||||
comparison to the user
|
||||
- tweak: slime puddles are now even slower
|
||||
- tweak: slime puddles now get no protection from worn clothing
|
||||
- rscdel: removes two debug messages left in from my prior eye customization pr
|
||||
- rscadd: adds unlockable loadout items, corresponding category in loadouts, etc
|
||||
- rscadd: added in-game age verification as an alternative to access requests
|
||||
- bugfix: disabling adminhelp noises no longer disables looc
|
||||
- bugfix: apids render now
|
||||
- bugfix: you can now only entwine tails with people who have a tail
|
||||
- bugfix: custom eyes and tongues now properly carry across cloning
|
||||
- rscadd: re-adds the holoform verb for people who want to use it over going through
|
||||
the char list
|
||||
- bugfix: eye sprites should look normal once more
|
||||
- rscadd: licking people washes pie off their face
|
||||
- rscadd: you can now pick your eye sprites from customization
|
||||
- tweak: looking at loadout equips loadout items on your preview image instead of
|
||||
job items
|
||||
- tweak: custom holoforms are now accessible through an action instead of through
|
||||
verbs
|
||||
- tweak: AI holoforms can now emote
|
||||
- tweak: cloning now correctly copies your blood colour, body sprite type and eye
|
||||
type
|
||||
- bugfix: species with NOTRANSSTING cannot have envy's knife used on them
|
||||
- rscadd: avian/digitigrade legs have been added for slimes
|
||||
- rscadd: you can teleport bread
|
||||
- tweak: slime puddles are no longer layered down one layer
|
||||
- tweak: you cannot tackle with two paralysed arms
|
||||
- tweak: tackling with a single paralysed arm lowers your tackle roll by 2
|
||||
- bugfix: circuits get pin data proc is sanitized when text is returned as data
|
||||
- rscadd: loadout now has save slot support and colour choosing/saving for polychromic
|
||||
items
|
||||
- rscadd: polychromic maid outfit
|
||||
- rscadd: you can rebind communication hotkeys and they're the default now
|
||||
- rscadd: you can now customize your size from 90% to 130%, going below 100% makes
|
||||
you have 10 less max health
|
||||
- rscadd: '*squeak'
|
||||
- rscadd: anthromorphic synth species
|
||||
- rscadd: improvements to the automatic age gate
|
||||
- tweak: antag items are now of critical importance and wont fail to be placed on
|
||||
the character
|
||||
- bugfix: a tonne of fixes to colourisation of parts, too many to name, including
|
||||
some sprite fixes
|
||||
- rscadd: things now have their own individual primary/(secondary)/(tertiary) colours
|
||||
as required, and these can be modified by you
|
||||
uomo91:
|
||||
- bugfix: Fixed "Show All" tab in player panel logs being broken.
|
||||
- bugfix: Whispers, OOC, and various other things display differently in logs, visually
|
||||
distinguishing them from say logs.
|
||||
- refactor: Player panel logs will now show all logs chronologically, so you'll
|
||||
see commingled say and attack logs if you're on the "Show All" tab, etc...
|
||||
yorii:
|
||||
- bugfix: fixed botany rounding error that caused grass and other plants to misbehave
|
||||
zeroisthebiggay:
|
||||
- bugfix: legion now drops chests
|
||||
- rscadd: Traitor assistants can now purchase the patented POGBox! Put TC into it
|
||||
for even higher damage!
|
||||
- balance: MEGAFAUNA DROPS ARE LAVAPROOF
|
||||
- imageadd: cool codex cicatrix inhands
|
||||
- rscadd: gravitokinetic stands from tg
|
||||
- balance: buffs stands overall
|
||||
- bugfix: protector stands no longer become tposing invisible apes sometimes
|
||||
- bugfix: jacqueline spawns on boxstation
|
||||
- rscadd: secsheath for your cool stunsword at your local security vendor. you gotta
|
||||
hack it first though.
|
||||
- imageadd: fuck the r*d cr*ss
|
||||
- rscadd: The legion megafauna has been reworked. The fight should now be both slightly
|
||||
harder and faster.
|
||||
- balance: You can no longer cheese the colossus by being a sand golem and simply
|
||||
being immune.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "The wastes of Lavaland and the icy caverns of Snow Taxi rumble in unison."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "silicons"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "medium screens are better now"
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Changeling bone gauntlets! They punch the shit out of people really good."
|
||||
- tweak: "Guerilla gloves and gorilla gloves inherit the strip modifiers of their predecessors, because apparently they had those."
|
||||
- balance: "Pugilists now always hit the targeted limb and never miss."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "looking at loadout equips loadout items on your preview image instead of job items"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- refactor: "Dwarf speech is no longer absolutely paranoid about word replacement."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "LetterN"
|
||||
delete-after: True
|
||||
changes:
|
||||
- code_imp: "Updates git and build tests."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "silicons"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "the warp implant now actually warps you back 10 seconds. leaves a trail, though. now unlimited us."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "you can now get a family heirlooms based off your species instead of job"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "arcade carpet"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "roundstart slimes can turn into puddles now"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Tupinambis"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Arachnids (spider people) with limited night vision, flash vulnerability, and webbing."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "LetterN"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "minimap text"
|
||||
- code_imp: "ports cinematic upgrades"
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "the blacksmithing skill now works properly"
|
||||
- tweak: "Anvils cannot be interacted with with hammers whilst they are already being used"
|
||||
- tweak: "If someone has no gloves when interacting with heated ingots, they no longer ignore their effects."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "The Revenant self-revive ability is no longer broken."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "People installing KA modkits in miner borgs is no longer broken."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "explosions now get broadcasted to deadchat."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "Zandario"
|
||||
delete-after: True
|
||||
changes:
|
||||
- code_imp: "Added some framework for future species expansions, including clothing refitting."
|
||||
- refactor: "Made majority of the relevant Species IDs and Categories pre-defined, also for easier expansion and use."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "Bhijn"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Changeling loudness is now determined as an average of all their abilities, rather than the sum"
|
||||
- tweak: "To compensate for this, blood tests now require a loudness value of 1 or higher to detect ling blood. Additionally, blood test explosions are now triggered only when the loudness value is higher than 2."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Toilet loot spawners don't lag the server on server start with forced hard dels."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "LetterN"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "2 more ways to get up from z1"
|
||||
- tweak: "tweaked the z2 garden to be less blank"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Holofirelocks work now."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Survival daggers! A slightly more expensive survival knife that comes with a brighter flashlight. On the blade."
|
||||
- tweak: "Luxury pod capsules look different from normal capsules."
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "zeroisthebiggay"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "gravitokinetic stands from tg"
|
||||
- balance: "buffs stands overall"
|
||||
- bugfix: "protector stands no longer become tposing invisible apes sometimes"
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "EmeraldSundisk"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "The \"Skelter ruin\" now has stechkins as opposed to M1911s"
|
||||
- tweak: "Skelter's decorative bullet casings replaced to factor in the change in caliber"
|
||||
- rscadd: "Skelter now has a combat knife and fluff note"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- imageadd: "The Syndicate appear to be issuing new revolver variants."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Cryogenics now screams on common again when your fuckbuddy heads out."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "you can now pick your eye sprites from customization"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Thalpy"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixes some bugs in jacqs code from edits to the codebase"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "yorii"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed botany rounding error that caused grass and other plants to misbehave"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "silicons"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "simple mobs are now immune to radioactive contamination"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "TheObserver-sys"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Drake? Where's the dead fairygrass sprite?"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Lick radial"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user