Commit Graph

424 Commits

Author SHA1 Message Date
tattle
5c97b13e18 Food code sweepups + heart boxes have more chocolate variety (#72127)
- Chocolate boxes now contain bonbons (formerly tiny chocolates),
truffles, and peanut butter cups
- Slices of bread now taste like their respective breads instead of
tasting "indescribable"
- Fiesta skewers have food categories now
- Misc food file has had more split out of it into sweets.dm,
vegetables.dm, and packaged.dm
- Removed a bunch of redundant food_reagent code
- Changed the sugar in clown cakes' food_reagents to banana juice
- Increased the amount of vitamin in pound cakes (it's four whole cakes
and the amount of vitamin doesn't go up?)
2022-12-30 00:28:00 +00:00
Comxy
e7d788348f Frog Basic Mob Refactor (#72044)
## About The Pull Request
Refactors the frog into a basic mob. The frog now does the same as the
old frog and can now properly be commanded by the regal rats.
## Why It's Good For The Game
## Changelog
🆑
refactor: Refractors the frog into a basic mob
/🆑
2022-12-27 21:06:57 -08:00
Jacquerel
b174af7661 Basic Mob Carp Part VIII: Basic Mob Carp (#72073)
## About The Pull Request

Wow we're finally here. This turns carp into Basic Mobs instead of
Simple Animals.
They use a variety of behaviours added in previous PRs to act in a
marginally more interesting way than they used to.
But don't worry there's still 2 or 3 PRs to follow this one until I'm
done with space fish.

Changes in this PR:
Carp will try to run away if they get below 50% health, to make use of
their "regenerate if not attacked" component.
Magicarp have different targetting behaviour for spells depending on
their spell;
- Ressurecting Carp will try to ressurect allied mobs.
- Animating Carp will try to animate nearby objects.
- Door-creating Carp will try to turn nearby walls into doors.

You can order Magicarp to cast their spell on something if you happen to
manage to tame one.
The eating element now has support for "getting hurt" when you eat
something. Carp eating can rings and hating it was too soulful not to
continue supporting.

## Why It's Good For The Game

Carp are iconic beasts and I think they should be more interesting.
Also we just want to turn mobs into basic mobs anyway.

## Changelog

🆑
add: Carp will now run away if their health gets low, meaning they may
have a chance to regenerate.
add: Lia will now fight back if attacked instead of letting herself get
killed, watch out!
balance: Magicarp will now aim their spells more intelligently.
add: Tame Magicarp can be ordered to use their spells on things.
refactor: Carp are now "Basic Mobs" instead of "Simple Mobs"
fix: Dehydrated carp no longer give you a bad feeling when they're your
friend and a good feeling when they're going to attack you.
balance: Tamed carp are now friendly only to their tamer rather than
their whole faction, which should make dehydrated carp more active.
Order them to stay or follow you if you want them to behave around your
friends.
/🆑
2022-12-25 18:24:18 -08:00
jimmyl
100cb71111 Turned most syndicate mobs (+ viscerators) into basicmobs (#71871)
## About The Pull Request
Turns the syndicate simpleanimals into basicmobs: (+ stormtrooper, +
space variants) Base Mob, Knife syndies, pistol syndies, SMG
syndies,shotgun syndies, viscerators
also changes some instances of the simple_animal path into the basicmob
ones
Removes civillian syndicates which were useless and also completely
unused
Also removes mech pilots:
![2022-12-09
20_02_18-Window](https://user-images.githubusercontent.com/70376633/206777829-2e49e445-3532-4e8e-8e7c-8d9b0a3a14d0.png)

Also,
makes the basic targetting datums health check configurable
basic attack behavior can now fire in bursts


https://user-images.githubusercontent.com/70376633/206766607-cf2e3659-0c5e-4117-9af7-e573e35bdf80.mp4

https://user-images.githubusercontent.com/70376633/206766630-15b4469f-68be-44c7-9394-1f2b6fe07811.mp4

https://user-images.githubusercontent.com/70376633/206766613-69b42457-a03b-449d-a1b8-a5aa556c76e5.mp4

https://user-images.githubusercontent.com/70376633/206766619-5560a178-8d2f-4b22-adf1-22ace6f63a51.mp4

https://user-images.githubusercontent.com/70376633/206766627-e671d064-fd9e-4204-b823-aa2e07f7fc26.mp4

https://user-images.githubusercontent.com/70376633/206766633-108c1574-3554-4bc1-a9ac-8faed0ec4062.mp4
## Why It's Good For The Game

simpleanimal stinks basic mob good
syndicate AI was really bad to begin with so here we are

## Changelog
🆑
code: Turned most syndicate mobs into basicmobs, making their AI better
and (possibly) more deadlier!
del: Removed syndicate mech pilots and syndicate civvies
/🆑

Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
2022-12-22 00:47:28 -08:00
SkeletalElite
9e3a3caae9 Fixes HOS Beret (and all of its subtypes) having wrong path and thus not being armored (#72024)
The HoS' beret were not pathed properly so were no longer subtypes
of legitimate hos armor, this fixes that.
Now the HOS and syndicate berets have had their missing armor and strip
delay readded
2022-12-17 10:44:57 -05:00
MrMelbert
ecde5633bd Refactors bar drink icons into datum singletons / unit tests them (#71810)
## About The Pull Request

- Refactors bar drink icons.
- Juice boxes no longer have a hard-coded list of a bunch of reagent
types in their update state, and use a system similar to bar drinks.
- Glass and shot glass icon information are no longer stored on the
drink. Instead, they are now stored in glass style datums. These datums
store name, description, icon, and icon state of a certain container +
reagent type.
- Glass styles are applied via the `takes_reagent_appearance` component.
Glasses, shot glasses, and juice boxes have this component.
- This comes with support for being able to have drink icons from
different files, rather than requiring the drinks DMI.
- The britmug is now a subtype of mug. 
   -  1 new icon: britmug filled.
- Various small code clean-up around drink reagents. 
- Unit tests icon state setups for glass styles as well as all `/drink`
reagent container subtypes.
- Splits up the massive `drinks.dmi` into separate files. 

*Disclaimer: Much of the drinking glass datums were written via script
automatically, so there may be errors present.*

## Why It's Good For The Game

- Much easier to add new drink styles, much more modular. 
- It is no longer necessary for new drinks to be added to the massive
`drinks.dmi`. People working with drinks in the future can simply add
their glass style datum and point it to their file wherever it may be.
- Expandable system. Adding a new type of reagent container that works
similarly to bar drinks but for different types of icons is a breeze.
- Ensures going forward no bar drinks have invisible sprites. 

## Changelog

🆑 Melbert
refactor: Refactored how bar drinks set their icons. Juice boxes now use
the same system.
/🆑
2022-12-14 15:23:01 +13:00
SkyratBot
565af6876b [MIRROR] Makes dog a basic mob [MDB IGNORE] [MDB IGNORE] (#17930)
* Makes dog a basic mob [MDB IGNORE]

* conflict

* map updatepaths

* minor banana spider improvement

* unnecessary SR edit, minor path stuff

* chadian, borgi

* tram conflict

* fixes after testing

Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-12-12 16:45:23 -05:00
SkyratBot
d141f8d6c3 [MIRROR] Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time [MDB IGNORE] (#17881)
* Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time

* updatescript maps

* Merge conflicts

* Tarkon atmos

* tick file

* that file was supposed to be removed

* tarkon cringe

* tarkon tweaks after testing

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-08 16:39:24 -05:00
SkyratBot
cf67304574 [MIRROR] Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates [MDB IGNORE] (#17920)
* Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates

* [PR to PR] NRI raider de-conflicting (#17921)

* sosig

Update revolver.dm

* Update nri_raiders.dm

* Apply suggestions from code review

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* Update nri_raiders.dm

* uhuh

* Update nri_raiders.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Stalkeros2 <42087567+Stalkeros2@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-08 09:43:43 -08:00
SkyratBot
7835d891e4 [MIRROR] Flatten mech/combat and mech/medical [MDB IGNORE] (#17946)
* Flatten mech/combat and mech/medical (#71494)

## About The Pull Request

The only thing mech combat has is the reload helper that should be on
mech proper anyway and the medical subtype isnt even defined outside of
ody code

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Flatten mech/combat and mech/medical

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-12-08 07:52:21 -08:00
SkyratBot
2b800b9a23 [MIRROR] Removes tablets (not PDAs) entirely. [MDB IGNORE] (#17880)
* Removes tablets (not PDAs) entirely.

* contractor changes

* map changes

* Update assistant.dm

* conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 01:07:02 +00:00
TiviPlus
836518b752 Flatten mech/combat and mech/medical (#71494)
## About The Pull Request

The only thing mech combat has is the reload helper that should be on
mech proper anyway and the medical subtype isnt even defined outside of
ody code

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2022-12-06 00:57:48 -08:00
Tastyfish
ebc0227176 Makes dog a basic mob [MDB IGNORE] (#70799)
About The Pull Request

    Made a basic version of the pet base called /mob/living/basic/pet. It's significantly more stripped down from the old simple_animal one, because its half collar stuff and...

    Made the collar slot a component that you could theoretically remove from a pet to disable the behavior, or add to any other living mob as long as you set up the icon states for the collar (or not, the visuals are optional).
        The corgi's collar strippable slot is now generally the pet collar slot, and in theory could be used for other pet stripping screens.

    I also gutted the extra access card code from /mob/living/basic/pet as it's only being used by corgis. Having a physical ID is now just inherent to corgis, as they're the only ones that could equip it anyway.

    Ported the make_babies() function from simple_animals to a new subtree and associated behavior, called /datum/ai_planning_subtree/make_babies that uses blackboards to know the animal-specific info.
        Note that it's marginally improved, as the female walks to the male first instead of bluespace reproduction.

    Tweaked and improved the dog AI to work as a basic mob, including making /datum/idle_behavior/idle_dog fully functional.

    Made a /datum/ai_planning_subtree/random_speech/dog that pulls the dynamic speech and emotes to support dog fashion.

I've tested base collars across multiple pet types.

For dogs, I've tested general behavior, fetching, reproduction, dog fashion, and deadchat_plays, covering all the oddities I'm aware of.

image
Why It's Good For The Game

Very big mob converted to a basic mob.
Changelog

cl
fix: Lisa no longer uses bluespace when interacting with Ian.
refactor: A large portion of dog code was re-written; please report any strange bugs.
/cl
2022-12-06 09:13:13 +13:00
tralezab
e9cff525dc Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates (#71650)
## About The Pull Request

### Refactor
Pirate gangs are now datumized for extendability, custom dialogue, etc.

### Psyker Gang 🧠 
Psyker-gang Members are pirates who are... yes, Psykers. They're on a
gore-binge and need some money for more hits of gore!

- Gore autoinjectors, filled with dirty kronkaine. Don't overdose,
you'll go splat.
- Psykerboost armor, reactive armor that refreshes psychic abilities.
Given to the leader.

- [x] @Fikou is making the map :D

## Why It's Good For The Game

God I fucking love variety also now we can add as many different pirates
as we so desire

<details>
  <summary>Spoiler warning</summary>
  

![image](https://user-images.githubusercontent.com/40974010/205342701-9cba63ef-a22c-4f07-9b48-8793c4a2b5af.png)
  
</details>

## Changelog
🆑 Tralezab code, Fikou's map, PigeonVerde and Halcyon for sprites!
add: Psyker-gangers are new pirates
refactor: refactored pirate code so we can add more in the future
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-05 02:18:23 +00:00
SkyratBot
911bbb3f06 [MIRROR] [MDB IGNORE] Grayscale sofas [MDB IGNORE] (#17851)
* [MDB IGNORE] Grayscale sofas (#71539)

## About The Pull Request
Ports some sofa sprites from over at
https://github.com/BeeStation/BeeStation-Hornet/pull/7547 and makes them
grayscale. Also random tool colours now use defines.

![image](https://user-images.githubusercontent.com/66640614/204077835-94b713a9-a7e5-42fc-8c65-5724ca11cc4a.png)

![image](https://user-images.githubusercontent.com/66640614/204077844-87b33cda-d829-4ebb-a81f-a5e05453999d.png)

## Why It's Good For The Game
Gives us the opportunity to make different coloured couches more easily.
## Changelog

🆑 Tattle, PestoVerde322
imageadd: couches are now grayscale
code: random tool colours now use defines
/🆑

Co-authored-by: tattle <article.disaster@ gmail.com>

* [MDB IGNORE] Grayscale sofas

* runs the update paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-12-03 00:25:05 -05:00
Mothblocks
2e6b06353d Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time (#71232)
More than a decade ago, these were all coded to use a weird dynamic list
radio broadcasting system to communicate with each other. If there was
any depth that they were planning on creating with this, it didn't come
to fruition, and it instead just wasted a lot of init time.

Removing `post_signal` saves 198.41ms, fired 588 times from lots of
different machinery. Its self cost was 81.44ms.

`broadcast_status`, also removed, was taking 218ms.

I'm pretty sure I'm done with this, but it's hard to tell given the
nature of old radio signal code.

A small self cost of 34.9ms was added in the form of /obj/Initialize
checking id_tag to set in a global list. This could be optimized away by
tagging everything that does use id_tag, but it's a loooot and I think
this is just a useful mechanism to have. Not worth it IMO.

The "Check Atmos Chamber Devices" verb has been removed. Everything it
did *should* be replicated by runtimes on Initialize, which is both more
obvious to mappers and shows up in unit tests since we spawn every ruin.
2022-12-02 01:28:24 -08:00
John Willard
2425531eb2 Removes tablets (not PDAs) entirely. (#71507)
## About The Pull Request

**Comes with an UpdatePaths!**

Removes the tablet subtype, PDAs now replaces them entirely.

Nukie and Silicon tablets are now subtypes of the PDA instead, while
contractor ones were removed entirely as they didn't do anything and
were unused (though it wouldn't be hard to re-add).

Nukie PDAs are now the only type of PDA that uses modular_tablets.dmi,
which is just larger icons of modular_pda. Each application requires an
icon state in both of these, for 2 different sizes, which makes it
annoying to make new applications, especially if it can also run on
computers/laptops.

### Icons

Because Silicon tablets are now a subtype of PDA, they use PDA icons
instead of tablet ones. Luckily for us, they already exist in code.

![image](https://user-images.githubusercontent.com/53777086/203876575-56eb1593-774c-47c6-8e7d-491a7805f28c.png)

AI's don't use a tablet icon though, so they aren't affected.

## Why It's Good For The Game

There's very little difference between tablets and PDAs, PDAs overshadow
them in every single way, so at this point I don't see why we should
have both of these, and if you compare the two in usefulness and actual
in-game use by players, it's a no-brainer than the item all players get
roundstart and comes with a messenger should be the one we go with.

Also as said in the about section, when making an app you would need to
make icon states for the program running for all hardware it can run on,
which is Computer, Laptop, PDA, and Tablet.

Laptop is just a smaller computer icon
PDA is just a smaller tablet icon

However, you can't simply shrink the size of the icon, instead you have
to completely resprite the same app icon FOUR TIMES for it to not
bluescreen on all these different devices.

<details>
<summary>
Here's examples of it
</summary>
Computer (NOTE: *They share the same icon file as regular computers*)
<img
src="https://user-images.githubusercontent.com/53777086/203876801-486a8054-489a-4983-bdad-a2599b4dc379.png"/>
Laptop
<img
src="https://user-images.githubusercontent.com/53777086/203876333-58e5d135-f4c6-4a02-8948-1df771e294a4.png"/>
Tablet
<img
src="https://user-images.githubusercontent.com/53777086/203876352-816c7fb1-c681-40b9-99e0-052f49632c7f.png"/>
PDA
<img
src="https://user-images.githubusercontent.com/53777086/203876358-1cf7253d-3c6a-456a-8133-ebf7f0351637.png"/>
</details>

If we wish to help in simplifying this, we should remove tablet icons
entirely, which means 1 less icon to worry about. To do this, we'd need
to resprite nukie PDAs, however I am very much not a spriter and never
tried GAGS, so I'll leave it to someone else to do.

## Changelog

🆑
del: Tablets are now removed, PDAs are now the base 'tablet'. Silicon
and nukie tablets are now PDAs.
/🆑
2022-12-02 00:15:14 -08:00
SkyratBot
6756631e75 [MIRROR] The Mining vendor now works like the Chef produce console (has to go through Cargo) [MDB IGNORE] (#17852) 2022-12-01 14:34:56 -08:00
John Willard
fd19f6d5a0 The Mining vendor now works like the Chef produce console (has to go through Cargo) (#71023)
## About The Pull Request

Now comes with a Hackmd: https://hackmd.io/ImTe5FLeTgmI7spTWKBaFQ?view

In-game screenshots:


![image](https://user-images.githubusercontent.com/53777086/199602671-a604c6da-fec0-487d-b67e-eb0e4380e4d6.png)

![image](https://user-images.githubusercontent.com/53777086/199602695-8d7afb20-3b6c-467f-ac78-37de03dc20d2.png)


![image](https://user-images.githubusercontent.com/53777086/199725350-b01c4ddd-3fec-4288-a698-02daf91f787b.png)

Removes the old Mining vendor console and all its bad code. Instead, the
chef produce console was generalized and a NEW mining vendor is a
subtype of it. If they try to Express this console, it will be 1.5x the
mining points (compared to 2x for the Chef produce console atm), so it
is technically possible, but it is still better to order it through
Cargo.
Different to the Kitchen crate, this one is a private order by the Shaft
Miner, using mining points instead of Credits. Cargo CAN emitter it
open, but I think that's an acceptable risk with all crates. As shown in
the screenshot, Cargo will immediately know who ordered the items so
knows who to call to pick it up when needed.

This also means Shaft Miner's vendor is now categorized somewhat. I
tried my best to make sense out of it but some items really don't make
sense (laser pointer, soap...)

I split the different sections of orderable items into different files
for better management, and de-hardcoded it and its TGUI to make it
easier for anyone who wants to add more to it.
I also made the produce console use paths and added ways 'categories' to
produce consoles, which indicates which sections you should and
shouldn't be allowed to see.
https://github.com/tgstation/tgstation/pull/71007 already did part of
this but it isn't merged yet so :/

Free golems are mostly unaffected by this. Their console only works in
express mode and doesn't increase the prices for it. The only downside
is the cooldown.

I still have some things to finish on this PR so it'll be left as draft
until at least tomorrow.

## Why It's Good For The Game

https://hackmd.io/ImTe5FLeTgmI7spTWKBaFQ?view

1. A large problem currently with Miners is that they don't interact
with the station, this will at least help integrate them more into their
own department, by making the cost of their equipment cheaper if they
bother to actually go through Cargo for their gear.

2. It also means that a non functional Cargo would affect Shaft Miners
too, and as they have access to the shuttle, maybe we can expect some
Miners to pick up the slack if needed.

3. The old mining vendor was the ONLY vendor in the game that had
infinite stock. It doesn't need a refill or anything like any other
vendor, and every other vendor uses credits, mining points is just shaft
miner credits. Why are they an exception? At least being ordered through
the shuttle makes sense.

4. It opens the QM being able to see easier what Miners are doing, and
prevents miners from hiding on Lavaland to do nothing but hunt fauna if
they were meant to be demoted or something by the QM. Basically, gives
the QM more control over the people working in their department.

## Changelog

🆑
add: Shaft Miner's equipment vendor now orders their equipment through
the Cargo shuttle, though you can spend 1.5x the points to express it,
making it a Mining version of the Chef's produce console, with a
weakened express tax.
/🆑
2022-11-30 19:29:28 -08:00
tattle
0bb30cdefc [MDB IGNORE] Grayscale sofas (#71539)
## About The Pull Request
Ports some sofa sprites from over at
https://github.com/BeeStation/BeeStation-Hornet/pull/7547 and makes them
grayscale. Also random tool colours now use defines.


![image](https://user-images.githubusercontent.com/66640614/204077835-94b713a9-a7e5-42fc-8c65-5724ca11cc4a.png)


![image](https://user-images.githubusercontent.com/66640614/204077844-87b33cda-d829-4ebb-a81f-a5e05453999d.png)

## Why It's Good For The Game
Gives us the opportunity to make different coloured couches more easily.
## Changelog

🆑 Tattle, PestoVerde322
imageadd: couches are now grayscale
code: random tool colours now use defines
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2022-11-30 19:01:24 -08:00
SkyratBot
78c1b9f456 [MIRROR] [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition) [MDB IGNORE] (#17626)
* [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition)

* should probably make tests pass

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-11-25 16:29:20 -05:00
san7890
cb20ec99f9 [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition) (#70967)
## About The Pull Request

So, there's some bullshit with the map loader(?) sometimes where it'll
let space turfs spawn in spots where we REALLY don't want space turfs.
Or, it could also just be a mapper screwing up. Anyways, we might miss
these, so let's set up a broad Unit Test that checks and verifies that
these round-ruining snagglers do _not_ exist.

In order to help me to do this, I standardized and fixed the
nomenclature such that `/area/ruin/space` is default for any map file in
`_maps/RandomRuins/SpaceRuins`, as well as it's subtypes. I also touched
up how we handle shuttle areas in these scenarios. This got a lot of
Unit Test noise filtered out, and is crucial for its functioning. It
should also be how we did it from the start anyways. I added in an
UpdatePaths for any compatible change, but it was completely
non-workable for some of the area type updates.

I also fixed any organic bugs that didn't require an areas type update.
Cool.

Placing space turfs on IceBox:

![image](https://user-images.githubusercontent.com/34697715/199177940-21c64964-1808-41b0-9a92-bf5b82eee2fa.png)

Organically found issues:

![image](https://user-images.githubusercontent.com/34697715/199177972-b27a89de-0e1a-41e5-8fa4-3bee1763b9da.png)

I also added a `planetary` variable to `/datum/map_config` because I
didn't like the hack I was using to see if we had a planetary map, and
I'd rather it just be an explicit variable in the map's JSON.

## Why It's Good For The Game

The less times we get Space Turfs showing up on IceBoxStation, the
better. It also standardizes areas a bit more, which I like (we were
using some incorrect ones in the wrong spots, so those were touched up
in this PR as well). Like, if it's a space ruin, we don't need to use
the lengthy `/area/ruin/unpowered/no_grav` when `/area/ruin/space` does
the same thing.
## Changelog
Nothing in here should concern a player (unless I broke something)

Expect a few commits as I spam unit tests a few times and play
whack-a-mole with bugs.
2022-11-21 07:59:54 +00:00
SkyratBot
68e8eee1fc [MIRROR] Refactors Rabbits to be a Basic Mob [MDB IGNORE] (#17499)
* Refactors Rabbits to be a Basic Mob (#71205)

## About The Pull Request

Back in #64175, I reworked rabbits such that their base behavior was
just a cute fluffy snuggle monster, and not have the "easter" variant be
the default. Now that we're transitioning everything from simple_animal
to basic, I figured now was the time to shift that over too.

Pretty much everything should be the same as it was before, I even took
some time to add behavior to some elements to allow it to work (let me
know if I should handle it a different way) but rabbits as a
simple_animal and rabbits as a basic mob should now not be very
distinguishable (beyond the fact that they only speak via subtrees).

I also got rid of the single-letter icon_states in the DMI and
accomodated the code to fix because I finally got irritated enough to do
something about that.
## Why It's Good For The Game

Although I didn't really have any pressing urge to add more complex AI
behavior to rabbits than just pretty much re-implementing what they had
as a simple_animal, this is an excellent first-step to allowing much
more extensible behaviors to these fuzzy creatures.

Also, it takes three more mobs off "the frozen list". Whoopie!
## Changelog
🆑
fix: Dead Black Space Rabbits should now properly have a sprite.
/🆑

The UpdatePaths is useless for the maps we have on our repository
(holodecks use a spawner code-side), but I'm going to be nice to
downstreams who need it.

* Refactors Rabbits to be a Basic Mob

* Fixed the CI and the rabbit on VoidRaptor

* Oops, forgot to remove it from here too

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-11-16 11:57:50 -05:00
san7890
1d256b5506 Refactors Rabbits to be a Basic Mob (#71205)
## About The Pull Request

Back in #64175, I reworked rabbits such that their base behavior was
just a cute fluffy snuggle monster, and not have the "easter" variant be
the default. Now that we're transitioning everything from simple_animal
to basic, I figured now was the time to shift that over too.

Pretty much everything should be the same as it was before, I even took
some time to add behavior to some elements to allow it to work (let me
know if I should handle it a different way) but rabbits as a
simple_animal and rabbits as a basic mob should now not be very
distinguishable (beyond the fact that they only speak via subtrees).

I also got rid of the single-letter icon_states in the DMI and
accomodated the code to fix because I finally got irritated enough to do
something about that.
## Why It's Good For The Game

Although I didn't really have any pressing urge to add more complex AI
behavior to rabbits than just pretty much re-implementing what they had
as a simple_animal, this is an excellent first-step to allowing much
more extensible behaviors to these fuzzy creatures.

Also, it takes three more mobs off "the frozen list". Whoopie!
## Changelog
🆑
fix: Dead Black Space Rabbits should now properly have a sprite.
/🆑

The UpdatePaths is useless for the maps we have on our repository
(holodecks use a spawner code-side), but I'm going to be nice to
downstreams who need it.
2022-11-15 23:40:39 -08:00
SkyratBot
4b6c93f6b9 [MIRROR] Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits. [MDB IGNORE] (#17306)
* Easy's Super Omega  "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits.

* Removed all the conflicts, and started converting all the arms and legs to the proper typepaths

* Actually makes the game compile :)

* Makes the maps compile too!

* Early mirror of #71143 because it's more relevant to us

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-11-11 11:44:49 -05:00
SkyratBot
4b11bc848f [MIRROR] [MDB IGNORE] Clothing var cleanup [MDB IGNORE] (#17329)
* [MDB IGNORE] Clothing var cleanup

* modular changes except sec helmet

* SR maps

* Fixed sec helmet since it was custom toggling anyway, lots of misnamed icon states

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-09 16:53:06 -05:00
ShizCalev
6536b01a18 [MDB IGNORE] Clothing var cleanup (#70773)
Riot helmets and justice helmets are now in a /toggeable subtype.
Also cleans up a lot of vars around clothes in general.
2022-11-03 10:32:50 -04:00
itseasytosee
8e4bc80d92 Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits. (#70422)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Ok first if you don't want to read any further explanation you can watch
these two videos and you will understand all of the mechanical depth of
this change.


https://user-images.githubusercontent.com/55666666/194788103-8019dad8-7e44-4cc8-bc8f-0a4f8f00a357.mp4


https://user-images.githubusercontent.com/55666666/194788109-345a3146-fb4b-4a2e-9c2a-e2ee786ba97d.mp4

### **Disclaimer: Effect on gameplay extremely limited and niche read at
your own risk**

Starting at the top, regarding the species datum, the vars attack_type,
punchdamagelow, punchdamagehigh, punchstunthreshold, attack_verb,
attack_effect, attack_sound, and miss_sound have been removed.

All bodyparts (not just arms) now have corresponding variables for how
they should act if utilized in an unarmed attack. The bodyparts vars are
correlated to their corresponding species. All arm type bodyparts have
been repathed through a common parent for the purposes of keeping
variables consistent. The same is true for the legs.

When a carbon begins an unarmed attack, it will check the carbon's brain
to see what limb should be used for the attack.
If the brain has no answers it will default to the arm that corresponds
to the active hand of the attacker. Currently in all brains except
monkeys, it check to see if the attackers target target is laying down,
and if so, call for a kick with the leg that corresponds with the
attackers active hand. If the attacker has no useable legs, or the
attacker does not have a corresponding leg to the active hand, or the
target is not laying down, the brain will simply default for an attack
with the active hand.

Monkeys brains (take note the difference between having a monkey brain
and being controlled by monkey AI) are the exception, they will simply
always choose their heads, and by default an attack with the head is a
bite attack.

As an example:
Previously ethereal would make attacks that used the verb "burn" and did
burn damage despite what limbs they possessed.
Now anybody with an ethereal limb will make an unarmed attack that does
burn damage and has all the same verbs as an ethereal would.

And finally, the chunky finger species trait has been moved over to the
species arms. Effect on other sources like insuls remains unchanged.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
The main motivation is moving direct mechanical elements off of species
to, quoting tralezab here, "Make species like a blueprint."
Opens more opportunities for coders to add specific elements to limbs,
perhaps we could see a buff to unarmed strikes from robot arms, or a
species that headbutts people to death.
Also undeniably cool, and fixes some weirdness like fully auged
ethereals still doing their normal ethereal attack.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 itseasytosee
refactor: Elements of unarmed strikes are now limb dependent instead of
species dependent. Go rip off an ethereal arm, sew it onto yourself, and
burn some people.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: itseasytosee <noodlenymphftw@gmail.com@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-11-01 23:06:21 +00:00
SkyratBot
62c02030e3 [MIRROR] Convert mouse and rat to basic mobs [MDB IGNORE] (#17215)
* Convert mouse and rat to basic mobs

* run the UpdatePaths script you borb

* packs and nests

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-28 21:27:47 -04:00
MrMelbert
70db96c46f Convert mouse and rat to basic mobs (#70728)
* Converts mice and rats to basic mobs

* Update paths

* Fixes

* Tweaks

* .

* Use helpers

* Unit test

* Correct the targeting

* Fixes the unit test?

* Fixes the unit test

* Docs

* update the path script with pr id

* Faction check tweak

* Review

* AHH
2022-10-28 08:49:17 -04:00
SkyratBot
097e913e4b [MIRROR] Removes tablet hard drives entirely (HDD & SSD) [MDB IGNORE] (#17164)
* Removes tablet hard drives entirely (HDD & SSD)

* map updates

* changes

* contractor uplink theme

* uplink improvements

* tab

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-26 14:09:16 -04:00
John Willard
f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
SkyratBot
3795ed1a6b [MIRROR] [MDB Ignore]Hats DMI split [MDB IGNORE] (#16693)
* [MDB Ignore]Hats DMI split

* e

* STAFE

* e

* e

Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 23:00:42 +01:00
SkyratBot
e4d59278a0 [MIRROR] [MDB IGNORE] Shuttle engines part 2: Engines are now machines [MDB IGNORE] (#16676)
* [MDB IGNORE] Shuttle engines part 2: Engines are now machines (#69793)

* Makes engines machines instead of structures

* Updates the maps

* Fixes boards and anchoring

* Removes 2 unused engine types

Router was actually used a total of once, so I just replaced it with propulsion.
I think cutting down on these useless engine types that make no difference in-game would be a nice first step to adding more functionalities to them.

* Don't use power (since shuttles dont have)

Shuttles don't have APCs, instead they just have infinite power, so I'm removing their power usage for now. I'm hoping this can be removed when unique mechanics are added to engines, because I would like them to make use of power like other machines.

* re-organizes vars

* deletes deleted dm file

* Slightly improves cargo selling code

* Renames the updatepaths

* Removes in_wall engines

I hate this stupid engine it sucks it's useless it's used solely for the tram it provides nothing of benefit to the server
replaces them with regular engines

* [MDB IGNORE] Shuttle engines part 2: Engines are now machines

* should fix that

* THEY. REMOVED IN WALL ENGINES. THE BASTARDS.

* common mining shuttle

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:55:28 +01:00
Twaticus
c7dde06668 [MDB Ignore]Hats DMI split (#70060)
Splits head dmi into separate files for both mob and obj icons. Kept similar to suit split categorization + some more. New files include beanie, bio, chaplain, costume, cowboy, default, hats(softcaps, fedoras, head caps, generic hats), helmet(helmets and other armored headgear/hoods), spacehelm, utility(hardhats, mostly work related hats), wizard.
Moves animal/pet head sitting icons to 1 folder, pets_head.dmi
Renames PAI head sitting icon file to pai_head.dmi
2022-10-06 21:37:06 -07:00
John Willard
422accbe4e [MDB IGNORE] Shuttle engines part 2: Engines are now machines (#69793)
* Makes engines machines instead of structures

* Updates the maps

* Fixes boards and anchoring

* Removes 2 unused engine types

Router was actually used a total of once, so I just replaced it with propulsion.
I think cutting down on these useless engine types that make no difference in-game would be a nice first step to adding more functionalities to them.

* Don't use power (since shuttles dont have)

Shuttles don't have APCs, instead they just have infinite power, so I'm removing their power usage for now. I'm hoping this can be removed when unique mechanics are added to engines, because I would like them to make use of power like other machines.

* re-organizes vars

* deletes deleted dm file

* Slightly improves cargo selling code

* Renames the updatepaths

* Removes in_wall engines

I hate this stupid engine it sucks it's useless it's used solely for the tram it provides nothing of benefit to the server
replaces them with regular engines
2022-10-05 21:51:38 -04:00
SkyratBot
a7d9c94f0f [MIRROR] Converts some remaining varedited lights to directionals [MDB IGNORE] (#16629)
* Converts some remaining varedited lights to directionals (#70277)

* converts some remaining dir lights to directionals

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_fighter1.dmm

Co-authored-by: tattle <article.disaster@ gmail.com>

* Converts some remaining varedited lights to directionals

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
2022-10-04 02:46:18 -04:00
tattle
5d797e556f Converts some remaining varedited lights to directionals (#70277)
* converts some remaining dir lights to directionals

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_corvette.dmm

* Update _maps/shuttles/starfury_fighter1.dmm

Co-authored-by: tattle <article.disaster@gmail.com>
2022-10-03 23:55:17 -04:00
SkyratBot
9847332609 [MIRROR] Police hats are now hats instead of helmets. [MDB IGNORE] (#16102)
* Police hats are now hats instead of helmets. (#69643)

* Fixes police hats covering your hair.

Makes police hats a subtype of Warden's hats, so they still are security-level armor, without covering your hair like helmets do.
This was gone unnoticed because the item is very limited in-game.

I also renamed the gravity generator updatepaths because it's been inconsistent with the rest of the updatepaths for a while now.

* renames updatepaths

* Update tools/UpdatePaths/Scripts/69643_police_hat.txt

Co-authored-by: san7890 <the@ san7890.com>

* moves the hat to warden's, removes icon state

Turns out the icon state is shared between both hats, so the only real difference is name and description...

Co-authored-by: san7890 <the@ san7890.com>

* Police hats are now hats instead of helmets.

* Update head.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-07 00:12:12 +00:00
John Willard
a59e80f511 Police hats are now hats instead of helmets. (#69643)
* Fixes police hats covering your hair.

Makes police hats a subtype of Warden's hats, so they still are security-level armor, without covering your hair like helmets do.
This was gone unnoticed because the item is very limited in-game.

I also renamed the gravity generator updatepaths because it's been inconsistent with the rest of the updatepaths for a while now.

* renames updatepaths

* Update tools/UpdatePaths/Scripts/69643_police_hat.txt

Co-authored-by: san7890 <the@san7890.com>

* moves the hat to warden's, removes icon state

Turns out the icon state is shared between both hats, so the only real difference is name and description...

Co-authored-by: san7890 <the@san7890.com>
2022-09-06 13:47:34 -04:00
SkyratBot
96761dae1a [MIRROR] [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles [MDB IGNORE] (#15987)
* [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles (#69146)

About The Pull Request

bgug fix stuff
APC controller UI has its elements section'ed off. The backend has been redone to make the behaviour of the APC controller a bit less janky. The console should be more stable, and all the soul has been removed from the code and the UI.

before this PR stales out from nobody wanting to review my pr, I should probably outline what exactly changed:

    APC controller consoles have had their APC code almost entirely reworked. They no longer have to hold a reference to the person using the controller currently, and APCs themselves no longer hold a reference to the controller, instead to the person directly. A lot of code was moved to APC themselves to make it a lot more stable.
    APC controller used to call toggle_breaker without passing args, causing a runtime. Fixed in

    Fixes the power flow control console not actually being able to toggle breakers #69343
    APC controller UI has had the Window.Content tags moved up to the top component, and a lot has been sectioned off to make the UI more sane.
    AmpCheck used to look for a wire on it's turf, or as a fallback look for the Area APC. A check to see if the APC has a terminal did so on a weakref, causing a runtime and preventing the program from ever finding a valid APC in it's area, making it show nothing. This has been fixed. On the other hand, the power monitor console did not store the ground wire or APC terminal as a weakref, this has been updated. As a fallback, if there are still no APCs in the powernet, the UI will show a dimmer popup.
    There was a "secret" power monitor variation in code so PDAs could not access monitors in hidden places. With the removal of PDAs, this control console is useless.

Why It's Good For The Game

Tiny bit of (much needed) polish on some useful tools in the engineering department.
Changelog

cl
fix: Fixed runtime when using AmpCheck without connecting the console with a wire.
fix: Fixed a few runtimes that could occur when using APC controller consoles.
qol: Sucked soul out of APC controller code and UI.
del: Removed "secret" power monitor console.
/cl

* [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles

* update paths

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-05 17:59:42 -04:00
SkyratBot
c93f3745d8 [MIRROR] [MDB IGNORE] Improves status display even more, makes the brig door timers based on status displays [MDB IGNORE] (#15865)
* [MDB IGNORE] Improves status display even more, makes the brig door timers based on status displays

* conflicts

* maps

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 14:28:00 +01:00
distributivgesetz
714aa3b150 [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles (#69146)
About The Pull Request

bgug fix stuff
APC controller UI has its elements section'ed off. The backend has been redone to make the behaviour of the APC controller a bit less janky. The console should be more stable, and all the soul has been removed from the code and the UI.

before this PR stales out from nobody wanting to review my pr, I should probably outline what exactly changed:

    APC controller consoles have had their APC code almost entirely reworked. They no longer have to hold a reference to the person using the controller currently, and APCs themselves no longer hold a reference to the controller, instead to the person directly. A lot of code was moved to APC themselves to make it a lot more stable.
    APC controller used to call toggle_breaker without passing args, causing a runtime. Fixed in 

    Fixes the power flow control console not actually being able to toggle breakers #69343
    APC controller UI has had the Window.Content tags moved up to the top component, and a lot has been sectioned off to make the UI more sane.
    AmpCheck used to look for a wire on it's turf, or as a fallback look for the Area APC. A check to see if the APC has a terminal did so on a weakref, causing a runtime and preventing the program from ever finding a valid APC in it's area, making it show nothing. This has been fixed. On the other hand, the power monitor console did not store the ground wire or APC terminal as a weakref, this has been updated. As a fallback, if there are still no APCs in the powernet, the UI will show a dimmer popup.
    There was a "secret" power monitor variation in code so PDAs could not access monitors in hidden places. With the removal of PDAs, this control console is useless.

Why It's Good For The Game

Tiny bit of (much needed) polish on some useful tools in the engineering department.
Changelog

cl
fix: Fixed runtime when using AmpCheck without connecting the console with a wire.
fix: Fixed a few runtimes that could occur when using APC controller consoles.
qol: Sucked soul out of APC controller code and UI.
del: Removed "secret" power monitor console.
/cl
2022-09-02 09:45:45 +12:00
ORCACommander
95d282f6be [MDB IGNORE] Fixes some missed drinks in the refactor and resets the migration script to upstream (#15875)
Gotta fix that migration
2022-08-27 13:32:47 -04:00
Tastyfish
e9d4eb45d1 [MDB IGNORE] Improves status display even more, makes the brig door timers based on status displays (#69153)
This PR was originally just going to be a re-factor of brig doors to be based on status displays, as a big chunk of their code was duplicating the exact same appearance, but then I realized "Cell 1" would have marqueed for being 6 characters and ended up doing the second half of the status display overhaul I meant to do a while back.

So firstly:

Yes, brig doors are now subtypes of status displays.
The main improvement out of that refactor, other than a lot of code trimming, is that the on-screen timer updates its readout as you set it, which looks nice.
Also handled various states in a more consistent way in some edge cases.
The timer now also displays the cell's actual name instead of the internal ID on the top line.
Now for status displays:

Long ago, I wanted the marquee to be continuous but the math required knowing the actual measured text width, though without a user that is impossible.
I recently realized the scope of the text usable on status displays (no formatting, or icons) is so narrow, I can cheat it like crazy into a small lookup table and a looping function.
No, this method can't possibly extend to runetext.
So now the marquees loop seemlessly without any gaps! In fact behind the scenes they loop the very first pixel possible, and still done as a one-and-done animate() sequence as before. (click the preview below if you want to see it smoother)

Status displays are now a bit more colorful and have gapless marquee text.
Brig door timers were massively refactored behind the scenes. Door control should still work as before but be mindful.
2022-08-26 16:53:57 -06:00
SkyratBot
88c85fe1f7 [MIRROR] [MDB IGNORE] Refactors drinks and fixes a lot of food problems [MDB IGNORE] (#15577)
* [MDB IGNORE] Refactors drinks and fixes a lot of food problems

* [MDB IGNORE] Refactors drinks and fixes a lot of food problems

* forgto 2 commit

* im slowly going insane

* why does find and replace not FIND everything

* hnghnnngh

* h

* l

* a

* a

* so close...

* delta fix

* I thought I committed this already, guess not

* this PR has been the bane of my fucking life

* orange juice

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-08-25 03:17:10 +01:00
John Willard
4a274a6e4b [MDB IGNORE] Refactors drinks and fixes a lot of food problems (#69081)
* Makes condiments their own subtype, fixes geese, prepares for merging

* Fixes geese checking drink type instead of edible foodtype to eat gross food.
* Renames foodtype var on drinks to drink_types to prevent above from happening again because it KEEPS HAPPENING. DRINKS AREN'T FOOD!
* Makes Condiments their own subtype of reagent_containers because they don't make any use of being a subtype of food, at all.
* Starts moving things from food to /food/drink subtype in preparation for merging /food/drink with /drink

* fully removes Food subtype

* /reagent_containers/drinks are now /reagent_containers/cup - This is so it's no longer confused with eachother.
* /food/drinks is now /reagent_containers/cup/drinks, so we can keep their special abilities.
* Fixes a LOT of errors with food, which are STILL checking the reagent_containers, despite ACTUAL food being refactored away from it a long time ago.

This doesn't compile yet, but I do want to make sure my progress is well tracked.

* remove copypaste code, changes soda cans

* Removes most copy paste code between the two drinks, moving most stuff to parent whenever needed.
* Made soda cans their own subtype since they didn't share anything with glass bottles anyways.
* Fixes more problems with food/drinks, especially with geese. Geese really were just broken this whole time and no one said a word...
* Removes a snowflake signal, now that both drink types share a common one.
* Adds everything to the .dme

Currently my goal is to get this all compiling, then remove isGlass var by making glass be all glass ones only.

* Moves all icons into a single drinks dmi

I'm not that great at icon stuff, hopefully I didn't forget/break anything.

* Turns juices into their own subtype

This allows us to let them check for type in molotov, to both get rid of a use of isGlass, and so non-glass non-cartons don't show up as 'carton'.

* fixes compile issues, adds updatepaths

* a better updatepaths

* updates the damn maps now

* properly names the updatepath

* how did that get there

* i suck at handling merge conflicts

* how am i this bad

* code improvement and soda fix

* more fixes

* Don't be a timer

Ports from old food bottles to trans the reagents, rather than add a timer to.

* Merge conflicts and fixes bottle smashing

* Bottle smashing is now consistently functional regardless of how much liquid they have in them, when before it would spill first, then smash on the second hit.

* runs updatepaths again
2022-08-12 15:24:14 -04:00
SkyratBot
3d4cf438c4 [MIRROR] Merges ordnance data disks [MDB IGNORE] (#15397)
* Merges ordnance data disks (#68376)

JohnFulpWillard
Member
JohnFulpWillard commented 23 days ago
About The Pull Request

Merges ordnance data disk and frontier data disk, since the ordnance data disk's description says it is for ordnance-related stuff, yet doesnt have the main app people need to do Ordnance, which I found weird.

I additionally moved the NT Frontier app to the rest of the programs folder, and renamed it Frontier so it is easier to find.
Why It's Good For The Game

This allows the semi-public ordnance data disk (as they are found in vending machines) to actually contain the ordnance app it claims it provides, making it easier for an Atmospherics Technician (or anyone, really) to get the app needed to upload gasses they make, as experiments for their nodes.

This makes it easier for Engineering to do Engineering-related experiments to get Engineering-related tech nodes, much like Medical can by doing Dissection surgeries, while also giving more use to the Frontier's ability to put authors, since now Science and Atmospherics can see eachother completing experiments and maybe even try to outdo the other.
Changelog

cl
balance: Ordnance data disks now have the Frontier app on them, and has entirely replaced Frontier data disks.
/cl

* Merges ordnance data disks

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-08-05 01:01:14 +01:00
John Willard
ee21cf88a5 Merges ordnance data disks (#68376)
JohnFulpWillard
Member
JohnFulpWillard commented 23 days ago
About The Pull Request

Merges ordnance data disk and frontier data disk, since the ordnance data disk's description says it is for ordnance-related stuff, yet doesnt have the main app people need to do Ordnance, which I found weird.

I additionally moved the NT Frontier app to the rest of the programs folder, and renamed it Frontier so it is easier to find.
Why It's Good For The Game

This allows the semi-public ordnance data disk (as they are found in vending machines) to actually contain the ordnance app it claims it provides, making it easier for an Atmospherics Technician (or anyone, really) to get the app needed to upload gasses they make, as experiments for their nodes.

This makes it easier for Engineering to do Engineering-related experiments to get Engineering-related tech nodes, much like Medical can by doing Dissection surgeries, while also giving more use to the Frontier's ability to put authors, since now Science and Atmospherics can see eachother completing experiments and maybe even try to outdo the other.
Changelog

cl
balance: Ordnance data disks now have the Frontier app on them, and has entirely replaced Frontier data disks.
/cl
2022-08-05 09:16:43 +12:00
Jolly
3a8f63d5ae Nukes Salon area define from maps, uses upstreams Barber (#15230)
fuck i didn't realize i baked tram
2022-07-29 19:26:12 -05:00