Skip to content

Commit

Permalink
Merge branch 'CleverRaven:master' into lose_effect_bp
Browse files Browse the repository at this point in the history
  • Loading branch information
furran authored Dec 12, 2023
2 parents ad36bb0 + b37cb38 commit 0ce74cb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
14 changes: 4 additions & 10 deletions doc/FREQUENTLY_MADE_SUGGESTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,6 @@ finally there's the opportunity cost issue. for the effort of multithreading ke

that's the worst thing about multithreading IMO, as soon as you have multiple threads, you have to start worrying about thread safety throughout your code

#### We should be able to turn off z-levels: No.

Z-levels became a mandatory feature in 0.E experimental in order to support ground vehicles moving up and down ramps. Having z-levels be optional was a large maintenance burden on the developers, and turning off z-levels breaks vehicle ramps.

There has been an extensive optimization effort in the fall of 2020 to bring back performance, and it's been mostly successful. Current experimentals should run faster with z-levels on than 0.E runs with z-levels off.

#### Bringing charges back: No.

We are in the process of removing charges, that's a fact that won't be changed. We should have made this decision much earlier or never started implementing them in the first place, but it is what it is.
Expand Down Expand Up @@ -143,12 +137,12 @@ I’m 100% fine having a game mode available where this happens. However, at le
#### Psychic powers: mod only

Not happening, it simply doesn’t fit the theme of the game.
However, we’d be happy to have support for it in the code so that a mod can have psychic powers.
However, Mind Over Matter is distributed with the game, and adds psychic powers. See [MAGIC.md](MAGIC.md) for more info.

#### Magic powers: mod only

Not happening, it simply doesn’t fit the theme of the game.
However, the Magiclysm mod is distributed with the game and is very extensible in JSON to support other systems of magic.
However, the Magiclysm mod is distributed with the game and is very extensible in JSON to support other systems of magic, such as Mind Over Matter. This infrastructure is also used with EOC's and activated mutations in the base game. See [MAGIC.md](MAGIC.md) for more info.

#### Poop and related bodily functions: NO
No, just no, not even in a mod.
Expand Down Expand Up @@ -333,9 +327,9 @@ For a better outline on what we DO want to do, see https://github.com/CleverRave

From a game balance perspective zombies are very abundant and should only be used under limited lore-friendly circumstances in consumables, trivial early items or with lasting risks and drawbacks.

#### Conversations with monsters and other things: yes, planned for 0.G
#### Conversations with monsters and other things: Partially implemented

There is an extensive and sophisticated system for talking with NPCs, but you can't have a conversation with your genetically modified, super-intelligent dog, nor with your intelligent sword from Magiclysm, nor with your car.
This is partially implemented already with monsters, items, furniture, as the player character can have conversations with them via NPC-style dialogue. However, support for dialogue functions is limited; you can't trade with monsters, and a significant quantity of edge cases for oddball functions remain unsupported for non-NPC talkers. Conversations with vehicles are entirely unsupported, meaning you can't talk with your car or some super-intelligent AI inside it.

Work is being done to enable all these conversations. It's not hard work at this point, it's just tedious bits that need to get done.

Expand Down
8 changes: 8 additions & 0 deletions src/item.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1278,6 +1278,7 @@ void item::update_modified_pockets()
std::optional<const pocket_data *> mag_or_mag_well;
std::vector<const pocket_data *> container_pockets;

// Prevent cleanup of pockets belonging to the item base type
for( const pocket_data &pocket : type->pockets ) {
if( pocket.type == pocket_type::CONTAINER ) {
container_pockets.push_back( &pocket );
Expand All @@ -1287,6 +1288,13 @@ void item::update_modified_pockets()
}
}

// Prevent cleanup of added modular pockets
for( const item *it : contents.get_added_pockets() ) {
for( const pocket_data &pocket : it->type->pockets ) {
container_pockets.push_back( &pocket );
}
}

for( const item *mod : mods() ) {
if( mod->type->mod ) {
for( const pocket_data &pocket : mod->type->mod->add_pockets ) {
Expand Down

0 comments on commit 0ce74cb

Please sign in to comment.