Commit Graph

2491 Commits

Author SHA1 Message Date
Cameron Lennox 0e24446f12 Icon Fixup [IDB IGNORE] (#18284)
* Begin the sprite consolidation

* med stand

* Library

* kitchen cart

* hydroponics

* Delete hydroponics_machines_vr.dmi

* furniture

* unused computer

* food

* fitness

* fixes the eggs

* Decals

* Drinks, Devices, and Drakie

* Cryogenic2

* combines

* chemical

* card new

* cards

* bereaucracy

* Xenoarch

* compile

* virology

* vehicles

* toys

* Surgery

* stationobjs

* clean these up

* gets rid of some dupes

* bye

* how did that get there

* Unused

* Gets rid of unused ninja dupe file

* Move all these old doors

* this too

* get rid of dupes

* Update airlock_angled_bay.dm

* fixes the map with a prop

* map fixes
2025-08-17 19:09:57 -04:00
Will eba43f278c Explosion subsystem (#17499)
* Initial port

* pause air

* decoupled input from processing

* explosion condition tweak

* closer to original recursive code

* accurate explosions

* better defer calls

* glob fix

* fix

* DON'T DO THAT

* initial deferral code

* small explosions ignored

* lower thresholds

* better thresholds again

* forbid powernet defer during init, explosions too

* don't block your own network regen

* use procs

* better thresholds, always defer at least

* admin notice

* subsytem updated

* Allow removal from networks

* defer till rebuild

* dir

* Update breaker_box.dm

* no init means no init

* then flag it...

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-15 22:55:19 +02:00
Cameron Lennox a415233d22 white chocolate is not chocolate (#18224) 2025-08-10 16:21:12 +02:00
Selis f4bf017921 Unit Test rework & Master/Ticker update (#17912)
* Unit Test rework & Master/Ticker update

* Fixes and working unit testing

* Fixes

* Test fixes and FA update

* Fixed runtimes

* Radio subsystem

* move that glob wherever later

* ident

* CIBUILDING compile option

* Fixed runtimes

* Some changes to the workflow

* CI Split

* More split

* Pathing

* Linters and Annotators

* ci dir fix

* Missing undef fixed

* Enable grep checks

* More test conversions

* More split

* Correct file

* Removes unneeded inputs

* oop

* More dependency changes

* More conversions

* Conversion fixes

* Fixes

* Some assert fixes

* Corrects start gate

* Converted some README.dms to README.mds

* Removes duplicate proc

* Removes unused defines

* Example configs

* fix dll access viol by double calling

* Post-rebase fixes

* Cleans up names global list

* Undef restart counter

* More code/game/ cleanup

* Statpanel update

* Skybox

* add

* Fix ticker

* Roundend fix

* Persistence dependency update

* Reordering

* Reordering

* Reordering

* Initstage fix

* .

* .

* Reorder

* Reorder

* Circle

* Mobs

* Air

* Test fix

* CI Script Fix

* Configs

* More ticker stuff

* This is now in 'reboot world'

* Restart world announcements

* no glob in PreInit

* to define

* Update

* Removed old include

* Make this file normal again

* moved

* test

* shared unit testing objects

* Updates batched_spritesheets and universal_icon

* .

* job data debug

* rm that

* init order

* show us

* .

* i wonder

* .

* .

* urg

* do we not have a job ID?

* .

* rm sleep for now

* updated rust-g linux binaries

* binaries update 2

* binaries update 3

* testing something

* change that

* test something

* .

* .

* .

* locavar

* test

* move that

* .

* debug

* don't run this test

* strack trace it

* cleaner

* .

* .

* cras again

* also comment this out

* return to official rust g

* Update robot_icons.dm

* monitor the generation

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-10 01:37:23 +02:00
Will 80c35d23a7 decaf (#18208) 2025-08-09 14:29:59 +02:00
Will 8b8b981515 Allergic Reaction Element (And direct_say proc) (#18131)
* new allergies

* Mushroom allergy actually works

* handle allergens

* rework into element

* improved pollen

* shroom tweaks

* Moved say to non blocking

* cleanup

* pollen chance tweak

* small fixes

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-08-08 11:59:26 -04:00
Will b8e26ac2a9 Changeling Blood Test (#18171)
* changeling blood

* more handling

* actually don't
2025-08-07 21:24:20 -04:00
Will c81f5b697f Reagent cooled atmo machines (#18178)
* reagent based cooling for heaters and coolers

* UI and wiki

* some adjustments

and fixes coolant tanks lol

* adds coolant tank to cargo

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-08-07 03:51:02 -04:00
Cameron Lennox 9338dd2611 Gripper update (#18064)
* Begin godmode

* Adds signals to a LOT of things

Also makes godmode signal based.

* Delete life_signals.dm

* better like this tbh

* this toooo

* logic is hard sometime

* Info and moving that detach

* Unreg these

* Organs

* yeh

* BESPOKE

* emp

* robutt

* YEEE HAAA

* Instant Damage

* these should be updated as well

* Update human_damage.dm

* eh lets move this as well

* Initial

* signalis

* Update robot_simple_items.dm

* wordington

* these too

* more gripper fixes
2025-08-06 23:46:15 +02:00
Will e69f502eec powercell lol (#18144) 2025-08-05 00:36:41 +02:00
Will 1caa888f0f illegal sheet numbers (#18146) 2025-08-05 00:34:48 +02:00
Kashargul 39a0bcd60e Encode changes (#18052)
* change encode

* guhh

* .

* .

* .

* Update code/game/antagonist/antagonist_objectives.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/clothing/spacesuits/rig/modules/specific/voice.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/news/new_newspaper.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/admin/DB ban/functions.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/tgui/modules/communications.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-08-05 00:19:22 +02:00
Cameron Lennox c67af04b0b fixes internal bleed (#18142) 2025-08-04 09:09:41 -07:00
Will 32fac1e40e Refinery Feedback P1 (#18140)
* drillbore fracking

* many small fixes

* big list update

* match recipie

* small tweaks

* tool message

* reagent amount per stack type

* oops
2025-08-04 10:34:36 -04:00
Cameron Lennox dd2b34b0d5 makes gas refinery use coolant instead of frost oil (#18122)
* be cool

* Update gas_condensing.dm
2025-08-02 03:38:24 -04:00
Will f67d095338 Reagent Refinery (#17955)
* starting port

* missed one

* fixes and wip

* more cleanup

* reagent data setup

* distillation testing

* tanker dmi again

* supply pack fix

* Tiny fix

* better formatting

* metallic paints and outpost reagents

* working on refinery tutorial, reactor construction icons

* reactor activation dot

* updated for new reagent hoses

* This as well

* pump relay object

* climbing support

* less ugly trolly tanker handling

* more cleanup

* reagent pumping updated

* climbable tanker

* fixed test

* test fails

* smart centrifuge board

* pump relay art updated

* hose doesn't show message when stacking

* gas cracks and fracking

* randomly spawned gas gracks

* indentation

* fixed

* runtime fix, lore fix

* turf change respecting atmos

* args

* nevermind

* gas cracks to poi fodder

* less gamer

* compile fix

* oops

* Old ores enabled

* paint distillations

* unittest

* many more distillation reactions

* nullcheck

* guide book

* tweaks to globs

* moved designs

* techweb

* reagent tanker sale element

* proper tag

* sellable

* typo, reduced hose connectors

* show reagent

* synthfab fix

* Revert "synthfab fix"

This reverts commit b7764cfb33.

* post sale tank handling

* tweak

* oops

* another oops

* smasher recipe now valid

* condensing gas recipies

* those too

* condensing tweaks

* matching mols better

* fluid pump missing

* code review

* no rain code here

* smart centrifuge update

* small grinder patch

* grinding fix

* fix
2025-08-02 07:07:17 +02:00
Will 6f6ab0f281 Dizzy and jittery components (#18054)
* dizzy and jitter component

* no need for set_jittery

* minimize proc differences

* not needed

* jitter

* match old behavior

* jitter medical issue fix
2025-07-31 01:07:57 +02:00
Kashargul 4874f2a117 Biomeport (#18022)
* biome port

* fix

* umm

* up

* prettier on repo level

* .

* uh

* fix that

* .

* guh

* could be deelted

* fix query

* raccoon

* raccoon
2025-07-20 16:48:40 +02:00
Kashargul 7301d1121f tgui default background color port (#18008)
* tgui default background color port

* globs are not ready yet

* prettier

* .
2025-07-16 11:13:26 -07:00
Cameron Lennox 84dc5535dc var/global/list -> GLOB. conversion (#17928)
* These two are easy

* !!!runlevel_flags

the fact it was global.runlevel_flags.len has me a bit...iffy on this.

* !!!json_cache

Same as above. used global.

* player_list & observer_mob_list

* mechas_list

* this wasn't even used

* surgery_steps

* event_triggers

* landmarks_list

* dead_mob_list

* living_mob_list

* ai_list

* cable_list

* cleanbot_reserved_turfs

* listening_objects

* silicon_mob_list

* human_mob_list

* Update global_lists.dm

* joblist

* mob_list

* Update global_lists.dm

* holomap_markers

* mapping_units

* mapping_beacons

* hair_styles_list

* facial_hair_styles_list

* Update global_lists.dm

* facial_hair_styles_male_list

* facial_hair_styles_female_list

* body_marking_styles_list

* body_marking_nopersist_list

* ear_styles_list

* hair_styles_male_list

* tail_styles_list

* wing_styles_list

* escape_list & rune_list & endgame_exits

these were all really small

* endgame_safespawns

* stool_cache

* emotes_by_key

* random_maps & map_count

* item_tf_spawnpoints

* narsie_list

* active_radio_jammers

* unused

* paikeys

* pai_software_by_key & default_pai_software

* plant_seed_sprites

* magazine_icondata_keys  & magazine_icondata_states

* unused

* ashtray_cache

* light_type_cache

* HOLIDAY!!!

this one was annoying

* faction stuff (red?!)

* Update preferences_factions.dm

* vs edit removal

* backbaglist, pdachoicelist, exclude_jobs

* item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access

* string_slot_flags and hexdigits->hexNums

* possible_changeling_IDs

* vr_mob_tf_options

* vr_mob_spawner_options

* pipe_colors

* vr_mob_spawner_options

* common_tools

* newscaster_standard_feeds

* Update periodic_news.dm

* changeling_fabricated_clothing

* semirandom_mob_spawner_decisions

* id_card_states

* Update syndicate_ids.dm

* overlay_cache & gear_distributed_to

* more

* radio_channels_by_freq

* Update global_lists.dm

* proper

* default_medbay_channels & default_internal_channels

default_internal_channels is weird as it has a mapbased proc() but that proc is never called...

* valid_ringtones

* move this

* possible_plants

* more

* separate these

moves xeno2chemlist from a hook to a new global list.

* tube_dir_list

* valid_bloodreagents & monitor_states

* Junk

* valid_bloodtypes

* breach_burn_descriptors & burn

* more!!

appliance_available_recipes seems uber cursed, re-look at later

* Appliance code is cursed

* wide_chassis & flying_chassis

* allows_eye_color

* all_tooltip_styles

* direction_table

* gun_choices

* severity_to_string

* old event_viruses

* description_icons

* MOVE_KEY_MAPPINGS

* more more

* pai & robot modules

* Update global_lists.dm

* GEOSAMPLES

Also swaps a .len to LAZYLEN()

* shieldgens

* reagent recipies

* global ammo types

* rad collector

* old file and unused global

* nif_look_messages

* FESH

* nifsoft

* chamelion

* the death of sortAtom

* globulins

* lazylen that

* Update global_lists.dm

* LAZY

* Theese too

* quick fix

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-14 20:14:31 +02:00
Kashargul 3735a31e05 Fix a bunch of issues and runtimes (#17951)
* selection target

* ugh

* fix deadmin

* larger

* fix paper icons

* those are inverted

* don't miss that

* fix all

* point transfer

* add nostrip flag to items

* un....  teppi

* .

* end life proc after qdel

* this could be null in very rare cases

* this has a lot of sleeps, someday should be refactored and check for qdeleted

* needs to be an object

* qdel check this

* use the rsc properly

* wtf?

* .

* fix narrate

* .

* push

* inform user, null it

* .

* can be null

* fix maint lurkers

* .

* spans

* .

* fix that too

* urg

* fix distillery

* don't wrap them

* needs usr

* Update cash_register.dm

* quick hook cleanup

* lots of fixes

* .

* clean that up for reasons
2025-07-05 00:45:18 -04:00
Reo Lozzot e88e6eb37e Unglogs Soap and makes it work similar to how it used to (#17868)
* real

* I forgot to save DMI changes ! epic

* Soap names, afterattack() cleanup and lye, Oh my!

fnnuy

* Better handling of conflicting recipes.

oiter
2025-07-01 03:19:31 -07:00
Guti b1bb643fc2 . (#17904)
Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-06-27 17:57:21 +02:00
Kashargul 55a3daa81d bunch of issues (#17900)
* bunch of issues

* .

* fix those properly

* safety else none at all

* .

* workaround for a byond bug

* .

* invis robot weapons

* light needs to be reset

* .

* use proper datums

* fix sorting here

* only store non vital

* .

* Update organ_external.dm
2025-06-25 23:39:44 -07:00
Will 5d31f14e94 Climbable Element (#17764)
* Initial work

* small fix

* another fix

* this better?

* proper type

* condensing this a bit

* functioning

* death reporting subsystemed

* fixed

* cleanup

* use proper sql sending

* listvar

* add more climbable things

* moving things while climbing them is considered shaking

* tabbing fix

* knockdown should stop climbing

* no need to bother

* spaces

* more climbable objects

* fix

* small fixes

* office climbables

* yet more stuff

* engineering things

* a few more

* it's funny

* fixes

* additional

* Moved to element

* some more stragglers

* unneeded

* more graceful

* cliffs require special handling

* don't do dumb init things

* unneeded sanitization, mass insert sanitizes

* some small condition fixes

* return if climbable

* incorporeal check

* stop using numbers directly

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-06-20 09:56:56 +02:00
Will fb1aa59374 allow nondna blood smearing (#17880)
* allow nondna blood smearing

* use lazyor
2025-06-17 23:34:22 -07:00
Will bfbab4e357 dump reagents instead of just fuel (#17885) 2025-06-17 22:57:44 -07:00
Guti 1c326a38e1 Viruses now spawn with random names (#17882)
* Disease descriptions

* Random names
2025-06-17 20:29:06 +02:00
Will 2610f7b553 CI fix for component hose connector (#17873)
* CI wanted component fix

* moved to signal
2025-06-16 17:02:33 +02:00
Will e9f7e3b784 Mob Hose Inflation and Draining (#17849)
* inflation handling

* lets not allow that

* some fixes

* additional sanity and sanitization

* borg connector, refactors

* type correction

* reagents to bellies become belly reagents

* handle prefs

* pref handling expanded

* pain tweaks

* need to handle it this way

* multiple fixes

* proper belly interaction

* belly update belly update for vore
2025-06-14 03:02:42 -07:00
Will 2e9b293113 Better handling for multiple hose connectors (#17838)
* Better handling for multiple hose connectors

* Better distance handling

* Delete cell
2025-06-10 19:51:43 -07:00
Will ad15521409 Hose Connector Component (#17836)
* mostly working

* fixed stacking stuff

* some updates to fix weird behaviors and add more clarity

* weakref and colors

* fix He3 reagent tank

* organization

* cleanup hose disconnection

* hosed chemsprayer behaves

* doesn't need to be 100

* fast processing needs even less

* organization

* no react in hoses
2025-06-10 10:55:34 -07:00
Kashargul fa4586e0c6 browse to browser part 1 (#17800)
* browse to browser

* some more

* fix that

* fix that

* .

* datum browser update port

* .

* .
2025-06-06 00:22:16 -07:00
Will ae718f07e3 Forensics Datum (#17796)
* forensics datum initial work

* typo fix

* glove recursion fix

* missing bloodtype on organ data

* removed frustrating and unneeded b_type var from humans

* no leaky

* listcheck

* documenting

* documentation
2025-06-05 23:30:11 -07:00
Cameron Lennox 01eab8bd72 Spooky/Horror modifier & various tweaks/fixes (#17775)
* spooky

Adds horror organs and reworks the redspace effect
Proper organ names & tweaks
- Lowers time of the internal organ surgery steps. Min&max is the same
- When going to remove an organ, it now shows you the name of the organ instead of 'what it is'
- Removes the inability to put dead organs in bodies...Even if it's dead, you can still physically put it back in.
Fixes everyone that was missing spleens
Fixes worm meat not runtime when cut
Stumbled across these...Fix them to forcemove

* LINT

* fine you win DM

* Secret~
2025-06-02 14:03:34 -07:00
ShadowLarkens 69dc87ab45 Makes unathi reaction to sugar not put them to sleep (#17772) 2025-06-01 14:03:18 -04:00
Guti 9eb876de72 Soap & clean proc refactor (#17744)
* Automatic changelog compile [ci skip]

* soap

* Washy wash

* Big wash

* washy

* Update soap.dm

* washiest

* .

* .

* Washes the linter

* scrubs the linter

* washes indentation

* .

* updaet

---------

Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-05-31 10:31:15 -07:00
Guti 0f40ad6416 Faltered & Dormant diseases update (#17720)
* syringes

* *cough

* .

* .

* Makes linters happy

* Stares at the unit tests

* Oops

* typo

* Disease Carrier trait

* Virus Immunity trait

* No dormant disease trait

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-05-30 15:23:46 -07:00
SatinIsle 919dce1a14 Collector event machine (#17751)
Added a new event collector objector that is designed for events where players have to gather items to complete a recipe. Has a lot of customisable options to create various types of machines with different functions, including one subtype set up for a near-future event.
2025-05-27 10:47:37 -07:00
Will 5e0e4925d0 Update food_drinks.dm (#17736) 2025-05-23 17:20:17 +02:00
SatinIsle 10c0882a60 Rebalanced spider security events (#17725)
* Rebalancing spider events

* Update vorestation.dme

* Updated timers

* Removed sleeps

Tested and it works fine still!

* 0.5 SECONDS
2025-05-19 13:55:24 -07:00
Will c213dbcd21 Reagent Addictions (#17498)
* Addictions

* improvements to addiction code

* some small revamps

* some polishing to reagent code

* some more fixes

* wiki updated for addiction

* proper addiction sync on respawn

* final cleanup, config

* coffee handle addiction proc

* fixed global var

* Addictions and

Gives alcohol special effects
Disables the harder addictions
Gives nicotine an a special effect

* remove >0

* safety

* Update medicine.dm

* Update medicine.dm

* Update food_drinks.dm

* update lazydefines

* disable alcohol addiction on virgo

* use lazylen, proper addiction end messages

* cure message bugfix

* use right args

* proper macro

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-05-15 10:57:41 -07:00
Cameron Lennox 2b0853887b Shadekin and Xenochimera variable refactor (#17651)
* gets rid of xenochimera brain var

* whoops

* shadekin too

ye https://i.imgur.com/lNI2AiG.png

* organize

* simplekin too

* yuh

* Refactors xenochimera

progress:
https://i.imgur.com/ssQbRKS.png
https://i.imgur.com/ySBxm0M.png
https://i.imgur.com/3FWPVuP.png

* Update xenochimera.dm

* Update examine_vr.dm

* Update xenochimera.dm

* Update xenochimera.dm
2025-05-12 21:44:25 +02:00
Guti 78c71907e9 Balloon Alerts (#17540)
* balloon alerts

* Take that one out

* fixes

* fixes 2

* Missing one

* That goes there

* ough

* ,

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-05-08 22:00:54 +02:00
Cameron Lennox 59714ed6de Makes spacomycaze actually useful (#17660) 2025-05-05 11:38:55 +02:00
MeepleMuncher ef8e5fdb70 Makes Hell Ramen and Soemmerfire not kill people (#17577)
* makes spicy food not kill spicy characters

* whoopsie

* using preexisting capsaicin code instead of applying a band-aid fix

* makes it into a proc!

* ope, extra space there
2025-04-25 00:12:54 +02:00
SatinIsle d803a38bdf AllergyPen and autoinjector costs (#17545)
* AllergyPen and autoinjector costs

Added a new AllergyPen autoinjector, available via the loadout (1 point) and medical vendors. Basically the same as the inaprovaline injectors that everyone starts with anyway, but with a new sprite and text to theme them around characters with allergies.

Reduced the cost of large autoinjectors in the injector maker from 1500 to 300. The small ones cost 30 already, and the large ones are definitely worth way more but getting more than one per sheet of plastic would be really nice! Hopefully will make the injector maker more used.

* Update injector_maker.dm
2025-04-21 20:02:48 -04:00
Guti 640cab345e Virology Update #3 (#17227)
* Base stuff

* Thresholds

* Cockroaches, adjustments

* Extrapolator + TGUI Update

* Adjustments

* Updoot

* Revert "Updoot"

This reverts commit 8c27a2525e.

* Gwuh

* test

* heals

* Genetic

* Holder and vomit

* Indents

* Compilable :)

* Various fixes

* Updates Symptoms

* Genevirus

* Neutered Symptoms

* Adjustments

* rads

* Extra symptoms

* Extra extra symptoms

* Adjustments, fixes, more symptoms

* Powder that makes the linter green

* Finishing touches?

* Fixup maps in TGM format

5041170ae1: maps/expedition_vr/beach/submaps/quarantineshuttle.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Last bits

* Defines

* Oxy heal

* I crave the green check

* fix

* Maps

* Macrophages to turf

* Fimxes

* Fixes :)

* Vomit

* Preset

* Fire desc

* SPELLING MISTAKE

* Extra stuffs

* types

Allows infecting children of a type

* feet

paws?

* fix

* Fixes

* Update

* Flags

* Update _disease.dm

* Infinite blood glitch (100% real)

* virus data properly carries over

* GODSPEED, KELENIUS

YOUR 10 YEAR TODO IS FINALLY DONE

* define

* U2

* Implicit

* Damn it Fleming

* oops

linter is kill

* Update _reagents.dm

* Extra check

* .

* ough

* fixes

* Small changes

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-04-21 06:12:15 -04:00
Selis 28e969778c code/global.dm => code/_global_vars/ (#17244)
* 1

* Full conversion

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-21 05:55:25 -04:00
Kashargul db423858d6 fix a bunch of runtimes (#17557)
* fix a bunch of runtimes

* can be null

* ..

* human

* .
2025-04-21 05:18:45 +02:00