diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 93c625b238..8221deeadb 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -74460,9 +74460,6 @@
},
/turf/open/floor/plasteel/dark,
/area/command/bridge)
-"sKV" = (
-/turf/open/space/basic,
-/area/command/heads_quarters/captain)
"sLs" = (
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/field/generator,
@@ -122066,7 +122063,7 @@ oRp
oRp
aaa
aai
-sKV
+aaa
aaa
aaa
aaa
@@ -130637,7 +130634,7 @@ aaf
aaf
aaa
aaa
-sKV
+aaa
aaa
aaa
aaa
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index eacbc74508..cdc6d424dd 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -24647,6 +24647,12 @@
},
/turf/open/space,
/area/solars/starboard)
+"beW" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"beY" = (
/obj/machinery/camera{
c_tag = "Arrivals Central";
@@ -40355,15 +40361,9 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/components/binary/pump{
+/obj/machinery/atmospherics/components/binary/pump/on{
dir = 8;
- name = "Mix to Ports"
- },
-/turf/open/floor/plasteel,
-/area/engineering/atmos)
-"bNk" = (
-/obj/machinery/atmospherics/pipe/manifold/green/visible{
- dir = 1
+ name = "Unfiltered to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -40372,8 +40372,9 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
-/obj/machinery/atmospherics/pipe/manifold/green/visible{
- dir = 1
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "Unfiltered & Air to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -40809,23 +40810,19 @@
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
-"bOo" = (
-/obj/machinery/atmospherics/pipe/manifold/general/visible,
-/turf/open/floor/plasteel,
-/area/engineering/atmos)
"bOp" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 10
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Pure to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bOq" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Pure to Mix"
+/obj/machinery/atmospherics/pipe/manifold/green/visible{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -41089,13 +41086,6 @@
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
-"bPa" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/engineering/atmos)
"bPd" = (
/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
dir = 8
@@ -41407,7 +41397,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bPW" = (
@@ -41785,14 +41774,16 @@
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQK" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/cyan/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQL" = (
-/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
+/obj/machinery/atmospherics/pipe/manifold/green/visible{
+ dir = 8
+ },
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQM" = (
@@ -41800,9 +41791,8 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1;
- name = "Unfiltered to Mix"
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 10
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -42109,8 +42099,7 @@
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bRw" = (
-/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
-/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bRx" = (
@@ -53829,6 +53818,12 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
+"eEd" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"eEp" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
@@ -55198,6 +55193,15 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
+"hEi" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"hEX" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
@@ -56739,6 +56743,12 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
+"kWG" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"kWQ" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/obj/structure/cable/yellow{
@@ -57443,6 +57453,15 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall,
/area/maintenance/department/engine)
+"mAR" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"mCe" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -58849,6 +58868,10 @@
},
/turf/open/floor/wood,
/area/service/lawoffice)
+"pEM" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"pFe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/red{
@@ -59370,6 +59393,13 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
+"qQu" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"qRl" = (
/obj/item/radio/intercom{
name = "Station Intercom (General)";
@@ -60110,6 +60140,13 @@
},
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
+"sGJ" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"sIK" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -61031,6 +61068,12 @@
},
/turf/open/floor/engine,
/area/engineering/main)
+"uST" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ name = "Mix to Ports"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/atmos)
"uUQ" = (
/obj/machinery/door/airlock/maintenance{
name = "Engineering Maintenance";
@@ -99648,7 +99691,7 @@ bJN
bKS
bMe
bNh
-bOo
+pEM
bOX
bMf
bMf
@@ -100162,9 +100205,9 @@ bHw
bKU
bOr
bPU
+kWG
bRw
-bPa
-bMf
+beW
bMf
bMf
bMf
@@ -100418,13 +100461,13 @@ bIF
bHw
bKV
bOX
-bUv
+eEd
bQL
-bPa
-bMf
-bMf
-bMf
+uST
+pEM
bMf
+qQu
+qQu
bSU
bTT
bUv
@@ -100678,10 +100721,10 @@ bMg
bNj
bOp
bPV
-bPV
-bPV
-bPV
-bPV
+hEi
+sGJ
+bUw
+bUw
bUw
bUw
bUw
@@ -100932,8 +100975,8 @@ bIH
bHw
cqG
bOX
-bNk
bOq
+mAR
bPd
bPW
bPW
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index ded183ba0b..3807b66b06 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -165,6 +165,7 @@
#define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events"
#define TRAIT_NO_MIDROUND_ANTAG "no-midround-antag" //can't be turned into an antag by random events
#define TRAIT_PUGILIST "pugilist" //This guy punches people for a living
+#define TRAIT_NOPUGILIST "nopugilist" // for preventing ((((((((((extreme)))))))))) punch stacking
#define TRAIT_KI_VAMPIRE "ki-vampire" //when someone with this trait rolls maximum damage on a punch and stuns the target, they regain some stamina and do clone damage
#define TRAIT_MAULER "mauler" // this guy punches the shit out of people to hurt them, not to drain their stamina
#define TRAIT_PASSTABLE "passtable"
diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm
index 5881c76827..9b9ea3c86e 100644
--- a/code/datums/martial/sleeping_carp.dm
+++ b/code/datums/martial/sleeping_carp.dm
@@ -165,6 +165,7 @@
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT)
ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT)
ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT)
+ ADD_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT) // cqc doesn't get this as it's intended to be able to stack with northstar gloves
H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it
H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant
H.physiology.stamina_mod *= 0.4 //You take less stamina damage overall, but you do not reduce the damage from stun batons as much
@@ -181,6 +182,7 @@
REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT)
REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT)
REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT)
+ REMOVE_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT)
H.physiology.brute_mod = initial(H.physiology.brute_mod)
H.physiology.burn_mod = initial(H.physiology.burn_mod)
H.physiology.stamina_mod = initial(H.physiology.stamina_mod)
diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm
index 9032a80d91..7d13af1e3e 100644
--- a/code/game/objects/structures/spawner.dm
+++ b/code/game/objects/structures/spawner.dm
@@ -73,3 +73,15 @@
name = "wumborian fugu den"
desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?"
mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu)
+
+/obj/structure/spawner/clown
+ name = "Laughing Larry"
+ desc = "A laughing, jovial figure. Something seems stuck in his throat."
+ icon_state = "clownbeacon"
+ icon = 'icons/obj/device.dmi'
+ max_integrity = 200
+ max_mobs = 15
+ spawn_time = 150
+ mob_types = list(/mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob)
+ spawn_text = "climbs out of"
+ faction = list("clown")
diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm
index 5b6a7648c8..b7aeb23e6f 100644
--- a/code/modules/antagonists/changeling/powers/mutations.dm
+++ b/code/modules/antagonists/changeling/powers/mutations.dm
@@ -680,6 +680,11 @@
glove_type = /obj/item/clothing/gloves/fingerless/pugilist/cling // just punch his head off dude
glove_name_simple = "bone gauntlets"
+/obj/effect/proc_holder/changeling/gloves/gauntlets/sting_action(mob/living/user)
+ if(HAS_TRAIT(user, TRAIT_NOPUGILIST))
+ to_chat(user, "We would gain nothing by forming our fists into brute-force weapons when we are trained in precision martial arts!")
+ return
+
/obj/item/clothing/gloves/fingerless/pugilist/cling // switches between lesser GotNS and Big Punchy Rib Breaky Hands
name = "hewn bone gauntlets"
icon_state = "ling_gauntlets"
diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm
index a26d081f08..2f99563849 100644
--- a/code/modules/antagonists/slaughter/slaughter.dm
+++ b/code/modules/antagonists/slaughter/slaughter.dm
@@ -84,6 +84,9 @@
if(slam_cooldown + slam_cooldown_time > world.time)
to_chat(src, "Your slam ability is still on cooldown!")
return
+ if(src.loc && !isopenturf(loc))
+ to_chat(src, "You can't do that while still in blood!")
+ return
face_atom(A)
var/mob/living/victim = A
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 39c8c2df07..a337439931 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -37,14 +37,19 @@
/obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot)
. = ..()
if(slot == SLOT_GLOVES)
- use_buffs(user, TRUE)
wornonce = TRUE
+ if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
+ to_chat(user, "What purpose is there to don the weapons of pugilism if you're already well-practiced in martial arts? Mixing arts is blasphemous!")
+ return
+ use_buffs(user, TRUE)
/obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user)
. = ..()
if(wornonce)
- use_buffs(user, FALSE)
wornonce = FALSE
+ if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
+ return
+ use_buffs(user, FALSE)
/obj/item/clothing/gloves/fingerless/pugilist/proc/use_buffs(mob/user, buff)
if(buff) // tarukaja
@@ -247,14 +252,18 @@
/obj/item/clothing/gloves/fingerless/pugilist/mauler/equipped(mob/user, slot)
. = ..()
if(slot == SLOT_GLOVES)
- use_mauls(user, TRUE)
wornonce = TRUE
+ if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
+ return
+ use_mauls(user, TRUE)
/obj/item/clothing/gloves/fingerless/pugilist/mauler/dropped(mob/user)
. = ..()
if(wornonce)
- use_mauls(user, FALSE)
wornonce = FALSE
+ if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
+ return
+ use_mauls(user, FALSE)
/obj/item/clothing/gloves/fingerless/pugilist/mauler/proc/use_mauls(mob/user, maul)
if(maul)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index cc14424980..6858de59df 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -535,3 +535,9 @@
to_chat(user, "You insert [I] into [src].")
B.use(10)
icon_state = initial(icon_state)
+
+/obj/item/clothing/shoes/swagshoes
+ name = "swag shoes"
+ desc = "They got me for my foams!"
+ icon_state = "SwagShoes"
+ item_state = "SwagShoes"
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
index f8292738ee..60d82292ef 100644
--- a/code/modules/clothing/under/costume.dm
+++ b/code/modules/clothing/under/costume.dm
@@ -355,3 +355,10 @@
name = "Sakura Kimono'"
icon_state = "sakura_kimono"
item_state = "sakura_kimono"
+
+/obj/item/clothing/under/costume/swagoutfit
+ name = "Swag outfit"
+ desc = "Why don't you go secure some bitches?"
+ icon_state = "SwagOutfit"
+ item_state = "SwagOutfit"
+ can_adjust = FALSE
diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm
index 7d4ea66d30..b9480a646c 100644
--- a/code/modules/events/brand_intelligence.dm
+++ b/code/modules/events/brand_intelligence.dm
@@ -61,7 +61,7 @@
originMachine.visible_message("[originMachine] beeps and seems lifeless.")
kill()
return
- vendingMachines = listclearnulls(vendingMachines)
+ listclearnulls(vendingMachines)
if(!vendingMachines.len) //if every machine is infected
for(var/obj/machinery/vending/upriser in infectedMachines)
if(prob(70) && !QDELETED(upriser))
diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm
index b925c67940..49821e55e0 100644
--- a/code/modules/photography/camera/camera.dm
+++ b/code/modules/photography/camera/camera.dm
@@ -158,12 +158,12 @@
return FALSE
size_x = clamp(size_x, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT)
size_y = clamp(size_y, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT)
- var/list/desc = list("This is a photo of an area of [size_x+1] meters by [size_y+1] meters.")
+ var/list/desc = list("This is a photo of an area of [size_x*2 + 1] meters by [size_y*2 + 1] meters.")
var/ai_user = isAI(user)
var/list/seen
- var/list/viewlist = (user && user.client)? getviewsize(user.client.view) : getviewsize(world.view)
+ var/list/viewlist = user?.client? getviewsize(user.client.view) : getviewsize(world.view)
var/viewr = max(viewlist[1], viewlist[2]) + max(size_x, size_y)
- var/viewc = user.client? user.client.eye : target
+ var/viewc = user?.client? user.client.eye : target
seen = get_hear(viewr, viewc)
var/list/turfs = list()
var/list/mobs = list()
@@ -184,7 +184,7 @@
var/psize_y = (size_y * 2 + 1) * world.icon_size
var/get_icon = camera_get_icon(turfs, target_turf, psize_x, psize_y, clone_area, size_x, size_y, (size_x * 2 + 1), (size_y * 2 + 1))
qdel(clone_area)
- var/icon/temp = icon('icons/effects/96x96.dmi',"")
+ var/icon/temp = icon('icons/effects/camera_image_base.dmi',"")
temp.Blend("#000", ICON_OVERLAY)
temp.Scale(psize_x, psize_y)
temp.Blend(get_icon, ICON_OVERLAY)
diff --git a/code/modules/photography/camera/camera_image_capturing.dm b/code/modules/photography/camera/camera_image_capturing.dm
index 5bd9c108d1..a5a1cbeedc 100644
--- a/code/modules/photography/camera/camera_image_capturing.dm
+++ b/code/modules/photography/camera/camera_image_capturing.dm
@@ -47,7 +47,7 @@
atoms += A
CHECK_TICK
- var/icon/res = icon('icons/effects/96x96.dmi', "")
+ var/icon/res = icon('icons/effects/camera_image_base.dmi', "")
res.Scale(psize_x, psize_y)
var/list/sorted = list()
@@ -64,7 +64,6 @@
var/xcomp = FLOOR(psize_x / 2, 1) - 15
var/ycomp = FLOOR(psize_y / 2, 1) - 15
-
for(var/atom/A in sorted)
var/xo = (A.x - center.x) * world.icon_size + A.pixel_x + xcomp
var/yo = (A.y - center.y) * world.icon_size + A.pixel_y + ycomp
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index fedaeff98c..da3c740a1b 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -212,6 +212,8 @@
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
/obj/item/clothing/under/pants/mustangjeans = 3,
/obj/item/clothing/neck/necklace/dope = 5,
+ /obj/item/clothing/under/costume/swagoutfit = 5,
+ /obj/item/clothing/shoes/swagshoes = 5,
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5,
/obj/item/clothing/under/misc/corporateuniform = 5,
/obj/item/clothing/suit/hooded/wintercoat/polychromic = 5,
diff --git a/html/changelog.html b/html/changelog.html
index 7ffdf09438..46d1ab1089 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -50,6 +50,19 @@
-->
+
26 May 2021
+
bunny232 updated:
+
+ - Removed two random 'captain's office' tiles from space on meta station
+
+
+
24 May 2021
+
zeroisthebiggay updated:
+
+ - New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight telecrystals, buy today!
+ - hairs from Airborne Snitch
+
+
23 May 2021
Putnam3145 updated:
@@ -625,87 +638,6 @@
-
- 26 March 2021
- BlueWildrose updated:
-
- - Clothing no longer drops when shredded. It just becomes useless.
- - Suit sensors are guaranteed to short out when the clothes become shredded, not damaged now.
- - Uniform limb integrity increased from 30 to 120.
- - Suit sensor damage has been added. The more damaged your suit sensors get, the less features that will be available from these suit sensors. It takes two e-sword hits to ruin your tracking beacon for instance. tweak: Examine text on uniforms is now more clear about needing cable coil to repair your suit sensors.
- - Fixed prisoner uniform sprite paths
-
- CuteMoff updated:
-
- - Diamond's forcemod was changed from 1.1x to 1.2x
-
- Hatterhat updated:
-
- - Lever-action rifles, chambered in .38, are now sitting in the code. They might be buyable from Cargo or the Black Market soon. Watch this space.
- - Sawed-off shotguns now look like shotguns, but short, when inhand, instead of "generic gun".
-
- timothyteakettle updated:
-
- - slimes can be delimbed
- - the loadout now colours pet collars correctly
-
-
- 25 March 2021
- zeroisthebiggay updated:
-
- - strained muscles isn't free
-
-
- 24 March 2021
- BlueWildrose updated:
-
- - The nightmare's light eater can now destroy messes that emit light, like glowing goo or ectoplasmic puddles.
-
- Hatterhat updated:
-
- - The NOGUNS trait now takes precedence over the triggerguard checks.
- - Medicated sutures and advanced regenerative mesh are now easier to make. Reagent-quantity wise, anyway.
-
- ItzGabby updated:
-
- - Fluff Items with polychromic support
- - A new vendor called Bark box
- - A new form of snack with it's own box
- - Two harness, one of them being lewd
- - One new collar, with a ribbon. Classy.
- - More locked forms of collars
- - Purged old balls
- - Removed the funny buffs each colored tennis ball had, down with the powergame!
- - Added polychromic fluff icons, vendor icons, suit icons, snack icons, fancy box icons, and a polychromic version of Izzy's ball.
- - Deleted old balls, Izzy's Ball, except the rainbow one since it's special and as I did not go out of my way to get permission to touch.
- - Walked into vending.dm and glared for a moment at hydroponics' grammar.
-
- LetterN updated:
-
- - fixed laptops pickability
- - fixed closets being unweldable
-
- YakumoChen updated:
-
- - Genetics - Thermal vision is a recipe instead of a natural gene now. Nearsighted+Stimmed. Other minor nerfs, Thermal is 40 instability.
- - Research - X-ray eyes are now an illegal tech.
-
- qweq12yt updated:
-
- - added the black market uplink
- - added blackmarket.dmi
- - increased the black market interface's width, now the delivery options will show properly when the LTSRBT is built
-
- zeroisthebiggay updated:
-
- - biodegrade works on legcuffs
-
-
- 23 March 2021
- LetterN updated:
-
- - NIRM departamental purchases now work. Have fun spending the entire R&D Budget!
-
GoonStation 13 Development Team
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index 1f340fea7f..5855b178ce 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -29344,3 +29344,11 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
- balance: 30 > 25 pop req for contractor kit
- code_imp: adds a special hud for simple mobs.
- imageadd: a lot of >32x32 mobs now have icons for their health dolls
+2021-05-24:
+ zeroisthebiggay:
+ - rscadd: 'New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight
+ telecrystals, buy today!'
+ - rscadd: hairs from Airborne Snitch
+2021-05-26:
+ bunny232:
+ - bugfix: Removed two random 'captain's office' tiles from space on meta station
diff --git a/html/changelogs/AutoChangeLog-pr-14736.yml b/html/changelogs/AutoChangeLog-pr-14736.yml
deleted file mode 100644
index 187d5e432a..0000000000
--- a/html/changelogs/AutoChangeLog-pr-14736.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "zeroisthebiggay"
-delete-after: True
-changes:
- - rscadd: "hairs from Airborne Snitch"
diff --git a/html/changelogs/AutoChangeLog-pr-14737.yml b/html/changelogs/AutoChangeLog-pr-14737.yml
deleted file mode 100644
index 6e26250b6b..0000000000
--- a/html/changelogs/AutoChangeLog-pr-14737.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "zeroisthebiggay"
-delete-after: True
-changes:
- - rscadd: "New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight telecrystals, buy today!"
diff --git a/html/changelogs/AutoChangeLog-pr-14750.yml b/html/changelogs/AutoChangeLog-pr-14750.yml
new file mode 100644
index 0000000000..f43fbe8c44
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-14750.yml
@@ -0,0 +1,6 @@
+author: "keronshb"
+delete-after: True
+changes:
+ - rscadd: "swag outfit available in clothesmate"
+ - rscadd: "swag shoes availble in clothesmate
+resprite: changed swag shoes icon to the one twaticus made."
diff --git a/html/changelogs/AutoChangeLog-pr-14751.yml b/html/changelogs/AutoChangeLog-pr-14751.yml
new file mode 100644
index 0000000000..91a2ff6234
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-14751.yml
@@ -0,0 +1,4 @@
+author: "keronshb"
+delete-after: True
+changes:
+ - rscadd: "Adds the clown mob spawner for admins"
diff --git a/html/changelogs/AutoChangeLog-pr-14755.yml b/html/changelogs/AutoChangeLog-pr-14755.yml
new file mode 100644
index 0000000000..8b231db995
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-14755.yml
@@ -0,0 +1,4 @@
+author: "Linzolle"
+delete-after: True
+changes:
+ - bugfix: "brand intelligence event works again"
diff --git a/html/changelogs/AutoChangeLog-pr-14756.yml b/html/changelogs/AutoChangeLog-pr-14756.yml
new file mode 100644
index 0000000000..265a808d04
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-14756.yml
@@ -0,0 +1,4 @@
+author: "zeroisthebiggay"
+delete-after: True
+changes:
+ - balance: "puglism damage can no longer stack with scarp"
diff --git a/html/changelogs/AutoChangeLog-pr-14757.yml b/html/changelogs/AutoChangeLog-pr-14757.yml
new file mode 100644
index 0000000000..2952474330
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-14757.yml
@@ -0,0 +1,4 @@
+author: "Kraseo"
+delete-after: True
+changes:
+ - bugfix: "No more slamming into people while bloodcrawled."
diff --git a/icons/effects/camera_image_base.dmi b/icons/effects/camera_image_base.dmi
new file mode 100644
index 0000000000..4f5867e07e
Binary files /dev/null and b/icons/effects/camera_image_base.dmi differ
diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi
index 878f4a8009..311f273faa 100644
Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ
diff --git a/icons/mob/clothing/feet_digi.dmi b/icons/mob/clothing/feet_digi.dmi
index 77c1896af8..a1625aaa7e 100644
Binary files a/icons/mob/clothing/feet_digi.dmi and b/icons/mob/clothing/feet_digi.dmi differ
diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi
index f2611b3ab7..6c29fdfa75 100644
Binary files a/icons/mob/clothing/uniform.dmi and b/icons/mob/clothing/uniform.dmi differ
diff --git a/icons/mob/clothing/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi
index 98ec436b86..a957b60a9b 100644
Binary files a/icons/mob/clothing/uniform_digi.dmi and b/icons/mob/clothing/uniform_digi.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index aee67da199..cb2391b5ba 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 6171e032dd..22464b3def 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