Commit Graph

52 Commits

Author SHA1 Message Date
SkyratBot
ed7e7b9cb8 [MIRROR] [READY] Multilayer plumbing machinery (#1440)
* [READY] Multilayer plumbing machinery (#54081)

* multilayer machinery!

* adds layer mode to plungers for changing plumbing layers

* minor fixes

* Adds more feedback to plunger layer mode and places proper checks for layer changing

* [READY] Multilayer plumbing machinery

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2020-10-23 12:50:50 +02:00
SkyratBot
3b88d2e754 [MIRROR] Werewolves rejoice! (removes silver from the dispenser). (#1329)
* Werewolves rejoice! (removes silver from the dispenser). (#54327)

* Werewolves rejoice! (removes silver from the dispenser).

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2020-10-16 03:36:38 +02:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* Enforce preserving parent proc return values across ui_act call stacks (#53964)

All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02: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
a5306924c3 [MIRROR] Makes reagent exposure methods bitflags (#527)
* Makes reagent exposure methods bitflags (#53164)

* Makes reagent exposure methods bitflags

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-26 02:37:07 +02:00
SkyratBot
56f65770e2 [MIRROR] Plumbing teleporters (#321)
* Plumbing teleporters (#51881)

* Makes the plumbing RCD accept every object

* Adds simple plumbing teleporter

* Polishes plumbing teleporters

* Fixes runtime

* this to src

* circuitboard doesnt need anchoring

* Fixes overlay flickering being weird

* Makes the Chemical Recipient's positioning less awkward

* Comments and documentation

* uh

* Fixes dme

* Revert "uh"

This reverts commit af6f30089f9f31d527f6ab3e2b1c72cf6ab6d60d.

* Update code/_globalvars/lists/construction.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/game/objects/items/RCD.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/_plumb_machinery.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* uncasts loop

* update icons

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Plumbing teleporters

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-08-13 00:20:00 +02:00
ShizCalev
7b94d8cb7e Fixes pill presses not checking for bottles (#52589) 2020-08-01 05:46:42 -04:00
ShizCalev
4b6500fb67 Makes all anchored changes use setAnchored(), COMSIG_MOVABLE_SETANCHORED now only sent if an AM's anchored var has changed for more reliable usage. (#52254)
* Converts everything to use setAnchored() + other fixes

* Fixed singulo debug

* singulo again

* forgot to move the vv_edit proc

* caught that this time :)

* changes

* Update code/game/atoms_movable.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-21 02:20:26 -03:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
TemporalOroboros
e78d82592f Refactors reagent exposure code (#51396)
* Refactors reagent exposure code

Removes istype clutter. Renames a few procs

* == TRUE

Adjusts COMPONENT_NO_EXPOSE_REAGENTS bitflag offset.

TODO: Remove comment

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

* == TRUE

Adjusts COMONENT_NO_EXPOSE REAGENTS bitflag offset.

Removes comment

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-06-21 20:03:19 -03:00
spessman-007
ab84042f94 [READY] Improve spelling (#51134)
* Improve spelling

* Spell isn't, ain't, shouldn't, hasn't, wasn't correctly

Co-authored-by: NewSta <spessman-007@users.noreply.github.com>
2020-05-25 02:13:37 +08:00
Tlaltecuhtli
4f44aa1ba9 re prs #50986 because the change didnt actually get merged because git hub broke things (#51153)
* 1

* Update bottler.dm
2020-05-25 02:10:31 +08:00
antropod
1a7c7aef0d Chemical press can now make patches and bottles (#51000)
* Pill press can now make patches

* Add bottles to Chem Press
2020-05-11 12:13:24 +03:00
Tlaltecuhtli
330c141228 new plumbing machines: fermenter and bottler (#50823)
* 1

* mystery commit

* space

* Update code/modules/plumbing/plumbers/fermenter.dm

Co-authored-by: trollbreeder <trollbreeder@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/bottler.dm

Co-authored-by: trollbreeder <trollbreeder@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/bottler.dm

Co-authored-by: trollbreeder <trollbreeder@users.noreply.github.com>

* Update bottler.dm

* inject and then move so the products are in the output tile

Co-authored-by: trollbreeder <trollbreeder@users.noreply.github.com>
2020-05-07 20:02:18 -04:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
Time-Green
d71964564d Fixes a dumb runtime and being able to spin anchored plumbing machines 2020-03-17 17:58:27 +01:00
Time-Green
c04abab2bf [READY] Makes plumbing mappable and reworks hiding (#49644)
🆑
tweak: Ducts can now be hidden under tiles
code: tile hiding is now an element and way cooler and sexier
/🆑

Ducts can now be hidden under tiles
Plumbing machinery connects can now be hidden aswell
Plumbing can now also be properly mapped in without breaking anything
Plumbing component now uses the normal overlay systeem instead of being a weird exception

You can now add the /datum/element/undertile element to instantly make something hidable under tiles when appropriate.
2020-03-16 20:37:59 +13:00
Bobbahbrown
476399a346 the span of these changes is immense (#49432) 2020-02-20 13:48:13 +01:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Time-Green
980837fc79 PLUMBING: Lavaland geysers, pumps and regrettable balance decisions! (#49067)
Implements the geysers and pumps I originally added along with the first draft of plumbing.

Geysers
A geyser can be plungered with a reinforced plunger to activate. At wich point, it'll either produce clf3, hollow water, protozine or rarely wittel.

Pumps
Adds the liquid pump to the plumbing RCD. Place on an active geyser and wrench it to start pumping the geyser of its delicious juicess. I also changed it to not use power, because it would be awful drawing kilometer long wires along with the ducts.

Chems
Hollow water works basically like blood and mutage, where you can mix it with 1 unit of holy water for more holy water.

Protozine has a .2 healing, down from omnizine's .5. The healing is just kind of a side thing and not really what this chem was implemented for.

If it wasn't obvious, this allows chemists to industrialize strange reagent creation, with hollow water being able to create limitless holy water alongside protozine being a valid replacement for omnizine. Getting 2 geysers with those chems and on lavaland is quite the hassle, and you still need to get some holy water from the chaplain as kickstarter. I honestly think this is fine, and otherwise I could add a unique botany catalyst, so they don't become useless in the process.

Wittel
Adds wittel, wich is rare. Does nothing, but can be processed into two fun/regrettable chems.

Adds gravitum. Metabolizes very slowly. Drinking it makes you weightless, and spraying it makes that object temporarily weightless. Make 10u by mixing 1 wittel with 10 sorium

Adds metalgen. Created by mixing it with mutagen and bluespace powder. Must then be mixed with 40u of a powedered material and 1u of liquid dark matter.
The material used becomes imprinted on the chem. It can then be applied to anything, except mobs, to turn it into that material. Radiation is bad, and no you can't turn the nuke into plasma to blow it up.
The chem is difficult to get and use, but it can turn the escape shuttle into solid gold wich looks really cool. You could also turn it into plasma and vaporize everything. It can be used to, with some effort, duplicate materials.

🆑
add: Adds geysers to lavaland! They can be activated by using a reinforced plunger found in the medical vendor. They can be harvested by using a new plumbing device, magically powered liquid pumps!
add: Adds Hollow Water to geysers, wich can be combined with Holy Water as catalyst for more Holy Water
add: Adds Protozine to geyers, a very weak version of Omnizine. Can be used in Strange Reagent mixing
add: Adds Wittel, a very rare geyser chem. Can be processed into gravitum, wich removes gravity. Can also be processed into metalgen, wich has a strange tendency to transform objects into the imprinted material.
/🆑

Why:
This is what I originally wanted to do. The idea was to have a lot more chems, but I can't focus on one thing for that long. Hopefully this'll empower the bored chemist and make the rounds just that more interesting. Hopefully this'll spark the creation of some other geyser chems aswell.

That and makes shaft miners not the only ones hunting on lavaland.
2020-02-17 21:33:19 +13:00
Tlaltecuhtli
43f37969aa Fix plumbing constructor chemical grinders (#49037)
* 1

* Update grinder_chemical.dm

* reset travis

* Update grinder_chemical.dm

* it works anyway
2020-02-08 15:25:50 -05:00
Time-Green
d7db7c0605 Fixes plumbing ducts appearing disconnected (#48924)
* fixes ducts appearing disconnected

* adds comment to remove connects

* adds newlines for comments and fixes an autodoc typo
2020-01-27 11:25:32 +01:00
Rohesie
7bef84f009 Mass-replacement of stat to machine_stat (#48758)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
2020-01-24 12:37:17 +13:00
MrPerson
26093e5ac2 Further update_icon splitup (#48784)
* Further update_icon splitup

After this there'll be just under 100 old update_icon() calls that need fixing.

* Thanks Travis
2020-01-22 10:18:05 -05:00
Emmett Gaines
53024590de Can pass refactor (#48659)
* Makes all CanPass procs call parent

* Makes CanPass more extendable and gives the mover a say in the matter

* Replace CanPass with CanAllowThrough to use the new system

Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`

* Simple optimization pass
2020-01-08 21:31:49 +01:00
nemvar
c15b2bb785 Fixes a bug that allowed the multiplication of materials. (#48584)
* No more double mats

* this isn't even a stack. I have been bambozeeled.

* Turns out the src. was important

* Alright this should work better.

* Alright this does work.
2020-01-05 19:44:27 -05:00
ArcaneMusic
4024a1aa91 Finally fixes duct stacks so they can be recycled. (#48201) 2019-12-11 15:34:50 -05:00
spookydonut
175439f63a Removes unreachable code (#48143)
About The Pull Request

As detected by SpaceManiac/SpacemanDMM#123
2019-12-10 20:52:13 +13:00
Tlaltecuhtli
e63ebb94d9 adds plumbing machine that can grind/juice items (#47881)
cl
add: plumbing machine to grind/juice objects and put it on duct net
/cl
!! it doesnt move shit you need to add belts to feed it!!

sprite by arcanemagician
2019-12-05 09:56:35 +13:00
Rob Bailey
eadbc14cde Chem Plumbing Interfaces V2 (#47983)
* chem interfaces v2

* reaction chamber cleanup

* rebuild + fixes

* Revert input style changes, add placeholder styles, reduce input width
2019-12-02 01:59:07 +02:00
spookydonut
2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
Rob Bailey
874ec7515a Plumbing Machines tgui-next (#47476)
* Chem Machines tgui-next

filter + acclimator rework

acclimator fix

splitter

splitter polish

more splitter polish

synthesizer

pill press

get rid of some unused imports

debug chem synth

rebuild

* format
2019-11-03 23:06:19 +01:00
Time-Green
8393e52a4e Optimizes duct reconnecting (#47434)
* optimizes duct connecting

* i hang myself on live television

* yippa ka yay
2019-10-30 16:31:17 -07:00
Rob Bailey
c49367f895 More tgui-next uis (#47333)
* More uis

cargo express console

cargo express routes

ui scale change

delete clockwork slab

chem acclimator proper

codex gigas

gigas cleanup

crew console

crew monitor work

scrap crew console for a later pr

lint fixes + rebuild

get rid of some temp files

get rid of more temp files

much better codex gigas

remove unused file

* rebuild

* rebuild
2019-10-25 11:55:40 +02:00
Time-Green
66045b25d3 stops ducts from constantly runtiming on being placed down
credits to steamport for finding it, I completely and utterly forgot a pretty obvious mistake
2019-10-20 09:35:58 +02:00
Time-Green
338e072873 allows direct machine to machine construction
and fixes being able to have ducts running under machines
2019-10-19 13:45:30 +02:00
Time-Green
8a0649c63d fixes multilayer ducts being off-center 2019-10-18 15:34:18 +02:00
Time-Green
c02fdb64f6 plumbing bugs and fixes 2019-10-18 14:59:03 +02:00
nemvar
c62bfc5616 Travis warning begone (#47165)
* Travis begone

* Fixes other part of this
2019-10-17 20:41:10 -04:00
carlarctg
cc999b2815 Twat carpets have reagents/ Oil is now considered Fuel (#46930)
* bra

* ME GRAMMAR GOOD?

* asbestos in your lung

* Merge branch 'master' into CARPET

* Merge branch 'master' into CARPET

* bruh

* Revert "bruh"

This reverts commit 186de868197ee5904ae2e72060736dc3a505f66d.

* Revert "Revert "bruh""

This reverts commit a855f2b838f02b852fb16f4a15123ca5a26b858f.

* orange man, reasonable

* Update code/modules/reagents/chemistry/reagents/other_reagents.dm

Co-Authored-By: Fel <fludd121@gmail.com>

* Update code/modules/reagents/chemistry/reagents/other_reagents.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* cobby is a good amnitni

* e
2019-10-16 17:30:18 -04:00
Time-Green
bca59b9a50 [READY] Plumbing: Endgame (#46759)
cl
add: Plumbing equipment is now available through the medical protolathe. It's under medical machinery boards
add: Add's a new chemistry area on metastation for chemical factories. It's located left of main surgery.
tweak: Chemistry has been turned into the Apothecary. It's basically normal chemistry, but Medical Doctors have acces aswell.
tweak: The smoke machine is now plumbing compatible. Put this knowledge to good use.
sprite: Thanks to @CRITAWAKETS for the plumbing RCD sprite!
/cl

Finally adds plumbing to the game!

Chemistry has been turned into the apothecary. For all intents and purposes it's old chem, but doctors have acces.

West of main surgery is now the new chemistry factory area.

I've also had to move stuff around alot, because you can't just add a big new room without having stuff in the way.

Currently only on metastation. I'm completely drained from adding it to meta alone and doing all maps right now will burn me out.
2019-10-17 00:10:30 +13:00
Aleksej Komarov
5521c8ebee [READY] tgui-next: Initial PR, speedy new Air Alarm interface. (#46764)
* Initial tgui-next commit

* Improve dev server, slight changes to layout.

* Add more components, fix dragging, finalize scrubber list

* Complete an air alarm interface.

* Multiple improvements based on feedback

- LabeledList now has a "buttons" prop, where you can put buttons.
- Improved Box and Flex components
- Whole UI is now dimmable if non-interactive
- Basic documentation of components (Box and Flex so far).
- Icon and Box now accept a "color" prop.
- Routing improved in "Layout" component, you can now specify whether an interface is scrollable.

* Less harsh dimming

* Redux, Toasts

- Fixed inconsistent backend updates with Redux.
- Added Toasts which are currently unused, but are functional.

* acclimator + ai airlock ui

* Add a progress bar component, implement resizing

* Fix a zero in title bar

* Add a linter to keep shit tidy, fix danger level mapping, add some more docs

* better ai door interact ui

* final ai airlock interface

* Fix issues with code, enforce hard 120 line length cap, automerge binaries

* Implement hot module reloading

* Fix progress bar, add color support

* Fix ProgressBar baseline alignment issues

* Remove unwanted padding on the bottom of the LabeledList.

* Component improvements

- Fix baseline issues with Button and ProgressBar components
- Box how inherits props from Box
- Atomic colors and Button colors are now auto-generated, all range of colors supported

* Chem Dispenser UI, animated numbers, more style fixes

* Add an IE8 polyfill

* Intermediate state of fixing IE8

* Lots of shimming and general misery

* Fully working old TGUI chainloader for IE8, more pipeline improvements

* Support title-less Sections

* Delete Yarn, use Lerna for workspace management

* Improve maths and animated numbers

* Fix loss of focus for scrollable content, activate buttons with keyboard

* Attempt to bust the cache, grab focus on keyboard presses too

* Fix hot module replacement by manually pulling replaced modules.

* backend logging

 un-nuke line endings

changes without insane line endings

* helper procs + href support

* slight optimization

* compiles

* Redux, Hotkeys, Kitchen Sink (for UI testing), Tabs component

* Push logs to backend, small kitchen sink changes, tab fixes

* Update component reference in README

* Small fixes

* Next bunch of IE8 fixes, PureComponent optimization for Inferno

* Delete old tgui html

* Log the event of loading the old tgui

* Enable tgui logging on server by default

* Final solution

* Extract routes into a separate file, fix ChemDispenser bug

- Chem dispenser was needlessly disabling transfer amount buttons

* Disable baseline alignment for vertical tabs

* Fix tabs and box units

- Tab content was not taking full page width
- Box can now accepts strings as units, which will be treated as raw style values.

* Fix tgui on Terry

* Fix sending all logs with an "error" flag

* Some macro UI component changes and improvements

- Refer to README.md diff to see what's new

* Tooltip component

* Add support for themes, nanotrasen logo is back

* Clockwork theme hotfix

* Slight adjustment to logo positioning

* Actually proper solution for logo positioning

* Fix color maps

* tgui-next thermomachine interface

* tgui-next canister interface

* Add icon_class_name proc to asset cache

* Lots of stuff backported from actioninja's repo

* Cleanup oopsies

* Cargo UI adjustments

* Nuke lodash

* Minor fixes and cleanup

- Remove local Inferno package in favor of upstream Inferno
- Fix "initial" prop on AnimatedNumber
- Force fancy=0 for IE8
- Click-through dimmer

* Add a bat file for dummies

* podlauncher interface fix

* Update README, assert code dominance

* Clarify usage of event handlers in Inferno

* Document LabeledList.Divider

* Fukken grammar

* fixes cellular emporium readapt button not working

* fixes incorrect action on button in atmos control interface

* remove unneeded data from airlock electronics ui

* Set +x mode on bin/tgui

* Fix filename cases

- They were untracked by git on windows

* Ignore package lock, make batch more robust

- package-lock.json is very random and unreliable as fuck. Yarn was better.

* Build tgui-next in travis

* bruh

- fixes tgui error reporting

* logging cleanup + always log
2019-10-15 17:20:37 +02:00
Time-Green
7aff176c9c Fixes floating point errors in plumbing (#46448)
* fixes floating point error and get_chem_id

* Fixes excessive floating point errors in plumbing

* unfucko wokie my disgusting attempt at conflict solving
2019-09-21 18:46:37 +02:00
kingofkosmos
8358169b8e New 'hear' span class (#46369)
* Reverts italics-span back to no color.

* Cleans up many extra spaces and indents.

* Adds 'hear' span class.

* Replaces all 'italics' used in heard messages with 'hear'.
2019-09-14 23:56:34 -07:00
Time-Green
d81e1fab5c Plumbing Splitter, reaction chamber, destroyer and pill press (#46149)
* chemical splitters

* adds the pill press

also removes a debug variable from the splitter used for getting the perfect ui size

* chem disposer

* half a reaction chamber

i forgot to fucking merge upstream so I cant do anything without making ungodly conflicts

* wip

* more work on the reaction chamber

* fixes big brain maths

* removes one / because travis is throwing a shitfit
2019-09-02 23:52:29 -07:00
skoglol
8e6276d450 Adds UI dimension vars to machinery (#45959)
* Adds dimension var to machinery.

* cleaner

* newlines

* Cleanup
2019-08-22 00:33:10 -07:00
Time-Green
b5159fbf31 [READY] Plumbing: Chemical Filters (#45473)
Adds chemical filters to the plumbing arsenal

They have one input, and three outputs. The left and right outputs can be given filters. It's basically the exact same as atmos filters but it has TWO filter sides.

It doesn't have an enormous list of chems to select from, you just enter a chem and it's added if it's valid.

cl
add: Adds chemical filters to plumbing
/cl
I was planning to do a bunch at once, but europe is on fire and im delirious

I also moved the existing unique plumbing datums into their own folder, wich was only chemical acclimators
2019-08-09 10:59:36 +12:00
nemvar
e587b970da Adds parent calls to almost all tool_acts (#45582)
* Adds parent calls to almost all tool_acts

* actually compiles
2019-08-03 22:25:57 -07:00
Time-Green
d4bfdd2a40 Plumbing: Chemical Acclimators (#45243)
* Finishes pump and fixes visual bug with disconnecting plumbing objects

* More bugfixes, finishes liquid pump

* Chemical synthesizer, wrench signal to handle unwrenching

* adds input and output pipes and changes ob into obj

* dmdocs all of plumbing through proper means

* adds sprites by meyhaza

also added wrenching interaction and fixed a dumb dumb with me fucking up an object path

* brightens the sprites a little by me

* removes big select from synthesizer ui

* update tgui.js thing

* unfuck pump color

apparently the replace all of spriting has downsides

* chemical acclimator

only heats and cools but i gotta commit and do other stuff

* finishes chemical acclimators

* uodates .dme

* updates .dme again

forgot plumbing component
2019-07-26 17:43:45 -07:00
Time-Green
d18fe2101a [READY] Plumbing improvements and chemical synthesizers (#45185)
Removes dumb visual bugs.
Put the copy pasted wrench stuff for disabling and enabling the component, in the component using a new signal from default_unfasten_wrench.
Add a general plumbing machinery subtype. Right now it's mainly for cataloging.
Adds the chemical synthesizer. You can select a single chemical and an amount between 0 and 5. It will produce it every tick. Should be combined with other synthesizers to create meth factories.
Makes the liquid pump a fully functioning machine.

cl
add: The station comes one step closer to plumbing with the introduction of the chemical synthesizer.
sprite: sprites for the synthesizer, input and output commissioned by @Meyhazah
/cl

I wanted to do all the plumbing basic equipment at once, but stuff like plumbing heaters is gonna be ugly if I don't rework them completely and I don't wanna scare the maintainers away.

There is slight copypasting from the chem_dispenser and with the chem synthesizer, but having it be inhereted would be a worse clusterfuck IMO.
2019-07-23 21:22:16 +12:00