Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Smartfridge Features and Spritework #6532

Merged
merged 15 commits into from Aug 8, 2019

Conversation

Firewolf34
Copy link
Contributor

@Firewolf34 Firewolf34 commented Aug 6, 2019

Smartfridge Improvements

This PR fixes a ton of bugs relating to smartfridges, making them work along the same standards as other machines and also adds a ton of extra features.

Reasoning

I got fed up with the fact that the Chemist would never realize when I was using the smartfridge. Every time I would go up to the smartfridge to retrieve an item, the Chemist wouldn't realize I was using it and would ask me if I needed anything. But I'd already have my item, he just wouldn't know because it was deposited directly into my hand.

Plus, the smartfridge was crap. It didn't work. It was deconstructed differently than other machines, there was no wiring whatsoever to pulse or cut, and the panel was broken (when you screwdrivered it, nothing would show up, but the smartfridge would become unusable). Among a whole host of other bugs.

Finally, nobody ever checks the chemistry smartfridge or Bar's drink showcase. Why? Because there's no way to tell if there's any new items in it. This PR fixes these issues and more.

New Features

Smartfridge Pitches/Slogans

Similarly to how vendors work, some smartfridges will now advertise their contents. This is what it looks like:
Pitches

This will help people realize what the smartfridge has. It's primarily intended for the Chemist and the Bartender. As such, only the smart chemistry smartfridge and the drink showcase have this feature enabled by default. However all of the smartfridges have a set of slogans written for them they can use if there are no items in them, or sometimes at random. Try activating the speaker of a smartfridge to hear them! This feature can be toggled on and off by pulsing the speaker wire of the smartfridge.

Smartfridge Capacity Indication

Now you can see how many items the smartfridge has in it, at a glance! Different capacity levels (as a percentage of their max number of items) can be seen now with the icon of the smartfridge. When the smartfridge becomes full, a little red indicator light begins to blink showing that it cannot receive anymore items!

capacity+shock

Wiring!

You may have noticed in the above gif that there is also now wiring for the smartfridge! A whole new set of wiring for the station blueprints allows you to do all sorts of things with the wiring, such as:

  • Get shocked by the smartfridge with the shock wire
  • Turn off the smartfridge's power with the power wire
  • Disable the smartfridge's dispenser arm with the disable wire
  • Turn off the smartfridge's speaker with the check wiring cable

Wiring works on almost all smartfridge derivatives, including the disk compartmentalizer and new organ fridge! The only smartfridge machine it's disabled for is the drying rack because that thing's fucking weird.

Dispensing Animations!

Now when you remove an item, you can actually see it on the icon! This communicates to you and everyone around you that you removed an item from the machine. A lot of people don't notice that it spits it into their hand, so this will help with the confusion.

dispensation

Bonus: Disk Compartmentalizer Dispensing Animation!

I figured the disk toaster deserved a little love, too. Now you can see the disk pop out of the compartmentalizer like a piece of toast!

diskcompartmentalizer

The Smartfridge can now be broken!

You may not have realized it, but the smartfridge prior to this PR literally could not be broken! It would simply disappear. With my changes, it can be destroyed, utilizing the broken icon state it had. I also updated the broken icon state to look more broken:

old vs new

:b:roke

Organ Storage Smartfridge

While I was working on this PR, @SomeguyManperson released his port of the TG organ damage system. Seeing as a new smartfridge was made available I went and added the Organ Storage Smartfridge to all of the maps surgery areas. All of the features I added work with the new organ smartfridge subtype, as you should expect. I went and added some product slogans for the organ storage smartfridge as well.

Assorted Bugfixes List:

  • Fixes bug where smartfridge wire panels were invisible (also added an indication of where the panel is on the smartfridge icon when closed)
  • Smartfridge capacity values set and adjusted for all smartfridges to promote upgrading them
  • Fixes some minor typos and HTML issues in robot.dm and apc.dm
  • Smartfridge cannot accept items when depowered or broken anymore
  • Smartfridge can be broken now
  • Smartfridge health/armor upgraded to be similar to vendors
  • Smartfridge now reacts to power changes and updates icon accordingly
  • Fixes bug with drying rack not properly reacting to tools
  • Drying rack displays warning when you attempt to unwrench it
  • Smartfridge now requires it's panel to be open for it to be unwrenched, similar to other machines
  • Smartfridge now has it's own wiring which can be pulsed and cut
  • Switches smartfridges around on Yogstation so the pre-loaded chems face the medbay
  • Adds organ storage smartfridges to all maps in their respective surgery areas
  • Adds surplus prosthetic crate to the Yogsmeta and Minsky stations since they were lacking them

