Attached Files:
|
0001-Don-t-let-blood-potions-rot-in-shops.patch [^] (1,697 bytes) 2013-04-12 07:12 [Show Content] [Hide Content]From d731558fdd2ea470fc48f50198eb9701c43d6b5e Mon Sep 17 00:00:00 2001
From: Pekka Lampila <pekka.lampila@iki.fi>
Date: Fri, 12 Apr 2013 08:11:38 +0300
Subject: [PATCH] Don't let blood potions rot in shops
---
crawl-ref/source/effects.cc | 3 +++
crawl-ref/source/shopping.cc | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 530a089..81c59de 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -65,6 +65,7 @@
#include "player-stats.h"
#include "player.h"
#include "religion.h"
+#include "shopping.h"
#include "shout.h"
#include "skills.h"
#include "skills2.h"
@@ -3066,6 +3067,8 @@ static void _update_corpses(int elapsedTime)
if (it.base_type == OBJ_POTIONS)
{
+ if (is_shop_item(it))
+ continue;
maybe_coagulate_blood_potions_floor(c);
continue;
}
diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc
index a8b6189..d9db78f 100644
--- a/crawl-ref/source/shopping.cc
+++ b/crawl-ref/source/shopping.cc
@@ -28,6 +28,7 @@
#include "libutil.h"
#include "macro.h"
#include "menu.h"
+#include "misc.h"
#include "notes.h"
#include "options.h"
#include "place.h"
@@ -1054,6 +1055,9 @@ static bool _purchase(int shop, int item_got, int cost, bool id)
set_ident_flags(item, ISFLAG_IDENT_MASK);
}
+ if (is_blood_potion(item))
+ init_stack_blood_potions(item, -1);
+
const int quant = item.quantity;
// Note that item will be invalidated if num == item.quantity.
const int num = move_item_to_player(item_got, item.quantity, false);
--
1.7.10.4
|