From c2f3c6ce8026f250d71c8b868af54b5a7b73ff38 Mon Sep 17 00:00:00 2001 From: Christian Schlittchen Date: Sun, 7 Nov 2004 09:01:22 +0000 Subject: [PATCH] - Fix Trollbelt --- src/common/kernel/eressea.h | 3 ++- src/common/kernel/item.c | 4 ++++ src/common/kernel/movement.c | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/kernel/eressea.h b/src/common/kernel/eressea.h index bcd253294..89e96f542 100644 --- a/src/common/kernel/eressea.h +++ b/src/common/kernel/eressea.h @@ -359,7 +359,8 @@ extern void plagues(struct region * r, boolean ismagic); /* Man gibt in einer Taverne mehr Geld aus! */ #define BAGCAPACITY 20000 /* soviel paßt in einen Bag of Holding */ -#define STRENGTHCAPACITY 50000 /* zusätzliche Tragkraft beim Kraftzauber */ +#define STRENGTHCAPACITY 50000 /* zusätzliche Tragkraft beim Kraftzauber (deprecated) */ +#define STRENGTHMULTIPLIER 50 /* multiplier for trollbelt */ typedef struct ursprung { struct ursprung *next; diff --git a/src/common/kernel/item.c b/src/common/kernel/item.c index 0809e2676..d3c6d577b 100644 --- a/src/common/kernel/item.c +++ b/src/common/kernel/item.c @@ -1495,6 +1495,10 @@ init_olditems(void) itype->capacity = BAGCAPACITY; break; case I_TROLLBELT: + /* This is wrong. according to the item description it multiplies + * the strength of the wearer by a factor of + * 50 (STRENGTHMULTIPLIER), not add a fixed 50000 */ + /* only used in battle.c for items of type ITF_ANIMAL */ itype->capacity = STRENGTHCAPACITY; break; default: diff --git a/src/common/kernel/movement.c b/src/common/kernel/movement.c index e794cbc4d..03bd37d3b 100644 --- a/src/common/kernel/movement.c +++ b/src/common/kernel/movement.c @@ -274,7 +274,7 @@ walkingcapacity(const struct unit * u) n += min(personen, tmp) * (HORSECAPACITY - personcapacity(u)); /* change_effect wird in ageing gemacht */ tmp = get_item(u, I_TROLLBELT); - n += min(personen, tmp) * STRENGTHCAPACITY; + n += min(personen, tmp) * (STRENGTHMULTIPLIER-1) * personcapacity(u); return n; }