Commit Graph

151 Commits

Author SHA1 Message Date
SkyratBot
14d545dd9c [MIRROR] Fixes a runtime and refactors suit jetpacks a bit (#6702)
* Fixes a runtime and refactors suit jetpacks a bit (#59922)

* Fixes a runtime and refactors suit jetpacks a bit

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-07-04 16:33:05 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
f8042b6306 [MIRROR] Adds Neon Carpet (#6302)
* Adds Neon Carpet (#59140)

Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.

* 0

* A

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-15 18:12:49 +01:00
SkyratBot
f1c714646d Right-clicking on reagent containers picks previous reagent transfer amount (#59508) (#6187)
Right-clicking a reagent container in your active hand will pick the previous transfer amount instead of the next one
Adds an attack_self_secondary proc which allows for different interactions when right-clicking things in your active hand

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-06-09 09:24:26 +12:00
SkyratBot
456f347dfa [MIRROR] USE SIGNAL_HANDLER REEEEEE (#5921)
* use SIGNAL_HANDLER REEEEEE (#59242)

makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did

* USE SIGNAL_HANDLER REEEEEE

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-25 03:42:11 +01:00
SkyratBot
3f82ca3053 [MIRROR] Fixed backpack firefighter tank nozzle refilling not working in extinguisher mode (#5920)
* Fixed backpack firefighter tank nozzle refilling not working in extinguisher mode (#59216)

Also removed useless local var from /obj/item/extinguisher/proc/AttemptRefill

* Fixed backpack firefighter tank nozzle refilling not working in extinguisher mode

Co-authored-by: norill <norill@wp.pl>
2021-05-25 03:42:03 +01:00
SkyratBot
fe98671963 [MIRROR] Removes some boiler plate from working with atmos code (#5462)
* Removes some boiler plate from working with atmos code (#58885)

Everything that called turf.assume_air and turf.remove_air was already updating turfs, and all that not tying

the two together did was add more boiler plate, and break things when people forgot about it.

This shouldn't add any overhead outside of hotspots, but I think that's trivial

* Removes some boiler plate from working with atmos code

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-05 09:47:42 +01:00
SkyratBot
d8ee087d8d React optimization + event based processing for tanks, canisters and pipelines (#5352)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-01 14:08:53 +01:00
SkyratBot
7f083e7cb6 [MIRROR] Converts the atmos senstive component over to connect_loc (#5376)
* Converts the atmos senstive component over to connect_loc (#58266)

* Makes all uses of atmos_senstive pass in mapload as context

* Converts atmos senstive to connect_loc, does some general cleanup to the element, and makes it check the state of the tile the thing is on assuming creation didn't happen as a part of map loading

* Updates connect loc to match the new arg list

* Converts the atmos senstive component over to connect_loc

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-01 09:44:09 +01:00
SkyratBot
1353c96e17 [MIRROR] [FIX] Anesthetic Tank Holder Not Rendering (#5290)
* Fixed Anesthetic Tank Holder Not Rendering (#58748)

* [FIX] Anesthetic Tank Holder Not Rendering

Co-authored-by: ORCACommander <ORCACommander@users.noreply.github.com>
2021-04-28 23:24:21 +01:00
SkyratBot
5b8a38af3a [MIRROR] Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#5244)
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)

* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.

* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-27 01:53:17 +01:00
SkyratBot
a52b9f6bbf [MIRROR] Makes radiation related pluouxium only generate in cold conditions (#4837)
* Pluoxium can currently be created in mico amounts on a lot of tiles, which creates a lot of unneeded active (#58306)

turfs, and wastes processing time.
Let's only make pluox in cold mixes then, and since it's not gonna mitigate high power runaways quite as hard
now, let's make it a net negative on waste gas output for the sm.

* Makes radiation related pluouxium only generate in cold conditions

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-04-12 04:43:31 +01:00
SkyratBot
e043a3a1f7 [MIRROR] Desnowflakes tank integrity (#4286)
* Desnowflakes tank integrity (#56443)

Makes tanks use obj_integrity instead of their own snowflaked version.
Makes tanks check for exploding when they are destroyed, rather than once every process.
Makes tanks always leak their gases when they are deconstructed.
Removes the ability for tanks to seal themselves back up over time.
Makes the bomb spawner actually produce functional bombs.
Removes the extraneous syndicate bomb spawner subtype.
Miscellaneous code improvements to tanks, bomb spawners, and the blastcannon.
Fixes the explosives compressor doubling the power of any bomb you put in it.

The changes to tank rupturing behavior shouldn't effect most tritium fueled TTVs including the 50K recipe. Toxins players don't need to worry about suddenly being incapable of getting points or refining anomaly cores. They should only really effect singlecaps, but I don't know enough about singlecaps to know what recipes I should test. I have confirmation that at least one mix is not effected by this.

The self-sealing properties of tanks have been removed. I'm not sure what the purpose of it was, I have heard that it was used to enable hand-portable plasmaflooding, but I'm not familiar with the practice.

As it turns out, the basic bomb spawners were broken on master! I have made the bombs they produce maxcap instead of just spring a leak. Since they maxcap by default now I have removed the syndicate subtype used to spawn the TTV produced by the cuban pete arcade game and replaced it with the normal timer subtype. Since none of the bomb spawner subtypes were used for anything else this shouldn't have any effect on the game.

On a similar note, I have discovered that the maxcap recipe on the wiki stopped working at some point since it was written. I will replace it with a functioning set of instructions.

Less snowflake code.
Bomb spawners are actually functional now.
Slightly better code.
The explosives compressor accurately reflects the power of the bomb you put into it.

* Desnowflakes tank integrity

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-03-21 13:58:18 +00:00
SkyratBot
c2d6dd7d75 [MIRROR] Fixes a ton of harddels (#4215)
* Fixes a ton of harddels (#57736)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>

* Fixes a ton of harddels

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
2021-03-17 20:42:47 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
43febe3145 [MIRROR] Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#3433)
* Converts many proc overrides to properly use list/modifiers, lots of other smaller things

* Update human_defense.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:18:21 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
bff6b2e317 [MIRROR] Makes n2o nontoxic, for reasons (#3321)
* Makes n2o nontoxic, for reasons (#56839)

Counter to the original intent of the change seen here #50126, n2o will currently deal damage when used with both internal tanks and floods, as the threshold picked for it was about 0.15 moles at room temperature. Even outside this oversight, the original goal can't easily be achieved. Because breathing works off partial pressures, anything you can do with an anesthetic can you can do with an n2o flood.

Therefore I don't think it's behavior worth keeping, as even as a way to disincentivize non-antag n2o floods it would do little.

* Makes n2o nontoxic, for reasons

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-12 12:52:34 +00:00
SkyratBot
f79e91462c [MIRROR] LINDA Reforged (#2573)
* LINDA Reforged

* Update airlock.dm

* Update biohazard_blob_controller.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-08 18:52:35 +01:00
SkyratBot
58e12a73e3 [MIRROR] Fixes empty gaslist entries, jesus fuck (#2572)
* Fixes empty gaslist entries, jesus fuck (#56027)

* Fixes empty gaslist entries, jesus fuck

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-01-08 18:21:38 +01:00
SkyratBot
80475b935a [MIRROR] Makes pluox formation slightly more consistent (#2555)
* Applies the pluox formation code portable atmos devices and tanks (#55923)

Makes irradiating tanks and portable atmospherics devices (canisters, pumps, scrubber) induce pluoxium and tritium formation if they contain the correct gases.
Does NOT affect atmos components or pipes because I don't think Lemon would let me do that to pipecode. (He's right)

* Makes pluox formation slightly more consistent

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-01-07 23:59:08 +01:00
SkyratBot
94ed7ed0f1 [MIRROR] Refactors how movetypes are added and removed, No timers this time. (#2358)
* Refactors how movetypes are added and removed, No timers this time. (#55444)

* Refactors how movetypes are added and removed, No timers this time.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-29 02:39:03 +00:00
SkyratBot
06aedd664c [MIRROR] Fixes atmos water tanks showing up as purple sometimes (#2327)
* fixes atmos water tanks showing up as purple sometimes, they have their icon state changed sometimes, but never manually set the wear_icon_state, so it'd try and show a nonexistant sprite. (#55705)

* Fixes atmos water tanks showing up as purple sometimes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-12-26 07:56:35 +01:00
SkyratBot
fb356fdcc2 [MIRROR] Fixes emergency tanks inhand sprites and adjusts double yellow emergency tanks volume. (#2168)
* Initial (#55274)

* Fixes emergency tanks inhand sprites and adjusts double yellow emergency tanks volume.

Co-authored-by: Swept <sweptwastaken@protonmail.com>
2020-12-13 13:45:25 +00:00
SkyratBot
66c207e19c [MIRROR] Reverts (#54963) due to timer spam (#2109)
* Revert "Refactors how movetype flags are added and removed and the floating animation (#54963)" (#55432)

This reverts commit b8425c003a.

* Reverts (#54963) due to timer spam

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-12-10 05:58:05 +01:00
SkyratBot
2ee5d422ae [MIRROR] Refactors how movetype flags are added and removed and the floating animation (#2096)
* Refactors how movetype flags are added and removed and the floating animation (#54963)

I wanted to refactor how movetype flags are added and removed into traits to prevent multiple sources of specific movement types from conflicting one other. I ended up also having to refactor the floating animation loop (the one that bobs up and down) code in the process.
Why It's Good For The Game

A way to avoid conflict from multiple sources of movement types.
This also stops melee attacks, jitteriness and update_transform() from temporarily disabling the floating movetype bitflag altogether until the next life tick.

Tested, but i'm pretty sure improvements could be made.
Changelog

cl
fix: jitteriness, melee attack animations and resting/standing up should no longer momentarily remove the floating movement type.
/cl

* Refactors how movetype flags are added and removed and the floating animation

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-09 23:43:42 +01:00
SkyratBot
5d3d16ca13 [MIRROR] New TGUI component: the round gauge + initial uses of it (#1957)
* New TGUI component: the round gauge + initial uses of it

* aaa

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-11-30 18:51:58 +00:00
SkyratBot
f4f8f79210 [MIRROR] Fixes improvised jetpacks working as infinite one tick boosters (#1893)
* Fixes improvised jetpacks working as infinite one tick boosters (#55202)

Fixes improvised jetpacks working as infinite one tick boosters
allow_thrust is used as a check when the jetpack is toggled on to see if it should be allowed to turn on. This line needs to return the parent call instead of presuming it passes.

* Fixes improvised jetpacks working as infinite one tick boosters

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-11-28 12:54:07 +01:00
SkyratBot
03583210d8 [MIRROR] Fixes Improvised Jetpack (+New custom icons) (#1869)
* Fixes Improvised Jetpack (+New custom icons) (#55177)

This fixes the improvised jetpack, which currently cannot be activated.
Fixed [#50396](https://github.com/tgstation/tgstation/issues/50396)

The code change was very minor and everything seems to work properly now.
Bonus: New custom icons for this item, better representing what it most likely would look like

* Fixes Improvised Jetpack (+New custom icons)

Co-authored-by: LordVollkorn <66637090+LordVollkorn@users.noreply.github.com>
2020-11-27 07:51:57 +00:00
SkyratBot
9e88359f04 [MIRROR] Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#1686)
* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)

* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover

* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-14 21:49:11 +01:00
SkyratBot
e768cef297 [MIRROR] /obj/screen --> /atom/movable/screen (#1646)
* /obj/screen --> /atom/movable/screen

* Update storage.dm

* Update radial.dm

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 04:12:50 +01:00
SkyratBot
e3f8b4c96c [MIRROR] Adds tank holders (#1177)
* Merge pull request #54048 from nicbn/tank-frames

Adds tank holders

* Adds tank holders

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-10-07 01:11:16 +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
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
6c6f8bf267 [MIRROR] Breathing changes (#735)
* Breathing changes (#53560)

* breathe

* only like 5 people noticed my nightcode its ok

* Update code/__DEFINES/atmospherics.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>

* comment

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>

* Breathing changes

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-11 23:02:03 +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
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
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
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
1d879663ca [MIRROR] Cleans up some refs (#236)
* Cleans up some refs (#52713)

* clin

* Might as well

* Unreferenced datums autodel + lame proc

Co-authored-by: TiviPlus <TiviPlus>

* Cleans up some refs

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-07 18:39:08 +01: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
724f9632b5 [MIRROR] [READY]syriniver nerfix / syringe projectile fix + various fixes requested by maintainer (#190)
* [READY]syriniver nerfix /  syringe projectile fix + various fixes requested by maintainer (#52019)

* syringe projectile fix

* greenman review

* oversight fix

* [READY]syriniver nerfix /  syringe projectile fix + various fixes requested by maintainer

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2020-08-04 12:18:41 +02:00
SkyratBot
1780fae23e [MIRROR] Makes several icon/outfit tweaks/fixes to bounty hunters. (#184)
* Makes several icon and outfit tweaks/fixes to bounty hunters. (#52668)

* Makes several icon/outfit tweaks/fixes to bounty hunters.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-08-03 16:36:52 +02:00
Rohesie
e024fbffc3 hard dels (#52399) 2020-07-25 10:08:13 -04:00
skoglol
f5cd45f7f7 Removes forcesay on attack (#52341) 2020-07-22 04:30:30 -04:00
skoglol
f87ed89865 Merge pull request #52263 from ShizCalev/jetpack-fix
Fixes runtime caused by a mob's client disconnecting while jetpacking around
2020-07-17 11:02:58 +02:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02: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
e3dd82394b Fixes mobs that disconnect while using a jetpack continuing to boost around 2020-07-15 15:14:55 -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