diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2023-12-30 21:58:12 -0800 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2023-12-30 21:58:12 -0800 |
commit | d4bc63a8f8ee37ec2de2f43734a60ca045e517c3 (patch) | |
tree | d49d6000c1d82e7add7cfcccf873f85224ab823c /revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch | |
parent | Fix Mr Lapin meet the Isherwood quest looping. (diff) | |
download | cataclysm-bn-d4bc63a8f8ee37ec2de2f43734a60ca045e517c3.tar.xz |
Updated to 0.5.1
Removed obsolete mods.
Revert removal of Alonso.
Revert biodiesel working in petrol engines.
Revert hard skill caps.
Revert three more broken limb changesets.
Revert another ammo rebalance changeset.
Revert craftable smokeless gunpowder changeset.
Revised book chapters revert patch.
Fix some bad terrain in the godco patch.
Fix some bad terrain in the prison island patch.
Diffstat (limited to 'revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch')
-rw-r--r-- | revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch b/revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch new file mode 100644 index 0000000..f302dc8 --- /dev/null +++ b/revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch @@ -0,0 +1,67 @@ +From 17831b78d407a5abfc9389b35202b807ce5df8c4 Mon Sep 17 00:00:00 2001 +From: joveeater <joveasarus@gmail.com> +Date: Wed, 8 Nov 2023 00:18:59 +0000 +Subject: [PATCH 065/318] fix: npc splints and clean up iterator errors (#3592) + +* Fix splints and clean up iterator errors + +* style(autofix.ci): automated formatting + +--------- + +Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> +--- + src/item.cpp | 1 + + src/npcmove.cpp | 13 ++++++++++++- + 3 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/src/item.cpp b/src/item.cpp +index 3674560e548..d772312c36a 100644 +--- a/src/item.cpp ++++ b/src/item.cpp +@@ -483,6 +483,7 @@ item &item::operator=( const item &source ) + invlet = source.invlet; + active = source.active; + activated_by = source.activated_by; ++ is_favorite = source.is_favorite; + + contents.clear_items(); + +diff --git a/src/npcmove.cpp b/src/npcmove.cpp +index c3470703e8a..3a0cd430288 100644 +--- a/src/npcmove.cpp ++++ b/src/npcmove.cpp +@@ -4736,6 +4736,7 @@ bool npc::adjust_worn() + return false; + }; + ++ item *splint = nullptr; + for( auto &elem : worn ) { + if( !elem->has_flag( flag_SPLINT ) ) { + continue; +@@ -4744,11 +4745,21 @@ bool npc::adjust_worn() + if( !covers_broken( *elem, elem->get_side() ) ) { + const bool needs_change = covers_broken( *elem, opposite_side( elem->get_side() ) ); + // Try to change side (if it makes sense), or take off. +- if( ( needs_change && change_side( *elem ) ) || takeoff( *elem ) ) { ++ if( needs_change && change_side( *elem ) ) { + return true; + } ++ ++ if( can_takeoff( *elem ).success() ) { ++ splint = elem; ++ break; ++ } ++ + } + } ++ if( splint ) { ++ takeoff( *splint ); ++ return true; ++ } + + return false; + } +-- +2.42.0 + |