Changelog

🆑
rscadd: Adds organ storage smartfridges to all maps
rscadd: Adds surplus prosthetic crate to Minsky/Delta
tweak: Adds wiring and capacity indication to smartfridges
tweak: Adds advertisement capability to smartfridges
bugfix: Smartfridges can now be broken/depowered properly
bugfix: Fixes drying rack not reacting to tools properly
tweak: Smartfridge deconstruction/unwrenching method standardized
imageadd: Adds dispensing animations to Smartfridge and Disk Compartmentalizer
spellcheck: fixed a few typos in robot.dm and apc.dm
tweak: Switches the two chemistry smartfridges around on Yogstation
/:cl:

  - Updates default smartfridge icon to be empty state rather than full
  - Updates broken icon to look more damaged, and obscures contents with damage
  - Updates depowered icon to obscure contents state with darkness
  - Adds a wire panel cover to all smartfridge icons
    - Wire Panel transparent overlay updated to fit the new wire panel design
  - Adds a 'Contents Full' indicator light for when the smartfridge is at max cap.
    - Light blinks red when the smartfridge cannot hold any more.
  - Adds 5 capacity states to the smartfridge ranging from empty to full
    - New icon states help indicate at-a-glance the current capacity of the fridge.
  - Smartfridge now indicates it's inventory quantity using its 5 new custom icons
  - Smartfridge makes a visual indication as well as an icon overlay when it's full
  - Smartfridge performs an animation when retrieving an item
  - Lowered the initial smartfridge max capacity to 1000 (can be upgraded)
  - Adds a retrieval animation to the Disk Compartmentalizer using the new system and
  - Adjusts Max Number of Items for all of the other smartfridges so as to promote upgrading by Science
  - Smartfridge cannot accept items when depowered or broken anymore
  - Smartfridge previously could not be broken, this has been fixed
    - You can now see broken state sprite for all smartfridges
    - Smartfridges have identical health and armor to vendors
  - Smartfridge now reacts to power changes by updating it's icon accordingly
  - Smartfridges can now emit slogans and 'sales pitches' like vendors
  - Groundwork laid for smartfridge wiring functionality
  - Power wires, shock wires, speaker wires, and disabling wire!
    - Cutting the power wire turns off the smartfridge power.
    - Pulsing the disable wire prevents it from dispensing anything (though it can still accept items)
    - Pulsing the speaker wire disables pitches.
    - The shock wire is self-explanatory, works the same as vendors.
  - Makes the smartfridge need to have it's panel open to be unwrenched, now.
     - This makes the smartfridge deconstruction/wrenching mechanic work the same as most machines.
  - Fixes bug with the drying rack where it would react poorly to tools.
    - Adds a nice warning message if the user attempts to use the standard decon tools on a drying rack.
  - Makes more sense this way, doctors get priority access to initial chems.
  - Allows smartfridge pitches to only include custom items made by the Chemist:
    - Crew-facing smartfridge will start empty, so they know if there's items in the fridge, they're worth checking.
  - Organ smartfridge was given product_slogans
  - Organ smartfridge was given a hint to it's use in it's description
  - Organ smartfridge added to the Yogstation map in the surgery room
  - Increased pitch rate of all smartfridges
  - Also adds surplus prosthetic crate to Yogsmeta and Minsky since they were lacking them
@yogstation13-bot yogstation13-bot added DME Edit This PR affects the yogstation.DME file Feature This adds new content to the game Icon Change Mapping Will result in a change to a map. Tweak This PR contains changes to the game. labels Aug 6, 2019
…idges from using advanced smartfridge features
@Firewolf34
Copy link
Contributor Author

Don't know what's going on with Travis there, but I think I fixed everything.

This has all been pretty thoroughly tested.

@SomeguyManperson
Copy link
Contributor

Travis decided to break on the last check, the PR should be good.
Also, you can get different smartfridge subtypes by applying a screwdriver to the circuit board to switch between them. Adding them to maps is good regardless

@Firewolf34
Copy link
Contributor Author

Firewolf34 commented Aug 7, 2019

Huh, I didn't know that. I thought that was only for vendors! Still good to hear. Great work on the organ port by the way!

@fluffe9911 fluffe9911 merged commit 0d55068 into yogstation13:master Aug 8, 2019
@Firewolf34 Firewolf34 deleted the smartfridge-improvements branch August 10, 2019 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DME Edit This PR affects the yogstation.DME file Feature This adds new content to the game Mapping Will result in a change to a map. Tweak This PR contains changes to the game.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants