summaryrefslogtreecommitdiff
path: root/revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch
diff options
context:
space:
mode:
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.patch67
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
+