This is a preliminary document about how the new zone flags system works.
Flags are granted for a particular zone. A zone can be made to require a flag, and a flag gave give access to exactly one zone.
The `flag_needed` field in the zone table is what determines if a flag is needed to enter the specified zone. This field is a string serving two purposes. If it is empty, that means no flag is required (the default). If it is non-empty, that means that a flag is required, and the string in this field represents the name of the flag as displayed to the player. This field may be edited with in game commands, or directly.
- This command allows you to see what flags you have on this character. (or optionally your target with enough status)
§Locking A Zone
#flagedit lockzone [zone id or short name] [name of flag] #flagedit lockzone veeshan Veerhan's Key
- This command basically updates the `flagneeded` field in the zone table for the specified zone to have the specified value.
§Unlocking A Zone
#flagedit unlockzone [zone id or short name] #flagedit unlockzone veeshan
- This command basically clears the `flagneeded` field in the zone table for the specified zone, removing the key requirement.
§Seeing Locked Zones
- List all zones which require a flag, and their flag's name
§Giving A Flag
#flagedit give [zone id or short name]
- Give your target the zone flag for the specified zone. Also possible with quest commands.
§Taking A Flag
#flagedit take [zone id or short name]
- Take the zone flag for the specified zone away from your target. Also possible with quest commands.
bool quest::has_zone_flag(int zone_id); void quest::set_zone_flag(int zone_id); void quest::clear_zone_flag(int zone_id);
- These commands are pretty self explanitory. Note that they all operate on ZONE ID NUMBER, not flag name or anything else.