-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Item save format: See save_item_index() in save.c, and load_item_index() in db.c # ~ ~ There are 2 item index lists: the global one which can be seen by all maps, and the local ones which only the currrently loaded map can see. (This is for the editor, on the server all items are treated as global). This allows map builders to write their own items and have them imported automatically when their area is added to the server--their local items are stored as part of the map information instead of in the global index file. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- NPC save format See save_npc_index() in save.c, and load_npc_index() in db.c # ~ ~ There are 2 item NPC lists: the global one which can be seen by all maps, and the local ones which only the currrently loaded map can see. (This is for the editor, on the server all NPCs are treated as global). This allows map builders to write their own NPCs and have them imported automatically when their area is added to the server--their local NPCs are stored as part of the map information instead of in the global index file. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Item values: The 6 items values (value[0] ... value[5]) are dependant upon the item type. ITEM_WL_ARMOR value[0] = Armor VS melee attacks value[1] = Armor VS impact projectiles value[2] = Armor VS explosives value[3] = Armor VS energy weapons value[4] = Armor VS other damage value[5] = Armor flags ITEM_WL_AMMO value[0] = dam type value[1] = calibre flags value[2] = dam dice number value[3] = dam dice size value[4] = dam bonus value[5] = ammo flags ITEM_WL_WEAPON value[0] = weapon type if (value[0] == WEAPON_KNIFE || WEAPON_MELEE) { value[1] = dam dice number value[2] = dam dice size value[3] = dam bonus value[4] = dam type value[5] = weapon flags } else if (value[0] == WEAPON_AT) { value[1] = dam dice number value[2] = dam dice size value[3] = dam bonus value[4] = max charges value[5] = explosive flags } else { value[1] = fire type flags (includes calibre flags) value[2] = rounds-per-reload value[3] = range value[4] = damage scaling (for non-reloadables this is dam) value[5] = Extra weapon specific flags } At this stage all other items should just have 0 set for all values.