summaryrefslogtreecommitdiff
path: root/revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2023-12-30 21:58:12 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2023-12-30 21:58:12 -0800
commitd4bc63a8f8ee37ec2de2f43734a60ca045e517c3 (patch)
treed49d6000c1d82e7add7cfcccf873f85224ab823c /revert-26_fix-npc-splints-and-clean-up-iterator-errors-3592.patch
parentFix Mr Lapin meet the Isherwood quest looping. (diff)
downloadcataclysm-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.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
+