From 15b299ee54f8694621d97a9d34ad56422090e9eb Mon Sep 17 00:00:00 2001
From: Mysteries <mysteriousragnarok@hotmail.com>
Date: Sun, 23 Jun 2013 17:40:53 -0400
Subject: Update

- Fixed some documentation
- Fixed some alignment
---
 conf/atcommand.conf          |   7 +-
 db/castle_db.txt             | 102 ++++++++++++--------
 db/pre-re/item_chain.conf    |  11 ++-
 db/pre-re/item_group.conf    |  11 ++-
 db/pre-re/item_packages.conf |  16 +++-
 db/re/item_chain.conf        |  11 ++-
 db/re/item_group.conf        |  11 ++-
 db/re/item_packages.conf     |  16 +++-
 doc/item_bonus.txt           | 222 +++++++++++++++++++++----------------------
 doc/script_commands.txt      |  42 ++++----
 10 files changed, 270 insertions(+), 179 deletions(-)

diff --git a/conf/atcommand.conf b/conf/atcommand.conf
index 6e35d5327..3b3a156eb 100644
--- a/conf/atcommand.conf
+++ b/conf/atcommand.conf
@@ -14,8 +14,7 @@ atcommand_symbol : "@"
 charcommand_symbol: "#"
 
 /* Command aliases
-You can define aliases for any command. Aliases work just like original
-command.
+You can define aliases for any command. Aliases work just like the original command.
 Format is
 	<commandname>: ["<alias>", ...]
 */
@@ -59,8 +58,8 @@ aliases: {
 	channel: ["main"]
 }
 
