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

Fixes activity zone sorting for comestibles in containers. #45453

Merged
merged 5 commits into from
Nov 27, 2020

Conversation

Squishums
Copy link
Contributor

@Squishums Squishums commented Nov 16, 2020

Summary

SUMMARY: Bugfixes "Fixes activity zone sorting for comestibles in containers"

Purpose of change

Fixes #44245

This is something that really bothered me as a player, tbh. Using zones and Shift+O to sort items doesn't play nicely with containers, which isn't a problem for most items, since they're usually loose, but comestibles from house scrounging are almost always contained within something. The logic for whether an item is food changed when pockets were added, about 6 months ago.

Describe the solution

Well... just kinda fixed the logic? When sorting comestible containers, consider the contained item, but also account for whether the spoilage rate of the containing pocket. If a container will ever spoil if left out at room temperature, consider it perishable.

Describe alternatives you've considered

Freezing all food so there are no liquids and nothing ever spoils. It could all go on the same tile then. Would make life much simpler.

This cooouuulllldddd be fixed by making changed to get_food to mirror the pre-pocket logic, but without any test coverage I'm not confident it won't break more things than it'll solve. item.cpp desperately needs a refactor. There's logic for weapons, food, clothing, tools, whatever, all in one huge file.

Could expand this to be a general solution for sorting containers but it's not as obvious what the correct behaviour is for non-comestibles. Going to limit the scope here to where it makes the biggest difference.

Finally, I don't think relatively shelf stable comestibles, like lasagne sheets which last a literal year, should be considered perishable for the sorting logic. It's not like you're refrigerating it anyway. Will want to come up with some cutoff threshold in the future.

Testing

Why I added tests of course. The auto sort logic was completely untested, and honestly anything touching either pockets or spoilage is arcane voodoo at best. I also set up an in-game test using a bunch of different item types, which you can see below. Before the change, the two drink zones were completely unused, as all liquids require a container, and the perishable food zone was only filled with perishables outside of a container.

Setup After Sort (looking at drinks)
image image

Please don't judge my nude shame, I was testing a new clothing feature 😔

Additional context

The pocket spoilage logic really only looks at a item's direct parent for the spoilage rate. It should be really be doing a tree walk to the root pocket and multiplying all the spoilage reductions, but like again, not gonna change that here.

@@ -6821,6 +6821,11 @@ item_pocket *item::contained_where( const item &contained )
return contents.contained_where( contained );
}

