decaying globs of {ooze,pudding,slime}
Globs never rotted away but did become tainted after a relatively short while, which seemed like a contradiction. Change them to never be tainted but shrink by 1 unit of weight approximately every 25 turns. An ordinary glob (one that hasn't combined with any others) starts out weighing 20 units, so it takes about 500 turns to vanish. That's roughly twice as long as a corpse takes to rot away. Shrinking globs give feedback when in hero's invent or in a container in hero's inventory, but rarely (when going from an exact multiple of 20 weight units; that is, from integral number of N globs to N-1 + 19/20, or if weight reduction triggers an encumbrance change). When a glob goes away completely, there is feedback for those two circumstances and also for seeing the glob vanish from the floor. I haven't touched how much nutrition eating a glob confers. I have changed formatting of glob names to use "small", "medium", "large", "very large" instead of "small", [no adjective], "large", &c. You still need to have at least five globs coalesced together for the adjective to become "medium", same amount as before. I don't think EDITLEVEL needs to be modified but have incremented it anyway to play things safe.
This commit is contained in:
@@ -668,6 +668,7 @@ extern void eatmupdate(void);
|
||||
extern boolean is_edible(struct obj *);
|
||||
extern void init_uhunger(void);
|
||||
extern int Hear_again(void);
|
||||
extern boolean eating_glob(struct obj *);
|
||||
extern void reset_eat(void);
|
||||
extern unsigned obj_nutrition(struct obj *);
|
||||
extern int doeat(void);
|
||||
@@ -1358,6 +1359,8 @@ extern struct obj *rnd_treefruit_at(int, int);
|
||||
extern void set_corpsenm(struct obj *, int);
|
||||
extern long rider_revival_time(struct obj *, boolean);
|
||||
extern void start_corpse_timeout(struct obj *);
|
||||
extern void start_glob_timeout(struct obj *, long);
|
||||
extern void shrink_glob(anything *, long);
|
||||
extern void maybe_adjust_light(struct obj *, int);
|
||||
extern void bless(struct obj *);
|
||||
extern void unbless(struct obj *);
|
||||
|
||||
Reference in New Issue
Block a user