-/* list of commands that should not be logged at all */
-/* add as many commands as you like */
+/* List of commands that should not be logged at all */
+/* Add as many commands as you like */
 nolog: {
 	iteminfo: 1
 	mobinfo: 1
diff --git a/db/castle_db.txt b/db/castle_db.txt
index 45a1443d5..12e222eb6 100644
--- a/db/castle_db.txt
+++ b/db/castle_db.txt
@@ -3,44 +3,72 @@
 // Structure of Database:
 // CastleID,MapName,CastleName,OnGuildBreakEventName,Flag
 //
-// 01. CastleID					Unique ID of the castle. Must remain unique across all map-servers.
-// 02. MapName					Map name to be considered as the castle map.
-// 03. CastleName				Name of the castle (used by scripts and guardian name tags).
-// 04. OnGuildBreakEventName	NPC unique name to invoke ::OnGuildBreak on, when a occupied
-//								castle is abandoned during guild break.
-// 05. Flag						Switch flag (reserved as of athena-dev mod0796~0801, not used by server).
-
-0,aldeg_cas01,Neuschwanstein,Agit#aldeg_cas01,1		// kRO : Noisyubantian
-1,aldeg_cas02,Hohenschwangau,Agit#aldeg_cas02,1		// kRO : Hohensyubangawoo
-2,aldeg_cas03,Nuernberg,Agit#aldeg_cas03,1			// kRO : Nyirenverk
-3,aldeg_cas04,Wuerzburg,Agit#aldeg_cas04,1			// kRO : Byirtsburi
-4,aldeg_cas05,Rothenburg,Agit#aldeg_cas05,1			// kRO : Rotenburk
-5,gefg_cas01,Repherion,Agit#gefg_cas01,1			// kRO : Reprion
-6,gefg_cas02,Eeyolbriggar,Agit#gefg_cas02,1			// kRO : Yolbriger
-7,gefg_cas03,Yesnelph,Agit#gefg_cas03,1				// kRO : Isinlife
-8,gefg_cas04,Bergel,Agit#gefg_cas04,1				// kRO : Berigel
-9,gefg_cas05,Mersetzdeitz,Agit#gefg_cas05,1			// kRO : Melsedetsu
-10,payg_cas01,Bright Arbor,Agit#payg_cas01,1		// kRO : Mingting
-11,payg_cas02,Scarlet Palace,Agit#payg_cas02,1		// kRO : Tiantan
-12,payg_cas03,Holy Shadow,Agit#payg_cas03,1			// kRO : Fuying
-13,payg_cas04,Sacred Altar,Agit#payg_cas04,1		// kRO : Honglou
-14,payg_cas05,Bamboo Grove Hill,Agit#payg_cas05,1	// kRO : Zhulinxian
-15,prtg_cas01,Kriemhild,Agit#prtg_cas01,1			// kRO : Creamhilt
-16,prtg_cas02,Swanhild,Agit#prtg_cas02,1			// kRO : Sbanhealt
-17,prtg_cas03,Fadhgridh,Agit#prtg_cas03,1			// kRO : Lazrigees
-18,prtg_cas04,Skoegul,Agit#prtg_cas04,1				// kRO : Squagul
-19,prtg_cas05,Gondul,Agit#prtg_cas05,1				// kRO : Guindull
+// 01. CastleID                  Unique ID of the castle. Must remain unique across all map-servers.
+// 02. MapName                   Map name to be considered as the castle map.
+// 03. CastleName                Name of the castle (used by scripts and guardian name tags).
+// 04. OnGuildBreakEventName     NPC unique name to invoke ::OnGuildBreak on, when a occupied
+//                               castle is abandoned during guild break.
+// 05. Flag                      Switch flag (reserved as of athena-dev mod0796~0801, not used by server).
+
+
+//================
+// Al De Baran
+//================
+0,aldeg_cas01,Neuschwanstein,Agit#aldeg_cas01,1       // kRO : Noisyubantian
+1,aldeg_cas02,Hohenschwangau,Agit#aldeg_cas02,1       // kRO : Hohensyubangawoo
+2,aldeg_cas03,Nuernberg,Agit#aldeg_cas03,1            // kRO : Nyirenverk
+3,aldeg_cas04,Wuerzburg,Agit#aldeg_cas04,1            // kRO : Byirtsburi
+4,aldeg_cas05,Rothenburg,Agit#aldeg_cas05,1           // kRO : Rotenburk
+
+//================
+// Geffen
+//================
+5,gefg_cas01,Repherion,Agit#gefg_cas01,1              // kRO : Reprion
+6,gefg_cas02,Eeyolbriggar,Agit#gefg_cas02,1           // kRO : Yolbriger
+7,gefg_cas03,Yesnelph,Agit#gefg_cas03,1               // kRO : Isinlife
+8,gefg_cas04,Bergel,Agit#gefg_cas04,1                 // kRO : Berigel
+9,gefg_cas05,Mersetzdeitz,Agit#gefg_cas05,1           // kRO : Melsedetsu
+
+//================
+// Payon
+//================
+10,payg_cas01,Bright Arbor,Agit#payg_cas01,1          // kRO : Mingting
+11,payg_cas02,Scarlet Palace,Agit#payg_cas02,1        // kRO : Tiantan
+12,payg_cas03,Holy Shadow,Agit#payg_cas03,1           // kRO : Fuying
+13,payg_cas04,Sacred Altar,Agit#payg_cas04,1          // kRO : Honglou
+14,payg_cas05,Bamboo Grove Hill,Agit#payg_cas05,1     // kRO : Zhulinxian
+
+//================
+// Prontera
+//================
+15,prtg_cas01,Kriemhild,Agit#prtg_cas01,1             // kRO : Creamhilt
+16,prtg_cas02,Swanhild,Agit#prtg_cas02,1              // kRO : Sbanhealt
+17,prtg_cas03,Fadhgridh,Agit#prtg_cas03,1             // kRO : Lazrigees
+18,prtg_cas04,Skoegul,Agit#prtg_cas04,1               // kRO : Squagul
+19,prtg_cas05,Gondul,Agit#prtg_cas05,1                // kRO : Guindull
+
+//================
+// Novice Guilds
+//================
 20,nguild_alde,Earth,Agit_N01,2
 21,nguild_gef,Air,Agit_N02,2
 22,nguild_pay,Water,Agit_N03,2
 23,nguild_prt,Fire,Agit_N04,2
-24,schg_cas01,Himinn,Manager#schg_cas01,1			// kRO : Himinn
-25,schg_cas02,Andlangr,Manager#schg_cas02,1			// kRO : Andlangr
-26,schg_cas03,Viblainn,Manager#schg_cas03,1			// kRO : Viblainn
-27,schg_cas04,Hljod,Manager#schg_cas04,1			// kRO : Hljod
-28,schg_cas05,Skidbladnir,Manager#schg_cas05,1		// kRO : Skidbladnir
-29,arug_cas01,Mardol,Manager#arug_cas01,1			// kRO : Mardol
-30,arug_cas02,Cyr,Manager#arug_cas02,1				// kRO : Cyr
-31,arug_cas03,Horn,Manager#arug_cas03,1				// kRO : Horn
-32,arug_cas04,Gefn,Manager#arug_cas04,1				// kRO : Gefn
-33,arug_cas05,Bandis,Manager#arug_cas05,1			// kRO : Bandis
+
+//================
+// Yuno
+//================
+24,schg_cas01,Himinn,Manager#schg_cas01,1             // kRO : Himinn
+25,schg_cas02,Andlangr,Manager#schg_cas02,1           // kRO : Andlangr
+26,schg_cas03,Viblainn,Manager#schg_cas03,1           // kRO : Viblainn
+27,schg_cas04,Hljod,Manager#schg_cas04,1              // kRO : Hljod
+28,schg_cas05,Skidbladnir,Manager#schg_cas05,1        // kRO : Skidbladnir
+
+//================
+// Rachel
+//================
+29,arug_cas01,Mardol,Manager#arug_cas01,1             // kRO : Mardol
+30,arug_cas02,Cyr,Manager#arug_cas02,1                // kRO : Cyr
+31,arug_cas03,Horn,Manager#arug_cas03,1               // kRO : Horn
+32,arug_cas04,Gefn,Manager#arug_cas04,1               // kRO : Gefn
+33,arug_cas05,Bandis,Manager#arug_cas05,1             // kRO : Bandis
diff --git a/db/pre-re/item_chain.conf b/db/pre-re/item_chain.conf
index 795c2f700..f7591b934 100644
--- a/db/pre-re/item_chain.conf
+++ b/db/pre-re/item_chain.conf
@@ -8,8 +8,17 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
+// Structure of file:
+/*
+
+ ITMCHAIN_<Name>: {
+   <Item_Name>: <chance>
+ }
+
+*/
+
 ITMCHAIN_ORE: {
 	Iron_Ore: 600
 	Iron: 380
diff --git a/db/pre-re/item_group.conf b/db/pre-re/item_group.conf
index 533e2f0ae..b2f4b1ac4 100644
--- a/db/pre-re/item_group.conf
+++ b/db/pre-re/item_group.conf
@@ -8,9 +8,16 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
-// <Container_Item_Name>: ( <...> "Item_Name" or ("Item_Name",Repeat_Count) )
+// Structure of file:
+/*
+ <Container_Item_Name>: (
+      "Item_Name" or 
+      ("Item_Name",Repeat_Count)
+ )
+*/
+
 Old_Card_Album: (
 	("Poring_Card",8),
 	("Fabre_Card",10),
diff --git a/db/pre-re/item_packages.conf b/db/pre-re/item_packages.conf
index f2f467681..acbd88752 100644
--- a/db/pre-re/item_packages.conf
+++ b/db/pre-re/item_packages.conf
@@ -8,8 +8,22 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
+// Structure of file:
+/*
+<Container_Item_Name>: {
+    <Entry_Item_Name>: {
+        Random: True/False - Signs whether a item is randomed or should be given whenever the packageis consumed.
+        Count: 30 - Stands for how much <Entry_Item_Name> will be obtained.
+        Expire: 2 - Signs how many hours this item will last (makes a rental item).
+        Announce: True/False - Signs whether to relay a special item obtain announcement when this item comes out of the package.
+        Rate: 50 - If 'Random' is True, a rate from 1 to 10000 (0.01% - 100%) will be given.
+        Named: True/False - Signs whether the item should have the owner's name in it.
+	}
+}
+*/
+
 Special_Box: {
 	Wrapped_Mask: {
 		Rate: 3
diff --git a/db/re/item_chain.conf b/db/re/item_chain.conf
index 795c2f700..f7591b934 100644
--- a/db/re/item_chain.conf
+++ b/db/re/item_chain.conf
@@ -8,8 +8,17 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
+// Structure of file:
+/*
+
+ ITMCHAIN_<Name>: {
+   <Item_Name>: <chance>
+ }
+
+*/
+
 ITMCHAIN_ORE: {
 	Iron_Ore: 600
 	Iron: 380
diff --git a/db/re/item_group.conf b/db/re/item_group.conf
index 3308cd96c..e392ae2b6 100644
--- a/db/re/item_group.conf
+++ b/db/re/item_group.conf
@@ -8,9 +8,16 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
-// <Container_Item_Name>: ( <...> "Item_Name" or ("Item_Name",Repeat_Count) )
+// Structure of file:
+/*
+ <Container_Item_Name>: (
+      "Item_Name" or 
+      ("Item_Name",Repeat_Count)
+ )
+*/
+
 Old_Card_Album: (
 	("Poring_Card",8),
 	("Fabre_Card",10),
diff --git a/db/re/item_packages.conf b/db/re/item_packages.conf
index d0a13e290..c4c782d0f 100644
--- a/db/re/item_packages.conf
+++ b/db/re/item_packages.conf
@@ -8,8 +8,22 @@
 //=                                                  
 //=            http://hercules.ws/board/                        
 //================= More Information =================
-// <link~u> <desc~!>
+// http://hercules.ws/board/topic/1244-official-item-grouppackagechain
 //====================================================
+// Structure of file:
+/*
+<Container_Item_Name>: {
+    <Entry_Item_Name>: {
+        Random: True/False - Signs whether a item is randomed or should be given whenever the packageis consumed.
+        Count: 30 - Stands for how much <Entry_Item_Name> will be obtained.
+        Expire: 2 - Signs how many hours this item will last (makes a rental item).
+        Announce: True/False - Signs whether to relay a special item obtain announcement when this item comes out of the package.
+        Rate: 50 - If 'Random' is True, a rate from 1 to 10000 (0.01% - 100%) will be given.
+        Named: True/False - Signs whether the item should have the owner's name in it.
+	}
+}
+*/
+
 Special_Box: {
 	Wrapped_Mask: {
 		Rate: 3
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt
index ada0cf8ec..7545016b5 100644
--- a/doc/item_bonus.txt
+++ b/doc/item_bonus.txt
@@ -3,60 +3,60 @@
 //===== By: ==================================================
 //= Hercules Dev Team
 //===== Current Version: =====================================
-//= 20121219
+//= 20130623
 //===== Description: =========================================
 //= List of script instructions used in item bonuses,
 //= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments.
 //============================================================
 
-skill i,n;				Gives skill #i at level n (supports skill names)
+skill i,n;                      Gives skill #i at level n (supports skill names)
 
-bonus bStr,n;				STR + n
-bonus bAgi,n;				AGI + n
-bonus bVit,n;				VIT + n
-bonus bInt,n;				INT + n
-bonus bDex,n;				DEX + n
-bonus bLuk,n;				LUK + n
-bonus bAllStats,n;			STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
-bonus bAgiVit,n;			AGI + n, VIT + n
-bonus bAgiDexStr,n;			STR + n, AGI + n, DEX + n
-bonus bMaxHP,n;				MaxHP + n
-bonus bMaxSP,n;				MaxSP + n
-bonus bMaxHPrate,n;			MaxHP + n% 
-bonus bMaxSPrate,n;			MaxSP + n%
-bonus bAtk,n;				ATK + n
-bonus bAtk2,n;				ATK2 + n
-bonus bAtkRate,n;			Attack power + n%
-bonus bBaseAtk,n;			Basic attack power + n
-bonus bMatk,n;				Magical attack power + n
-bonus bMatkRate,n;			Magical attack power + n%
-bonus bDef,n;				Equipment DEF + n
-bonus bDef2,n;				VIT based DEF + n
-bonus bDefRate,n;			Equipment DEF + n%
-bonus bDef2Rate,n;			VIT based DEF + n%
-bonus bMdef,n;				Equipment MDEF + n
-bonus bMdef2,n;				INT based MDEF + n
-bonus bMdefRate,n;			Equipment MDEF + n%
-bonus bMdef2Rate,n;			INT based MDEF + n%
-bonus bHit,n;				Hit + n
-bonus bHitRate,n;			Hit + n%
-bonus bCritical,n;			Critical + n
-bonus bCriticalRate,n;			Critical + n%
-bonus bFlee,n;				Flee + n
-bonus bFleeRate,n;			Flee + n%
-bonus bFlee2,n;				Perfect Dodge + n
-bonus bFlee2Rate,n;			Perfect Dodge + n%
-bonus bSpeedRate,n;			Moving speed + n% (only the highest among all is applied)
-bonus bSpeedAddRate,n;			Moving speed + n%
-bonus bAspd,n;				Attack speed + n
-bonus bAspdRate,n;			Attack speed + n%
-bonus bAtkRange,n;			Attack range + n
-bonus bCastrate,n;			Skill casting time rate + n%
-bonus bUseSPrate,n;			SP consumption + n%
-bonus bHPrecovRate,n;			Natural HP recovery ratio + n%
-bonus bSPrecovRate,n;			Natural SP recovery ratio + n%
-bonus bDoubleRate,n;			Double Attack probability n% (works with all weapons | only the highest among all is applied)
-bonus bDoubleAddRate,n;			Double Attack probability + n% (works with all weapons)
+bonus bStr,n;                   STR + n
+bonus bAgi,n;                   AGI + n
+bonus bVit,n;                   VIT + n
+bonus bInt,n;                   INT + n
+bonus bDex,n;                   DEX + n
+bonus bLuk,n;                   LUK + n
+bonus bAllStats,n;              STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
+bonus bAgiVit,n;                AGI + n, VIT + n
+bonus bAgiDexStr,n;             STR + n, AGI + n, DEX + n
+bonus bMaxHP,n;                 MaxHP + n
+bonus bMaxSP,n;                 MaxSP + n
+bonus bMaxHPrate,n;             MaxHP + n% 
+bonus bMaxSPrate,n;             MaxSP + n%
+bonus bAtk,n;                   ATK + n
+bonus bAtk2,n;                  ATK2 + n
+bonus bAtkRate,n;               Attack power + n%
+bonus bBaseAtk,n;               Basic attack power + n
+bonus bMatk,n;                  Magical attack power + n
+bonus bMatkRate,n;              Magical attack power + n%
+bonus bDef,n;                   Equipment DEF + n
+bonus bDef2,n;                  VIT based DEF + n
+bonus bDefRate,n;               Equipment DEF + n%
+bonus bDef2Rate,n;              VIT based DEF + n%
+bonus bMdef,n;                  Equipment MDEF + n
+bonus bMdef2,n;                 INT based MDEF + n
+bonus bMdefRate,n;              Equipment MDEF + n%
+bonus bMdef2Rate,n;             INT based MDEF + n%
+bonus bHit,n;                   Hit + n
+bonus bHitRate,n;               Hit + n%
+bonus bCritical,n;              Critical + n
+bonus bCriticalRate,n;          Critical + n%
+bonus bFlee,n;                  Flee + n
+bonus bFleeRate,n;              Flee + n%
+bonus bFlee2,n;                 Perfect Dodge + n
+bonus bFlee2Rate,n;             Perfect Dodge + n%
+bonus bSpeedRate,n;             Moving speed + n% (only the highest among all is applied)
+bonus bSpeedAddRate,n;          Moving speed + n%
+bonus bAspd,n;                  Attack speed + n
+bonus bAspdRate,n;              Attack speed + n%
+bonus bAtkRange,n;              Attack range + n
+bonus bCastrate,n;              Skill casting time rate + n%
+bonus bUseSPrate,n;             SP consumption + n%
+bonus bHPrecovRate,n;           Natural HP recovery ratio + n%
+bonus bSPrecovRate,n;           Natural SP recovery ratio + n%
+bonus bDoubleRate,n;            Double Attack probability n% (works with all weapons | only the highest among all is applied)
+bonus bDoubleAddRate,n;         Double Attack probability + n% (works with all weapons)
 bonus bPerfectHitRate,n;		On-target impact attack probability n% (only the highest among all is applied)
 bonus bPerfectHitAddRate,n;		On-target impact attack probability + n%
 bonus bCriticalDef,n;			Critical ? and others the trap it is, probability + n%
@@ -89,70 +89,70 @@ bonus bDefEle,n;			Gives the player's defense element n
 					n:	0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
 bonus bSplashRange,n;			Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
 					Only the highest among all is applied
-bonus bSplashAddRange,n;		Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
-bonus bRestartFullRecover,n;		When reviving, HP and SP are fully healed (n is meaningless)
-bonus bNoCastCancel,n;			Prevents casting from being interrupted when hit (does not work in GvG | n is meaningless)
-bonus bNoCastCancel2,n;			Prevents casting from being interrupted when hit (works even in GvG | n is meaningless)
-bonus bNoSizeFix,n;			The attack revision with the size of the monster is not received (n is meaningless)
-bonus bNoWeaponDamage,n;		Prevents from receiving n% physical damage
-bonus bNoMagicDamage,n;			Prevents from receiving n% magical effect (Attack, Healing, Support spells are all blocked)
-bonus bNoGemStone,n;			Skills requiring Gemstones do no require them (Hocus Pocus will still require 1 Yellow Gemstone | n is meaningless)
-bonus bIntravision,n;			Always see Hiding and Cloaking players/mobs (n is meaningless)
-bonus bHealPower,n;			Increase heal amount of all heal skills by n%
-bonus bHealPower2,n;			Increase heal amount if you are healed by any skills by n%
-bonus2 bAddEff,e,x;			Adds a x/100 chance to cause effect e to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc)
+bonus bSplashAddRange,n;        Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
+bonus bRestartFullRecover,n;    When reviving, HP and SP are fully healed (n is meaningless)
+bonus bNoCastCancel,n;          Prevents casting from being interrupted when hit (does not work in GvG | n is meaningless)
+bonus bNoCastCancel2,n;         Prevents casting from being interrupted when hit (works even in GvG | n is meaningless)
+bonus bNoSizeFix,n;             The attack revision with the size of the monster is not received (n is meaningless)
+bonus bNoWeaponDamage,n;        Prevents from receiving n% physical damage
+bonus bNoMagicDamage,n;         Prevents from receiving n% magical effect (Attack, Healing, Support spells are all blocked)
+bonus bNoGemStone,n;            Skills requiring Gemstones do no require them (Hocus Pocus will still require 1 Yellow Gemstone | n is meaningless)
+bonus bIntravision,n;           Always see Hiding and Cloaking players/mobs (n is meaningless)
+bonus bHealPower,n;             Increase heal amount of all heal skills by n%
+bonus bHealPower2,n;            Increase heal amount if you are healed by any skills by n%
+bonus2 bAddEff,e,x;             Adds a x/100 chance to cause effect e to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc)
 					e:	Eff_Blind, Eff_Sleep, Eff_Poison, Eff_Freeze, Eff_Silence, Eff_Stun, Eff_Curse, Eff_Confusion, Eff_Stone, Eff_Bleeding
-bonus2 bResEff,e,x;			Adds a x/100 tolerance to effect e (e.g. x=100 makes 1% tolerance, x=10000 makes 100% tolerance, etc)
+bonus2 bResEff,e,x;             Adds a x/100 tolerance to effect e (e.g. x=100 makes 1% tolerance, x=10000 makes 100% tolerance, etc)
 					e:	Eff_Blind, Eff_Sleep, Eff_Poison, Eff_Freeze, Eff_Silence, Eff_Stun, Eff_Curse, Eff_Confusion, Eff_Stone, Eff_Bleeding
-bonus2 bCastrate,n,x;			Adjust casting time of skill n by x% (supports skill names)
-bonus2 bAddSize,n,x;			+x% physical damage against size n.
+bonus2 bCastrate,n,x;           Adjust casting time of skill n by x% (supports skill names)
+bonus2 bAddSize,n,x;            +x% physical damage against size n.
 					n:	0=Small  1=Medium  2=Large
-bonus2 bMagicAddSize,n,x;		+x% magical damage against size n.
+bonus2 bMagicAddSize,n,x;       +x% magical damage against size n.
 					n:	0=Small  1=Medium  2=Large
-bonus2 bSubSize,n,x;			x% Damage reduction against size n.
+bonus2 bSubSize,n,x;            x% Damage reduction against size n.
 					n:	0=Small  1=Medium  2=Large
-bonus2 bAddRace,n,x;			+x% physical damage against race n
+bonus2 bAddRace,n,x;            +x% physical damage against race n
 					n: 	0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
 						5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 
 						10=Boss monster, 11=Other than (normal monster) boss monster
-bonus2 bMagicAddRace,n,x;		+x% magical damage against race n
+bonus2 bMagicAddRace,n,x;       +x% magical damage against race n
 					n: 	0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
 						5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 
 						10=Boss monster, 11=Other than (normal monster) boss monster
-bonus2 bSubRace,n,x;			+x% damage reduction against race n
+bonus2 bSubRace,n,x;            +x% damage reduction against race n
 					n: 	0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
 						5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 
 						10=Boss monster, 11=Other than (normal monster) boss monster
-bonus2 bAddEle,n,x;			+x% physical damage against element n
+bonus2 bAddEle,n,x;             +x% physical damage against element n
 					n: 	0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison,
 						6=Holy, 7=Dark, 8=Spirit, 9=Undead
-bonus2 bMagicAddEle,n,x; 		+x% magical damage against element n
+bonus2 bMagicAddEle,n,x;        +x% magical damage against element n
 					n: 	0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison,
 						6=Holy, 7=Dark, 8=Spirit, 9=Undead
-bonus2 bSubEle,n,x;			x% Damage reduction against element n.
+bonus2 bSubEle,n,x;             x% Damage reduction against element n.
 					n: 	0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison,
 						6=Holy, 7=Dark, 8=Spirit, 9=Undead
-bonus2 bMagicAtkEle,n,x; 		Increases damage of n element magic by x%.
+bonus2 bMagicAtkEle,n,x;        Increases damage of n element magic by x%.
 					n: 	0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison,
 						6=Holy, 7=Dark, 8=Spirit, 9=Undead
-bonus2 bAddDamageClass,n,x;		+x% extra physical damage against monsters of class n
+bonus2 bAddDamageClass,n,x;         +x% extra physical damage against monsters of class n
 					Against players, n is their job id
-bonus2 bAddMagicDamageClass,n,x;	+x% extra magical damage against monsters of class n
+bonus2 bAddMagicDamageClass,n,x;     +x% extra magical damage against monsters of class n
 					Against players, n is their job id.
-bonus2 bAddDefClass,n,x;		x% physical damage reduction against monsters of class n
+bonus2 bAddDefClass,n,x;             x% physical damage reduction against monsters of class n
 					Against players, n is their job id.
-bonus2 bAddMDefClass,n,x;		x% magical damage reduction against monsters of class n
+bonus2 bAddMDefClass,n,x;            x% magical damage reduction against monsters of class n
 					Against players, n is their job id.
-bonus2 bIgnoreMdefRate,n,x;		Disregard x% of the target's MDEF if the target belongs to race n;
-bonus2 bHPDrainRate,n,x;		n/10 % probability to drain x% HP when attacking
-bonus2 bSPDrainRate,n,x;		n/10 % probability to drain x% SP when attacking
-bonus2 bSPVanishRate,n,x;		Add the (n/10)% chance of decreasing enemy's SP (player) amount by x% when attacking
-bonus2 bAddMonsterDropItem,n,x;		Adds a x/100% chance for item n to be dropped, when killing any monster.
+bonus2 bIgnoreMdefRate,n,x;          Disregard x% of the target's MDEF if the target belongs to race n;
+bonus2 bHPDrainRate,n,x;             n/10 % probability to drain x% HP when attacking
+bonus2 bSPDrainRate,n,x;             n/10 % probability to drain x% SP when attacking
+bonus2 bSPVanishRate,n,x;            Add the (n/10)% chance of decreasing enemy's SP (player) amount by x% when attacking
+bonus2 bAddMonsterDropItem,n,x;      Adds a x/100% chance for item n to be dropped, when killing any monster.
 					If 'x' is negative value, then it's a part of formula
 						chance = -x*(killed_mob_level/10)+1
-bonus2 bGetZenyNum,n,x;			When killing a monster, there is a x% chance of gaining 1~n zeny (only the highest among all is applied).
+bonus2 bGetZenyNum,n,x;              When killing a monster, there is a x% chance of gaining 1~n zeny (only the highest among all is applied).
 					If n < 0, the max zeny to gain is -n*monster level.
-bonus2 bAddGetZenyNum,n,x;		Same as bGetZenyNum, but the rates and zeny to gain stack.
+bonus2 bAddGetZenyNum,n,x;           Same as bGetZenyNum, but the rates and zeny to gain stack.
 
 bonus3 bAddMonsterDropItem,n,x,y;	Adds a y/100% chance for item n to be dropped, when killing any monster of race x.
 						0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
@@ -170,27 +170,27 @@ bonus3 bAutoSpell,n,x,y;		Auto Spell casting on attack of spell n at level x wit
 
 //---- 2/15 new card effects ----
 
-bonus bCritAtkRate,n;			Increase critical damage by +n%
-bonus bNoRegen,n;			Stops regeneration for n
-					n:	1=HP, 2=SP
-bonus bUnstripableWeapon,n;		Weapon cannot be taken off via Strip skills (n is meaningless)
-bonus bUnstripableArmor,n;		Armor cannot be taken off via Strip skills (n is meaningless)
-bonus bUnstripableHelm,n;		Helm cannot be taken off via Strip skills (n is meaningless)
-bonus bUnstripableShield,n;		Shield cannot be taken off via Strip skills (n is meaningless)
-bonus bSPGainValue,n;			When killing a monster by physical attack, you gain n SP
-bonus bHPGainValue,n;			When killing a monster by physical attack, you gain n HP
-bonus2 bCriticalAddRace,r,n;		Critical + n vs. enemies of race r
+bonus bCritAtkRate,n;             Increase critical damage by +n%
+bonus bNoRegen,n;                 Stops regeneration for n
+                                n:	1=HP, 2=SP
+bonus bUnstripableWeapon,n;       Weapon cannot be taken off via Strip skills (n is meaningless)
+bonus bUnstripableArmor,n;        Armor cannot be taken off via Strip skills (n is meaningless)
+bonus bUnstripableHelm,n;         Helm cannot be taken off via Strip skills (n is meaningless)
+bonus bUnstripableShield,n;       Shield cannot be taken off via Strip skills (n is meaningless)
+bonus bSPGainValue,n;             When killing a monster by physical attack, you gain n SP
+bonus bHPGainValue,n;             When killing a monster by physical attack, you gain n HP
+bonus2 bCriticalAddRace,r,n;      Critical + n vs. enemies of race r
 					r:
 						0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
 						5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 
 						10=Boss monster, 11=Other than (normal monster) boss monster
-bonus2 bHPRegenRate,n,x;		Gain n HP every x milliseconds
-bonus2 bHPLossRate,n,x;			Lose n HP every x milliseconds
-bonus2 bAddEffWhenHit,n,x;		x/100% chance to cause n state to the enemy when being hit by physical damage
-bonus2 bSkillAtk,n,x;			Increase damage of skill n by x% (supports skill names)
-bonus2 bSkillHeal,n,x;			Increase heal amount of skill n by x% (supports skill names)
-bonus2 bSkillHeal2,n,x;			Increase heal amount if you are healed by skill n by x% (supports skill names)
-bonus2 bAddRace2,n,x;			Increase damage by x% vs. enemies of race n (Check db/mob_race2_db.txt)
+bonus2 bHPRegenRate,n,x;          Gain n HP every x milliseconds
+bonus2 bHPLossRate,n,x;           Lose n HP every x milliseconds
+bonus2 bAddEffWhenHit,n,x;        x/100% chance to cause n state to the enemy when being hit by physical damage
+bonus2 bSkillAtk,n,x;             Increase damage of skill n by x% (supports skill names)
+bonus2 bSkillHeal,n,x;            Increase heal amount of skill n by x% (supports skill names)
+bonus2 bSkillHeal2,n,x;           Increase heal amount if you are healed by skill n by x% (supports skill names)
+bonus2 bAddRace2,n,x;             Increase damage by x% vs. enemies of race n (Check db/mob_race2_db.txt)
 					y:	0=Don't show damage 1=Show damage
 bonus3 bAutoSpellWhenHit,x,y,n;		n/10% chance to cast skill x of level y on attacker (unless it is a self or support skill) when being hit by a
 					direct attack. (supports skill names)
@@ -257,21 +257,19 @@ bonus5 bAutoSpellWhenHit,x,y,n,t,i;	n/10% chance to cast skill x of level y when
 //---- 2/22 new card effects ----
 
 bonus2 bAddItemHealRate,n,x;		Increases HP recovered by n type items by x%, you can also use direct item IDs instead of group values.
-					(Check db/item_group_db.txt)
+					(Check db/(pre-)re/item_group.conf)
 
 //---- 3/15 new card effects ----
 
-bonus2 bSPRegenRate,n,x;		Gain n SP every x milliseconds
-bonus2 bSPLossRate,n,x;			Lose n SP every x milliseconds
-bonus2 bExpAddRace,n,x;			Increase exp gained by x% vs. enemies of race n
-bonus2 bSPGainRace,n,x;			When killing a monster of race n by physical attack gain x amount of sp
-bonus2 bSubRace2,n,x;			Damage x% reduction from enemies of race n (Check db/mob_race2_db.txt)
+bonus2 bSPRegenRate,n,x;        Gain n SP every x milliseconds
+bonus2 bSPLossRate,n,x;         Lose n SP every x milliseconds
+bonus2 bExpAddRace,n,x;         Increase exp gained by x% vs. enemies of race n
+bonus2 bSPGainRace,n,x;         When killing a monster of race n by physical attack gain x amount of sp
+bonus2 bSubRace2,n,x;           Damage x% reduction from enemies of race n (Check db/(Pre-Re)RE/mob_race2_db.txt)
 
-bonus2 bAddMonsterDropItemGroup,n,x;	Adds a x/100% chance to get an item of group type n when you kill a monster (Check db/item_group_db.txt)
-					If 'x' is negative value, then it's a part of formula
-						chance = -x*(killed_mob_level/10)+1
+bonus bAddMonsterDropChainItem,n;     Able to get item of chain type n (only constant applicable) when you kill a monster (Check db/(pre-)re/item_group.conf)
 
-bonus3 bAddEff,n,x,y;			Adds a x/100 chance to cause effect n to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc).
+bonus3 bAddEff,n,x,y;     Adds a x/100 chance to cause effect n to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc).
 					y is the trigger criteria:
 						ATF_SELF: Trigger effect on self.
 						ATF_TARGET: Trigger effect on target (default)
@@ -285,12 +283,10 @@ bonus3 bAddEffWhenHit,n,x,y;		x/100 chance to cause n state to the enemy when be
 						ATF_SHORT: Trigger on melee attacks
 						ATF_LONG: Trigger in ranged attacks (default: trigger on all attacks)
 
-bonus3 bAddMonsterDropItemGroup,n,x,y;	Adds a y/100% chance to get an item of group type n when you kill a monster of race x (Check db/item_group_db.txt)
+bonus2 bAddMonsterDropChainItem,n,x;	Able to get item of chain type n (only constant applicable) when you kill a monster of race x (Check db/(pre-)re/item_group.conf)
 						0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
 						5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 
 						10=Boss monster, 11=Other than (normal monster) boss monster
-					If 'y' is negative value, then it's a part of formula
-						chance = -y*(killed_mob_level/10)+1
 
 bonus2 bWeaponComaRace,x,y;		y/100% chance to cause Coma when attacking a monster of race x with a normal attack
 						0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index f6de42316..f718298a2 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -182,8 +182,8 @@ There are two optional fields for monster size and AI. Size can be 0
 (medium), 1 (small), or 2 (big). AI can be 0 (default), 1 
 (attack/friendly), 2 (sphere), 3 (flora), or 4 (zanzou).
 
-Alternately, a monster spawned using 'boss_monster' instead of 'monster' is able
-to be detected on the map with the SC_CASH_BOSS_ALARM status (used by Convex Mirror,  item ID# 12214).
+Alternately, a monster spawned using 'boss_monster' instead of 'monster' is able to be 
+detected on the map with the SC_CASH_BOSS_ALARM status (used by Convex Mirror, item ID# 12214).
 
 ** NPC names
 
@@ -4533,29 +4533,37 @@ Check 'getitem2' to understand the arguments of the function.
     
 ---------------------------------------
 
-*groupranditem <group id>;
+*groupranditem <item_id/constant>;
 
-Returns the item_id of a random item picked from the group specified. The 
-different groups and their group number are specified in 
-'db/(pre-)re/item_group_db.txt'.
+Returns the item_id of a random item picked from the item container specified. There
+are different item containers and they are specified in 'db/(pre-)re/item_group.conf'.
 
-When used in conjunction with other functions, you can get a random item. 
-For example, for a random pet lure:
-
-getitem groupranditem(15),1;
+Example:
+   getitem groupranditem 603,1;
+   getitem groupranditem Old_Blue_Box,1;
 
 ---------------------------------------
 
-*getrandgroupitem <group id>,<quantity>;
+*getrandgroupitem <item_id/constant>,<quantity>;
+
+Similar to the above example, this command allows players to obtain the specified
+quantity of a random item from the container. The different containers
+are specified in 'db/(pre-)re/item_group.conf'.
+
+Example:
+   getrandgroupitem Old_Blue_Box,1;
+   getrandgroupitem 603,1;
+
+---------------------------------------
 
-Similar to the above example, this command allows players to obtain the 
-specified quantity of a random item from the group "<group id>". The 
-different groups and their group number are specified in 
-db/(pre-)re/item_group_db.txt
+*packageitem
 
-For example, obtaining three of the same random item from Old Blue Box:
+This command has only 1 param which is optional. If the package item_id is not provided, it
+will 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.
 
-getrandgroupitem(1,3);
+Example:
+  12281,Tresure_Box_WoE,Event Treasure Box,2,20,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ packageitem(); },{},{}
 
 ---------------------------------------
 
-- 
cgit v1.2.3-70-g09d2