const item_pocket *item::contained_where( const item &contained ) const
{
return const_cast<item *>( this )->contained_where( contained );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this const_cast does anything here. The method is already marked const so this is const already.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually casting this to a mutable item * so that we can use the mutable contained_where implementation. We can't call it without the cast, because the mutable version returns a mutable reference, which is a no-go from a const object. It's a common C++ trick to avoid having to duplicate the entire method body for these const/mutable method pairs, and it's safe as long as your mutable version doesn't have side effects.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see; thanks!

@Squishums
Copy link
Contributor Author

Astyle failure is suffer.cpp, which I didn't touch 🤷‍♀️

@anothersimulacrum anothersimulacrum added [C++] Changes (can be) made in C++. Previously named `Code` Inventory / AIM / Zones Inventory, Advanced Inventory Management or Zones labels Nov 16, 2020
tests/clzones_test.cpp Outdated Show resolved Hide resolved
@Squishums
Copy link
Contributor Author

Took some time to get the clang tidy plugin working locally. PR should be good now. Clang Build Analyze failure isn't related.

@Squishums
Copy link
Contributor Author

The travis build failure is kinda directly contradicting the clang-tidy complaint about wanting the the tripoint to default initialize itself.

What it's complaining about now has been allowed on major compilers for a while now, and particularly on clang since 3.9... unfortunately travis is using 3.8.

Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>
src/clzones.cpp Outdated Show resolved Hide resolved
@kevingranade kevingranade merged commit bddb708 into CleverRaven:master Nov 27, 2020
Cornelllo added a commit to Cornelllo/Cataclysm-DDA that referenced this pull request Dec 12, 2020
* activity_actor: fix segfault in drop activities

restack pocket *after* manipulating charges

also restack pocket when changing favorite status from inventory menu

fixes CleverRaven#45633

* item: don't try to use charges if there's no ammo

fixes CleverRaven#45640

* Fix wrong offset of pike overlay

* Fix item::deserialize failed to visit object error

There were two sources of failed to visit object errors in
item::deserialize.

The first occurred because a JsonObject was being fetched and
immediately destroyed when checking if it had a member.
Shift this to fetch the object and keep it around to reuse later, and
more importantly tell it to ignore unvisited members.

The second occurred when loading the basic data. Here, a second data
type derived from a JsonObject is required. There were two issues here.
1. The original data object did visit the same members as the derived
   one. This is fixed with the added copy_visited_members function.
2. The derived type was still a JsonObject, so now we had two
   JsonObjects of the same data, with both visited different data.
   To fix this, allow omitted members on the derived type.

* Add submap loading tests

Add tests for each part of submap loading (except for camps, which
appear to be obsolete).

Each test tests a single separate area to prevent cross-contamination,
and as such each has a separate JSON definition.

For tests using the four corners and the point (4,7), this is to ensure
no rotation or anything occurs, and the extra point is to make sure
testing just the corners doesn't bite us somewhere.

All JSON is either taken from or inspired by real JSON produced by our
submap deserializer.

* Rebalance 40mm grenades

* Fix excess commas

* Fix items disappear from container when it placed.

Drop items on the ground from deployed containers.

fixes 45651

* Fix rebar rail rifle

* fix typo

* Add dandelion and chamomile tea bags and recipes (CleverRaven#43241)

* Fixes activity zone sorting for comestibles in containers. (CleverRaven#45453)

* Fix typo in documentation

* Add brown bread and bread flour with container (CleverRaven#45576)

* Adds homeopathic pills (CleverRaven#45592)

* Gun's displayed weight fix (CleverRaven#45623)

* adds loaded ammo mass to total gun mass
* magazine weight is being added to gun total weight

* Update shot.json

* Update shot.json

* Fix range-loop-analysis (clang 12) (CleverRaven#45657)

* Housekeeping: remove obsolete mtype::species_ptrs  (CleverRaven#45664)

* Fix rotated tiles offset (CleverRaven#45556)

* Update shot.json

* fix invalid bionic id null (CleverRaven#45667)

* Silence an advisory warning.

* npctrade: stop selling things that are marked TRADER_AVOID

Fixes CleverRaven#44449

NPCs were trading items that were marked TRADER_AVOID, for two
reasons:
1.  NPC_TRADER_AVOID was being checked only for NPC shopkeepers.
2.  The logic for assembling trade lists checked if the list
was for an NPC and if the NPC wanted to sell it, OR if the NPC
wanted to buy it.  So the NPC would not want to sell an item
they held, but they would still sell it if they wanted to buy
it.

Redo the logic for TRADER_AVOID to take place after the check
for npc_will_exchange_items_freely() but have it occur even for
NPCs that aren't shopkeepers.

Also, redo the logic that assembles lists so the NPC only checks
want_to_buy() when assembling the list of the avatar's trade goods.

* Add instant coffee to loot table (CleverRaven#45639)

* snacks, office, cubical office, office breakroom, shelter
* stash_food, mil_food_nodrugs, ws_fire_lookout_tower

* Fix instant coffee overriding brew

* tools: rebalance the makeshift glaive (CleverRaven#45658)

The makeshift glaive is really good for an easy, improvised weapon.
Add it to the effective DPS tests and nerf its accuracy to bring it
in line with other makeshift polearms.

* Fix issues with radio-modded explosives inside RC cars (CleverRaven#45661)

* Added a pocket in RC car that should fit radio-activated explosives
* Simplified and updated code for sending the signal

* Silence compiler warning (CleverRaven#45679)

* Add new helper function get_book_mastery (CleverRaven#45475)

* fix freshwater research station spawning (CleverRaven#45552)

* Allow quartering organ-less corpses without field dressing

* no more blanket

nuh-uh.

* character: slightly improve find_ammo helper

only skip nodes if they are actually loaded as magazines

fixes CleverRaven#45689

* Add fast-scroll to active world mods menu

* Add licorice to vanilla

* Add chocolate cow to vanilla

* Routine i18n updates on 29 Nov 2020

* wagons!

* Fix wrong format

* Update urban_5_house.json

* Tweaks to clothing_mods.json

* Fixed graffiti not showing full text in mouselook (CleverRaven#45691)

* [DinoMod]  Dino daycare difficulty fix (CleverRaven#45714)

* remove diff from hatchlings

* diff fix for juveniles

* fix lookslike

* Fix aircraft mechanic profession typo (CleverRaven#45707)

* [Mythical Martial Arts] Updated descriptions of D&D styles

* Street lights and Traffic lights don't block sight

* misc item category fixes

* Fixed unseen sound not showing fully

* Terrain can emit fields (CleverRaven#45686)

* Remove useless EMITTER flag from vehicles (CleverRaven#45723)

* Add missing canned_liver ingredient in recipes

* ensure that casings are stackable (fix CleverRaven#44469)

* Bats aren't polearms

* fix issues with sound (walking on boats), sound triggering twice

* Add pigeons

* Edit chicken coops in roof

* Add winter spawn

* Stylished json

* fix typos in crane descriptions

* fix mall subway access

* Fix Otaku proficiency

* adjust loot spawns in freshwater research station

* improve consistency of the nested items `tname`

* fix test

* remove redundant translator comment

* fix typo in stylish transition bifocals

* Mention computers skill in bionics installation intro

as seen in src/bionics.cpp:2007

* [Magiclysm] Add light orichalcum frame (CleverRaven#45692)

* Adds light orichalcum frame

* Slight damage reduction boost

* JSON lint fix

* JSON lint fix

Co-authored-by: Salty Panda <grzegorz.orzel96@gmail.com>

* Aftershock: Astrobiology lab (CleverRaven#45660)

* Habitat Terrains

* Adjustments to alien terains

Lowered the move costs of most soils plus some color and symbol viariation for terrains.

* Astrobiology lab

* Delete duplicate region settings

* Style item group

* Remove dead vehicle fixup code.

* Update shot.json

* Update data/json/items/ammo/shot.json

* switch to ">" symbol for nesting indication

* Fixed full body armor mutations not covering head

* Removed eye armor from non-slime non-mycus mutations

* Allow to return softwares for missions (CleverRaven#45434)

* Check Software container in count_items
* Also count softwares in players pockets
* count_softwares
* find softwares hidden in pocketses
* Consume software container upon returning software for a quest

* add a roof to hospital

* Allow customizing initial date in scenarios (CleverRaven#45466)

* Allow customizing initial date in scenarios
* Update doc/JSON_INFO.md

* Jsonifying heat emission, and hot springs (CleverRaven#45632)

* hot springs and jazz

* translations: fix android localization

* fix CleverRaven#45759: limit the number of attempts to place the city to avoid infinite loop when no free space is available

* MshockXotto+ Update 02/12/2020 (CleverRaven#45771)

* MshockXotto+ Update 02/12/2020

* Include json fix from  I-am-Erk/CDDA-Tilesets#310

* Oversized recipes and clothing items (CleverRaven#44783)

* [Dinomod] Adding Amargasaurus and Kosmoceratops AKA Finishing obscure dinos (CleverRaven#45478)

* Add more NKIs (non-kitten items) to Robot Finds Kitten (CleverRaven#44969)

* Add more non-kitten items to Robot Finds Kitten

Including:

- More items from the official GPL Robot Finds Kitten game
- Moose from CleverRaven#27985, plus many new original CDDA-themed items
- Items suggested by Discord users
- Some robot-generated items

* Add items from I-am-Erk

Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

* BrownLikeBears update 04-12-20

* lard byproducts have similar properties to base product (CleverRaven#45599)

* Sort expansion (CleverRaven#45646)

* Adding a NO_SHOOT terrain Flag and example of use (CleverRaven#45730)

* Jsonify office tower (CleverRaven#45738)

* Replaced OMTs in city_building definition
* Added new OMTs and obsoleted old ones
* Replaced old OMT with the new ones in Graphical Overmap and Alternate Map Symbols mods
* Replaced old OMT with the new one in mission definition
* Added new office tower to the list of city buildings spawn list
* Migration
* Removed huge hardcoded draw_office_tower function for good
* Convert ordinary walls to conrete ones

* Add 40mm blackpowder loads (CleverRaven#45740)

* Add 40mm blackpowder loads
* Add RELOAD_EJECT to tube launcher

* Removed spammed unnecessary messages

* Update recipe_medsandchemicals.json

added recipie for sulphuric acid

* Butter knife no longer disassembles into spike

* Rephrase NPC following request

In NPC engagement menu, instead of ""He will follow at about 2 paces",
say "Follow me at about 2 paces", and likewise "Follow me at about 4
paces"".

This better fits the other options in the same menu, phrased like "Stick
close to me", "You can use ranged weapons", "Don't use grenades" etc.

Fix test case for new NPC follow rule.

* game: defer explosions (CleverRaven#45693)

* game: defer explosions
trigger explosions after processing all items
fixes CleverRaven#45662
* tests: update explosion test

* Add PREDATOR_FUN flag and implementation

* Fix item with the same relic_data stack (CleverRaven#45790)

* items: add poleaxe to the effective DPS damage and adjust damage

The poleaxe wasn't in the effective DPS tests, so add it at about
the same DPS as a glaive.

Adjust the poleaxe accuracy down to 1, same as the other polearms,
and increase the damage slightly to bring up the DPS to target.

* fix ammo_unset clearing item mods

* Fix NPC not gaining XP when reading with player

* Hyper-metabolism rework (CleverRaven#45687)

* Routine i18n updates on 5 Dec 2020

* increase capacity of soldering iron pseudo item

* Update sandwich.json

* move a few player functions to character

- has_mission_item
- has_gun_for_ammo
- has_magazine_for_ammo
- can_interface_armor
- item_reduce_charges

* level_cache: move the level_cache into its own C++ file

In preparation for making the vehicle elements level_cache into
a proper cache with dirty bits, move the entire thing into
another file.

* level_cache: make the vehicle cache parts private

Make the vehicle cache members private, in preparation for adding
dirty bits, and then change all users of the vehicle cache to
access the vehicle cache through getters and setters.

* Fix typo in FOODCO description

* Red leather jacket go brrrr

* generate_overlay_ids.py: expanded hardcoded ids

* Fix inventory_ui PAGE_UP/DOWN-page-scroll

* Fix duplicate item

* account chairvoyance when checking for Character -> creature visibility

* Update game_inventory.cpp

* level_cache: add a dirty flag for the vehicle cache

Add a dirty bit to the vehicle cache component of the level cache,
and a separate bit to indicate the cache is completely empty,
and optimize cache clearing to be no-ops if the cache is clean
or empty.

* map: clear and build the vehicle cache across all z-levels

Now that the vehicle cache has proper dirty bits, convert
the calls to clear and reset on a per z-level basis to
"clear_all_vehicle_caches" and "build_all_vehicle_caches"
across all z-levels.  Slightly reorganize calls to these
functions to guarantee that the cache is built after it
has been cleared.

* level_cache: pass veh to set_veh_cached_parts by reference

veh can never be null, by it's only caller, so pass it by reference
instead of as a pointer.  Don't pass it as a const reference, because
a const reference can't be converted easily to a non-const pointer.

* Fix support of font formats

* Correct zombie horse symbol and color

* prevent freeze during migo portal generation (#$45807) (CleverRaven#45825)

* Debug menu option to generate sound at tile (CleverRaven#45823)

* Documentation update for Terrain Flag and MAGIC.md (CleverRaven#45833)

Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>

* Fixed extinguishing items on boats (CleverRaven#45835)

* Fixes Compare items color bug (CleverRaven#45808)

* [Aftershock] Add new electronic machinery (CleverRaven#45695)

Co-authored-by: Alexey Mostovoy <1931904+AMurkin@users.noreply.github.com>

* Add River Starting Location (CleverRaven#45677)

* Prevent game from placing character in water
In order to have a water start location we first need to make sure that
overmap terrain with water can be chosen as starting locations without
spawning the character underwater.

* Add a river starting location
Added a starting location on a riverbank and updated the wilderness
scenario to sometimes spawn a player there

* Update data/json/monstergroups/wilderness.json

Co-authored-by: Fris0uman <41293484+Fris0uman@users.noreply.github.com>

* Added a repair material list to repair menu

* Center cursor on player after all UIs are drawn

Also, add a little explanatory comment for anyone debugging cursor
issues in the future that changing curs_set() won't crash the game.

There are probably cursor errors all over the shop, but this solves at
least one of them.

Also remove the old code that did the same thing.

* Remove double-shot firing mode from pump shotgun.

* Add avatar::clear_identified()

* Fix canned liver and offal being the wrong size.

* Add plant fiber/fibre byproduct (CleverRaven#45894)

With this change you no longer waste the plant fiber when creating cattail jelly.

* Fix another aircraft mechanic proficency typo (CleverRaven#45883)

* Fixed typo in boots.json

Fixed typo in boots.json for xl chitin boots

* [AFTERSHOCK] Moxphores (CleverRaven#45801)

* Move Object Creator to a separate solution (CleverRaven#45885)

* Update misc.json (CleverRaven#45899)

* improve npc overmap travel: (CleverRaven#45896)

* recalculate goal when it's not reachable
* still look for needs if CITY_SIZE=0
* change `overmap_location::terrains` type to `flat_set`, refactor `npc::set_omt_destination`

* Avoid fusing with the last critter if no proper critter is found (CleverRaven#45886)

* Avoid fusing with the last critter if no proper critter is found
fixes CleverRaven#36348

* Nerf the fastest new zombie animals so attacks take a whole turn (CleverRaven#45880)

* Slow attack of fastest new zombie animals
by adding 'attack_cost' equal to 'speed', making them attack once per turn
* Slow attack of barghest and hulking horror
by adding "attack_cost" to match the "speed" in the proportional copy-from
* Slow some special attacks too
with "move_cost" equal to speed

* Do not use C-style casts

* Removed duplicate functions

* Create a issue template config file

Provides redirects to github discussions page and project forums, and disables the "blank issue template".

* Delete ISSUE_TEMPLATE.md

* Fix spelling issues (CleverRaven#45878)

* JSON description spelling fixes
* Markdown + txt spelling fixes
* Fix FLAMMABLE_ASH flag for butchering rack
* Fix result spelling of southwest
* Fix cephalopod achievement id spelling
* unsually is probably unusually
* Fix spelling in dynamic line
* Simple comment/text spelling fixes
* Fix variable/enum spellings
* Fix function spelling issues

* Gate 3+ engines behind DEBUG_HS (CleverRaven#45914)

It's not intended that a survivor can install more than 2 engines in a
vehicle, yet it is still useful to be able to install more than 2
engines for vehicle creation.

Additionally, it was often asked how to get to mechanics 12, an
effectively impossible task, but still show for the install
requirements for 2+ engines.

As such, require debug hammerspace to install more than 2 engines or
display the skills need to install more engines.
The skills don't mean anything after 2 engines, but it's easier to leave
them there, and there is no harm in doing so.

* remove gravel (CleverRaven#45872)

* Check if curr_weapon is null before trying to remove flag (CleverRaven#45869)

* Check if curr_weapon is null before trying to remove flag
* Apply satheon49's patch

* Decrease log level to avoid emitting backtrace (CleverRaven#45841)

* Fix string return in game_inventory.cpp

* CleverRaven#45935 use id for movement mode tile overlays

* Make Dory SHEATH_SPEAR and NONCONDUCTIVE

* Removing of a choice components in rope (CleverRaven#45939)

* Allows drawing acid from Acidic Zombies again (CleverRaven#45929)

Fixes a bug that appeard because the drawn sulphuirc acid had a higher weight than what the blood draw kit supported.

* Line 516, Recipe Mortar and Pestle (CleverRaven#45921)

* Disable cursor centering for SDL builds

This breaks firing cursors and probably other things in SDL builds, so
disable it.

* Update Ultica 10-12-2020

* Add update date to txt

* MSX+ Update 10-12-20

* ChibiUltica Update 10-12-20

* Add looks_like to a number of books (CleverRaven#45953)

* Added appropriate looks_like tags for books
* Added looks_like to schematic template.

* Craftable RC cars (CleverRaven#45847)

* Add radio car wheels
part necessary for crafting RC cars
More components, time, skills, and tools needed to craft.
* Alter radio car wheel description
also changed from one wheel to a set of wheels and adjusted weight and volume accordingly
now uses the wheels from casters with glued on rubber chunks, carved to have treads.
gives some more parts back to accommodate crafting recipe, takes more time.
Included metal sawing to simulate cutting full sized springs in half for RC car suspension.
More craft time, swap 4 micro motors for 1 small motor, add cutting tool prerequisite.
Change 4 micro motors to 1 small motor.
swap one small motor to one tiny motor for power and two micro motors for steering.
swap small motor to tiny motor and add two micro motors
Add metal sawing prerequisite to remove wheel from caster fork.

* Display translated Rh blood type

* More yield for quartered corpses (CleverRaven#45963)

* replace usage of string "FLAMMABLE*" flags with bitflags (CleverRaven#45971)

* extract activity_actor subclasses to a seperate header to reduce inclusion overhead and fanout (CleverRaven#45967)

Co-authored-by: andrei <a12l+git@runbox.com>
Co-authored-by: Angela Graves <rivet.the.zombie@gmail.com>
Co-authored-by: Zhilkin Serg <ZhilkinSerg@users.noreply.github.com>
Co-authored-by: Fris0uman <sthapplz@gmail.com>
Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>
Co-authored-by: Rail-Runner <8814734+Rail-Runner@users.noreply.github.com>
Co-authored-by: CAHEK7 <cahek7@yandex.ru>
Co-authored-by: John Candlebury <johncandlebury@gmail.com>
Co-authored-by: XygenSS <lanceryt@naver.com>
Co-authored-by: levkropp <levkropp@protonmail.com>
Co-authored-by: Squishums <2533896+Squishums@users.noreply.github.com>
Co-authored-by: Xaleth <countolaf17@gmail.com>
Co-authored-by: aoae23 <42950339+aoae23@users.noreply.github.com>
Co-authored-by: Jakub Cieplinski <jakub.cieplinski@outlook.com>
Co-authored-by: Hyper-Jija <gunn6319@yandex.ru>
Co-authored-by: akirashirosawa <38557723+akirashirosawa@users.noreply.github.com>
Co-authored-by: Ivan Zaitsev <aiveeen@gmail.com>
Co-authored-by: 8street <nikolai_e@rambler.ru>
Co-authored-by: Kevin Granade <kevin.granade@gmail.com>
Co-authored-by: Mark Langsdorf <mark.langsdorf@gmail.com>
Co-authored-by: LaVeyanFiend <chimzor1@gmail.com>
Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru>
Co-authored-by: sacrificerXY <sacrificerXY@gmail.com>
Co-authored-by: curstwist <39442864+curstwist@users.noreply.github.com>
Co-authored-by: Pupsi-Mupsi <44737997+Pupsi-Mupsi@users.noreply.github.com>
Co-authored-by: Brett Dong <brett.browning.dong@gmail.com>
Co-authored-by: SirPendrak <43266802+SirPendrak@users.noreply.github.com>
Co-authored-by: LyleSY <lyle.sollayates@Gmail.com>
Co-authored-by: Hiram Anderson <37224753+hjk321@users.noreply.github.com>
Co-authored-by: Hymore246 <Hymore246@users.noreply.github.com>
Co-authored-by: casswedson <nelson1003403634@gmail.com>
Co-authored-by: Fris0uman <41293484+Fris0uman@users.noreply.github.com>
Co-authored-by: Gáspár Márton <gasparm@multilogic.hu>
Co-authored-by: Cimanyd0 <74877667+Cimanyd0@users.noreply.github.com>
Co-authored-by: Sergey Alirzaev <zl29ah@gmail.com>
Co-authored-by: Salty Panda <zjadaczwatrob@gmail.com>
Co-authored-by: Salty Panda <grzegorz.orzel96@gmail.com>
Co-authored-by: Kelenius <kelenius@ya.ru>
Co-authored-by: Positronic-Girl <43492737+Positronic-Girl@users.noreply.github.com>
Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com>
Co-authored-by: Theawesomeboophis <71793015+Theawesomeboophis@users.noreply.github.com>
Co-authored-by: Eric Pierce <wapcaplet88@gmail.com>
Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>
Co-authored-by: satheon <satheon@protonmail.com>
Co-authored-by: PatrikLundell <j.patrik.r.lundell@gmail.com>
Co-authored-by: elsxf <elsxfiles@gmail.com>
Co-authored-by: andrei <68240139+andrei8l@users.noreply.github.com>
Co-authored-by: Middo <53809752+MikuMiddo@users.noreply.github.com>
Co-authored-by: KorGgenT <curtis.r.merrill@gmail.com>
Co-authored-by: jumjummju <felkeraaron@gmail.com>
Co-authored-by: Serhiy Zahoriya <serhiy.int@gmail.com>
Co-authored-by: Ramza13 <52087122+Ramza13@users.noreply.github.com>
Co-authored-by: Aloxaf <aloxafx@gmail.com>
Co-authored-by: satheon49 <75445240+satheon49@users.noreply.github.com>
Co-authored-by: Saicchi <47158232+Saicchi@users.noreply.github.com>
Co-authored-by: Thomas Wisneski <thomas.r.wisneski@gmail.com>
Co-authored-by: YoungBlood01 <brodygreen98@hotmail.com>
Co-authored-by: Xygen <oxygenicalyt@naver.com>
Co-authored-by: Alexey Mostovoy <1931904+AMurkin@users.noreply.github.com>
Co-authored-by: Reed Schrier <reeds501@gmail.com>
Co-authored-by: UmbralReaper <67179462+UmbralReaper@users.noreply.github.com>
Co-authored-by: Rjtheperson <65632694+Rjtheperson@users.noreply.github.com>
Co-authored-by: Mom-Bun <43492737+Mom-Bun@users.noreply.github.com>
Co-authored-by: jumjummju <75549031+jumjummju@users.noreply.github.com>
Co-authored-by: haveric <breuerryan@gmail.com>
Co-authored-by: Lamandus <33199510+Lamandus@users.noreply.github.com>
Co-authored-by: Stephen Pittman <stephen@gomerits.com>
Co-authored-by: Nikita Vanku <vankun@btlnet.com>
Co-authored-by: slimeboy460 <68845349+slimeboy460@users.noreply.github.com>
Co-authored-by: Viktor Matthys <Valares@users.noreply.github.com>
Co-authored-by: xerenogan <75096026+xerenogan@users.noreply.github.com>
Co-authored-by: Entity-y <50155659+Entity-y@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Inventory / AIM / Zones Inventory, Advanced Inventory Management or Zones
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Perishable items in containers don't get sorted correctly
6 participants