diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/atcommands.txt | 81 | ||||
-rw-r--r-- | doc/constants.md | 2315 | ||||
-rw-r--r-- | doc/effect_list.md | 1126 | ||||
-rw-r--r-- | doc/effect_list.txt | 986 | ||||
-rw-r--r-- | doc/global_configuration.md | 65 | ||||
-rw-r--r-- | doc/global_configuration.txt | 69 | ||||
-rw-r--r-- | doc/item_bonus.md | 436 | ||||
-rw-r--r-- | doc/item_bonus.txt | 444 | ||||
-rw-r--r-- | doc/mob_db.txt | 91 | ||||
-rw-r--r-- | doc/mob_db_mode_list.md | 72 | ||||
-rw-r--r-- | doc/mob_db_mode_list.txt | 113 | ||||
-rw-r--r-- | doc/option_drop_group.md | 97 | ||||
-rw-r--r-- | doc/permissions.md | 52 | ||||
-rw-r--r-- | doc/permissions.txt | 39 | ||||
-rw-r--r-- | doc/quest_variables.md | 262 | ||||
-rw-r--r-- | doc/quest_variables.txt | 108 | ||||
-rw-r--r-- | doc/sample/getiteminfo.txt | 32 | ||||
-rw-r--r-- | doc/sample/npc_trader_sample.txt | 8 | ||||
-rw-r--r-- | doc/script_commands.txt | 991 |
19 files changed, 4882 insertions, 2505 deletions
diff --git a/doc/atcommands.txt b/doc/atcommands.txt index fb3628e00..419cb0acd 100644 --- a/doc/atcommands.txt +++ b/doc/atcommands.txt @@ -584,6 +584,12 @@ Opens the Identification window if any unappraised items are in your inventory. --------------------------------------- +@identifyall + +Identifies all unappraised items in your inventory. + +--------------------------------------- + @trade <player name> Opens the trade window with the specified player. @@ -672,17 +678,30 @@ Example: @refine <equip position> <+/- amount> Refines an equipped item by the specified amount. -0: All Equipment -1: Lower Headgear -2: Right Hand +-3: Refine All Equip (Shadow) +-2: Refine All Equip (Costume) +-1: Refine All Equip (General) +1: Headgear (Low) +2: Hand (Right) 4: Garment -8: Left Accessory +8: Accessory (Left) 16: Body Armor -32: Left Hand +32: Hand (Left) 64: Shoes -128: Right Accessory -256: Top Headgear -512: Mid Headgear +128: Accessory (Right) +256: Headgear (Top) +256: Headgear (Mid) +1024: Costume Headgear (Top) +2048: Costume Headgear (Mid) +4096: Costume Headgear (Low) +8192: Costume Garment +65536: Shadow Armor +131072: Shadow Weapon +262144: Shadow Shield +524288: Shadow Shoes +1048576: Shadow Accessory (Right) +2097152: Shadow Accessory (Left) +2097152: Shadow Accessory (Left) --------------------------------------- @@ -692,9 +711,23 @@ Repairs all broken items in your inventory. --------------------------------------- -@dropall +@dropall {<item type>} + +Drops all items based on the item type. -Drops all inventory and equipped items onto the floor. +Valid item types: + -1 = All Items (default) + 0 = Healing Items + 2 = Useable Items + 3 = Etc Items + 4 = Weapons + 5 = Armors + 6 = Cards + 7 = Pet Eggs + 8 = Pet Armors + 10 = Ammunition Items + 11 = Delayed-Consumable Items + 18 = Cash Items --------------------------------------- @@ -859,6 +892,12 @@ Resets a Star Gladiator's marked maps. --------------------------------------- +@hatereset + +Resets a Star Gladiator's hatred targets. + +--------------------------------------- + @jobchange <job name/ID> Changes your job. @@ -1026,6 +1065,12 @@ Changes the gender attached to the player's account. --------------------------------------- +@changecharsex + +Changes the gender attached to the player's character. + +--------------------------------------- + @marry <player 1> <player 2> @divorce <player> @@ -1246,6 +1291,16 @@ Example: --------------------------------------- +@reloadnpc <path> + +Unloads all NPCs in a file and reload it again. +Note: Be aware that mapflags and monsters spawned directly are not removed. + +Example: +@reloadnpc npc/custom/jobmaster.txt + +--------------------------------------- + ===================== | 6. Party Commands | ===================== @@ -1498,3 +1553,9 @@ Reloads the 'conf/clans.conf' file. Obs: it will reload 'db/clans.conf' too since it's included inside 'conf/clans.conf' --------------------------------------- + +@camerainfo {<range>, <rotation>, <latitude>} + +Allow show/hide or change client camera parameters + +--------------------------------------- diff --git a/doc/constants.md b/doc/constants.md index 451f2a5fe..257696c4e 100644 --- a/doc/constants.md +++ b/doc/constants.md @@ -362,6 +362,8 @@ - `mf_noviewid`: 56 - `mf_pairship_startable`: 57 - `mf_pairship_endable`: 58 +- `mf_nostorage`: 59 +- `mf_nogstorage`: 60 ### Cell Properties @@ -1322,6 +1324,20 @@ - `SC_DAILYSENDMAILCNT`: 653 - `SC_DRESS_UP`: 652 - `SC_CLAN_INFO`: 654 +- `SC_SIT`: 655 +- `SC_MOON`: 656 +- `SC_TING`: 657 +- `SC_DEVIL1`: 658 +- `SC_RIDING`: 659 +- `SC_FALCON`: 660 +- `SC_WUGRIDER`: 661 +- `SC_POSTDELAY`: 662 +- `SC_ON_PUSH_CART`: 663 +- `SC_RESIST_PROPERTY_WATER`: 664 +- `SC_RESIST_PROPERTY_GROUND`: 665 +- `SC_RESIST_PROPERTY_FIRE`: 666 +- `SC_RESIST_PROPERTY_WIND`: 667 +- `SC_CLIENT_ONLY_EQUIP_ARROW`: 668 ### Emotes @@ -1407,13 +1423,13 @@ - `e_panic`: 79 - `e_whisp`: 80 -### petstat +### petstat - deprecated, use *getpetinfo -- `PET_CLASS`: 1 -- `PET_NAME`: 2 -- `PET_LEVEL`: 3 -- `PET_HUNGRY`: 4 -- `PET_INTIMATE`: 5 +- `PET_CLASS`: 1 **(DEPRECATED)** +- `PET_NAME`: 2 **(DEPRECATED)** +- `PET_LEVEL`: 3 **(DEPRECATED)** +- `PET_HUNGRY`: 4 **(DEPRECATED)** +- `PET_INTIMATE`: 5 **(DEPRECATED)** ### getmonsterinfo @@ -1440,6 +1456,7 @@ - `MOB_ELEMENT`: 20 - `MOB_MODE`: 21 - `MOB_MVPEXP`: 22 +- `MOB_DMG_TAKEN_RATE`: 23 ### mercenary guilds @@ -3485,11 +3502,38 @@ - `4_M_POPFESTA`: 10251 - `4_BONFIRE`: 10252 - `4_PCCOUNT`: 10253 +- `4_LAVAGOLEM`: 10254 +- `4_F_IA`: 10255 +- `4_LOCKE`: 10256 +- `4_LIL_LIF`: 10257 +- `4_LIL_LIF2`: 10258 +- `4_F_DRAGONHAT`: 10259 +- `4_M_DRAGONHAT`: 10260 +- `JP_NPC02`: 10261 +- `JP_NPC03`: 10262 +- `JP_NPC04`: 10263 +- `JP_NPC05`: 10264 +- `JP_NPC06`: 10265 +- `JP_NPC07`: 10266 +- `JP_NPC08`: 10267 +- `JP_NPC09`: 10268 +- `JP_NPC10`: 10269 +- `4_FIRERING`: 10270 - `4_SCATLETON`: 10271 +- `4_JP_AB_NPC_001`: 10272 +- `4_JP_AB_NPC_002`: 10273 +- `4_JP_AB_NPC_003`: 10274 +- `4_JP_AB_NPC_004`: 10275 +- `4_JP_AB_NPC_005`: 10276 +- `4_JP_AB_NPC_006`: 10277 +- `4_JP_AB_NPC_007`: 10278 +- `4_JP_AB_NPC_008`: 10279 - `4_JJAK`: 10280 - `4_M_SNOWMAN_B`: 10281 - `4_M_SNOWMAN_R`: 10282 - `4_M_SNOWMAN_G`: 10283 +- `WARPEFFECTNPC`: 10284 +- `4_HEN`: 10285 - `4_F_DANGDANG`: 10286 - `4_M_DANGDANG`: 10287 - `4_F_DANGDANG1`: 10288 @@ -3514,6 +3558,39 @@ - `4_ED_OSCAR`: 10307 - `4_ED_ORB`: 10308 - `4_ED_FENCE`: 10309 +- `4_M_ANDREA`: 10310 +- `4_M_ANDREA_D`: 10311 +- `4_F_ANES`: 10312 +- `4_F_ANES_D`: 10313 +- `4_M_SILVANO`: 10314 +- `4_M_SILVANO_D`: 10315 +- `4_F_CECILIA`: 10316 +- `4_F_CECILIA_D`: 10317 +- `4_M_MD_SEYREN`: 10318 +- `4_M_MD_EREMES`: 10319 +- `4_M_MD_HARWORD`: 10320 +- `4_F_MD_MAGALETA`: 10321 +- `4_F_MD_SHECIL`: 10322 +- `4_F_MD_KATRINN`: 10323 +- `4_M_MD_SEYREN_H`: 10324 +- `4_M_MD_EREMES_H`: 10325 +- `4_M_MD_HARWORD_H`: 10326 +- `4_F_MD_MAGALETA_H`: 10327 +- `4_F_MD_SHECIL_H`: 10328 +- `4_F_MD_KATRINN_H`: 10329 +- `4_M_MD_SEYREN_D`: 10330 +- `4_M_MD_EREMES_D`: 10331 +- `4_M_MD_HARWORD_D`: 10332 +- `4_F_MD_MAGALETA_D`: 10333 +- `4_F_MD_SHECIL_D`: 10334 +- `4_F_MD_KATRINN_D`: 10335 +- `4_F_MD_YGNIZEM`: 10336 +- `4_F_ERENE`: 10337 +- `4_M_EINCPTMINER`: 10338 +- `4_F_EINRESERCHER`: 10339 +- `4_F_REINDEER`: 10340 +- `4_PIGOCTO`: 10341 +- `4_JP_16TH`: 10343 ### Mercenary IDs @@ -3650,13 +3727,6 @@ - `IOT_PARTY`: 2 - `IOT_GUILD`: 3 -### tradertype - -- `NST_ZENY`: 0 -- `NST_CASH`: 1 -- `NST_MARKET`: 2 -- `NST_CUSTOM`: 3 - ### strcharinfo - `PC_NAME`: 0 @@ -3769,66 +3839,6 @@ - `SEX_MALE`: 1 - `SEX_ANY`: 2 -### Script Unit Data Types - -- `UDT_TYPE`: 0 -- `UDT_SIZE`: 1 -- `UDT_LEVEL`: 2 -- `UDT_HP`: 3 -- `UDT_MAXHP`: 4 -- `UDT_SP`: 5 -- `UDT_MAXSP`: 6 -- `UDT_MASTERAID`: 7 -- `UDT_MASTERCID`: 8 -- `UDT_MAPIDXY`: 9 -- `UDT_WALKTOXY`: 10 -- `UDT_SPEED`: 11 -- `UDT_MODE`: 12 -- `UDT_AI`: 13 -- `UDT_SCOPTION`: 14 -- `UDT_SEX`: 15 -- `UDT_CLASS`: 16 -- `UDT_HAIRSTYLE`: 17 -- `UDT_HAIRCOLOR`: 18 -- `UDT_HEADBOTTOM`: 19 -- `UDT_HEADMIDDLE`: 20 -- `UDT_HEADTOP`: 21 -- `UDT_CLOTHCOLOR`: 22 -- `UDT_SHIELD`: 23 -- `UDT_WEAPON`: 24 -- `UDT_LOOKDIR`: 25 -- `UDT_CANMOVETICK`: 26 -- `UDT_STR`: 27 -- `UDT_AGI`: 28 -- `UDT_VIT`: 29 -- `UDT_INT`: 30 -- `UDT_DEX`: 31 -- `UDT_LUK`: 32 -- `UDT_ATKRANGE`: 33 -- `UDT_ATKMIN`: 34 -- `UDT_ATKMAX`: 35 -- `UDT_MATKMIN`: 36 -- `UDT_MATKMAX`: 37 -- `UDT_DEF`: 38 -- `UDT_MDEF`: 39 -- `UDT_HIT`: 40 -- `UDT_FLEE`: 41 -- `UDT_PDODGE`: 42 -- `UDT_CRIT`: 43 -- `UDT_RACE`: 44 -- `UDT_ELETYPE`: 45 -- `UDT_ELELEVEL`: 46 -- `UDT_AMOTION`: 47 -- `UDT_ADELAY`: 48 -- `UDT_DMOTION`: 49 -- `UDT_HUNGER`: 50 -- `UDT_INTIMACY`: 51 -- `UDT_LIFETIME`: 52 -- `UDT_MERC_KILLCOUNT`: 53 -- `UDT_STATADD`: 54 -- `UDT_ROBE`: 55 -- `UDT_BODY2`: 56 - ### HatEffect Constants - `HAT_EF_BLOSSOM_FLUTTERING`: 1 @@ -3969,424 +3979,11 @@ - `ACH_ACHIEVE`: 44 - `ACH_ACHIEVEMENT_RANK`: 45 +### inventory expansion -## Hardcoded Constants (source) - - -### Boolean - -- `true`: 1 -- `false`: 0 - -### Server defines - -- `PACKETVER`: 20141022 -- `MAX_LEVEL`: 175 -- `MAX_STORAGE`: 600 -- `MAX_GUILD_STORAGE`: 600 -- `MAX_CART`: 100 -- `MAX_INVENTORY`: 100 -- `MAX_ZENY`: 2147483647 -- `MAX_BANK_ZENY`: 2147483647 -- `MAX_BG_MEMBERS`: 30 -- `MAX_CHAT_USERS`: 20 -- `MAX_REFINE`: 20 - -### status options - -- `Option_Nothing`: 0 -- `Option_Sight`: 1 -- `Option_Hide`: 2 -- `Option_Cloak`: 4 -- `Option_Falcon`: 16 -- `Option_Riding`: 32 -- `Option_Invisible`: 64 -- `Option_Orcish`: 2048 -- `Option_Wedding`: 4096 -- `Option_Chasewalk`: 16384 -- `Option_Flying`: 32768 -- `Option_Xmas`: 65536 -- `Option_Transform`: 131072 -- `Option_Summer`: 262144 -- `Option_Dragon1`: 524288 -- `Option_Wug`: 1048576 -- `Option_Wugrider`: 2097152 -- `Option_Madogear`: 4194304 -- `Option_Dragon2`: 8388608 -- `Option_Dragon3`: 16777216 -- `Option_Dragon4`: 33554432 -- `Option_Dragon5`: 67108864 -- `Option_Hanbok`: 134217728 -- `Option_Oktoberfest`: 268435456 -- `Option_Summer2`: 536870912 - -### status option compounds - -- `Option_Dragon`: 126353408 -- `Option_Costume`: 939855872 - -### send_target - -- `ALL_CLIENT`: 0 -- `ALL_SAMEMAP`: 1 -- `AREA`: 2 -- `AREA_WOS`: 3 -- `AREA_WOC`: 4 -- `AREA_WOSC`: 5 -- `AREA_CHAT_WOC`: 6 -- `CHAT`: 8 -- `CHAT_WOS`: 9 -- `PARTY`: 10 -- `PARTY_WOS`: 11 -- `PARTY_SAMEMAP`: 12 -- `PARTY_SAMEMAP_WOS`: 13 -- `PARTY_AREA`: 14 -- `PARTY_AREA_WOS`: 15 -- `GUILD`: 16 -- `GUILD_WOS`: 17 -- `GUILD_SAMEMAP`: 18 -- `GUILD_SAMEMAP_WOS`: 19 -- `GUILD_AREA`: 20 -- `GUILD_AREA_WOS`: 21 -- `GUILD_NOBG`: 22 -- `DUEL`: 23 -- `DUEL_WOS`: 24 -- `SELF`: 25 -- `BG`: 26 -- `BG_WOS`: 27 -- `BG_SAMEMAP`: 28 -- `BG_SAMEMAP_WOS`: 29 -- `BG_AREA`: 30 -- `BG_AREA_WOS`: 31 -- `BG_QUEUE`: 32 - -### LOOK_ constants, use in setlook/changelook script commands - -- `LOOK_BASE`: 0 -- `LOOK_HAIR`: 1 -- `LOOK_WEAPON`: 2 -- `LOOK_HEAD_BOTTOM`: 3 -- `LOOK_HEAD_TOP`: 4 -- `LOOK_HEAD_MID`: 5 -- `LOOK_HAIR_COLOR`: 6 -- `LOOK_CLOTHES_COLOR`: 7 -- `LOOK_SHIELD`: 8 -- `LOOK_SHOES`: 9 -- `LOOK_BODY`: 10 -- `LOOK_FLOOR`: 11 -- `LOOK_ROBE`: 12 -- `LOOK_BODY2`: 13 - -### Equip Position in Bits, use with *getiteminfo type 5, or @inventorylist_equip - -- `EQP_HEAD_LOW`: 1 -- `EQP_HEAD_MID`: 512 -- `EQP_HEAD_TOP`: 256 -- `EQP_HAND_R`: 2 -- `EQP_HAND_L`: 32 -- `EQP_ARMOR`: 16 -- `EQP_SHOES`: 64 -- `EQP_GARMENT`: 4 -- `EQP_ACC_L`: 8 -- `EQP_ACC_R`: 128 -- `EQP_COSTUME_HEAD_TOP`: 1024 -- `EQP_COSTUME_HEAD_MID`: 2048 -- `EQP_COSTUME_HEAD_LOW`: 4096 -- `EQP_COSTUME_GARMENT`: 8192 -- `EQP_AMMO`: 32768 -- `EQP_SHADOW_ARMOR`: 65536 -- `EQP_SHADOW_WEAPON`: 131072 -- `EQP_SHADOW_SHIELD`: 262144 -- `EQP_SHADOW_SHOES`: 524288 -- `EQP_SHADOW_ACC_R`: 1048576 -- `EQP_SHADOW_ACC_L`: 2097152 -- `EQP_WEAPON`: 2 -- `EQP_SHIELD`: 32 -- `EQP_ARMS`: 34 -- `EQP_HELM`: 769 -- `EQP_ACC`: 136 -- `EQP_COSTUME`: 15360 -- `EQP_SHADOW_ACC`: 3145728 -- `EQP_SHADOW_ARMS`: 393216 - -### Item Option Types - -- `IT_OPT_INDEX`: 0 -- `IT_OPT_VALUE`: 1 -- `IT_OPT_PARAM`: 2 +- `INVENTORY_INCREASE_STEP`: 10 -### Maximum Item Options - -- `MAX_ITEM_OPTIONS`: 5 - -### Navigation constants, use with *navigateto* - -- `NAV_NONE`: 0 -- `NAV_AIRSHIP_ONLY`: 1 -- `NAV_SCROLL_ONLY`: 10 -- `NAV_AIRSHIP_AND_SCROLL`: 11 -- `NAV_KAFRA_ONLY`: 100 -- `NAV_KAFRA_AND_AIRSHIP`: 101 -- `NAV_KAFRA_AND_SCROLL`: 110 -- `NAV_ALL`: 111 - -### BL types - -- `BL_PC`: 1 -- `BL_MOB`: 2 -- `BL_PET`: 4 -- `BL_HOM`: 8 -- `BL_MER`: 16 -- `BL_ITEM`: 32 -- `BL_SKILL`: 64 -- `BL_NPC`: 128 -- `BL_CHAT`: 256 -- `BL_ELEM`: 512 -- `BL_CHAR`: 539 -- `BL_ALL`: 4095 - -### Refine Chance Types - -- `REFINE_CHANCE_TYPE_NORMAL`: 0 -- `REFINE_CHANCE_TYPE_ENRICHED`: 1 -- `REFINE_CHANCE_TYPE_E_NORMAL`: 2 -- `REFINE_CHANCE_TYPE_E_ENRICHED`: 3 - -### Player permissions - -- `PERM_TRADE`: 1 -- `PERM_PARTY`: 2 -- `PERM_ALL_SKILL`: 4 -- `PERM_USE_ALL_EQUIPMENT`: 8 -- `PERM_SKILL_UNCONDITIONAL`: 16 -- `PERM_JOIN_ALL_CHAT`: 32 -- `PERM_NO_CHAT_KICK`: 64 -- `PERM_HIDE_SESSION`: 128 -- `PERM_RECEIVE_HACK_INFO`: 512 -- `PERM_WARP_ANYWHERE`: 1024 -- `PERM_VIEW_HPMETER`: 2048 -- `PERM_VIEW_EQUIPMENT`: 4096 -- `PERM_USE_CHECK`: 8192 -- `PERM_USE_CHANGEMAPTYPE`: 16384 -- `PERM_USE_ALL_COMMANDS`: 32768 -- `PERM_RECEIVE_REQUESTS`: 65536 -- `PERM_SHOW_BOSS`: 131072 -- `PERM_DISABLE_PVM`: 262144 -- `PERM_DISABLE_PVP`: 524288 -- `PERM_DISABLE_CMD_DEAD`: 1048576 -- `PERM_HCHSYS_ADMIN`: 2097152 -- `PERM_TRADE_BOUND`: 4194304 -- `PERM_DISABLE_PICK_UP`: 8388608 -- `PERM_DISABLE_STORE`: 16777216 -- `PERM_DISABLE_EXP`: 33554432 -- `PERM_DISABLE_SKILL_USAGE`: 67108864 - -### Data types - -- `DATATYPE_NIL`: 128 -- `DATATYPE_STR`: 256 -- `DATATYPE_INT`: 512 -- `DATATYPE_CONST`: 1024 -- `DATATYPE_PARAM`: 2048 -- `DATATYPE_VAR`: 4096 -- `DATATYPE_LABEL`: 8192 - -### Logmes types - -- `LOGMES_NPC`: 0 -- `LOGMES_ATCOMMAND`: 1 - -### Item Subtypes (Weapon types) - -- `W_FIST`: 0 -- `W_DAGGER`: 1 -- `W_1HSWORD`: 2 -- `W_2HSWORD`: 3 -- `W_1HSPEAR`: 4 -- `W_2HSPEAR`: 5 -- `W_1HAXE`: 6 -- `W_2HAXE`: 7 -- `W_MACE`: 8 -- `W_2HMACE`: 9 -- `W_STAFF`: 10 -- `W_BOW`: 11 -- `W_KNUCKLE`: 12 -- `W_MUSICAL`: 13 -- `W_WHIP`: 14 -- `W_BOOK`: 15 -- `W_KATAR`: 16 -- `W_REVOLVER`: 17 -- `W_RIFLE`: 18 -- `W_GATLING`: 19 -- `W_SHOTGUN`: 20 -- `W_GRENADE`: 21 -- `W_HUUMA`: 22 -- `W_2HSTAFF`: 23 - -### Item Subtypes (Ammunition types) - -- `A_ARROW`: 1 -- `A_DAGGER`: 2 -- `A_BULLET`: 3 -- `A_SHELL`: 4 -- `A_GRENADE`: 5 -- `A_SHURIKEN`: 6 -- `A_KUNAI`: 7 -- `A_CANNONBALL`: 8 -- `A_THROWWEAPON`: 9 - -### Item Upper Masks - -- `ITEMUPPER_NONE`: 0 -- `ITEMUPPER_NORMAL`: 1 -- `ITEMUPPER_UPPER`: 2 -- `ITEMUPPER_BABY`: 4 -- `ITEMUPPER_THIRD`: 8 -- `ITEMUPPER_THIRDUPPER`: 16 -- `ITEMUPPER_THIRDBABY`: 32 -- `ITEMUPPER_ALL`: 63 - -### dressroom modes - -- `DRESSROOM_OPEN`: 1 -- `DRESSROOM_CLOSE`: 0 - -### getmapinfo options - -- `MAPINFO_NAME`: 0 -- `MAPINFO_ID`: 1 -- `MAPINFO_SIZE_X`: 2 -- `MAPINFO_SIZE_Y`: 3 -- `MAPINFO_ZONE`: 4 - -### set/getiteminfo options - -- `ITEMINFO_BUYPRICE`: 0 -- `ITEMINFO_SELLPRICE`: 1 -- `ITEMINFO_TYPE`: 2 -- `ITEMINFO_MAXCHANCE`: 3 -- `ITEMINFO_SEX`: 4 -- `ITEMINFO_LOC`: 5 -- `ITEMINFO_WEIGHT`: 6 -- `ITEMINFO_ATK`: 7 -- `ITEMINFO_DEF`: 8 -- `ITEMINFO_RANGE`: 9 -- `ITEMINFO_SLOTS`: 10 -- `ITEMINFO_SUBTYPE`: 11 -- `ITEMINFO_ELV`: 12 -- `ITEMINFO_WLV`: 13 -- `ITEMINFO_VIEWID`: 14 -- `ITEMINFO_MATK`: 15 -- `ITEMINFO_VIEWSPRITE`: 16 - -### monster skill states - -- `MSS_ANY`: -1 -- `MSS_IDLE`: 0 -- `MSS_WALK`: 1 -- `MSS_LOOT`: 2 -- `MSS_DEAD`: 3 -- `MSS_BERSERK`: 4 -- `MSS_ANGRY`: 5 -- `MSS_RUSH`: 6 -- `MSS_FOLLOW`: 7 -- `MSS_ANYTARGET`: 8 - -### monster skill conditions - -- `MSC_ANY`: -1 -- `MSC_ALWAYS`: 0 -- `MSC_MYHPLTMAXRATE`: 1 -- `MSC_MYHPINRATE`: 2 -- `MSC_FRIENDHPLTMAXRATE`: 3 -- `MSC_FRIENDHPINRATE`: 4 -- `MSC_MYSTATUSON`: 5 -- `MSC_MYSTATUSOFF`: 6 -- `MSC_FRIENDSTATUSON`: 7 -- `MSC_FRIENDSTATUSOFF`: 8 -- `MSC_ATTACKPCGT`: 9 -- `MSC_ATTACKPCGE`: 10 -- `MSC_SLAVELT`: 11 -- `MSC_SLAVELE`: 12 -- `MSC_CLOSEDATTACKED`: 13 -- `MSC_LONGRANGEATTACKED`: 14 -- `MSC_SKILLUSED`: 16 -- `MSC_AFTERSKILL`: 15 -- `MSC_CASTTARGETED`: 17 -- `MSC_RUDEATTACKED`: 18 -- `MSC_MASTERHPLTMAXRATE`: 19 -- `MSC_MASTERATTACKED`: 20 -- `MSC_ALCHEMIST`: 21 -- `MSC_SPAWN`: 22 - -### monster skill targets - -- `MST_TARGET`: 0 -- `MST_RANDOM`: 1 -- `MST_SELF`: 2 -- `MST_FRIEND`: 3 -- `MST_MASTER`: 4 -- `MST_AROUND5`: 5 -- `MST_AROUND6`: 6 -- `MST_AROUND7`: 7 -- `MST_AROUND8`: 8 -- `MST_AROUND1`: 9 -- `MST_AROUND2`: 10 -- `MST_AROUND3`: 11 -- `MST_AROUND4`: 12 -- `MST_AROUND`: 12 - -### pc block constants, use with *setpcblock* and *checkpcblock* - -- `PCBLOCK_NONE`: 0 -- `PCBLOCK_MOVE`: 1 -- `PCBLOCK_ATTACK`: 2 -- `PCBLOCK_SKILL`: 4 -- `PCBLOCK_USEITEM`: 8 -- `PCBLOCK_CHAT`: 16 -- `PCBLOCK_IMMUNE`: 32 -- `PCBLOCK_SITSTAND`: 64 -- `PCBLOCK_COMMANDS`: 128 - -### private airship responds - -- `P_AIRSHIP_NONE`: 0 -- `P_AIRSHIP_RETRY`: 1 -- `P_AIRSHIP_INVALID_START_MAP`: 4 -- `P_AIRSHIP_INVALID_END_MAP`: 3 -- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 2 -- `P_AIRSHIP_ITEM_INVALID`: 5 - -### questinfo types - -- `QINFO_JOB`: 0 -- `QINFO_SEX`: 1 -- `QINFO_BASE_LEVEL`: 2 -- `QINFO_JOB_LEVEL`: 3 -- `QINFO_ITEM`: 4 -- `QINFO_HOMUN_LEVEL`: 5 -- `QINFO_HOMUN_TYPE`: 6 -- `QINFO_QUEST`: 7 - -### function types - -- `FUNCTION_IS_COMMAND`: 1 -- `FUNCTION_IS_GLOBAL`: 2 -- `FUNCTION_IS_LOCAL`: 3 -- `FUNCTION_IS_LABEL`: 4 - -### Renewal - -- `RENEWAL`: 1 -- `RENEWAL_CAST`: 1 -- `RENEWAL_DROP`: 1 -- `RENEWAL_EXP`: 1 -- `RENEWAL_LVDMG`: 1 -- `RENEWAL_EDP`: 1 -- `RENEWAL_ASPD`: 1 - - -### Status Icons +### Status Effect Icons - `SI_BLANK`: -1 - `SI_PROVOKE`: 0 @@ -5016,8 +4613,10 @@ - `SI_MTF_HITFLEE`: 796 - `SI_FLOWERSMOKE`: 822 - `SI_FSTONE`: 823 +- `SI_DAILYSENDMAILCNT`: 824 - `SI_LJOSALFAR`: 826 - `SI_HAPPINESS_STAR`: 849 +- `SI_DRESS_UP`: 856 - `SI_MAPLE_FALLS`: 857 - `SI_MERMAID_LONGING`: 863 - `SI_MAGICAL_FEATHER`: 864 @@ -5026,6 +4625,10 @@ - `SI_CATNIPPOWDER`: 894 - `SI_BLOSSOM_FLUTTERING`: 895 - `SI_SV_ROOTTWIST`: 896 +- `SI_RESIST_PROPERTY_WATER`: 908 +- `SI_RESIST_PROPERTY_GROUND`: 909 +- `SI_RESIST_PROPERTY_FIRE`: 910 +- `SI_RESIST_PROPERTY_WIND`: 911 - `SI_BITESCAR`: 917 - `SI_ARCLOUSEDASH`: 918 - `SI_TUNAPARTY`: 919 @@ -5033,7 +4636,621 @@ - `SI_FRESHSHRIMP`: 921 - `SI_SUHIDE`: 933 - `SI_SPRITEMABLE`: 937 -- `SI_MAX`: 938 + + +## Hardcoded Constants (source) + + +### Boolean + +- `true`: 1 +- `false`: 0 + +### Server defines + +- `PACKETVER`: 20141022 +- `MAX_LEVEL`: 175 +- `MAX_STORAGE`: 600 +- `MAX_GUILD_STORAGE`: 600 +- `MAX_CART`: 100 +- `MAX_INVENTORY`: 100 +- `FIXED_INVENTORY_SIZE`: 100 +- `MAX_ZENY`: 2147483647 +- `MAX_BANK_ZENY`: 2147483647 +- `MAX_BG_MEMBERS`: 30 +- `MAX_CHAT_USERS`: 20 +- `MAX_REFINE`: 20 +- `MAX_ITEM_ID`: 65535 +- `MAX_MENU_OPTIONS`: 255 +- `MAX_MENU_LENGTH`: 2048 +- `MOB_CLONE_START`: 4001 +- `MOB_CLONE_END`: 5000 +- `MAX_NPC_PER_MAP`: 512 + +### status options + +- `Option_Nothing`: 0 +- `Option_Sight`: 1 +- `Option_Hide`: 2 +- `Option_Cloak`: 4 +- `Option_Falcon`: 16 +- `Option_Riding`: 32 +- `Option_Invisible`: 64 +- `Option_Orcish`: 2048 +- `Option_Wedding`: 4096 +- `Option_Chasewalk`: 16384 +- `Option_Flying`: 32768 +- `Option_Xmas`: 65536 +- `Option_Transform`: 131072 +- `Option_Summer`: 262144 +- `Option_Dragon1`: 524288 +- `Option_Wug`: 1048576 +- `Option_Wugrider`: 2097152 +- `Option_Madogear`: 4194304 +- `Option_Dragon2`: 8388608 +- `Option_Dragon3`: 16777216 +- `Option_Dragon4`: 33554432 +- `Option_Dragon5`: 67108864 +- `Option_Hanbok`: 134217728 +- `Option_Oktoberfest`: 268435456 +- `Option_Summer2`: 536870912 + +### status option compounds + +- `Option_Dragon`: 126353408 +- `Option_Costume`: 939855872 + +### send_target + +- `ALL_CLIENT`: 0 +- `ALL_SAMEMAP`: 1 +- `AREA`: 2 +- `AREA_WOS`: 3 +- `AREA_WOC`: 4 +- `AREA_WOSC`: 5 +- `AREA_CHAT_WOC`: 6 +- `CHAT`: 8 +- `CHAT_WOS`: 9 +- `PARTY`: 10 +- `PARTY_WOS`: 11 +- `PARTY_SAMEMAP`: 12 +- `PARTY_SAMEMAP_WOS`: 13 +- `PARTY_AREA`: 14 +- `PARTY_AREA_WOS`: 15 +- `GUILD`: 16 +- `GUILD_WOS`: 17 +- `GUILD_SAMEMAP`: 18 +- `GUILD_SAMEMAP_WOS`: 19 +- `GUILD_AREA`: 20 +- `GUILD_AREA_WOS`: 21 +- `GUILD_NOBG`: 22 +- `DUEL`: 23 +- `DUEL_WOS`: 24 +- `SELF`: 25 +- `BG`: 26 +- `BG_WOS`: 27 +- `BG_SAMEMAP`: 28 +- `BG_SAMEMAP_WOS`: 29 +- `BG_AREA`: 30 +- `BG_AREA_WOS`: 31 +- `BG_QUEUE`: 32 + +### LOOK_ constants, use in setlook/changelook script commands + +- `LOOK_BASE`: 0 +- `LOOK_HAIR`: 1 +- `LOOK_WEAPON`: 2 +- `LOOK_HEAD_BOTTOM`: 3 +- `LOOK_HEAD_TOP`: 4 +- `LOOK_HEAD_MID`: 5 +- `LOOK_HAIR_COLOR`: 6 +- `LOOK_CLOTHES_COLOR`: 7 +- `LOOK_SHIELD`: 8 +- `LOOK_SHOES`: 9 +- `LOOK_BODY`: 10 +- `LOOK_FLOOR`: 11 +- `LOOK_ROBE`: 12 +- `LOOK_BODY2`: 13 + +### Equip Position in Bits, use with *getiteminfo type 5, or @inventorylist_equip + +- `EQP_HEAD_LOW`: 1 +- `EQP_HEAD_MID`: 512 +- `EQP_HEAD_TOP`: 256 +- `EQP_HAND_R`: 2 +- `EQP_HAND_L`: 32 +- `EQP_ARMOR`: 16 +- `EQP_SHOES`: 64 +- `EQP_GARMENT`: 4 +- `EQP_ACC_L`: 8 +- `EQP_ACC_R`: 128 +- `EQP_COSTUME_HEAD_TOP`: 1024 +- `EQP_COSTUME_HEAD_MID`: 2048 +- `EQP_COSTUME_HEAD_LOW`: 4096 +- `EQP_COSTUME_GARMENT`: 8192 +- `EQP_AMMO`: 32768 +- `EQP_SHADOW_ARMOR`: 65536 +- `EQP_SHADOW_WEAPON`: 131072 +- `EQP_SHADOW_SHIELD`: 262144 +- `EQP_SHADOW_SHOES`: 524288 +- `EQP_SHADOW_ACC_R`: 1048576 +- `EQP_SHADOW_ACC_L`: 2097152 +- `EQP_WEAPON`: 2 +- `EQP_SHIELD`: 32 +- `EQP_ARMS`: 34 +- `EQP_HELM`: 769 +- `EQP_ACC`: 136 +- `EQP_COSTUME`: 15360 +- `EQP_SHADOW_ACC`: 3145728 +- `EQP_SHADOW_ARMS`: 393216 + +### Item Option Types + +- `IT_OPT_INDEX`: 0 +- `IT_OPT_VALUE`: 1 +- `IT_OPT_PARAM`: 2 + +### Maximum Item Options + +- `MAX_ITEM_OPTIONS`: 5 + +### Navigation constants, use with *navigateto* + +- `NAV_NONE`: 0 +- `NAV_AIRSHIP_ONLY`: 1 +- `NAV_SCROLL_ONLY`: 10 +- `NAV_AIRSHIP_AND_SCROLL`: 11 +- `NAV_KAFRA_ONLY`: 100 +- `NAV_KAFRA_AND_AIRSHIP`: 101 +- `NAV_KAFRA_AND_SCROLL`: 110 +- `NAV_ALL`: 111 + +### BL types + +- `BL_PC`: 1 +- `BL_MOB`: 2 +- `BL_PET`: 4 +- `BL_HOM`: 8 +- `BL_MER`: 16 +- `BL_ITEM`: 32 +- `BL_SKILL`: 64 +- `BL_NPC`: 128 +- `BL_CHAT`: 256 +- `BL_ELEM`: 512 +- `BL_CHAR`: 539 +- `BL_ALL`: 4095 + +### Refine Chance Types + +- `REFINE_CHANCE_TYPE_NORMAL`: 0 +- `REFINE_CHANCE_TYPE_ENRICHED`: 1 +- `REFINE_CHANCE_TYPE_E_NORMAL`: 2 +- `REFINE_CHANCE_TYPE_E_ENRICHED`: 3 + +### Player permissions + +- `PERM_TRADE`: 1 +- `PERM_PARTY`: 2 +- `PERM_ALL_SKILL`: 4 +- `PERM_USE_ALL_EQUIPMENT`: 8 +- `PERM_SKILL_UNCONDITIONAL`: 16 +- `PERM_JOIN_ALL_CHAT`: 32 +- `PERM_NO_CHAT_KICK`: 64 +- `PERM_HIDE_SESSION`: 128 +- `PERM_RECEIVE_HACK_INFO`: 512 +- `PERM_WARP_ANYWHERE`: 1024 +- `PERM_VIEW_HPMETER`: 2048 +- `PERM_VIEW_EQUIPMENT`: 4096 +- `PERM_USE_CHECK`: 8192 +- `PERM_USE_CHANGEMAPTYPE`: 16384 +- `PERM_USE_ALL_COMMANDS`: 32768 +- `PERM_RECEIVE_REQUESTS`: 65536 +- `PERM_SHOW_BOSS`: 131072 +- `PERM_DISABLE_PVM`: 262144 +- `PERM_DISABLE_PVP`: 524288 +- `PERM_DISABLE_CMD_DEAD`: 1048576 +- `PERM_HCHSYS_ADMIN`: 2097152 +- `PERM_TRADE_BOUND`: 4194304 +- `PERM_DISABLE_PICK_UP`: 8388608 +- `PERM_DISABLE_STORE`: 16777216 +- `PERM_DISABLE_EXP`: 33554432 +- `PERM_DISABLE_SKILL_USAGE`: 67108864 +- `PERM_BYPASS_NOSTORAGE`: 134217728 + +### Data types + +- `DATATYPE_NIL`: 128 +- `DATATYPE_STR`: 256 +- `DATATYPE_INT`: 512 +- `DATATYPE_CONST`: 1024 +- `DATATYPE_PARAM`: 2048 +- `DATATYPE_VAR`: 4096 +- `DATATYPE_LABEL`: 8192 + +### Logmes types + +- `LOGMES_NPC`: 0 +- `LOGMES_ATCOMMAND`: 1 + +### Item Subtypes (Weapon types) + +- `W_FIST`: 0 +- `W_DAGGER`: 1 +- `W_1HSWORD`: 2 +- `W_2HSWORD`: 3 +- `W_1HSPEAR`: 4 +- `W_2HSPEAR`: 5 +- `W_1HAXE`: 6 +- `W_2HAXE`: 7 +- `W_MACE`: 8 +- `W_2HMACE`: 9 +- `W_STAFF`: 10 +- `W_BOW`: 11 +- `W_KNUCKLE`: 12 +- `W_MUSICAL`: 13 +- `W_WHIP`: 14 +- `W_BOOK`: 15 +- `W_KATAR`: 16 +- `W_REVOLVER`: 17 +- `W_RIFLE`: 18 +- `W_GATLING`: 19 +- `W_SHOTGUN`: 20 +- `W_GRENADE`: 21 +- `W_HUUMA`: 22 +- `W_2HSTAFF`: 23 + +### Item Subtypes (Ammunition types) + +- `A_ARROW`: 1 +- `A_DAGGER`: 2 +- `A_BULLET`: 3 +- `A_SHELL`: 4 +- `A_GRENADE`: 5 +- `A_SHURIKEN`: 6 +- `A_KUNAI`: 7 +- `A_CANNONBALL`: 8 +- `A_THROWWEAPON`: 9 + +### Item Upper Masks + +- `ITEMUPPER_NONE`: 0 +- `ITEMUPPER_NORMAL`: 1 +- `ITEMUPPER_UPPER`: 2 +- `ITEMUPPER_BABY`: 4 +- `ITEMUPPER_THIRD`: 8 +- `ITEMUPPER_THIRDUPPER`: 16 +- `ITEMUPPER_THIRDBABY`: 32 +- `ITEMUPPER_ALL`: 63 + +### dressroom modes + +- `DRESSROOM_OPEN`: 1 +- `DRESSROOM_CLOSE`: 0 + +### getmapinfo options + +- `MAPINFO_NAME`: 0 +- `MAPINFO_ID`: 1 +- `MAPINFO_SIZE_X`: 2 +- `MAPINFO_SIZE_Y`: 3 +- `MAPINFO_ZONE`: 4 +- `MAPINFO_NPC_COUNT`: 5 + +### consolemes options + +- `CONSOLEMES_DEBUG`: 0 +- `CONSOLEMES_ERROR`: 1 +- `CONSOLEMES_WARNING`: 2 +- `CONSOLEMES_INFO`: 3 +- `CONSOLEMES_STATUS`: 4 +- `CONSOLEMES_NOTICE`: 5 + +### set/getiteminfo options + +- `ITEMINFO_BUYPRICE`: 0 +- `ITEMINFO_SELLPRICE`: 1 +- `ITEMINFO_TYPE`: 2 +- `ITEMINFO_MAXCHANCE`: 3 +- `ITEMINFO_SEX`: 4 +- `ITEMINFO_LOC`: 5 +- `ITEMINFO_WEIGHT`: 6 +- `ITEMINFO_ATK`: 7 +- `ITEMINFO_DEF`: 8 +- `ITEMINFO_RANGE`: 9 +- `ITEMINFO_SLOTS`: 10 +- `ITEMINFO_SUBTYPE`: 11 +- `ITEMINFO_ELV`: 12 +- `ITEMINFO_WLV`: 13 +- `ITEMINFO_VIEWID`: 14 +- `ITEMINFO_MATK`: 15 +- `ITEMINFO_VIEWSPRITE`: 16 +- `ITEMINFO_TRADE`: 17 +- `ITEMINFO_ELV_MAX`: 18 +- `ITEMINFO_DROPEFFECT_MODE`: 19 +- `ITEMINFO_DELAY`: 20 +- `ITEMINFO_CLASS_BASE_1`: 21 +- `ITEMINFO_CLASS_BASE_2`: 22 +- `ITEMINFO_CLASS_BASE_3`: 23 +- `ITEMINFO_CLASS_UPPER`: 24 +- `ITEMINFO_FLAG_NO_REFINE`: 25 +- `ITEMINFO_FLAG_DELAY_CONSUME`: 26 +- `ITEMINFO_FLAG_AUTOEQUIP`: 27 +- `ITEMINFO_FLAG_AUTO_FAVORITE`: 28 +- `ITEMINFO_FLAG_BUYINGSTORE`: 29 +- `ITEMINFO_FLAG_BINDONEQUIP`: 30 +- `ITEMINFO_FLAG_KEEPAFTERUSE`: 31 +- `ITEMINFO_FLAG_FORCE_SERIAL`: 32 +- `ITEMINFO_FLAG_NO_OPTIONS`: 33 +- `ITEMINFO_FLAG_DROP_ANNOUNCE`: 34 +- `ITEMINFO_FLAG_SHOWDROPEFFECT`: 35 +- `ITEMINFO_STACK_AMOUNT`: 36 +- `ITEMINFO_STACK_FLAG`: 37 +- `ITEMINFO_ITEM_USAGE_FLAG`: 38 +- `ITEMINFO_ITEM_USAGE_OVERRIDE`: 39 +- `ITEMINFO_GM_LV_TRADE_OVERRIDE`: 40 + +### getmercinfo options + +- `MERCINFO_ID,`: 0 +- `MERCINFO_CLASS`: 1 +- `MERCINFO_NAME`: 2 +- `MERCINFO_FAITH`: 3 +- `MERCINFO_CALLS`: 4 +- `MERCINFO_KILLCOUNT`: 5 +- `MERCINFO_LIFETIME`: 6 +- `MERCINFO_LEVEL`: 7 +- `MERCINFO_GID`: 8 + +### getpetinfo options + +- `PETINFO_ID`: 0 +- `PETINFO_CLASS`: 1 +- `PETINFO_NAME`: 2 +- `PETINFO_INTIMACY`: 3 +- `PETINFO_HUNGRY`: 4 +- `PETINFO_RENAME`: 5 +- `PETINFO_GID`: 6 +- `PETINFO_EGGITEM`: 7 +- `PETINFO_FOODITEM`: 8 +- `PETINFO_ACCESSORYITEM`: 9 +- `PETINFO_ACCESSORYFLAG`: 10 +- `PETINFO_EVO_EGGID`: 11 +- `PETINFO_AUTOFEED`: 12 + +### monster skill states + +- `MSS_ANY`: -1 +- `MSS_IDLE`: 0 +- `MSS_WALK`: 1 +- `MSS_LOOT`: 2 +- `MSS_DEAD`: 3 +- `MSS_BERSERK`: 4 +- `MSS_ANGRY`: 5 +- `MSS_RUSH`: 6 +- `MSS_FOLLOW`: 7 +- `MSS_ANYTARGET`: 8 + +### monster skill conditions + +- `MSC_ANY`: -1 +- `MSC_ALWAYS`: 0 +- `MSC_MYHPLTMAXRATE`: 1 +- `MSC_MYHPINRATE`: 2 +- `MSC_FRIENDHPLTMAXRATE`: 3 +- `MSC_FRIENDHPINRATE`: 4 +- `MSC_MYSTATUSON`: 5 +- `MSC_MYSTATUSOFF`: 6 +- `MSC_FRIENDSTATUSON`: 7 +- `MSC_FRIENDSTATUSOFF`: 8 +- `MSC_ATTACKPCGT`: 9 +- `MSC_ATTACKPCGE`: 10 +- `MSC_SLAVELT`: 11 +- `MSC_SLAVELE`: 12 +- `MSC_CLOSEDATTACKED`: 13 +- `MSC_LONGRANGEATTACKED`: 14 +- `MSC_SKILLUSED`: 16 +- `MSC_AFTERSKILL`: 15 +- `MSC_CASTTARGETED`: 17 +- `MSC_RUDEATTACKED`: 18 +- `MSC_MASTERHPLTMAXRATE`: 19 +- `MSC_MASTERATTACKED`: 20 +- `MSC_ALCHEMIST`: 21 +- `MSC_SPAWN`: 22 + +### monster skill targets + +- `MST_TARGET`: 0 +- `MST_RANDOM`: 1 +- `MST_SELF`: 2 +- `MST_FRIEND`: 3 +- `MST_MASTER`: 4 +- `MST_AROUND5`: 5 +- `MST_AROUND6`: 6 +- `MST_AROUND7`: 7 +- `MST_AROUND8`: 8 +- `MST_AROUND1`: 9 +- `MST_AROUND2`: 10 +- `MST_AROUND3`: 11 +- `MST_AROUND4`: 12 +- `MST_AROUND`: 12 + +### pc block constants, use with *setpcblock* and *checkpcblock* + +- `PCBLOCK_NONE`: 0 +- `PCBLOCK_MOVE`: 1 +- `PCBLOCK_ATTACK`: 2 +- `PCBLOCK_SKILL`: 4 +- `PCBLOCK_USEITEM`: 8 +- `PCBLOCK_CHAT`: 16 +- `PCBLOCK_IMMUNE`: 32 +- `PCBLOCK_SITSTAND`: 64 +- `PCBLOCK_COMMANDS`: 128 +- `PCBLOCK_NPC`: 256 + +### private airship responds + +- `P_AIRSHIP_NONE`: 0 +- `P_AIRSHIP_RETRY`: 1 +- `P_AIRSHIP_INVALID_START_MAP`: 4 +- `P_AIRSHIP_INVALID_END_MAP`: 3 +- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 2 +- `P_AIRSHIP_ITEM_INVALID`: 5 + +### questinfo types + +- `QINFO_JOB`: 0 +- `QINFO_SEX`: 1 +- `QINFO_BASE_LEVEL`: 2 +- `QINFO_JOB_LEVEL`: 3 +- `QINFO_ITEM`: 4 +- `QINFO_HOMUN_LEVEL`: 5 +- `QINFO_HOMUN_TYPE`: 6 +- `QINFO_QUEST`: 7 +- `QINFO_MERCENARY_CLASS`: 8 + +### function types + +- `FUNCTION_IS_COMMAND`: 1 +- `FUNCTION_IS_GLOBAL`: 2 +- `FUNCTION_IS_LOCAL`: 3 +- `FUNCTION_IS_LABEL`: 4 + +### item trade restrictions + +- `ITR_NONE`: 0 +- `ITR_NODROP`: 1 +- `ITR_NOTRADE`: 2 +- `ITR_PARTNEROVERRIDE`: 4 +- `ITR_NOSELLTONPC`: 8 +- `ITR_NOCART`: 16 +- `ITR_NOSTORAGE`: 32 +- `ITR_NOGSTORAGE`: 64 +- `ITR_NOMAIL`: 128 +- `ITR_NOAUCTION`: 256 +- `ITR_ALL`: 511 + +### inventory expand ack responds + +- `EXPAND_INV_ASK_CONFIRMATION`: 0 +- `EXPAND_INV_FAILED`: 1 +- `EXPAND_INV_OTHER_WORK`: 2 +- `EXPAND_INV_MISSING_ITEM`: 3 +- `EXPAND_INV_MAX_SIZE`: 4 + +### inventory expand final responds + +- `EXPAND_INV_RESULT_SUCCESS`: 0 +- `EXPAND_INV_RESULT_FAILED`: 1 +- `EXPAND_INV_RESULT_OTHER_WORK`: 2 +- `EXPAND_INV_RESULT_MISSING_ITEM`: 3 +- `EXPAND_INV_RESULT_MAX_SIZE`: 4 + +### trader type + +- `NST_ZENY`: 0 +- `NST_CASH`: 1 +- `NST_MARKET`: 2 +- `NST_CUSTOM`: 3 +- `NST_BARTER`: 4 + +### script unit data types + +- `UDT_TYPE`: 0 +- `UDT_SIZE`: 1 +- `UDT_LEVEL`: 2 +- `UDT_HP`: 3 +- `UDT_MAXHP`: 4 +- `UDT_SP`: 5 +- `UDT_MAXSP`: 6 +- `UDT_MASTERAID`: 7 +- `UDT_MASTERCID`: 8 +- `UDT_MAPIDXY`: 9 **(DEPRECATED)** +- `UDT_WALKTOXY`: 10 **(DEPRECATED)** +- `UDT_SPEED`: 11 +- `UDT_MODE`: 12 +- `UDT_AI`: 13 +- `UDT_SCOPTION`: 14 +- `UDT_SEX`: 15 +- `UDT_CLASS`: 16 +- `UDT_HAIRSTYLE`: 17 +- `UDT_HAIRCOLOR`: 18 +- `UDT_HEADBOTTOM`: 19 +- `UDT_HEADMIDDLE`: 20 +- `UDT_HEADTOP`: 21 +- `UDT_CLOTHCOLOR`: 22 +- `UDT_SHIELD`: 23 +- `UDT_WEAPON`: 24 +- `UDT_LOOKDIR`: 25 +- `UDT_CANMOVETICK`: 26 +- `UDT_STR`: 27 +- `UDT_AGI`: 28 +- `UDT_VIT`: 29 +- `UDT_INT`: 30 +- `UDT_DEX`: 31 +- `UDT_LUK`: 32 +- `UDT_ATKRANGE`: 33 +- `UDT_ATKMIN`: 34 +- `UDT_ATKMAX`: 35 +- `UDT_MATKMIN`: 36 +- `UDT_MATKMAX`: 37 +- `UDT_DEF`: 38 +- `UDT_MDEF`: 39 +- `UDT_HIT`: 40 +- `UDT_FLEE`: 41 +- `UDT_PDODGE`: 42 +- `UDT_CRIT`: 43 +- `UDT_RACE`: 44 +- `UDT_ELETYPE`: 45 +- `UDT_ELELEVEL`: 46 +- `UDT_AMOTION`: 47 +- `UDT_ADELAY`: 48 +- `UDT_DMOTION`: 49 +- `UDT_HUNGER`: 50 +- `UDT_INTIMACY`: 51 +- `UDT_LIFETIME`: 52 +- `UDT_MERC_KILLCOUNT`: 53 +- `UDT_STATPOINT`: 54 +- `UDT_ROBE`: 55 +- `UDT_BODY2`: 56 +- `UDT_GROUP`: 57 +- `UDT_DAMAGE_TAKEN_RATE`: 58 + +### getguildonline types + +- `GUILD_ONLINE_ALL`: 0 +- `GUILD_ONLINE_VENDOR`: 1 +- `GUILD_ONLINE_NO_VENDOR`: 2 + +### Siege Types + +- `SIEGE_TYPE_FE`: 0 +- `SIEGE_TYPE_SE`: 1 +- `SIEGE_TYPE_TE`: 2 + +### guildinfo types + +- `GUILDINFO_NAME`: 0 +- `GUILDINFO_ID`: 1 +- `GUILDINFO_LEVEL`: 2 +- `GUILDINFO_ONLINE`: 3 +- `GUILDINFO_AV_LEVEL`: 4 +- `GUILDINFO_MAX_MEMBERS`: 5 +- `GUILDINFO_EXP`: 6 +- `GUILDINFO_NEXT_EXP`: 7 +- `GUILDINFO_SKILL_POINTS`: 8 +- `GUILDINFO_MASTER_NAME`: 9 +- `GUILDINFO_MASTER_CID`: 10 + +### Renewal + +- `RENEWAL`: 1 +- `RENEWAL_CAST`: 1 +- `RENEWAL_DROP`: 1 +- `RENEWAL_EXP`: 1 +- `RENEWAL_LVDMG`: 1 +- `RENEWAL_EDP`: 1 +- `RENEWAL_ASPD`: 1 + ## Parameters (source) @@ -7523,6 +7740,7 @@ - `DUMMY_100`: 2410 - `DUMMY_150`: 2411 - `DUMMY_10_FIRE`: 2413 +- `RUNAWAY_BOOK`: 2414 - `MG_ZOMBIE`: 2464 - `MG_WRAITH`: 2465 - `MG_GHOUL`: 2466 @@ -8583,6 +8801,7 @@ - `Dofle_Axe`: 1318 - `TE_Woe_Axe`: 1319 - `Ru_Gold_Axe`: 1323 +- `War_Axe_IL`: 1326 - `Battle_Axe`: 1351 - `Battle_Axe_`: 1352 - `Battle_Axe__`: 1353 @@ -9015,6 +9234,12 @@ - `Spartacus`: 1835 - `Thanos_Knuckle`: 1836 - `Scarlet_Knuckle`: 1839 +- `Combo_Battle_Glove_IL`: 1846 +- `Iron_Nail_K`: 1847 +- `Rebeginer_SR_Nuckle`: 1848 +- `Burning_Knuckle_OS`: 1862 +- `Evt_Iron_Nail_K`: 1864 +- `Ein_1HKNUCK`: 1867 - `Violin_of_Vicious_Mind`: 1900 - `Violin`: 1901 - `Violin_`: 1902 @@ -9129,6 +9354,12 @@ - `Infinity_Staff`: 2024 - `Scarlet_Staff`: 2025 - `Staff_of_Vicious_Mind`: 2026 +- `Wizardy_Staff_IL`: 2039 +- `Rebeginer_WL_Staff`: 2046 +- `Iron_Staff`: 2048 +- `Survival_Staff_IL`: 2051 +- `Evt_Iron_Staff`: 2054 +- `Ein_BHSTAFF`: 2058 - `Guard`: 2101 - `Guard_`: 2102 - `Buckler`: 2103 @@ -13491,6 +13722,11 @@ - `Phreeoni_Egg`: 9111 - `Moonlight_Flower_Egg`: 9112 - `Skelion_Egg`: 9113 +- `Ein_Ddbox`: 9514 +- `Metal_Rifine_Ticket`: 9523 +- `Ein_Ddbox2`: 9529 +- `Gemstone_Of_Time`: 9550 +- `Time_Unseal_Key`: 9551 - `Skull_Helm`: 10001 - `Monster_Oxygen_Mask`: 10002 - `Transparent_Headgear`: 10003 @@ -13530,6 +13766,7 @@ - `Black_Butterfly_Mask`: 10037 - `Horn_Protector`: 10038 - `Tw_Backpack`: 10039 +- `Dark_Mane`: 10042 - `Prontera_Book_01`: 11000 - `Adventure_Story01`: 11001 - `Great_Chef_Orleans01`: 11002 @@ -13653,6 +13890,15 @@ - `Trance_Candy_Y`: 11594 - `Trance_Candy_G`: 11595 - `Catnip_Fruit`: 11602 +- `Crepe`: 11607 +- `Chocolate_Egg`: 11608 +- `Yummy_Cookie_Egg`: 11609 +- `Pop_Corn`: 11611 +- `Aromatic_Pop_Corn`: 11612 +- `Fresh_Milk`: 11614 +- `Sweet_Potato_`: 11615 +- `Bearopy`: 11620 +- `Aromatic_Pop_Corn_`: 11625 - `Girl_Bunch_Of_Flower`: 11701 - `Moon_Cookie`: 11702 - `Mysterious_Blood`: 11703 @@ -14712,6 +14958,8 @@ - `ALTAIR_ARES_`: 13124 - `Scarlet_Revolver`: 13127 - `Revolver_of_Vicious_Mind`: 13128 +- `Rebeginer_RL_Gun`: 13144 +- `Calf_Deathadder`: 13146 - `Branch`: 13150 - `The_Cyclone`: 13151 - `The_Cyclone_`: 13152 @@ -14853,6 +15101,11 @@ - `TE_Woe_Huuma`: 13317 - `Scarlet_Huuma`: 13327 - `Huuma_Shuriken_of_Vicious_Mind`: 13328 +- `Huuma_Fluttering_Snow_IL`: 13337 +- `Huuma_Bird_Wing_IL`: 13338 +- `Rebeginer_KO_Humma`: 13341 +- `Humma_Clear`: 13345 +- `Ein_BHHuuma`: 13346 - `Cutlas_`: 13400 - `Excalibur_C`: 13401 - `Cutlas_C`: 13402 @@ -14896,6 +15149,11 @@ - `Pala`: 13444 - `Scarlet_Saber`: 13454 - `Saber_of_Vicious_Mind`: 13455 +- `Immaterial_Sword_IL`: 13469 +- `Rebeginer_GN_Sword`: 13483 +- `Sword_Of_Bluefire`: 13485 +- `Cannon_Rapier_OS`: 13493 +- `Evt_Bluefire_Sword`: 13495 - `Insurance60_Package`: 13500 - `Assorted_Scroll_Box`: 13501 - `Drooping_Kitty_Box`: 13502 @@ -15947,6 +16205,32 @@ - `White_Shirt`: 15150 - `White_Eco_Shirt`: 15151 - `Elegant_Doram_Suit`: 15156 +- `YSF01_Plate`: 15212 +- `True_Hunting_Mail`: 15246 +- `R_Hunting_Mail`: 15247 +- `Rebeginer_Suits`: 15250 +- `Overwhelm_Str_Armor`: 15278 +- `Overwhelm_Int_Armor`: 15279 +- `S_CriticalHit_Armor`: 15280 +- `Overwhelm_Luk_Armor`: 15346 +- `Overwhelm_Vit_Armor`: 15347 +- `Goibne_Armor_IL`: 15348 +- `Overwhelm_Agi_Armor`: 15353 +- `Overwhelm_Dex_Armor`: 15354 +- `Illusion_Armor_A`: 15376 +- `Illusion_Armor_B`: 15377 +- `Lava_Leather_Armor`: 15378 +- `Lava_Leather_Suits`: 15379 +- `Lava_Leather_Robe`: 15380 +- `Time_Overload_Robe`: 15383 +- `Schmidt_Suits`: 15388 +- `Schmidt_Manteau`: 15389 +- `DragonA_Red`: 15391 +- `DragonA_Green`: 15392 +- `DragonA_Gold`: 15393 +- `DragonA_Purple`: 15394 +- `DragonA_Blue`: 15395 +- `DragonA_Silver`: 15396 - `Erde`: 16000 - `Red_Square_Bag`: 16001 - `Stunner_C`: 16002 @@ -15982,6 +16266,13 @@ - `Spoon`: 16039 - `Scarlet_Mace`: 16040 - `Mace_of_Vicious_Mind`: 16041 +- `Long_Mace_IL`: 16063 +- `Iron_Driver_IL`: 16065 +- `Rebeginer_NC_Mace`: 16075 +- `Rebeginer_N2_Mace`: 16076 +- `Saphir_Hall_OS`: 16088 +- `Ultio_Spes_OS`: 16089 +- `Ein_1HHAMMER`: 16099 - `Lady_Tanee_Doll_Box`: 16131 - `Lunatic_Hat_Box`: 16132 - `King_Frog_Hat_Box`: 16134 @@ -16063,6 +16354,7 @@ - `Giant_Fly_Wing_Box_500`: 16418 - `Greed_Scroll_Box_30`: 16419 - `Adventurer_Pack`: 16420 +- `PoporingKey`: 16423 - `Executioner_Box_`: 16424 - `Cutlus_Box`: 16425 - `Moonlight_Dagger_Box`: 16426 @@ -16341,6 +16633,27 @@ - `DEX_Biscuit_Stick_Box`: 17274 - `LUK_Biscuit_Stick_Box`: 17275 - `Jeremy_Beauty_Coupon_Box`: 17336 +- `Almighty_Plus_Box3`: 17774 +- `Almighty100_PlusBox3`: 17775 +- `Refine_Ore_Box17_Set10`: 17882 +- `Refine_Ore_Box17`: 17883 +- `HD_Refine_Ore_Box5`: 17884 +- `HD_High_Refine_Box3`: 17885 +- `Infinity_Box`: 17886 +- `Infinity_10_Box`: 17887 +- `New_Vigorgra_Package`: 17894 +- `New_Vigorgra_Set`: 17895 +- `2017_GStar_CostumeBox`: 17914 +- `Refine_Ore_Box18`: 17923 +- `Refine_Ore_Box18_Set10`: 17924 +- `HD_Refine_Ore_Box6`: 17925 +- `HD_High_Refine_Box4`: 17926 +- `New_3_Potion_pack`: 17935 +- `New_3_Potion_10pack`: 17936 +- `Nyangvine_Box10_3`: 17940 +- `Nyangvine_Box100_3`: 17941 +- `Almighty_Plus_Box4`: 17944 +- `Almighty100_PlusBox4`: 17945 - `Cannon_Ball`: 18000 - `Holy_Cannon_Ball`: 18001 - `Dark_Cannon_Ball`: 18002 @@ -16374,6 +16687,18 @@ - `Ru_Blue_Bow`: 18126 - `Infinity_Bow`: 18128 - `Scarlet_Bow`: 18130 +- `Balistar_IL`: 18149 +- `Royal_Bow_K`: 18164 +- `Rebeginer_RN_Bow`: 18165 +- `Rebeginer_WM_Bow`: 18166 +- `Neev_Bow_Of_Rogue`: 18170 +- `Hunter_Bow_IL`: 18174 +- `Virtual_Bow_OS`: 18178 +- `MH_P89_OS`: 18179 +- `AC_B44_OS`: 18180 +- `Evt_Royal_Bow_K`: 18182 +- `Evt_Narcis_Bow`: 18183 +- `Ein_BHBOW`: 18190 - `Cheer_Scarf6`: 18500 - `Cheer_Scarf8`: 18501 - `Cheer_Scarf10`: 18502 @@ -16801,6 +17126,25 @@ - `Sigruns_Wing_`: 19085 - `Robo_Eye_`: 19086 - `Angel_Spirit_`: 19087 +- `Nurse_Cap_IL`: 19209 +- `Apple_Of_Archer_IL`: 19210 +- `Cap_IL`: 19223 +- `Fancy_Flower_IL`: 19247 +- `GoldFish_Hat`: 19264 +- `Smoky_TransformHat`: 19265 +- `Soda_In_Mouth`: 19277 +- `C_Shiba_Inu`: 19291 +- `C_CatEars_Cyber_HeadP_R`: 19294 +- `Dog_Officer`: 19300 +- `Rebeginer_Cap`: 19310 +- `Egg_Crispinette`: 19339 +- `Headband_Of_Power_IL`: 19344 +- `Goibne_Helmet_IL`: 19366 +- `Pop_Popcorn_Hat`: 19382 +- `E_Oxygen_Mask`: 19389 +- `Racing_C_Star`: 19396 +- `Racing_C_Soul`: 19397 +- `Biting_Off_Rideword`: 19404 - `T_Mr_Smile`: 19500 - `T_Spinx_Helm`: 19501 - `T_Goggle`: 19502 @@ -17572,6 +17916,21 @@ - `C_Pure_White_Ribbon`: 20332 - `C_Family_Hat`: 20333 - `T_Archangel_Wing`: 20500 +- `C_Thanatos_Sword`: 20514 +- `C_Magic_Circle`: 20515 +- `C_Wings_of_Michael`: 20516 +- `C_GiantCatBag_TW`: 20517 +- `C_Full_BloomCherry_Tree`: 20519 +- `C_GoldButterfly_Wing`: 20528 +- `C_Wings_of_Gabriel`: 20530 +- `C_PinkButterfly_Wing_T`: 20533 +- `C_Digital_Space`: 20535 +- `C_Halloween_Poring_Bag`: 20543 +- `C_Backside_Ribbon_Bell`: 20546 +- `C_HeartChocoBag`: 20570 +- `C_WingOfHeart`: 20572 +- `C_Cat_Fork`: 20576 +- `C_Big_Foxtail`: 20584 - `Fantastic_Aura`: 20600 - `Egir_Manteau`: 20700 - `TE_Woe_Muffler`: 20702 @@ -17611,6 +17970,26 @@ - `Private_Doram_Manteau`: 20788 - `Luxury_Doram_Manteau`: 20789 - `Elegant_Doram_Manteau`: 20790 +- `Muffler_IL`: 20838 +- `Cape_Of_Ancient_Lord_IL`: 20840 +- `Clack_Of_Servival_IL`: 20847 +- `YSF01_Manteau`: 20856 +- `True_Hunting_Manteau`: 20902 +- `R_Hunting_Manteau`: 20903 +- `Rebeginer_Manteau`: 20906 +- `Goibne_Shoulder_IL`: 20923 +- `Illusion_Engine_A`: 20933 +- `Illusion_Engine_B`: 20934 +- `Time_Overload_Hood`: 20939 +- `Violet_Halo`: 20940 +- `Fairy_Cloth`: 20944 +- `Drag_Manteau`: 20946 +- `Temporal_M_Str`: 20963 +- `Temporal_M_Agi`: 20964 +- `Temporal_M_Vit`: 20965 +- `Temporal_M_Int`: 20966 +- `Temporal_M_Dex`: 20967 +- `Temporal_M_Luk`: 20968 - `Upg_Twohand_Sword`: 21000 - `Velum_Claymore`: 21001 - `Velum_Katzbalger`: 21002 @@ -17630,6 +18009,12 @@ - `Two_Handed_Sword_of_Vicious_Mind`: 21016 - `Lindy_Hop`: 21018 - `Onimaru`: 21019 +- `Rebeginer_RK_T_Sword`: 21037 +- `Oriental_Sword`: 21038 +- `Beam_Claymore_OS`: 21047 +- `Evt_Oriental_Sword`: 21049 +- `Taegoolyeon_IL`: 21050 +- `Ein_BHSWORD`: 21054 - `Temporal_Str_Boots`: 22000 - `Temporal_Int_Boots`: 22001 - `Temporal_Agi_Boots`: 22002 @@ -17670,6 +18055,18 @@ - `Private_Doram_Shoes`: 22083 - `Luxury_Doram_Shoes`: 22084 - `Elegant_Doram_Shoes`: 22085 +- `Shoes_IL`: 22133 +- `YSF01_Greave`: 22141 +- `True_Hunting_Boots`: 22168 +- `R_Hunting_Boots`: 22169 +- `ShoesOfGuardsman`: 22171 +- `Rebeginer_Boots`: 22173 +- `Boots_IL`: 22190 +- `Goibne_Boots_IL`: 22192 +- `Illusion_Leg_A`: 22196 +- `Illusion_Leg_B`: 22197 +- `Time_Overload_Boots`: 22204 +- `Dragon_Boots`: 22208 - `Para_Team_Mark_`: 22508 - `Candy_Holder`: 22514 - `Key_Of_Twisted_Time`: 22515 @@ -17683,6 +18080,12 @@ - `Chest_Of_Death`: 22679 - `Solo_Christmas_Gift`: 22685 - `Solo_Cookie`: 22686 +- `STR_Soul_Potion`: 22702 +- `AGI_Soul_Potion`: 22703 +- `VIT_Soul_Potion`: 22704 +- `INT_Soul_Potion`: 22705 +- `DEX_Soul_Potion`: 22706 +- `LUK_Soul_Potion`: 22707 - `Bullet_Case_Blood_`: 22737 - `Bullet_Case_Silver_`: 22738 - `Sphere_Case_Wind_`: 22739 @@ -17701,6 +18104,209 @@ - `Integer_Time`: 22837 - `Something_Candy_Holder`: 22838 - `Old_Money_Pocket`: 22876 +- `Fried_Chicken`: 23242 +- `Fried_Chicken_1`: 23243 +- `Elixir_Bandage`: 23256 +- `Dew_Of_Old_Tree`: 23257 +- `Foul_Rotten_Meat`: 23258 +- `St_Cupcake`: 23259 +- `Parfait`: 23260 +- `Macaron`: 23261 +- `Mado_Box`: 23277 +- `Costama_EggV01`: 23332 +- `Vend_Arbeit1_1Lv`: 23342 +- `Vend_Arbeit1_2Lv`: 23343 +- `Vend_Arbeit1_3Lv`: 23344 +- `Buy_Arbeit1_1Lv`: 23345 +- `Buy_Arbeit1_2Lv`: 23346 +- `Buy_Arbeit1_3Lv`: 23347 +- `Vend_Arbeit_1Lv`: 23348 +- `Vend_Arbeit_2Lv`: 23349 +- `Vend_Arbeit_3Lv`: 23350 +- `Buy_Arbeit_1Lv`: 23351 +- `Buy_Arbeit_2Lv`: 23352 +- `Buy_Arbeit_3Lv`: 23353 +- `Vend_Arbeit1_1Lv_`: 23354 +- `Vend_Arbeit1_2Lv_`: 23355 +- `Vend_Arbeit1_3Lv_`: 23356 +- `Buy_Arbeit1_1Lv_`: 23357 +- `Buy_Arbeit1_2Lv_`: 23358 +- `Buy_Arbeit1_3Lv_`: 23359 +- `Green_Scroll_K2`: 23405 +- `Shadow_Refine_Hammer`: 23436 +- `Sentimental_Scroll`: 23440 +- `July_Hair_Box`: 23444 +- `Savage_Trap`: 23446 +- `Infinity_Scroll`: 23473 +- `InfinityShadow_Mix`: 23474 +- `Infinity_Drink`: 23475 +- `Firstaid_Box_5`: 23484 +- `Firstaid_Box_10`: 23485 +- `Firstaid_Box_15`: 23486 +- `Firstaid_Box_20`: 23487 +- `Firstaid_Box_25`: 23488 +- `Firstaid_Box_30`: 23489 +- `Firstaid_Box_35`: 23490 +- `Firstaid_Box_40`: 23491 +- `Firstaid_Box_45`: 23492 +- `Firstaid_Box_50`: 23493 +- `Firstaid_Box_55`: 23494 +- `Firstaid_Box_60`: 23495 +- `Firstaid_Box_65`: 23496 +- `Firstaid_Box_70`: 23497 +- `Firstaid_Box_75`: 23498 +- `Firstaid_Box_80`: 23499 +- `Firstaid_Box_85`: 23500 +- `Firstaid_Box_90`: 23501 +- `Firstaid_Box_95`: 23502 +- `Red_Potion_B_20`: 23503 +- `Orange_Potion_B_20`: 23504 +- `Yellow_Potion_B_20`: 23505 +- `White_Potion_B_20`: 23506 +- `Vote_Rose`: 23533 +- `Bloody_Scroll`: 23537 +- `Silver_Statue`: 23545 +- `Cursed_Blood`: 23546 +- `Gold_Statue`: 23547 +- `Snow_Cookie`: 23549 +- `Winter_Cookie`: 23550 +- `Festi_Cookie`: 23551 +- `Flora_Cookie`: 23552 +- `Snow_Festa_CardPack`: 23554 +- `Adventurer_Box_1`: 23575 +- `Adventurer_Box_15`: 23576 +- `Adventurer_Box_30`: 23577 +- `Adventurer_Box_45`: 23578 +- `Adventurer_Box_60`: 23579 +- `Adventurer_Box_75`: 23580 +- `Adventurer_Box_90`: 23581 +- `E_Wing_Of_Fly_3Day_Box`: 23582 +- `Rebeginer_Box`: 23583 +- `Rebeginer_S_Box`: 23584 +- `Rebeginer_Box_100`: 23585 +- `Rebeginer_Box_110`: 23586 +- `Rebeginer_Box_120`: 23587 +- `2017_Special_Scroll`: 23618 +- `Ice_Scroll`: 23650 +- `2018_New_Year_Scroll`: 23661 +- `PhysicalMagical_Mix`: 23665 +- `ImmunedAthena_Mix`: 23666 +- `HardChamption_Mix`: 23667 +- `KingbirdAncient_Mix`: 23668 +- `CriticalHit_Mix`: 23669 +- `Geffen_Magic_Scroll`: 23675 +- `Gray_Charcoal_Melee`: 23676 +- `Gray_Charcoal_Magic`: 23677 +- `Gray_Charcoal_Range`: 23678 +- `Geffen_Magic_Scroll2`: 23679 +- `EVT_JAN02KR`: 23683 +- `Lunar_New_Year_Scroll`: 23700 +- `Reactor_Z`: 23706 +- `Reactor_Z_`: 23707 +- `2018_Spring_Scroll`: 23710 +- `Shadow_Random_Mix`: 23720 +- `Melon_Bread`: 23723 +- `Costama_EggV02`: 23765 +- `Mysterious_Plastic`: 23771 +- `EP17_1_SPC01`: 23772 +- `EP17_1_SPC02`: 23773 +- `EP17_1_SPC03`: 23774 +- `EP17_1_SPC04`: 23775 +- `EP17_1_SPC05`: 23776 +- `EP17_1_SPC06`: 23777 +- `EP17_1_SPC07`: 23778 +- `EP17_1_SPC08`: 23779 +- `EP17_1_SPC09`: 23780 +- `EP17_1_SPC10`: 23781 +- `Magma_Essence`: 23815 +- `Bs_Making_Scrolls`: 23817 +- `Bs_Item_M_S_2`: 23818 +- `Bs_Item_M_S_8`: 23819 +- `Bs_Item_M_S_10`: 23820 +- `Bs_Item_M_S_11`: 23821 +- `Bs_Item_M_S_34`: 23822 +- `Bs_Item_M_S_41`: 23823 +- `Bs_Item_M_S_42`: 23824 +- `Bs_Item_M_S_43`: 23825 +- `Bs_Item_M_S_44`: 23826 +- `Bs_Sha_M_S_1`: 23827 +- `Bs_Sha_M_S_17`: 23828 +- `Bs_Sha_M_S_18`: 23829 +- `Bs_Sha_M_S_19`: 23830 +- `Bs_Sha_M_S_20`: 23831 +- `Bs_Item_M_S_4`: 23832 +- `Bs_Item_M_S_6`: 23833 +- `Bs_Item_M_S_7`: 23834 +- `Bs_Item_M_S_12`: 23835 +- `Bs_Item_M_S_13`: 23836 +- `Bs_Item_M_S_15`: 23837 +- `Bs_Item_M_S_28`: 23838 +- `Bs_Item_M_S_29`: 23839 +- `Bs_Item_M_S_31`: 23840 +- `Bs_Item_M_S_32`: 23841 +- `Bs_Item_M_S_33`: 23842 +- `Bs_Item_M_S_36`: 23843 +- `Bs_Item_M_S_37`: 23844 +- `Bs_Item_M_S_38`: 23845 +- `Bs_Item_M_S_39`: 23846 +- `Bs_Item_M_S_40`: 23847 +- `Bs_Item_M_S_45`: 23848 +- `Bs_Item_M_S_46`: 23849 +- `Bs_Item_M_S_47`: 23850 +- `Bs_Item_M_S_48`: 23851 +- `Bs_Item_M_S_49`: 23852 +- `Bs_Item_M_S_50`: 23853 +- `Bs_Sha_M_S_2`: 23854 +- `Bs_Sha_M_S_5`: 23855 +- `Bs_Sha_M_S_6`: 23856 +- `Bs_Sha_M_S_7`: 23857 +- `Bs_Sha_M_S_8`: 23858 +- `Bs_Sha_M_S_13`: 23859 +- `Bs_Sha_M_S_15`: 23860 +- `Bs_Sha_M_S_16`: 23861 +- `Bs_Sha_M_S_23`: 23862 +- `Bs_Item_M_S_5`: 23863 +- `Bs_Item_M_S_9`: 23864 +- `Bs_Item_M_S_14`: 23865 +- `Bs_Item_M_S_16`: 23866 +- `Bs_Item_M_S_17`: 23867 +- `Bs_Item_M_S_19`: 23868 +- `Bs_Item_M_S_27`: 23869 +- `Bs_Item_M_S_35`: 23870 +- `Bs_Sha_M_S_9`: 23871 +- `Bs_Sha_M_S_10`: 23872 +- `Bs_Sha_M_S_11`: 23873 +- `Bs_Sha_M_S_21`: 23874 +- `Bs_Sha_M_S_22`: 23875 +- `Bs_Item_M_S_1`: 23876 +- `Bs_Item_M_S_3`: 23877 +- `StarSoul_Scroll`: 23878 +- `Bs_Item_M_S_18`: 23879 +- `Bs_Item_M_S_20`: 23880 +- `Bs_Item_M_S_21`: 23881 +- `Bs_Item_M_S_22`: 23882 +- `Bs_Item_M_S_23`: 23883 +- `Bs_Item_M_S_24`: 23884 +- `Bs_Item_M_S_25`: 23885 +- `Bs_Item_M_S_26`: 23886 +- `Bs_Item_M_S_30`: 23887 +- `Bs_Sha_M_S_3`: 23888 +- `Bs_Sha_M_S_4`: 23889 +- `Bs_Sha_M_S_12`: 23890 +- `Bs_Sha_M_S_14`: 23891 +- `Bs_Sha_M_S_24`: 23892 +- `Bs_Sha_M_S_25`: 23893 +- `Bs_Item_M_S_51`: 23894 +- `2018_Jump_Thx_Box`: 23897 +- `Comp_Power_Booster`: 23898 +- `Comp_Almighty`: 23899 +- `Time_Overload_Box`: 23900 +- `110LVUP`: 23901 +- `Season_Evt_Reward`: 23921 +- `Shadow_9_Refine_Hammer`: 23926 +- `Malang_Cat_Can2`: 23962 +- `EnchantStone_Recipe_9m`: 23967 +- `Abyss_Ddbox`: 23981 - `T1_Shadow_Armor`: 24000 - `T1_Shadow_Weapon`: 24001 - `T1_Shadow_Shield`: 24002 @@ -17947,7 +18553,367 @@ - `S_Reload_Shoes`: 24243 - `S_Reload_Shield`: 24244 - `S_Reload_Armor`: 24245 +- `Sentimental_Weapone_S`: 24380 +- `Sentimental_Earring_S`: 24381 +- `Sentimental_Pendant_S`: 24382 +- `Enchanting_Weapone_S`: 24383 +- `Enchanting_Earring_S`: 24384 +- `Enchanting_Pendant_S`: 24385 +- `S_Infinity_Weapon`: 24386 +- `Rebeginer_Armor_S`: 24387 +- `Rebeginer_Shield_S`: 24388 +- `Rebeginer_Shoes_S`: 24389 +- `Rebeginer_Weapon_S`: 24390 +- `Rebeginer_Earring_S`: 24391 +- `Rebeginer_Pendant_S`: 24392 +- `S_Physical_Shoes`: 24393 +- `S_Physical_Shield`: 24394 +- `S_Physical_Armor`: 24395 +- `S_Magical_Shoes`: 24396 +- `S_Magical_Shield`: 24397 +- `S_Magical_Armor`: 24398 +- `S_ImmunedAthena_Shield`: 24399 +- `S_HardChamption_Shoes`: 24400 +- `S_KingbirdAncient_Armor`: 24401 +- `S_Rebellion_Armor`: 24402 +- `S_Kagerou_Armor`: 24403 +- `S_Oboro_Armor`: 24404 +- `S_Rebellion_Shoes`: 24405 +- `S_Kagerou_Shoes`: 24406 +- `S_Oboro_Shoes`: 24407 +- `S_DoramPhysical_Armor`: 24408 +- `S_DoramPhysical_Shoes`: 24409 +- `S_DoramMagical_Armor`: 24410 +- `S_DoramMagical_Shoes`: 24411 +- `S_Star_Emperor_Armor`: 24412 +- `S_Star_Emperor_Shoes`: 24413 +- `S_Soul_Reaper_Armor`: 24414 +- `S_Soul_Reaper_Shoes`: 24415 +- `S_Timeoverload_Weapon`: 24416 +- `S_Timeoverload_Armor`: 24417 +- `S_Timeoverload_Shield`: 24418 +- `S_Timeoverload_Shoes`: 24419 +- `S_Timeoverload_Earing`: 24420 +- `S_Timeoverload_Pandent`: 24421 +- `S_Tempest_Weapon`: 24423 +- `S_Tempest_Armor`: 24424 +- `S_PerfectSize_Weapon`: 24425 +- `S_PerfectSize_Armor`: 24426 +- `S_M_Exo_Co_Weapon`: 24427 +- `S_M_Viv_Dr_Weapon`: 24428 +- `S_M_Sci_Hu_Weapon`: 24429 +- `S_M_Fis_In_Weapon`: 24430 +- `S_M_Exe_Ho_Weapon`: 24431 +- `S_Penetration_Weapon`: 24432 +- `S_Penetration_Armor`: 24433 +- `S_Exe_Ho_Weapon`: 24434 +- `S_Fis_In_Weapon`: 24435 +- `S_Sci_Hu_Weapon`: 24436 +- `S_Viv_Dr_Weapon`: 24437 +- `S_Exo_Co_Weapon`: 24438 +- `S_Hasty_Weapon`: 24439 +- `S_Sonic_Armor`: 24440 +- `S_Sonic_Shield`: 24441 +- `S_Sonic_Shoes`: 24442 +- `S_Ignition_Weapon`: 24443 +- `S_Ignition_Pendant`: 24444 +- `S_Ignition_Earing`: 24445 +- `S_W_Breath_Armor`: 24446 +- `S_W_Breath_Shield`: 24447 +- `S_W_Breath_Shoes`: 24448 +- `S_F_Breath_Weapon`: 24449 +- `S_F_Breath_Pendant`: 24450 +- `S_F_Breath_Earing`: 24451 +- `S_Cluster_Armor`: 24452 +- `S_Cluster_Shield`: 24453 +- `S_Cluster_Shoes`: 24454 +- `S_Aimed_Weapon`: 24455 +- `S_Aimed_Pendant`: 24456 +- `S_Aimed_Earing`: 24457 +- `S_Arrow_Armor`: 24458 +- `S_Arrow_Shield`: 24459 +- `S_Arrow_Shoes`: 24460 +- `S_Shooting_Weapon`: 24461 +- `S_Shooting_Pendant`: 24462 +- `S_Shooting_Earing`: 24463 +- `S_Tornado_Armor`: 24464 +- `S_Tornado_Shield`: 24465 +- `S_Tornado_Shoes`: 24466 +- `S_Boomerang_Weapon`: 24467 +- `S_Boomerang_Pendant`: 24468 +- `S_Boomerang_Earing`: 24469 +- `S_Vulcan_Armor`: 24470 +- `S_Vulcan_Shield`: 24471 +- `S_Vulcan_Shoes`: 24472 +- `S_Arms_Weapon`: 24473 +- `S_Arms_Pendant`: 24474 +- `S_Arms_Earing`: 24475 +- `S_Rampage_Armor`: 24476 +- `S_Rampage_Shield`: 24477 +- `S_Rampage_Shoes`: 24478 +- `S_Skynetblow_Weapon`: 24479 +- `S_Skynetblow_Pendant`: 24480 +- `S_Skynetblow_Earing`: 24481 +- `S_Knucklearrow_Armor`: 24482 +- `S_Knucklearrow_Shield`: 24483 +- `S_Knucklearrow_Shoes`: 24484 +- `S_TigerCannon_Weapon`: 24485 +- `S_Tigercannon_Pendant`: 24486 +- `S_Tigercannon_Earing`: 24487 +- `S_Duplelight_Armor`: 24488 +- `S_Duplelight_Shield`: 24489 +- `S_Duplelight_Shoes`: 24490 +- `S_Adoramus_Weapon`: 24491 +- `S_Adoramus_Pendant`: 24492 +- `S_Adoramus_Earing`: 24493 +- `S_Judex_Armor`: 24494 +- `S_Judex_Shield`: 24495 +- `S_Judex_Shoes`: 24496 +- `S_Magnus_Weapon`: 24497 +- `S_Magnus_Pendant`: 24498 +- `S_Magnus_Earing`: 24499 +- `S_Rainstorm_Armor`: 24500 +- `S_Rainstorm_Shield`: 24501 +- `S_Rainstorm_Shoes`: 24502 +- `S_Arrowvulcan_Weapon`: 24503 +- `S_Arrowvulcan_Pendant`: 24504 +- `S_Arrowvulcan_Earing`: 24505 +- `S_Metalic_Armor`: 24506 +- `S_Metalic_Shield`: 24507 +- `S_Metalic_Shoes`: 24508 +- `S_Reverberation_Weapon`: 24509 +- `S_Reverberation_Pendant`: 24510 +- `S_Reverberation_Earing`: 24511 +- `S_Jack_Armor`: 24512 +- `S_Jack_Shield`: 24513 +- `S_Jack_Shoes`: 24514 +- `S_Strain_Weapon`: 24515 +- `S_Strain_Pendant`: 24516 +- `S_Strain_Earing`: 24517 +- `S_Crimson_Armor`: 24518 +- `S_Crimson_Shield`: 24519 +- `S_Crimson_Shoes`: 24520 +- `S_Chain_Weapon`: 24521 +- `S_Chain_Pendant`: 24522 +- `S_Chain_Earing`: 24523 +- `S_Triangle_Armor`: 24524 +- `S_Triangle_Shield`: 24525 +- `S_Triangle_Shoes`: 24526 +- `S_Shadowspell_Weapon`: 24527 +- `S_Shadowspell_Pendant`: 24528 +- `S_Shadowspell_Earing`: 24529 +- `S_Menace_Armor`: 24530 +- `S_Menace_Shield`: 24531 +- `S_Menace_Shoes`: 24532 +- `S_Paint_Weapon`: 24533 +- `S_Paint_Pendant`: 24534 +- `S_Paint_Earing`: 24535 +- `S_Rolling_Armor`: 24536 +- `S_Rolling_Shield`: 24537 +- `S_Rolling_Shoes`: 24538 +- `S_Katar_Weapon`: 24539 +- `S_Katar_Pendant`: 24540 +- `S_Katar_Earing`: 24541 +- `S_Slash_Armor`: 24542 +- `S_Slash_Shield`: 24543 +- `S_Slash_Shoes`: 24544 +- `S_Ripper_Weapon`: 24545 +- `S_Ripper_Pendant`: 24546 +- `S_Ripper_Earing`: 24547 +- `S_Dust_Armor`: 24548 +- `S_Dust_Shield`: 24549 +- `S_Dust_Shoes`: 24550 +- `S_Grave_Weapon`: 24551 +- `S_Grave_Pendant`: 24552 +- `S_Grave_Earing`: 24553 +- `S_Psychic_Armor`: 24554 +- `S_Psychic_Shield`: 24555 +- `S_Psychic_Shoes`: 24556 +- `S_Varetyr_Weapon`: 24557 +- `S_Varetyr_Pendant`: 24558 +- `S_Varetyr_Earing`: 24559 +- `S_Cart_Tornado_Armor`: 24560 +- `S_Cart_Tornado_Shield`: 24561 +- `S_Cart_Tornado_Shoes`: 24562 +- `S_Cannon_Cart_Weapon`: 24563 +- `S_Cannon_Cart_Pendant`: 24564 +- `S_Cannon_Cart_Earing`: 24565 +- `S_Spore_Bomb_Armor`: 24566 +- `S_Spore_Bomb_Shield`: 24567 +- `S_Spore_Bomb_Shoes`: 24568 +- `S_Crazy_Weapon`: 24569 +- `S_Crazy_Pendant`: 24570 +- `S_Crazy_Earing`: 24571 +- `S_Brand_Armor`: 24572 +- `S_Brand_Shield`: 24573 +- `S_Brand_Shoes`: 24574 +- `S_Chain_Press_Weapon`: 24575 +- `S_Chain_Press_Pendant`: 24576 +- `S_Chain_Press_Earing`: 24577 +- `S_Banish_Cannon_Armor`: 24578 +- `S_Banish_Cannon_Shield`: 24579 +- `S_Banish_Cannon_Shoes`: 24580 +- `S_Genesis_Weapon`: 24581 +- `S_Genesis_Pendant`: 24582 +- `S_Genesis_Earing`: 24583 +- `BrokenArrow`: 25258 +- `Shining_Spore`: 25265 +- `Dried_Leaf_Of_Ygg`: 25266 +- `IllusionStone`: 25271 +- `Sweets_Coin`: 25290 +- `Clover_Ticket`: 25294 +- `Happiness_Clover`: 25295 +- `Golden_Corn`: 25340 +- `Mightysoul_Essence`: 25375 +- `Captured_Savage`: 25390 +- `Goodly_Bough`: 25391 +- `Free_Pass_Ticket`: 25392 +- `Delicious_Corn`: 25393 +- `Fruit_Lunch`: 25394 +- `Small_Embers`: 25395 +- `Black_Fur`: 25401 +- `Memory_Of_Gyol`: 25408 +- `SuraStone_Top`: 25409 +- `SuraStone_Middle`: 25410 +- `SuraStone_Bottom`: 25411 +- `SuraStone_Robe`: 25412 +- `RangerStone_Top`: 25413 +- `RangerStone_Middle`: 25414 +- `RangerStone_Bottom`: 25415 +- `RangerStone_Robe`: 25416 +- `SorcererStone_Top`: 25417 +- `SorcererStone_Middle`: 25418 +- `SorcererStone_Bottom`: 25419 +- `SorcererStone_Robe`: 25420 +- `Pumpkin_Decor`: 25421 +- `White_Thin_Stem`: 25422 +- `SnowFlower_Of_Spell`: 25425 +- `Warm_Cotton`: 25426 +- `Rebeginer_W_Coupon`: 25427 +- `Rebeginer_W_7Up`: 25428 +- `RuneknightStone_Top`: 25445 +- `RuneknightStone_Middle`: 25446 +- `RuneknightStone_Bottom`: 25447 +- `RuneknightStone_Robe`: 25448 +- `GeneticStone_Robe`: 25449 +- `GeneticStone_Top`: 25450 +- `GeneticStone_Middle`: 25451 +- `GeneticStone_Bottom`: 25452 +- `WarlockStone_Top`: 25453 +- `WarlockStone_Middle`: 25454 +- `WarlockStone_Bottom`: 25455 +- `WarlockStone_Robe`: 25456 +- `World_Tour_Ticket`: 25464 +- `Dogly_Bottle`: 25479 +- `ShadowchaserStone_Top`: 25490 +- `ShadowchaseStone_Middle`: 25491 +- `ShadowchaseStone_Bottom`: 25492 +- `ShadowchaserStone_Robe`: 25493 +- `MechanicStone_Top`: 25494 +- `MechanicStone_Middle`: 25495 +- `MechanicStone_Bottom`: 25496 +- `MechanicStone_Robe`: 25497 +- `WanderMinstrelStone_Top`: 25498 +- `WanderMinstStone_Middle`: 25499 +- `WanderMinstStone_Bottom`: 25500 +- `WanderMinstreStone_Robe`: 25501 +- `Visionary_Ticket`: 25504 +- `Token_of_OrcGeneral`: 25508 +- `Evt_March04_KR`: 25511 +- `Evt_March05_KR`: 25512 +- `Green_Bearopy`: 25616 +- `White_Snake_Tear`: 25622 +- `Gold_Card`: 25627 +- `Konts_Letter`: 25629 +- `Token_Of_Wootan`: 25633 +- `Wootan_D_S_Piece`: 25634 +- `Token_Of_Bigstone`: 25638 +- `Fragment_Of_Rock`: 25639 +- `Autographed_Book`: 25643 +- `Dalcom_Coin`: 25655 +- `Stamp_Note`: 25656 +- `Evt_July01_KR`: 25657 +- `Evt_July02_KR`: 25658 +- `Evt_May02_KR`: 25659 +- `Evt_July03_KR`: 25664 +- `Dienes_Envelope`: 25665 +- `Id_Card`: 25666 +- `Broken_Weapon`: 25668 +- `Unknown_Parts`: 25669 +- `HighpriestStone_Top`: 25706 +- `HighpriestStone_Middle`: 25707 +- `HighpriestStone_Bottom`: 25708 +- `ArchbishopStone_Robe`: 25709 +- `PaladinStone_Top`: 25710 +- `PaladinStone_Middle`: 25711 +- `PaladinStone_Bottom`: 25712 +- `RoyalguardStone_Robe`: 25713 +- `AssacrossStone_Top`: 25714 +- `AssacrossStone_Middle`: 25715 +- `AssacrossStone_Bottom`: 25716 +- `GuillcrossStone_Robe`: 25717 +- `Cor_Core`: 25723 +- `Shadowdecon_Ore`: 25728 +- `Shadowdecon`: 25729 +- `Zelunium_Ore`: 25730 +- `Zelunium`: 25731 +- `Sealed_Weapon_Ticket`: 25734 +- `Unsealing_Token`: 25735 +- `GH_Cursed_Crystal`: 25739 +- `GH_Cursed_Gemstone`: 25740 +- `Inventory_Extension_Coupon`: 25793 +- `SuraStone_Robe2`: 25797 +- `SuraStone_Bottom2`: 25798 +- `SuraStone_Middle2`: 25799 +- `SuraStone_Top2`: 25800 +- `SorcererStone_Robe2`: 25801 +- `SorcererStone_Bottom2`: 25802 +- `SorcererStone_Middle2`: 25803 +- `SorcererStone_Top2`: 25804 +- `ShadowchaserStone_Robe2`: 25805 +- `ShadowchasStone_Bottom2`: 25806 +- `ShadowchasStone_Middle2`: 25807 +- `ShadowchaserStone_Top2`: 25808 +- `Ein_SOLIDDUST`: 25815 +- `Ein_RUSTHELM`: 25816 +- `Ein_EYEROCK`: 25817 +- `SoulreaperStone_Robe`: 25842 +- `SoullinkerStone_Top`: 25843 +- `SoullinkerStone_Middle`: 25844 +- `SoullinkerStone_Bottom`: 25845 +- `GladiatorStone_Top`: 25846 +- `GladiatorStone_Middle`: 25847 +- `GladiatorStone_Bottom`: 25848 +- `StaremperorStone_Robe`: 25849 +- `NinjaStone_Top`: 25850 +- `NinjaStone_Middle`: 25851 +- `NinjaStone_Bottom`: 25852 +- `KagerouStone_Robe`: 25853 +- `OboroStone_Robe`: 25854 +- `GunslingerStone_Top`: 25855 +- `GunslingerStone_Middle`: 25856 +- `GunslingerStone_Bottom`: 25857 +- `RebellionStone_Robe`: 25858 +- `DoramStone_Top`: 25859 +- `DoramStone_Middle`: 25860 +- `DoramStone_Bottom`: 25861 +- `DoramStone_Robe`: 25862 +- `Spectral_Spear_IL`: 26007 +- `Rebeginer_LG_Lance`: 26015 - `Paradise_Foxtail_Staff_III`: 26101 +- `Staff_Of_Bordeaux_IL`: 26109 +- `CandyCaneRod`: 26110 +- `Metal_Foxtail`: 26111 +- `Shadow_Staff_K`: 26118 +- `Rebeginer_SO_Rod`: 26119 +- `Rebeginer_DO_Rod`: 26120 +- `Rutilus_Stick_OS`: 26151 +- `SoulWeight`: 26154 +- `MeawFoxtail`: 26155 +- `Evt_Shadow_Staff_K`: 26156 +- `Ein_1HWAND`: 26162 +- `ElectricFox_OS`: 26164 +- `Ein_1HWHIP`: 26215 - `Faceworm_Queen_Card`: 27164 - `Captain_Felock_Card`: 27182 - `Thanos_Katar`: 28000 @@ -17956,16 +18922,38 @@ - `Scarlet_Katar`: 28007 - `Katar_of_Vicious_Mind`: 28008 - `Juliette_de_Rachel`: 28010 +- `Infiltrator_IL`: 28022 +- `Ghoul_Leg_IL`: 28023 +- `Rebeginer_GC_Katar`: 28027 +- `Meuchler_OS`: 28038 +- `Shiver_Katar_K`: 28039 +- `Evt_Shiver_Katar_K`: 28040 +- `Ein_BHKATAR`: 28045 - `Thanos_Axe`: 28100 - `Tornado_Axe`: 28101 - `Infinity_Two_handed_Axe`: 28105 - `Scarlet_Twohand_Axe`: 28106 - `Two_Handed_Axe_of_Vicious_Mind`: 28107 +- `Avenger`: 28130 +- `Blasti_OS`: 28136 +- `Evt_Avenger`: 28137 +- `Ein_BHAXE`: 28140 - `END_OF_HORIZON`: 28200 - `Southern_Cross_R`: 28201 - `Southern_Cross_R_`: 28202 - `Half_BF_Rifle1`: 28203 - `Half_BF_Shotgun1`: 28204 +- `Calf_Kingcobra`: 28240 +- `Calf_Diamondback`: 28241 +- `Calf_Anaconda`: 28242 +- `Calf_Python`: 28243 +- `Gate_KeeperDD_IL`: 28244 +- `HR_S55_OS`: 28253 +- `Butcher_IL`: 28254 +- `Master_Soul_Rifle`: 28255 +- `Demon_S_Shot`: 28256 +- `Golden_L_Launcher`: 28257 +- `The_Black_Gatling`: 28258 - `Bless_Of_Moon`: 28306 - `Earring_Of_Sarah_L`: 28310 - `Earring_Of_Sarah_R`: 28311 @@ -17997,15 +18985,44 @@ - `Shiny_Branch_Talisman`: 28422 - `Fresh_Tuna_Talisman`: 28423 - `Chubby_Worm_Talisman`: 28424 +- `Skul_Ring_IL`: 28508 +- `Ring_IL`: 28509 +- `Vampire_s_Servant`: 28510 +- `RKC_2017_Pendant`: 28534 +- `RKC_2017_Ring`: 28535 +- `Rebeginer_Ring`: 28566 - `Scarlet_Bible`: 28604 - `Book_of_Vicious_Mind`: 28605 +- `Book_Of_The_Apo_IL`: 28612 +- `Rebeginer_AB_Bible`: 28616 +- `Tablet_IL`: 28626 +- `Circuit_Board_OS`: 28629 +- `Demon_Hunting_Bible_K`: 28630 +- `Time_Kamiji`: 28631 +- `Ein_1HBOOK`: 28635 - `Infinity_Dagger`: 28703 - `Twilight_Desert_`: 28704 - `Scarlet_Dagger`: 28705 - `Dagger_of_Vicious_Mind`: 28706 +- `Moonlight_Sword_IL`: 28725 +- `Rebeginer_SC_Dagger`: 28740 +- `Magic_Sword`: 28744 +- `Counter_Dagger_IL`: 28745 +- `Kuroiro_OS`: 28755 +- `Evt_Magic_Sword`: 28759 +- `Bazerald_IL`: 28762 +- `Sharp_Wind_Sword`: 28763 +- `Fog_Dew_Sword`: 28764 +- `Ein_1HDAGGER`: 28771 +- `Ein_1HMAGGER`: 28772 - `Praetorian_Shield`: 28900 - `Cursed_Mad_Bunny`: 28901 - `Mad_Bunny_`: 28902 +- `Herald_Of_GOD_IL`: 28922 +- `Bloody_Knight_Shield`: 28942 +- `Bloody_Knight_Shield_`: 28945 +- `Bloody_Knight_Shield__`: 28946 +- `Poring_B_Shield`: 28953 - `Rune_Of_Magic1`: 29000 - `Rune_Of_Magic2`: 29001 - `Rune_Of_Magic3`: 29002 @@ -18033,6 +19050,324 @@ - `LUK3_INT3`: 29025 - `DEF20`: 29026 - `EXP2`: 29027 +- `Deep_Black_Pearl`: 29540 +- `Sea_Sapphire`: 29547 +- `Red_Fog_Garnet`: 29548 +- `Lightning_Topaz`: 29549 +- `Poisoned_Amethyst`: 29550 +- `Frost_Zircon`: 29551 +- `Deep_Black_Pearl_`: 29552 +- `Lightning_Topaz_`: 29587 +- `Bloody_Ruby`: 29588 +- `GH_Cursed_Gemstone_`: 29589 +- `GH_Cursed_Crystal_`: 29590 +- `Cursed_Emerald`: 29591 +- `Shinee_Opal`: 29592 +- `Roast_Memory`: 31172 +- `C_Black_Cat`: 31186 +- `Choco_Minihat`: 31195 +- `Egg_Crispinette_`: 31197 +- `Straight_Long_YL`: 31208 +- `Straight_Long_WH`: 31209 +- `Rabbit_Hopping`: 31249 +- `Soda_In_Mouth_`: 31261 +- `Warm_Cat_Muffler`: 31300 +- `C_FallenAngelWingEar`: 31313 +- `C_Ghost_Holiday`: 31314 +- `C_FlutterButterfly_BL`: 31316 +- `C_Alice_Wig`: 31329 +- `C_Khalitzburg_Helm_BL`: 31332 +- `Harvest_Festa_Hat`: 31368 +- `Straight_Long_WH_`: 31369 +- `Straight_Long_YL_`: 31370 +- `C_Cat_Ears_Punkish`: 31382 +- `Jjakk`: 31387 +- `White_Bird_Rose`: 31389 +- `Let_It_Snow`: 31390 +- `C_Sorcerer_Hood`: 31396 +- `C_Pope_Sitting_Head`: 31397 +- `C_Blinking_Thin_Eyes`: 31398 +- `Alice_Wig_PK`: 31407 +- `C_Wanderer_Sakkat`: 31415 +- `C_Luwmin_Ice`: 31432 +- `C_Astro_Circle`: 31433 +- `C_Baby_Penguin`: 31437 +- `C_Fluffy_Heart_Earmuffs`: 31439 +- `C_Snow_Bear_Food`: 31440 +- `White_Cat`: 31452 +- `Love_Feeling`: 31454 +- `Enchanted_Dog`: 31455 +- `C_Blessing_Sky_Lantern`: 31460 +- `C_Flying_Drone`: 31463 +- `Egg_Minihat`: 31465 +- `C_CatCoffeeCup_TW`: 31481 +- `C_CatEarRibbon_TW`: 31483 +- `C_Bouquet_Hat`: 31489 +- `C_Poring_Muffler`: 31490 +- `Volume_Low_Twin`: 31494 +- `Lolita_Two_Side_Up`: 31495 +- `C_Elephangel_TH`: 31498 +- `C_Panda_Rabbit`: 31512 +- `Mini_Melon`: 31516 +- `Pop_Popcorn_Hat_`: 31518 +- `Slurp_Slurp_Hat`: 31519 +- `C_Happy_Rabbit_Ribbon`: 31529 +- `C_Princess_Ribbon_Crown`: 31565 +- `C_OpenAir_Headset`: 31569 +- `C_Mobile_Pursuit_System`: 31572 +- `C_Mecha_Cat_Ears`: 31573 +- `C_Cyber_Income`: 31574 +- `Autumnal_Flavor`: 31580 +- `C_Poporing_Muffler`: 31586 +- `GOLD_MAJESTIC_GOUT`: 31589 +- `C_Kishu_Inu`: 31600 +- `C_Autumn_Headband`: 31606 +- `C_Fox`: 31614 +- `C_Sleep_Sheep_TW`: 31616 +- `C_HeartOfCat_TW`: 31624 +- `C_Protect_Cloth`: 31625 +- `C_LunaticMuffler`: 31693 +- `C_Pigtail_Red_Hood`: 31698 +- `C_Smiling_Eyes`: 31699 +- `C_Garnet_Tiara`: 31765 +- `C_Peony_Hair_Ornament`: 31766 +- `C_SavageB_On_Shoulder`: 31787 +- `C_Baby_Panda`: 31798 +- `Pole_Axe_IL`: 32005 +- `Metal_Stick`: 32013 +- `Undine_Spear_K`: 32018 +- `Boost_Lance_OS`: 32019 +- `Evt_Undine_Spear_K`: 32021 +- `Ein_1HSPEAR`: 32026 +- `Ein_1HLUTE`: 32110 +- `Illusion_B_R`: 32207 +- `Illusion_B_L`: 32208 +- `Illusion_BC_R`: 32209 +- `Illusion_BC_L`: 32210 +- `Time_Overload_Ring`: 32221 +- `Celine_Brooch`: 32237 +- `Gold_Lux_IL`: 32301 +- `Crimson_Rose`: 32302 +- `Ein_1HGUN`: 32303 +- `Ein_1HSWORD`: 32352 +- `Atker_Plate`: 450001 +- `Ele_Robe`: 450002 +- `Atker_Manteau`: 480000 +- `Defn_Robe`: 450003 +- `Ele_Muffler`: 480001 +- `Ran_Suits`: 450004 +- `Defn_Muffler`: 480002 +- `Ran_Manteau`: 480003 +- `Boost_Dagger`: 510001 +- `Boost_Nindo`: 510002 +- `Boost_Spl_Book`: 540000 +- `Boost_Text`: 540001 +- `Boost_Guitar`: 570000 +- `Fatalist`: 510006 +- `Trumpet_Shell_K`: 570002 +- `Boost_TH_Sword`: 600001 +- `Noblesse_Attack_Manteau`: 480012 +- `Dragonic_Slayer`: 600004 +- `Noblesse_Magic_Manteau`: 480014 +- `Noblesse_Breath_Armor`: 450018 +- `Imperial_Attack_Manteau`: 480016 +- `Noblesse_Knight_Armor`: 450019 +- `Imperial_Magic_Manteau`: 480017 +- `Noblesse_Spear_Armor`: 450020 +- `Grace_Attack_Manteau`: 480018 +- `Noblesse_Genesis_Armor`: 450021 +- `Grace_Magic_Manteau`: 480019 +- `Noblesse_Sharp_Suit`: 450022 +- `Noblesse_Aim_Suit`: 450023 +- `Noblesse_Severe_Suit`: 450024 +- `Noblesse_Reverb_Suit`: 450025 +- `Noblesse_Adora_Robe`: 450026 +- `Noblesse_Duple_Robe`: 450027 +- `Noblesse_Tonado_Armor`: 450028 +- `Noblesse_Vulcan_Armor`: 450029 +- `Noblesse_Kart_Suit`: 450030 +- `Noblesse_Kart_Suit2`: 450031 +- `Noblesse_Rolling_Suit`: 450032 +- `Noblesse_Assasin_Suit`: 450033 +- `Noblesse_Fatal_Suit`: 450034 +- `Noblesse_Stalker_Suit`: 450035 +- `Noblesse_Picky_Robe`: 450036 +- `Noblesse_Carrot_Robe`: 450037 +- `Noblesse_Trip_Suit`: 450038 +- `Noblesse_Firerain_Suit`: 450039 +- `Noblesse_Crimson_Robe`: 450040 +- `Noblesse_Frost_Robe`: 450041 +- `Noblesse_Psychic_Robe`: 450042 +- `Noblesse_Dust_Robe`: 450043 +- `Noblesse_Sun_Suit`: 450044 +- `Noblesse_Moon_Suit`: 450045 +- `Noblesse_Ninja_Suit`: 450046 +- `Noblesse_Kunai_Suit`: 450047 +- `Noblesse_Swhoo_Robe`: 450048 +- `Noblesse_Explosion_Robe`: 450049 +- `Noblesse_Knuckle_Suit`: 450050 +- `Noblesse_Tiger_Suit`: 450051 +- `Imperial_Breath_Armor`: 450052 +- `Imperial_Knight_Armor`: 450053 +- `Imperial_Spear_Armor`: 450054 +- `Imperial_Genesis_Armor`: 450055 +- `Imperial_Sharp_Suit`: 450056 +- `Imperial_Aim_Suit`: 450057 +- `Imperial_Severe_Suit`: 450058 +- `Imperial_Reverb_Suit`: 450059 +- `Imperial_Adora_Robe`: 450060 +- `Imperial_Duple_Robe`: 450061 +- `WarlockStone_Robe2`: 1000213 +- `Imperial_Knuckle_Suit`: 450062 +- `WarlockStone_Top2`: 1000214 +- `Imperial_Tiger_Suit`: 450063 +- `WarlockStone_Middle2`: 1000215 +- `Imperial_Tonado_Armor`: 450064 +- `WarlockStone_Bottom2`: 1000216 +- `Imperial_Vulcan_Armor`: 450065 +- `RoyalguardStone_Robe2`: 1000217 +- `Imperial_Kart_Suit`: 450066 +- `PaladinStone_Top2`: 1000218 +- `Imperial_Kart_Suit2`: 450067 +- `PaladinStone_Middle2`: 1000219 +- `Imperial_Rolling_Suit`: 450068 +- `PaladinStone_Bottom2`: 1000220 +- `Imperial_Assasin_Suit`: 450069 +- `GuillcrossStone_Robe2`: 1000221 +- `Imperial_Fatal_Suit`: 450070 +- `AssacrossStone_Top2`: 1000222 +- `IDTest_Special`: 100000 +- `Imperial_Stalker_Suit`: 450071 +- `AssacrossStone_Middle2`: 1000223 +- `Imperial_Picky_Robe`: 450072 +- `AssacrossStone_Bottom2`: 1000224 +- `Imperial_Carrot_Robe`: 450073 +- `ILL_Piece_A`: 100003 +- `Imperial_Trip_Suit`: 450074 +- `ILL_Piece_B`: 100004 +- `Imperial_Firerain_Suit`: 450075 +- `Imperial_Crimson_Robe`: 450076 +- `Imperial_Frost_Robe`: 450077 +- `Imperial_Psychic_Robe`: 450078 +- `Imperial_Dust_Robe`: 450079 +- `Joy_Of_Victory`: 100009 +- `Imperial_Sun_Suit`: 450080 +- `PerfectSize_Mix`: 100010 +- `Imperial_Moon_Suit`: 450081 +- `MagicPiercing_Mix`: 100011 +- `Imperial_Ninja_Suit`: 450082 +- `Imperial_Kunai_Suit`: 450083 +- `Imperial_Swhoo_Robe`: 450084 +- `Imperial_Explosion_Robe`: 450085 +- `Grace_Breath_Armor`: 450086 +- `Grace_Knight_Armor`: 450087 +- `Grace_Spear_Armor`: 450088 +- `Grace_Genesis_Armor`: 450089 +- `Grace_Sharp_Suit`: 450090 +- `Grace_Aim_Suit`: 450091 +- `Grace_Severe_Suit`: 450092 +- `Victory_Wing_Ear_`: 400002 +- `Grace_Reverb_Suit`: 450093 +- `Ancient_Hero_Bravery`: 100023 +- `Grace_Adora_Robe`: 450094 +- `Grace_Duple_Robe`: 450095 +- `Ancient_Hero_Wisdom`: 100025 +- `Grace_Knuckle_Suit`: 450096 +- `Grace_Tiger_Suit`: 450097 +- `Grace_Tonado_Armor`: 450098 +- `Grace_Vulcan_Armor`: 450099 +- `Boost_Axe`: 520000 +- `Grace_Kart_Suit`: 450100 +- `Grace_Kart_Suit2`: 450101 +- `Grace_Rolling_Suit`: 450102 +- `Boost_Soul_Rod`: 550001 +- `Grace_Assasin_Suit`: 450103 +- `Boost_Foxtail`: 550002 +- `Boost_Whip`: 580000 +- `Grace_Fatal_Suit`: 450104 +- `Grace_Stalker_Suit`: 450105 +- `Barb_Wire_K`: 580002 +- `Boost_Katar`: 610000 +- `Grace_Picky_Robe`: 450106 +- `Grace_Carrot_Robe`: 450107 +- `Ein_1H_Foxtail`: 550006 +- `Boost_Staff`: 640000 +- `Grace_Trip_Suit`: 450108 +- `Freezing_Rod`: 550007 +- `Blade_Katar`: 610003 +- `Grace_Firerain_Suit`: 450109 +- `Grace_Crimson_Robe`: 450110 +- `C_BeachBall`: 400020 +- `Grace_Frost_Robe`: 450111 +- `Blue_Crystal_Staff`: 640004 +- `Grace_Psychic_Robe`: 450112 +- `Boost_Bow`: 700001 +- `Grace_Dust_Robe`: 450113 +- `Boost_Up_1`: 100043 +- `Grace_Sun_Suit`: 450114 +- `Scalet_Dragon_L_Bow`: 700003 +- `Boost_Up_2`: 100044 +- `Grace_Moon_Suit`: 450115 +- `Grace_Ninja_Suit`: 450116 +- `Grace_Kunai_Suit`: 450117 +- `Grace_Swhoo_Robe`: 450118 +- `Grace_Explosion_Robe`: 450119 +- `Noblesse_Snovice_Suit`: 450121 +- `Noblesse_Snovice_Robe`: 450122 +- `Imperial_Snovice_Suit`: 450123 +- `Piercing_Mix`: 100053 +- `Imperial_Snovice_Robe`: 450124 +- `Grace_Snovice_Suit`: 450125 +- `Grace_Snovice_Robe`: 450126 +- `Hasty_Mix`: 100058 +- `EnchantStone_Recipe_4m`: 100060 +- `RangerStone_Top2`: 1000008 +- `RangerStone_Middle2`: 1000009 +- `RangerStone_Bottom2`: 1000010 +- `RangerStone_Robe2`: 1000011 +- `MechanicStone_Top2`: 1000012 +- `MechanicStone_Middle2`: 1000013 +- `MechanicStone_Bottom2`: 1000014 +- `MechanicStone_Robe2`: 1000015 +- `HighpriestStone_Top2`: 1000016 +- `HighpriestStone_Middle2`: 1000017 +- `HighpriestStone_Bottom2`: 1000018 +- `ArchbishopStone_Robe2`: 1000019 +- `C_SharkHead`: 440000 +- `Atker_Greave`: 470000 +- `Ele_Shoes`: 470001 +- `Defn_Shoes`: 470002 +- `Ran_Boots`: 470003 +- `Boost_Sword`: 500001 +- `Boost_Spear`: 530000 +- `Light_Blade`: 500003 +- `Slate_Sword`: 500004 +- `Boost_Knuckle`: 560000 +- `Boost_Hall`: 590000 +- `Noblesse_Rifine_Ticket`: 100128 +- `Imperial_Rifine_Ticket`: 100129 +- `Meteor_Striker`: 590002 +- `Grace_Rifine_Ticket`: 100130 +- `Ray_Knuckle`: 560005 +- `Saint_Hall`: 590003 +- `Imperial_Convert1`: 100131 +- `Imperial_Convert2`: 100132 +- `Grace_Convert1`: 100133 +- `Grace_Convert2`: 100134 +- `Imperial_Convert3`: 100135 +- `Noblesse_Attack_Boots`: 470016 +- `Imperial_Convert4`: 100136 +- `Noblesse_Magic_Boots`: 470017 +- `Grace_Convert3`: 100137 +- `Imperial_Attack_Boots`: 470018 +- `Grace_Convert4`: 100138 +- `Imperial_Magic_Boots`: 470019 +- `Grace_Attack_Boots`: 470020 +- `Grace_Magic_Boots`: 470021 +- `Abyss_Ddbox2`: 100142 +- `Boost_Gatling`: 830000 +- `Abyss_Ddbox3`: 100144 +- `Abyss_Ddbox4`: 100145 > End of list diff --git a/doc/effect_list.md b/doc/effect_list.md new file mode 100644 index 000000000..b16839d41 --- /dev/null +++ b/doc/effect_list.md @@ -0,0 +1,1126 @@ +# Client Effects List +A list of client-side effects sorted by ID in ascending order. + +# Copyright +> This file is part of Hercules. +> http://herc.ws - http://github.com/HerculesWS/Hercules +> +> Copyright (C) 2012-2018 Hercules Dev Team +> Copyright (C) Athena Dev Teams +> +> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +> See the GNU General Public License for more details. +> +> You should have received a copy of the GNU General Public License along with this program. +> If not, see <http://www.gnu.org/licenses/>. + +## Description +The following is a compiled list of visual and sound effects which the client +can produce. Each list entry contains a number and a short description of the +effect. You can produce these effects ingame by using the `@effect` atcommand. +It's also possible to attach effects to item/npc scripts by using the +`specialeffect()` or `specialeffectnum()` script commands. + + ID | Constant Name | Description + --: | :----------------------------- | :---------------------------------- + -1 | EF_NONE | None + 0 | EF_HIT1 | Regular Hit + 1 | EF_HIT2 | Bash + 2 | EF_HIT3 | Melee Skill Hit + 3 | EF_HIT4 | Melee Skill Hit + 4 | EF_HIT5 | Melee Skill Hit + 5 | EF_HIT6 | Melee Skill Hit + 6 | EF_ENTRY | Being Warped + 7 | EF_EXIT | Item Heal effect + 8 | EF_WARP | Yellow Ripple Effect + 9 | EF_ENHANCE | Different Type of Heal + 10 | EF_COIN | Mammonite + 11 | EF_ENDURE | Endure + 12 | EF_BEGINSPELL | Yellow cast aura + 13 | EF_GLASSWALL | Blue Box + 14 | EF_HEALSP | Blue restoring effect + 15 | EF_SOULSTRIKE | Soul Strike + 16 | EF_BASH | Hide + 17 | EF_MAGNUMBREAK | Magnum Break + 18 | EF_STEAL | Steal + 19 | EF_HIDING | (Invalid) + 20 | EF_PATTACK | Envenom/Poison + 21 | EF_DETOXICATION | Detoxify + 22 | EF_SIGHT | Sight + 23 | EF_STONECURSE | Stone Curse + 24 | EF_FIREBALL | Fire Ball + 25 | EF_FIREWALL | Fire Wall + 26 | EF_ICEARROW | A sound (a swipe?) + 27 | EF_FROSTDIVER | Frost Diver (Traveling to Target) + 28 | EF_FROSTDIVER2 | Frost Diver (Hitting) + 29 | EF_LIGHTBOLT | Lightning Bolt + 30 | EF_THUNDERSTORM | Thunder Storm + 31 | EF_FIREARROW | Weird bubbles launching from feet + 32 | EF_NAPALMBEAT | Small clustered explosions + 33 | EF_RUWACH | Ruwach + 34 | EF_TELEPORTATION | Old Map Exit Animation (unused) + 35 | EF_READYPORTAL | Old Warp Portal (unused) + 36 | EF_PORTAL | Old Warp Portal (unused) + 37 | EF_INCAGILITY | AGI Up + 38 | EF_DECAGILITY | AGI Down + 39 | EF_AQUA | Aqua Benedicta + 40 | EF_SIGNUM | Signum Crucis + 41 | EF_ANGELUS | Angelus + 42 | EF_BLESSING | Blessing + 43 | EF_INCAGIDEX | Dex + Agi Up + 44 | EF_SMOKE | Little Fog Smoke. + 45 | EF_FIREFLY | Faint Little Ball Things. + 46 | EF_SANDWIND | Sand Wind + 47 | EF_TORCH | Torch + 48 | EF_SPRAYPOND | Small Piece of Glass + 49 | EF_FIREHIT | Firebolt/Wall Hits + 50 | EF_FIRESPLASHHIT | Spinning Fire Thing + 51 | EF_COLDHIT | Ice Elemental Hit + 52 | EF_WINDHIT | Wind Elemental Hit + 53 | EF_POISONHIT | Puff of Purpulish Smoke? + 54 | EF_BEGINSPELL2 | Cast Initiation Aura (Water Element) + 55 | EF_BEGINSPELL3 | Cast Initiation Aura (Fire Element) + 56 | EF_BEGINSPELL4 | Cast Initiation Aura (Wind Element) + 57 | EF_BEGINSPELL5 | Cast Initiation Aura (Earth Element) + 58 | EF_BEGINSPELL6 | Cast Initiation Aura (Holy Element) + 59 | EF_BEGINSPELL7 | Cast Initiation Aura (Poison Element) + 60 | EF_LOCKON | Cast target circle + 61 | EF_WARPZONE | Old Warp Portal (NPC Warp, unused) + 62 | EF_SIGHTRASHER | Sight Trasher + 63 | EF_BARRIER | Moonlight Sphere + 64 | EF_ARROWSHOT | Something Like Puruple/Yellow Light Bullet + 65 | EF_INVENOM | Something Like Absorb of Power + 66 | EF_CURE | Cure + 67 | EF_PROVOKE | Provoke + 68 | EF_MVP | MVP Banner + 69 | EF_SKIDTRAP | Skid Trap + 70 | EF_BRANDISHSPEAR | Brandish Spear + 71 | EF_CONE | Spiral White balls + 72 | EF_SPHERE | Bigger Spiral White balls + 73 | EF_BOWLINGBASH | Blue/White Small Aura + 74 | EF_ICEWALL | Ice Wall + 75 | EF_GLORIA | Gloria + 76 | EF_MAGNIFICAT | Magnificat + 77 | EF_RESURRECTION | Resurrection + 78 | EF_RECOVERY | Status Recovery + 79 | EF_EARTHSPIKE | Earth Spike + 80 | EF_SPEARBMR | Spear Boomerang + 81 | EF_PIERCE | Skill hit + 82 | EF_TURNUNDEAD | Turn Undead + 83 | EF_SANCTUARY | Sanctuary + 84 | EF_IMPOSITIO | Impositio Manus + 85 | EF_LEXAETERNA | Lex Aeterna + 86 | EF_ASPERSIO | Aspersio + 87 | EF_LEXDIVINA | Lex Divina + 88 | EF_SUFFRAGIUM | Suffragium + 89 | EF_STORMGUST | Storm Gust + 90 | EF_LORD | Lord of Vermilion + 91 | EF_BENEDICTIO | B. S. Sacramenti + 92 | EF_METEORSTORM | Meteor Storm + 93 | EF_YUFITEL | Jupitel Thunder (Ball) + 94 | EF_YUFITELHIT | Jupitel Thunder (Hit) + 95 | EF_QUAGMIRE | Quagmire + 96 | EF_FIREPILLAR | Fire Pillar + 97 | EF_FIREPILLARBOMB | Fire Pillar/Land Mine hit + 98 | EF_HASTEUP | Adrenaline Rush + 99 | EF_FLASHER | Flasher Trap + 100 | EF_REMOVETRAP | Yellow ball fountain + 101 | EF_REPAIRWEAPON | Weapon Repair + 102 | EF_CRASHEARTH | Hammerfall + 103 | EF_PERFECTION | Weapon Perfection + 104 | EF_MAXPOWER | Maximize Power + 105 | EF_BLASTMINE | (nothing) + 106 | EF_BLASTMINEBOMB | Blast Mine Trap + 107 | EF_CLAYMORE | Claymore Trap + 108 | EF_FREEZING | Freezing Trap + 109 | EF_BUBBLE | Bailaban Blue bubble Map Effect + 110 | EF_GASPUSH | Trap Used by Giearth + 111 | EF_SPRINGTRAP | Spring Trap + 112 | EF_KYRIE | Kyrie Eleison + 113 | EF_MAGNUS | Magnus Exorcismus + 114 | EF_BOTTOM | Old Magnus Exorcismus Map Unit (unused) + 115 | EF_BLITZBEAT | Blitz Beat + 116 | EF_WATERBALL | Fling Watersphere + 117 | EF_WATERBALL2 | Waterball + 118 | EF_FIREIVY | Fling Firesphere + 119 | EF_DETECTING | Detect + 120 | EF_CLOAKING | Cloaking + 121 | EF_SONICBLOW | Sonic Blow (Part 1/2) + 122 | EF_SONICBLOWHIT | Multi hit effect + 123 | EF_GRIMTOOTH | Grimtooth Cast + 124 | EF_VENOMDUST | Venom Dust + 125 | EF_ENCHANTPOISON | Enchant Poison + 126 | EF_POISONREACT | Poison React + 127 | EF_POISONREACT2 | Small Posion React + 128 | EF_OVERTHRUST | Over Thrust + 129 | EF_SPLASHER | Venom Splasher Explosion + 130 | EF_TWOHANDQUICKEN | Two-Hand Quicken + 131 | EF_AUTOCOUNTER | Auto-Counter Hit + 132 | EF_GRIMTOOTHATK | Grimtooth Hit + 133 | EF_FREEZE | Ice Effect (Used by NPCs) + 134 | EF_FREEZED | Ice Effect (Used by NPCs) + 135 | EF_ICECRASH | Ice Effect (Used by NPCs) + 136 | EF_SLOWPOISON | Slow Poison + 137 | EF_BOTTOM2 | Old Sanctuary Map Unit (unused) + 138 | EF_FIREPILLARON | Fire pillar + 139 | EF_SANDMAN | Sandman Trap + 140 | EF_REVIVE | Ressurection Aura + 141 | EF_PNEUMA | Pneuma + 142 | EF_HEAVENSDRIVE | Heaven's Drive + 143 | EF_SONICBLOW2 | Sonic Blow (Part 2/2) + 144 | EF_BRANDISH2 | Brandish Spear Pre-Hit Effect + 145 | EF_SHOCKWAVE | Shockwave Trap + 146 | EF_SHOCKWAVEHIT | Shockwave Trap Hit + 147 | EF_EARTHHIT | Pierce Hit + 148 | EF_PIERCESELF | Pierce Cast Animation + 149 | EF_BOWLINGSELF | Bowling Bash + 150 | EF_SPEARSTABSELF | Pierce Cast Animation + 151 | EF_SPEARBMRSELF | Spear Boomerang Cast + 152 | EF_HOLYHIT | Turn Undead + 153 | EF_CONCENTRATION | Increase Concentration + 154 | EF_REFINEOK | Refine Success + 155 | EF_REFINEFAIL | Refine Fail + 156 | EF_JOBCHANGE | jobchange.str not found error + 157 | EF_LVUP | levelup.str not found error + 158 | EF_JOBLVUP | Job Level Up + 159 | EF_TOPRANK | PvP circle + 160 | EF_PARTY | PvP Party Circle + 161 | EF_RAIN | (Nothing) + 162 | EF_SNOW | Snow + 163 | EF_SAKURA | White Sakura Leaves + 164 | EF_STATUS_STATE | (Nothing) + 165 | EF_BANJJAKII | Comodo Fireworks Ball + 166 | EF_MAKEBLUR | Energy Coat (Visual Effect) + 167 | EF_TAMINGSUCCESS | (Nothing) + 168 | EF_TAMINGFAILED | (Nothing) + 169 | EF_ENERGYCOAT | Energy Coat Animation + 170 | EF_CARTREVOLUTION | Cart Revolution + 171 | EF_VENOMDUST2 | Venom Dust Map Unit + 172 | EF_CHANGEDARK | Change Element (Dark) + 173 | EF_CHANGEFIRE | Change Element (Fire) + 174 | EF_CHANGECOLD | Change Element (Water) + 175 | EF_CHANGEWIND | Change Element (Wind) + 176 | EF_CHANGEFLAME | Change Element (Fire) + 177 | EF_CHANGEEARTH | Change Element (Earth) + 178 | EF_CHAINGEHOLY | Change Element (Holy) + 179 | EF_CHANGEPOISON | Change Element (Poison) + 180 | EF_HITDARK | Darkness Attack + 181 | EF_MENTALBREAK | Mental Breaker + 182 | EF_MAGICALATTHIT | Magical Hit + 183 | EF_SUI_EXPLOSION | Self Destruction + 184 | EF_DARKATTACK | (Nothing) + 185 | EF_SUICIDE | (Nothing) + 186 | EF_COMBOATTACK1 | Combo Attack 1 + 187 | EF_COMBOATTACK2 | Combo Attack 2 + 188 | EF_COMBOATTACK3 | Combo Attack 3 + 189 | EF_COMBOATTACK4 | Combo Attack 4 + 190 | EF_COMBOATTACK5 | Combo Attack 5 + 191 | EF_GUIDEDATTACK | Guided Attack + 192 | EF_POISONATTACK | Poison Attack + 193 | EF_SILENCEATTACK | Silence Attack + 194 | EF_STUNATTACK | Stun Attack + 195 | EF_PETRIFYATTACK | Petrify Attack + 196 | EF_CURSEATTACK | Curse Attack + 197 | EF_SLEEPATTACK | Sleep Attack + 198 | EF_TELEKHIT | (Nothing) + 199 | EF_PONG | Small Popping Bubble Map Effect + 200 | EF_LEVEL99 | Normal level 99 Aura (Middle) + 201 | EF_LEVEL99_2 | Normal level 99 Aura (Bottom) + 202 | EF_LEVEL99_3 | Lv 99 Aura Bubble + 203 | EF_GUMGANG | Fury (Visual Effect) + 204 | EF_POTION1 | Red Herb/Potion + 205 | EF_POTION2 | Orange Potion + 206 | EF_POTION3 | Yellow Herb/Potion + 207 | EF_POTION4 | White Herb/Potion + 208 | EF_POTION5 | Blue Herb/Potion + 209 | EF_POTION6 | Green Herb/Potion + 210 | EF_POTION7 | Yellow Circle Healing Effect + 211 | EF_POTION8 | Blue Circle Healing Effect + 212 | EF_DARKBREATH | Dark Breath + 213 | EF_DEFFENDER | Defender + 214 | EF_KEEPING | Keeping + 215 | EF_SUMMONSLAVE | Summon Slave + 216 | EF_BLOODDRAIN | Blood Drain + 217 | EF_ENERGYDRAIN | Energy Drain + 218 | EF_POTION_CON | Concentration Potion + 219 | EF_POTION_ | Awakening Potion + 220 | EF_POTION_BERSERK | Berserk Potion + 221 | EF_POTIONPILLAR | Intense light beam + 222 | EF_DEFENDER | Defender (Crusader) + 223 | EF_GANBANTEIN | Holy Cast Aura + 224 | EF_WIND | Wind (Map effect) + 225 | EF_VOLCANO | Volcano casting effect + 226 | EF_GRANDCROSS | Grand Cross Effect + 227 | EF_INTIMIDATE | Snatch + 228 | EF_CHOOKGI | (Nothing) + 229 | EF_CLOUD | (Nothing) + 230 | EF_CLOUD2 | (Nothing) + 231 | EF_MAPPILLAR | Map Light Pillar Animation 1 + 232 | EF_LINELINK | Sacrifice (Visual Effect) + 233 | EF_CLOUD3 | Fog + 234 | EF_SPELLBREAKER | Spell Breaker + 235 | EF_DISPELL | Dispell + 236 | EF_DELUGE | Deluge Cast Aura + 237 | EF_VIOLENTGALE | Violent Gale Cast Aura + 238 | EF_LANDPROTECTOR | Magnetic Earth Cast Aura + 239 | EF_BOTTOM_VO | Volcano (Visual Effect) + 240 | EF_BOTTOM_DE | Deluge (Visual Effect) + 241 | EF_BOTTOM_VI | Violent Gale (Visual Effect) + 242 | EF_BOTTOM_LA | Magnetic Earth (Visual Effect) + 243 | EF_FASTMOVE | (Invalid) + 244 | EF_MAGICROD | Magic Rod + 245 | EF_HOLYCROSS | Holy Cross + 246 | EF_SHIELDCHARGE | Shield Charge + 247 | EF_MAPPILLAR2 | Map Light Pillar Animation 2 + 248 | EF_PROVIDENCE | Resistant Souls + 249 | EF_SHIELDBOOMERANG | Shield Boomerang + 250 | EF_SPEARQUICKEN | Spear Quicken + 251 | EF_DEVOTION | Devotion + 252 | EF_REFLECTSHIELD | Reflect Shield + 253 | EF_ABSORBSPIRITS | Absorb Spirit Spheres + 254 | EF_STEELBODY | Mental Strength (Visual Effect) + 255 | EF_FLAMELAUNCHER | Elemental Endow (Fire) + 256 | EF_FROSTWEAPON | Elemental Endow (Water) + 257 | EF_LIGHTNINGLOADER | Elemental Endow (Wind) + 258 | EF_SEISMICWEAPON | Elemental Endow (Earth) + 259 | EF_MAPPILLAR3 | Map Light Pillar Animation 3 + 260 | EF_MAPPILLAR4 | Map Light Pillar Animation 4 + 261 | EF_GUMGANG2 | Fury Cast Animation + 262 | EF_TEIHIT1 | Raging Quadruple Blow + 263 | EF_GUMGANG3 | Raging Quadruple Blow 2 + 264 | EF_TEIHIT2 | (Nothing) + 265 | EF_TANJI | Throw Spirit Sphere + 266 | EF_TEIHIT1X | Raging Quadruple Blow 3 + 267 | EF_CHIMTO | Occult Impaction + 268 | EF_STEALCOIN | Steal Coin + 269 | EF_STRIPWEAPON | Divest Weapon + 270 | EF_STRIPSHIELD | Divest Shield + 271 | EF_STRIPARMOR | Divest Armor + 272 | EF_STRIPHELM | Divest Helm + 273 | EF_CHAINCOMBO | Raging Quadruple Blow 4 + 274 | EF_RG_COIN | Steal Coin Animation + 275 | EF_BACKSTAP | Back Stab Animation + 276 | EF_TEIHIT3 | Raging Thrust + 277 | EF_BOTTOM_DISSONANCE | Dissoance Map Unit + 278 | EF_BOTTOM_LULLABY | Lullaby Map Unit + 279 | EF_BOTTOM_RICHMANKIM | Mr Kim a Rich Man Map Unit + 280 | EF_BOTTOM_ETERNALCHAOS | Eternal Chaos Map Unit + 281 | EF_BOTTOM_DRUMBATTLEFIELD | A Drum on the Battlefield Map Unit + 282 | EF_BOTTOM_RINGNIBELUNGEN | The Ring Of Nibelungen Map Unit + 283 | EF_BOTTOM_ROKISWEIL | Loki's Veil Map Unit + 284 | EF_BOTTOM_INTOABYSS | Into the Abyss Map Unit + 285 | EF_BOTTOM_SIEGFRIED | Invunerable Siegfriend Map Unit + 286 | EF_BOTTOM_WHISTLE | A Wistle Map Unit + 287 | EF_BOTTOM_ASSASSINCROSS | Assassin Cross of Sunset Map Unit + 288 | EF_BOTTOM_POEMBRAGI | A Poem of Bragi Map Unit + 289 | EF_BOTTOM_APPLEIDUN | The Apple Of Idun Map Unit + 290 | EF_BOTTOM_UGLYDANCE | Ugly Dance Map Unit + 291 | EF_BOTTOM_HUMMING | Humming Map Unit + 292 | EF_BOTTOM_DONTFORGETME | Please don't Forget Me Map Unit + 293 | EF_BOTTOM_FORTUNEKISS | Fortune's Kiss Map Unit + 294 | EF_BOTTOM_SERVICEFORYOU | Service For You Map Unit + 295 | EF_TALK_FROSTJOKE | Frost Joke + 296 | EF_TALK_SCREAM | Scream + 297 | EF_POKJUK | Fire Works (Visual Effect) + 298 | EF_THROWITEM | Acid Terror Animnation + 299 | EF_THROWITEM2 | (Nothing) + 300 | EF_CHEMICALPROTECTION | Chemical Protection + 301 | EF_POKJUK_SOUND | Fire Works (Sound Effect) + 302 | EF_DEMONSTRATION | Bomb + 303 | EF_CHEMICAL2 | (Unused) + 304 | EF_TELEPORTATION2 | Teleportation Animation + 305 | EF_PHARMACY_OK | Pharmacy Success + 306 | EF_PHARMACY_FAIL | Pharmacy Failed + 307 | EF_FORESTLIGHT | Forest Light 1 + 308 | EF_THROWITEM3 | Throw Stone + 309 | EF_FIRSTAID | First Aid + 310 | EF_SPRINKLESAND | Sprinkle Sand + 311 | EF_LOUD | Crazy Uproar + 312 | EF_HEAL | Heal Effect + 313 | EF_HEAL2 | Heal Effect 2 + 314 | EF_EXIT2 | Old Map Exit effect (Unused) + 315 | EF_GLASSWALL2 | Safety Wall + 316 | EF_READYPORTAL2 | Warp Portal Animation 1 + 317 | EF_PORTAL2 | Warp Portal Animation 2 + 318 | EF_BOTTOM_MAG | Magnus Exorcisimus Map Unit + 319 | EF_BOTTOM_SANC | Sanctuary Map Unit + 320 | EF_HEAL3 | Offensive Heal + 321 | EF_WARPZONE2 | Warp NPC + 322 | EF_FORESTLIGHT2 | Forest Light 2 + 323 | EF_FORESTLIGHT3 | Forest Light 3 + 324 | EF_FORESTLIGHT4 | Forest Light 4 + 325 | EF_HEAL4 | Heal Effect 4 + 326 | EF_FOOT | Chase Walk Left Foot + 327 | EF_FOOT2 | Chse Walk Right Foot + 328 | EF_BEGINASURA | Monk Asura Strike + 329 | EF_TRIPLEATTACK | Triple Strike + 330 | EF_HITLINE | Combo Finish + 331 | EF_HPTIME | Natural HP Regeneration + 332 | EF_SPTIME | Natural SP Regeneration + 333 | EF_MAPLE | Autumn Leaves + 334 | EF_BLIND | Blind + 335 | EF_POISON | Poison + 336 | EF_GUARD | Kyrie Eleison/Parrying Shield + 337 | EF_JOBLVUP50 | Class Change + 338 | EF_ANGEL2 | Super Novice/Taekwon Level Up Angel + 339 | EF_MAGNUM2 | Spiral Pierce + 340 | EF_CALLZONE | (Nothing) + 341 | EF_PORTAL3 | Wedding Warp Portal + 342 | EF_COUPLECASTING | Wedding Skill + 343 | EF_HEARTCASTING | Another Merry Skill + 344 | EF_ENTRY2 | Character map entry effect + 345 | EF_SAINTWING | Wings (Animated) + 346 | EF_SPHEREWIND | Like Moonlight But Blue + 347 | EF_COLORPAPER | Wedding Ceremony + 348 | EF_LIGHTSPHERE | Like 1000 Blade trepassing + 349 | EF_WATERFALL | Waterfall (Horizonatal) + 350 | EF_WATERFALL_90 | Waterfall (Vertical) + 351 | EF_WATERFALL_SMALL | Small Waterfall (Horizonatal) + 352 | EF_WATERFALL_SMALL_90 | Small Waterfall (Vertical) + 353 | EF_WATERFALL_T2 | Dark Waterfall (Horizonatal) + 354 | EF_WATERFALL_T2_90 | Dark Waterfall (Vertical) + 355 | EF_WATERFALL_SMALL_T2 | Dark Small Waterfall (Horizonatal) + 356 | EF_WATERFALL_SMALL_T2_90 | Dark Small Waterfall (Vertical) + 357 | EF_MINI_TETRIS | (Nothing) + 358 | EF_GHOST | Niflheim Ghost + 359 | EF_BAT | Niflheim Bat Slow + 360 | EF_BAT2 | Niflheim Bat Fast + 361 | EF_SOULBREAKER | Soul Destroyer + 362 | EF_LEVEL99_4 | Trancendant Level 99 Aura 1 + 363 | EF_VALLENTINE | Valentine Day Heart With Wings + 364 | EF_VALLENTINE2 | Valentine Day Heart + 365 | EF_PRESSURE | Gloria Domini + 366 | EF_BASH3D | Martyr's Reckoning + 367 | EF_AURABLADE | Aura Blade + 368 | EF_REDBODY | Berserk + 369 | EF_LKCONCENTRATION | Concentration + 370 | EF_BOTTOM_GOSPEL | Gospel Map Unit + 371 | EF_ANGEL | Level Up + 372 | EF_DEVIL | Death + 373 | EF_DRAGONSMOKE | House Smoke + 374 | EF_BOTTOM_BASILICA | Basilica + 375 | EF_ASSUMPTIO | Assumptio (Visual Effect) + 376 | EF_HITLINE2 | Palm Strike + 377 | EF_BASH3D2 | Matyr's Reckoning 2 + 378 | EF_ENERGYDRAIN2 | Soul Drain (1st Part) + 379 | EF_TRANSBLUEBODY | Soul Drain (2nd Part) + 380 | EF_MAGICCRASHER | Magic Crasher + 381 | EF_LIGHTSPHERE2 | Blue Starburst (Unknown use) + 382 | EF_LIGHTBLADE | (Nothing) + 383 | EF_ENERGYDRAIN3 | Health Conversion + 384 | EF_LINELINK2 | Soul Change (Sound Effect) + 385 | EF_LINKLIGHT | Soul Change (Visual Effect) + 386 | EF_TRUESIGHT | True Sight + 387 | EF_FALCONASSAULT | Falcon Assault + 388 | EF_TRIPLEATTACK2 | Focused Arrow Strike (Sound Effect) + 389 | EF_PORTAL4 | Wind Walk + 390 | EF_MELTDOWN | Shattering Strike + 391 | EF_CARTBOOST | Cart Boost + 392 | EF_REJECTSWORD | Reject Sword + 393 | EF_TRIPLEATTACK3 | Arrow Vulcan + 394 | EF_SPHEREWIND2 | Sheltering Bliss + 395 | EF_LINELINK3 | Marionette Control (Sound Effect) + 396 | EF_PINKBODY | Marionette Control (Visual Effect) + 397 | EF_LEVEL99_5 | Trancended 99 Aura (Middle) + 398 | EF_LEVEL99_6 | Trancended 99 Aura (Bottom) + 399 | EF_BASH3D3 | Head Crush + 400 | EF_BASH3D4 | Joint Beat + 401 | EF_NAPALMVALCAN | Napalm Vulcan Sound + 402 | EF_PORTAL5 | Dangerous Soul Collect + 403 | EF_MAGICCRASHER2 | Mind Breaker + 404 | EF_BOTTOM_SPIDER | Fiber Lock + 405 | EF_BOTTOM_FOGWALL | Wall Of Fog + 406 | EF_SOULBURN | Soul Burn + 407 | EF_SOULCHANGE | Soul Change + 408 | EF_BABY | Mom, Dad, I love you! (Baby Skill) + 409 | EF_SOULBREAKER2 | Meteor Assault + 410 | EF_RAINBOW | Rainbow + 411 | EF_PEONG | Leap + 412 | EF_TANJI2 | Like Throw Spirit Sphere + 413 | EF_PRESSEDBODY | Axe Kick + 414 | EF_SPINEDBODY | Round Kick + 415 | EF_KICKEDBODY | Counter Kick + 416 | EF_AIRTEXTURE | (Nothing) + 417 | EF_HITBODY | Flash + 418 | EF_DOUBLEGUMGANG | Warmth Lightning + 419 | EF_REFLECTBODY | Kaite (Visual Effect) + 420 | EF_BABYBODY | Eswoo (Small) (Visual Effect) + 421 | EF_BABYBODY2 | Eswoo (Alt. Small) (Visual Effect) + 422 | EF_GIANTBODY | Eswoo (Normal) (Visual Effect) + 423 | EF_GIANTBODY2 | Eswoo (Alt. Normal) (Visual Effect) + 424 | EF_ASURABODY | Spirit Link (Visual Effect) + 425 | EF_4WAYBODY | Esma Hit (Visual Effect) + 426 | EF_QUAKEBODY | Sprint Collision (Visual Effect) + 427 | EF_ASURABODY_MONSTER | (Nothing) + 428 | EF_HITLINE3 | (Nothing) + 429 | EF_HITLINE4 | Taekwon Kick Hit 1 + 430 | EF_HITLINE5 | Taekwon Kick Hit 2 + 431 | EF_HITLINE6 | Taekwon Kick Hit 3 + 432 | EF_ELECTRIC | Solar, Lunar and Stellar Perception (Visual Effect) + 433 | EF_ELECTRIC2 | Solar, Lunar and Stellar Opposition (Visual Effect) + 434 | EF_HITLINE7 | Taekwon Kick Hit 4 + 435 | EF_STORMKICK | Whirlwind Kick + 436 | EF_HALFSPHERE | White Barrier (Unused) + 437 | EF_ATTACKENERGY | White barrier 2 (Unused) + 438 | EF_ATTACKENERGY2 | Kaite Reflect Animation + 439 | EF_CHEMICAL3 | Flying Side Kick + 440 | EF_ASSUMPTIO2 | Assumptio (Animation) + 441 | EF_BLUECASTING | Comfort Skills Cast Aura + 442 | EF_RUN | Foot Prints caused by Sprint. + 443 | EF_STOPRUN | (Nothing) + 444 | EF_STOPEFFECT | Sprint Stop Animation + 445 | EF_JUMPBODY | High Jump (Jump) + 446 | EF_LANDBODY | High Jump (Return Down) + 447 | EF_FOOT3 | Running Left Foot + 448 | EF_FOOT4 | Running Right Foot + 449 | EF_TAE_READY | KA-Spell (1st Part) + 450 | EF_GRANDCROSS2 | Darkcross + 451 | EF_SOULSTRIKE2 | Dark Strike + 452 | EF_YUFITEL2 | Something Like Jupitel Thunder + 453 | EF_NPC_STOP | Paralized + 454 | EF_DARKCASTING | Like Blind + 455 | EF_GUMGANGNPC | Another Warmth Lightning + 456 | EF_AGIUP | Power Up + 457 | EF_JUMPKICK | Flying Side Kick (2nd Part) + 458 | EF_QUAKEBODY2 | Running/Sprint (running into a wall) + 459 | EF_STORMKICK1 | Brown tornado that spins sprite (unused) + 460 | EF_STORMKICK2 | Green tornado (unused) + 461 | EF_STORMKICK3 | Blue tornado (unused) + 462 | EF_STORMKICK4 | Kaupe Dodge Effect + 463 | EF_STORMKICK5 | Kaupe Dodge Effect + 464 | EF_STORMKICK6 | White tornado (unused) + 465 | EF_STORMKICK7 | Purple tornado (unused) + 466 | EF_SPINEDBODY2 | Another Round Kick + 467 | EF_BEGINASURA1 | Warm/Mild Wind (Earth) + 468 | EF_BEGINASURA2 | Warm/Mild Wind (Wind) + 469 | EF_BEGINASURA3 | Warm/Mild Wind (Water) + 470 | EF_BEGINASURA4 | Warm/Mild Wind (Fire) + 471 | EF_BEGINASURA5 | Warm/Mild Wind (Undead) + 472 | EF_BEGINASURA6 | Warm/Mild Wind (Shadow) + 473 | EF_BEGINASURA7 | Warm/Mild Wind (Holy) + 474 | EF_AURABLADE2 | (Nothing) + 475 | EF_DEVIL1 | Demon of The Sun Moon And Stars (Level 1) + 476 | EF_DEVIL2 | Demon of The Sun Moon And Stars (Level 2) + 477 | EF_DEVIL3 | Demon of The Sun Moon And Stars (Level 3) + 478 | EF_DEVIL4 | Demon of The Sun Moon And Stars (Level 4) + 479 | EF_DEVIL5 | Demon of The Sun Moon And Stars (Level 5) + 480 | EF_DEVIL6 | Demon of The Sun Moon And Stars (Level 6) + 481 | EF_DEVIL7 | Demon of The Sun Moon And Stars (Level 7) + 482 | EF_DEVIL8 | Demon of The Sun Moon And Stars (Level 8) + 483 | EF_DEVIL9 | Demon of The Sun Moon And Stars (Level 9) + 484 | EF_DEVIL10 | Demon of The Sun Moon And Stars (Level 10) + 485 | EF_DOUBLEGUMGANG2 | Mental Strength Lightning but White + 486 | EF_DOUBLEGUMGANG3 | Mental Strength Lightning + 487 | EF_BLACKDEVIL | Demon of The Sun Moon And Stars Ground Effect + 488 | EF_FLOWERCAST | Comfort Skills + 489 | EF_FLOWERCAST2 | (Nothing) + 490 | EF_FLOWERCAST3 | (Nothing) + 491 | EF_MOCHI | Element Potions + 492 | EF_LAMADAN | Cooking Foods + 493 | EF_EDP | Enchant Deadly Poison + 494 | EF_SHIELDBOOMERANG2 | Throwing Tomahawk + 495 | EF_RG_COIN2 | Full Strip Sound + 496 | EF_GUARD2 | Preserve + 497 | EF_SLIM | Twilight Alchemy 1 + 498 | EF_SLIM2 | Twilight Alchemy 2 + 499 | EF_SLIM3 | Twilight Alchemy 3 + 500 | EF_CHEMICALBODY | Player Become Blue with Blue Aura + 501 | EF_CASTSPIN | Chase Walk Animation + 502 | EF_PIERCEBODY | Player Become Yellow with Yellow Aura + 503 | EF_SOULLINK | Soul Link Word + 504 | EF_CHOOKGI2 | (Nothing) + 505 | EF_MEMORIZE | Memorize + 506 | EF_SOULLIGHT | (Nothing) + 507 | EF_MAPAE | Authoritative Badge + 508 | EF_ITEMPOKJUK | Fire Cracker + 509 | EF_05VAL | Valentine Day Hearth (Wings) + 510 | EF_BEGINASURA11 | Champion Asura Strike + 511 | EF_NIGHT | (Nothing) + 512 | EF_CHEMICAL2DASH | Chain Crush Combo + 513 | EF_GROUNDSAMPLE | Area Cast + 514 | EF_GI_EXPLOSION | Really Big Circle + 515 | EF_CLOUD4 | Einbroch Fog + 516 | EF_CLOUD5 | Airship Cloud + 517 | EF_BOTTOM_HERMODE | (Nothing) + 518 | EF_CARTTER | Cart Termination + 519 | EF_ITEMFAST | Speed Down Potion + 520 | EF_SHIELDBOOMERANG3 | Shield Bumerang + 521 | EF_DOUBLECASTBODY | Player Become Red with Red Aura + 522 | EF_GRAVITATION | Gravitation Field + 523 | EF_TAROTCARD1 | Tarot Card of Fate (The Fool) + 524 | EF_TAROTCARD2 | Tarot Card of Fate (The Magician) + 525 | EF_TAROTCARD3 | Tarot Card of Fate (The High Priestess) + 526 | EF_TAROTCARD4 | Tarot Card of Fate (The Chariot) + 527 | EF_TAROTCARD5 | Tarot Card of Fate (Strength) + 528 | EF_TAROTCARD6 | Tarot Card of Fate (The Lovers) + 529 | EF_TAROTCARD7 | Tarot Card of Fate (The Wheel of Fortune) + 530 | EF_TAROTCARD8 | Tarot Card of Fate (The Hanged Man) + 531 | EF_TAROTCARD9 | Tarot Card of Fate (Death) + 532 | EF_TAROTCARD10 | Tarot Card of Fate (Temperance) + 533 | EF_TAROTCARD11 | Tarot Card of Fate (The Devil) + 534 | EF_TAROTCARD12 | Tarot Card of Fate (The Tower) + 535 | EF_TAROTCARD13 | Tarot Card of Fate (The Star) + 536 | EF_TAROTCARD14 | Tarot Card of Fate (The Sun) + 537 | EF_ACIDDEMON | Acid Demonstration + 538 | EF_GREENBODY | Player Become Green with Green Aura + 539 | EF_THROWITEM4 | Throw Random Bottle + 540 | EF_BABYBODY_BACK | Instant Small->Normal + 541 | EF_THROWITEM5 | (Nothing) + 542 | EF_BLUEBODY | KA-Spell (1st Part) + 543 | EF_HATED | Kahii + 544 | EF_REDLIGHTBODY | Warmth Red Sprite + 545 | EF_RO2YEAR | Sound And... PUFF Client Crash :P + 546 | EF_SMA_READY | Kaupe + 547 | EF_STIN | Estin + 548 | EF_RED_HIT | Instant Red Sprite + 549 | EF_BLUE_HIT | Instant Blue Sprite + 550 | EF_QUAKEBODY3 | Another Effect like Running Hit + 551 | EF_SMA | Effect Like Estun but with Circle + 552 | EF_SMA2 | (Nothing) + 553 | EF_STIN2 | Esma + 554 | EF_HITTEXTURE | Large White Cloud + 555 | EF_STIN3 | Estun + 556 | EF_SMA3 | (Nothing) + 557 | EF_BLUEFALL | Juperos Energy Waterfall (Horizontal) + 558 | EF_BLUEFALL_90 | Juperos Energy Waterfall (Vertical) + 559 | EF_FASTBLUEFALL | Juperos Energy Waterfall Fast (Horizontal) + 560 | EF_FASTBLUEFALL_90 | Juperos Energy Waterfall Fast (Vertical) + 561 | EF_BIG_PORTAL | Juperos Warp + 562 | EF_BIG_PORTAL2 | Juperos Warp + 563 | EF_SCREEN_QUAKE | Earthquake Effect (Juperos Elevator) + 564 | EF_HOMUNCASTING | Wedding Cast + 565 | EF_HFLIMOON1 | Filir Moonlight Lvl 1 + 566 | EF_HFLIMOON2 | Filir Moonlight Lvl 2 + 567 | EF_HFLIMOON3 | Filir Moonlight Lvl 3 + 568 | EF_HO_UP | Another Job Level Up + 569 | EF_HAMIDEFENCE | Amistr Bulwark + 570 | EF_HAMICASTLE | Amistr Castling + 571 | EF_HAMIBLOOD | Amistr Bloodlust + 572 | EF_HATED2 | Warmth Soul + 573 | EF_TWILIGHT1 | Twilight Alchemy 1 + 574 | EF_TWILIGHT2 | Twilight Alchemy 2 + 575 | EF_TWILIGHT3 | Twilight Alchemy 3 + 576 | EF_ITEM_THUNDER | Box Effect (Thunder) + 577 | EF_ITEM_CLOUD | Box Effect (Cloud) + 578 | EF_ITEM_CURSE | Box Effect (Curse) + 579 | EF_ITEM_ZZZ | Box Effect (Sleep) + 580 | EF_ITEM_RAIN | Box Effect (Rain) + 581 | EF_ITEM_LIGHT | Box Effect (Sunlight) + 582 | EF_ANGEL3 | Another Super Novice/Taekwon Angel + 583 | EF_M01 | Warmth Hit + 584 | EF_M02 | Full Buster + 585 | EF_M03 | 5 Medium Size Explosion + 586 | EF_M04 | Somatology Lab Mobs Aura + 587 | EF_M05 | Big Purple Flame + 588 | EF_M06 | Little Red Flame + 589 | EF_M07 | Eswoo + 590 | EF_KAIZEL | Running Stop + 591 | EF_KAAHI | (Nothing) + 592 | EF_CLOUD6 | Thanatos Tower Bloody Clouds + 593 | EF_FOOD01 | Food Effect (STR) + 594 | EF_FOOD02 | Food Effect (INT) + 595 | EF_FOOD03 | Food Effect (VIT) + 596 | EF_FOOD04 | Food Effect (AGI) + 597 | EF_FOOD05 | Food Effect (DEX) + 598 | EF_FOOD06 | Food Effect (LUK) + 599 | EF_SHRINK | Cast Time Sound and Flashing Animation on Player + 600 | EF_THROWITEM6 | Throw Venom Knife + 601 | EF_SIGHT2 | Sight Blaster + 602 | EF_QUAKEBODY4 | Close Confine (Grab Effect) + 603 | EF_FIREHIT2 | Spinning fire ball (like 50, but smaller) + 604 | EF_NPC_STOP2 | Close Confine (Ground Effect) + 605 | EF_NPC_STOP2_DEL | (Nothing) + 606 | EF_FVOICE | Pang Voice (Visual Effect) + 607 | EF_WINK | Wink of Charm (Visual Effect) + 608 | EF_COOKING_OK | Cooking Success + 609 | EF_COOKING_FAIL | Cooking Failed + 610 | EF_TEMP_OK | Success + 611 | EF_TEMP_FAIL | Failed + 612 | EF_HAPGYEOK | Korean Words and /no1 Emoticon + 613 | EF_THROWITEM7 | Throw Shuriken + 614 | EF_THROWITEM8 | Throw Kunai + 615 | EF_THROWITEM9 | Throw Fumma Shuriken + 616 | EF_THROWITEM10 | Throw Money + 617 | EF_BUNSINJYUTSU | Illusionary Shadow + 618 | EF_KOUENKA | Crimson Fire Bolossom + 619 | EF_HYOUSENSOU | Lightning Spear Of Ice + 620 | EF_BOTTOM_SUITON | Water Escape Technique + 621 | EF_STIN4 | Wind Blade + 622 | EF_THUNDERSTORM2 | Lightning Crash + 623 | EF_CHEMICAL4 | Piercing Shot + 624 | EF_STIN5 | Kamaitachi + 625 | EF_MADNESS_BLUE | Madness Canceller + 626 | EF_MADNESS_RED | Adjustment + 627 | EF_RG_COIN3 | Disarm (Sound Effect) + 628 | EF_BASH3D5 | Dust + 629 | EF_CHOOKGI3 | (Nothing) + 630 | EF_KIRIKAGE | Shadow Slash + 631 | EF_TATAMI | Reverse Tatami Map Unit + 632 | EF_KASUMIKIRI | Mist Slash + 633 | EF_ISSEN | Final Strike + 634 | EF_KAEN | Crimson Fire Formation + 635 | EF_BAKU | Dragon Fire Formation + 636 | EF_HYOUSYOURAKU | Falling Ice Pillar + 637 | EF_DESPERADO | Desperado + 638 | EF_LIGHTNING_S | Ground Drift Grenade + 639 | EF_BLIND_S | Ground Drift Grenade + 640 | EF_POISON_S | Ground Drift Grenade + 641 | EF_FREEZING_S | Ground Drift Grenade + 642 | EF_FLARE_S | Ground Drift Grenade + 643 | EF_RAPIDSHOWER | Rapid Shower + 644 | EF_MAGICALBULLET | Magic Bullet + 645 | EF_SPREADATTACK | Spread Attack + 646 | EF_TRACKCASTING | Tracking (Shown While Casting) + 647 | EF_TRACKING | Tracking + 648 | EF_TRIPLEACTION | Triple Action + 649 | EF_BULLSEYE | Bull's Eye + 650 | EF_MAP_MAGICZONE | Ice Cave Level 4 Circle + 651 | EF_MAP_MAGICZONE2 | Ice Cave Level 4 Big Circle + 652 | EF_DAMAGE1 | Like Regeneration Number but Red with a Sound + 653 | EF_DAMAGE1_2 | Like Regeneration Number but Red + 654 | EF_DAMAGE1_3 | Like Regeneration Number but Purple + 655 | EF_UNDEADBODY | Mobs Skill (Change Undead Element) + 656 | EF_UNDEADBODY_DEL | Last animation before Change Undead Element finish + 657 | EF_GREEN_NUMBER | (Nothing) + 658 | EF_BLUE_NUMBER | (Nothing) + 659 | EF_RED_NUMBER | (Nothing) + 660 | EF_PURPLE_NUMBER | (Nothing) + 661 | EF_BLACK_NUMBER | (Nothing) + 662 | EF_WHITE_NUMBER | (Nothing) + 663 | EF_YELLOW_NUMBER | (Nothing) + 664 | EF_PINK_NUMBER | (Nothing) + 665 | EF_BUBBLE_DROP | Little Blue Ball Falling From the Sky + 666 | EF_NPC_EARTHQUAKE | Earthquake + 667 | EF_DA_SPACE | (Nothing) + 668 | EF_DRAGONFEAR | Dragonfear + 669 | EF_BLEEDING | Wide Bleeding + 670 | EF_WIDECONFUSE | Dragon fear (Visual Effect) + 671 | EF_BOTTOM_RUNNER | The Japan Earth Symbol (like 'Seven Wind Lv1', but on the ground) + 672 | EF_BOTTOM_TRANSFER | The Japan Wind Symbol (like 'Seven Wind Lv2', but on the ground) + 673 | EF_CRYSTAL_BLUE | Map turns Blue (like Soul Link) + 674 | EF_BOTTOM_EVILLAND | Evil Land Cell + 675 | EF_GUARD3 | Like Parrying/Kyrie Eleison barrier but Yellow with small Cross in every barrier piece + 676 | EF_NPC_SLOWCAST | Slow Casting + 677 | EF_CRITICALWOUND | Critical Wounds/Bleeding Attack + 678 | EF_GREEN99_3 | White 99 Aura Bubbles + 679 | EF_GREEN99_5 | Green Aura (Middle) + 680 | EF_GREEN99_6 | Green Aura (Bottom) + 681 | EF_MAPSPHERE | Dimensional Gorge Map Effect + 682 | EF_POK_LOVE | I Love You Banner + 683 | EF_POK_WHITE | Happy White Day Banner + 684 | EF_POK_VALEN | Happy Valentine Day Banner + 685 | EF_POK_BIRTH | Happy Birthday Banner + 686 | EF_POK_CHRISTMAS | Merry Christmas Banner + 687 | EF_MAP_MAGICZONE3 | Cast Circle-Like effect 1 + 688 | EF_MAP_MAGICZONE4 | Cast Circle-Like effect 2 + 689 | EF_DUST | Endless Tower Map Effect + 690 | EF_TORCH_RED | Burning Flame (Red) + 691 | EF_TORCH_GREEN | Burning Flame (Green) + 692 | EF_MAP_GHOST | Unknown Aura Bubbles (Small ghosts) + 693 | EF_GLOW1 | Translucent yellow circle + 694 | EF_GLOW2 | Translucent green circle + 695 | EF_GLOW4 | Rotating green light + 696 | EF_TORCH_PURPLE | The same of 690 and 691 but Blue/Purple + 697 | EF_CLOUD7 | (Nothing) + 698 | EF_CLOUD8 | (Nothing) + 699 | EF_FLOWERLEAF | Fall of powder from the sky and raise of some leaf + 700 | EF_MAPSPHERE2 | Big Colored Green Sphere. + 701 | EF_GLOW11 | Huge Blue Sphere + 702 | EF_GLOW12 | Little Colored Violet Sphere + 703 | EF_CIRCLELIGHT | Light Infiltration with fall of pownder + 704 | EF_ITEM315 | Client Error (mobile_ef02.str) + 705 | EF_ITEM316 | Client Error (mobile_ef01.str) + 706 | EF_ITEM317 | Client Error (mobile_ef03.str) + 707 | EF_ITEM318 | Client Crash :P + 708 | EF_STORM_MIN | Storm Gust (same as 89) + 709 | EF_POK_JAP | A Firework that split in 4 mini fireworks + 710 | EF_MAP_GREENLIGHT | A Sphere like Effect 701 but Green, and a bit more larger + 711 | EF_MAP_MAGICWALL | A big violet wall + 712 | EF_MAP_GREENLIGHT2 | A Little Flame Sphere + 713 | EF_YELLOWFLY1 | A lot of Very Small and Yellow Sphere + 714 | EF_YELLOWFLY2 | (Nothing) + 715 | EF_BOTTOM_BLUE | Little blue Basilica + 716 | EF_BOTTOM_BLUE2 | Same as 715 + 717 | EF_WEWISH | Christmas Carol (copy of Angelus) + 718 | EF_FIREPILLARON2 | Judex (Visual Effect) + 719 | EF_FORESTLIGHT5 | Renovatio (light beam) + 720 | EF_SOULBREAKER3 | Yellow version of Soul Breaker + 721 | EF_ADO_STR | Adoramus (lightning bolt) + 722 | EF_IGN_STR | Ignition Break (big explosion) + 723 | EF_CHIMTO2 | Hundred Spear (sound effect) + 724 | EF_WINDCUTTER | Green version of Detecting + 725 | EF_DETECT2 | Oratorio (like Detecting) + 726 | EF_FROSTMYSTY | Frost Misty (blue vapor and bubbles) + 727 | EF_CRIMSON_STR | Crimson Rock + 728 | EF_HELL_STR | Small fire (part of Hell Inferno) + 729 | EF_SPR_MASH | Marsh of Abyss (like Close Confine) + 730 | EF_SPR_SOULE | Small, cartoony explosion (part of Soul Expansion) + 731 | EF_DHOWL_STR | Dragon Howling (blinking, expanding circle) + 732 | EF_EARTHWALL | Spike from the ground + 733 | EF_SOULBREAKER4 | Fluffy Ball flying by + 734 | EF_CHAINL_STR | Chain Lightning + 735 | EF_CHOOKGI_FIRE | (Nothing) + 736 | EF_CHOOKGI_WIND | (Nothing) + 737 | EF_CHOOKGI_WATER | (Nothing) + 738 | EF_CHOOKGI_GROUND | (Nothing) + 739 | EF_MAGENTA_TRAP | Old Magenta Trap + 740 | EF_COBALT_TRAP | Old Cobald Trap + 741 | EF_MAIZE_TRAP | Old Maize Trap + 742 | EF_VERDURE_TRAP | Old Verdure Trap + 743 | EF_NORMAL_TRAP | White Ranger Trap + 744 | EF_CLOAKING2 | Camouflage + 745 | EF_AIMED_STR | Aimed Bolt (crosshairs) + 746 | EF_ARROWSTORM_STR | Arrow Storm + 747 | EF_LAULAMUS_STR | Falling white feathers + 748 | EF_LAUAGNUS_STR | Falling blue feathers + 749 | EF_MILSHIELD_STR | Millennium Shield + 750 | EF_CONCENTRATION2 | Detonator (blue sparkles) + 751 | EF_FIREBALL2 | Releasing summoned warlock spheres + 752 | EF_BUNSINJYUTSU2 | Like Energy Coat, but not as dark + 753 | EF_CLEARTIME | Clearance + 754 | EF_GLASSWALL3 | Green warp portal (root of Epiclesis) + 755 | EF_ORATIO | Oratio (spinning blue symbol) + 756 | EF_POTION_BERSERK2 | Enchant Blade (like Berserk Potion) + 757 | EF_CIRCLEPOWER | Third Class Aura (Middle) + 758 | EF_ROLLING1 | Rolling Cutter - Spin Count 1 + 759 | EF_ROLLING2 | Rolling Cutter - Spin Count 2 + 760 | EF_ROLLING3 | Rolling Cutter - Spin Count 3 + 761 | EF_ROLLING4 | Rolling Cutter - Spin Count 4 + 762 | EF_ROLLING5 | Rolling Cutter - Spin Count 5 + 763 | EF_ROLLING6 | Rolling Cutter - Spin Count 6 + 764 | EF_ROLLING7 | Rolling Cutter - Spin Count 7 + 765 | EF_ROLLING8 | Rolling Cutter - Spin Count 8 + 766 | EF_ROLLING9 | Rolling Cutter - Spin Count 9 + 767 | EF_ROLLING10 | Rolling Cutter - Spin Count 10 + 768 | EF_PURPLEBODY | Blinking + 769 | EF_STIN6 | Cross Ripper Slasher (flying knives) + 770 | EF_RG_COIN4 | Strip sound + 771 | EF_POISONWAV | Poison sound + 772 | EF_POISONSMOKE | Poison particles + 773 | EF_GUMGANG4 | Expanding purple aura (part of Phantom Menace) + 774 | EF_SHIELDBOOMERANG4 | Axe Boomerang + 775 | EF_CASTSPIN2 | Spinning character sprite + 776 | EF_VULCANWAV | Like Desperado sound effect + 777 | EF_AGIUP2 | Faded light from the ground [S] + 778 | EF_DETECT3 | Expanding white aura (like Clearance) + 779 | EF_AGIUP3 | Faded light from the ground [S] + 780 | EF_DETECT4 | Expanding red aura (from Infrared Scan) + 781 | EF_ELECTRIC3 | Magnetic Field (purple chains) + 782 | EF_GUARD4 | All-around shield [S] + 783 | EF_BOTTOM_BARRIER | Yellow shaft of light + 784 | EF_BOTTOM_STEALTH | White shaft of light + 785 | EF_REPAIRTIME | Upward flying wrenches + 786 | EF_NC_ANAL | Symbol with bleeping sound [S] + 787 | EF_FIRETHROW | Flare Launcher (line of fire) + 788 | EF_VENOMIMPRESS | Venom Impress (green skull) + 789 | EF_FROSTMISTY | Freezing Status Effect (two ancillas) + 790 | EF_BURNING | Burning Status Effect (flame symbol) + 791 | EF_COLDTHROW | Two ice shots + 792 | EF_MAKEHALLU | Upward streaming white particles + 793 | EF_HALLUTIME | Same, but more brief + 794 | EF_INFRAREDSCAN | Infrared Scan (red lasers) + 795 | EF_CRASHAXE | Power Swing (axe crash) + 796 | EF_GTHUNDER | Spinning blue triangles + 797 | EF_STONERING | Stapo + 798 | EF_INTIMIDATE2 | Red triangles (like Intimidate) + 799 | EF_STASIS | Stasis (expanding blue mist) [S] + 800 | EF_REDLINE | Hell Inferno (red lights) + 801 | EF_FROSTDIVER3 | Jack Frost unit (ice spikes) + 802 | EF_BOTTOM_BASILICA2 | White Imprison + 803 | EF_RECOGNIZED | Recognized Spell + 804 | EF_TETRA | Tetra Vortex [S] + 805 | EF_TETRACASTING | Tetra Vortex cast animation (blinking colors) + 806 | EF_FIREBALL3 | Flying by as fast as a rocket + 807 | EF_INTIMIDATE3 | Kidnapping sound + 808 | EF_RECOGNIZED2 | Like Recognized Spell, but one symbol + 809 | EF_CLOAKING3 | Shadowy filter [S] + 810 | EF_INTIMIDATE4 | Damp thud sound [S] + 811 | EF_STRETCH | Body Painting + 812 | EF_BLACKBODY | Black expanding aura + 813 | EF_ENERVATION | Masquerade - Enervation + 814 | EF_ENERVATION2 | Masquerade - Groomy + 815 | EF_ENERVATION3 | Masquerade - Ignorance + 816 | EF_ENERVATION4 | Masquerade - Laziness + 817 | EF_ENERVATION5 | Masquerade - Unlucky + 818 | EF_ENERVATION6 | Masquerade - Weakness + 819 | EF_LINELINK4 | (Nothing) + 820 | EF_RG_COIN5 | Strip Accessory + 821 | EF_WATERFALL_ANI | Waterfall + 822 | EF_BOTTOM_MANHOLE | Dimension Door (spinning blue aura) + 823 | EF_MANHOLE | in-the-manhole effect + 824 | EF_MAKEFEINT | Some filter + 825 | EF_FORESTLIGHT6 | Dimension Door (aura + blue light) + 826 | EF_DARKCASTING2 | Expanding black casting anim. + 827 | EF_BOTTOM_ANI | Chaos Panic (spinning brown aura) + 828 | EF_BOTTOM_MAELSTROM | Maelstrom (spinning pink aura) + 829 | EF_BOTTOM_BLOODYLUST | Bloody Lust (spinning red aura) + 830 | EF_BEGINSPELL_N1 | Blue aura (Arch Bishop cast animation) + 831 | EF_BEGINSPELL_N2 | Blue cone [S] + 832 | EF_HEAL_N | Sonic Wave + 833 | EF_CHOOKGI_N | (Nothing) + 834 | EF_JOBLVUP50_2 | Light shooting away circlish + 835 | EF_CHEMICAL2DASH2 | Fastness yellow-reddish + 836 | EF_CHEMICAL2DASH3 | Fastness yellow-pinkish + 837 | EF_ROLLINGCAST | Casting [S] + 838 | EF_WATER_BELOW | Watery aura + 839 | EF_WATER_FADE | [Client Error] + 840 | EF_BEGINSPELL_N3 | Red cone + 841 | EF_BEGINSPELL_N4 | Green cone + 842 | EF_BEGINSPELL_N5 | Yellow cone + 843 | EF_BEGINSPELL_N6 | White cone + 844 | EF_BEGINSPELL_N7 | Purple cone + 845 | EF_BEGINSPELL_N8 | light-bluish turquoise cone + 846 | EF_WATER_SMOKE | (Nothing) + 847 | EF_DANCE1 | Gloomy Day (white/red light rays) + 848 | EF_DANCE2 | Gloomy Day (white/blue light rays) + 849 | EF_LINKPARTICLE | (Nothing) + 850 | EF_SOULLIGHT2 | (Nothing) + 851 | EF_SPR_PARTICLE | Green mushy-foggy stuff (dull) + 852 | EF_SPR_PARTICLE2 | Green mushy-foggy stuff (bright) + 853 | EF_SPR_PLANT | Bright green flower area + 854 | EF_CHEMICAL_V | Blue beam of light with notes + 855 | EF_SHOOTPARTICLE | (Nothing) + 856 | EF_BOT_REVERB | Reverberation (red eighth notes) + 857 | EF_RAIN_PARTICLE | Severe Rainstorm (falling red and blue beams) + 858 | EF_CHEMICAL_V2 | Deep Sleep Lullaby (two red beams and music notes) + 859 | EF_SECRA | Holograph of text (blue) + 860 | EF_BOT_REVERB2 | Distorted note (blue) + 861 | EF_CIRCLEPOWER2 | Green aura (from Circle of Life's Melody) + 862 | EF_SECRA2 | Randomize Spell (holograph of text) + 863 | EF_CHEMICAL_V3 | Dominion Impulse (two spears of light) + 864 | EF_ENERVATION7 | Gloomy Day (colorful lines) + 865 | EF_CIRCLEPOWER3 | Blue aura (from Song of Mana) + 866 | EF_SPR_PLANT2 | Dance with a Warg (Wargs) + 867 | EF_CIRCLEPOWER4 | Yellow aura (from Dance with a Warg) + 868 | EF_SPR_PLANT3 | Song of Mana (Violies) + 869 | EF_RG_COIN6 | Strip sound [S] + 870 | EF_SPR_PLANT4 | Ghostly Succubuses of fire + 871 | EF_CIRCLEPOWER5 | Red aura (from Lerad's Dew) + 872 | EF_SPR_PLANT5 | Lerad's Dew (Minerals) + 873 | EF_CIRCLEPOWER6 | Stargate-wormhole stuff (bright purple) + 874 | EF_SPR_PLANT6 | Melody of Sink (Ktullanuxes) + 875 | EF_CIRCLEPOWER7 | Stargate-wormhole stuff (bright turquoise) + 876 | EF_SPR_PLANT7 | Warcry of Beyond (Garms) + 877 | EF_CIRCLEPOWER8 | Stargate-wormhole stuff (white) + 878 | EF_SPR_PLANT8 | Unlimited Humming Voice (Miyabi Ningyos) + 879 | EF_HEARTASURA | Siren's Voice (heart-like) + 880 | EF_BEGINSPELL_150 | Bluish castish cone + 881 | EF_LEVEL99_150 | Blue aura + 882 | EF_PRIMECHARGE | Whirl of fireflies (red) + 883 | EF_GLASSWALL4 | Epiclesis (transparent green tree) + 884 | EF_GRADIUS_LASER | Green beam + 885 | EF_BASH3D6 | Blue light beams + 886 | EF_GUMGANG5 | Blue castish cone + 887 | EF_HITLINE8 | Wavy sparks + 888 | EF_ELECTRIC4 | Earth Shaker (same as 432) + 889 | EF_TEIHIT1T | Fast light beams + 890 | EF_SPINMOVE | Rotation + 891 | EF_FIREBALL4 | Magic shots [S] + 892 | EF_TRIPLEATTACK4 | Fastness with hitting sound[S] + 893 | EF_CHEMICAL3S | Blue-white light passing by + 894 | EF_GROUNDSHAKE | (Nothing) + 895 | EF_DQ9_CHARGE | Big wheel of flat light beams + 896 | EF_DQ9_CHARGE2 | Still sun shaped lightning aura + 897 | EF_DQ9_CHARGE3 | Animated sun shaped lightning aura + 898 | EF_DQ9_CHARGE4 | Animated, curvy sun shaped lightning aura + 899 | EF_BLUELINE | White/red light shots from below + 900 | EF_SELFSCROLL | Animated, slow curvy sun shaped lightning aura + 901 | EF_SPR_LIGHTPRINT | Explosion + 902 | EF_PNG_TEST | Floating bedtable texture + 903 | EF_BEGINSPELL_YB | Castish flamey cone + 904 | EF_CHEMICAL2DASH4 | Yellow/pink lights passing by + 905 | EF_GROUNDSHAKE2 | Expanding circle + 906 | EF_PRESSURE2 | Shield Press (falling shield) + 907 | EF_RG_COIN7 | Chainy, metalish sound [S] + 908 | EF_PRIMECHARGE2 | Prestige (sphere of yellow particles) + 909 | EF_PRIMECHARGE3 | Banding (sphere of red particles) + 910 | EF_PRIMECHARGE4 | Inspiration (sphere of blue particles) + 911 | EF_GREENCASTING | Green castish animation [S] + 912 | EF_WALLOFTHORN | Wall of Thorns unit (green fog cloud) + 913 | EF_FIREBALL5 | Magic projectiles + 914 | EF_THROWITEM11 | (Nothing) + 915 | EF_SPR_PLANT9 | Crazy Weed + 916 | EF_DEMONICFIRE | Demonic Fire + 917 | EF_DEMONICFIRE2 | More angry, demonic flames + 918 | EF_DEMONICFIRE3 | Fire Insignia (demonic flames) + 919 | EF_HELLSPLANT | Hell's Plant (green snapping plant) + 920 | EF_FIREWALL2 | Fire Walk unit + 921 | EF_VACUUM | Vacuum Extreme (whirlwind) + 922 | EF_SPR_PLANT10 | Psychic Wave + 923 | EF_SPR_LIGHTPRINT2 | Poison Buster + 924 | EF_POISONSMOKE2 | Poisoning animation + 925 | EF_MAKEHALLU2 | Some filter + 926 | EF_SHOCKWAVE2 | Electric Walk unit + 927 | EF_SPR_PLANT11 | Earth Grave (speary roots) + 928 | EF_COLDTHROW2 | Ice cloud projectiles + 929 | EF_DEMONICFIRE4 | Warmer (field of flames) + 930 | EF_PRESSURE3 | Varetyr Spear (falling spear) + 931 | EF_LINKPARTICLE2 | (Nothing) + 932 | EF_SOULLIGHT3 | Firefly + 933 | EF_CHAREFFECT | [Client Crash] + 934 | EF_GUMGANG6 | White, castishly expanding cone + 935 | EF_FIREBALL6 | Green magic projectile + 936 | EF_GUMGANG7 | Red, castishly expanding cone + 937 | EF_GUMGANG8 | Yellow, castishly expanding cone + 938 | EF_GUMGANG9 | Dark-red, castishly expanding cone + 939 | EF_BOTTOM_DE2 | Blue, conish aura + 940 | EF_COLDSTATUS | Snow flake + 941 | EF_SPR_LIGHTPRINT3 | Explosion of red, demonic fire + 942 | EF_WATERBALL3 | Expanding, white dome + 943 | EF_HEAL_N2 | Green, fluffy projectile + 944 | EF_RAIN_PARTICLE2 | Falling gems + 945 | EF_CLOUD9 | (Nothing) + 946 | EF_YELLOWFLY3 | Floating lights + 947 | EF_EL_GUST | Blue lightning sphere + 948 | EF_EL_BLAST | Two blue lightning spheres + 949 | EF_EL_AQUAPLAY | Flat, spinning diamond + 950 | EF_EL_UPHEAVAL | Circling, planetlike spheres + 951 | EF_EL_WILD_STORM | Three lightning spheres + 952 | EF_EL_CHILLY_AIR | Flat, spinning gem and two lightning spheres + 953 | EF_EL_CURSED_SOIL | Spinning, planetlike spheres + 954 | EF_EL_COOLER | Two lightblue glowing spheres + 955 | EF_EL_TROPIC | Three spinning flame spheres + 956 | EF_EL_PYROTECHNIC | Flame + 957 | EF_EL_PETROLOGY | Spinning planetlike sphere + 958 | EF_EL_HEATER | Two flames + 959 | EF_POISON_MIST | Purple flame + 960 | EF_ERASER_CUTTER | Small yellow explosion + 961 | EF_SILENT_BREEZE | Cartoony whirlwind + 962 | EF_MAGMA_FLOW | Rising fire + 963 | EF_GRAYBODY | Dark filter (like Stone Curse) + 964 | EF_LAVA_SLIDE | Same as 920 + 965 | EF_SONIC_CLAW | Small white explosion + 966 | EF_TINDER_BREAKER | Bone crack + 967 | EF_MIDNIGHT_FRENZY | Another little explosion + 968 | EF_MACRO | + 969 | EF_CHEMICAL_ALLRANGE | + 970 | EF_TETRA_FIRE | + 971 | EF_TETRA_WATER | + 972 | EF_TETRA_WIND | + 973 | EF_TETRA_GROUND | + 974 | EF_EMITTER | + 975 | EF_VOLCANIC_ASH | + 976 | EF_LEVEL99_ORB1 | + 977 | EF_LEVEL99_ORB2 | + 978 | EF_LEVEL150 | + 979 | EF_LEVEL150_SUB | + 980 | EF_THROWITEM4_1 | + 981 | EF_THROW_HAPPOKUNAI | + 982 | EF_THROW_MULTIPLE_COIN | + 983 | EF_THROW_BAKURETSU | + 984 | EF_ROTATE_HUUMARANKA | + 985 | EF_ROTATE_BG | + 986 | EF_ROTATE_LINE_GRAY | + 987 | EF_2011RWC | + 988 | EF_2011RWC2 | + 989 | EF_KAIHOU | + 990 | EF_GROUND_EXPLOSION | + 991 | EF_KG_KAGEHUMI | + 992 | EF_KO_ZENKAI_WATER | + 993 | EF_KO_ZENKAI_LAND | + 994 | EF_KO_ZENKAI_FIRE | + 995 | EF_KO_ZENKAI_WIND | + 996 | EF_KO_JYUMONJIKIRI | + 997 | EF_KO_SETSUDAN | + 998 | EF_RED_CROSS | + 999 | EF_KO_IZAYOI | +1000 | EF_ROTATE_LINE_BLUE | +1001 | EF_KG_KYOMU | +1002 | EF_KO_HUUMARANKA | +1003 | EF_BLUELIGHTBODY | +1004 | EF_KAGEMUSYA | +1005 | EF_OB_GENSOU | +1006 | EF_NO100_FIRECRACKER | +1007 | EF_KO_MAKIBISHI | +1008 | EF_KAIHOU1 | +1009 | EF_AKAITSUKI | +1010 | EF_ZANGETSU | +1011 | EF_GENSOU | +1012 | EF_HAT_EFFECT | +1013 | EF_CHERRYBLOSSOM | +1014 | EF_EVENT_CLOUD | +1015 | EF_RUN_MAKE_OK | +1016 | EF_RUN_MAKE_FAILURE | +1017 | EF_MIRESULT_MAKE_OK | +1018 | EF_MIRESULT_MAKE_FAIL | +1019 | EF_ALL_RAY_OF_PROTECTION | +1020 | EF_VENOMFOG | +1021 | EF_DUSTSTORM | +1022 | EF_LEVEL160 | +1023 | EF_LEVEL160_SUB | +1024 | EF_MAPCHAIN | +1025 | EF_MAGIC_FLOOR | +1026 | EF_ICEMINE | +1027 | EF_FLAMECORSS | +1028 | EF_ICEMINE_1 | +1029 | EF_DANCE_BLADE_ATK | +1030 | EF_DARKPIERCING | +1031 | EF_INVINCIBLEOFF2 | +1032 | EF_MAXPAIN | +1033 | EF_DEATHSUMMON | +1034 | EF_MOONSTAR | +1035 | EF_STRANGELIGHTS | +1036 | EF_SUPER_STAR | +1037 | EF_YELLOBODY | +1038 | EF_COLORPAPER2 | +1039 | EF_EVILS_PAW | +1040 | EF_GC_DARKCROW | +1041 | EF_RK_DRAGONBREATH_WATER | +1042 | EF_ALL_FULL_THROTTLE | +1043 | EF_SR_FLASHCOMBO | +1044 | EF_RK_LUXANIMA | +1045 | EF_CLOUD10 | +1046 | EF_SO_ELEMENTAL_SHIELD | +1047 | EF_AB_OFFERTORIUM | +1048 | EF_WL_TELEKINESIS_INTENSE | +1049 | EF_GN_ILLUSIONDOPING | +1050 | EF_NC_MAGMA_ERUPTION | +1051 | EF_LG_KINGS_GRACE | +1052 | EF_BLOODDRAIN2 | +1053 | EF_NPC_WIDEWEB | +1054 | EF_NPC_BURNT | +1055 | EF_NPC_CHILL | +1056 | EF_RA_UNLIMIT | +1057 | EF_AB_OFFERTORIUM_RING | +1058 | EF_SC_ESCAPE | +1059 | EF_WM_FRIGG_SONG | +1060 | EF_FLICKER | +1061 | EF_C_MAKER | +1062 | EF_HAMMER_OF_GOD | +1063 | EF_MASS_SPIRAL | +1064 | EF_FIRE_RAIN | +1065 | EF_WHITEBODY | +1066 | EF_BANISHING_BUSTER | +1067 | EF_SLUGSHOT | +1068 | EF_D_TAIL | +1069 | EF_BIND_TRAP1 | +1070 | EF_BIND_TRAP2 | +1071 | EF_BIND_TRAP3 | +1072 | EF_JUMPBODY1 | +1073 | EF_ANIMATED_EMITTER | +1074 | EF_RL_EXPLOSION | +1075 | EF_C_MAKER_1 | +1076 | EF_QD_SHOT | +1077 | EF_P_ALTER | +1078 | EF_S_STORM | +1079 | EF_MUSIC_HAT | +1080 | EF_CLOUD_KILL | +1081 | EF_ESCAPE | +1082 | EF_XENO_SLASHER | +1083 | EF_FLOWERSMOKE | +1084 | EF_FSTONE | +1085 | EF_QSCARABA | +1086 | EF_LJOSALFAR | +1087 | EF_HAPPINESSSTAR | +1088 | EF_POWER_OF_GAIA | +1089 | EF_MAPLE_FALLS | +1090 | EF_MARKING_USE_CHANGEMONSTER | +1091 | EF_MAGICAL_FEATHER | +1092 | EF_MERMAID_LONGING | +1093 | EF_GIFT_OF_SNOW | +1094 | EF_ACH_COMPLETE | +1095 | EF_TIME_ACCESSORY | +1096 | EF_SPRITEMABLE | +1097 | EF_TUNAPARTY | diff --git a/doc/effect_list.txt b/doc/effect_list.txt deleted file mode 100644 index 01ea2753b..000000000 --- a/doc/effect_list.txt +++ /dev/null @@ -1,986 +0,0 @@ -//===== Hercules Documentation =============================== -//= Client Effects List -//===== By: ================================================== -//= Hercules Dev Team -//===== Current Version: ===================================== -//= 20120822 -//===== Description: ========================================= -//= A list of client-side effects sorted by ID. -//============================================================ - -The following is a compiled list of visual and sound effects which the client -can produce when receiving a packet with id 0x1f3 (01f3 <ID>.l <type>.l). -Each list entry contains a number and a short description of the effect. -You can produce these effects ingame by doing "@effect <number> 22" (22=self). -It's also possible to attach effects to item/npc scripts by using 'misceffect'. - -Number Description ------- ----------- -0. Regular Hit -1. Bash -2. Melee Skill Hit -3. Melee Skill Hit -4. Melee Skill Hit -5. Melee Skill Hit -6. Being Warped -7. Item Heal effect -8. Yellow Ripple Effect -9. Different Type of Heal -10. Mammonite -11. Endure -12. Yellow cast aura -13. Blue Box -14. Blue restoring effect -15. Soul Strike -16. Hide -17. Magnum Break -18. Steal -19. (Invalid) -20. Envenom/Poison -21. Detoxify -22. Sight -23. Stone Curse -24. Fire Ball -25. Fire Wall -26. A sound (a swipe?) -27. Frost Diver (Traveling to Target) -28. Frost Diver (Hitting) -29. Lightning Bolt -30. Thunder Storm -31. Weird bubbles launching from feet -32. Small clustered explosions -33. Ruwach -34. Old Map Exit Animation (unused) -35. Old Warp Portal (unused) -36. Old Warp Portal (unused) -37. AGI Up -38. AGI Down -39. Aqua Benedicta -40. Signum Crucis -41. Angelus -42. Blessing -43. Dex + Agi Up -44. Little Fog Smoke. -45. Faint Little Ball Things. -46. Sand Wind -47. Torch -48. Small Piece of Glass -49. Firebolt/Wall Hits -50. Spinning Fire Thing -51. Ice Elemental Hit -52. Wind Elemental Hit -53. Puff of Purpulish Smoke? -54. Cast Initiation Aura (Water Element) -55. Cast Initiation Aura (Fire Element) -56. Cast Initiation Aura (Wind Element) -57. Cast Initiation Aura (Earth Element) -58. Cast Initiation Aura (Holy Element) -59. Cast Initiation Aura (Poison Element) -60. Cast target circle -61. Old Warp Portal (NPC Warp, unused) -62. Sight Trasher -63. Moonlight Sphere -64. Something Like Puruple/Yellow Light Bullet -65. Something Like Absorb of Power -66. Cure -67. Provoke -68. MVP Banner -69. Skid Trap -70. Brandish Spear -71. Spiral White balls -72. Bigger Spiral White balls -73. Blue/White Small Aura -74. Ice Wall -75. Gloria -76. Magnificat -77. Resurrection -78. Status Recovery -79. Earth Spike -80. Spear Boomerang -81. Skill hit -82. Turn Undead -83. Sanctuary -84. Impositio Manus -85. Lex Aeterna -86. Aspersio -87. Lex Divina -88. Suffragium -89. Storm Gust -90. Lord of Vermilion -91. B. S. Sacramenti -92. Meteor Storm -93. Jupitel Thunder (Ball) -94. Jupitel Thunder (Hit) -95. Quagmire -96. Fire Pillar -97. Fire Pillar/Land Mine hit -98. Adrenaline Rush -99. Flasher Trap -100. Yellow ball fountain -101. Weapon Repair -102. Hammerfall -103. Weapon Perfection -104. Maximize Power -105. (nothing) -106. Blast Mine Trap -107. Claymore Trap -108. Freezing Trap -109. Bailaban Blue bubble Map Effect -110. Trap Used by Giearth -111. Spring Trap -112. Kyrie Eleison -113. Magnus Exorcismus -114. Old Magnus Exorcismus Map Unit (unused) -115. Blitz Beat -116. Fling Watersphere -117. Waterball -118. Fling Firesphere -119. Detect -120. Cloaking -121. Sonic Blow (Part 1/2) -122. Multi hit effect -123. Grimtooth Cast -124. Venom Dust -125. Enchant Poison -126. Poison React -127. Small Posion React -128. Over Thrust -129. Venom Splasher Explosion -130. Two-Hand Quicken -131. Auto-Counter Hit -132. Grimtooth Hit -133. Ice Effect (Used by NPCs) -134. Ice Effect (Used by NPCs) -135. Ice Effect (Used by NPCs) -136. Slow Poison -137. Old Sanctuary Map Unit (unused) -138. Fire pillar -139. Sandman Trap -140. Ressurection Aura -141. Pneuma -142. Heaven's Drive -143. Sonic Blow (Part 2/2) -144. Brandish Spear Pre-Hit Effect -145. Shockwave Trap -146. Shockwave Trap Hit -147. Pierce Hit -148. Pierce Cast Animation -149. Bowling Bash -150. Pierce Cast Animation -151. Spear Boomerang Cast -152. Turn Undead -153. Increase Concentration -154. Refine Success -155. Refine Fail -156. jobchange.str not found error -157. levelup.str not found error -158. Job Level Up -159. PvP circle -160. PvP Party Circle -161. (Nothing) -162. Snow -163. White Sakura Leaves -164. (Nothing) -165. Comodo Fireworks Ball -166. Energy Coat (Visual Effect) -167. (Nothing) -168. (Nothing) -169. Energy Coat Animation -170. Cart Revolution -171. Venom Dust Map Unit -172. Change Element (Dark) -173. Change Element (Fire) -174. Change Element (Water) -175. Change Element (Wind) -176. Change Element (Fire) -177. Change Element (Earth) -178. Change Element (Holy) -179. Change Element (Poison) -180. Darkness Attack -181. Mental Breaker -182. Magical Hit -183. Self Destruction -184. (Nothing) -185. (Nothing) -186. Combo Attack 1 -187. Combo Attack 2 -188. Combo Attack 3 -189. Combo Attack 4 -190. Combo Attack 5 -191. Guided Attack -192. Poison Attack -193. Silence Attack -194. Stun Attack -195. Petrify Attack -196. Curse Attack -197. Sleep Attack -198. (Nothing) -199. Small Popping Bubble Map Effect -200. Normal level 99 Aura (Middle) -201. Normal level 99 Aura (Bottom) -202. Lv 99 Aura Bubble -203. Fury (Visual Effect) -204. Red Herb/Potion -205. Orange Potion -206. Yellow Herb/Potion -207. White Herb/Potion -208. Blue Herb/Potion -209. Green Herb/Potion -210. Yellow Circle Healing Effect -211. Blue Circle Healing Effect -212. Dark Breath -213. Defender -214. Keeping -215. Summon Slave -216. Blood Drain -217. Energy Drain -218. Concentration Potion -219. Awakening Potion -220. Berserk Potion -221. Intense light beam -222. Defender (Crusader) -223. Holy Cast Aura -224. Wind (Map effect) -225. Volcano casting effect -226. Grand Cross Effect -227. Snatch -228. (Nothing) -229. (Nothing) -230. (Nothing) -231. Map Light Pillar Animation 1 -232. Sacrifice (Visual Effect) -233. Fog -234. Spell Breaker -235. Dispell -236. Deluge Cast Aura -237. Violent Gale Cast Aura -238. Magnetic Earth Cast Aura -239. Volcano (Visual Effect) -240. Deluge (Visual Effect) -241. Violent Gale (Visual Effect) -242. Magnetic Earth (Visual Effect) -243. (Invalid) -244. Magic Rod -245. Holy Cross -246. Shield Charge -247. Map Light Pillar Animation 2 -248. Resistant Souls -249. Shield Boomerang -250. Spear Quicken -251. Devotion -252. Reflect Shield -253. Absorb Spirit Spheres -254. Mental Strength (Visual Effect) -255. Elemental Endow (Fire) -256. Elemental Endow (Water) -257. Elemental Endow (Wind) -258. Elemental Endow (Earth) -259. Map Light Pillar Animation 3 -260. Map Light Pillar Animation 4 -261. Fury Cast Animation -262. Raging Quadruple Blow -263. Raging Quadruple Blow 2 -264. (Nothing) -265. Throw Spirit Sphere -266. Raging Quadruple Blow 3 -267. Occult Impaction -268. Steal Coin -269. Divest Weapon -270. Divest Shield -271. Divest Armor -272. Divest Helm -273. Raging Quadruple Blow 4 -274. Steal Coin Animation -275. Back Stab Animation -276. Raging Thrust -277. Dissoance Map Unit -278. Lullaby Map Unit -279. Mr Kim a Rich Man Map Unit -280. Eternal Chaos Map Unit -281. A Drum on the Battlefield Map Unit -282. The Ring Of Nibelungen Map Unit -283. Loki's Veil Map Unit -284. Into the Abyss Map Unit -285. Invunerable Siegfriend Map Unit -286. A Wistle Map Unit -287. Assassin Cross of Sunset Map Unit -288. A Poem of Bragi Map Unit -289. The Apple Of Idun Map Unit -290. Ugly Dance Map Unit -291. Humming Map Unit -292. Please don't Forget Me Map Unit -293. Fortune's Kiss Map Unit -294. Service For You Map Unit -295. Frost Joke -296. Scream -297. Fire Works (Visual Effect) -298. Acid Terror Animnation -299. (Nothing) -300. Chemical Protection -301. Fire Works (Sound Effect) -302. Bomb -303. (Unused) -304. Teleportation Animation -305. Pharmacy Success -306. Pharmacy Failed -307. Forest Light 1 -308. Throw Stone -309. First Aid -310. Sprinkle Sand -311. Crazy Uproar -312. Heal Effect -313. Heal Effect 2 -314. Old Map Exit effect (Unused) -315. Safety Wall -316. Warp Portal Animation 1 -317. Warp Portal Animation 2 -318. Magnus Exorcisimus Map Unit -319. Sanctuary Map Unit -320. Offensive Heal -321. Warp NPC -322. Forest Light 2 -323. Forest Light 3 -324. Forest Light 4 -325. Heal Effect 4 -326. Chase Walk Left Foot -327. Chse Walk Right Foot -328. Monk Asura Strike -329. Triple Strike -330. Combo Finish -331. Natural HP Regeneration -332. Natural SP Regeneration -333. Autumn Leaves -334. Blind -335. Poison -336. Kyrie Eleison/Parrying Shield -337. Class Change -338. Super Novice/Taekwon Level Up Angel -339. Spiral Pierce -340. (Nothing) -341. Wedding Warp Portal -342. Wedding Skill -343. Another Merry Skill -344. Character map entry effect -345. Wings (Animated) -346. Like Moonlight But Blue -347. Wedding Ceremony -348. Like 1000 Blade trepassing -349. Waterfall (Horizonatal) -350. Waterfall (Vertical) -351. Small Waterfall (Horizonatal) -352. Small Waterfall (Vertical) -353. Dark Waterfall (Horizonatal) -354. Dark Waterfall (Vertical) -355. Dark Small Waterfall (Horizonatal) -356. Dark Small Waterfall (Vertical) -357. (Nothing) -358. Niflheim Ghost -359. Niflheim Bat Slow -360. Niflheim Bat Fast -361. Soul Destroyer -362. Trancendant Level 99 Aura 1 -363. Valentine Day Heart With Wings -364. Valentine Day Heart -365. Gloria Domini -366. Martyr's Reckoning -367. Aura Blade -368. Berserk -369. Concentration -370. Gospel Map Unit -371. Level Up -372. Death -373. House Smoke -374. Basilica -375. Assumptio (Visual Effect) -376. Palm Strike -377. Matyr's Reckoning 2 -378. Soul Drain (1st Part) -379. Soul Drain (2nd Part) -380. Magic Crasher -381. Blue Starburst (Unknown use) -382. (Nothing) -383. Health Conversion -384. Soul Change (Sound Effect) -385. Soul Change (Visual Effect) -386. True Sight -387. Falcon Assault -388. Focused Arrow Strike (Sound Effect) -389. Wind Walk -390. Shattering Strike -391. Cart Boost -392. Reject Sword -393. Arrow Vulcan -394. Sheltering Bliss -395. Marionette Control (Sound Effect) -396. Marionette Control (Visual Effect) -397. Trancended 99 Aura (Middle) -398. Trancended 99 Aura (Bottom) -399. Head Crush -400. Joint Beat -401. Napalm Vulcan Sound -402. Dangerous Soul Collect -403. Mind Breaker -404. Fiber Lock -405. Wall Of Fog -406. Soul Burn -407. Soul Change -408. Mom, Dad, I love you! (Baby Skill) -409. Meteor Assault -410. Rainbow -411. Leap -412. Like Throw Spirit Sphere -413. Axe Kick -414. Round Kick -415. Counter Kick -416. (Nothing) -417. Flash -418. Warmth Lightning -419. Kaite (Visual Effect) -420. Eswoo (Small) (Visual Effect) -421. Eswoo (Alt. Small) (Visual Effect) -422. Eswoo (Normal) (Visual Effect) -423. Eswoo (Alt. Normal) (Visual Effect) -424. Spirit Link (Visual Effect) -425. Esma Hit (Visual Effect) -426. Sprint Collision (Visual Effect) -427. (Nothing) -428. (Nothing) -429. Taekwon Kick Hit 1 -430. Taekwon Kick Hit 2 -431. Taekwon Kick Hit 3 -432. Solar, Lunar and Stellar Perception (Visual Effect) -433. Solar, Lunar and Stellar Opposition (Visual Effect) -434. Taekwon Kick Hit 4 -435. Whirlwind Kick -436. White Barrier (Unused) -437. White barrier 2 (Unused) -438. Kaite Reflect Animation -439. Flying Side Kick -440. Assumptio (Animation) -441. Comfort Skills Cast Aura -442. Foot Prints caused by Sprint. -443. (Nothing) -444. Sprint Stop Animation -445. High Jump (Jump) -446. High Jump (Return Down) -447. Running Left Foot -448. Running Right Foot -449. KA-Spell (1st Part) -450. Darkcross -451. Dark Strike -452. Something Like Jupitel Thunder -453. Paralized -454. Like Blind -455. Another Warmth Lightning -456. Power Up -457. Flying Side Kick (2nd Part) -458. Running/Sprint (running into a wall) -459. Brown tornado that spins sprite (unused) -460. Green tornado (unused) -461. Blue tornado (unused) -462. Kaupe Dodge Effect -463. Kaupe Dodge Effect -464. White tornado (unused) -465. Purple tornado (unused) -466. Another Round Kick -467. Warm/Mild Wind (Earth) -468. Warm/Mild Wind (Wind) -469. Warm/Mild Wind (Water) -470. Warm/Mild Wind (Fire) -471. Warm/Mild Wind (Undead) -472. Warm/Mild Wind (Shadow) -473. Warm/Mild Wind (Holy) -474. (Nothing) -475. Demon of The Sun Moon And Stars (Level 1) -476. Demon of The Sun Moon And Stars (Level 2) -477. Demon of The Sun Moon And Stars (Level 3) -478. Demon of The Sun Moon And Stars (Level 4) -479. Demon of The Sun Moon And Stars (Level 5) -480. Demon of The Sun Moon And Stars (Level 6) -481. Demon of The Sun Moon And Stars (Level 7) -482. Demon of The Sun Moon And Stars (Level 8) -483. Demon of The Sun Moon And Stars (Level 9) -484. Demon of The Sun Moon And Stars (Level 10) -485. Mental Strength Lightning but White -486. Mental Strength Lightning -487. Demon of The Sun Moon And Stars Ground Effect -488. Comfort Skills -489. (Nothing) -490. (Nothing) -491. Element Potions -492. Cooking Foods -493. Enchant Deadly Poison -494. Throwing Tomahawk -495. Full Strip Sound -496. Preserve -497. Twilight Alchemy 1 -498. Twilight Alchemy 2 -499. Twilight Alchemy 3 -500. Player Become Blue with Blue Aura -501. Chase Walk Animation -502. Player Become Yellow with Yellow Aura -503. Soul Link Word -504. (Nothing) -505. Memorize -506. (Nothing) -507. Authoritative Badge -508. Fire Cracker -509. Valentine Day Hearth (Wings) -510. Champion Asura Strike -511. (Nothing) -512. Chain Crush Combo -513. Area Cast -514. Really Big Circle -515. Einbroch Fog -516. Airship Cloud -517. (Nothing) -518. Cart Termination -519. Speed Down Potion -520. Shield Bumerang -521. Player Become Red with Red Aura -522. Gravitation Field -523. Tarot Card of Fate (The Fool) -524. Tarot Card of Fate (The Magician) -525. Tarot Card of Fate (The High Priestess) -526. Tarot Card of Fate (The Chariot) -527. Tarot Card of Fate (Strength) -528. Tarot Card of Fate (The Lovers) -529. Tarot Card of Fate (The Wheel of Fortune) -530. Tarot Card of Fate (The Hanged Man) -531. Tarot Card of Fate (Death) -532. Tarot Card of Fate (Temperance) -533. Tarot Card of Fate (The Devil) -534. Tarot Card of Fate (The Tower) -535. Tarot Card of Fate (The Star) -536. Tarot Card of Fate (The Sun) -537. Acid Demonstration -538. Player Become Green with Green Aura -539. Throw Random Bottle -540. Instant Small->Normal -541. (Nothing) -542. KA-Spell (1st Part) -543. Kahii -544. Warmth Red Sprite -545. Sound And... PUFF Client Crash :P -546. Kaupe -547. Estin -548. Instant Red Sprite -549. Instant Blue Sprite -550. Another Effect like Running Hit -551. Effect Like Estun but with Circle -552. (Nothing) -553. Esma -554. Large White Cloud -555. Estun -556. (Nothing) -557. Juperos Energy Waterfall (Horizontal) -558. Juperos Energy Waterfall (Vertical) -559. Juperos Energy Waterfall Fast (Horizontal) -560. Juperos Energy Waterfall Fast (Vertical) -561. Juperos Warp -562. Juperos Warp -563. Earthquake Effect (Juperos Elevator) -564. Wedding Cast -565. Filir Moonlight Lvl 1 -566. Filir Moonlight Lvl 2 -567. Filir Moonlight Lvl 3 -568. Another Job Level Up -569. Amistr Bulwark -570. Amistr Castling -571. Amistr Bloodlust -572. Warmth Soul -573. Twilight Alchemy 1 -574. Twilight Alchemy 2 -575. Twilight Alchemy 3 -576. Box Effect (Thunder) -577. Box Effect (Cloud) -578. Box Effect (Curse) -579. Box Effect (Sleep) -580. Box Effect (Rain) -581. Box Effect (Sunlight) -582. Another Super Novice/Taekwon Angel -583. Warmth Hit -584. Full Buster -585. 5 Medium Size Explosion -586. Somatology Lab Mobs Aura -587. Big Purple Flame -588. Little Red Flame -589. Eswoo -590. Running Stop -591. (Nothing) -592. Thanatos Tower Bloody Clouds -593. Food Effect (STR) -594. Food Effect (INT) -595. Food Effect (VIT) -596. Food Effect (AGI) -597. Food Effect (DEX) -598. Food Effect (LUK) -599. Cast Time Sound and Flashing Animation on Player -600. Throw Venom Knife -601. Sight Blaster -602. Close Confine (Grab Effect) -603. Spinning fire ball (like 50, but smaller) -604. Close Confine (Ground Effect) -605. (Nothing) -606. Pang Voice (Visual Effect) -607. Wink of Charm (Visual Effect) -608. Cooking Success -609. Cooking Failed -610. Success -611. Failed -612. Korean Words and /no1 Emoticon -613. Throw Shuriken -614. Throw Kunai -615. Throw Fumma Shuriken -616. Throw Money -617. Illusionary Shadow -618. Crimson Fire Bolossom -619. Lightning Spear Of Ice -620. Water Escape Technique -621. Wind Blade -622. Lightning Crash -623. Piercing Shot -624. Kamaitachi -625. Madness Canceller -626. Adjustment -627. Disarm (Sound Effect) -628. Dust -629. (Nothing) -630. Shadow Slash -631. Reverse Tatami Map Unit -632. Mist Slash -633. Final Strike -634. Crimson Fire Formation -635. Dragon Fire Formation -636. Falling Ice Pillar -637. Desperado -638. Ground Drift Grenade -639. Ground Drift Grenade -640. Ground Drift Grenade -641. Ground Drift Grenade -642. Ground Drift Grenade -643. Rapid Shower -644. Magic Bullet -645. Spread Attack -646. Tracking (Shown While Casting) -647. Tracking -648. Triple Action -649. Bull's Eye -650. Ice Cave Level 4 Circle -651. Ice Cave Level 4 Big Circle -652. Like Regeneration Number but Red with a Sound -653. Like Regeneration Number but Red -654. Like Regeneration Number but Purple -655. Mobs Skill (Change Undead Element) -656. Last animation before Change Undead Element finish -657. (Nothing) -658. (Nothing) -659. (Nothing) -660. (Nothing) -661. (Nothing) -662. (Nothing) -663. (Nothing) -664. (Nothing) -665. Little Blue Ball Falling From the Sky -666. Earthquake -667. (Nothing) -668. Dragonfear -669. Wide Bleeding -670. Dragon fear (Visual Effect) -671. The Japan Earth Symbol (like 'Seven Wind Lv1', but on the ground) -672. The Japan Wind Symbol (like 'Seven Wind Lv2', but on the ground) -673. Map turns Blue (like Soul Link) -674. Evil Land Cell -675. Like Parrying/Kyrie Eleison barrier but Yellow with small Cross in every barrier piece -676. Slow Casting -677. Critical Wounds/Bleeding Attack -678. White 99 Aura Bubbles -679. Green Aura (Middle) -680. Green Aura (Bottom) -681. Dimensional Gorge Map Effect -682. I Love You Banner -683. Happy White Day Banner -684. Happy Valentine Day Banner -685. Happy Birthday Banner -686. Merry Christmas Banner -687. Cast Circle-Like effect 1 -688. Cast Circle-Like effect 2 -689. Endless Tower Map Effect -690. Burning Flame (Red) -691. Burning Flame (Green) -692. Unknown Aura Bubbles (Small ghosts) -693. Translucent yellow circle -694. Translucent green circle -695. Rotating green light -696. The same of 690 and 691 but Blue/Purple -697. (Nothing) -698. (Nothing) -699. Fall of powder from the sky and raise of some leaf -700. Big Colored Green Sphere. -701. Huge Blue Sphere -702. Little Colored Violet Sphere -703. Light Infiltration with fall of pownder -704. Client Error (mobile_ef02.str) -705. Client Error (mobile_ef01.str) -706. Client Error (mobile_ef03.str) -707. Client Crash :P -708. Storm Gust (same as 89) -709. A Firework that split in 4 mini fireworks -710. A Sphere like Effect 701 but Green, and a bit more larger -711. A big violet wall -712. A Little Flame Sphere -713. A lot of Very Small and Yellow Sphere -714. (Nothing) -715. Little blue Basilica -716. Same as 715 -717. Christmas Carol (copy of Angelus) -718. Judex (Visual Effect) -719. Renovatio (light beam) -720. Yellow version of Soul Breaker -721. Adoramus (lightning bolt) -722. Ignition Break (big explosion) -723. Hundred Spear (sound effect) -724. Green version of Detecting -725. Oratorio (like Detecting) -726. Frost Misty (blue vapor and bubbles) -727. Crimson Rock -728. Small fire (part of Hell Inferno) -729. Marsh of Abyss (like Close Confine) -730. Small, cartoony explosion (part of Soul Expansion) -731. Dragon Howling (blinking, expanding circle) -732. Spike from the ground -733. Fluffy Ball flying by -734. Chain Lightning -735. (Nothing) -736. (Nothing) -737. (Nothing) -738. (Nothing) -739. Old Magenta Trap -740. Old Cobald Trap -741. Old Maize Trap -742. Old Verdure Trap -743. White Ranger Trap -744. Camouflage -745. Aimed Bolt (crosshairs) -746. Arrow Storm -747. Falling white feathers -748. Falling blue feathers -749. Millennium Shield -750. Detonator (blue sparkles) -751. Releasing summoned warlock spheres -752. Like Energy Coat, but not as dark -753. Clearance -754. Green warp portal (root of Epiclesis) -755. Oratio (spinning blue symbol) -756. Enchant Blade (like Berserk Potion) -757. Third Class Aura (Middle) -758. Rolling Cutter - Spin Count 1 -759. Rolling Cutter - Spin Count 2 -760. Rolling Cutter - Spin Count 3 -761. Rolling Cutter - Spin Count 4 -762. Rolling Cutter - Spin Count 5 -763. Rolling Cutter - Spin Count 6 -764. Rolling Cutter - Spin Count 7 -765. Rolling Cutter - Spin Count 8 -766. Rolling Cutter - Spin Count 9 -767. Rolling Cutter - Spin Count 10 -768. Blinking -769. Cross Ripper Slasher (flying knives) -770. Strip sound -771. Poison sound -772. Poison particles -773. Expanding purple aura (part of Phantom Menace) -774. Axe Boomerang -775. Spinning character sprite -776. Like Desperado sound effect -777. Faded light from the ground [S] -778. Expanding white aura (like Clearance) -779. Faded light from the ground [S] -780. Expanding red aura (from Infrared Scan) -781. Magnetic Field (purple chains) -782. All-around shield [S] -783. Yellow shaft of light -784. White shaft of light -785. Upward flying wrenches -786. Symbol with bleeping sound [S] -787. Flare Launcher (line of fire) -788. Venom Impress (green skull) -789. Freezing Status Effect (two ancillas) -790. Burning Status Effect (flame symbol) -791. Two ice shots -792. Upward streaming white particles -793. Same, but more brief -794. Infrared Scan (red lasers) -795. Power Swing (axe crash) -796. Spinning blue triangles -797. Stapo -798. Red triangles (like Intimidate) -799. Stasis (expanding blue mist) [S] -800. Hell Inferno (red lights) -801. Jack Frost unit (ice spikes) -802. White Imprison -803. Recognized Spell -804. Tetra Vortex [S] -805. Tetra Vortex cast animation (blinking colors) -806. Flying by as fast as a rocket -807. Kidnapping sound -808. Like Recognized Spell, but one symbol -809. Shadowy filter [S] -810. Damp thud sound [S] -811. Body Painting -812. Black expanding aura -813. Masquerade - Enervation -814. Masquerade - Groomy -815. Masquerade - Ignorance -816. Masquerade - Laziness -817. Masquerade - Unlucky -818. Masquerade - Weakness -819. (Nothing) -820. Strip Accessory -821. Waterfall -822. Dimension Door (spinning blue aura) -823. in-the-manhole effect -824. Some filter -825. Dimension Door (aura + blue light) -826. Expanding black casting anim. -827. Chaos Panic (spinning brown aura) -828. Maelstrom (spinning pink aura) -829. Bloody Lust (spinning red aura) -830. Blue aura (Arch Bishop cast animation) -831. Blue cone [S] -832. Sonic Wave -833. (Nothing) -834. Light shooting away circlish -835. Fastness yellow-reddish -836. Fastness yellow-pinkish -837. Casting [S] -838. Watery aura -839. [Client Error] -840. Red cone -841. Green cone -842. Yellow cone -843. White cone -844. Purple cone -845. light-bluish turquoise cone -846. (Nothing) -847. Gloomy Day (white/red light rays) -848. Gloomy Day (white/blue light rays) -849. (Nothing) -850. (Nothing) -851. Green mushy-foggy stuff (dull) -852. Green mushy-foggy stuff (bright) -853. Bright green flower area -854. Blue beam of light with notes -855. (Nothing) -856. Reverberation (red eighth notes) -857. Severe Rainstorm (falling red and blue beams) -858. Deep Sleep Lullaby (two red beams and music notes) -859. Holograph of text (blue) -860. Distorted note (blue) -861. Green aura (from Circle of Life's Melody) -862. Randomize Spell (holograph of text) -863. Dominion Impulse (two spears of light) -864. Gloomy Day (colorful lines) -865. Blue aura (from Song of Mana) -866. Dance with a Warg (Wargs) -867. Yellow aura (from Dance with a Warg) -868. Song of Mana (Violies) -869. Strip sound [S] -870. Ghostly Succubuses of fire -871. Red aura (from Lerad's Dew) -872. Lerad's Dew (Minerals) -873. Stargate-wormhole stuff (bright purple) -874. Melody of Sink (Ktullanuxes) -875. Stargate-wormhole stuff (bright turquoise) -876. Warcry of Beyond (Garms) -877. Stargate-wormhole stuff (white) -878. Unlimited Humming Voice (Miyabi Ningyos) -879. Siren's Voice (heart-like) -880. Bluish castish cone -881. Blue aura -882. Whirl of fireflies (red) -883. Epiclesis (transparent green tree) -884. Green beam -885. Blue light beams -886. Blue castish cone -887. Wavy sparks -888. Earth Shaker (same as 432) -889. Fast light beams -890. Rotation -891. Magic shots [S] -892. Fastness with hitting sound[S] -893. Blue-white light passing by -894. (Nothing) -895. Big wheel of flat light beams -896. Still sun shaped lightning aura -897. Animated sun shaped lightning aura -898. Animated, curvy sun shaped lightning aura -899. White/red light shots from below -900. Animated, slow curvy sun shaped lightning aura -901. Explosion -902. Floating bedtable texture -903. Castish flamey cone -904. Yellow/pink lights passing by -905. Expanding circle -906. Shield Press (falling shield) -907. Chainy, metalish sound [S] -908. Prestige (sphere of yellow particles) -909. Banding (sphere of red particles) -910. Inspiration (sphere of blue particles) -911. Green castish animation [S] -912. Wall of Thorns unit (green fog cloud) -913. Magic projectiles -914. (Nothing) -915. Crazy Weed -916. Demonic Fire -917. More angry, demonic flames -918. Fire Insignia (demonic flames) -919. Hell's Plant (green snapping plant) -920. Fire Walk unit -921. Vacuum Extreme (whirlwind) -922. Psychic Wave -923. Poison Buster -924. Poisoning animation -925. Some filter -926. Electric Walk unit -927. Earth Grave (speary roots) -928. Ice cloud projectiles -929. Warmer (field of flames) -930. Varetyr Spear (falling spear) -931. (Nothing) -932. Firefly -933. [Client Crash] -934. White, castishly expanding cone -935. Green magic projectile -936. Red, castishly expanding cone -937. Yellow, castishly expanding cone -938. Dark-red, castishly expanding cone -939. Blue, conish aura -940. Snow flake -941. Explosion of red, demonic fire -942. Expanding, white dome -943. Green, fluffy projectile -944. Falling gems -945. (Nothing) -946. Floating lights -947. Blue lightning sphere -948. Two blue lightning spheres -949. Flat, spinning diamond -950. Circling, planetlike spheres -951. Three lightning spheres -952. Flat, spinning gem and two lightning spheres -953. Spinning, planetlike spheres -954. Two lightblue glowing spheres -955. Three spinning flame spheres -956. Flame -957. Spinning planetlike sphere -958. Two flames -959. Purple flame -960. Small yellow explosion -961. Cartoony whirlwind -962. Rising fire -963. Dark filter (like Stone Curse) -964. Same as 920 -965. Small white explosion -966. Bone crack -967. Another little explosion diff --git a/doc/global_configuration.md b/doc/global_configuration.md new file mode 100644 index 000000000..b0e99e698 --- /dev/null +++ b/doc/global_configuration.md @@ -0,0 +1,65 @@ +# Global configuration reference + +## What is global configuration? + +Global configuration is an import system that allows configuration files to be +shared between servers (login, char, map), but can also be used independently +in each server. + + +## How does it work? + +It works by using the `@include` directive from libconfig: + +> "A configuration file may "include" the contents of another file using an +> include directive. This directive has the effect of inlining the contents of +> the named file at the point of inclusion. + +An include directive must appear on its own line and takes this form: + +``` + @include "filename" +``` + +Any backslashes or double quotes in the filename must be escaped as `\\` and +`\"`, respectively. + + +## How do I stop using global configurations? + +To stop using global configuration, all you have to do is copy the contents of +the file being imported and paste it _exactly_ where the include directive was. + +### Example + +If you want map server and char server to have their own separate SQL connection +settings, you would search in `conf/map/map-server.conf` and +`conf/char/char-server.conf` for this line: + +``` + @include "conf/global/sql_connection.conf" +``` + +And replace it with: + +``` + sql_connection: { + // [INTER] You can specify the codepage to use in your mySQL tables here. + // (Note that this feature requires MySQL 4.1+) + //default_codepage: "" + + // [LOGIN] Is `userid` in account_db case sensitive? + //case_sensitive: false + + // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. + // Under windows, you want to use 127.0.0.1. If you see a message like + // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" + // and you have localhost, switch it to 127.0.0.1 + db_hostname: "127.0.0.1" + db_port: 3306 + db_username: "ragnarok" + db_password: "ragnarok" + db_database: "ragnarok" + //codepage:"" + } +``` diff --git a/doc/global_configuration.txt b/doc/global_configuration.txt deleted file mode 100644 index a000a4572..000000000 --- a/doc/global_configuration.txt +++ /dev/null @@ -1,69 +0,0 @@ -//===== Hercules Documentation =============================== -//= Global configuration reference -//===== By: ================================================== -//= Panikon (Hercules Dev. Team) -//===== Current Version: ===================================== -//= 20140616 -//===== Description: ========================================= -//= Global configurations found in conf/global/ -//============================================================ - -- What are global configurations? - -Global configurations are configurations that can be shared between servers, -but can also be set independently in each server. - -- How do they work? - -They work by using an include system that is available with libconfig: - - "A configuration file may "include" the contents of another file using an - include directive. This directive has the effect of inlining the contents of - the named file at the point of inclusion. - - An include directive must appear on its own line in the input. It has the - form: - - @include "filename" - - Any backslashes or double quotes in the filename must be escaped as '\\' and - '\"', respectively." - From libconfig's documentation - -So each file that is included is actually inside each one of the main -configuration files and thus a change in the first will be a change in the -latter. -Note: the @include directive is read by the server executable, so any path -should be from were it is and NOT from where the main configuration file is! - -- How do I stop using global configurations? - -To stop using global configurations is very simple, all you have to do is copy -the contents that are inside the global configuration file and put them -_exactly_ where the include directive were in the main configuration file. - -E.g. - Find in any file: - @include "conf/global/sql_connection.conf" - Replace it with: - sql_connection: { - // [INTER] You can specify the codepage to use in your mySQL tables here. - // (Note that this feature requires MySQL 4.1+) - //default_codepage: "" - - // [LOGIN] Is `userid` in account_db case sensitive? - //case_sensitive: false - - // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1 - // Under windows, you want to use 127.0.0.1. If you see a message like - // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" - // and you have localhost, switch it to 127.0.0.1 - db_hostname: "127.0.0.1" - db_port: 3306 - db_username: "ragnarok" - db_password: "ragnarok" - db_database: "ragnarok" - //codepage:"" - } - If the main configuration file belongs to the map server, for instance, you - don't need to include default_codepage and case_sensitive. diff --git a/doc/item_bonus.md b/doc/item_bonus.md new file mode 100644 index 000000000..7c8547456 --- /dev/null +++ b/doc/item_bonus.md @@ -0,0 +1,436 @@ +# Hercules Item Bonuses List + +<!-- +# Copyright +> This file is part of Hercules. +> http://herc.ws - http://github.com/HerculesWS/Hercules +> +> Copyright (C) 2012-2018 Hercules Dev Team +> Copyright (C) Athena Dev Teams +> +> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +> See the GNU General Public License for more details. +> +> You should have received a copy of the GNU General Public License along with this program. +> If not, see <http://www.gnu.org/licenses/>. +--> + +## Description +List of script instructions used in item bonuses, mainly `bonus`/`bonus2`/`bonus3`/`bonus4`/`bonus5` arguments and etc. + + +## Constants +This table contains all available constants referenced in the `bonus` commands. + +Race (`r`) | Status effect (`eff`) | Element (`e`) | Monster Race (`mr`) | Size (`s`) +:----------------- | :-------------------- | :------------- | :------------------ | :----------- +RC_Formless | Eff_Stone | Ele_Neutral | RC2_Goblin | Size_Small +RC_Undead | Eff_Freeze | Ele_Water | RC2_Kobold | Size_Medium +RC_Brute | Eff_Stun | Ele_Earth | RC2_Orc | Size_Large +RC_Plant | Eff_Sleep | Ele_Fire | RC2_Golem | +RC_Insect | Eff_Poison | Ele_Wind | RC2_Guardian | +RC_Fish | Eff_Curse | Ele_Poison | RC2_Ninja | +RC_Demon | Eff_Silence | Ele_Holy | RC2_Scaraba | +RC_DemiHuman | Eff_Confusion | Ele_Dark | RC2_Turtle | +RC_Angel | Eff_Blind | Ele_Ghost | | +RC_Dragon | Eff_Bleeding | Ele_Undead | | +RC_Player | Eff_DPoison | Ele_All | | +RC_Boss | Eff_Fear | | | +RC_NonBoss | Eff_Cold | | | +RC_NonDemiHuman | Eff_Burning | | | +RC_NonPlayer | Eff_Deepsleep | | | +RC_DemiPlayer | | | | +RC_NonDemiPlayer | | | | +RC_All | | | | + + +### Trigger criteria (`bf`) + Type 1 | Description +:----------------- | :------------------------------ +`BF_WEAPON` | Trigger on weapon skills +`BF_MAGIC` | Trigger on magic skills +`BF_MISC` | Trigger on misc skills + +(Default: `BF_WEAPON`) + + Type 2 | Description +:----------------- | :------------------------------ +`BF_SHORT` | Trigger on melee attacks +`BF_LONG` | Trigger on ranged attacks + +(Default: `BF_SHORT`+`BF_LONG`) + + Type 3 | Description +:----------------- | :------------------------------ +`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`) + Type 1 | Description +:----------------- | :------------------------------ +`ATF_SELF` | Trigger on self +`ATF_TARGET` | Trigger on target + +(Default: `ATF_TARGET`) + + Type 2 | Description +:----------------- | :------------------------------ +`ATF_SHORT` | Trigger on melee attack +`ATF_LONG` | Trigger on ranged attack + +(Default: `ATF_SHORT`+`ATF_LONG`) + + Type 3 | Description +:----------------- | :------------------------------ +`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`) + + Type 4 | Description +:----------------- | :------------------------------ +`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) + +(Default: `ATF_TARGET`) + + Other values | Remarks +:----------------- | :------------------------------ +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +bonus bMaxHP,`n`; | MaxHP + `n` +bonus bMaxHPrate,`n`; | MaxHP + `n`% +bonus bMaxSP,`n`; | MaxSP + `n` +bonus bMaxSPrate,`n`; | MaxSP + `n`% + +Attack/Def | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +bonus bHealPower,`n`; | Increase heal amount of all heal skills used by player on self by `n`% +bonus bHealPower2,`n`; | Increase heal amount if you are healed by any skills of others 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 | Description +:---------------------------------- | :------------------------- +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 | Description +:----------------------------------- | :------------------------- +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 | Description +:------------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +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 | Description +:-------------------------------- | :------------------------- +bonus2 bExpAddRace,`r`,`n`; | +n% Experience from enemies of race `r` + + +--------------- + +### 4. Status-related Bonuses + +Status-related Bonuses | Description +:------------------------------------------- | :------------------------- +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 <br/> (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). + +AutoSpell Bonuses | Description +:------------------------------------------------- | :------------------------- +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` <br/> i: <br/> Flags (bitfield)<br/> &1: Forces the skill to be casted on self, rather than on the target of skill `sk`<br/> &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 <br/>i: <br/>0 = cast on self <br/>1 = cast on enemy, not on self <br/>2 = use random skill lv in [1..y] <br/>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 | Description +:------------------------------------- | :------------------------- +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 <br/> x: <br/> 0: Gain `n` SP <br/> 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. <br/> y: <br/> 0: Gain SP <br/> 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 | Description +:------------------------------------- | :------------------------- +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 | Description +:------------------------------------- | :------------------------- +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 | Description +:------------------------------------- | :------------------------- +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 + +NOTE: + - `n` is meaningless if not mentioned. + +Strip/Break equipment | Description +:--------------------------------------- | :------------------------- +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) + +NOTE: + - `n` is meaningless if not mentioned. + +Monster Related | Description +:----------------------------------------- | :------------------------- +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`. <br/> If `n` is negative value, then it's a part of formula <br/> `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) <br/> x: <br/> < 0: Max Zeny gain is `(-x*monster_level)` + +Misc effects | Description +:------------------------------------- | :------------------------- +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) <br/> `n`: <br/> 1: 3*3 Area <br/> 2: 5*5 Area <br/> ... +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 <br/> `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/doc/item_bonus.txt b/doc/item_bonus.txt deleted file mode 100644 index dd176d919..000000000 --- a/doc/item_bonus.txt +++ /dev/null @@ -1,444 +0,0 @@ -//===== 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 used by player on self by n% -bonus bHealPower2,n; Increase heal amount if you are healed by any skills of others 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/doc/mob_db.txt b/doc/mob_db.txt index 29d2ab465..53d345255 100644 --- a/doc/mob_db.txt +++ b/doc/mob_db.txt @@ -63,12 +63,32 @@ mob_db: ( MvpExp: mvp experience (int, defaults to 0) MvpDrops: { AegisName: chance (string: int) + // or + AegisName: (chance, "Option Drop Group") // ... } Drops: { - AegisName: chance (string: int) + AegisName: chance (string: int) + // or + AegisName: (chance, "Option Drop Group") // ... } + DamageTakenRate: damage taken rate (int, defaults to 100) + ViewData: { + SpriteId: sprite id (int, defaults to Id) + WeaponId: weapon id (int, defaults to 0) + ShieldId: shield id (int, defaults to 0) + RobeId: garment id (int, defaults to 0) + HeadTopId: top headgear id (int, defaults to 0) + HeadMidId: middle headgear id (int, defaults to 0) + HeadLowId: lower headgear id (int, defaults to 0) + HairStyleId: hair style id (int, defaults to 0) + BodyStyleId: clothes id (int, defaults to 0) + HairColorId: hair color id (int, defaults to 0) + BodyColorId: clothes color id (int, defaults to 0) + Gender: gender (string, defaults to "SEX_FEMALE") + Options: options (int, defaults to 0) + } }, ... ) @@ -199,21 +219,62 @@ MvpExp: Base Experience given by the monster to the player who inflict more atta MvpDrops: Sets monster mvp drops list. Requires to have MvpExp to trigger. - Accepted values are AegisName as defined on item_db.conf and a chance. + There are two ways to define a drop: + 1) The first one is used for simple drops and uses the item AegisName + as defined on item_db.conf and a chance. + Format: + AegisName: chance Chance is an integer from 1 to 10000 (10000 = 100%). - Required format: - MvpDrops: { - AegisName: chance - // ... - } - When not specified, becomes false. + + 2) The second way to define a drop allows setting a random option drop + group to be used by this drop. + Format: + AegisName: (chance, "Option Drop Group") + + The item drop chance refers to the chance of dropping this item, same as chance in the first option. + the "Option Drop Group" parameter refers to an entry on option_drop_group database file. The specified + entry will be used when this item is dropped in order to add random options to the dropped equipment. + + A monster drop list may use both format for different items. + Required Format: + Drops: { + AegisName: chance + // or + AegisName: (chance, "Option Drop Group") + } + + When not specified, becomes false (no drops). Drops: Sets monster drops list. - Accepted values are AegisName as defined on item_db.conf and a chance. + There are two ways to define a drop: + 1) The first one is used for simple drops and uses the item AegisName + as defined on item_db.conf and a chance. + Format: + AegisName: chance Chance is an integer from 1 to 10000 (10000 = 100%). - Required format: - Drops: { - AegisName: chance - // ... - } - When not specified, becomes false. + + 2) The second way to define a drop allows setting a random option drop + group to be used by this drop. + Format: + AegisName: (chance, "Option Drop Group") + + The item drop chance refers to the chance of dropping this item, same as chance in the first option. + the "Option Drop Group" parameter refers to an entry on option_drop_group database file. The specified + entry will be used when this item is dropped in order to add random options to the dropped equipment. + + A monster drop list may use both format for different items. + Required Format: + Drops: { + AegisName: chance + // or + AegisName: (chance, "Option Drop Group") + } + + When not specified, becomes false (no drops). + +DamageTakenRate: + Limit the total damage received by the monster to the given rate + +ViewData: + Overrides the default view data sent to the client with the given values for: + Sprite, Weapon, Shield, Robe, HeadTop, HeadMid, HeadLow, HairStyle, BodyStyle, HairColor, BodyColor, Gender, Options diff --git a/doc/mob_db_mode_list.md b/doc/mob_db_mode_list.md new file mode 100644 index 000000000..a8ad4fa0a --- /dev/null +++ b/doc/mob_db_mode_list.md @@ -0,0 +1,72 @@ +# Hercules Monster Modes Reference + +<!-- +## Copyright +> This file is part of Hercules. +> http://herc.ws - http://github.com/HerculesWS/Hercules +> +> Copyright (C) 2012-2018 Hercules Dev Team +> Copyright (C) Athena Dev Teams +> +> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +> See the GNU General Public License for more details. +> +> You should have received a copy of the GNU General Public License along with this program. +> If not, see <http://www.gnu.org/licenses/>. +--> + +## Description +A reference description of Hercules's mob_db.conf `mode` field. + +## Monster Mode Legend: +Constant Name | Bits | Value | Description +:-------------------- | :-----: | :------: | :---------------- +MD_CANMOVE | 0x00001 | 1 | Enables the mob to move/chase characters. +MD_LOOTER | 0x00002 | 2 | The mob will loot up nearby items on the ground when it's on idle state. +MD_AGGRESSIVE | 0x00004 | 4 | Normal aggressive mob, will look for a close-by player to attack. +MD_ASSIST | 0x00008 | 8 | When a nearby mob of the same class attacks, assist types will join them. +MD_CASTSENSOR_IDLE | 0x00010 | 16 | Will go after characters who start casting on them if idle or walking (without a target). +MD_BOSS | 0x00020 | 32 | Special flag which makes mobs immune to certain status changes and skills. +MD_PLANT | 0x00040 | 64 | Always receives 1 damage from attacks. +MD_CANATTACK | 0x00080 | 128 | Enables the mob to attack/retaliate when you are within attack range. <br/>Note that this only enables them to use normal attacks, skills are always allowed. +MD_DETECTOR | 0x00100 | 256 | Enables mob to detect and attack characters who are in hiding/cloak. +MD_CASTSENSOR_CHASE | 0x00200 | 512 | Will go after characters who start casting on them if idle or chasing other players (they switch chase targets) +MD_CHANGECHASE | 0x00400 | 1024 | Allows chasing mobs to switch targets if another player happens to be within attack range (handy on ranged attackers, for example) +MD_ANGRY | 0x00800 | 2048 | These mobs are "hyper-active". Apart from "chase"/"attack", they have the states "follow"/"angry". </br>Once hit, they stop using these states and use the normal ones. The new states are used to determine a different skill-set for their "before attacked" and "after attacked" states. </br>Also, when "following", they automatically switch to whoever character is closest. +MD_CHANGETARGET_MELEE | 0x01000 | 4096 | Enables a mob to switch targets when attacked while attacking someone else. +MD_CHANGETARGET_CHASE | 0x02000 | 8192 | Enables a mob to switch targets when attacked while chasing another character. +MD_TARGETWEAK | 0x04000 | 16384 | Allows aggressive monsters to only be aggressive against characters that are five levels below it's own level. </br>For example, a monster of level 104 will not pick fights with a level 99. +MD_NOKNOCKBACK | 0x08000 | 32768 | Monsters will be immune to knockback's effect. +MD_RANDOMTARGET | 0x10000 | 65536 | Picks a new random target in range on each attack/skill. (not implemented) + +## Aegis Mob Types: +What Aegis has are mob-types, where each type represents an AI behavior that is mimicked by a group of eA mode bits. +This is the table to convert from one to another: + +No. | Bits | Mob Type | Aegis/eA Description +--: | :----: | :------: | :---------------- + 01 | 0x0081 | Any | passive + 02 | 0x0083 | Any | passive, looter + 03 | 0x1089 | Any | passive, assist and change-target melee + 04 | 0x3885 | Any | angry, change-target melee/chase + 05 | 0x2085 | Any | aggressive, change-target chase + 06 | 0x0000 | Plants | passive, immobile, can't attack + 07 | 0x108B | Any | passive, looter, assist, change-target melee + 08 | 0x6085 | Any | aggressive, change-target chase, target weak enemies + 09 | 0x3095 | Guardian | aggressive, change-target melee/chase, cast sensor idle + 10 | 0x0084 | Any | aggressive, immobile + 11 | 0x0084 | Guardian | aggressive, immobile + 12 | 0x2085 | Guardian | aggressive, change-target chase + 13 | 0x308D | Any | aggressive, change-target melee/chase, assist + 17 | 0x0091 | Any | passive, cast sensor idle + 19 | 0x3095 | Any | aggressive, change-target melee/chase, cast sensor idle + 20 | 0x3295 | Any | aggressive, change-target melee/chase, cast sensor idle/chase + 21 | 0x3695 | Any | aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target + 25 | 0x0001 | Pet | passive, can't attack + 26 | 0xB695 | Any | aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target, random target + 27 | 0x8084 | Any | aggressive, immobile, random target + +- Note that the detector bit due to being Insect/Demon, Plant and Boss mode bits need to be added independently of this list. + diff --git a/doc/mob_db_mode_list.txt b/doc/mob_db_mode_list.txt deleted file mode 100644 index 32e7a0e8d..000000000 --- a/doc/mob_db_mode_list.txt +++ /dev/null @@ -1,113 +0,0 @@ -//===== Hercules Documentation =============================== -//= Hercules Monster Modes Reference -//===== By: ================================================== -//= Hercules Dev Team -//===== Current Version: ===================================== -//= 20120630 -//===== Description: ========================================= -//= A reference description of Hercules' mob_db 'mode' field. -//============================================================ - -Bit Legend: -------------------------------------------------------------------------------- - -MD_CANMOVE | 0x00001 | 1 -MD_LOOTER | 0x00002 | 2 -MD_AGGRESSIVE | 0x00004 | 4 -MD_ASSIST | 0x00008 | 8 -MD_CASTSENSOR_IDLE | 0x00010 | 16 -MD_BOSS | 0x00020 | 32 -MD_PLANT | 0x00040 | 64 -MD_CANATTACK | 0x00080 | 128 -MD_DETECTOR | 0x00100 | 256 -MD_CASTSENSOR_CHASE | 0x00200 | 512 -MD_CHANGECHASE | 0x00400 | 1024 -MD_ANGRY | 0x00800 | 2048 -MD_CHANGETARGET_MELEE | 0x01000 | 4096 -MD_CHANGETARGET_CHASE | 0x02000 | 8192 -MD_TARGETWEAK | 0x04000 | 16384 -MD_NOKNOCKBACK | 0x08000 | 32768 -MD_RANDOMTARGET | 0x10000 | 65536 (not implemented) - -Explanation for modes: -------------------------------------------------------------------------------- - -CanMove: Enables the mob to move/chase characters. - -CanAttack: Enables the mob to attack/retaliate when you are within attack - range. Note that this only enables them to use normal attacks, skills are - always allowed. - -Looter: The mob will loot up nearby items on the ground when it's on idle state. - -Aggressive: normal aggressive mob, will look for a close-by player to attack. - -Assist: When a nearby mob of the same class attacks, assist types will join them. - -Cast Sensor Idle: Will go after characters who start casting on them if idle - or walking (without a target). - -Cast Sensor Chase: Will go after characters who start casting on them if idle - or chasing other players (they switch chase targets) - -Boss: Special flag which makes mobs immune to certain status changes and skills. - -Plant: Always receives 1 damage from attacks. - -Detector: Enables mob to detect and attack characters who are in hiding/cloak. - -ChangeChase: Allows chasing mobs to switch targets if another player happens - to be within attack range (handy on ranged attackers, for example) - -Angry: These mobs are "hyper-active". Apart from "chase"/"attack", they have - the states "follow"/"angry". Once hit, they stop using these states and use - the normal ones. The new states are used to determine a different skill-set - for their "before attacked" and "after attacked" states. Also, when - "following", they automatically switch to whoever character is closest. - -Change Target Melee: Enables a mob to switch targets when attacked while - attacking someone else. - -Change Target Chase: Enables a mob to switch targets when attacked while - chasing another character. - -Target Weak: Allows aggressive monsters to only be aggressive against - characters that are five levels below it's own level. - For example, a monster of level 104 will not pick fights with a level 99. - -NoKnockback: Monsters will be immune to Knockback's. - -Random Target: Picks a new random target in range on each attack / skill. - (not implemented) - -Aegis Mob Types: -------------------------------------------------------------------------------- - -What Aegis has are mob-types, where each type represents an AI behavior that -is mimicked by a group of eA mode bits. This is the table to convert from one -to another: - -Aegis/eA (description) -01: 0x0081 (passive) -02: 0x0083 (passive, looter) -03: 0x1089 (passive, assist and change-target melee) -04: 0x3885 (angry, change-target melee/chase) -05: 0x2085 (aggressive, change-target chase) -06: 0x0000 (passive, immobile, can't attack) [plants] -07: 0x108B (passive, looter, assist, change-target melee) -08: 0x6085 (aggressive, change-target chase, target weak enemies) -09: 0x3095 (aggressive, change-target melee/chase, cast sensor idle) [Guardian] -10: 0x0084 (aggressive, immobile) -11: 0x0084 (aggressive, immobile) [Guardian] -12: 0x2085 (aggressive, change-target chase) [Guardian] -13: 0x308D (aggressive, change-target melee/chase, assist) -17: 0x0091 (passive, cast sensor idle) -19: 0x3095 (aggressive, change-target melee/chase, cast sensor idle) -20: 0x3295 (aggressive, change-target melee/chase, cast sensor idle/chase) -21: 0x3695 (aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target) -25: 0x0001 (passive, can't attack) [Pet] -26: 0xB695 (aggressive, change-target melee/chase, cast sensor idle/chase, chase-change target, random target) -27: 0x8084 (aggressive, immobile, random target) - -- Note that the detector bit due to being Insect/Demon, plant and Boss mode - bits need to be added independently of this list. diff --git a/doc/option_drop_group.md b/doc/option_drop_group.md new file mode 100644 index 000000000..325cf9fe2 --- /dev/null +++ b/doc/option_drop_group.md @@ -0,0 +1,97 @@ +# Option Drop Group Database + +## Description +Explanation of the `db/option_drop_groups.conf` file and structure. + +This database file allows the creation of groups of random options +that will be added to certain equipments when dropped. After creating +a group in this database file, you may set up drops in `mob_db` to use +it in order to get items with these options. For more information on +adding option drop groups to `mob_db`, check `doc/mob_db.txt` documentation file. + +Each item may have up to `MAX_ITEM_OPTION` options at the same time, +in this document, each of these independent options will be called +`option slot`. One drop group will define the possibilities of random +options for each of these slots. + +## Entries Format + +``` +<Group Name Constant>: ( + { // Option Slot 1 + Rate: (int) chance of filling option slot 1 (100 = 1%) + + // Possible options for slot 1 + // min/max value : int, defaults to 0 + // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies + OptionName: value + // or + OptionName: [min value, max value] + // or + OptionName: [min value, max value, chance] + // ... (as many as you want) + }, + // ... (up to MAX_ITEM_OPTION) +), +``` + +### `Group Name Constant` +This is the group name, it is how this group is referenced in other files +(e.g. mob_db). It must be globally unique, as it is a server constant, and +must contain only letters, numbers and " _ ". + +### `Rate` +This is the chance of this option slot to drop. In other words, this is the +chance of getting this slot filled with something, where something is given +by the list of `OptionName` that follows. + +Rate is an integer value where 100 means 1%. + +### `OptionName` +Adds `OptionName` as one option that may fill this slot when it drops. + +The details of this option may be specified in one of 3 ways: + +#### `OptionName: value` +The chance of this option being picked is auto calculated (see below), +and if this option is chosen, its value will be `value`. + +#### `OptionName: [min, max]` +The chance of this option being picked is auto calculated (see below), +and if this option is chosen, its value will be a random integer between +`min` and `max` (both included). + +#### `OptionName: [min, max, chance]` +The chance of this option being picked is `chance`, and if this option is chosen, +its value will be a random integer between `min` and `max` (both included). + +#### Auto calculated chances +When chance is not specified in an option, it will be auto calculated by +the server as being `100%/num`, when `num` is the number of possibilities +in this option slot. + +For example, if you specify 3 possible options, all of them without +a `chance` defined, all of them will have 33.33% chance of being +picked (100%/3). If you set the chance of one of them to 50%, you +will have one option with 50% chance, and each of the others with +33.33% chance. + +## Example +``` +MYITEM: ( + { // Option Slot 1 + Rate: 10000 // It has 100% of chance of being filled + + // This slot may have one of the following options: + WEAPON_ATTR_WIND: 5, // WEAPON_ATTR_WIND Lv5 (33.33%) + WEAPON_ATTR_GROUND: [2, 4] // WEAPON_ATTR_GROUND Lv 2~4 (33.33%) + WEAPON_ATTR_POISON: [1, 4, 8000] // WEAPON_ATTR_POISON Lv 1~4 (80%) + }, + { // Option Slot 2 + Rate: 5000 // It has 50% of chance of being filled + + // If filled, may have one of the following options: + WEAPON_ATTR_WATER: 4 // WEAPON_ATTR_WATER Lv4 (100%) + } +) +``` diff --git a/doc/permissions.md b/doc/permissions.md new file mode 100644 index 000000000..a8794ecae --- /dev/null +++ b/doc/permissions.md @@ -0,0 +1,52 @@ +# Group Permission List +A list of player group permission, configured in `conf/groups.conf`. + +## Copyright +> This file is part of Hercules. +> http://herc.ws - http://github.com/HerculesWS/Hercules +> +> Copyright (C) 2012-2018 Hercules Dev Team +> Copyright (C) Athena Dev Teams +> +> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +> See the GNU General Public License for more details. +> +> You should have received a copy of the GNU General Public License along with this program. +> If not, see <http://www.gnu.org/licenses/>. + +## Description +The Hercules emulator has a permission system that enables certain groups of players to perform certain actions, or have access to certain visual enhancements or in-game activity. + +Permission | Description +:------------------------ | :--------------------------------------------- +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 (PvM). +disable_pvp | Ability to disable Player vs. Player (PvP). +disable_commands_when_dead | Ability to disable atcommands 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. +bypass_nostorage | Ability to bypass the nostorage and nogstorage mapflag. + diff --git a/doc/permissions.txt b/doc/permissions.txt deleted file mode 100644 index bc84f86b6..000000000 --- a/doc/permissions.txt +++ /dev/null @@ -1,39 +0,0 @@ -//===== 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. diff --git a/doc/quest_variables.md b/doc/quest_variables.md new file mode 100644 index 000000000..2f8922c41 --- /dev/null +++ b/doc/quest_variables.md @@ -0,0 +1,262 @@ +# Quest Variables + +<!-- +## Copyright +> This file is part of Hercules. +> http://herc.ws - http://github.com/HerculesWS/Hercules +> +> Copyright (C) 2012-2018 Hercules Dev Team +> Copyright (C) Athena Dev Teams +> +> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +> +> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +> See the GNU General Public License for more details. +> +> You should have received a copy of the GNU General Public License along with this program. +> If not, see <http://www.gnu.org/licenses/>. +--> + +## Description +This file should help to understand and manage bit-wise quest variables. +You can store up to 31 boolean value into a single variable. + +## Sample Variable: `MISC_QUEST` + +Quest # No | Sample Quest +:-------------| :------------ +Description | How to assign a bit-wise value and check it. +Assign Value | ```MISC_QUEST = MISC_QUEST \| X;``` +Check Value | ```if (MISC_QUEST & X) { ... }``` + +- Where `X` refer to the bit-wise value that could be used to represent the state/progress of a quest. + +-------------------------------------------------------------- + +## Example + +Quest # 1 | Juice Maker Quest +:-------------| :------------ +Description | How to make juices. This bit keeps final state of the quest. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 1;``` +Check Value | ```if (MISC_QUEST & 1) { ... }``` + +Quest # 2 | Tempestra Quest +:-------------| :------------ +Description | Determines if player has given a potion to Tempestra. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 2;``` +Check Value | ```if (MISC_QUEST & 2) { ... }``` + +Quest # 3 | Morgenstein Quest +:-------------| :------------ +Description | How to make Mixture & Counteragent. This bit keeps final state of the quest. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 4;``` +Check Value | ```if (MISC_QUEST & 4) { ... }``` + +Quest # 4 | Prontera Culvert Quest +:-------------| :------------ +Description | Determines if player can enter Prontera Culverts. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 8;``` +Check Value | ```if (MISC_QUEST & 8) { ... }``` + +Quest # 5 | Edgar's Offer +:-------------| :------------ +Description | Cheap ticket from Izlude to Alberta. This bit keeps final state of the quest. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 16;``` +Check Value | ```if (MISC_QUEST & 16) { ... }``` + +Quest # 6 | Piano Quest +:-------------| :------------ +Description | The only way from Niflheim to Umbala. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 32;``` +Check Value | ```if (MISC_QUEST & 32) { ... }``` + +Quest # 7 | Bio Ethics Quest +:-------------| :------------ +Description | Quest for homunculus skill for alchemists. This bit keeps final state of the quest. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 64;``` +Check Value | ```if (MISC_QUEST & 64) { ... }``` + +Quest # 8 | DTS Warper +:-------------| :------------ +Description | Determines if player has already voted. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 128;``` +Check Value | ```if (MISC_QUEST & 128) { ... }``` + +Quest # 9 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 256;``` +Check Value | ```if (MISC_QUEST & 256) { ... }``` + +Quest # 10 | Cube Room +:-------------| :------------ +Description | Lighthalzen Cube Room quest (to enter Bio-Lab) +Assign Value | ```MISC_QUEST = MISC_QUEST \| 512;``` +Check Value | ```if (MISC_QUEST & 512) { ... }``` + +Quest # 11 | Reset Skills Event +:-------------| :------------ +Description | Yuno, Hypnotist Teacher +Assign Value | ```MISC_QUEST = MISC_QUEST \| 1024;``` +Check Value | ```if (MISC_QUEST & 1024) { ... }``` + +Quest # 12 | Slotted Arm Guard Quest +:-------------| :------------ +Description | Ninja Job Room, Boshuu +Assign Value | ```MISC_QUEST = MISC_QUEST \| 2048;``` +Check Value | ```if (MISC_QUEST & 2048) { ... }``` + +Quest # 13 | Improved Arm Guard Quest +:-------------| :------------ +Description | Ninja Job Room, Basshu +Assign Value | ```MISC_QUEST = MISC_QUEST \| 4096;``` +Check Value | ```if (MISC_QUEST & 4096) { ... }``` + +Quest # 14 | Rachel Sanctuary Quest +:-------------| :------------ +Description | Determines if player can access Rachel Santuary. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 8192;``` +Check Value | ```if (MISC_QUEST & 8192) { ... }``` + +Quest # 15 | Message Delivery Quest +:-------------| :------------ +Description | Send a message to Elly, in Niflheim from Erious. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 16384;``` +Check Value | ```if (MISC_QUEST & 16384) { ... }``` + +Quest # 16 | Umbala Domestic Dispute? +:-------------| :------------ +Description | Reward: 1 Yggdrasil Leaf. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 32768;``` +Check Value | ```if (MISC_QUEST & 32768) { ... }``` + +Quest # 17 | Access to the Turtle Island +:-------------| :------------ +Description | Reward: ~1 Old Card Album , Old Violet Box, GB. +Assign Value | ```MISC_QUEST = MISC_QUEST \| 65536;``` +Check Value | ```if (MISC_QUEST & 65536) { ... }``` + +Quest # 18 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 131072;``` +Check Value | ```if (MISC_QUEST & 131072) { ... }``` + +Quest # 19 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 262144;``` +Check Value | ```if (MISC_QUEST & 262144) { ... }``` + +Quest # 20 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 524288;``` +Check Value | ```if (MISC_QUEST & 524288) { ... }``` + +Quest # 21 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 1048576;``` +Check Value | ```if (MISC_QUEST & 1048576) { ... }``` + +Quest # 22 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 2097152;``` +Check Value | ```if (MISC_QUEST & 2097152) { ... }``` + +Quest # 23 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 4194304;``` +Check Value | ```if (MISC_QUEST & 4194304) { ... }``` + +Quest # 24 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 8388608;``` +Check Value | ```if (MISC_QUEST & 8388608) { ... }``` + +Quest # 25 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 16777216;``` +Check Value | ```if (MISC_QUEST & 16777216) { ... }``` + +Quest # 26 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 33554432;``` +Check Value | ```if (MISC_QUEST & 33554432) { ... }``` + +Quest # 27 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 67108864;``` +Check Value | ```if (MISC_QUEST & 67108864) { ... }``` + +Quest # 28 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 134217728;``` +Check Value | ```if (MISC_QUEST & 134217728) { ... }``` + +Quest # 29 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 268435456;``` +Check Value | ```if (MISC_QUEST & 268435456) { ... }``` + +Quest # 30 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 536870912;``` +Check Value | ```if (MISC_QUEST & 536870912) { ... }``` + +Quest # 31 | - +:-------------| :------------ +Description | - +Assign Value | ```MISC_QUEST = MISC_QUEST \| 1073741824;``` +Check Value | ```if (MISC_QUEST & 1073741824) { ... }``` + +### Quest#32 and onwards +You had to use a new variable to store it. +The existing variable `MISC_QUEST`'s value may overflow as it already reaching the max value. +Basically the cycle repeat every 32th quests, unless the limit has been lifted in the future. + + No | Formulae | Bits Value | Accumulate +:--:|:-----------:|-----------:|-------------: + 1 | 2 ^ 0 | 1 | 1 + 2 | 2 ^ 1 | 2 | 3 + 3 | 2 ^ 2 | 4 | 7 + 4 | 2 ^ 3 | 8 | 15 + 5 | 2 ^ 4 | 16 | 31 + 6 | 2 ^ 5 | 32 | 63 + 7 | 2 ^ 6 | 64 | 127 + 8 | 2 ^ 7 | 128 | 255 + 9 | 2 ^ 8 | 256 | 511 + 10 | 2 ^ 9 | 512 | 1023 + 11 | 2 ^ 10 | 1024 | 2047 + 12 | 2 ^ 11 | 2048 | 4095 + 13 | 2 ^ 12 | 4096 | 8191 + 14 | 2 ^ 13 | 8192 | 16383 + 15 | 2 ^ 14 | 16384 | 32767 + 16 | 2 ^ 15 | 32768 | 65535 + 17 | 2 ^ 16 | 65536 | 131071 + 18 | 2 ^ 17 | 131072 | 262143 + 19 | 2 ^ 18 | 262144 | 524287 + 20 | 2 ^ 19 | 524288 | 1048575 + 21 | 2 ^ 20 | 1048576 | 2097151 + 22 | 2 ^ 21 | 2097152 | 4194303 + 23 | 2 ^ 22 | 4194304 | 8388607 + 24 | 2 ^ 23 | 8388608 | 16777215 + 25 | 2 ^ 24 | 16777216 | 33554431 + 26 | 2 ^ 25 | 33554432 | 67108863 + 27 | 2 ^ 26 | 67108864 | 134217727 + 28 | 2 ^ 27 | 134217728 | 268435455 + 29 | 2 ^ 28 | 268435456 | 536870911 + 30 | 2 ^ 29 | 536870912 | 1073741823 + 31 | 2 ^ 30 | 1073741824 | 2147483647 + diff --git a/doc/quest_variables.txt b/doc/quest_variables.txt deleted file mode 100644 index 0be144183..000000000 --- a/doc/quest_variables.txt +++ /dev/null @@ -1,108 +0,0 @@ -//===== Hercules Documentation =============================== -//= Permanent Quest Variables -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 20120826 -//===== Description: ========================================= -//= This file should help to understand and manage bit-wise -//= quest variables. You can store up to 31 boolean value into -//= a single variable. -//============================================================ - -Variable: MISC_QUEST --------------------------------------------------------------- - -Quest: Juice Maker Quest -Info: How to make juices. This bit keeps final state of the quest. -How to set: set MISC_QUEST, MISC_QUEST | 1; -How to check: if (MISC_QUEST & 1) {} - -Quest: Tempestra Quest -Info: Determines if player has given a potion to Tempestra. -How to set: set MISC_QUEST, MISC_QUEST | 2; -How to check: if (MISC_QUEST & 2) {} - -Quest: Morgenstein Quest -Info: How to make Mixture & Counteragent. This bit keeps final state of the quest. -How to set: set MISC_QUEST, MISC_QUEST | 4; -How to check: if (MISC_QUEST & 4) {} - -Quest: Prontera Culvert Quest -Info: Determines if player can enter Prontera Culverts. -How to set: set MISC_QUEST, MISC_QUEST | 8; -How to check: if (MISC_QUEST & 8) {} - -Quest: Edgar's Offer -Info: Cheap ticket from Izlude to Alberta. This bit keeps final state of the quest. -How to set: set MISC_QUEST, MISC_QUEST | 16; -How to check: if (MISC_QUEST & 16) {} - -Quest: Piano Quest -Info: The only way from Niflheim to Umbala. -How to set: set MISC_QUEST, MISC_QUEST | 32; -How to check: if (MISC_QUEST & 32) {} - -Quest: Bio Ethics Quest -Info: Quest for homunculus skill for alchemists. This bit keeps final state of the quest. -How to set: set MISC_QUEST, MISC_QUEST|64; -How to check: if (MISC_QUEST & 64) {} - -Quest: DTS Warper -Info: Determines if player has already voted. -How to set: set MISC_QUEST, MISC_QUEST|128; -How to check: if (MISC_QUEST & 128) {} - -Quest: - -Info: - -How to set: set MISC_QUEST, MISC_QUEST | 256; -How to check: if (MISC_QUEST & 256) {} - -Quest: Cube Room -Info: Lighthalzen Cube Room quest (to enter Bio-Lab) -How to set: set MISC_QUEST, MISC_QUEST | 512; -How to check: if (MISC_QUEST & 512) {} - -Quest: Reset Skills Event -Info: Yuno, Hypnotist Teacher -How to set: set MISC_QUEST, MISC_QUEST | 1024; -How to check: if (MISC_QUEST & 1024) {} - -Quest: Slotted Arm Guard Quest -Info: Ninja Job Room, Boshuu -How to set: set MISC_QUEST, MISC_QUEST | 2048; -How to check: if (MISC_QUEST & 2048) {} - -Quest: Improved Arm Guard Quest -Info: Ninja Job Room, Basshu -How to set: set MISC_QUEST, MISC_QUEST | 4096; -How to check: if (MISC_QUEST & 4096) {} - -Quest: Rachel Sanctuary Quest -Info: Determines if player can access Rachel Santuary. -How to set: set MISC_QUEST, MISC_QUEST | 8192; -How to check: if (MISC_QUEST & 8192) {} - -Quest: Message Delivery Quest -Info: Send a message to Elly, in Niflheim from Erious. -How to set: set MISC_QUEST, MISC_QUEST | 16384; -How to check: if (MISC_QUEST & 16384) {} - -Quest: Umbala Domestic Dispute? -Info: Reward: 1 Yggdrasil Leaf. -How to set: set MISC_QUEST, MISC_QUEST | 32768; -How to check: if (MISC_QUEST & 32768) {} - -Quest: Access to the Turtle Island -Info: Reward: ~1 OCA, OVB, GB. -How to set: set MISC_QUEST, MISC_QUEST | 65536; -How to check: if (MISC_QUEST & 65536) {} - - -Variable: MISC_QUEST2 --------------------------------------------------------------- - -Quest: - -Info: - -How to set: set MISC_QUEST2, MISC_QUEST2 | ?; -How to check: if (MISC_QUEST2 & ?) {} diff --git a/doc/sample/getiteminfo.txt b/doc/sample/getiteminfo.txt index 57407c072..316318cb6 100644 --- a/doc/sample/getiteminfo.txt +++ b/doc/sample/getiteminfo.txt @@ -9,12 +9,12 @@ //============================================================ prontera,156,179,6 script test_getiteminfo 4_F_KAFRA1,{ - mes "Please enter an item ID."; - input .@value; + mes("Please enter an item ID."); + input(.@value); // This line uses an INTERNAL function of your client to show item name by its ID! // ^nItemID^XXXX -> Item Name - mes "Item ID: "+.@value+" ^nItemID^"+.@value; + mesf("Item ID: %d ^nItemID^%d", .@value, .@value); mes("Current item info:"); mesf("Buy Price: %d", getiteminfo(.@value, ITEMINFO_BUYPRICE)); @@ -34,5 +34,31 @@ prontera,156,179,6 script test_getiteminfo 4_F_KAFRA1,{ mesf("View ID: %d", getiteminfo(.@value, ITEMINFO_VIEWID)); mesf("MATK: %d", getiteminfo(.@value, ITEMINFO_MATK)); mesf("View Sprite: %d", getiteminfo(.@value, ITEMINFO_VIEWSPRITE)); + + .@trade$ = callfunc("F_GetTradeRestriction", .@value); + mesf("Trade Restriction: %s", .@trade$); + + mesf("Drop delay: %d", getiteminfo(.@value, ITEMINFO_DELAY)); + mesf("Drop effect mode: %d", getiteminfo(.@value, ITEMINFO_DROPEFFECT_MODE)); + mesf("Class base 1: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_1)); + mesf("Class base 2: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_2)); + mesf("Class base 3: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_3)); + mesf("Class Upper: %d", getiteminfo(.@value, ITEMINFO_CLASS_UPPER)); + mesf("No refine flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_NO_REFINE)); + mesf("Delay consume flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_DELAY_CONSUME)); + mesf("Auto equip flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_AUTOEQUIP)); + mesf("Auto favorite flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_AUTO_FAVORITE)); + mesf("Buying store flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_BUYINGSTORE)); + mesf("Bind on equip flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_BINDONEQUIP)); + mesf("Keep after use flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_KEEPAFTERUSE)); + mesf("Force serial flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_FORCE_SERIAL)); + mesf("No random item options flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_NO_OPTIONS)); + mesf("Drop announce flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_DROP_ANNOUNCE)); + mesf("Shopw drop effect flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_SHOWDROPEFFECT)); + mesf("Stack amount: %d", getiteminfo(.@value, ITEMINFO_STACK_AMOUNT)); + mesf("Stack amount flag: %d", getiteminfo(.@value, ITEMINFO_STACK_FLAG)); + mesf("Item usage flag: %d", getiteminfo(.@value, ITEMINFO_ITEM_USAGE_FLAG)); + mesf("Item usage override: %d", getiteminfo(.@value, ITEMINFO_ITEM_USAGE_OVERRIDE)); + mesf("GM Level override: %d", getiteminfo(.@value, ITEMINFO_GM_LV_TRADE_OVERRIDE)); close; } diff --git a/doc/sample/npc_trader_sample.txt b/doc/sample/npc_trader_sample.txt index 0d50af8c5..24c53330b 100644 --- a/doc/sample/npc_trader_sample.txt +++ b/doc/sample/npc_trader_sample.txt @@ -56,3 +56,11 @@ OnMyResupply: sellitem Red_Potion,-1,49; end; } +/* demonstrate barter shop */ +prontera,159,284,4 trader Barter Shop#prt 4_M_KID1,{ +OnInit: + tradertype(NST_BARTER); + sellitem White_Herb, 100, Red_Potion, 2; + sellitem Blue_Herb, 200, Orange_Potion, 3; + end; +} diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 343eb02cb..1d8ed786b 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -266,8 +266,8 @@ direction across Y. Walking into that area will trigger the NPC. If no 'OnTouch:' special label is present in the NPC code, the execution will start from the beginning of the script, otherwise, it will start from the 'OnTouch:' label. Monsters can also trigger the NPC, though the label -'OnTouchNPC:' is used in this case. If player left area npc will called -if present label 'OnUnTouch'. +'OnTouchNPC:' is used in this case, and using mobattached() will return +monster GID. If player left the area will trigger the label 'OnUnTouch'. The code part is the script code that will execute whenever the NPC is triggered. It may contain commands and function calls, descriptions of @@ -323,10 +323,12 @@ The types that a trader object can have are the following: - NST_MARKET (2) Normal NPC Market Shop (where items have limited availability and need to be refurbished) - NST_CUSTOM (3) Custom Shop (any currency, item/var/etca, check sample) +- NST_BARTER (4) Barter Shop (each item with own item currency) Unless otherwise specified via *tradertype an trader object will be defined as NST_ZENY. Note: NST_MARKET is only available with PACKETVER 20131223 or newer. +Note: NST_BARTER is only available with PACKETVER 20181226 zero or newer. See '12 - NPC Trader-Related Commands' and /doc/sample/npc_trader_sample.txt for more information regarding how to use this NPC type. @@ -714,6 +716,11 @@ MAX_BANK_ZENY - Maximum Zeny in the bank MAX_BG_MEMBERS - Maximum BattleGround members MAX_CHAT_USERS - Maximum Chat users MAX_REFINE - Maximum Refine level +MAX_ITEM_ID - Maximum Item ID +MAX_MENU_OPTIONS - Maximum NPC menu options +MAX_MENU_LENGTH - Maximum NPC menu string length +MOB_CLONE_START - Clone ID start from this range +MOB_CLONE_END - Clone ID end with this range Send targets and status options are also hard-coded and can be found in 'doc/constants.md'. @@ -1224,7 +1231,7 @@ you have to set it back to black unless you want all the rest of the text be in that color: mes("This is ^FF0000 red ^000000 and this is ^00FF00 green, ^000000 so."); - mes(callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE"); + mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE)); Notice that the text coloring is handled purely by the client. If you use non-English characters, the color codes might get screwed if they stick to @@ -1248,6 +1255,14 @@ This will allow you to visit 'Google' with the in-game browser using default dim Clicking 'Bing!' will open the in-game browser using the specified dimensions. (800x600) +If you're using client from 2013-01-30 onwards, you can also use <ITEMLINK> to show +the item's description. Gravity changed this into <ITEM> since 2015-07-29 onwards. + + mes("Bring me an <ITEM>Apple<INFO>512</INFO></ITEM>."); + mesf("Bring me an %s.", F_MesItemInfo(Apple)); + +This will show the item name and a clickable link for the item description. + --------------------------------------- *mesf("<format>"{, <param>{, <param>{, ...}}}) @@ -1286,6 +1301,21 @@ and the script will terminate. --------------------------------------- +*mesclear(); + +This command will clear the dialog text and continue the script without player interaction. + +Example: + mes("This is how the 'mesclear' script command works."); + sleep2 3000; + mesclear(); // This will clear the dialog and continue to the next one. + mes("I will show you again."); + sleep2 3000; + mesclear(); // This will clear the dialog and continue to the next one. + mes("Bye!"); + +--------------------------------------- + *close() This command will create a 'close' button in the message window for the @@ -1600,21 +1630,24 @@ perfectly equivalent. --------------------------------------- *select("<option>"{, "<option>", ...}) -*prompt("<option>"{, "<option>", ...}) This function is a handy replacement for 'menu' that doesn't use a complex -label structure. It will return the number of menu option picked, -starting with 1. Like 'menu', it will also set the variable @menu to -contain the option the user picked. +label structure. It will return the number of the menu option picked, +starting with 1. If the player presses cancel, the script is terminated. - if (select("Yes:No") == 1) + if (select("Yes", "No") == 1) mes("You said yes, I know."); And like 'menu', the selected option is consistent with grouped options and empty options. -'prompt' works almost the same as select, except that when a character -clicks the Cancel button, this function will return 255 instead. +--------------------------------------- + +*prompt("<option>"{, "<option>", ...}) + +This function behaves exactly like select(), but when a player presses cancel +it returns MAX_MENU_OPTIONS and the script is not terminated. You almost always +want to use select() rather than prompt(). --------------------------------------- @@ -2175,11 +2208,11 @@ Multiple statements can be grouped with { }, curly braces, just like with the 'if' statement. Example 1: - while (switch(select("Yes", "No") == 2)) + while (select("Yes", "No") == 2) mes("You picked no."); Example 2: multiple statements - while (switch(select("Yes", "No") == 2 )) { + while (select("Yes", "No") == 2) { mes("Why did you pick no?"); mes("You should pick yes instead!"); } @@ -2574,15 +2607,12 @@ playerattached() to check for the character attached to the script. --------------------------------------- -*getnpcid(<type>{, "<npc name>"}) +*getnpcid({"<npc name>"}) Retrieves IDs of the currently invoked NPC. If a unique npc name is given, -IDs of that NPC are retrieved instead. Type specifies what ID to retrieve -and can be one of the following: - - 0 - Unit ID (GID) +IDs of that NPC are retrieved instead. -If an invalid type is given or the NPC does not exist, 0 is returned. +If the NPC does not exist, 0 is returned. --------------------------------------- @@ -2969,18 +2999,20 @@ of equipment slots see getequipid(). --------------------------------------- -*getequiprefinerycnt(<equipment slot>) +*getequiprefinerycnt(<equipment slot>{, <equipment slot>{, <equipment slot>}}) -Returns the current number of pluses for the item in the specified -equipment slot. For a list of equipment slots see 'getequipid'. +Returns the total of refine of item equipped in the equipment slots. +For a list of equipment slots, see 'getequipid'. -Can be used to check if you have reached a maximum refine value, default -for this is +10: +For example: + if (getequiprefinerycnt(EQI_HEAD_TOP) > 10) { + mes("You equipped a headgear (top) with above 10 refine."); + } - if (getequiprefinerycnt(EQI_HEAD_TOP) < 10) - mes("I will now upgrade your "+getequipname(EQI_HEAD_TOP)); - else - mes("Sorry, it's not possible to refine hats better than +10"); +For example: + if (getequiprefinerycnt(EQI_ARMOR, EQI_SHOES) > 20) { + mes("Total refine of Armor and Shoes exceed 20."); + } --------------------------------------- @@ -3109,6 +3141,7 @@ invoking character has in its inventory, including all the data needed to recreate these items perfectly if they are destroyed. Here's what you get: @inventorylist_id[] - array of item ids. +@inventorylist_idx[] - array of item inventory index. @inventorylist_amount[] - their corresponding item amounts. @inventorylist_equip[] - will return the slot the item is equipped on, if at all. @inventorylist_refine[] - for how much it is refined. @@ -3121,7 +3154,8 @@ recreate these items perfectly if they are destroyed. Here's what you get: made by a specific craftsman. @inventorylist_expire[] - expire time (Unix time stamp). 0 means never expires. -@inventorylist_bound - whether it is an account bounded item or not. +@inventorylist_bound[] - whether it is an account bounded item or not. +@inventorylist_favorite[] - whether it is favorite (inside favorite tab) or not. @inventorylist_count - the number of items in these lists. This could be handy to save/restore a character's inventory, since no @@ -3175,6 +3209,30 @@ runs of getcartinventorylist(). --------------------------------------- +*setfavoriteitemidx(<idx>, <flag>) + +This function will set an item in inventory as favorite or not. +If its favorite item, it will be moved to favorite tab, else move out from favorite tab. +Note: Cant change favorite flag of an equipped item. + +Valid Parameters: + <idx> - inventory index, refer *getinventorylist() + <flag> - true/false (true = favorite item, false = otherwise) + +--------------------------------------- + +*autofavoriteitem(<item_id>, <flag>) + +This function will auto set an item as favorite when <item_id> is obtained. +If its favorite item, it will be auto moved to favorite tab, else move out from favorite tab. +This setting affect not only attached player, but also everyone player globally. + +Valid Parameters: + <item_id> - item ID + <flag> - true/false (true = favorite item, false = otherwise) + +--------------------------------------- + *cardscnt() This function will return the number of cards inserted into the weapon @@ -3220,25 +3278,49 @@ It will return -1 if there is no such item. Valid types are: - ITEMINFO_BUYPRICE - Buy Price - ITEMINFO_SELLPRICE - Sell Price - ITEMINFO_TYPE - Item Type - ITEMINFO_MAXCHANCE - Max drop chance of this item e.g. 1 = 0.01% , etc.. - if = 0, then monsters don't drop it at all (rare or a quest item) - if = 10000, then this item is sold in NPC shops only - ITEMINFO_SEX - Sex - ITEMINFO_LOC - Equip location - ITEMINFO_WEIGHT - Weight (note: 1/10 of unit) - ITEMINFO_ATK - Attack - ITEMINFO_DEF - Defense - ITEMINFO_RANGE - Range - ITEMINFO_SLOTS - Slots - ITEMINFO_SUBTYPE - Item subtype - ITEMINFO_ELV - Equip min. level - ITEMINFO_WLV - Weapon level - ITEMINFO_VIEWID - View ID ("Sprite" field in the Item DB) - ITEMINFO_MATK - MATK (only relevant if RENEWAL is set) - ITEMINFO_VIEWSPRITE - View Sprite ("ViewSprite" field in the Item DB) + ITEMINFO_BUYPRICE - Buy Price + ITEMINFO_SELLPRICE - Sell Price + ITEMINFO_TYPE - Item Type + ITEMINFO_MAXCHANCE - Max drop chance of this item e.g. 1 = 0.01% , etc.. + if = 0, then monsters don't drop it at all (rare or a quest item) + if = 10000, then this item is sold in NPC shops only + ITEMINFO_SEX - Sex + ITEMINFO_LOC - Equip location + ITEMINFO_WEIGHT - Weight (note: 1/10 of unit) + ITEMINFO_ATK - Attack + ITEMINFO_DEF - Defense + ITEMINFO_RANGE - Range + ITEMINFO_SLOTS - Slots + ITEMINFO_SUBTYPE - Item subtype + ITEMINFO_ELV - Equip min. level + ITEMINFO_ELV_MAX - Equip max. level + ITEMINFO_WLV - Weapon level + ITEMINFO_VIEWID - View ID ("Sprite" field in the Item DB) + ITEMINFO_MATK - MATK (only relevant if RENEWAL is set) + ITEMINFO_VIEWSPRITE - View Sprite ("ViewSprite" field in the Item DB) + ITEMINFO_TRADE - Trade Restriction (see "doc/constant.md": item trade restriction) + ITEMINFO_DELAY - Delay + ITEMINFO_DROPEFFECT_MODE - Drop effect mode + ITEMINFO_CLASS_BASE_1 - Class base 1 + ITEMINFO_CLASS_BASE_2 - Class base 2 + ITEMINFO_CLASS_BASE_3 - Class base 3 + ITEMINFO_CLASS_UPPER - Class Upper + ITEMINFO_FLAG_NO_REFINE - No refine flag + ITEMINFO_FLAG_DELAY_CONSUME - Delay consume flag + ITEMINFO_FLAG_AUTOEQUIP - Auto equip flag + ITEMINFO_FLAG_AUTO_FAVORITE - Auto favorite flag + ITEMINFO_FLAG_BUYINGSTORE - Buying store flag + ITEMINFO_FLAG_BINDONEQUIP - Bind on equip flag + ITEMINFO_FLAG_KEEPAFTERUSE - Keep after use flag + ITEMINFO_FLAG_FORCE_SERIAL - Force serial flag + ITEMINFO_FLAG_NO_OPTIONS - No random item options flag + ITEMINFO_FLAG_DROP_ANNOUNCE - Drop announce flag + ITEMINFO_FLAG_SHOWDROPEFFECT - Shopw drop effect flag + ITEMINFO_STACK_AMOUNT - Stack amount + ITEMINFO_STACK_FLAG - Stack amount flag (1: inventory, 2:cart, 4:storage: 8:guildstorage) + ITEMINFO_ITEM_USAGE_FLAG - Item usage flag + ITEMINFO_ITEM_USAGE_OVERRIDE - Item usage override + ITEMINFO_GM_LV_TRADE_OVERRIDE - Min. GM level override trade restriction Check sample in doc/sample/getiteminfo.txt @@ -3312,6 +3394,24 @@ This will set a Hat Effect onto the player. The state field allows you to enable (true) or disable (false) the effect on the player. --------------------------------------- + +*identify(<Item ID>) + +This function identifies the first <Item ID> item in attached player's inventory. + +Returns -2 if an error happens, -1 if no unidentified <Item ID> was found. +Otherwise, returns the idx of the identified item. + +--------------------------------------- + +*identifyidx(<Inventory Index>) + +This will identify item at attached player's <Inventory Index> inventory index. + +Returns true if the item was identified, false otherwise. +Note: If the item was already identified, it returns false. + +--------------------------------------- //===================================== 2.1 - End of Item-Related Commands //===================================== @@ -3378,11 +3478,12 @@ argument is omitted, it will try to use the map of the attached NPC, or the map of the attached player if the NPC can't be found. Valid <info> are: - MAPINFO_NAME name of the map - MAPINFO_ID numeric ID of the map - MAPINFO_ZONE name of the zone used by the map - MAPINFO_SIZE_X width of the map (cells on the x axis) - MAPINFO_SIZE_Y height of the map (cells on the y axis) + MAPINFO_NAME name of the map + MAPINFO_ID numeric ID of the map + MAPINFO_ZONE name of the zone used by the map + MAPINFO_SIZE_X width of the map (cells on the x axis) + MAPINFO_SIZE_Y height of the map (cells on the y axis) + MAPINFO_NPC_COUNT total number of NPC in the map Examples: getmapinfo(MAPINFO_ID, "map name"); // ID from name @@ -3524,20 +3625,21 @@ Examples : --------------------------------------- -*gettimestr(<format string>, <max length>) +*gettimestr(<format string>, <max length>{, <timestamp>}) This function will return a string containing time data as specified by the format string. -This uses the C function 'strfmtime', which obeys special format +This uses the C function 'strftime', which obeys special format characters. For a full description see, for example, the description of -'strfmtime' at http://www.delorie.com/gnu/docs/glibc/libc_437.html +'strftime' at http://www.delorie.com/gnu/docs/glibc/libc_437.html All the format characters given in there should properly work. Max length is the maximum length of a time string to generate. The example given in Hercules sample scripts works like this: mes(gettimestr("%Y-%m/%d %H:%M:%S", 21)); + mes(gettimestr("%Y-%m/%d %H:%M:%S", 21, getcalendartime(0, 0))); This will print a full date and time like 'YYYY-MM/DD HH:MM:SS'. @@ -3602,8 +3704,38 @@ You need to put a 'close' after that yourself. //===================================== --------------------------------------- +*getguildinfo(<info type>{, <guild id>}) +*getguildinfo(<info type>{, "<guild name>"}) + +This command returns misc info about the guild of the attached player. If a +guild id or guild name is specified it will be used instead. If the target guild +does not exist it returns an empty string or -1 depending on whether a string +or an integer was requested. + +Valid <info type> are: + GUILDINFO_NAME - guild name + GUILDINFO_ID - guild id + GUILDINFO_LEVEL - current level + GUILDINFO_EXP - current exp + GUILDINFO_NEXT_EXP - exp required to reach the next level + GUILDINFO_SKILL_POINTS - available skill points + GUILDINFO_ONLINE - number of online members + GUILDINFO_AV_LEVEL - average member level + GUILDINFO_MAX_MEMBERS - guild capacity + GUILDINFO_MASTER_NAME - name of the guild master + GUILDINFO_MASTER_CID - char id of the guild master + +Example: + getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD, "Haru")) + +--------------------------------------- + *getguildname(<guild id>) + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + This function returns a guild's name given an ID number. If there is no such guild, "null" will be returned; @@ -3617,10 +3749,18 @@ such guild, "null" will be returned; This is used all over the WoE controlling scripts. You could also use it for a guild-based event. +This command is deprecated and it should not be used in new scripts, as it is +likely to be removed at a later time. Please use getguildinfo instead: + getguildinfo(GUILDINFO_NAME, <guild id>) + --------------------------------------- *getguildmaster(<guild id>) + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + This function return the name of the master of the guild which has the specified ID number. If there is no such guild, "null" will be returned. @@ -3644,14 +3784,26 @@ Maybe you want to make a room only guild masters can enter: mes("Sorry you don't own the guild you are in"); close(); +This command is deprecated and it should not be used in new scripts, as it is +likely to be removed at a later time. Please use getguildinfo instead: + getguildinfo(GUILDINFO_MASTER_NAME, <guild id>) + --------------------------------------- *getguildmasterid(<guild id>) + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + This function will return the character ID number of the guild master of the guild specified by the ID. 0 if the character is not a guild master of any guild. +This command is deprecated and it should not be used in new scripts, as it is +likely to be removed at a later time. Please use getguildinfo instead: + getguildinfo(GUILDINFO_MASTER_CID, <guild id>) + --------------------------------------- *getcastlename("<map name>") @@ -3766,6 +3918,18 @@ getarraysize(), because it is not cleared between runs of getguildmember(). For usage examples, see getpartymember(). --------------------------------------- + +*getguildonline(<guild id>{, <type>}); + +Returns the amount of players online in the specified guild id. +Returns -1 if the guild was not found. + +Valid <type> are: + GUILD_ONLINE_ALL Returns the total amount of players online in the guild. + GUILD_ONLINE_VENDOR Returns the total amount of vendors online in the guild. + GUILD_ONLINE_NO_VENDOR Returns the total amount of non-vendors online in the guild. + +--------------------------------------- //===================================== 2.2 - End of Guild-Related Commands //===================================== @@ -3826,26 +3990,34 @@ how many skills a character has. *getpetinfo(<type>) -This function will return pet information for the pet the invoking -character currently has active. Valid types are: +This command will return the currently active pet information of the invoking character. +These fields are associate in 'db/(pre-)re/pet_db.conf'. Valid types are: - 0 - Unique pet ID number as stored by the char server and distinguishing - it from all other pets the characters actually have. This value is - currently useless, at most you can use it to tell pets apart reliably. - 1 - Pet class number as per 'db/pet_db.txt' - will tell you what kind of - a pet it is. - 2 - Pet name. Will return "null" if there's no pet. - 3 - Pet friendly level (intimacy score). 1000 is full loyalty. - 4 - Pet hungry level. 100 is completely full. - 5 - Pet rename flag. 0 means this pet has not been named yet. + PETINFO_ID - Pet Database ID, stored in `pet` table to distinguish from other pets. + PETINFO_CLASS - Pet class ID. (Id field) + PETINFO_NAME - Pet Name, return "null" if there's no active pet. + PETINFO_INTIMACY - Pet Intimacy level. 1000 is full loyalty. + PETINFO_HUNGRY - Pet hungry level. 100 is completely full. + PETINFO_RENAME - Pet rename flag. 0 means this pet has not been named yet. + PETINFO_GID - Pet Game ID + PETINFO_EGGITEM - Pet EggItem + PETINFO_FOODITEM - Pet FoodItem + PETINFO_ACCESSORYITEM - Pet AccessoryItem + PETINFO_ACCESSORYFLAG - return 1 if the pet currently equipping accessory, return 0 otherwise. + PETINFO_EVO_EGGID - Pet Evolve EggID + PETINFO_AUTOFEED - Pet AutoFeed flag. -If the invoking player doesn't own a pet, this command will return -"null" for type 2, and return 0 for other types. +If the invoking player doesn't own a pet, this command will +return "null" for type PETINFO_NAME, and return 0 for other types. --------------------------------------- *petstat(<flag>) + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + Returns current pet status, all are integers except name. Returns 0 or "" if the player doesn't have pets. @@ -3859,6 +4031,9 @@ PET_INTIMATE Example: .@i = petstat(PET_CLASS); +This command is deprecated and it should not be used in new scripts, as it is +likely to be removed at a later time. Please use 'getpetinfo' instead. + --------------------------------------- *getmonsterinfo(<mob ID>, <type>) @@ -3869,29 +4044,30 @@ It will return -1 if there is no such monster (or the type value is invalid), or "null" if you requested the monster's name. Valid types are listed in doc/constants.md: - MOB_NAME 0 - MOB_LV 1 - MOB_MAXHP 2 - MOB_BASEEXP 3 - MOB_JOBEXP 4 - MOB_ATK1 5 - MOB_ATK2 6 - MOB_DEF 7 - MOB_MDEF 8 - MOB_STR 9 - MOB_AGI 10 - MOB_VIT 11 - MOB_INT 12 - MOB_DEX 13 - MOB_LUK 14 - MOB_RANGE 15 - MOB_RANGE2 16 - MOB_RANGE3 17 - MOB_SIZE 18 - MOB_RACE 19 - MOB_ELEMENT 20 - MOB_MODE 21 - MOB_MVPEXP 22 + MOB_NAME 0 + MOB_LV 1 + MOB_MAXHP 2 + MOB_BASEEXP 3 + MOB_JOBEXP 4 + MOB_ATK1 5 + MOB_ATK2 6 + MOB_DEF 7 + MOB_MDEF 8 + MOB_STR 9 + MOB_AGI 10 + MOB_VIT 11 + MOB_INT 12 + MOB_DEX 13 + MOB_LUK 14 + MOB_RANGE 15 + MOB_RANGE2 16 + MOB_RANGE3 17 + MOB_SIZE 18 + MOB_RACE 19 + MOB_ELEMENT 20 + MOB_MODE 21 + MOB_MVPEXP 22 + MOB_DMG_TAKEN_RATE 23 Check sample in doc/sample/getmonsterinfo.txt @@ -4436,11 +4612,14 @@ if <color> field is left out. --------------------------------------- -*showscript("<message>"{, <GID>}) +*showscript("<message>"{, <GID>{, <send_target>}}) Makes the attached player or GID, display a message similiar to a chat, this will be seen by everyone near the invoking character but will not be displayed in the chat window. +send_target: (optional) + AREA: show the message to everyone within the view range (default) + SELF: show the message to the given unit GID only --------------------------------------- @@ -4505,13 +4684,13 @@ See also warp(). --------------------------------------- -*warpparty("<to_mapname>", <x>, <y>, <party_id>, "<from_mapname>", <include_leader>) +*warpparty("<to map name>", <x>, <y>, <party id>{{, <ignore mapflags>}, "<from map name>"{, <include leader>}}) Warps a party to specified map and coordinate given the party ID, which you can get with getcharid(CHAR_ID_PARTY). You can also request another party id given a member's name with getcharid(CHAR_ID_PARTY, <player_name>). -You can use the following "map names" for special warping behavior: +You can use the following <to map name> for special warping behavior: Random: All party members are randomly warped in their current map (as if they all used a fly wing). SavePointAll: All party members are warped to their respective save point. @@ -4522,8 +4701,10 @@ Leader: All party members are warped to the leader's position. The leader must be online and in the current map-server for this to work. -If you specify a from_mapname, warpparty() will only affect those on -that map. +If <ignore mapflags> is not 0, warpparty() ignores nowarp/noreturn restrictions +of the warped character's current map. <ignore mapflags> defaults to 0. + +If you specify a <from map name>, warpparty() will only affect those on that map. You can exclude Party leader from warping, by keeping include_leader option as false. @@ -4551,13 +4732,13 @@ Example: --------------------------------------- -*warpguild("<mapname>", <x>, <y>, <guild_id>, {"<from_mapname>"}) +*warpguild("<to map name>", <x>, <y>, <guild id>{{, <ignore mapflags>}, "<from map name>"}) Warps a guild to specified map and coordinate given the guild id, which you can get with getcharid(CHAR_ID_GUILD). You can also request another guild id given the member's name with getcharid(CHAR_ID_GUILD, <player_name>). -You can use the following "map names" for special warping behavior: +You can use the following <to map name> for special warping behavior: Random: All guild members are randomly warped in their current map (as if they all used a fly wing) SavePointAll: All guild members are warped to their respective save point. @@ -4565,12 +4746,19 @@ SavePoint: All guild members are warped to the save point of the currently attached player (will fail if there's no player attached). -If you specify a from_mapname, warpguild() will only affect those on that map. +If <ignore mapflags> is not 0, warpguild() ignores nowarp/noreturn restrictions +of the warped character's current map. <ignore mapflags> defaults to 0. + +If you specify a <from map name>, warpguild() will only affect those on that map. Example: - warpguild("prontera", x, y, Guild_ID); - warpguild("prontera", x, y, Guild_ID, "payon"); // warp member from Payon map only. + warpguild("prontera", x, y, Guild_ID); // Warp all guild members to Prontera, + // but check nowarp/noreturn restriction of their current map. + warpguild("prontera", x, y, Guild_ID, 1); // Warp all guild members to Prontera. + warpguild("prontera", x, y, Guild_ID, "payon"); // Warp guild members from Payon to Prontera, + // but check nowarp/noreturn restriction of Payon. + warpguild("prontera", x, y, Guild_ID, 1, "payon"); // Warp guild members from Payon to Prontera. --------------------------------------- @@ -5312,6 +5500,34 @@ Check getitem2() to understand its expanded parameters. --------------------------------------- +*delitemidx(<index>{, <amount>{, <account id>}}) + +This command will remove an item at the given inventory index. Unlike the +'delitem()' counterpart, this doesn't check invalid Item ID, making it useful to remove +invalid item IDs in player's inventory. + +If <amount> is not specified, this will remove all of the items at the specified index. +Note that items with the 'ForceSerial' flag, not yet merged through 'mergeitem()', will only +be removed at the given index. + +The only way to get the inventory index is by using 'getinventorylist()'. After deleting +an item at the given index, that index can remain empty until the player relogs, so you +should recall 'getinventorylist()' again. If you try to delete an item at an invalid index, the +script will terminate with an error. + +This command is also useful to remove rental/bound items because 'delitem()' +does not discriminate at choosing which item to remove. + +Example: + + // This will remove all invalid Item ID in player's inventory + getinventorylist(); + for (.@i = 0; .@i < @inventorylist_count; ++.@i) + if (getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE) == -1) + delitemidx(@inventorylist_idx[.@i]); + +--------------------------------------- + *countitem(<item id>) *countitem("<item name>") @@ -5339,6 +5555,30 @@ Check getitem2() to understand the arguments of the function. --------------------------------------- +*countnameditem(<item id>, "<character name>") +*countnameditem(<item id>, <character ID>) +*countnameditem("<item name>", "<character name>") +*countnameditem("<item name>", <character ID>) + +This function will return the number of signed items for the specified item ID +that the invoking character has in their inventory. + + mes("[Item Checker]"); + if (countnameditem(Apple) > 0) { + mes("You have an apple with your name on it!"); + } else { + mes("You do not have an apple with your name on it."); + } + next(); + mes("[Item Checker]"); + mesf("You have %d apples with John's name on it!", countnameditem(Apple, "John")); + close(); + +Like getnameditem(), this function will also accept an 'english name' from the +database as an argument. + +--------------------------------------- + *groupranditem(<item id>) Returns the item_id of a random item picked from the item container specified. There @@ -5690,6 +5930,10 @@ storage window, to avoid any disruption when both windows overlap. openstorage(); end; +The mapflag 'nostorage' when set to type '2' (or 3), will not open the +account storage. Unless the character group has the permission 'bypass_nostorage'. +In case blocked by mapflag, returns 0. + --------------------------------------- *openmail() @@ -5751,6 +5995,10 @@ time. This will also fail and return 2 if the attached character does not belong to any guild. +The mapflag 'nogstorage' when set to type '2' (or 3), will not open the +guild storage. Unless the character group has the permission 'bypass_nostorage'. +In case blocked by mapflag, returns 1. + --------------------------------------- *guildchangegm(<guild id>, <new master's name>) @@ -5842,6 +6090,16 @@ Used in reset NPC's (duh!). --------------------------------------- +*resetfeel({<account id>}) +*resethate({<account id>}) + +The first resets a character's 'Feeling' maps. +The second resets a character's 'Hatred' targets. + +If no RID is given, will run with the current attached player. + +--------------------------------------- + *sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}}) *sc_start2(<effect type>, <ticks>, <value 1>, <value 2>{, <rate>, <flag>{, <GID>}}) *sc_start4(<effect type>, <ticks>, <value 1>, <value 2>, <value 3>, <value 4>{, <rate>, <flag>{, <GID>}}) @@ -5992,6 +6250,26 @@ Example usage: --------------------------------------- +*specialeffectnum(<effect number>, <num1>, <num2>{, <send_target>{, <unit id>{, <account id>}}}) +*specialeffectnum(<effect number>, <num1>, <num2>{, <send_target>{, "<NPC Name>"{, <account id>}}}) + +Works same as specialeffect but also send effect numbers to client. +For PACKETVER >= 20191127 support two numbers (num1, num2). +For older packet versions only num1 supported. + +--------------------------------------- + +*removespecialeffect(<effect number>{, <send_target>{, <unit id>{, <account id>}}}) +*removespecialeffect(<effect number>{, <send_target>{, "<NPC Name>"{, <account id>}}}) + +Works for: + main client from version 2018-10-02 + re client from version 2018-10-02 +This command will remove special effect. All parameters same with specialeffect. +Examples and detailed explanation about parameters see in specialeffect. + +--------------------------------------- + *specialeffect2(<effect number>{, <send_target>{, "<Player Name>"}}) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ -6034,6 +6312,22 @@ Amount can be negative. See statusup(). --------------------------------------- +*needed_status_point(<type>, <val>); + +Returns the number of stat points needed to change the specified stat <type> by <val>. +If <val> is negative, returns the number of stat points that would be needed to +raise the specified stat from (current value - <val>) to current value. + +List of <type>: +bStr - Strength +bVit - Vitality +bInt - Intelligence +bAgi - Agility +bDex - Dexterity +bLuk - Luck + +--------------------------------------- + *bonus(<bonus type>, <val1>) *bonus2(<bonus type>, <val1>, <val2>) *bonus3(<bonus type>, <val1>, <val2>, <val3>) @@ -6266,6 +6560,7 @@ The <type> listed are a bit mask of the following: PCBLOCK_IMMUNE PCBLOCK_SITSTAND PCBLOCK_COMMANDS + PCBLOCK_NPC Examples: @@ -6276,7 +6571,7 @@ Examples: setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL, true); // Re-enables attack, skills and item use - setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM, false); + setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_USEITEM, false); // checkpcblock related checks if ((checkpcblock() & PCBLOCK_IMMUNE) != 0) @@ -6427,7 +6722,7 @@ This command will kill all monsters that were spawned with monster() or areamonster() and have a specified event label attached to them. Commonly used to get rid of remaining quest monsters once the quest is complete. -If the label is given as "All", all monsters which have their respawn +If the label is given as "all", all monsters which have their respawn times set to -1 (like all the monsters summoned with 'monster' or 'areamonster' script command, and all monsters summoned with GM commands, but no other ones - that is, all non-permanent monsters) on the specified @@ -6449,6 +6744,14 @@ other number for this parameter won't be recognized. --------------------------------------- +*killmonstergid(<GID>); + +This command will kill the specific monster GID. The difference between +this command and 'unitkill', is this command does not trigger monster's +event label. + +--------------------------------------- + *strmobinfo(<type>, <monster id>) This function will return information about a monster record in the @@ -6537,6 +6840,17 @@ will run as if by donpcevent(). --------------------------------------- +*mobattached() + +This command will return RID of the monster running from 'OnTouchNPC:' label. + + +// Kill any monster entering npc's trigger area +OnTouchNPC: + killmonstergid mobattached(); + +--------------------------------------- + *homevolution() This command will try to evolve the current player's homunculus. @@ -7681,6 +7995,10 @@ solution rather than sending the map and the monster_id. *debugmes("<format string>"{, <param>{, ...}}) + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ /!\ This command is deprecated @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + This command will print a message in the server console (map-server window), after applying the same format-string replacements as sprintf(). It will not be displayed anywhere else. Returns true on success. @@ -7694,6 +8012,29 @@ Example: --------------------------------------- +*consolemes("<type>", "<format string>"{,<param>{, ...}}) + +This command will print a message in the server console (map-server window), +after applying the same format-string replacements as sprintf(). It will not be +displayed anywhere else. Returns true on success. + +List of available <type> are: + CONSOLEMES_DEBUG = 0 + CONSOLEMES_ERROR = 1 + CONSOLEMES_WARNING = 2 + CONSOLEMES_INFO = 3 + CONSOLEMES_STATUS = 4 + CONSOLEMES_NOTICE = 5 + +Example: + + // Displays "NAME has clicked me!" in the map-server window. + consolemes(CONSOLEMES_DEBUG, "%s has clicked me!", strcharinfo(PC_NAME)); + + consolemes(CONSOLEMES_DEBUG, "\033[0;32mHello World"); // supports ANSI escape sequences + +--------------------------------------- + *logmes("<message>"{, <log type>}) This command will write the message given to the map server log files, as @@ -8114,7 +8455,7 @@ built-in atcommands and custom atcommands. *has_permission("<permission>"{, <account id>}) Check if the attached or specified player has the specified permission -and returns true or false accordingly. See doc/permissions.txt for +and returns true or false accordingly. See doc/permissions.md for details about permissions. Valid <permission> are: @@ -8146,6 +8487,7 @@ Valid <permission> are: PERM_DISABLE_STORE PERM_DISABLE_EXP PERM_DISABLE_SKILL_USAGE + PERM_BYPASS_NOSTORAGE Example: @@ -8406,6 +8748,18 @@ Example: --------------------------------------- +*cap_value(<number>, <min>, <max>) + +Returns the number but capped between <min> and <max>. + +Example: + // capped between 0 ~ 100 + .@value = cap_value(10, 0, 100); // .@value will be equal to 10 + .@value = cap_value(1000, 0, 100); // .@value will be equal to 100 + .@value = cap_value(-10, 3, 100); // .@value will be equal to 3 + +--------------------------------------- + *md5("<string>") Returns the md5 checksum of a number or string. @@ -8587,6 +8941,18 @@ Example: --------------------------------------- +*data_to_string(<data>) + +Returns a string representation of the given data, similar to the .toString() +method in JavaScript. + +Example: + + data_to_string(DATATYPE_VAR) // "DATATYPE_VAR" + data_to_string(.@foo) // ".@foo" + +--------------------------------------- + *charisalpha("<string>", <position>) This function will return true if the character number Position in the given @@ -8885,6 +9251,12 @@ currently used font is used, default interface font is used again. --------------------------------------- +*getfont() + +This command return the player's current font. +if no player is attached it would always return a 0, which is also the default font. + +---------------------------------------' *showdigit(<value>{, <type>}) Displays given numeric 'value' in large digital clock font on top of the @@ -9418,6 +9790,7 @@ supported types: values QINFO_HOMUN_LEVEL: min QINFO_HOMUN_TYPE: homunculus_type (0 - regular, 1 - evolved, 2 - S) QINFO_QUEST: quest_id, state // append to the quests list on each use + QINFO_MERCENARY_CLASS: mercenary_class --------------------------------------- @@ -9547,6 +9920,11 @@ is run when they relog. <On Death Event> refers to an NPC label that attaches to the character and is run when they die. Can be "" for empty. +If "-" is supplied for <mapname>, this will remove the 1 second automatic +respawn on the battleground map. This allows for better manipulation of +<On Death Event>. The player will have to be warped to desired location +at the end of <On Death Event>. + Unlike the prior command, the latter will attach a GROUP in a waiting room to the battleground, and sets the array $@arenamembers[0] where 0 holds the IDs of the first group, and 1 holds the IDs of the second. @@ -9678,6 +10056,8 @@ mapflag%TAB%<map_name>%TAB%battleground%TAB%2 This command will create a new BG Team. When player dies, they will be respawned map_name,X,Y as mentioned. +If "-" is supplied for the map name, this will remove the 1 second automatic +respawn on the battleground map. Command will return -1 if BG Creation is failed, else it will return the BG ID(Also known as TeamID). @@ -9767,17 +10147,18 @@ If char id is given, the information of that character is retrieved instead. Type specifies what information to retrieve and can be one of the following: - 0 - Database ID - 1 - Class - 2 - Name - 3 - Faith value for this mercenary's guild, if any - 4 - Calls value for this mercenary's guild, if any - 5 - Kill count - 6 - Remaining life time in msec - 7 - Level + MERCINFO_ID - Mercenary Database ID + MERCINFO_CLASS - Mercenary Class + MERCINFO_NAME - Mercenary Name + MERCINFO_FAITH - Mercenary faith value for this mercenary's guild, if any + MERCINFO_CALLS - Mercenary calls value for this mercenary's guild, if any + MERCINFO_KILLCOUNT - Mercenary kill count + MERCINFO_LIFETIME - Mercenary remaining life time in mili-second + MERCINFO_LEVEL - Mercenary Level + MERCINFO_GID - Mercenary Game ID -If the character does not have a mercenary, the command returns "" -for name and 0 for all other types. +If the character does not have a mercenary, the command returns "" for MERCINFO_NAME +and 0 for all other types. --------------------------------------- //===================================== @@ -9908,6 +10289,7 @@ when the optional NPC_Name param is used. --------------------------------------- *sellitem(<Item_ID>{, <price>{, <qty>}}) +*sellitem(<Item_ID>, <qty>, <currency_id>, <currency_amount>) adds (or modifies) <Item_ID> data to the shop, when <price> is not provided (or when it is -1) itemdb default is used. @@ -9916,11 +10298,15 @@ qty is only necessary for NST_MARKET trader types. when <Item_ID> is already in the shop, the previous data (price/qty), is overwritten with the new. +currency_id and currency_amount can be used only with shop type NST_BARTER + --------------------------------------- *stopselling(<Item_ID>) +*stopselling(<Item_ID>{, <currency_id>, <currency_amount>}) attempts to remove <Item_ID> from the current shop list. +currency_id and currency_amount can be used only with shop type NST_BARTER --------------------------------------- @@ -9959,133 +10345,133 @@ Returns the amount of still-available <Item_ID> in the shop (on a NST_MARKET tra --------------------------------------- -*setunitdata(<GUID>, <DataType>, <Val1> {,<Val2>,<Val3>}) +*setunitdata(<GID>, <DataType>, <Val>) Sets or alters the data in real-time for game objects of the following types - NPCs, Pets, Monsters, Homunuculus', Mercenaries, Elementals. Applicable Data Types (available as constants) - - Data Types Description (parameter type) - UDT_SIZE: Unit Size (int) - UDT_LEVEL: Level (int) - UDT_HP: Current HP (int) - UDT_MAXHP: Max HP (int) - UDT_SP: SP (int) - UDT_MAXSP: MAX SP (int) - UDT_MASTERAID: Master Account ID (for Summons) (int) - UDT_MASTERCID: Master Char ID (for Summons) (int) - UDT_MAPIDXY: Warp a Unit to a map. (Val1 = (string) MapName, Val2 = (int) x, Val3 = (int) y) - UDT_WALKTOXY: Make a unit walk to certain co-ordinates. (Val1 = (int) x, Val2 = (int) y) - UDT_SPEED: Unit Speed. (int) - UDT_MODE: Mode (Mobs only) (int) - UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) - UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) - UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) - UDT_CLASS: Class of the unit. (Monster ID) (int) - UDT_HAIRSTYLE: Hair Style ID. (int) - UDT_HAIRCOLOR: Hair Color ID. (int) - UDT_HEADBOTTOM: Headgear Bottom Sprite ID. (int) - UDT_HEADMIDDLE: Headgear Middle Sprite ID. (int) - UDT_HEADTOP: Headgear Top Sprite ID. (int) - UDT_CLOTHCOLOR: Cloth Color ID. (int) - UDT_SHIELD: Shield Sprite ID. (int) - UDT_WEAPON: Weapon Sprite ID. (int) - UDT_LOOKDIR: Face direction. (int) - UDT_CANMOVETICK: Stop a unit from move for n seconds. (int) - UDT_STR: Unit STR. (int) - UDT_AGI: Unit AGI. (int) - UDT_VIT: Unit VIT. (int) - UDT_INT: Unit INT. (int) - UDT_DEX: Unit DEX. (int) - UDT_LUK: Unit LUK. (int) - UDT_ATKRANGE: Attack range of a unit. (int) - UDT_ATKMIN: Min Atk of a unit. (int) - UDT_ATKMAX: Max Atk of a unit. (int) - UDT_MATKMIN: Min MATK of a unit. (int) - UDT_MATKMAX: Max MATK of a unit. (int) - UDT_DEF: DEF. (int) - UDT_MDEF: MDEF. (int) - UDT_HIT: HIT. (int) - UDT_FLEE: FLEE. (int) - UDT_PDODGE: Perfect Dodge. (int) - UDT_CRIT: Critical Rate. (int) - UDT_RACE: Race. (Eg. string constants RC_DemiHuman or Integer 7). - UDT_ELETYPE: Element. (Eg. string constants Ele_Neutral or Integer 0). - UDT_ELELEVEL: Element Level (int). - UDT_AMOTION: AMotion Rate (int). - UDT_ADELAY: ADelay Rate (int). - UDT_DMOTION: DMotion Rate (int). - UDT_HUNGER: Hunger Rate (int) - for summons. - UDT_INTIMACY: Intimacy Rate (int) - for summons. - UDT_LIFETIME: LifeTime (int) - for summons. - UDT_MERC_KILLCOUNT: Kill count for mercenaries (int). - UDT_STATADD: Status Points (int) - for NPCs. + Data Types Description (parameter type) + UDT_SIZE: Unit Size + UDT_LEVEL: Level + UDT_HP: Current HP + UDT_MAXHP: Max HP + UDT_SP: SP + UDT_MAXSP: MAX SP + UDT_MASTERAID: Master Account ID (for Summons) + UDT_MASTERCID: Master Char ID (for Summons) + UDT_SPEED: Unit Speed. + UDT_MODE: Mode (Mobs only) + UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) + UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) + UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) + UDT_CLASS: Class of the unit. (Monster ID) + UDT_HAIRSTYLE: Hair Style ID. + UDT_HAIRCOLOR: Hair Color ID. + UDT_HEADBOTTOM: Headgear Bottom Sprite ID. + UDT_HEADMIDDLE: Headgear Middle Sprite ID. + UDT_HEADTOP: Headgear Top Sprite ID. + UDT_CLOTHCOLOR: Cloth Color ID. + UDT_SHIELD: Shield Sprite ID. + UDT_WEAPON: Weapon Sprite ID. + UDT_LOOKDIR: Face direction. + UDT_CANMOVETICK: Stop a unit from move for n seconds. + UDT_STR: Unit STR. + UDT_AGI: Unit AGI. + UDT_VIT: Unit VIT. + UDT_INT: Unit INT. + UDT_DEX: Unit DEX. + UDT_LUK: Unit LUK. + UDT_ATKRANGE: Attack range of a unit. + UDT_ATKMIN: Min Atk of a unit. + UDT_ATKMAX: Max Atk of a unit. + UDT_MATKMIN: Min MATK of a unit. + UDT_MATKMAX: Max MATK of a unit. + UDT_DEF: DEF. + UDT_MDEF: MDEF. + UDT_HIT: HIT. + UDT_FLEE: FLEE. + UDT_PDODGE: Perfect Dodge. + UDT_CRIT: Critical Rate. + UDT_RACE: Race. (Eg. constants RC_DemiHuman or Integer 7). + UDT_ELETYPE: Element. (Eg. constants Ele_Neutral or Integer 0). + UDT_ELELEVEL: Element Level. + UDT_AMOTION: AMotion Rate. + UDT_ADELAY: ADelay Rate. + UDT_DMOTION: DMotion Rate. + UDT_HUNGER: Hunger Rate - for summons. + UDT_INTIMACY: Intimacy Rate - for summons. + UDT_LIFETIME: LifeTime - for summons. + UDT_MERC_KILLCOUNT: Kill count for mercenaries + UDT_STATADD: Status Points - for NPCs. + UDT_GROUP: group id + UDT_DAMAGE_TAKEN_RATE: damage taken rate of a unit. returns 0 if value could not be set, 1 if successful. --------------------------------------- -*getunitdata (<GUID>,<DataType>{,<Variable>}) +*getunitdata (<GID>,<DataType>) -Retrieves real-time data of a game object. For data with multiple return values, -an array variable may be passed to store the data in. +Retrieves real-time data of a game object. Applicable Data types (available as constants) - - Data Types Description (return type) - UDT_SIZE: Unit Size (int) - UDT_LEVEL: Level (int) - UDT_HP: Current HP (int) - UDT_MAXHP: Max HP (int) - UDT_SP: SP (int) - UDT_MAXSP: MAX SP (int) - UDT_MASTERAID: Master Account ID (for Summons) (int) - UDT_MASTERCID: Master Char ID (for Summons) (int) - UDT_MAPIDXY: Warp a Unit to a map. (Val1 = (string) MapName, Val2 = (int) x, Val3 = (int) y) - UDT_SPEED: Unit Speed. (int) - UDT_MODE: Mode (Mobs only) (int) - UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) - UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) - UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) - UDT_CLASS: Class of the unit. (Monster ID) (int) - UDT_HAIRSTYLE: Hair Style ID. (int) - UDT_HAIRCOLOR: Hair Color ID. (int) - UDT_HEADBOTTOM: Headgear Bottom Sprite ID. (int) - UDT_HEADMIDDLE: Headgear Middle Sprite ID. (int) - UDT_HEADTOP: Headgear Top Sprite ID. (int) - UDT_CLOTHCOLOR: Cloth Color ID. (int) - UDT_SHIELD: Shield Sprite ID. (int) - UDT_WEAPON: Weapon Sprite ID. (int) - UDT_LOOKDIR: Face direction. (int) - UDT_CANMOVETICK: Stop a unit from move for n seconds. (int) - UDT_STR: Unit STR. (int) - UDT_AGI: Unit AGI. (int) - UDT_VIT: Unit VIT. (int) - UDT_INT: Unit INT. (int) - UDT_DEX: Unit DEX. (int) - UDT_LUK: Unit LUK. (int) - UDT_ATKRANGE: Attack range of a unit. (int) - UDT_ATKMIN: Min Atk of a unit. (int) - UDT_ATKMAX: Max Atk of a unit. (int) - UDT_MATKMIN: Min MATK of a unit. (int) - UDT_MATKMAX: Max MATK of a unit. (int) - UDT_DEF: DEF. (int) - UDT_MDEF: MDEF. (int) - UDT_HIT: HIT. (int) - UDT_FLEE: FLEE. (int) - UDT_PDODGE: Perfect Dodge. (int) - UDT_CRIT: Critical Rate. (int) - UDT_RACE: Race. (Eg. string constants RC_DemiHuman or Integer 7). - UDT_ELETYPE: Element. (Eg. string constants Ele_Neutral or Integer 0). - UDT_ELELEVEL: Element Level (int). - UDT_AMOTION: AMotion Rate (int). - UDT_ADELAY: ADelay Rate (int). - UDT_DMOTION: DMotion Rate (int). - UDT_HUNGER: Hunger Rate (int) - for summons. - UDT_INTIMACY: Intimacy Rate (int) - for summons. - UDT_LIFETIME: LifeTime (int) - for summons. - UDT_MERC_KILLCOUNT: Kill count for mercenaries (int). - -returns 0 if value could not be retrieved. + Data Types Description (return type) + UDT_SIZE: Unit Size + UDT_LEVEL: Level + UDT_HP: Current HP + UDT_MAXHP: Max HP + UDT_SP: SP + UDT_MAXSP: MAX SP + UDT_MASTERAID: Master Account ID (for Summons) + UDT_MASTERCID: Master Char ID (for Summons) + UDT_SPEED: Unit Speed. + UDT_MODE: Mode (Mobs only) + UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) + UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) + UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) + UDT_CLASS: Class of the unit. (Monster ID) + UDT_HAIRSTYLE: Hair Style ID. + UDT_HAIRCOLOR: Hair Color ID. + UDT_HEADBOTTOM: Headgear Bottom Sprite ID. + UDT_HEADMIDDLE: Headgear Middle Sprite ID. + UDT_HEADTOP: Headgear Top Sprite ID. + UDT_CLOTHCOLOR: Cloth Color ID. + UDT_SHIELD: Shield Sprite ID. + UDT_WEAPON: Weapon Sprite ID. + UDT_LOOKDIR: Face direction. + UDT_CANMOVETICK: Stop a unit from move for n seconds. + UDT_STR: Unit STR. + UDT_AGI: Unit AGI. + UDT_VIT: Unit VIT. + UDT_INT: Unit INT. + UDT_DEX: Unit DEX. + UDT_LUK: Unit LUK. + UDT_ATKRANGE: Attack range of a unit. + UDT_ATKMIN: Min Atk of a unit. + UDT_ATKMAX: Max Atk of a unit. + UDT_MATKMIN: Min MATK of a unit. + UDT_MATKMAX: Max MATK of a unit. + UDT_DEF: DEF. + UDT_MDEF: MDEF. + UDT_HIT: HIT. + UDT_FLEE: FLEE. + UDT_PDODGE: Perfect Dodge. + UDT_CRIT: Critical Rate. + UDT_RACE: Race. (Eg. constants RC_DemiHuman or Integer 7). + UDT_ELETYPE: Element. (Eg. constants Ele_Neutral or Integer 0). + UDT_ELELEVEL: Element Level. + UDT_AMOTION: AMotion Rate. + UDT_ADELAY: ADelay Rate. + UDT_DMOTION: DMotion Rate. + UDT_HUNGER: Hunger Rate - for summons. + UDT_INTIMACY: Intimacy Rate - for summons. + UDT_LIFETIME: LifeTime - for summons. + UDT_MERC_KILLCOUNT: Kill count for mercenaries. + UDT_GROUP: group id + UDT_DAMAGE_TAKEN_RATE: damage taken rate of a unit. + +returns -1 if value could not be retrieved. --------------------------------------- @@ -10172,3 +10558,152 @@ Show in client message by <message_id> from msg string table. Optional <color> can be used for set color for whole message. --------------------------------------- + +*camerainfo() + +Show or hide camera info window. +Works for 20160525 clients or newer. + +--------------------------------------- + +*changecamera(<range>, <rotation>, <latitude>{, <target>}) + +Change camera range, rotation, latitude. +The optional target parameter specifies who will get changed +camera. +Works for 20160525 clients or newer. + +--------------------------------------- + +*achievement_progress(<ach_id>, <obj_idx>, <progress>, <incremental>{, <account_id>}); + +Make the player progress in the specified achievement. +aid - achievement ID +obj_idx - achievement objective index. +progress - objective progress towards goal. +incremental - (boolean) true to add the progress towards the goal, + false to use the progress only as a comparand. +account_id - (optional) AID to perform on (default to attached player). + +returns progress on success and false on failure + +--------------------------------------- + +*itempreview(<index>) + +Update already opened preview window with item from + inventory with given index. +Works for 20181017 RE and main clients or newer. + +--------------------------------------- + +*enchantitem(<equip_pos>, <card_slot>, <card_id>); + +Insert card into equipped item in EQI_* slot. +card_slot - can be 0 to 3. +card_id - any card item id. + +returns true if all parameters correct +false in other case. +Works for 20160831 main, 20151118 RE, any zero version + +--------------------------------------- + +*servicemessage("<message>", <color>{, <account_id>}) +*servicemessage("<message>", <color>{, <player_name>}) + +That command will send a service message to the chat window of the character +specified by account ID or name, or to connected to npc player. +It will not be seen by anyone else. + +Works for 20170830 RE and main and for any zero clients + +--------------------------------------- + +*expandinventoryack(<result>{, <itemId>}) + +Send initial inventory expansion result. +Normally this function should be called from script label +inventory_expansion::OnInventoryExpandRequest. + +Valid result statuses: + EXPAND_INVENTORY_ASK_CONFIRMATION - force client to ask player about inventory expansion + EXPAND_INVENTORY_FAILED - other failed reason + EXPAND_INVENTORY_OTHER_WORK - failed because player busy with other work + EXPAND_INVENTORY_MISSING_ITEM - failed because missing item + EXPAND_INVENTORY_MAX_SIZE - failed because inventory size already maximum + +ItemId make sense only if result is EXPAND_INVENTORY_ASK_CONFIRMATION +Works for 20181212 zero clients + +--------------------------------------- + +*expandinventoryresult(<result>) + +Send final inventory expansion result. +Normally this function should be called from script label +inventory_expansion::OnInventoryExpandConfirmed. + +Valid result values: + EXPAND_INVENTORY_RESULT_SUCCESS - success message + EXPAND_INVENTORY_RESULT_FAILED - other failed reason + EXPAND_INVENTORY_RESULT_OTHER_WORK - failed because player busy with other work + EXPAND_INVENTORY_RESULT_MISSING_ITEM - failed because missing item + EXPAND_INVENTORY_RESULT_MAX_SIZE - failed because inventory size already maximum + +Works for 20181212 zero clients + +--------------------------------------- + +*expandinventory(<value>) + +Adjust player inventory to given value. +Maximum inventory size is MAX_INVENTORY. +Minimum inventory size is FIXED_INVENTORY_SIZE. +For supported clients it send inventory change packet. For old clients, +this change is silent. +Current max inventory size can be read by function getInventorySize(). + +--------------------------------------- + +*getinventorysize() + +Return current player max inventory size. +This value always smaller or equal to MAX_INVENTORY. +Size can be changed by group of functions expandInventory* + +--------------------------------------- + +*getunittitle(<GID>) + +Return unit title string. +Works for 20180207 main clients, 20171129 re clients, 20171130 zero clients + +--------------------------------------- + +*setunittitle(<GID>, <title>) + +Set unit title string. +Invisible for players, because current implimentation using title id only. +Works for 20180207 main clients, 20171129 re clients, 20171130 zero clients + +--------------------------------------- + +*closeroulette() + +Force close roulette window. +Works for 20141008 main clients, 20140903 re, any zero. + +--------------------------------------- +*openrefineryui() + +Opens refinery user interface for the player +returns true on success and false on failure + +--------------------------------------- +*openlapineddukddakboxui(<item_id>) + +Opens lapine ddukddak user interface for the player +returns true on success and false on failure + +--------------------------------------- |