Commit Graph

1275 Commits

Author SHA1 Message Date
SkyratBot
8b9c20a608 [MIRROR] Fixes bolt action guns getting phantom bullets chambered upon initialization. (#1319)
* Fixes weapons with standard bolts, like Mosin Nagants, getting a chambered bullet when they shouldn't. (#54290)

Fixes bolt action guns getting phantom bullets chambered upon initialization.

* Fixes bolt action guns getting phantom bullets chambered upon initialization.

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2020-10-15 08:38:40 +02:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
3504887403 [MIRROR] Lasergun resizing (#1247)
* HoS and Captain Laserguns are now normal sized (#54281)

Co-authored-by: PolishUser <fakemail@ fake.com>

* Lasergun resizing

Co-authored-by: PolishUser <55540334+PolishUser@users.noreply.github.com>
Co-authored-by: PolishUser <fakemail@ fake.com>
2020-10-11 18:53:34 +01:00
Gandalf
51eb607542 [READY FOR REVIEW] Gun play + Gun reliability(and cleaning)(and more) (#1094)
* Starting

* reliability

* modification

* reeee

* Update master.dm

* Update master.dm

* german engineering

* Update master.dm

* Update mg34_lefthand.dmi

* wooo better sprites

* Update mp40.dmi

* more realism and pps

* Update master.dm

* more realism!

* aa

* de-define

* Update master.dm

* uptoot

* Update master.dm

* misc updates

* Update master.dm

* sprite changes

* Remove stupid defines

* Update master.dm

* Update master.dm
2020-10-09 00:06:59 +02:00
SkyratBot
2e03080879 [MIRROR] most laser and energy weapons are bigger, lethal lasers are cheaper (#1174)
* most laser and energy weapons are bigger, lethal lasers are cheaper (#54041)

Nearly all guns except the security disabler is large, meaning it can't fit in backpacks.

* most laser and energy weapons are bigger, lethal lasers are cheaper

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-10-07 00:13:22 +02:00
SkyratBot
18f4fb5029 [MIRROR] Fix skill related runtimes in mindless mobs. (#965)
* Fix skill related runtimes in mindless mobs. (#53691)

Fixes related to mindless mobs using skills

* Fix skill related runtimes in mindless mobs.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-24 20:33:19 +02:00
SkyratBot
5ec03f22f4 [MIRROR] Sprite stuff: missing belt and suit storage sprites among others (#925)
* Sprite stuff: missing belt and suit storage sprites among others (#53804)

About The Pull Request
Adds a bunch of sprites including:

A basic nullrod sprite
Belt sprites for the claymores lol nevermind
Backsprites for the cult blade and changed the chaplain's darkblade to fit on the back.
Suit storage sprites for the dark scythe, the cultblade, the spellblade, the claymores, katana and the nullrod

Suit storage sprites for a whole host of high powered firearms. You can visibly tell someone has shotguns or sniper rifles in their armor vest. How neat.

You can't conceal stunprods in armor suit storage anymore.

Nullrod cultsword (darkblade) also uses a uniquer inhand. Ye.

Also knives and a rolling pin belt sprite, hecc!

I also did some other stuff look there are a lot of sprites and I want to sleep please leave me alone nullrods are fucking stupid.

* Sprite stuff: missing belt and suit storage sprites among others

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2020-09-23 10:00:54 +01:00
SkyratBot
4b6cc9d088 [MIRROR] Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#830)
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305)

* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-09-17 02:05:30 +01:00
SkyratBot
4b48fd800b [MIRROR] Makes the syndicate syringe gun start with a syringe loaded. (#801)
* Makes the syndicate syringe gun start with a syringe loaded. (#53656)

* Makes the syndicate syringe gun start with a syringe loaded.

Co-authored-by: Mike Long <lordpidey@users.noreply.github.com>
2020-09-14 20:36:21 +01:00
SkyratBot
1e705faa19 [MIRROR] Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#709)
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)

* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component

* Process procs now properly utilize deltatime when implementing rates, timers and probabilities

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-09-09 08:19:23 +02:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
335fd6ca0d [MIRROR] Fixes some bugs with the detective's revolver. (#513)
* Fixes some bugs with the detective's revolver. (#53107)

* Fixes some bugs with the detective's revolver.

Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
2020-08-26 01:12:57 +02:00
SkyratBot
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot
0b65cc596b [MIRROR] Overlay lighting component (#469)
* Overlay lighting component (#52413)

Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑

* Overlay lighting component

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-23 20:17:12 +02:00
SkyratBot
49f7becb88 [MIRROR] Personalized combat messages part 2 (#334)
* Personalized combat messages part 2 (#52890)

Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators

* Personalized combat messages part 2

* Update misc.dm

Co-authored-by: kingofkosmos <riki.sundberg@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-08-14 23:29:15 +02:00
SkyratBot
73773886e2 [MIRROR] No more flipping your gun instead of reloading. (#323)
* No more flipping your gun instead of reloading. (#52868)

Now you do both regardless.

* No more flipping your gun instead of reloading.

Co-authored-by: Fhaxaris <Chrisamcculler@gmail.com>
2020-08-13 00:20:32 +02:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
SkyratBot
69ca73cf48 [MIRROR] Added sprite for empty syringe gun, loading sound (#230)
* Merge pull request #52736 from Jared-Fogle/syringe-gun-sprite

Added sprite for empty syringe gun, loading sound

* Added sprite for empty syringe gun, loading sound

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-08-07 11:06:38 +02:00
SkyratBot
97c323b98e [MIRROR] Sharpness fixes (#221)
* Sharpness fixes (#52720)

* Sharpness fixes

* fix

* Sharpness fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-08-07 01:38:38 +01:00
SkyratBot
1f4ee89509 [MIRROR] Contributes more missing belt, back, and otherwise ERRORing sprites. (#220)
* Contributes more missing belt, back, and otherwise ERRORing sprites. (#52670)

* I'm crying over all these beeeeeeelts

* Removes ?

* Provides some close enough substitutes for inhands

* Contributes more missing belt, back, and otherwise ERRORing sprites.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-08-07 01:38:23 +01:00
SkyratBot
d5b12daac5 [MIRROR] Ballistic gun icon / overlay / ammo fixes. Adds support for suppressors to extend outside of a gun's 32x32 icon. (#176)
* Ballistic gun icon / overlay / ammo fixes. Adds support for suppressors to extend outside of a gun's 32x32 icon. (#52634)

* Ballistic gun fixes

* More fixes

* Ballistic gun icon / overlay / ammo fixes. Adds support for suppressors to extend outside of a gun's 32x32 icon.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-08-03 16:34:27 +02:00
SkyratBot
284f2de8a1 [MIRROR] Cleans up some unused procs and makes is_blocked_turf a turf proc. (#136)
* Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)

* Cleans up some unused procs and makes is_blocked_turf a turf proc.

* Update code/game/turfs/turf.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>

* Cleans up some unused procs and makes is_blocked_turf a turf proc.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-31 00:30:27 +02:00
Azarak
0d90ac69fa Merge pull request #41 from Skyrat-SS13/upstream-merge-52383
[MIRROR] Fix leading slashes and turn on linting for it
2020-07-26 01:13:53 +02:00
Ryll Ryll
a97c51b30b [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 22:20:09 -04:00
skoglol
ef4836c1a5 Merge pull request #52383 from spookydonut/leadingslash
Fix leading slashes and turn on linting for it
2020-07-23 11:35:57 -04:00
Timberpoes
a24d6f5adb Exosuit Fabricator tgui Total Conversion - An Ode to Roboticists (#52073)
* First draft

* tgui interface bluescreen guards

* Preparing for cyborg module sub-categories

* The rest of the owl

* Stop duplicate say messgaes

* Implement interface handling for obstructed exits

* Pocket lint

* Documentation and misc. code cleanup

* Implement searching in interface

* tgui pocket lint and build

* Coding style consistency and changes. Rebuild tgui.

* Update default bitflags

* Address potential edge case bluescreen.

* orange man good

* Remove emag_act with obsolete functionality

* Standardise variable naming conventions

* tgui 4.0 update

* tgui 4.0 update

* Port a couple of usability improvements from concept branch.

* Fix new ui_act input.

* Actually fix new ui_act input

* Port some small improvements from concept branch.

* Rebuild tgui

* Made department of redundancy department redundant.

* Rebuild tgui.
2020-07-18 19:09:24 +03:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ShizCalev
254536072e [s] sanity checks vv_edit_var() values (#52255)
cl ShizCalev
fix: Added some sanity checking for varedit values.
/cl
* sanity checks vv_edit_var() values

* this should be an or

* one more fix
2020-07-16 10:20:41 +12:00
ShizCalev
7cbbe3502c Fixes runtime when doing things with a ballistic gun without a magazine loaded 2020-07-07 20:23:01 -04:00
skoglol
ad4b78a5c5 Merge pull request #52034 from ShizCalev/energy-gun-icons-m2
Unfucks worn energy gun icons... again
2020-07-07 16:27:05 +02:00
skoglol
615f824010 Merge pull request #52036 from ShizCalev/gun-overlay-fix
Fixes L6 inhands
2020-07-07 16:23:55 +02:00
skoglol
959270568a Merge pull request #52037 from ShizCalev/gun-magazine-overlay-fix
Fixes magazine overlays not working
2020-07-07 16:23:10 +02:00
ShizCalev
5c5e1a3454 Merge branch 'master' into energy-gun-icons-m2 2020-07-05 22:39:39 -04:00
ShizCalev
fdf5ac35ee Fixes some minor ingition_message grammar issues (#51889) 2020-07-06 14:07:17 +12:00
ShizCalev
f8bfc93b2b fixes magazine overlays 2020-07-05 21:40:52 -04:00
ShizCalev
c250a1a67a Fixes L6 inhands 2020-07-05 21:39:34 -04:00
ShizCalev
87dc1306fb kiss 2020-07-05 19:45:36 -04:00
ShizCalev
704aa41a84 esniper sprite 2020-07-05 19:34:46 -04:00
ShizCalev
8b0fb19212 unfucked laser cannon 2020-07-05 18:36:03 -04:00
ShizCalev
59bc79057c Unfucks worn gun icons again 2020-07-05 18:22:18 -04:00
ShizCalev
411dea9542 Merge pull request #51659 from TaG2e/master
Fixes more missing sprites and adds invisible icon
2020-07-01 11:58:17 -04:00
TaG2e
1c216ff132 Fix Conflict: The 2nd Attempt 2020-06-28 17:52:08 -05:00
TaG2e
abd2fdabcf Resolve conflict 2020-06-28 17:47:27 -05:00
TaG2e
5276005acb Reverts, changes, and fixes to sawoff and energy weapons' icons 2020-06-28 17:34:41 -05:00
Paxilmaniac
54572041bd Adds smg to replace the mosin as nuke op surplus gun. Remake of #51285 (#51314)
* github makes my brain hurt

i managed to completely fuck over the last branch

* gun inhands

please god travis dont fail

* just learn the recoil pattern like cs:go bro its not that hard

5 more spread

* wtf appveyor

capitalizes the magazine name to make appveyor run again

* those were, in fact, not the correct inhands

dont know how i fucked up the arg inhands, urg moment indeed

* Update code/modules/projectiles/boxes_magazines/external/smg.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* fixes a minor sprite fucky wucky

would have helped if i actually tested if the sprites work

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-06-22 16:25:39 -03:00
Jordan Brown
c89d7b188d Fix Docker Build (#51781)
* Change BYOND version to 513.1526

* Remove BSQL from docker image

* Add a docker publish action

* Add a docker test action

* Cleanup runtime icons

* Cleanup runtime sounds

* Correct docker workflow names

* Add Dockerfile as an appveyor cache dependency

* Fix build issues

* Copy all dlls

* No need for .dlls in docker

* Minor cleanups
2020-06-22 16:49:07 +02:00
TaG2e
8f72395637 Fixes more item icons, conflicts, and default hidden to false 2020-06-20 19:00:36 -05:00
TaG2e
b9ec327c17 Fixes more missing sprites and adds invisible icon 2020-06-15 01:56:12 -05:00
ShizCalev
1ff3945b30 Fixes more belt missing texture crap (#51597)
* Fixes more belt missing texture crap

* #51010 progress

* tank fixes

* typo

* Removed dead/duplicated code

* cleanup

* don't need the - meme anymore with build_worn_icon

* icon fix

* commentary

* yelling at future coders

* more condensedd
2020-06-13 14:16:52 -04:00
Ryll Ryll
0f6496a55c [READY] Adds Medical Wounds: Bamboo Bones and the Skin of Your Teeth (#50558)
About The Pull Request

This PR adds medical wounds, new forms of injuries that people can suffer that cause debilitation and complications, and often require more than what can be found in a medkit to treat. But let's be honest, big complicated walls of text about medical changes make people's eyes glaze over easily- so I created a handy infograph to explain the basics!

Also there's a full guide here!

dreamseeker_2020-04-18_20-42-19.png

The infograph may not be fully up to date with the specifics of the PR's status, but it'll be updated along with major changes so people have something to use as a crash course for familiarizing themselves with how wounds function. I also have another infograph with all 9 of the possible initial wounds coming, and will be up soon. You can also find the longform design doc here with more info on the broad details, including descriptions of treatments: hackmd whee
What this does

There's a lot to cover, but here's the bullet points of the main features and changes:

    Getting lots of damage on a limb can result in wounds, with more damage causing worse wounds. These can range from dislocated joints and minor cuts to compound fractures and fourth degree burns, and can affect you in different ways depending on what bodypart they're applied to (namely with broken bones).
    You can damage individual bodyparts on clothing (only jumpsuits for now) through the use of lasers and sharp weapons. Bodyparts that reach max damage are considered "shredded" and will not apply any protection for that zone until it is repaired with cloth. If all zones are disabled, the entire piece of clothing is shredded and unwearable until repaired with 3 cloth. Jumpsuits give a small amount of wound protection, and since sharp weapons and lasers generally get extra wound bonuses against bare flesh, even a plain jumpsuit provides decent protection from a few laser shots or scalpel stabs.
    Lasers gain a powerful niche versus unarmored/lightly armored carbons! As noted above, lasers can shred clothing and burn away zones of jumpsuits in 2 shots each, after which the target's bare flesh is exposed (barring other clothing), and lasers excel at dealing burn wounds against uncovered skin. Think big, nasty charring!
    Bleeding is now totally limb based, and gauze is as well. Bleeding is also 95% cut wound based, meaning sharp weapons make you bleed rather than just having 40+ brute on a limb.
    The more wounds and damage you get on a bodypart, the easier it'll be to gain more severe wounds. Wounds are arranged from Moderate, to Severe, to Critical in increasing severity, and you'll generally have to suffer the lesser ones before getting the worse ones.

dreamseeker_2020-05-15_03-15-59.png
Above: Someone having an incredibly bad day from bloodloss

dreamseeker_2020-05-04_22-29-29.png
Above: Scars from healed wounds

ShareX_2020-05-15_06-55-20.png
Above: Actual combat involving someone's head getting cracked

Here's a quick, if non-exhaustive, list of things I have left to do before I consider it feature complete

Finish adding treatments for each wound type/severity (mostly surgeries/triage for critical wounds)
Add second winds for bad injuries to give the victim a chance to get away
Flesh out severe & critical injuries in general
Find sprites for the bonesetter, bone gel, and anything else that might be needed
Add the medical items for treating the less severe wounds to the station
Polish code and remove any redundancies I left behind

    Quick balance pass to make sure nothing is horribly abuseable

Why It's Good For The Game

Adds a flexible new system for representing damage on carbons with injuries that can be treated in different ways. Moderate wounds from getting toolboxed or sliced with a scalpel can usually be treated by a buddy or even by yourself with the right tools, but getting flayed with a fireaxe or a laser gun emptied into your bare skin may require extra attention or even surgery in bad cases! Also makes laser guns cooler and more like 40k lasguns that can flash fry people (cool!)

This should also make spessmen more resilient and harder to kill outright, while still adding consequences and complications to getting hurt. Wounds aren't immediately fatal, but they can do things like slow down interactions, deal damage over time through infections, and generally make you more fragile until fixed. They can also give you a "second wind" on being applied that gives you a small adrenaline boost (or whatever) to help disengage and escape immediate danger.
Changelog

🆑 Ryll/Shaps
add: Introduces medical wounds, new injuries that can happen to fleshy carbons when they sustain lots of damage on a bodypart. There's quite a lot of change here, but you can read the guide at: https://tgstation13.org/wiki/Guide_to_wounds and an extended changelog is available here: https://hackmd.io/l_FI9b3tSqa_woDadewJXA
add: Introduces scars and temporal scarring! Healing a wound leaves a scar behind that can be seen by examining someone twice rapidly, and if Temporal Scarring is enabled in character prefs, surviving a round with scars will save them to be granted at roundstart another round! Let your body tell stories!
tweak: Bleeding is now fully bodypart-focused, and 95% of bleeding comes from cut wounds from sharp weapons. Gauze is applied on a limb-by-limb basis, and helps staunch bloodflow rather than totally stop it. Notably, you no longer bleed just from having 40+ brute damage on a limb.
del: Organic bodyparts are no longer disabled at maximum damage, but are easier to cause wounds to
add: O2 medkits in emergency lockers have been replaced with new emergency medkits with basic tools for diagnosing and treating wounds and basic damage
tweak: Herapin now rapidly increases bleeding on all open cuts, rather than causing bleeding by itself. The more cuts on the target, the more it will affect them.
tweak: Neckgrab table slams now hit the targeted limb rather than just the head, with a large chance to dislocate or break a bone
tweak: Sharp weapons and burning weapons can now shred zones on jumpsuits, disabling protection on that limb. Damaged clothes can be repaired with cloth.
tweak: Slaughter demons now deal less raw damage, but gain the ability to cause cut wounds, which becomes more powerful with each attack on a humanoid but resets when bloodcrawling.
/🆑
2020-06-12 23:47:33 +12:00