/* commands: M - mobile to room M <if> <mobile> <max> <room> [<room max>] O - object to room O <if> <object> <max> <room> [<room max>] G - give object to last mobile G <if> <object> <max> P - put object inside object P <if> <object> <max> <object> E - equip mobile with an object E <if> <object> <max> [<posi>] D - set door state D <if> <room> <exit> <door_flags> R - remove object from room R <if> <room> <object> coming soon: L - set lever state */ struct ResetListType { BYTE rCmd; WORD rIf; union rArg1Type { LWORD rNum; MOBTEMPLATE *rMob; OBJTEMPLATE *rObj; STR *rStr; THING *rWld; } rArg1; union rArg2Type { LWORD rNum; } rArg2; union rArg3Type { LWORD rNum; THING *rWld; } rArg3; union rArg4Type { LWORD rNum; } rArg4; }; #define RF_RESET_WHEN_EMPTY 1<<0 /* gets periodic resets */ #define RF_RESET_IMMEDIATELY 1<<1 /* reset even if players are inside */ #define RF_NOENTER 1<<2 /* cant enter here */ #define RF_NOTAKE 1<<3 /* cant take items from here */ #define RF_NOGAIN 1<<4 /* exp gain */ #define RF_NOMONEY 1<<5 /* money gain */ #define RF_NOTELEPORT_IN 1<<6 /* cant teleport in */ #define RF_NOTELEPORT_OUT 1<<7 /* cant teleport out */ #define RF_MOBFREEZE 1<<8 /* stops mobs from wandering */ #define RF_AREAISCLOSED 1<<9 /* area is closed - admin flag only */ extern BYTE *rFlagList[]; extern LWORD resetNum; /* number of world structures in use - just curious really */ extern void ResetInit(void); extern void ResetRead(WORD area); extern void ResetWrite(WORD area); extern void ResetReIndex(void); extern void ResetArea(LWORD area); extern void ResetAreaPrimitive(LWORD area); extern void ResetAll(void); extern void ResetIdle(void);