Official Item Group/Package/Chain
Overview
Overview
- Implementation of the official 'Item Packages', 'Item Group' redesign, 'Item Chain' implementation.
- The file was redesigned to make it attend the official equivalent's and to be more flexible, there are no more limitations on the number of groups or on how many items a group may contain, these limitations were lifted.
- Old_Card_Album: ( // <= <Container_Item_Name>
("Poring_Card",8), // <= entries can be either ( "<Item_Name>", <Repeat_Count> )
"Sting_Card" // <= or "<Item_Name>" (no repeat)
)
- The file was created to meet the requirements of the official 'Package Item' feature, there are no limitations on how many packages you may add either.
- Gift_Bundle: { // <= <Container_Item_Name>
White_Slim_Potion: {// <= <Entry_Item_Name>
Random: false //May be omit when not false, signs whether a item is random or should be given whenever the packageis consumed.
Count: 30 //May be omit when not higher than 1, stands for how many <White_Slim_Potion>
}
Muffler_: {
Expire: 2 //May be omit when none, signs how many hours this item will last (makes a rental item)
Announce: True //May be omit when false, signs whether to relay a special item obtain announce when this item comes out of the package.
Rate: 50 //May be omit when 'Random' is false, from 1 to 10000 (0.01% - 100%)
Named: True //May be omit when false, signs whether the item should have the owner's name in it.
}
}
- Officially this thing is called groups too but I found it'd be confuse to have 2 group files with entirely different functionality, named chains because the items in it are chained to each other, this file fixes quite a few stuff, for example before this patch having BS_FINDINGORE drop something was almost twice as rare than on official servers, also fixes Jewel_Sword, Gaia_Sword, Blazzer_Card, Tengu_Card and Bogy_Horn.
- 'packageitem' script command, it has only 1 param which is optional, for the package item id, when not provided it'll try to use the item id from the item it is being used from (if called from an item script), it runs a item package and grants the items accordingly to the attached player.
- '#define MAX_RANDITEM' and '#define MAX_ITEMGROUP' were dropped, these limitations no longer exist and the server may support an unlimited number of item groups.
- 'item_findingore.txt' was dropped, its contents moved into 'item_chain.conf'
- 'item_bluebox.txt', 'item_cardalbum.txt', 'item_giftbox.txt', 'item_misc.txt', 'item_violetbox.txt' and 'item_group_db.txt' were dropped, its contents moved were updated and moved into 'item_group.conf'
- 'bonus2 bAddItemHealRate' changed; as group ids no longer exist.
- 'bAddMonsterDropItemGroup' was renamed to 'bAddMonsterDropChainItem' and changed from bonus 2/3 to bonus (0)/2 as the rate param was dropped because item chains have their own individual rates.
- Item names are now automatically made constants, so they may be used in any scripts throughout the server e.g. 'getitem Apple,1;', this works for all items except those having ' in their names (e.g. doesn't work for 'Monster's_Feed').
- 'getrandgroupitem' and 'grouprandomitem' were modified since group ids no longer exist, item ids should be used instead (or constants as the item above mentions), e.g. 'getrandgroupitem Old_Blue_Box,1;' or 'getrandgroupitem 603,1;'
- Dropped conf/battle/drops.conf 'finding_ore_rate' for it has no place in the official formula (if you'd like to modify finding ore rates, edit them via item_chain.conf)
- Beret and hemagx for bringing this change up to discussion, and the data they contributed into it
- Yommy and Muad_Dib for all the new item data implemented in this commit (a hell of stuff! THANK YOU BOTH <3)
- Streusel for all the over 100 new items he converted
- Gepard for the group item repeat info
- Masao for his debugging of the monster spawn issue
- Mysterious for updating the documentation
Last edited by a moderator:
