mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-09 10:58:50 +01:00
DG Scripts bug fixes (#44)
* Increase ID space DG Scripts uses tiny idspace that results in wacky bugs when the mud is running too long. * Overhaul script ids All references to GET_ID(ch/obj) were removed and replaced by char_script_id() and obj_script_id(), which don’t assign ids until they are needed. The ch->id and obj->id variable names were changed to script_id to prevent accidental errors for future programmers. This change greatly increases how long the mud can run before it runs out of ID space. * Fix extraction count This prevents an error log where it has over-counted the extractions pending. It now behaves correctly when the same mob is %purge%’d or extract_char()’d twice.
This commit is contained in:
parent
d7a50664ea
commit
41da68bdb0
14 changed files with 182 additions and 125 deletions
|
|
@ -717,7 +717,7 @@ struct obj_data
|
|||
struct obj_data *in_obj; /**< Points to carrying object, or NULL */
|
||||
struct obj_data *contains; /**< List of objects being carried, or NULL */
|
||||
|
||||
long id; /**< used by DG triggers - unique id */
|
||||
long script_id; /**< used by DG triggers - fetch only with obj_script_id() */
|
||||
struct trig_proto_list *proto_script; /**< list of default triggers */
|
||||
struct script_data *script; /**< script info for the object */
|
||||
|
||||
|
|
@ -1033,7 +1033,7 @@ struct char_data
|
|||
struct obj_data *carrying; /**< List head for objects in inventory */
|
||||
struct descriptor_data *desc; /**< Descriptor/connection info; NPCs = NULL */
|
||||
|
||||
long id; /**< used by DG triggers - unique id */
|
||||
long script_id; /**< used by DG triggers - fetch only with char_script_id() */
|
||||
struct trig_proto_list *proto_script; /**< list of default triggers */
|
||||
struct script_data *script; /**< script info for the object */
|
||||
struct script_memory *memory; /**< for mob memory triggers */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue