diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 5fcdd2c6d6..5a73c40ec1 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -25965,7 +25965,7 @@ /area/medical/paramedic) "bkd" = ( /obj/machinery/camera{ - c_tag = "Medbay Morgue"; + c_tag = "Paramedic Disbatch"; dir = 8; network = list("ss13","medbay") }, @@ -26368,7 +26368,7 @@ req_access_txt = "6" }, /turf/open/floor/plasteel/dark, -/area/medical/morgue) +/area/maintenance/department/medical/morgue) "blb" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters"; @@ -33983,12 +33983,12 @@ }, /obj/machinery/bloodbankgen, /obj/machinery/camera{ - c_tag = "Medbay Recovery Room"; + c_tag = "Medbay Surgery Storage"; dir = 6; network = list("ss13","medbay") }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bCD" = ( /obj/machinery/computer/operating, /turf/open/floor/plasteel/white/side, @@ -34363,11 +34363,14 @@ /area/engineering/storage/tech) "bDA" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bDB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -34375,6 +34378,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/white/side{ dir = 4 }, @@ -35127,7 +35133,7 @@ dir = 4 }, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/storage) "bFn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -35139,12 +35145,12 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/machinery/light/small{ - dir = 1 - }, /obj/effect/decal/cleanable/blood/old, +/obj/machinery/airalarm{ + pixel_y = 23 + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bFp" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood/random, @@ -35171,8 +35177,11 @@ dir = 8; sortType = 6 }, +/obj/machinery/light/small{ + dir = 1 + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bFq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/yellow, @@ -35196,8 +35205,11 @@ /obj/structure/disposalpipe/segment, /obj/structure/closet/crate/freezer/surplus_limbs, /obj/item/reagent_containers/glass/beaker/synthflesh, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bFu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35231,8 +35243,9 @@ "bFx" = ( /obj/structure/disposalpipe/segment, /obj/machinery/limbgrower, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "bFy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -35818,7 +35831,7 @@ dir = 4 }, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/storage) "bGR" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -35869,11 +35882,9 @@ /area/medical/medbay/central) "bGW" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/storage) "bGX" = ( /obj/machinery/light{ dir = 8 @@ -37022,7 +37033,7 @@ dir = 9 }, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/storage) "bJB" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel, @@ -52331,7 +52342,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/science/robotics/mechbay) +/area/maintenance/department/medical/morgue) "cHF" = ( /obj/machinery/button/door{ id = "Skynet_launch"; @@ -54452,7 +54463,7 @@ "fvk" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/storage) "fvY" = ( /obj/machinery/computer/cryopod{ pixel_y = 26 @@ -55793,6 +55804,9 @@ req_access_txt = "45" }, /obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/medical/surgery) "iVJ" = ( @@ -60469,6 +60483,9 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engineering/atmos) +"tBV" = ( +/turf/closed/wall, +/area/medical/storage) "tCa" = ( /obj/structure/table/wood, /obj/item/instrument/guitar{ @@ -61076,8 +61093,17 @@ dir = 4 }, /obj/structure/disposalpipe/segment, +/obj/machinery/power/apc{ + areastring = "/area/medical/storage"; + name = "Medbay Surgery Storage"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/storage) "uFZ" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -61403,6 +61429,16 @@ /obj/structure/pool/Lboard, /turf/open/pool, /area/commons/fitness/pool) +"voZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/medical/storage) "vpY" = ( /obj/structure/closet/lasertag/blue, /obj/item/clothing/under/misc/pj/blue, @@ -95305,10 +95341,10 @@ aJq bHt bBz bzs -bof +tBV bFm bGI -bof +tBV cBD bKD bLO @@ -95562,7 +95598,7 @@ bwu kPj bBB eBX -bof +tBV bFp uFV fvk @@ -95819,7 +95855,7 @@ aJq bAj aJq aKG -bof +tBV bFo bDA bFt @@ -96076,9 +96112,9 @@ byX aXh bmE bCA -bof +tBV bCC -bDA +voZ bFx bGW bKI diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 14dae61516..872b4218e2 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -13235,7 +13235,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/secondary/service) +/area/maintenance/port/fore) "aYA" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -33530,7 +33530,7 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/security/range) +/area/maintenance/starboard) "cqi" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, @@ -49123,7 +49123,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/science/misc_lab) +/area/maintenance/port) "dhU" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, @@ -71560,6 +71560,9 @@ }, /turf/open/floor/plasteel/dark, /area/command/heads_quarters/hos) +"emZ" = ( +/turf/closed/wall, +/area/hallway/primary/port) "enl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/corner, @@ -106542,7 +106545,7 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/commons/dorms) +/area/maintenance/starboard) "qtk" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, @@ -156519,7 +156522,7 @@ pzz kRu iio aMN -alf +emZ bqm bsp bug @@ -156776,7 +156779,7 @@ vgS xnz iio aMO -alf +emZ bqn bsq buh @@ -157033,7 +157036,7 @@ lNq skw iio aMN -alf +emZ bqo bsr fzc diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index bfc2f86850..952a635d7e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -25533,6 +25533,9 @@ /obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/item/paicard{ + pixel_x = -8 + }, /turf/open/floor/plasteel/white, /area/science/research) "cav" = ( @@ -74151,7 +74154,7 @@ }, /obj/machinery/door/firedoor, /turf/open/floor/plating, -/area/science/circuit) +/area/maintenance/starboard/aft) "sFR" = ( /obj/structure/cable{ icon_state = "2-8" @@ -76453,7 +76456,7 @@ icon_state = "1-2" }, /turf/open/floor/plating, -/area/service/library) +/area/maintenance/port) "ubJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ @@ -80333,7 +80336,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/commons/vacant_room/office) +/area/maintenance/port) "wxP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -97557,8 +97560,8 @@ dne aip dne dne -dne -dne +aRA +aRA dne baf bbK diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 14011b9c37..1df5e34238 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -705,7 +705,7 @@ icon_state = "4-8" }, /turf/open/floor/plating, -/area/commons/fitness/pool) +/area/maintenance/department/crew_quarters/dorms) "abG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3393,6 +3393,10 @@ /obj/vehicle/ridden/secway, /obj/item/key/security, /obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, /turf/open/floor/plasteel/showroomfloor, /area/security/office) "ais" = ( @@ -4898,6 +4902,10 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, /turf/open/floor/plasteel, /area/security/brig) "alz" = ( @@ -37290,7 +37298,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/science/mixing) +/area/maintenance/department/science) "bGB" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -45949,15 +45957,8 @@ /turf/open/floor/engine, /area/maintenance/disposal/incinerator) "bZV" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/maintenance/department/cargo) +/turf/closed/wall, +/area/hallway/primary/fore) "bZY" = ( /turf/closed/wall, /area/service/chapel/office) @@ -61335,8 +61336,15 @@ /turf/open/floor/plating, /area/maintenance/department/science) "vtT" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/structure/fans/tiny, /turf/open/floor/plating, -/area/maintenance/solars/port) +/area/maintenance/department/cargo) "vuP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -62254,7 +62262,7 @@ "xuv" = ( /obj/item/broken_bottle, /turf/open/floor/plating, -/area/maintenance/solars/port) +/area/maintenance/department/security/brig) "xvO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -79863,11 +79871,11 @@ atp aus aiu wxb -axC +aiu xuv -azN -vtT -vtT +aoe +ajD +ajD aiu apB aiu @@ -82435,8 +82443,8 @@ apE avq apE ajM -aiu -aiu +bZV +bZV gSH xJy sJr @@ -106330,7 +106338,7 @@ aaF aaF aaF abF -aaF +aiS aiS atn awC @@ -107882,8 +107890,8 @@ aaa aaa aaa aaa -aEl -aFi +aEj +vtT aEj aaa aEj @@ -108139,9 +108147,9 @@ aaa aaa aaa aaa -aEj -bZV -aEj +cdm +cdm +cdm aaa aaa aaa @@ -108396,9 +108404,9 @@ aaa aaa aaa aaa -ahi -ahi -ahi +bBW +bBW +bBW aaa aaa aaa diff --git a/code/__DEFINES/layers_planes.dm b/code/__DEFINES/layers_planes.dm index 8ab33689d3..37584d892d 100644 --- a/code/__DEFINES/layers_planes.dm +++ b/code/__DEFINES/layers_planes.dm @@ -77,6 +77,7 @@ #define PROJECTILE_HIT_THRESHHOLD_LAYER 2.75 //projectiles won't hit objects at or below this layer if possible #define TABLE_LAYER 2.8 #define TRAY_LAYER 2.85 +#define GATEWAY_UNDERLAY_LAYER 2.85 #define BELOW_OBJ_LAYER 2.9 #define LOW_ITEM_LAYER 2.95 //#define OBJ_LAYER 3 //For easy recordkeeping; this is a byond define diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index eb652c5180..f63f3afbd9 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -56,6 +56,11 @@ name = "gear crate" icon_state = "secgearcrate" +/obj/structure/closet/crate/secure/soviet + desc = "A crate, purportedly from Space Russia." + name = "soviet crate" + icon_state = "sovietcrate" + /obj/structure/closet/crate/secure/hydroponics desc = "A crate with a lock on it, painted in the scheme of the station's botanists." name = "secure hydroponics crate" diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 5540cd7529..36ceabe3b4 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -4,10 +4,10 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation) GLOBAL_LIST_EMPTY(gateway_destinations) /** - * Corresponds to single entry in gateway control. - * - * Will NOT be added automatically to GLOB.gateway_destinations list. - */ + * Corresponds to single entry in gateway control. + * + * Will NOT be added automatically to GLOB.gateway_destinations list. + */ /datum/gateway_destination var/name = "Unknown Destination" var/wait = 0 /// How long after roundstart this destination becomes active @@ -85,7 +85,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) . = "Exit gateway unpowered." /datum/gateway_destination/gateway/get_target_turf() - return get_step(target_gateway.portal,SOUTH) + return get_step(target_gateway, SOUTH) /datum/gateway_destination/gateway/post_transfer(atom/movable/AM) . = ..() @@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) name = "gateway" desc = "A mysterious gateway built by unknown hands, it allows for faster than light travel to far-flung locations." icon = 'icons/obj/machines/gateway.dmi' - icon_state = "off" + icon_state = "portal_frame" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF // 3x2 offset by one row @@ -171,10 +171,14 @@ GLOBAL_LIST_EMPTY(gateway_destinations) var/datum/gateway_destination/target /// bumper object, the thing that starts actual teleport var/obj/effect/gateway_portal_bumper/portal + /// Visual object for handling the viscontents + var/obj/effect/gateway_portal_effect/portal_visuals /obj/machinery/gateway/Initialize() generate_destination() update_icon() + portal_visuals = new + vis_contents += portal_visuals return ..() /obj/machinery/gateway/proc/generate_destination() @@ -191,6 +195,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) if(use_power == ACTIVE_POWER_USE) use_power = IDLE_POWER_USE update_icon() + portal_visuals.reset_visuals() /obj/machinery/gateway/process() if((stat & (NOPOWER)) && use_power) @@ -198,12 +203,6 @@ GLOBAL_LIST_EMPTY(gateway_destinations) deactivate() return -/obj/machinery/gateway/update_icon_state() - if(target) - icon_state = "on" - else - icon_state = "off" - /obj/machinery/gateway/safe_throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, datum/callback/callback, force = MOVE_FORCE_STRONG, gentle = FALSE) return @@ -216,6 +215,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) return target = D target.activate(destination) + portal_visuals.setup_visuals(target) generate_bumper() use_power = ACTIVE_POWER_USE update_icon() @@ -307,7 +307,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) try_to_connect(D) return TRUE if("deactivate") - if(G && G.target) + if(G?.target) G.deactivate() return TRUE @@ -324,3 +324,39 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /obj/item/paper/fluff/gateway info = "Congratulations,

Your station has been selected to carry out the Gateway Project.

The equipment will be shipped to you at the start of the next quarter.
You are to prepare a secure location to house the equipment as outlined in the attached documents.

--Nanotrasen Bluespace Research" name = "Confidential Correspondence, Pg 1" + +/obj/effect/gateway_portal_effect + appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + vis_flags = VIS_INHERIT_ID + layer = GATEWAY_UNDERLAY_LAYER //Slightly lower than gateway itself + var/alpha_icon = 'icons/obj/machines/gateway.dmi' + var/alpha_icon_state = "portal_mask" + var/datum/gateway_destination/our_destination + + +/obj/effect/gateway_portal_effect/proc/setup_visuals(datum/gateway_destination/D) + our_destination = D + update_portal_filters() + +/obj/effect/gateway_portal_effect/proc/reset_visuals() + our_destination = null + update_portal_filters() + +/obj/effect/gateway_portal_effect/proc/update_portal_filters() + clear_filters() + vis_contents = null + + if(!our_destination) + return + + + add_filter("portal_alpha", 1, list("type" = "alpha", "icon" = icon(alpha_icon, alpha_icon_state), "x" = 32, "y" = 32)) + add_filter("portal_blur", 1, list("type" = "blur", "size" = 0.5)) + add_filter("portal_ripple", 1, list("type" = "ripple", "size" = 2, "radius" = 1, "falloff" = 1, "y" = 7)) + + animate(get_filter("portal_ripple"), time = 1.3 SECONDS, loop = -1, easing = LINEAR_EASING, radius = 32) + + var/turf/center_turf = our_destination.get_target_turf() + + vis_contents += block(locate(center_turf.x - 1, center_turf.y - 1, center_turf.z), locate(center_turf.x + 1, center_turf.y + 1, center_turf.z)) diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index bf79a3ed15..ed3f274f47 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -176,6 +176,7 @@ /obj/effect/spawner/bundle/crate/surplusrifle, /obj/item/storage/toolbox/ammo/surplus) crate_name = "surplus military crate" + crate_type = /obj/structure/closet/crate/secure/soviet /datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C) for(var/i in 1 to 5) diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index 8fc1275e4a..16554b61ab 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -98,6 +98,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas) crate_name = "surplus russian clothing" + crate_type = /obj/structure/closet/crate/secure/soviet /datum/supply_pack/security/russian_partisan name = "Russian Partisan Gear" @@ -113,6 +114,7 @@ /obj/item/clothing/under/syndicate/rus_army, /obj/item/clothing/mask/gas) crate_name = "surplus russian gear" + crate_type = /obj/structure/closet/crate/secure/soviet /datum/supply_pack/security/russian_partisan/fill(obj/structure/closet/crate/C) ..() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 6732f1c86c..254ed60c03 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -145,7 +145,7 @@ /obj/item/clothing/suit/armor/riot name = "riot suit" desc = "A suit of semi-flexible polycarbonate body armor with heavy padding to protect against melee attacks. Helps the wearer resist shoving in close quarters." - icon_state = "riot" + icon_state = "swat" item_state = "swat_suit" body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index ffa2d86e15..6551b1e336 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -10,6 +10,7 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT layer = LIGHTING_LAYER invisibility = INVISIBILITY_LIGHTING + vis_flags = VIS_HIDE var/needs_update = FALSE var/turf/myturf diff --git a/html/changelog.html b/html/changelog.html index af316dfb87..d1276874d0 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,23 @@ -->
+

03 May 2021

+

TripleShades updated:

+ + +

01 May 2021

+

qweq12yt updated:

+ +

30 April 2021

DrPainis updated: