From 39fa4991f1ce803da04fae342d5ab64111a3df5e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 29 Jan 2016 22:09:19 +0300 Subject: Add all existing server docs. --- server/items/item_bonus.txt | 444 +++++++++++++++++++++++++++++++++++++++++++ server/items/item_db.txt | 341 +++++++++++++++++++++++++++++++++ server/items/permissions.txt | 39 ++++ 3 files changed, 824 insertions(+) create mode 100644 server/items/item_bonus.txt create mode 100644 server/items/item_db.txt create mode 100644 server/items/permissions.txt (limited to 'server/items') 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. -- cgit v1.2.3-70-g09d2