Gas clouds expand around terrain rather than being rhomboid

The gas will expand from its chosen center point via breadth-first
search instead of hardcoding a diagonal shape. The search is performed
with a randomized list of directions, and has 50% chance of not spreading
to a space it otherwise would have spread to. This has the effect of fuzzing
the cloud edges in open areas, helping the clouds on, for instance,
the Plane of Fire not be big rhombuses.

Also some other code refactoring related to stinking clouds in read.c

This comes from xNetHack by copperwater <aosdict@gmail.com>
This commit is contained in:
Pasi Kallinen
2021-09-19 13:51:51 +03:00
parent 12800bf84b
commit b23ff20c6a
6 changed files with 135 additions and 47 deletions

View File

@@ -2141,6 +2141,7 @@ extern void assign_candy_wrapper(struct obj *);
extern int doread(void);
extern int charge_ok(struct obj *);
extern void recharge(struct obj *, int);
extern boolean valid_cloud_pos(int, int);
extern int seffects(struct obj *);
extern void drop_boulder_on_player(boolean, boolean, boolean, boolean);
extern boolean drop_boulder_on_monster(int, int, boolean, boolean);