summaryrefslogtreecommitdiff
path: root/server/items
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-01-29 22:09:19 +0300
committerAndrei Karas <akaras@inbox.ru>2016-01-29 22:09:19 +0300
commit39fa4991f1ce803da04fae342d5ab64111a3df5e (patch)
tree585dbfb0d6800a8a3bc4d3bec3eb8d41e23894e1 /server/items
parent61d35617036a2170160e91fdc8f93410ae7d0e3e (diff)
downloaddocs-39fa4991f1ce803da04fae342d5ab64111a3df5e.tar.gz
docs-39fa4991f1ce803da04fae342d5ab64111a3df5e.tar.bz2
docs-39fa4991f1ce803da04fae342d5ab64111a3df5e.tar.xz
docs-39fa4991f1ce803da04fae342d5ab64111a3df5e.zip
Add all existing server docs.
Diffstat (limited to 'server/items')
-rw-r--r--server/items/item_bonus.txt444
-rw-r--r--server/items/item_db.txt341
-rw-r--r--server/items/permissions.txt39
3 files changed, 824 insertions, 0 deletions
diff --git a/server/items/item_bonus.txt b/server/items/item_bonus.txt
new file mode 100644
index 0000000..f588921
--- /dev/null
+++ b/server/items/item_bonus.txt
@@ -0,0 +1,444 @@
+//===== Hercules Documentation ===============================
+//= Hercules Item Bonuses List
+//===== By: ==================================================
+//= Hercules Dev Team
+//===== Current Version: =====================================
+//= 20150624
+//===== Description: =========================================
+//= List of script instructions used in item bonuses,
+//= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments.
+//============================================================
+
+Constants
+---------
+This list contains all available constants referenced in the 'bonus' commands.
+
+* Status effect (eff)
+ Eff_Stone, Eff_Freeze, Eff_Stun, Eff_Sleep, Eff_Poison, Eff_Curse, Eff_Silence,
+ Eff_Confusion, Eff_Blind, Eff_Bleeding, Eff_DPoison, Eff_Fear, Eff_Cold,
+ Eff_Burning, Eff_Deepsleep
+
+* Element (e)
+ Ele_Neutral, Ele_Water, Ele_Earth, Ele_Fire, Ele_Wind, Ele_Poison,
+ Ele_Holy, Ele_Dark, Ele_Ghost, Ele_Undead, Ele_All
+
+* Race (r)
+ RC_Formless, RC_Undead, RC_Brute, RC_Plant, RC_Insect, RC_Fish,
+ RC_Demon, RC_DemiHuman, RC_Angel, RC_Dragon, RC_Player, RC_Boss,
+ RC_NonBoss, RC_NonDemiHuman, RC_NonPlayer, RC_DemiPlayer,
+ RC_NonDemiPlayer, RC_All
+
+* Monster Race (mr)
+ RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja,
+ RC2_Scaraba, RC2_Turtle
+
+* Size (s)
+ Size_Small, Size_Medium, Size_Large
+
+* Trigger criteria (bf)
+ BF_WEAPON: Trigger on weapon skills
+ BF_MAGIC: Trigger on magic skills
+ BF_MISC: Trigger on misc skills
+ (Default: BF_WEAPON)
+
+ BF_SHORT: Trigger on melee attacks
+ BF_LONG: Trigger on ranged attacks
+ (Default: BF_SHORT+BF_LONG)
+
+ BF_NORMAL: Trigger on normal attacks
+ BF_SKILL: Trigger on skills
+ (Default: BF_SKILL if type is BF_MISC or BF_MAGIC, BF_NORMAL if type is BF_WEAPON)
+
+* Attack Trigger Criteria (abf)
+ ATF_SELF: Trigger on self
+ ATF_TARGET: Trigger on target
+ (Default: ATF_TARGET)
+
+ ATF_SHORT: Trigger on melee attack
+ ATF_LONG: Trigger on ranged attack
+ (Default: ATF_SHORT+ATF_LONG)
+
+ ATF_WEAPON: Trigger on Weapon Skills
+ ATF_MAGIC: Trigger on magic attacks
+ ATF_MISC: Trigger on misc skills
+ ATF_SKILL: Trigger on skill attack
+ (Default: ATF_WEAPON)
+
+ATF_SELF: Trigger effect on self.
+ ATF_TARGET: Trigger effect on target (default)
+ ATF_SHORT: Trigger on melee attacks
+ ATF_LONG: Trigger in ranged attacks (default: trigger on all attacks)
+* Other values:
+ Skill (sk): see 'db/(pre-)re/skill_db.txt' (NOTE: Both skill IDs and names, with and without quotes, are supported.)
+ Monster id (mid): see 'db/(pre-)re/mob_db.txt'
+ Item id (id): see 'db/(pre-)re/item_db.conf'
+ Item chain (ic): see 'db/(pre-)re/item_chain.conf' (Only Constants)
+ Item group (ig): see 'db/(pre-)re/item_group.conf' (ItemID)
+ Weapon type (w): see 'doc/item_db.txt' -> View -> Weapons
+ Class (c): see 'db/(pre-re)/mob_db.txt' -> For Players, c = JobID
+
+Bonuses
+-------
+The format of bonuses listed in this file is as follows:
+ 1. Basic Bonuses
+ 2. Extended Bonuses
+ 3. Group-specific Bonuses
+ 4. Status-related Bonuses
+ 5. AutoSpell Bonuses
+ 6. Misc Bonuses
+
+====================
+| 1. Basic Bonuses |
+====================
+
+Base Stats
+----------
+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 bAgiVit,n; AGI + n, VIT + n
+bonus bAgiDexStr,n; STR + n, AGI + n, DEX + n
+bonus bAllStats,n; STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
+
+HP/SP
+-----
+bonus bMaxHP,n; MaxHP + n
+bonus bMaxHPrate,n; MaxHP + n%
+bonus bMaxSP,n; MaxSP + n
+bonus bMaxSPrate,n; MaxSP + n%
+
+Attack/Def
+----------
+bonus bAtk,n; ATK + n
+bonus bAtk2,n; ATK2 + n
+bonus bAtkRate,n; Attack Power + n%
+bonus bBaseAtk,n; Basic 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%
+
+Magic Attack/Def
+----------------
+bonus bMatk,n; Magical attack power + n
+bonus bMatkRate,n; Magical attack power + 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%
+
+Other Stats
+-----------
+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 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 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 bAddMaxWeight,n; MaxWeight + n (in units of 0.1)
+
+=======================
+| 2. Extended Bonuses |
+=======================
+
+HP
+--
+bonus bHPrecovRate,n; Natural HP recovery ratio + n%
+bonus2 bHPRegenRate,n,t; Gain n HP every t milliseconds
+bonus2 bHPLossRate,n,t; Lose n HP every t millisecond
+
+SP
+--
+bonus bSPrecovRate,n; Natural SP recovery ratio + n%
+bonus2 bSPRegenRate,n,t; Gain n SP every t milliseconds
+bonus2 bSPLossRate,n,t; Lose n SP every t milliseconds
+bonus bUseSPrate,n; SP consumption + n%
+bonus2 bSkillUseSP,sk,n; Reduces SP consumption of skill sk by n.
+bonus2 bSkillUseSPrate,sk,n; Reduces SP consumption of skill sk by n%
+bonus bNoRegen,x; Stops regeneration for x (x: 1=HP, 2=SP)
+
+Attack/Def
+----------
+bonus bNearAtkDef,n; Adds n% damage reduction against melee physical attacks
+bonus bLongAtkDef,n; Adds n% damage reduction against ranged physical attacks
+bonus bMagicAtkDef,n; Adds n% damage reduction against magical attacks
+bonus bMiscAtkDef,n; Adds n% damage reduction against MISC attacks (traps, falcon, ...)
+bonus bCriticalDef,n; Decreases Chance of being hit by critical by n%
+
+bonus2 bSkillAtk,sk,n; Increase damage of skill sk by n%
+bonus2 bWeaponAtk,w,n; Adds n ATK when weapon of type w is equipped
+bonus2 bWeaponAtkRate,w,n; Adds n% damage to weapon attacks when weapon of type w is equipped
+bonus bLongAtkRate,n; Increases damage of ranged attacks by n%
+bonus bCritAtkRate,n; Increase critical damage by +n%
+
+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 bNoMiscDamage,n; Adds n% reduction to received misc damage
+
+Heal
+----
+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 bSkillHeal,sk,n; Increase heal amount of skill sk by n%
+bonus2 bSkillHeal2,sk,n; Increase heal amount if you are healed by skill sk by n%
+
+bonus bAddItemHealRate,n; Increases HP recovered by n% for healing items.
+bonus2 bAddItemHealRate,id,n; Increases HP recovered by n% for item id/ig
+
+Skill Cast
+----------
+bonus bCastrate,n; Skill casting time rate + n%
+bonus2 bCastrate,sk,n; Adjust casting time of skill sk by n%
+
+bonus bFixedCastrate,n; Increases fixed cast time of all skills by n%
+bonus2 bFixedCastrate,s,n; Increases fixed cast time of skill sk by n%
+bonus bFixedCast,t; Increases fixed cast time of all skills by t milliseconds
+bonus2 bSkillFixedCast,sk,t; Increases fixed cast time of skill sk by t milliseconds
+
+bonus bVariableCastrate,n; Increases variable cast time of all skills by n%
+bonus2 bVariableCastrate,sk,n; Increases variable cast time of skill sk by n%
+bonus bVariableCast,t; Increases variable cast time of all skills by t milliseconds
+bonus2 bSkillVariableCast,sk,t; Increases variable cast time of skill sk by t milliseconds
+
+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 bDelayrate,n; Increases skill delay by n%
+bonus2 bSkillCooldown,sk,t; Increases cooldown of skill sk by t milliseconds
+
+=============================
+| 3. Group-specific Bonuses |
+=============================
+
+Damage Modifiers
+----------------
+bonus2 bAddSize,s,n; +n% Physical damage against size s
+bonus2 bMagicAddSize,s,n; +n% Magical damage against size s
+bonus2 bSubSize,s,n; +n% Damage reduction against size s
+
+bonus2 bAddRaceTolerance,r,n; +n% tolerance against race r (Renewal Only)
+
+bonus2 bAddRace,r,n; +n% Physical damage against race r
+bonus2 bMagicAddRace,n,x; +n% Magical damage against race r
+bonus2 bSubRace,r,n; +n% Damage reduction against race r
+
+bonus2 bAddRace2,mr,n; +n% Damage Against monster race mr
+bonus2 bSubRace2,mr,n; +n% Damage reduction against monster race mr
+
+bonus2 bAddEle,e,n; +n% Physical damage against element e
+bonus2 bMagicAddEle,e,n; +n% Magical damage against element e
+bonus2 bMagicAtkEle,e,n; Increases damage of element e magic by n%
+bonus3 bAddEle,e,n,bf; +n% physical damage against element e
+bonus2 bSubEle,e,n; +n% Damage reduction against element e
+bonus3 bSubEle,e,n,bf; +n% Damage reduction against element e.
+
+bonus2 bAddDamageClass,c,x; +n% extra physical damage against monsters of class c
+bonus2 bAddMagicDamageClass,c,x; +n% extra magical damage against monsters of class c
+bonus2 bAddDefClass,c,x; +n% physical damage reduction against monsters of class c
+bonus2 bAddMDefClass,c,x; +n% magical damage reduction against monsters of class c
+bonus2 bCriticalAddRace,r,n; +n Critical Against race r
+
+Attack/Def
+----------
+bonus bAtkEle,e; Gives the player's attacks element e
+bonus bDefEle,e; Gives the player's defense element e
+
+bonus bDefRatioAtkEle,e; Deals more damage to enemies of element e with higher defense
+bonus bDefRatioAtkRace,r; Deals more damage to enemies of race r with higher defense
+
+bonus4 bSetDefRace,r,n,t,y; Set DEF to y of an enemy of race r at n/100% for t milliseconds with normal attack
+bonus4 bSetMDefRace,r,n,t,y; Set MDEF to y of an enemy of race r at n/100% for t milliseconds with normal attack
+
+Ignore Def
+----------
+bonus bIgnoreDefRace,r; Disregard DEF against enemies of race r
+bonus bIgnoreMDefRace,r; Disregard MDEF against enemies of race r
+
+bonus bIgnoreDefEle,e; Disregard DEF against enemies of element e
+bonus bIgnoreMDefEle,e; Disregard MDEF against enemies of element e
+
+bonus2 bIgnoreDefRate,r,n; Disregard n% of the target's DEF if the target belongs to race r
+bonus2 bIgnoreMdefRate,r,n; Disregard n% of the target's MDEF if the target belongs to race r
+
+bonus bIgnoreMdefRate,n; Disregard n% of the target's MDEF
+
+Experience
+----------
+bonus2 bExpAddRace,r,n; +n% Experience from enemies of race r
+
+=============================
+| 4. Status-related Bonuses |
+=============================
+bonus2 bResEff,e,n; Adds a n/100% tolerance to effect e
+bonus2 bAddEff,eff,n; Adds a n/100% chance to cause effect eff to the target when attacking
+bonus2 bAddEff2,eff,n; Adds a n/100% chance to cause effect eff on self when attacking.
+bonus3 bAddEff,eff,n,abf; Adds a n/100% chance to cause effect eff to the target when attacking for target abf
+bonus4 bAddEff,eff,n,abf,t; Adds a n/100% chance to cause effect eff to the target when attacking for target abf for t milliseconds
+ (Note:The effect can't be avoided nor its duration reduced. Duration: 0-65535)
+bonus3 bAddEffOnSkill,sk,eff,n; Adds a n/100% chance to cause effect eff on enemy when using skill sk
+bonus4 bAddEffOnSkill,sk,eff,n,abf; Adds a n/100% chance to cause effect eff when using skill sk
+
+bonus2 bAddEffWhenHit,eff,n; n/100% chance to cause effect eff to the enemy when being hit by physical damage
+bonus3 bAddEffWhenHit,eff,n,abf; Adds a n/100% chance to cause effect eff to the enemy when being hit by physical damage
+
+bonus2 bWeaponComaRace,r,n; Adds a n/100% chance to cause Coma when attacking a monster of race r with a weapon attack
+bonus2 bWeaponComaEle,e,n; Adds a n/100% chance to cause Coma when attacking a monster of element e with weapon attack
+
+========================
+| 5. AutoSpell Bonuses |
+========================
+NOTES:
+ - For all AutoSpell bonuses, target must be within the spell's range to go off.
+ - By default, AutoSpell skills are casted on target unless it is a self or support skill (inf = 4/16).
+
+bonus4 bAutoSpellOnSkill,sk,x,y,n; Adds a n/10% chance to autospell skill x at level y when using skill sk
+bonus5 bAutoSpellOnSkill,sk,x,y,n,i; Adds a n/10% chance to autospell skill x at level y when using skill sk
+ i: Flags (bitfield)
+ &1: Forces the skill to be casted on self, rather than on the target of skill sk
+ &2: Random skill level between 1 and l is chosen.
+
+bonus4 bAutoSpell,sk,y,n,i; n/10% chance to cast skill sk of level y when attacking
+bonus5 bAutoSpell,sk,y,n,bf,i; n/10% chance to cast skill sk of level y when attacking
+bonus4 bAutoSpellWhenHit,sk,y,n,i; n/10% chance to cast skill sk of level y when being hit by a direct attack
+bonus5 bAutoSpellWhenHit,sk,y,n,bf,i; n/10% chance to cast skill sk of level y when being hit by a direct attack
+ i:
+ 0 = cast on self
+ 1 = cast on enemy, not on self
+ 2 = use random skill lv in [1..y]
+ 3 = 1+2 (random lv on enemy)
+
+bonus3 bAutoSpellWhenHit,sk,x,n; n/10% chance to cast skill sk of level x on attacker when being hit by a direct attack
+bonus3 bAutoSpell,sk,x,n; Auto Spell casting on attack of spell sk at level x with n/10% chance
+
+===================
+| 6. Misc Bonuses |
+===================
+
+HP/SP Drain
+-----------
+bonus bHPDrainValue,n; Heals +n HP with weapon attack.
+bonus2 bHPDrainValue,n,x; Heals +n HP with weapon attack. When x is non-zero, the HP is drained instead.
+bonus2 bHPDrainRate,n,x; n/10% probability to drain x% HP when attacking
+
+bonus bSPDrainValue,n; When hitting a monster by physical attack, you gain n SP
+bonus2 bSPDrainRate,n,x; n/10% probability to drain x% SP when attacking
+bonus2 bSPDrainValue,n,x; When hitting a monster by physical attack
+ x:
+ 0: Gain n SP
+ 1: drain n SP from target
+bonus3 bSPDrainRate,n,x,y; When attacking there is a n/10% chance to either gain SP equivalent to x% of damage dealt,
+ OR drain the amount of sp from the enemy.
+ y:
+ 0: Gain SP
+ 1: Drain SP from target
+
+bonus2 bHPDrainValueRace,r,n; Heals +n HP when attacking a monster of race r with weapon attack.
+bonus2 bSPDrainValueRace,r,n; Heals +n SP when attacking a monster of race r with weapon attack.
+
+bonus3 bHPDrainRateRace,r,n,x; Adds a n/10% chance to receive x% of damage dealt as HP from a monster of race r with weapon attack.
+bonus3 bSPDrainRateRace,r,n,x; Adds a n/10% chance to receive x% of damage dealt as SP from a monster of race r with weapon attack.
+
+HP/SP Vanish
+------------
+bonus2 bHPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking
+bonus2 bSPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking
+
+bonus3 bHPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking for criteria bf
+bonus3 bSPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking for criteria bf
+
+HP/SP Gain
+----------
+bonus bHPGainValue,n; When killing a monster by physical attack, you gain n HP
+bonus bSPGainValue,n; When killing a monster by physical attack, you gain n SP
+
+bonus bMagicHPGainValue,n; Gains +n HP when killing an enemy with magic attack
+bonus bMagicSPGainValue,n; Gains +n SP when killing an enemy with magic attack
+
+bonus2 bHPGainRaceAttack,r,n; Heals n HP when attacking Race r on every hit
+bonus2 bSPGainRaceAttack,r,n; Heals n SP when attacking Race r on every hit
+
+bonus2 bSPGainRace,r,n; When killing a monster of race r by physical attack gain n SP
+
+Damage return
+-------------
+bonus bMagicDamageReturn,n; Adds a n% chance to reflect targetted magic spells back to the enemy that caused it
+bonus bShortWeaponDamageReturn,n; Reflects n% of received melee damage back to the enemy that caused it
+bonus bLongWeaponDamageReturn,n; Reflects n% of received ranged damage back to the enemy that caused it
+
+Strip/Break equipment
+---------------------
+NOTE:
+ - n is meaningless if not mentioned.
+bonus bUnstripable,n; Equipment cannot be taken off via strip skills
+bonus bUnstripableWeapon,n; Weapon cannot be taken off via Strip skills
+bonus bUnstripableArmor,n; Armor cannot be taken off via Strip skills
+bonus bUnstripableHelm,n; Helm cannot be taken off via Strip skills
+bonus bUnstripableShield,n; Shield cannot be taken off via Strip skills
+
+bonus bUnbreakable,n; Reduces the break chance of all equipped equipment by n%.
+bonus bUnbreakableGarment,n; Garment cannot be damaged/broken by any means
+bonus bUnbreakableWeapon,n; Weapon cannot be damaged/broken by any means
+bonus bUnbreakableArmor,n; Armor cannot be damaged/broken by any means
+bonus bUnbreakableHelm,n; Helm cannot be damaged/broken by any means
+bonus bUnbreakableShield,n; Shield cannot be damaged/broken by any means
+bonus bUnbreakableShoes,n; Shoes cannot be damaged/broken by any means
+
+bonus bBreakWeaponRate,n; Adds a n/100% chance to break enemy's weapon while attacking (Stackable)
+bonus bBreakArmorRate,n; Adds a n/100% chance to break enemy's armor while attacking (Stackable)
+
+Monster Related
+---------------
+bonus3 bAddClassDropItem,id,c,n; Adds a n/100% chance of dropping item id when killing monster mid
+
+bonus2 bAddMonsterDropItem,id,n; Adds a n/100% chance for item id to be dropped, when killing any monster.
+bonus3 bAddMonsterDropItem,id,r,n; Adds a n/100% chance for item id to be dropped, when killing any monster of race r.
+ If 'n' is negative value, then it's a part of formula
+ chance = -y*(killed_mob_level/10)+1
+
+bonus bAddMonsterDropChainItem,ic; Able to get Item of chain ic when you kill a monster
+bonus2 bAddMonsterDropChainItem,ic,r; Able to get item of chain ic when you kill a monster of race r
+
+bonus2 bGetZenyNum,x,n; When killing a monster, there is a n% chance of gaining 1~x zeny (only the highest among all is applied).
+bonus2 bAddGetZenyNum,x,n; When killing a monster, there is a n% chance of gaining 1~x zeny (Stackable)
+ x:
+ < 0: Max Zeny gain is (-x*monster_level)
+
+Misc effects
+------------
+skill i,n; Gives skill #i at level 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 bSplashRange,n; Splash attack radius +n (highest 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)
+ n:
+ 1: 3*3 Area
+ 2: 5*5 Area
+ ...
+
+bonus bClassChange,n; Gives a n/100% chance to change the attacked monster's class with normal attack.
+bonus bAddStealRate,n; n/100% increase to Steal skill success chance
+bonus bRestartFullRecover,n; When reviving, HP and SP are fully healed
+bonus bNoSizeFix,n; The attack revision with the size of the monster is not received
+bonus bNoGemStone,n; Skills requiring Gemstones do no require them (Hocus Pocus will still require 1 Yellow Gemstone)
+bonus bIntravision,n; Always see Hiding and Cloaking players/mobs
+ n: is meaningless
+
+bonus2 bAddSkillBlow,sk,n; Knockbacks the target by n cells when using skill sk
+bonus bNoKnockback,n; Character is no longer knocked back by enemy skills with such effect (n is meaningless)
+
+bonus bPerfectHide,n; Hidden/cloaked character is no longer detected by monsters with 'detector' mode (n is meaningless).
diff --git a/server/items/item_db.txt b/server/items/item_db.txt
new file mode 100644
index 0000000..636a5b1
--- /dev/null
+++ b/server/items/item_db.txt
@@ -0,0 +1,341 @@
+//===== Hercules Documentation ===============================
+//= Item Database
+//===== By: ==================================================
+//= Hercules Dev Team
+//===== Current Version: =====================================
+//= 20120904
+//===== Description: =========================================
+//= Explanation of the item_db.conf file and structure.
+//============================================================
+
+item_db: (
+{
+ // =================== Mandatory fields ===============================
+ Id: ID (int)
+ AegisName: "Aegis_Name" (string, optional if Inherit: true)
+ Name: "Item Name" (string, optional if Inherit: true)
+ // =================== Optional fields ================================
+ Type: Item Type (int, defaults to 3 = etc item)
+ Buy: Buy Price (int, defaults to Sell * 2)
+ Sell: Sell Price (int, defaults to Buy / 2)
+ Weight: Item Weight (int, defaults to 0, units in Weight/10 )
+ Atk: Attack (int, defaults to 0)
+ Matk: Magical Attack (int, defaults to 0, ignored in pre-re)
+ Def: Defense (int, defaults to 0)
+ Range: Attack Range (int, defaults to 0)
+ Slots: Slots (int, defaults to 0)
+ Job: Job mask (int, defaults to all jobs = 0xFFFFFFFF)
+ Upper: Upper mask (int, defaults to any = 0x3f)
+ Gender: Gender (int, defaults to both = 2)
+ Loc: Equip location (int, required value for equipment)
+ WeaponLv: Weapon Level (int, defaults to 0)
+ EquipLv: Equip required level (int, defaults to 0)
+ EquipLv: [min, max] (alternative syntax with min / max level)
+ Refine: Refineable (boolean, defaults to true)
+ View: View ID (int, defaults to 0)
+ BindOnEquip: true/false (boolean, defaults to false)
+ ForceSerial: true/false (boolean, defaults to false)
+ BuyingStore: true/false (boolean, defaults to false)
+ Delay: Delay to use item (int, defaults to 0)
+ KeepAfterUse: true/false (boolean, defaults to false)
+ FloorLifeTime: Delay to remove item from ground (int, default flooritem_lifetime)
+ AllowPickup: true/false (boolean, defaults to true)
+ Charm: true/false (boolean, defaults to false)
+ RequiredStr: minimal strength (int, default to 0)
+ RequiredAgi: minimal agility (int, default to 0)
+ RequiredVit: minimal vitality (int, default to 0)
+ RequiredInt: minimal intellect (int, default to 0)
+ RequiredDex: minimal dexterity (int, default to 0)
+ RequiredLuk: minimal luck (int, default to 0)
+ RequiredMaxHp: required max hp (int, default to 0)
+ RequiredMaxSp: required max sp (int, default to 0)
+ RequiredAtk: required attack (int, default to 0)
+ RequiredMAtkMin: required minimal magic attack (int, default to 0)
+ RequiredMAtkMax: required maximum magic attack (int, default to 0)
+ RequiredDef: required defence (int, default to 0)
+ RequiredMDef: required magic defence (int, default to 0)
+ RequiredSkill: required skill (int, default to 0)
+ UseEffect: effect if use/equip item success (int, default to -1)
+ UseFailEffect: effect if use/equip item failed (int, default to -1)
+ UnequipEffect: effect if unequip item success (int, default to -1)
+ UnequipFailEffect: effect if unequip item failed (int, default to -1)
+ Trade: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ nodrop: true/false (boolean, defaults to false)
+ notrade: true/false (boolean, defaults to false)
+ partneroverride: true/false (boolean, defaults to false)
+ noselltonpc: true/false (boolean, defaults to false)
+ nocart: true/false (boolean, defaults to false)
+ nostorage: true/false (boolean, defaults to false)
+ nogstorage: true/false (boolean, defaults to false)
+ nomail: true/false (boolean, defaults to false)
+ noauction: true/false (boolean, defaults to false)
+ }
+ Nouse: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ sitting: true/false (boolean, defaults to false)
+ }
+ Stack: [amount, flag] (int, defaults to 0)
+ Sprite: SpriteID (int, defaults to 0)
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+ OnEquipScript: <" OnEquip Script (can also be multi-line) ">
+ OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ OnDropScript: <" OnDrop Script (can also be multi-line) ">
+ OnTakeScript: <" OnTake Script (can also be multi-line) ">
+ OnInsertCardScript: <" OnInsert card Script (can also be multi-line) ">
+ // =================== Optional fields (item_db2 only) ================
+ Inherit: true/false (boolean, if true, inherit the values
+ that weren't specified, from item_db.conf,
+ else override it and use default values)
+ AllowCards: {
+ idNUM: amount (NUM is id number, amount is amount)
+ }
+},
+...
+)
+
+Id: Item id
+
+AegisName: Server name to reference the item in scripts and lookups,
+ should use no spaces.
+
+Name: Name in English for displaying as output for @ and script commands.
+
+Type:
+ 0 Healing item.
+ 2 Usable item.
+ 3 Etc item
+ 4 Weapon
+ 5 Armor/Garment/Boots/Headgear
+ 6 Card
+ 7 Pet egg
+ 8 Pet equipment
+ 10 Ammo (Arrows/Bullets/etc)
+ 11 Usable with delayed consumption (item is lost from inventory
+ after selecting a target, for use with skills and pet lures)
+ 18 Another delayed consume that requires user confirmation before
+ using item.
+
+Buy: Default buying price. When not specified, becomes double the sell price.
+
+Sell: Default selling price. When not specified, becomes half the buy price.
+
+Weight: Item's weight. Each 10 is 1 weight. When not specified, becomes 0.
+
+Atk: Weapon's attack. When not specified, becomes 0.
+
+Matk: Weapon's magical attack (only used in renewal mode, ignored in
+ pre-renewal). When not specified, becomes 0.
+
+Def: Armor's defense. When not specified, becomes 0.
+
+Range: Weapon's attack range. When not specified, becomes 0.
+
+Slots: Amount of slots the item possesses. When not specified, becomes 0.
+
+Job: Equippable jobs. Uses the following bitmask table:
+
+ (S.) Novice (2^00): 0x00000001
+ Swordman (2^01): 0x00000002
+ Magician (2^02): 0x00000004
+ Archer (2^03): 0x00000008
+ Acolyte (2^04): 0x00000010
+ Merchant (2^05): 0x00000020
+ Thief (2^06): 0x00000040
+ Knight (2^07): 0x00000080
+ Priest (2^08): 0x00000100
+ Wizard (2^09): 0x00000200
+ Blacksmith (2^10): 0x00000400
+ Hunter (2^11): 0x00000800
+ Assassin (2^12): 0x00001000
+ Unused (2^13): 0x00002000
+ Crusader (2^14): 0x00004000
+ Monk (2^15): 0x00008000
+ Sage (2^16): 0x00010000
+ Rogue (2^17): 0x00020000
+ Alchemist (2^18): 0x00040000
+ Bard/Dancer (2^19): 0x00080000
+ Unused (2^20): 0x00100000
+ Taekwon (2^21): 0x00200000
+ Star Gladiator (2^22): 0x00400000
+ Soul Linker (2^23): 0x00800000
+ Gunslinger (2^24): 0x01000000
+ Ninja (2^25): 0x02000000
+ Gangsi (2^26): 0x04000000
+ Death Knight (2^27): 0x08000000
+ Dark Collector (2^28): 0x10000000
+ Kagerou/Oboro (2^29): 0x20000000
+ Rebellion (2^30): 0x40000000
+ Some other commonly used values:
+ All except novice: 0xFFFFFFFE
+ All (default value): 0xFFFFFFFF
+
+Upper: Equippable upper-types. Uses the following bitmasks:
+ Normal jobs: 0x01 (1)
+ Upper jobs: 0x02 (2)
+ Baby jobs: 0x04 (4)
+ Third jobs: 0x08 (8)
+ Upper Third jobs: 0x10 (16)
+ Baby Third jobs: 0x20 (32)
+
+ Under pre-re mode third classes are considered upper, making use of
+ the 8 and above masks is therefore not necessary unless in renewal
+ mode. When no value is specified, all classes (mask 0x3f) are able to
+ equip the item.
+
+Gender: Gender restriction. 0 is female, 1 is male, 2 for both (default value).
+
+Loc: Equipment's placement. A value needs to be specified if the item is an
+ equipment piece. Values are:
+
+ 2^0 001 = Lower Headgear
+ 2^1 002 = Weapon
+ 2^2 004 = Garment
+ 2^3 008 = Accessory 1
+ 2^4 016 = Armor
+ 2^5 032 = Shield
+ 2^6 064 = Footgear
+ 2^7 128 = Accessory 2
+ 2^8 256 = Upper Headgear
+ 2^9 512 = Middle Headgear
+ 2^10 1024 = Costume Top Headgear
+ 2^11 2048 = Costume Mid Headgear
+ 2^12 4096 = Costume Low Headgear
+ 2^13 8192 = Costume Garment/Robe
+ 2^16 65536 = Shadow Armor
+ 2^17 131072 = Shadow Weapon
+ 2^18 262144 = Shadow Shield
+ 2^18 524288 = Shadow Shoes
+ 2^20 1048576 = Shadow Accessory 2
+ 2^21 2097152 = Shadow Accessory 1
+
+WeaponLv: Weapon level. Becomes 0 when not specified.
+
+EquipLv: Base level required to be able to equip. It is possible to specify
+ two values, if an item has a maximum level, by using the following
+ syntax:
+
+ EquipLv: [minLv, maxLv]
+
+ If only one value is specified, maxLv becomes the current server's
+ MAX_LEVEL. If no values are specified, minLv becomes 0.
+
+Refineable: true if the item can be refined, false otherwise. If no value is
+ specified, it defaults to true.
+
+View: For normal items, defines a replacement view-sprite for the item (eg:
+ Making apples look like apple juice). The special case are weapons
+ and ammo where this value indicates the weapon-class of the item.
+
+ For weapons, the types are:
+ 0: bare fist
+ 1: Daggers
+ 2: One-handed swords
+ 3: Two-handed swords
+ 4: One-handed spears
+ 5: Two-handed spears
+ 6: One-handed axes
+ 7: Two-handed axes
+ 8: Maces
+ 9: Unused
+ 10: Staves
+ 11: Bows
+ 12: Knuckles
+ 13: Musical Instruments
+ 14: Whips
+ 15: Books
+ 16: Katars
+ 17: Revolvers
+ 18: Rifles
+ 19: Gatling guns
+ 20: Shotguns
+ 21: Grenade launchers
+ 22: Fuuma Shurikens
+
+ For ammo, the types are:
+ 1: Arrows
+ 2: Throwable daggers
+ 3: Bullets
+ 4: Shells
+ 5: Grenades
+ 6: Shuriken
+ 7: Kunai
+ 8: Cannonballs
+ 9: Throwable Items (Sling Item)
+
+BindOnEquip: Whether the item will automatically bind to the character when it
+ is equipped for the first time. An item that has this field set,
+ will display a confirmation dialog the first time it is equipped,
+ and, if accepted, the item will become character-bound.
+
+ForceSerial: Whether the item will be given new unique id or not. When the item
+ have this field as true, the item will be unstackable and new uniqueID
+ will be given to each item.
+
+BuyingStore: Whether the item can be sold via buyingstore, one must also edit
+ data\buyingstoreitemlist.txt for client to accept item.
+
+Delay: Delay for an item to be used again. Value is in milliseconds.
+ There is a max concurrent number of entries modifiable in
+ src/map/itemdb.h as MAX_ITEMDELAYS.
+
+Trade: Item trade restrictions. If this block is omitted, the item will have no
+ trade restrictions.
+ All the settings in this group are boolean values, unless otherwise
+ specified. Default value is false (restriction not set) for any missing
+ setting.
+
+ Allowed settings in this block are:
+ override: If specified and in the interval [1:100], sets the
+ minimum GM Group ID that can bypass the defined trade
+ restrictions. This is an integer value.
+ nodrop: Item can't be dropped.
+ notrade: Item can't be traded (nor vended).
+ partneroverride: Wedded partners can override the notrade setting.
+ noselltonpc: Item can't be sold to NPCs.
+ nocart: Item can't be placed in the cart.
+ nostorage: Item can't be placed in the storage.
+ nogstorage: Item can't be placed in the guild storage.
+ nomail: Item can't be attached to mail messages.
+ noauction: Item can't be auctioned.
+
+Nouse: Defines if an item cannot be used under certain circumstances. If this
+ block is omitted, there will be no usage restrictions.
+ All the settings in this group are boolean values, unless otherwise
+ specified. Default value is false (restriction not set) for any missing
+ setting.
+
+ Allowed settings in this block are:
+ override: If specified and in the interval [1:100], sets the
+ minimum GM Group ID that can bypass the defined usage
+ restrictions. This is an integer value.
+ sitting: Item can't be used while sitting.
+
+Stack: Prevents an item to be stacked more than x times in given
+ inventory types. Generally used by 3rd class related skill items.
+ Syntax: [amount, type]
+ Available types:
+ 1: Character inventory restriction
+ 2: Character cart restriction
+ 4: Account storage restriction
+ 8: Guild storage restriction
+ Note: Stack limit of 0 will disable a restriction.
+
+Sprite: SpriteID will be sent to the client instead of ItemID.
+ NOTE: Replaces an item client-side while keeping them separate server-side.
+ Think of it as a way to disguise items.
+
+Script: Script to execute when the item is used/equipped.
+
+OnEquipScript: Script to execute when the item is equipped.
+ Warning, not all item bonuses will work here as expected.
+
+OnUnequipScript: Script to execute when the item is unequipped.
+ Warning, not all item bonuses will work here as expected.
+
+Inherit: This can be used only in item_db2.conf, and if set to true, and the
+ item already exists in item_db.conf, all the missing fields will be
+ inherited from there rather than using their default values.
diff --git a/server/items/permissions.txt b/server/items/permissions.txt
new file mode 100644
index 0000000..a656f8b
--- /dev/null
+++ b/server/items/permissions.txt
@@ -0,0 +1,39 @@
+//===== Hercules Documentation ===============================
+//= Permission List
+//===== By: ==================================================
+//= Hercules Dev Team
+//===== Current Version: =====================================
+//= 20131031
+//===== Description: =========================================
+//= Player group permissions, configured in /conf/groups.conf.
+//============================================================
+
+can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc...).
+can_party : Ability to join parties.
+all_skill : Ability to use all skills.
+all_equipment : Ability to equip anything (can cause client errors).
+skill_unconditional : Ability to use skills without meeting the required conditions (SP, items, etc...).
+join_chat : Ability to join a password protected chatrooms.
+kick_chat : Protection from being kicked from a chat.
+hide_session : Hides player session from being displayed by @commands.
+who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.
+hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.
+any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags.
+ This option is mainly used in commands which modify a character's
+ map/coordinates (like @memo, @mapmove, @go, @jump, etc...).
+view_hpmeter : Ability to see HP bar of every player.
+view_equipment : Ability to view players equipment regardless of their setting.
+use_check : Ability to use client command /check (display character status).
+use_changemaptype : Ability to use client command /changemaptype.
+all_commands : Ability to use all atcommands and charcommands.
+receive_requests : Ability to receive @requests.
+show_bossmobs : Ability to see boss mobs with @showmobs.
+disable_pvm : Ability to disable Player vs. Monster.
+disable_pvp : Ability to disable Player vs. Player.
+disable_commands_when_dead : Ability to disable @command usage when dead.
+can_trade_bound: Ability to trade or otherwise distribute bound items (drop, storage, vending etc...).
+hchsys_admin : Hercules Chat System Admin (Ability to modify channel settings regardless of ownership and join password-protected channels without requiring a password.)
+disable_pickup: Ability to disable the player from picking up any item from ground, they can still receive items picked up by others means like party share píck.
+disable_exp: Ability to disable the player from gaining any experience point.
+disable_store: Ability to disable the player from using/openning npc and player stores.
+disable_skill_usage: Ability to disable the player from using any skill.