Opened 11 years ago

Closed 8 years ago

#29 closed change (fixed (in master))

Store gold that monsters steal in their inventory

Reported by: takkaria Owned by: d_m
Milestone: 3.1.1 beta Keywords: gameplay haspatch
Cc:

Description

It's wrong to have monsters steal things and you not be able to get such things back by killing them. At the very least, have them "stash" it somewhere, though this may have to wait 'til we have better monster AI.

Raise default number items on a level, to compensate for this -- to 768, or thereabouts.

Attachments (1)

gold_drop.diff (1.4 KB) - added by Big Al 9 years ago.

Download all attachments as: .zip

Change History (19)

comment:1 follow-up: Changed 11 years ago by pmac

I'm not a fan of this idea. Letting you get gold back from novice rogues and filthy urchins makes those classes useless. As it stands, they teach the same rule that eventually lets you win games: if you don't like what a monster does, don't melee it.

comment:2 Changed 11 years ago by takkaria

  • Milestone changed from 3.1.0 to Future

comment:3 in reply to: ↑ 1 ; follow-up: Changed 10 years ago by anonymous

Replying to pmac:
Perhaps sometimes it's best to put common sense ahead of pointless gameplay features.
I don't think a level 3 rogue would have the power to evaporate gold.

comment:4 Changed 10 years ago by takkaria

  • component changed from Gameplay to Main game
  • Keywords gameplay added

comment:5 in reply to: ↑ 3 ; follow-up: Changed 10 years ago by anonymous

Replying to anonymous:

Replying to pmac:
Perhaps sometimes it's best to put common sense ahead of pointless gameplay features.
I don't think a level 3 rogue would have the power to evaporate gold.

As a recovering munchkin myself, I'd argue that we don't want to put any more emphasis on gold than the game already has. Unless you're playing a low level mage you can quickly dive to a level where you're accumulating money faster than annoying creatures can steal it. Losing money is no more annoying than stepping on a trap and having to spend to get a restore potion.

Items are another matter altogether. Losing a spellbook or WoR scroll, particularly in the dungeon, can really foul the game. Those should be recoverable. The work and danger to recover them is plenty of penalty.

comment:6 in reply to: ↑ 5 Changed 10 years ago by anonymous

Replying to anonymous:

Replying to anonymous:

Replying to pmac:
Perhaps sometimes it's best to put common sense ahead of pointless gameplay features.
I don't think a level 3 rogue would have the power to evaporate gold.

As a recovering munchkin myself, I'd argue that we don't want to put any more emphasis on gold than the game already has. Unless you're playing a low level mage you can quickly dive to a level where you're accumulating money faster than annoying creatures can steal it. Losing money is no more annoying than stepping on a trap and having to spend to get a restore potion.

Items are another matter altogether. Losing a spellbook or WoR scroll, particularly in the dungeon, can really foul the game. Those should be recoverable. The work and danger to recover them is plenty of penalty.

How about a greed level ? Each thief monster has a personal limit on how much gold it wants, once that amount is stolen it leaves the level. If you can kill it before it leaves the level, you get yer gold back. ( Value of items would count toward greed level of course ).

Cheers,
T.

comment:7 Changed 10 years ago by peter.wiersig@…

all "thievish" monsters should be able to pick up gold from the floor. As soon as you can't see the monster the money should vanish from the monster inventory list.

Changed 9 years ago by Big Al

comment:8 Changed 9 years ago by Big Al

Attached patch to allow thieves to steal your gold and then get it back. It seems almost too simple - I'm not missing anything, am I?

It currently only drops gold pieces (not copper, etc.) This could be changed by replacing "SV_GOLD" with similar code in make_gold() to drop all kinds of metal.

comment:9 Changed 9 years ago by takkaria

  • Milestone changed from Future to 3.1.1 beta

comment:10 Changed 9 years ago by takkaria

  • Keywords haspatch added

comment:11 Changed 9 years ago by p mac

It may well be too simple--how big is the units slot for monster inventory? Monsters can steal a LOT of gold, so it's likely to overflow.

comment:12 Changed 9 years ago by anonymous

Monster inventory is stored the same as floor stacks - it's just a linked list. There's no checks in place that I can see when a monster steals an object so they can as much as they like.

comment:13 Changed 9 years ago by anonymous

pval is s16b, right? but gold is s32b and so is au so
i_ptr->pval = gold;
could overflow.

if(gold>30000)
{

gold=30000;

}
i_ptr->pval = gold;

You could also have a message picked at random from the following later
"%s splurges on designer clothes."
"%s spends it all on beer and hookers."
"%s loses bigtime at poker."
;-)

comment:14 Changed 9 years ago by Big Al

Yeah, I realized that and was going fix it soon. I changed it so that it loops until it's dropped all the gold, until all the gold is dropped.

Also, trac is not letting me attach any more files to this ticket for some reason, so I'll but it here: http://www.bigalphillips.com/storage/gold_drop_ver_2.diff

comment:15 Changed 9 years ago by anonymous

Are monster-carried items tracked and included in the compression routines when there is too much stuff on a level?

comment:16 Changed 9 years ago by anonymous

I think your new code will fall foul of object_similar unless that is altered to check for pval overflow in combining gold.

comment:17 Changed 8 years ago by d_m

  • Owner set to d_m
  • Status changed from new to assigned

comment:18 Changed 8 years ago by d_m

  • Resolution set to fixed
  • Status changed from assigned to closed

After adding some code to make absorbing things like gold more sane, I have committed a modified version of Big Al's patch. Closing.

Note: See TracTickets for help on using tickets.