About The Pull Request
second part of #68417, which splits the suits.dmi, but this time focuses on obj items. everything stated in that pr applies to here aswell, it follows the same categorization.
Why It's Good For The Game
finishes the much needed splitting of suits.dmi, easing the minds of spriters everywhere and lowering the probability of future pr conflicts in this area
About The Pull Request
kép
This PR does the following:
Force event menu uses tgUI.
Arranged events into categories, and added a little description to each. The descriptions appear as tooltips when you hover over the Trigger button.
Rewrote how "Announce to crew?" works. It no longer pops up a panel after the event has been already announced. Instead, the admins select it via a checkbox, and the result is passed through an optional argument.
announceChance's comment is tweaked a bit to reflect how it actually works at the moment.
Moved rpgtitles to wizard events, where it belongs.
Fake Virus and Electric Storms show up to observers, as I believe they are not as common as Space Dust or Camera Failure, and should be cancelable.
Potential issues:
This only solves half of #68408, I don't think admin triggering having a timer and a cancel button is a big issue, as it allows other admins to overrule you if needed, but if i is, I will try to fix it within this PR.
Fixes#68408. Events now spawn immediately, and the the announceChance is overwritten before it begins.
My choices for categories and descriptions might not be the best, feedback would be appreciated.
Why It's Good For The Game
The old spawn menu was completely unorganized, and you could only search using the browser search tool. I believe a built in search bar helps with this issue a bit. I also believe that organizing the events into categories, and adding descriptions will help with newer admins who might not be familiar with all events.
Changelog
cl
refactor: The Force Event UI has been refactored
refactor: Events now have categories and descriptions
refactor: Admin triggered events happen immediately
balance: Fake Virus and Electric Storms are shown to admins, making them cancelable
/cl
* Refactors mothweek check
Mothweek HAS SIDE EFFECTS
Checking it on a day that causes a week offset will currently cause that
week offset to persist
That's dumb.
Also it's not very expansive, only covers a slim set of possibilities.
Instead, lets build something to generate all passing days over a period
of time, maybe 3 months out of 2 years.
Then we'll crosscheck that against some predecided "ok" dates
If either list disagrees with each other, we'll fail. That way we can't
miss an edgecase. or have issues with side effects
I like this pattern.
Currently, storage works as a subtype of /datum/component, utilizing GetComponent() and signals to operate. While this is a pretty good idea in theory, the execution was pretty trash, and we end up with alot of GetComponent() snowflake code (something that shouldn't even need to be used frankly), and a heaping load of scattered procs that lead into one another, and procs that don't get utilized properly.
Instead, this PR adds atom_storage and proc/create_storage(. . .) to every atom, allowing for the possibility of storage on quite frankly anything. Not only does this entirely remove the need for signals, but it heavily squashes down the number of needed procs in total (removing snowflake signal procs that just lead to one another), reducing overall proc overhead and improving performance.
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense
It was used as the parent for a lot of other small animal masks simply
because of its flags and a single proc, so i repathed it to
`/obj/item/cltohing/mask/animal/small/...` to make more sense
* adds an updatepaths
* fixes the got damned maps
The person DDOSing our servers requested all of my PRs be merged, so I figured I'd open a PR for them.
About The Pull Request
Adds Ukraine's Independence Day as a holiday.
Why It's Good For The Game
Well, the DDOS person requested we merge goofball PRs, so I'm doing my part to stop the DDOS.
giphy
Changelog
cl
server: Adds Ukraine's Independence Day as a holiday, since the child attacking our hosting requested goofball PRs.
/cl
## About The Pull Request
stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it
for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

## Regex used:
procs without args, not even regex
`/Initialize()`
procs with args
`\/Initialize\((?!mapload)((.)*\w)?`
cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
Enter(), Entered(), Exit() and Exited() all passed the old loc forward, but everything except a single a case cared about the direction of the movement more than about the specific source.
Since moving multi-tile objects will have multiple sources of movement but a single direction, this change makes it easier to track their movement.
Cleaned up a lot of code around and made proc inputs compatible.
I'll add opacity support for multi-tile objects in a different PR after this is merged, as this has grown large enough and I don't want to compromise the reviewability.
Tested this locally and as expected it didn't impair movement nor produced any runtimes.
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
Adds some new holidays.
Remembrance Day is self explanatory, and falls on November 11th.
UN Day is on the anniversary of the foundation of the UN, October 24th.
Wizards Day is on Gary Gygax's birthday, July 27th.
Tiziran Unification Day falls on September 1st, and is the date on which Lizards were made a roundstart race.
The Festival of Atrakor's Might falls on June 15th, and is the date on which the Lizard visual overhaul was merged, bringing horns, frills, and spines to make lizards less bland.
Draconic Day falls on May 3rd, and is the date on which the Draconic language was merged, heralding the rise of the Lizard metagangs (or not).
Fleet Day is the Moths' special day, falling on Jan 19th which is the date on which Moths were merged.
Finally, the Festival of Holy Lights is the Ethereal holiday, falling on Nov 28th, the date on which Ethereals were merged.
* Adds timezone support for regional holidays
Also adds timezones to Waitangi Day, ANZAC Day, US Independence Day and Bastille Day
* Makes holidays span all timezones by default
Changes April Fools, Halloween and Christmas to be the correct dates instead of a range, using three timezones to cover the correct range instead
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Tagging Fixes, Food Moves
Fixes Food Tags on a bunch of burritos. (3/4 don't use MEAT. They were tagged with MEAT.)
Fixes Food Tag and renames Egg Wrap (It doesn't use Tortillas. No GRAIN)
Moves Scotch Egg and Egg Wrap to EGG foods.
Makes a Mexican Food Tab, and moves burritos, tacos, and nachos into it.
This PR adds a subtype of rabbits that starts with eggsleft = 0 instead
of eggsleft = 10 to the game, and makes top hats summon them instead of
normal rabbits. Note that these rabbits can still lay loaded eggs if
you feed them carrots (each carrot will give them 1-4 more eggs, which
they will disgorge from themselves with time).
The slowdown values of the Easter Bunny outfit's pieces have been
nerfed to be -0.3 each instead of -1 each, which I believe should make
someone wearing both pieces of the outfit move at the same speed as a
cultist who's wearing berserker robes (which have a slowdown value of
-0.6). Both pieces of the Easter Bunny set now also have the
THICKCLOTHING flag, and the Easter Bunny head now has the SNUG_FIT
flag.
---
https://youtu.be/QZj3h7FODhU
So, #56773 added the ability to pull rabbits from hats using wands. It
was a great PR, but there was one teensy little issue with it- each
rabbit that you pull out of a hat will, over a somewhat long period of
time, lay 10 loaded eggs, which you can use in-hand to receive a
chocolate egg and an Easter-related item.
Most of these items are just action figures, toys, etc., but two of the
items in the pool of prizes are the Easter Bunny head and the Easter
Bunny suit, which are two of the very few pieces of clothing in the
game that have negative slowdown values. Wearing even one of them will
let you zoom across the station at incredible speeds (you can see this
demonstrated in the Youtube video I linked above).
You will still be able to farm for Easter Bunny gear after this PR, but
you'll now have to acquire a consistent source of carrots and feed each
rabbit a carrot whenever you think it's low on remaining egg uses (you
can't stockpile eggsleft charges too far, as carrots won't increase the
eggsleft variable if it's >=8). You'll also still have to actually
collect and open each laid egg and deal with the risk of getting
swarmed by bees. This, I think, is a reasonable enough amount of effort
to acquire post-nerf Easter Bunny gear.
It should also be noted that you'll still be able to farm pet moodlets
and meat slabs from bunnies, which I've decided to leave in because you
can already do a similar thing with the kittens produced by Runtime and
a cat clone from cytology (which will always be male). Also, petting
zoos are fun, and I like the idea of the chef using small, innocent
creatures (and some bees) that have been summoned by stage magic as the
primary source of his food's meat.
The new clothing flags are there because the Easter Bunny set looks
like a mascot costume, which should be resistant to syringe injections
and dislodgements from thrown hats.
Fixes (Not being able to eat hot cross buns due to them not having a reagents list)
You no longer hit yourself in the face with these.
Also does the following:
Formats the taste list properly (so it doesn't taste indescribable)
Fixes grammar in name and desc
Adds BREAKFAST foodtype
Adds pastry taste
Makes it require a bread slice rather than a whole loaf (not economical)
Moves it to the bread category
This PR makes it so using a wand on a top-hat makes a rabbit appear in
your hand! Fun! There's a 10% chance that instead of a cute bun you get
angry bees though, but a true performer will soldier on anyway. You can
now also scoop up rabbits in your hands, and scooping animals only
requires one free hand to do so instead of all your hands being free.
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm
We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.
There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.
Hi codeowners!
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
This PR adds station traits which are essentially small changes to a normal round that can be used to create small variations in how a round might play out, sometimes there might be only one, very simple trait, but you might have a round where they have a somewhat bigger impact, to make rounds feel slightly more different from each other.
The following traits have been added:
Positive:
Lucky winner - Free pizza and beer every 6-12 minutes
Galactic Grant - Larger starting funds for cargo
Premium internals boxes - emergency box has flare + radio as bonus
Bountiful bounties - Bounties pay 20% more
Strong supply lines - Imports 20% cheaper
Filled maint - More loot in maint
Fast shuttle - Cargo shuttle is faster
Free scarves - Free scarfs if a slot is free
Neutral:
Bananium shipment - Clown starts with 5 sheets of bananium (Neutral because this helps noone but the clown)
Unnatural atmosphere - Lava planet can get more restricted gasses
Unique AI - Random lawset at roundstart for AI
Ian adventure - Ian teleports to a random spot on the station
Glitched PDAs - PDA's have a different beep
Announcer intern - Changes the announcement messages to sound like they're from an intern at Centcom
Negative:
Carp infestation - Carp event is more common and can start earlier
Weak supply lines - Imports 20% more expensive
Blackout - Station lights are partially broken around the station
Empty maint - Less loot in maint
Overflow bureacracy mistake - Random overflow job (From a vetted list)
Late Arrivals - Everyone starts in arrivals
Random spawns - Random spawn location (by drop pod)
Slow shuttle - Cargo shuttle is slower
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
instead of heat and cold damage being handled by unsuitable_atmos_damage, instead its handled by unsuitable_heat_damage and unsuitable_cold_damage
if these vars arent set on the mob, they are set by default to the value of unsuitable_atmos_damage
About The Pull Request
"Independence Day" is now "US Independence Day"
Why It's Good For The Game
There are dozens of independence days around the world, the current name is too ambiguous.
Changelog
🆑
tweak: The holiday observed on every 4th of July is now called "US Independence Day" instead of just "Independence Day".
/🆑
Title. This modifies a unit test that tested the holiday I'm removing to test mother's day instead, as International Indigenous People's Day isn't an nth week holiday.
* Adds Waitangi Day and ANZAC Day to holidays.dm
* Makes the poppy the default drone hat on ANZAC day
The remembrance poppy is an artificial flower worn to commemorate those who died for their country.