mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-27 11:26:10 +01:00
GitHub issues 78 79 81 num aff flags off by one (#82)
* Make sure all followers are free'd before freeing the character list Otherwise, the followers structs will point to free'd memory and the stop_follower call will attempt to dereference a free'd characters' followers list. * https://github.com/tbamud/tbamud/issues/79 typo * https://github.com/tbamud/tbamud/issues/81 nullpointer crash on syntax check run * NUM_AFF_FLAGS fix. Now, consistently, the NUM_AFF_FLAGS is used in the same way as other NUM_* variables. Specifically, the the number is consistent with how others are defined - 1 above the highest in the list. I would like to have removed the need to start from 1 instead of 0 as well, but the loading mechanism, and thus potentially a lot of existing object files, use 0 as a marker for "no flags set", and we can't easily fix that. So, the places we loop through the list, we still need to make sure we're stying within the [1;NUM_AFF_FLAGS) interval. Simultaneously, I've checked over the other flags, and it seems like the usage is pretty consistent there. Fixes https://github.com/tbamud/tbamud/issues/78
This commit is contained in:
parent
7f0acefcb4
commit
eb650c2811
9 changed files with 17 additions and 21 deletions
|
|
@ -268,7 +268,7 @@
|
|||
|
||||
/* Affect bits: used in char_data.char_specials.saved.affected_by */
|
||||
/* WARNING: In the world files, NEVER set the bits marked "R" ("Reserved") */
|
||||
#define AFF_DONTUSE 0 /**< DON'T USE! */
|
||||
#define AFF_DONTUSE 0 /**< DON'T USE! This allows 0 to mean "no bits set" in the database */
|
||||
#define AFF_BLIND 1 /**< (R) Char is blind */
|
||||
#define AFF_INVISIBLE 2 /**< Char is invisible */
|
||||
#define AFF_DETECT_ALIGN 3 /**< Char is sensitive to align */
|
||||
|
|
@ -291,8 +291,8 @@
|
|||
#define AFF_HIDE 20 /**< Char is hidden */
|
||||
#define AFF_FREE 21 /**< Room for future expansion */
|
||||
#define AFF_CHARM 22 /**< Char is charmed */
|
||||
/** Total number of affect flags not including the don't use flag. */
|
||||
#define NUM_AFF_FLAGS 22
|
||||
/** Total number of affect flags */
|
||||
#define NUM_AFF_FLAGS 23
|
||||
|
||||
/* Modes of connectedness: used by descriptor_data.state */
|
||||
#define CON_PLAYING 0 /**< Playing - Nominal state */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue