merge master into cppcheck

This commit is contained in:
lighta 2015-10-30 02:48:40 -04:00
commit 46d417a458
220 changed files with 36220 additions and 27820 deletions

4
.gitignore vendored
View File

@ -12,6 +12,7 @@ Thumbs.db
# /
/*_fifo
/*.exe
/*.exe.*
/*.ilk
/*.log
/*.ncb
@ -133,4 +134,5 @@ Thumbs.db
/.idea/rathena.iml
/.idea/vcs.xml
/.idea/workspace.xml
/build/
/build/

View File

@ -52,6 +52,12 @@ packet_ver_flag: 0x7FFFFFFF
// 0x00000008: 2013-07-10 Ragexe (version 43)
// 0x00000010: 2013-07-17 Ragexe (version 44)
// 0x00000020: 2013-08-07 Ragexe (version 45)
// 0x00000040: 2013-12-23 Ragexe (version 46)
// 0x00000080: ????
// 0x00000100: ????
// 0x00000200: ????
// 0x00000400: 2014-10-16 Ragexe (version 50)
// 0x00000800: 2014-10-22 Ragexe (version 51)
// default value: 0x7FFFFFFF (all clients/versions [41;72])
packet_ver_flag2: 0x7FFFFFFF

View File

@ -57,3 +57,8 @@ feature.autotrade_sit: 1
// Delay in miliseconds to open vending/buyingsotre after player logged in.
feature.autotrade_open_delay: 5000
// Roulette (Note 1)
// Requires: 2014-10-22bRagexe or later
// Off by default while test version is out; enable at your own risk.
feature.roulette: off

View File

@ -51,15 +51,14 @@ random_monster_checklv: no
// NOTE: Wedding Rings and Whips/Musical Instruments will check gender regardless of setting.
ignore_items_gender: yes
// Item check?
// On map change it will check for items not tagged as "available" and
// On map change it will check for items not tagged as "available" and
// auto-delete them from inventory/cart/storage.
// NOTE: An item is not available if it was not loaded from the item_db or you
// specify it as unavailable in db/item_avail.txt
// 1: Inventory
// 2: Cart
// 4: Storage
item_check: 0
// NOTE: An item is not available if it was not loaded from the item_db or
// specified as unavailable in db/item_avail.txt
// 0x1: Inventory
// 0x2: Cart
// 0x4: Storage
item_check: 0x0
// How much time must pass between item uses?
// Only affects the delay between using items, prevents healing item abuse. Recommended ~500 ms

View File

@ -51,6 +51,17 @@ char_port: 6121
//If redirected output contains escape sequences (color codes)
stdout_with_ansisequence: no
//Makes server log selected message types to a file in the /log/ folder
//1: Log Warning Messages
//2: Log Error and SQL Error messages.
//4: Log Debug Messages
//Example: "console_msg_log: 7" logs all 3 kinds
//Messages logged by this overrides console_silent setting
console_msg_log: 0
// File path to store the console messages above
console_log_filepath: ./log/char-msg_log.log
//Makes server output more silent by ommitting certain types of messages:
//1: Hide Information messages
//2: Hide Status messages

View File

@ -80,9 +80,12 @@ mysql_reconnect_count: 1
// Login Database Tables
login_server_account_db: login
login_server_accreg_db: global_reg_value
ipban_table: ipbanlist
// Shared
global_acc_reg_num_table: global_acc_reg_num
global_acc_reg_str_table: global_acc_reg_str
// Char Database Tables
char_db: char
hotkey_db: hotkey
@ -91,7 +94,6 @@ cart_db: cart_inventory
inventory_db: inventory
charlog_db: charlog
storage_db: storage
reg_db: global_reg_value
skill_db: skill
interlog_db: interlog
memo_db: memo
@ -117,6 +119,10 @@ elemental_db: elemental
ragsrvinfo_db: ragsrvinfo
skillcooldown_db: skillcooldown
bonus_script_db: bonus_script
acc_reg_num_table: acc_reg_num
acc_reg_str_table: acc_reg_str
char_reg_str_table: char_reg_str
char_reg_num_table: char_reg_num
// Map Database Tables
buyingstore_db: buyingstores
@ -135,10 +141,11 @@ mob_skill_db_db: mob_skill_db
mob_skill_db_re_db: mob_skill_db_re
mob_skill_db2_db: mob_skill_db2
//mob_skill_db2_db: mob_skill_db2_re
mapreg_db: mapreg
mapreg_table: mapreg
vending_db: vendings
vending_items_db: vending_items
market_table: market
db_roulette_table: db_roulette
// Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
use_sql_db: no

View File

@ -8,31 +8,34 @@
//--------------------------------------------------------------
// Enable Logs? (Note 3)
// 0x00000 - Don't log at all
// 0x00001 - (T) Log trades
// 0x00002 - (V) Log vending transactions
// 0x00004 - (P) Log items drop/picked by players
// 0x00008 - (L) Log items drop/looted by monsters
// 0x00010 - (S) Log NPC transactions (buy/sell)
// 0x00020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x00040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x00080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
// 0x00100 - (O) Log produced/ingredient items
// 0x00200 - (U) Log MVP prize items
// 0x00400 - (A) Log player created/deleted items (through @/# commands)
// 0x00800 - (R) Log items placed/retrieved from storage.
// 0x01000 - (G) Log items placed/retrieved from guild storage.
// 0x02000 - (E) Log mail system transactions.
// 0x04000 - (I) Log auction system transactions.
// 0x08000 - (B) Log buying store transactions
// 0x10000 - (X) Log all other transactions (rentals expiring/inserting cards/items removed by item_check/
// 0x000000 - Don't log at all
// 0x000001 - (T) Log trades
// 0x000002 - (V) Log vending transactions
// 0x000004 - (P) Log items drop/picked by players
// 0x000008 - (L) Log items drop/looted by monsters
// 0x000010 - (S) Log NPC transactions (buy/sell)
// 0x000020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x000040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
// 0x000100 - (O) Log produced/ingredient items
// 0x000200 - (U) Log MVP prize items
// 0x000400 - (A) Log player created/deleted items (through @/# commands)
// 0x000800 - (R) Log items placed/retrieved from storage.
// 0x001000 - (G) Log items placed/retrieved from guild storage.
// 0x002000 - (E) Log mail system transactions.
// 0x004000 - (I) Log auction system transactions.
// 0x008000 - (B) Log buying store transactions
// 0x010000 - (X) Log all other transactions (rentals expiring/inserting cards/items removed by item_check/
// rings deleted by divorce/pet egg (un)hatching/pet armor (un)equipping/Weapon Refine skill/Remove Trap skill)
// 0x20000 - ($) Log cash transactions
// 0x40000 - (K) Log account bank transactions
// 0x80000 - (F) Removed bound items when guild/party is broken
// 0x020000 - ($) Log cash transactions
// 0x040000 - (K) Log account bank transactions
// 0x080000 - (F) Removed bound items when guild/party is broken
// 0x100000 - (Y) Roulette Lottery
// 0x200000 - (Z) Merged items from item mergers process.
// 0x400000 - (Q) Log items given from quest-granted drops.
// Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059
// Please note that moving items from inventory to cart and back is not logged by design.
enable_logs: 0xFFFFF
enable_logs: 0xFFFFFF
// Use MySQL Logs? [SQL Version Only] (Note 1)
sql_logs: yes
@ -118,6 +121,15 @@ log_chat: 0
// Disable chat logging when WoE is running? (Note 1)
log_chat_woe_disable: no
//Time-stamp format which will be printed for log file.
//Can at most be 20 characters long.
//Common formats:
// %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
// %H:%M:%S (hour:minute:second, 24 hour format)
// %d/%b/%Y (day/Month/year)
//For full format information, consult the strftime() manual.
log_timestamp_format: %m/%d/%Y %H:%M:%S
// Logging files/tables
// Following settings specify where to log to. If 'sql_logs' is
// enabled, SQL tables are assumed, otherwise flat files.

View File

@ -25,6 +25,17 @@ login_port: 6900
//If redirected output contains escape sequences (color codes)
stdout_with_ansisequence: no
//Makes server log selected message types to a file in the /log/ folder
//1: Log Warning Messages
//2: Log Error and SQL Error messages.
//4: Log Debug Messages
//Example: "console_msg_log: 7" logs all 3 kinds
//Messages logged by this overrides console_silent setting
console_msg_log: 0
// File path to store the console messages above
console_log_filepath: ./log/login-msg_log.log
//Makes server output more silent by omitting certain types of messages:
//1: Hide Information messages
//2: Hide Status messages

View File

@ -55,6 +55,9 @@ stdout_with_ansisequence: no
//Messages logged by this overrides console_silent setting
console_msg_log: 0
// File path to store the console messages above
console_log_filepath: ./log/map-msg_log.log
//Makes server output more silent by omitting certain types of messages:
//1: Hide Information messages
//2: Hide Status messages

View File

@ -742,8 +742,7 @@
715: Point Shop List: '%s'
716: Your '%s' now: %d
// Item Group
717: [%s] has won [%s] from '%s'
//717: Free
// @showrate
718: Personal rate information is not displayed now.
@ -1593,5 +1592,8 @@
1495: You can't withdraw that much money
1496: Banking is disabled
// Roulette
1497: Roulette is disabled
//Custom translations
//import: conf/msg_conf/import/map_msg_eng_conf.txt

View File

@ -404,7 +404,7 @@
387: Emblem yang dipilih tidak bisa digunakan karena terlalu banyak transparency (batas=%d)
//lainnya
388: Kamu tidak bis menggunakan item ini ketika storage sedang dibuka.
//389 kosong
389: Speed kembali ke normal.
//NoAsk
390: Penolakan otomatis diaktifkan.
391: Penolakan otomatis ditidakaktifkan.
@ -427,7 +427,8 @@
//berkaitan dengan chrif
408: Dibutuhkan pemutusan koneksi untuk melakukan permintaan ubah jenis kelamin ...
409: Jenis kelaminmu telah diganti (membutuhkan pemutusan koneksi oleh server) ...
//410-411 digunakan untuk cash shop
410: %d Cash Point telah dikurangi. Total point %d.
411: %d Kafra Point telah dikurangi. Total point %d.
412: Akunmu 'Tidak terdaftar'
413: Akunmu memiliki 'Password yang salah'...
414: Akunmu sudah kadaluarsa.
@ -436,7 +437,7 @@
417: File game EXE-mu bukanlah versi terakhir.
418: Akunmu dilarang untuk masuk
419: Server sedang macet karena populasi yang berlebihan.
420: Akunmu sudah tidak diizinkan
420: Akunmu sudah tidak diizinkan.
421: Akunmu sudah dihapus keseluruhan.
423: Akunmu telah dibuang hingga %s
424: Login-serv meminta untuk %s pemain '%.*s'.
@ -500,8 +501,6 @@
504: %d kafra poin dan %d cash poin sudah digunakan. Sisa: %d kafra dan %d cash poin.
505: %d cash poin sudah bertambah. Total %d poin.
506: %d kafra poin sudah bertambah. Total %d poin.
410: %d cash poin sudah dipakai. Total %d poin.
411: %d kafra poin sudah dipakai. Total %d poin.
// Char ban
507: Pemain ini sudah dihukum selama %d menit.
@ -513,7 +512,7 @@
510: Kamu memiliki %d pesan baru (ada %d pesan yang belum dibaca)
// Instancing
515: Intance kamu sudha dimuat ulang.
515: Instance kamu sudah dimuat ulang.
516: Database Instance sudah dimuat ulang.
// @auction
@ -537,7 +536,7 @@
532: Shadow Right Accessory,
533: Shadow Left Accessory,
//534: kosong
534: Toko kehabisan stok! Datang lagi nanti.
// Pesan yang berhubungan dengan deteksi Bot (Saat ini belum diimplementasikan)
535: Kemungkinan BOT (99%%) atau client yang digunakan sudah dimodifikasi '%s' (akun: %d, char_id: %d). Pemain ini bisa melihat nama kamu saat kamu sedang tidak terlihat.
@ -686,7 +685,7 @@
662: Kamu harus setidaknya %d kotak jauhnya dari NPC.
663: Duel: Tidak dapat menggunakan item ini saat duel.
664: Kamu tidak dapat menggunakan perintah ini ketika mati.
665: TIdak daapt membuat ruang chat di area ini.
665: Tidak dapat membuat ruang chat di area ini.
666: Peliharaan tidak diperbolehkan di Guild Wars.
667: Kamu tidak mati.
668: Posisi memomu saat ini adalah:
@ -736,9 +735,9 @@
711: Item %hu telah dihapus dari storage-mu.
//Item shop
712: %s (%d) yang kamu miliki tidak cukup.
712: %s (%hu) yang kamu miliki tidak cukup.
713: '%s' yang kamu miliki tidak cukup.
714: Item Shop: %s (%d)
714: Item Shop: %s (%hu)
715: Point Shop: '%s'
716: '%s' milikmu saat ini: %d
@ -788,7 +787,7 @@
900: Penggunaan:
901: @send len <nomor hex dari paket yang akan dikirim>
902: @send <nomor hex dari paket yang akan dikirim> {<data>}*
903: Data: <tipe=B(default),W,L><nomor> atau S<panjang>"<string>"
903: Data: <tipe=B(default),W,L><nomor> atau S<panjang>\"<string>\"
904: Paket 0x%x panjang: %d
905: Paket tidak diketahui: 0x%x
906: Bukan sebuah kata:
@ -923,18 +922,12 @@
1020: Kamu tidak diperbolehkan untuk memindahkan pemain tersebut.
// @charblock
1021: Harap masukkan nama pemain. (Penggunaan: @charblock/@block <nama karakter>).
1021: Harap masukkan nama pemain. (Penggunaan: %s <nama karakter>).
// @charban
1022: Harap masukkan waktu hukuman dan nama pemain. (Penggunaan: @charban/@ban/@banish/@charbanish <waktu> <nama karakter>).
1022: Harap masukkan waktu hukuman dan nama pemain. (Penggunaan: %s <waktu> <nama karakter>).
1023: Kamu tidak diperbolehkan untuk mengubah waktu hukuman.
// @charunblock
1024: Harap masukkan nama pemain. (Penggunaan: @charunblock <nama karakter>).
// @charunban
1025: Harap masukkan nama pemain. (Penggunaan: @charunban <nama karakter>).
// @kick
1026: Harap masukkan nama pemain. (Penggunaan: @kick <nama karakter/ID>).
@ -996,9 +989,9 @@
1119: Kamu sudah menaiki seekor naga.
1120: Kamu sudah melepaskan nagamu.
1121: Kamu sudah menaiki seekor Warg.
1122: Kamu sudah melepaskan Warg-mu.
1122: Kamu sudah melepaskan Warg.
1123: Kamu sudah menaiki sebuah Mado Gear.
1124: Kamu sudah melepaskan Mado Gear-mu.
1124: Kamu sudah melepaskan Mado Gear.
// @guildspy
1125: Perintah 'spy' (memata-matai) dinonaktifkan di mapserver.
@ -1146,8 +1139,8 @@
1193: Kamu saat ini sedang tidak mengambil item ini secara otomatis.
1194: Item dihilangkan: '%s'/'%s' {%hu} dari daftar pengambilan otomatismu.
1195: Kamu hanya memiliki item %d di daftarmu.
1196: Untuk menambahkan item ke daftar, gunakan "@alootid +<ID atau nama item>". Untuk menghilangkannya, gunakan "@alootid -<ID atau nama item>".
1197: "@alootid reset" akan membersihkan daftar autolootitem.
1196: Untuk menambahkan item ke daftar, gunakan \"@alootid +<ID atau nama item>\". Untuk menghilangkannya, gunakan \"@alootid -<ID atau nama item>\".
1197: \"@alootid reset\" akan membersihkan daftar autolootitem.
1198: Daftar autolootitemmu kosong.
1199: Item yang berada di daftar autolootitem:
1200: Daftar autolootitem telah direset.
@ -1352,8 +1345,8 @@
// @mapflag
1311: Mapflag yang ada di map ini:
1312: Penggunaan: "@mapflag monster_noteleport 1" (0=Mati | 1=Hidup)
1313: Ketikkan "@mapflag available" untuk melihat daftar mapflag yang tersedia.
1312: Penggunaan: \"@mapflag monster_noteleport 1\" (0=Mati | 1=Hidup)
1313: Ketikkan \"@mapflag available\" untuk melihat daftar mapflag yang tersedia.
1314: Flag atau nama flag salah.
1315: Flag yang tersedia:
@ -1391,7 +1384,7 @@
// @itemlist
1332: ------ %s daftar item dari '%s' ------
1333: | Dipakai:
1333: | Lokasi:
1334: Jubah,
1335: Aksesori kiri,
1336: Badan/armor,
@ -1432,13 +1425,13 @@
// @accinfo
1365: Penggunaan: @accinfo/@accountinfo <id_akun/nama karakter>
1366: Kamu boleh mencari bagian nama dengan menggunakan '%' dalam pencarian, misal "@accinfo %Mario%" akan menampilkan daftar semua karakter dengan nama "Mario".
1366: Kamu boleh mencari bagian nama dengan menggunakan '%' dalam pencarian, misal \"@accinfo %Mario%\" akan menampilkan daftar semua karakter dengan nama \"Mario\".
// @set
1367: Penggunaan: @set <nama variable> <nilai>
1368: Contoh penggunaan: "@set PoringCharVar 50"
1369: Contoh penggunaan: "@set PoringCharVarSTR$ Super Duper String"
1370: Contoh penggunaan: "@set PoringCharVarSTR$" menampilkan nilainya, Super Duper String.
1368: Contoh penggunaan: \"@set PoringCharVar 50\"
1369: Contoh penggunaan: \"@set PoringCharVarSTR$ Super Duper String\"
1370: Contoh penggunaan: \"@set PoringCharVarSTR$\" menampilkan nilainya, Super Duper String.
1371: Variabel pada NPC tidak boleh digunakan dengan @set.
1372: Variabel instansi tidak boleh digunakan dengan @set.
1373: Nilai %s saat ini: %d
@ -1579,22 +1572,24 @@
1482: Daftar autoloottype-mu sudah memiliki semua tipe. Kamu dapat menghilangkan beberapa tipe item dengan @autoloottype -<nama atau ID item>.
1483: Meng-autoloot tipe item: '%s' {%d}
1484: Kamu sudah tidak meng-autoloot tipe item ini.
1485: Tipe item: '%s' {%d} dihilangkan dari daftar autoloottype-mu.
1486: Untuk menambahkan tipe item ke dalam daftar, gunakan "@aloottype +<nama atau ID tipe>". Untuk menghilangkan sebuah tipe item, gunakan "@aloottype -<nama atau ID tipe>".
1485: Tipe item: '%s' {%d} dihilangkan dari daftar autoloottype anda.
1486: Untuk menambahkan tipe item ke dalam daftar, gunakan \"@aloottype +<nama atau ID tipe>\". Untuk menghilangkan sebuah tipe item, gunakan \"@aloottype -<nama atau ID tipe>\".
1487: Daftar tipe: healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10
1488: "@aloottype reset" akan membersihkan daftar autoloottype-mu.
1489: Dafatr autoloottype-mu kosong.
1490: Tipe item yang berada di daftar autoloottype-mu:
1491: Daftar autoloottype-mu telah direset.
1488: \"@aloottype reset\" akan membersihkan daftar autoloottype anda.
1489: Daftar autoloottype anda kosong.
1490: Tipe item yang berada di daftar autoloottype anda:
1491: Daftar autoloottype anda telah direset.
// @dropall
1492: Penggunaan: @dropall {<tipe>}
1493: Daftar 'tipe': (default) all = -1, healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10
1494: %d item telah dijatuhkan!
1494: %d item telah dijatuhkan! (%d tidak bisa dijatuhkan)
//Banking
1495: Kamu tidak dapat mengambil uang sebanyak itu.
1496: Fitur banking tidak sedang aktif.
1497: Roulette tidak tersedia.
//Bila ada terjemahan lain
//import: conf/msg_conf/import/map_msg_idn_conf.txt

View File

@ -1467,5 +1467,35 @@
// @reloadpacketdb
1477: °Ò¹¢éÍÁÙÅ Packet ä´é¶Ù¡âËÅ´ãËÁèàÃÕºÃéÍÂ.
// @partysharelvl
1478: <20><>´<EFBFBD>÷ Level <20><><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>ב×<D791>ל ה´י<D799><C2B6>»<EFBFBD><C2BB>÷א»<D790><C2BB>ט<EFBFBD>¹א<C2B9><D790><EFBFBD>÷<EFBFBD>י<EFBFBD><D799>ב<EFBFBD>י<EFBFBD>.
1479: <20><><EFBFBD>»<EFBFBD><C2BB>÷¤ט<C2A4><D798><EFBFBD><EFBFBD>ב×<D791>ל¼<D79C>´¾<C2B4><C2BE>´. Character server ¨<><EFBFBD><C2B6>»<EFBFBD>´<EFBFBD>§.
// @autoloottype
1480: ה<>ט¾÷ה<C3B7>א·<D790>.
1481: ¤<>³<EFBFBD><C2B3><EFBFBD><EFBFBD>§ autoloot ה<>א·<D790>×¹<C397>´¹<C2B4>י<EFBFBD><D799><EFBFBD>ט.
1482: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> autoloot ¢<>§¤<C2A7>³אµח<C2B5>. ¤<>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD>¶»<C2B6><C2BB>÷<EFBFBD>´ה´י´י<C2B4><D799>¤<EFBFBD><C2A4><EFBFBD>ט§ @autoloottype -<×<>ט<EFBFBD>ה<EFBFBD>א·<D790> <20><><EFBFBD><EFBFBD> ID>.
1483: ה<>א·<D790>·<EFBFBD>ט<EFBFBD><D798><EFBFBD><EFBFBD>§ autolooting: '%s' {%d}
1484: ¤<>³ה<C2B3>טה´י<C2B4><D799>ט§א<C2A7>ח÷ה<C3B7>א·<D790>×¹<C397>´¹<C2B4>י.
1485: <20><>א<EFBFBD><D790><EFBFBD><EFBFBD><EFBFBD><EFBFBD>א<EFBFBD>ח÷ה<C3B7>א·<D790>×¹<C397>´¹<C2B4>י: '%s' {%d} ¨<><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> autoloot ¢<>§¤<C2A7>³.
1486: <20><>¸<EFBFBD>¹<EFBFBD>ה<EFBFBD>א·<D790>·<EFBFBD>ט¨<D798>א<EFBFBD>ח÷א¢י<C2A2><D799><EFBFBD>ט<EFBFBD><D798><EFBFBD> ד<>י¾<D799><C2BE>¾ל¤<D79C><C2A4><EFBFBD>ט§ "@aloottype +<×<>ט<EFBFBD>ה<EFBFBD>א·<D790> <20><><EFBFBD><EFBFBD> ID>". <20><>א<EFBFBD><D790><EFBFBD><EFBFBD><EFBFBD><EFBFBD>א<EFBFBD>ח÷ה<C3B7>א·<D790>×¹<C397>´¹<C2B4>י ¾<>¾<EFBFBD>ל¤<D79C><C2A4><EFBFBD>ט§ "@aloottype -<×<>ט<EFBFBD>ה<EFBFBD>א·<D790> <20><><EFBFBD><EFBFBD> ID>".
1487: »<><C2BB>א<EFBFBD>·ה<C2B7>א·<D790>µט<C2B5>§ז : healing = 0, usable = 2, etc = 3, armor = 4, weapon = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10
1488: "@aloottype reset" א¤<D790><C2A4><EFBFBD><EFBFBD>לה<D79C>א·<D790>·<EFBFBD>ט<EFBFBD><D798><EFBFBD>טד¹<D793><C2B9><EFBFBD>¢<EFBFBD>§¤<C2A7>³·<C2B3>י§<D799><C2A7>´.
1489: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>א<EFBFBD>ח÷ה<C3B7>א·<D790>¢<EFBFBD>§¤<C2A7>³אµח<C2B5>.
1490: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> autoloottype <20><>´<EFBFBD>§¹<C2A7>י:
1491: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> autoloottype ה´י<D799><C2B6><EFBFBD>÷ה»ב<C2BB>י<EFBFBD> .
// @dropall
1492: ¾<><C2BE>¾ל¤<D79C><C2A4><EFBFBD>ט§: @dropall {<×¹<C397>´¢<C2B4>§ה<C2A7>א·<D790>>}
1493: ×¹<C397>´¢<C2B4>§ה<C2A7>א·<D790>: (¤ט<C2A4>א<EFBFBD><D790>ט<EFBFBD>µי¹) ´<><C2B4>»·<C2BB><C2B7>×¹<C397>´ = -1, healing = 0, usable = 2, etc = 3, armor = 4, weapon = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10
1494: ה<>א·<D790> %d ה´י<C2B4><D799>ט¹<D798><C2B9><EFBFBD>¨<EFBFBD><C2A8>µ<EFBFBD><C2B5>¤<EFBFBD>³ב<C2B3>י<EFBFBD> (%d ¢י<C2A2><D799>)!
// Banking
1495: ¤<>³ה<C2B3>ט<EFBFBD><D798><EFBFBD><EFBFBD><EFBFBD>¶¶<C2B6>¹א§<D790>¹ <20><><EFBFBD><EFBFBD><EFBFBD>ט<EFBFBD>·<EFBFBD>ט½<D798><C2BD>ה<EFBFBD>יה´י
1496: <20><>÷÷½<C3B7><C2BD>א§<D790>¹ Banking »<>´<EFBFBD><C2B4><EFBFBD>ד×י§<D799>¹
// Roulette
1497: <20><>÷÷ Roulette »<>´<EFBFBD><C2B4><EFBFBD>ד×י§<D799>¹
//Custom translations
//import: conf/msg_conf/import/map_msg_tha_conf.txt

View File

@ -40,19 +40,19 @@ xml=yes
xml-user-comment=
[valkyrie]
binary=/home/lighta/Documents/Myscript/RO/Servs/ragit/char-server
binary=./char-server
binary-flags=--run-once
browser=/usr/bin/perl
default-logdir=/tmp/valkyrie_lighta/
default-logdir=./tmp
font-gen-sys=true
font-gen-user="Luxi Sans,10,-1,5,50,0,0,0,0,0"
font-tool-user="Misc Fixed,11,-1,5,50,0,0,0,0,0"
project-file=
project-file=/home/lighta/Documents/Dev/RO/rathena/conf/valkyrie_sample.cfg
show-butt-text=false
show-tooltips=true
src-editor=gvim
src-editor=/bin/geany
src-lines=2
use-vk-palette=true
vg-exec=valgrind
vg-exec=/bin/valgrind
view-log=
working-dir=/home/lighta/Documents/Myscript/RO/Servs/ragit
working-dir=../

View File

@ -175,7 +175,6 @@ EAJL_2 0x300
EAJL_UPPER 0x1000
EAJL_BABY 0x2000
EAJL_THIRD 0x4000
EAJL_SUPER_NOVICE 0x8000
EAJ_BASEMASK 0x00ff
EAJ_UPPERMASK 0x0fff
@ -299,10 +298,10 @@ EAJ_BABY_SURA 0x6204
EAJ_BABY_GENETIC 0x6205
EAJ_BABY_CHASER 0x6206
EAJ_SUPER_NOVICE 0x8100
EAJ_SUPER_BABY 0xA100
EAJ_SUPER_NOVICE_E 0xC100
EAJ_SUPER_BABY_E 0xE100
EAJ_SUPER_NOVICE 0x100
EAJ_SUPER_BABY 0x2100
EAJ_SUPER_NOVICE_E 0x4100
EAJ_SUPER_BABY_E 0x6100
bc_all 0
bc_map 1
@ -433,6 +432,9 @@ CharMoves 124 1
CharRename 125 1
Font 126 1
BankVault 127 1
RouletteBronze 128 1
RouletteSilver 129 1
RouletteGold 130 1
bMaxHP 6
bMaxSP 8
@ -539,8 +541,8 @@ bSPDrainValue 1080
bWeaponAtk 1081
bWeaponAtkRate 1082
bDelayrate 1083
bHpDrainValueRace 1084
bSpDrainValueRace 1085
bHPDrainValueRace 1084
bSPDrainValueRace 1085
bIgnoreMdefRaceRate 1086
bIgnoreDefRaceRate 1087
bSkillHeal2 1088
@ -596,8 +598,8 @@ bMagicSPGainValue 2043
bMagicHPGainValue 2044
bAddMonsterIdDropItem 2045
bMatk 2046
bSPGainRaceAttack 2047
bHPGainRaceAttack 2048
bComaClass 2047
bComaRace 2048
bSkillUseSPrate 2049
bSkillCooldown 2050
@ -629,6 +631,9 @@ bAddMaxWeight 2072
bAddItemGroupHealRate 2073
bHPVanishRaceRate 2074
bSPVanishRaceRate 2075
bAbsorbDmgMaxHP 2076
bSubSkill 2077
bSubDefEle 2078
EQI_HEAD_TOP 1
EQI_ARMOR 2
@ -679,6 +684,7 @@ Eff_Bleeding 9
Eff_DPoison 10
Eff_Fear 309
Eff_Burning 310
Eff_Crystalize 388
Ele_Neutral 0
Ele_Water 1
@ -1163,8 +1169,39 @@ IG_Gift_Buff_Set 419
IG_Lucky_Silvervine_Fruit_Box_III10 420
IG_Lucky_Silvervine_Fruit_Box_III110 421
IG_Old_Ore_Box 422
IG_Blessing_Lucky_Egg 423
IG_Sograt_Lucky_Egg 424
IG_Garnet_Lucky_Egg 425
IG_Amora_Lucky_Egg 426
IG_Venus_Lucky_Egg 427
IG_Erzulie_Lucky_Egg 428
IG_Majestic_Lucky_Egg 429
IG_Epic_Heroes_Lucky_Egg 430
IG_Hero_Midgard_Egg 431
IG_Midgard_Celebration_Lucky_Egg 432
IG_Rune_Midgard_Imortal_Lucky_Egg 433
IG_Rise_Midgard_Lucky_Egg 434
IG_Time_Travel_Lucky_Egg 435
IG_Solaris_Festival_Scroll 436
IG_Midgard_Festival_Egg 437
IG_Midgard_Egg 438
IG_Sweet_Midgard_Egg 439
IG_Winter_Midgard_Egg 440
IG_Spring_Festival_Lucky_Egg 441
IG_Birthday_IdRO10th_Scroll 442
IG_Requiem_Egg 443
IG_Holy_Spirit_Egg 444
IG_Memorial_Garuda_Lucky_Egg 445
IG_Miracle_Lucky_Egg 446
IG_Legend_Hero_Lucky_Egg 447
IG_Blessing_Midgard_Lucky_Egg 448
IG_Chronosian_Lucky_Egg 449
IG_Sanctuary_Lucky_Egg 450
IG_Cyborg_Lucky_Egg 451
IG_Undine_Lucky_Egg 452
SC_ALL -1
SC_NONE -1
SC_STONE 0
SC_FREEZE 1
SC_STUN 2
@ -1752,8 +1789,8 @@ SC_ALL_RIDING 592
SC_TEARGAS_SOB 593
SC__FEINTBOMB 594
SC__CHAOS 595
SC_ELEMENTAL_SHIELD 596
SC_CHASEWALK2 597
SC_CHASEWALK2 596
SC_VACUUM_EXTREME_POSTDELAY 597
SC_MTF_ASPD2 598
SC_MTF_RANGEATK2 599
SC_MTF_MATK2 600
@ -1763,7 +1800,23 @@ SC_MTF_MHP 603
SC_MTF_MSP 604
SC_MTF_PUMPKIN 605
SC_MTF_HITFLEE 606
SC_EXTREMITYFIST2 607
SC_CRIFOOD 607
SC_ATTHASTE_CASH 608
SC_REUSE_LIMIT_A 609
SC_REUSE_LIMIT_B 610
SC_REUSE_LIMIT_C 611
SC_REUSE_LIMIT_D 612
SC_REUSE_LIMIT_E 613
SC_REUSE_LIMIT_F 614
SC_REUSE_LIMIT_G 615
SC_REUSE_LIMIT_H 616
SC_REUSE_LIMIT_MTF 617
SC_REUSE_LIMIT_ASPD_POTION 618
SC_REUSE_MILLENNIUMSHIELD 619
SC_REUSE_CRUSHSTRIKE 620
SC_REUSE_STORMBLAST 621
SC_ALL_RIDING_REUSE_LIMIT 622
SC_EXTREMITYFIST2 623
//Status Icon
SI_BLANK -1
@ -4627,6 +4680,67 @@ THANATOS_KEEP 10009
4_JP_EDGA_H 10111
4_JP_BRAGOLEM_H 10112
4_EL_AQUA 10113
4_EP16_NIHIL 10114
4_EP16_SPICA 10115
4_EP16_SKIA 10116
4_EP16_PETER 10117
4_EP16_CRUX 10118
4_EP16_GRANZ 10119
4_EP16_STOLZ 10120
4_EP16_EGEO 10121
4_EP16_COOK 10122
4_EP16_MARK 10123
4_EP16_TAMARIN 10124
4_EP16_POE 10125
4_EP16_ISAAC 10126
4_EP16_HELMUT 10127
4_EP16_WOLF 10128
4_EP16_MEYER 10129
4_EP16_AGNES 10130
4_EP16_FOOD 10131
4_EP16_LOUVIERE 10132
4_EP16_MAX 10133
4_EP16_SPIEGEL 10134
4_MOONLIGHT 10135
4_MISTRESS 10136
4_DRACULA 10137
4_STORMKNIGHT 10138
4_TATTER 10139
4_AS_RAGGED_GOLEM 10140
4_AS_BLOODY_KNIGHT 10141
4_AS_WIND_GHOST 10142
4_F_BIJOU 10143
4_EP16_COOK2 10144
4_SERVICE_30_M_01 10145
4_SERVICE_30_F_01 10146
4_SCR_AT_ROBOTS 10147
4_F_RANGER 10148
4_WAG 10149
4_NPC_TRAP 10150
4_RAGGLER 10151
4_DR_PEPE 10152
4_DR_GAMBERI 10153
4_DR_AGLIO 10154
4_DR_OLIO 10155
4_DR_STELO 10156
4_DR_TORTEL 10157
4_BASIL_SLAVE 10158
4_DOU_JINDO 10159
4_DOU_SIBA 10160
4_TARUTUPI 10161
4_DR_SOLDIER 10162
4_DR_M_01 10163
4_DR_M_02 10164
4_DR_F_01 10165
4_DR_F_02 10166
4_DR_KID_01 10167
4_JP_2015EVT 10168
4_ALLIGATOR 10169
4_ANOLIAN 10170
4_TACNU 10171
4_CENERE 10172
4_F_ARUNA_POP2 10173
4_JACK_HEAD 10174
HAVEQUEST 0
PLAYTIME 1
@ -4710,5 +4824,11 @@ SKILL_TEMP 1
SKILL_TEMPLEVEL 2
SKILL_PERM_GRANT 3
MOBG_Branch_Of_Dead_Tree 0
MOBG_Poring_Box 1
MOBG_Bloody_Dead_Branch 2
MOBG_Red_Pouch_Of_Surprise 3
MOBG_ClassChange 4
false 0
true 1

View File

@ -0,0 +1 @@
//import: db/import/mob_random_group.txt

View File

@ -1,5 +1,7 @@
// Quest Database
//
// Structure of Database:
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,MobID1,NameID1,Rate1,MobID2,NameID2,Rate2,MobID3,NameID3,Rate3,Quest Title
//
// The MobID*, NameID*, and Rate* reflect special values for quests that can drop an item at given rate from given mob.
// If no MobID* is given, then any mob has a chance to drop the given ItemID*.

View File

@ -2,30 +2,30 @@
// List of monsters generated through Abracadabra's SA_CLASSCHANGE ability.
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Baphomet,1039
1038,Osiris,1000000
1039,Baphomet,1000000
1046,Doppelganger,1000000
1059,Mistress,1000000
1086,Golden Thief Bug,1000000
1087,Orc Hero,1000000
1112,Drake,1000000
1115,Eddga,1000000
1147,Maya,1000000
1150,Moonlight Flower,1000000
1157,Pharaoh,1000000
1159,Phreeoni,1000000
1190,Orc Lord,1000000
1251,Stormy Knight,1000000
1252,Garm,1000000
1272,Dark Lord,1000000
1312,Turtle General,1000000
1373,Lord of the Dead,1000000
1388,Arc Angeling,1000000
1389,Dracula,1000000
1418,Evil Snake Lord,1000000
1492,Samurai Specter,1000000
1511,Amon Ra,1000000
1583,Tao Gunka,1000000
MOBG_ClassChange,0,Baphomet,1039
MOBG_ClassChange,1038,Osiris,1000000
MOBG_ClassChange,1039,Baphomet,1000000
MOBG_ClassChange,1046,Doppelganger,1000000
MOBG_ClassChange,1059,Mistress,1000000
MOBG_ClassChange,1086,Golden Thief Bug,1000000
MOBG_ClassChange,1087,Orc Hero,1000000
MOBG_ClassChange,1112,Drake,1000000
MOBG_ClassChange,1115,Eddga,1000000
MOBG_ClassChange,1147,Maya,1000000
MOBG_ClassChange,1150,Moonlight Flower,1000000
MOBG_ClassChange,1157,Pharaoh,1000000
MOBG_ClassChange,1159,Phreeoni,1000000
MOBG_ClassChange,1190,Orc Lord,1000000
MOBG_ClassChange,1251,Stormy Knight,1000000
MOBG_ClassChange,1252,Garm,1000000
MOBG_ClassChange,1272,Dark Lord,1000000
MOBG_ClassChange,1312,Turtle General,1000000
MOBG_ClassChange,1373,Lord of the Dead,1000000
MOBG_ClassChange,1388,Arc Angeling,1000000
MOBG_ClassChange,1389,Dracula,1000000
MOBG_ClassChange,1418,Evil Snake Lord,1000000
MOBG_ClassChange,1492,Samurai Specter,1000000
MOBG_ClassChange,1511,Amon Ra,1000000
MOBG_ClassChange,1583,Tao Gunka,1000000

View File

@ -1,336 +1,336 @@
// Red Pouch of Surprise Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Poring,1002
1001,Scorpion,214285
1002,Poring,1000000
1004,Hornet,357142
1005,Familiar,357142
1007,Fabre,428571
1008,Pupa,71428
1009,Condor,357142
1010,Willow,357142
1011,Chonchon,357142
1012,Roda Frog,357142
1013,Wolf,357142
1014,Spore,357142
1015,Zombie,357142
1016,Archer Skeleton,214285
1018,Creamy,357142
1019,Peco Peco,357142
1020,Mandragora,357142
1023,Orc Warrior,214285
1024,Wormtail,357142
1025,Boa,357142
1026,Munak,214285
1028,Soldier Skeleton,214285
1029,Isis,71428
1030,Anacondaq,214285
1031,Poporing,357142
1032,Verit,214285
1033,Elder Willow,214285
1034,Thara Frog,214285
1035,Hunter Fly,71428
1036,Ghoul,214285
1037,Side Winder,71428
1040,Golem,214285
1041,Mummy,214285
1042,Steel Chonchon,357142
1044,Obeaune,214285
1045,Marc,214285
1047,Peco Peco Egg,71428
1048,Thief Bug Egg,71428
1049,Picky,357142
1050,Picky,357142
1051,Thief Bug,357142
1052,Rocker,357142
1053,Thief Bug Female,357142
1054,Thief Bug Male,357142
1055,Muka,357142
1056,Smokie,357142
1057,Yoyo,357142
1058,Metaller,214285
1060,Bigfoot,214285
1061,Nightmare,71428
1062,Santa Poring,357142
1063,Lunatic,357142
1064,Megalodon,214285
1065,Strouf,214285
1066,Vadon,357142
1067,Cornutus,214285
1068,Hydra,357142
1069,Swordfish,214285
1070,Kukre,357142
1071,Pirate Skeleton,214285
1072,Kaho,71428
1073,Crab,214285
1074,Shellfish,357142
1076,Skeleton,357142
1077,Poison Spore,357142
1078,Red Plant,71428
1079,Blue Plant,71428
1080,Green Plant,71428
1081,Yellow Plant,71428
1082,White Plant,71428
1083,Shining Plant,71428
1084,Black Mushroom,71428
1085,Red Mushroom,71428
1088,Vocal,71428
1089,Toad,71428
1090,Mastering,71428
1091,Dragon Fly,71428
1092,Vagabond Wolf,71428
1093,Eclipse,71428
1094,Ambernite,357142
1095,Andre,357142
1096,Angeling,71428
1097,Ant Egg,71428
1099,Argiope,71428
1100,Argos,214285
1101,Baphomet Jr.,71428
1102,Bathory,71428
1103,Caramel,214285
1104,Coco,357142
1105,Deniro,357142
1106,Desert Wolf,214285
1107,Baby Desert Wolf,71428
1108,Deviace,71428
1109,Deviruchi,71428
1110,Dokebi,214285
1111,Drainliar,214285
1113,Drops,357142
1114,Dustiness,214285
1116,Eggyra,214285
1117,Evil Druid,71428
1118,Flora,214285
1119,Frilldora,214285
1120,Ghostring,71428
1121,Giearth,214285
1122,Goblin,214285
1123,Goblin,214285
1124,Goblin,214285
1125,Goblin,214285
1126,Goblin,214285
1127,Hode,214285
1128,Horn,357142
1129,Horong,214285
1130,Jakk,214285
1131,Joker,71428
1132,Khalitzburg,71428
1133,Kobold,214285
1134,Kobold,214285
1135,Kobold,214285
1138,Magnolia,214285
1139,Mantis,214285
1140,Marduk,214285
1141,Marina,214285
1142,Marine Sphere,214285
1143,Marionette,71428
1144,Marse,214285
1145,Martin,357142
1146,Matyr,214285
1148,Medusa,71428
1149,Minorous,71428
1151,Myst,214285
1152,Orc Skeleton,214285
1153,Orc Zombie,214285
1154,Pasana,71428
1155,Petite,71428
1156,Petite,71428
1158,Phen,214285
1160,Piere,357142
1161,Plankton,357142
1163,Raydric,71428
1164,Requiem,214285
1165,Sandman,214285
1166,Savage,214285
1167,Savage Babe,357142
1169,Skeleton Worker,214285
1170,Sohee,214285
1174,Stainer,357142
1175,Tarou,357142
1176,Vitata,214285
1177,Zenorc,214285
1178,Zerom,214285
1179,Whisper,71428
1180,Nine Tail,71428
1182,Thief Mushroom,71428
1185,Whisper,71428
1186,Giant Whisper,71428
1188,Bongun,214285
1189,Orc Archer,71428
1191,Mimic,71428
1192,Wraith,71428
1193,Alarm,71428
1194,Arclouze,71428
1195,Rideword,71428
1196,Skeleton Prisoner,71428
1197,Zombie Prisoner,71428
1199,Punk,71428
1200,Zealotus,71428
1201,Rybio,71428
1202,Phendark,71428
1203,Mysteltainn,71428
1204,Ogretooth,71428
1205,Executioner,71428
1206,Anolian,71428
1207,Sting,71428
1208,Wanderer,71428
1209,Cramp,71428
1211,Brilight,71428
1212,Iron Fist,71428
1213,High Orc,71428
1214,Choco,71428
1215,Stem Worm,214285
1216,Penomena,71428
1219,Abysmal Knight,71428
1242,Marin,357142
1243,Sasquatch,214285
1245,Christmas Goblin,71428
1246,Christmas Cookie,214285
1248,Cruiser,214285
1249,Myst Case,214285
1250,Chepet,71428
1253,Gargoyle,71428
1254,Raggler,214285
1255,Nereid,214285
1256,Pest,214285
1257,Injustice,71428
1258,Goblin Archer,214285
1259,Gryphon,71428
1260,Dark Frame,71428
1261,Wild Rose,214285
1262,Mutant Dragonoid,71428
1263,Wind Ghost,71428
1264,Merman,71428
1265,Cookie,214285
1266,Aster,357142
1267,Carat,71428
1268,Bloody Knight,71428
1269,Clock,71428
1270,Clock Tower Manager,71428
1271,Alligator,71428
1273,Orc Lady,214285
1274,Megalith,71428
1275,Alice,71428
1276,Raydric Archer,71428
1277,Greatest General,214285
1278,Stalactic Golem,71428
1279,Tri Joint,214285
1280,Goblin Steamrider,214285
1281,Sage Worm,71428
1282,Kobold Archer,214285
1283,Chimera,71428
1289,Maya Purple,71428
1290,Skeleton General,71428
1291,Wraith Dead,71428
1292,Mini Demon,71428
1293,Creamy Fear,71428
1294,Killer Mantis,71428
1295,Owl Baron,71428
1296,Kobold Leader,71428
1297,Ancient Mummy,71428
1298,Zombie Master,71428
1299,Goblin Leader,71428
1300,Caterpillar,71428
1301,Am Mut,71428
1302,Dark Illusion,71428
1303,Giant Hornet,71428
1304,Giant Spider,71428
1305,Ancient Worm,71428
1306,Leib Olmai,71428
1307,Cat o' Nine Tails,71428
1308,Panzer Goblin,71428
1309,Gajomart,71428
1310,Majoruros,71428
1311,Gullinbursti,71428
1313,Mobster,71428
1314,Permeter,71428
1315,Assaulter,71428
1316,Solider,71428
1317,Seal,71428
1318,Heater,71428
1319,Freezer,71428
1320,Owl Duke,71428
1321,Dragon Tail,71428
1322,Spring Rabbit,71428
1323,Sea Otter,71428
1365,Apocalypse,71428
1366,Lava Golem,71428
1367,Blazer,71428
1368,Geographer,71428
1369,Grand Peco,71428
1370,Succubus,71428
1371,False Angel,71428
1372,Goat,71428
1374,Incubus,71428
1375,The Paper,71428
1376,Harpy,71428
1377,Elder,71428
1378,Demon Pungus,71428
1379,Nightmare Terror,71428
1380,Driller,71428
1381,Grizzly,71428
1382,Diabolic,71428
1383,Explosion,71428
1384,Deleter,71428
1385,Deleter,71428
1386,Sleeper,71428
1387,Gig,71428
1390,Violy,71428
1391,Galapago,71428
1392,Rotar Zairo,214285
1400,Karakasa,214285
1401,Shinobi,71428
1402,Poison Toad,71428
1403,Firelock Soldier,71428
1404,Miyabi Doll,214285
1405,Tengu,71428
1406,Kapha,71428
1408,Bloody Butterfly,71428
1409,Dumpling Child,214285
1410,Enchanted Peach Tree,71428
1412,Taoist Hermit,71428
1413,Hermit Plant,71428
1415,Baby Leopard,214285
1416,Evil Nymph,71428
1417,Zipper Bear,214285
1493,Dryad,71428
1494,Beetle King,214285
1495,Stone Shooter,71428
1497,Wooden Golem,71428
1498,Wootan Shooter,214285
1499,Wootan Fighter,71428
1500,Parasite,214285
1503,Gibbet,71428
1504,Dullahan,71428
1505,Loli Ruri,71428
1506,Disguise,71428
1507,Bloody Murderer,71428
1508,Quve,214285
1509,Lude,214285
1510,Heirozoist,71428
1512,Yao Jun,71428
1513,Mao Guai,71428
1514,Zhu Po Long,71428
1515,Baby Hatii,71428
1516,Mi Gao,71428
1517,Jing Guai,71428
1519,Green Maiden,71428
1520,Boiled Rice,71428
1582,Deviling,71428
1584,Tamruan,71428
1586,Leaf Cat,71428
1587,Kraben,71428
1613,Metaling,71428
1614,Mineral,71428
1615,Obsidian,71428
1616,Pitman,71428
1617,Old Stove,71428
1618,Ungoliant,71428
1619,Porcellio,71428
1620,Noxious,71428
1621,Venomous,71428
1622,Teddy Bear,142857
MOBG_Red_Pouch_Of_Surprise,0,Poring,1002
MOBG_Red_Pouch_Of_Surprise,1001,Scorpion,214285
MOBG_Red_Pouch_Of_Surprise,1002,Poring,1000000
MOBG_Red_Pouch_Of_Surprise,1004,Hornet,357142
MOBG_Red_Pouch_Of_Surprise,1005,Familiar,357142
MOBG_Red_Pouch_Of_Surprise,1007,Fabre,428571
MOBG_Red_Pouch_Of_Surprise,1008,Pupa,71428
MOBG_Red_Pouch_Of_Surprise,1009,Condor,357142
MOBG_Red_Pouch_Of_Surprise,1010,Willow,357142
MOBG_Red_Pouch_Of_Surprise,1011,Chonchon,357142
MOBG_Red_Pouch_Of_Surprise,1012,Roda Frog,357142
MOBG_Red_Pouch_Of_Surprise,1013,Wolf,357142
MOBG_Red_Pouch_Of_Surprise,1014,Spore,357142
MOBG_Red_Pouch_Of_Surprise,1015,Zombie,357142
MOBG_Red_Pouch_Of_Surprise,1016,Archer Skeleton,214285
MOBG_Red_Pouch_Of_Surprise,1018,Creamy,357142
MOBG_Red_Pouch_Of_Surprise,1019,Peco Peco,357142
MOBG_Red_Pouch_Of_Surprise,1020,Mandragora,357142
MOBG_Red_Pouch_Of_Surprise,1023,Orc Warrior,214285
MOBG_Red_Pouch_Of_Surprise,1024,Wormtail,357142
MOBG_Red_Pouch_Of_Surprise,1025,Boa,357142
MOBG_Red_Pouch_Of_Surprise,1026,Munak,214285
MOBG_Red_Pouch_Of_Surprise,1028,Soldier Skeleton,214285
MOBG_Red_Pouch_Of_Surprise,1029,Isis,71428
MOBG_Red_Pouch_Of_Surprise,1030,Anacondaq,214285
MOBG_Red_Pouch_Of_Surprise,1031,Poporing,357142
MOBG_Red_Pouch_Of_Surprise,1032,Verit,214285
MOBG_Red_Pouch_Of_Surprise,1033,Elder Willow,214285
MOBG_Red_Pouch_Of_Surprise,1034,Thara Frog,214285
MOBG_Red_Pouch_Of_Surprise,1035,Hunter Fly,71428
MOBG_Red_Pouch_Of_Surprise,1036,Ghoul,214285
MOBG_Red_Pouch_Of_Surprise,1037,Side Winder,71428
MOBG_Red_Pouch_Of_Surprise,1040,Golem,214285
MOBG_Red_Pouch_Of_Surprise,1041,Mummy,214285
MOBG_Red_Pouch_Of_Surprise,1042,Steel Chonchon,357142
MOBG_Red_Pouch_Of_Surprise,1044,Obeaune,214285
MOBG_Red_Pouch_Of_Surprise,1045,Marc,214285
MOBG_Red_Pouch_Of_Surprise,1047,Peco Peco Egg,71428
MOBG_Red_Pouch_Of_Surprise,1048,Thief Bug Egg,71428
MOBG_Red_Pouch_Of_Surprise,1049,Picky,357142
MOBG_Red_Pouch_Of_Surprise,1050,Picky,357142
MOBG_Red_Pouch_Of_Surprise,1051,Thief Bug,357142
MOBG_Red_Pouch_Of_Surprise,1052,Rocker,357142
MOBG_Red_Pouch_Of_Surprise,1053,Thief Bug Female,357142
MOBG_Red_Pouch_Of_Surprise,1054,Thief Bug Male,357142
MOBG_Red_Pouch_Of_Surprise,1055,Muka,357142
MOBG_Red_Pouch_Of_Surprise,1056,Smokie,357142
MOBG_Red_Pouch_Of_Surprise,1057,Yoyo,357142
MOBG_Red_Pouch_Of_Surprise,1058,Metaller,214285
MOBG_Red_Pouch_Of_Surprise,1060,Bigfoot,214285
MOBG_Red_Pouch_Of_Surprise,1061,Nightmare,71428
MOBG_Red_Pouch_Of_Surprise,1062,Santa Poring,357142
MOBG_Red_Pouch_Of_Surprise,1063,Lunatic,357142
MOBG_Red_Pouch_Of_Surprise,1064,Megalodon,214285
MOBG_Red_Pouch_Of_Surprise,1065,Strouf,214285
MOBG_Red_Pouch_Of_Surprise,1066,Vadon,357142
MOBG_Red_Pouch_Of_Surprise,1067,Cornutus,214285
MOBG_Red_Pouch_Of_Surprise,1068,Hydra,357142
MOBG_Red_Pouch_Of_Surprise,1069,Swordfish,214285
MOBG_Red_Pouch_Of_Surprise,1070,Kukre,357142
MOBG_Red_Pouch_Of_Surprise,1071,Pirate Skeleton,214285
MOBG_Red_Pouch_Of_Surprise,1072,Kaho,71428
MOBG_Red_Pouch_Of_Surprise,1073,Crab,214285
MOBG_Red_Pouch_Of_Surprise,1074,Shellfish,357142
MOBG_Red_Pouch_Of_Surprise,1076,Skeleton,357142
MOBG_Red_Pouch_Of_Surprise,1077,Poison Spore,357142
MOBG_Red_Pouch_Of_Surprise,1078,Red Plant,71428
MOBG_Red_Pouch_Of_Surprise,1079,Blue Plant,71428
MOBG_Red_Pouch_Of_Surprise,1080,Green Plant,71428
MOBG_Red_Pouch_Of_Surprise,1081,Yellow Plant,71428
MOBG_Red_Pouch_Of_Surprise,1082,White Plant,71428
MOBG_Red_Pouch_Of_Surprise,1083,Shining Plant,71428
MOBG_Red_Pouch_Of_Surprise,1084,Black Mushroom,71428
MOBG_Red_Pouch_Of_Surprise,1085,Red Mushroom,71428
MOBG_Red_Pouch_Of_Surprise,1088,Vocal,71428
MOBG_Red_Pouch_Of_Surprise,1089,Toad,71428
MOBG_Red_Pouch_Of_Surprise,1090,Mastering,71428
MOBG_Red_Pouch_Of_Surprise,1091,Dragon Fly,71428
MOBG_Red_Pouch_Of_Surprise,1092,Vagabond Wolf,71428
MOBG_Red_Pouch_Of_Surprise,1093,Eclipse,71428
MOBG_Red_Pouch_Of_Surprise,1094,Ambernite,357142
MOBG_Red_Pouch_Of_Surprise,1095,Andre,357142
MOBG_Red_Pouch_Of_Surprise,1096,Angeling,71428
MOBG_Red_Pouch_Of_Surprise,1097,Ant Egg,71428
MOBG_Red_Pouch_Of_Surprise,1099,Argiope,71428
MOBG_Red_Pouch_Of_Surprise,1100,Argos,214285
MOBG_Red_Pouch_Of_Surprise,1101,Baphomet Jr.,71428
MOBG_Red_Pouch_Of_Surprise,1102,Bathory,71428
MOBG_Red_Pouch_Of_Surprise,1103,Caramel,214285
MOBG_Red_Pouch_Of_Surprise,1104,Coco,357142
MOBG_Red_Pouch_Of_Surprise,1105,Deniro,357142
MOBG_Red_Pouch_Of_Surprise,1106,Desert Wolf,214285
MOBG_Red_Pouch_Of_Surprise,1107,Baby Desert Wolf,71428
MOBG_Red_Pouch_Of_Surprise,1108,Deviace,71428
MOBG_Red_Pouch_Of_Surprise,1109,Deviruchi,71428
MOBG_Red_Pouch_Of_Surprise,1110,Dokebi,214285
MOBG_Red_Pouch_Of_Surprise,1111,Drainliar,214285
MOBG_Red_Pouch_Of_Surprise,1113,Drops,357142
MOBG_Red_Pouch_Of_Surprise,1114,Dustiness,214285
MOBG_Red_Pouch_Of_Surprise,1116,Eggyra,214285
MOBG_Red_Pouch_Of_Surprise,1117,Evil Druid,71428
MOBG_Red_Pouch_Of_Surprise,1118,Flora,214285
MOBG_Red_Pouch_Of_Surprise,1119,Frilldora,214285
MOBG_Red_Pouch_Of_Surprise,1120,Ghostring,71428
MOBG_Red_Pouch_Of_Surprise,1121,Giearth,214285
MOBG_Red_Pouch_Of_Surprise,1122,Goblin,214285
MOBG_Red_Pouch_Of_Surprise,1123,Goblin,214285
MOBG_Red_Pouch_Of_Surprise,1124,Goblin,214285
MOBG_Red_Pouch_Of_Surprise,1125,Goblin,214285
MOBG_Red_Pouch_Of_Surprise,1126,Goblin,214285
MOBG_Red_Pouch_Of_Surprise,1127,Hode,214285
MOBG_Red_Pouch_Of_Surprise,1128,Horn,357142
MOBG_Red_Pouch_Of_Surprise,1129,Horong,214285
MOBG_Red_Pouch_Of_Surprise,1130,Jakk,214285
MOBG_Red_Pouch_Of_Surprise,1131,Joker,71428
MOBG_Red_Pouch_Of_Surprise,1132,Khalitzburg,71428
MOBG_Red_Pouch_Of_Surprise,1133,Kobold,214285
MOBG_Red_Pouch_Of_Surprise,1134,Kobold,214285
MOBG_Red_Pouch_Of_Surprise,1135,Kobold,214285
MOBG_Red_Pouch_Of_Surprise,1138,Magnolia,214285
MOBG_Red_Pouch_Of_Surprise,1139,Mantis,214285
MOBG_Red_Pouch_Of_Surprise,1140,Marduk,214285
MOBG_Red_Pouch_Of_Surprise,1141,Marina,214285
MOBG_Red_Pouch_Of_Surprise,1142,Marine Sphere,214285
MOBG_Red_Pouch_Of_Surprise,1143,Marionette,71428
MOBG_Red_Pouch_Of_Surprise,1144,Marse,214285
MOBG_Red_Pouch_Of_Surprise,1145,Martin,357142
MOBG_Red_Pouch_Of_Surprise,1146,Matyr,214285
MOBG_Red_Pouch_Of_Surprise,1148,Medusa,71428
MOBG_Red_Pouch_Of_Surprise,1149,Minorous,71428
MOBG_Red_Pouch_Of_Surprise,1151,Myst,214285
MOBG_Red_Pouch_Of_Surprise,1152,Orc Skeleton,214285
MOBG_Red_Pouch_Of_Surprise,1153,Orc Zombie,214285
MOBG_Red_Pouch_Of_Surprise,1154,Pasana,71428
MOBG_Red_Pouch_Of_Surprise,1155,Petite,71428
MOBG_Red_Pouch_Of_Surprise,1156,Petite,71428
MOBG_Red_Pouch_Of_Surprise,1158,Phen,214285
MOBG_Red_Pouch_Of_Surprise,1160,Piere,357142
MOBG_Red_Pouch_Of_Surprise,1161,Plankton,357142
MOBG_Red_Pouch_Of_Surprise,1163,Raydric,71428
MOBG_Red_Pouch_Of_Surprise,1164,Requiem,214285
MOBG_Red_Pouch_Of_Surprise,1165,Sandman,214285
MOBG_Red_Pouch_Of_Surprise,1166,Savage,214285
MOBG_Red_Pouch_Of_Surprise,1167,Savage Babe,357142
MOBG_Red_Pouch_Of_Surprise,1169,Skeleton Worker,214285
MOBG_Red_Pouch_Of_Surprise,1170,Sohee,214285
MOBG_Red_Pouch_Of_Surprise,1174,Stainer,357142
MOBG_Red_Pouch_Of_Surprise,1175,Tarou,357142
MOBG_Red_Pouch_Of_Surprise,1176,Vitata,214285
MOBG_Red_Pouch_Of_Surprise,1177,Zenorc,214285
MOBG_Red_Pouch_Of_Surprise,1178,Zerom,214285
MOBG_Red_Pouch_Of_Surprise,1179,Whisper,71428
MOBG_Red_Pouch_Of_Surprise,1180,Nine Tail,71428
MOBG_Red_Pouch_Of_Surprise,1182,Thief Mushroom,71428
MOBG_Red_Pouch_Of_Surprise,1185,Whisper,71428
MOBG_Red_Pouch_Of_Surprise,1186,Giant Whisper,71428
MOBG_Red_Pouch_Of_Surprise,1188,Bongun,214285
MOBG_Red_Pouch_Of_Surprise,1189,Orc Archer,71428
MOBG_Red_Pouch_Of_Surprise,1191,Mimic,71428
MOBG_Red_Pouch_Of_Surprise,1192,Wraith,71428
MOBG_Red_Pouch_Of_Surprise,1193,Alarm,71428
MOBG_Red_Pouch_Of_Surprise,1194,Arclouze,71428
MOBG_Red_Pouch_Of_Surprise,1195,Rideword,71428
MOBG_Red_Pouch_Of_Surprise,1196,Skeleton Prisoner,71428
MOBG_Red_Pouch_Of_Surprise,1197,Zombie Prisoner,71428
MOBG_Red_Pouch_Of_Surprise,1199,Punk,71428
MOBG_Red_Pouch_Of_Surprise,1200,Zealotus,71428
MOBG_Red_Pouch_Of_Surprise,1201,Rybio,71428
MOBG_Red_Pouch_Of_Surprise,1202,Phendark,71428
MOBG_Red_Pouch_Of_Surprise,1203,Mysteltainn,71428
MOBG_Red_Pouch_Of_Surprise,1204,Ogretooth,71428
MOBG_Red_Pouch_Of_Surprise,1205,Executioner,71428
MOBG_Red_Pouch_Of_Surprise,1206,Anolian,71428
MOBG_Red_Pouch_Of_Surprise,1207,Sting,71428
MOBG_Red_Pouch_Of_Surprise,1208,Wanderer,71428
MOBG_Red_Pouch_Of_Surprise,1209,Cramp,71428
MOBG_Red_Pouch_Of_Surprise,1211,Brilight,71428
MOBG_Red_Pouch_Of_Surprise,1212,Iron Fist,71428
MOBG_Red_Pouch_Of_Surprise,1213,High Orc,71428
MOBG_Red_Pouch_Of_Surprise,1214,Choco,71428
MOBG_Red_Pouch_Of_Surprise,1215,Stem Worm,214285
MOBG_Red_Pouch_Of_Surprise,1216,Penomena,71428
MOBG_Red_Pouch_Of_Surprise,1219,Abysmal Knight,71428
MOBG_Red_Pouch_Of_Surprise,1242,Marin,357142
MOBG_Red_Pouch_Of_Surprise,1243,Sasquatch,214285
MOBG_Red_Pouch_Of_Surprise,1245,Christmas Goblin,71428
MOBG_Red_Pouch_Of_Surprise,1246,Christmas Cookie,214285
MOBG_Red_Pouch_Of_Surprise,1248,Cruiser,214285
MOBG_Red_Pouch_Of_Surprise,1249,Myst Case,214285
MOBG_Red_Pouch_Of_Surprise,1250,Chepet,71428
MOBG_Red_Pouch_Of_Surprise,1253,Gargoyle,71428
MOBG_Red_Pouch_Of_Surprise,1254,Raggler,214285
MOBG_Red_Pouch_Of_Surprise,1255,Nereid,214285
MOBG_Red_Pouch_Of_Surprise,1256,Pest,214285
MOBG_Red_Pouch_Of_Surprise,1257,Injustice,71428
MOBG_Red_Pouch_Of_Surprise,1258,Goblin Archer,214285
MOBG_Red_Pouch_Of_Surprise,1259,Gryphon,71428
MOBG_Red_Pouch_Of_Surprise,1260,Dark Frame,71428
MOBG_Red_Pouch_Of_Surprise,1261,Wild Rose,214285
MOBG_Red_Pouch_Of_Surprise,1262,Mutant Dragonoid,71428
MOBG_Red_Pouch_Of_Surprise,1263,Wind Ghost,71428
MOBG_Red_Pouch_Of_Surprise,1264,Merman,71428
MOBG_Red_Pouch_Of_Surprise,1265,Cookie,214285
MOBG_Red_Pouch_Of_Surprise,1266,Aster,357142
MOBG_Red_Pouch_Of_Surprise,1267,Carat,71428
MOBG_Red_Pouch_Of_Surprise,1268,Bloody Knight,71428
MOBG_Red_Pouch_Of_Surprise,1269,Clock,71428
MOBG_Red_Pouch_Of_Surprise,1270,Clock Tower Manager,71428
MOBG_Red_Pouch_Of_Surprise,1271,Alligator,71428
MOBG_Red_Pouch_Of_Surprise,1273,Orc Lady,214285
MOBG_Red_Pouch_Of_Surprise,1274,Megalith,71428
MOBG_Red_Pouch_Of_Surprise,1275,Alice,71428
MOBG_Red_Pouch_Of_Surprise,1276,Raydric Archer,71428
MOBG_Red_Pouch_Of_Surprise,1277,Greatest General,214285
MOBG_Red_Pouch_Of_Surprise,1278,Stalactic Golem,71428
MOBG_Red_Pouch_Of_Surprise,1279,Tri Joint,214285
MOBG_Red_Pouch_Of_Surprise,1280,Goblin Steamrider,214285
MOBG_Red_Pouch_Of_Surprise,1281,Sage Worm,71428
MOBG_Red_Pouch_Of_Surprise,1282,Kobold Archer,214285
MOBG_Red_Pouch_Of_Surprise,1283,Chimera,71428
MOBG_Red_Pouch_Of_Surprise,1289,Maya Purple,71428
MOBG_Red_Pouch_Of_Surprise,1290,Skeleton General,71428
MOBG_Red_Pouch_Of_Surprise,1291,Wraith Dead,71428
MOBG_Red_Pouch_Of_Surprise,1292,Mini Demon,71428
MOBG_Red_Pouch_Of_Surprise,1293,Creamy Fear,71428
MOBG_Red_Pouch_Of_Surprise,1294,Killer Mantis,71428
MOBG_Red_Pouch_Of_Surprise,1295,Owl Baron,71428
MOBG_Red_Pouch_Of_Surprise,1296,Kobold Leader,71428
MOBG_Red_Pouch_Of_Surprise,1297,Ancient Mummy,71428
MOBG_Red_Pouch_Of_Surprise,1298,Zombie Master,71428
MOBG_Red_Pouch_Of_Surprise,1299,Goblin Leader,71428
MOBG_Red_Pouch_Of_Surprise,1300,Caterpillar,71428
MOBG_Red_Pouch_Of_Surprise,1301,Am Mut,71428
MOBG_Red_Pouch_Of_Surprise,1302,Dark Illusion,71428
MOBG_Red_Pouch_Of_Surprise,1303,Giant Hornet,71428
MOBG_Red_Pouch_Of_Surprise,1304,Giant Spider,71428
MOBG_Red_Pouch_Of_Surprise,1305,Ancient Worm,71428
MOBG_Red_Pouch_Of_Surprise,1306,Leib Olmai,71428
MOBG_Red_Pouch_Of_Surprise,1307,Cat o' Nine Tails,71428
MOBG_Red_Pouch_Of_Surprise,1308,Panzer Goblin,71428
MOBG_Red_Pouch_Of_Surprise,1309,Gajomart,71428
MOBG_Red_Pouch_Of_Surprise,1310,Majoruros,71428
MOBG_Red_Pouch_Of_Surprise,1311,Gullinbursti,71428
MOBG_Red_Pouch_Of_Surprise,1313,Mobster,71428
MOBG_Red_Pouch_Of_Surprise,1314,Permeter,71428
MOBG_Red_Pouch_Of_Surprise,1315,Assaulter,71428
MOBG_Red_Pouch_Of_Surprise,1316,Solider,71428
MOBG_Red_Pouch_Of_Surprise,1317,Seal,71428
MOBG_Red_Pouch_Of_Surprise,1318,Heater,71428
MOBG_Red_Pouch_Of_Surprise,1319,Freezer,71428
MOBG_Red_Pouch_Of_Surprise,1320,Owl Duke,71428
MOBG_Red_Pouch_Of_Surprise,1321,Dragon Tail,71428
MOBG_Red_Pouch_Of_Surprise,1322,Spring Rabbit,71428
MOBG_Red_Pouch_Of_Surprise,1323,Sea Otter,71428
MOBG_Red_Pouch_Of_Surprise,1365,Apocalypse,71428
MOBG_Red_Pouch_Of_Surprise,1366,Lava Golem,71428
MOBG_Red_Pouch_Of_Surprise,1367,Blazer,71428
MOBG_Red_Pouch_Of_Surprise,1368,Geographer,71428
MOBG_Red_Pouch_Of_Surprise,1369,Grand Peco,71428
MOBG_Red_Pouch_Of_Surprise,1370,Succubus,71428
MOBG_Red_Pouch_Of_Surprise,1371,False Angel,71428
MOBG_Red_Pouch_Of_Surprise,1372,Goat,71428
MOBG_Red_Pouch_Of_Surprise,1374,Incubus,71428
MOBG_Red_Pouch_Of_Surprise,1375,The Paper,71428
MOBG_Red_Pouch_Of_Surprise,1376,Harpy,71428
MOBG_Red_Pouch_Of_Surprise,1377,Elder,71428
MOBG_Red_Pouch_Of_Surprise,1378,Demon Pungus,71428
MOBG_Red_Pouch_Of_Surprise,1379,Nightmare Terror,71428
MOBG_Red_Pouch_Of_Surprise,1380,Driller,71428
MOBG_Red_Pouch_Of_Surprise,1381,Grizzly,71428
MOBG_Red_Pouch_Of_Surprise,1382,Diabolic,71428
MOBG_Red_Pouch_Of_Surprise,1383,Explosion,71428
MOBG_Red_Pouch_Of_Surprise,1384,Deleter,71428
MOBG_Red_Pouch_Of_Surprise,1385,Deleter,71428
MOBG_Red_Pouch_Of_Surprise,1386,Sleeper,71428
MOBG_Red_Pouch_Of_Surprise,1387,Gig,71428
MOBG_Red_Pouch_Of_Surprise,1390,Violy,71428
MOBG_Red_Pouch_Of_Surprise,1391,Galapago,71428
MOBG_Red_Pouch_Of_Surprise,1392,Rotar Zairo,214285
MOBG_Red_Pouch_Of_Surprise,1400,Karakasa,214285
MOBG_Red_Pouch_Of_Surprise,1401,Shinobi,71428
MOBG_Red_Pouch_Of_Surprise,1402,Poison Toad,71428
MOBG_Red_Pouch_Of_Surprise,1403,Firelock Soldier,71428
MOBG_Red_Pouch_Of_Surprise,1404,Miyabi Doll,214285
MOBG_Red_Pouch_Of_Surprise,1405,Tengu,71428
MOBG_Red_Pouch_Of_Surprise,1406,Kapha,71428
MOBG_Red_Pouch_Of_Surprise,1408,Bloody Butterfly,71428
MOBG_Red_Pouch_Of_Surprise,1409,Dumpling Child,214285
MOBG_Red_Pouch_Of_Surprise,1410,Enchanted Peach Tree,71428
MOBG_Red_Pouch_Of_Surprise,1412,Taoist Hermit,71428
MOBG_Red_Pouch_Of_Surprise,1413,Hermit Plant,71428
MOBG_Red_Pouch_Of_Surprise,1415,Baby Leopard,214285
MOBG_Red_Pouch_Of_Surprise,1416,Evil Nymph,71428
MOBG_Red_Pouch_Of_Surprise,1417,Zipper Bear,214285
MOBG_Red_Pouch_Of_Surprise,1493,Dryad,71428
MOBG_Red_Pouch_Of_Surprise,1494,Beetle King,214285
MOBG_Red_Pouch_Of_Surprise,1495,Stone Shooter,71428
MOBG_Red_Pouch_Of_Surprise,1497,Wooden Golem,71428
MOBG_Red_Pouch_Of_Surprise,1498,Wootan Shooter,214285
MOBG_Red_Pouch_Of_Surprise,1499,Wootan Fighter,71428
MOBG_Red_Pouch_Of_Surprise,1500,Parasite,214285
MOBG_Red_Pouch_Of_Surprise,1503,Gibbet,71428
MOBG_Red_Pouch_Of_Surprise,1504,Dullahan,71428
MOBG_Red_Pouch_Of_Surprise,1505,Loli Ruri,71428
MOBG_Red_Pouch_Of_Surprise,1506,Disguise,71428
MOBG_Red_Pouch_Of_Surprise,1507,Bloody Murderer,71428
MOBG_Red_Pouch_Of_Surprise,1508,Quve,214285
MOBG_Red_Pouch_Of_Surprise,1509,Lude,214285
MOBG_Red_Pouch_Of_Surprise,1510,Heirozoist,71428
MOBG_Red_Pouch_Of_Surprise,1512,Yao Jun,71428
MOBG_Red_Pouch_Of_Surprise,1513,Mao Guai,71428
MOBG_Red_Pouch_Of_Surprise,1514,Zhu Po Long,71428
MOBG_Red_Pouch_Of_Surprise,1515,Baby Hatii,71428
MOBG_Red_Pouch_Of_Surprise,1516,Mi Gao,71428
MOBG_Red_Pouch_Of_Surprise,1517,Jing Guai,71428
MOBG_Red_Pouch_Of_Surprise,1519,Green Maiden,71428
MOBG_Red_Pouch_Of_Surprise,1520,Boiled Rice,71428
MOBG_Red_Pouch_Of_Surprise,1582,Deviling,71428
MOBG_Red_Pouch_Of_Surprise,1584,Tamruan,71428
MOBG_Red_Pouch_Of_Surprise,1586,Leaf Cat,71428
MOBG_Red_Pouch_Of_Surprise,1587,Kraben,71428
MOBG_Red_Pouch_Of_Surprise,1613,Metaling,71428
MOBG_Red_Pouch_Of_Surprise,1614,Mineral,71428
MOBG_Red_Pouch_Of_Surprise,1615,Obsidian,71428
MOBG_Red_Pouch_Of_Surprise,1616,Pitman,71428
MOBG_Red_Pouch_Of_Surprise,1617,Old Stove,71428
MOBG_Red_Pouch_Of_Surprise,1618,Ungoliant,71428
MOBG_Red_Pouch_Of_Surprise,1619,Porcellio,71428
MOBG_Red_Pouch_Of_Surprise,1620,Noxious,71428
MOBG_Red_Pouch_Of_Surprise,1621,Venomous,71428
MOBG_Red_Pouch_Of_Surprise,1622,Teddy Bear,142857

View File

@ -1477,7 +1477,7 @@ packet_ver: 25
//2009-12-01aRagexeRE
0x07fc,10
//0x07fd,-1
0x07fd,-1,ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN,0
0x07fe,26
//0x07ff,-1
@ -1776,6 +1776,11 @@ packet_keys: 0x01581359,0x452D6FFA,0x6AFB6E2E // [Shakto]
0x0916,26,guildinvite2,2
0x091d,41,bookingregreq,2:4:6
0x08cb,10,ZC_PERSONAL_INFOMATION,2:4:6:8:10:11:13:15 //Still need further information
// Merge Item
0x096D,-1,ZC_MERGE_ITEM_OPEN,2:4 // ZC_MERGE_ITEM_OPEN
0x096E,-1,mergeitem_req,2:4 // CZ_REQ_MERGE_ITEM
0x096F,7,ZC_ACK_MERGE_ITEM,2:4:6 // ZC_ACK_MERGE_ITEM
0x0974,2,mergeitem_cancel,0 // CZ_CANCEL_MERGE_ITEM
//2012-04-18aRagexeRE [Special Thanks to Judas!]
packet_ver: 31
@ -2273,6 +2278,11 @@ packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
0x0361,5,hommenu,2:4
0x0887,36,storagepassword,2:4:20
0x09C1,10,ZC_C_MARKERINFO,2:6:8
// Merge Item
0x096D,-1,ZC_MERGE_ITEM_OPEN,2:4 // ZC_MERGE_ITEM_OPEN
0x096E,-1,mergeitem_req,2:4 // CZ_REQ_MERGE_ITEM
0x096F,7,ZC_ACK_MERGE_ITEM,2:4:6:7 // ZC_ACK_MERGE_ITEM
0x0974,2,mergeitem_cancel,0 // CZ_CANCEL_MERGE_ITEM
//2013-12-23Ragexe
packet_ver: 46
@ -2318,5 +2328,112 @@ packet_keys: 0x631C511C,0x111C111C,0x111C111C // [Shakto]
0x09D8,2,npcmarketclosed,0
0x09DF,7
//2014-10-16Ragexe
packet_ver: 50
packet_keys: 0x2DFF467C,0x444B37EE,0x2C1B634F // [YomRawr]
0x0369,7,actionrequest,2:6
0x083C,10,useskilltoid,2:4:6
0x0437,5,walktoxy,2
0x035F,6,ticksend,2
0x0967,5,changedir,2:4
0x07E4,6,takeitem,2
0x0362,6,dropitem,2:4
0x07EC,8,movetokafra,2:4
0x022D,8,movefromkafra,2:4
0x0438,10,useskilltopos,2:4:6:8
0x0366,90,useskilltoposinfo,2:4:6:8:10
0x096A,6,getcharnamerequest,2
0x0368,6,solvecharname,2
0x0838,12,searchstoreinfolistitemclick,2:6:10
0x0835,2,searchstoreinfonextpage,0
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0811,-1,reqtradebuyingstore,2:4:8:12
0x0360,6,reqclickbuyingstore,2
0x0817,2,reqclosebuyingstore,0
0x0815,-1,reqopenbuyingstore,2:4:8:9:89
0x0365,18,bookingregreq,2:4
// 0x0363,8 // CZ_JOIN_BATTLE_FIELD
0x0281,-1,itemlistwindowselected,2:4:8
0x086E,19,wanttoconnection,2:6:10:14:18
0x0802,26,partyinvite,2
// 0x0922,4 // CZ_GANGSI_RANK
0x094B,26,friendslistadd,2
0x0364,5,hommenu,2:4
0x0936,36,storagepassword,0
0x09DF,7
0x0A00,269
0x0A01,3,hotkeyrowshift,2
// Roulette System [Yommy]
0x0A19,2,rouletteopen,0 // HEADER_CZ_REQ_OPEN_ROULETTE
0x0A1A,23 // HEADER_ZC_ACK_OPEN_ROULETTE
0x0A1B,2,rouletteinfo,0 // HEADER_CZ_REQ_ROULETTE_INFO
0x0A1C,-1 // HEADER_ZC_ACK_ROULETTE_INFO
0x0A1D,2,rouletteclose,0 // HEADER_CZ_REQ_CLOSE_ROULETTE
0x0A1E,3 // HEADER_ZC_ACK_CLOSE_ROULETTE
0x0A1F,2,roulettegenerate,0 // HEADER_CZ_REQ_GENERATE_ROULETTE
0x0A20,21 // HEADER_ZC_ACK_GENERATE_ROULETTE
0x0A21,3,rouletterecvitem,2 // HEADER_CZ_RECV_ROULETTE_ITEM
0x0A22,5 // HEADER_ZC_RECV_ROULETTE_ITEM
//2014-10-22bRagexe
packet_ver: 51
packet_keys: 0x290551EA,0x2B952C75,0x2D67669B // [YomRawr]
0x006d,149
0x023b,10,useskilltopos,2:4:6:8
0x0281,-1,itemlistwindowselected,2:4:8:12
0x035f,6,ticksend,2
0x0360,6,reqclickbuyingstore,2
0x0366,90,useskilltoposinfo,2:4:6:8:10
0x0368,6,solvecharname,2
0x0369,7,actionrequest,2:6
0x0437,5,walktoxy,2
0x0438,36,storagepassword,2:4:20
0x0811,-1,reqtradebuyingstore,2:4:8:12
0x0815,-1,reqopenbuyingstore,2:4:8:9:89
0x0817,2,reqclosebuyingstore,0
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0835,12,searchstoreinfolistitemclick,2:6:10
0x083c,10,useskilltoid,2:4:6
0x0878,8,movetokafra,2:4
0x087d,6,dropitem,2:4
0x0896,26,partyinvite2,2
0x0899,5,hommenu,2:4
0x08aa,8,movefromkafra,2:4
//0x08ab,4 // CZ_GANGSI_RANK
0x08ad,5,changedir,2:4
0x08e3,149
0x091a,26,friendslistadd,2
//0x092b,8 // CZ_JOIN_BATTLE_FIELD
0x093b,19,wanttoconnection,2:6:10:14:18
0x0940,2,searchstoreinfonextpage,0
0x094e,6,takeitem,2
0x0955,18,bookingregreq,2:4:6
0x096a,6,getcharnamerequest,2
0x09e7,3
0x09e8,11
0x09ea,11
0x09eb,-1
0x09ed,3
0x09ee,11
0x09f1,11
0x09f2,12
0x09f3,11
0x09f9,143
0x0a03,2
0x0a04,6
0x0a05,49
0x0a06,6
0x0a07,9
0x0a08,26
0x0a09,45
0x0a0a,47
0x0a0b,47
0x0a0c,56
0x0a0d,-1
0x0a13,26
0x0A18,14 // HEADER_ZC_ACCEPT_ENTER3
0x0a24,66
//Add new packets here
//packet_ver: 47
//packet_ver: 52

View File

@ -136,12 +136,12 @@
4127:4166,{ bonus2 bAddEffWhenHit,Eff_Curse,600; }
4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bCastrate,-10; }
4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus2 bSPDrainValue,1,0; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bWeaponComaRace,RC_Brute,100; } }
4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; } }
4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel,0; } }
4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus2 bSPDrainValue,2,0; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus bSPDrainValue,2; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
4191:4208:4258:4309:4325:4327,{ bonus bMaxHP,500; bonus bDef,5; bonus bMdef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(BaseClass==Job_Mage) { bonus bMatkRate,3; bonus bCastrate,-15; } }
4193:4294,{ bonus bMaxHP,300; bonus bMaxSP,60; }
4208:4258:4325:4327:4382,{ bonus bInt,3; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",10; bonus2 bSkillAtk,"MG_THUNDERSTORM",10; if(BaseJob==Job_Sage) { bonus bMagicDamageReturn,20; bonus2 bAddMonsterDropItem,716,100; bonus2 bAddMonsterDropItem,715,100; bonus bCastrate,-20; } }

View File

@ -155,7 +155,7 @@
659,Heart_Of_Her,Her Heart,2,500,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1188; },{},{}
660,Prohibition_Red_Candle,Forbidden Red Candle,2,20000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1200; },{},{}
661,Sway_Apron,Soft Apron,2,20000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1275; },{},{}
662,Inspector_Certificate,Authoritative Badge,2,1450,,30,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,180000,0; },{},{}
662,Inspector_Certificate,Authoritative Badge,2,1450,,30,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,180000,25; },{},{}
663,Korea_Rice_Cake,Korean Rice Cake,0,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 10,0; },{},{}
664,Gift_Box_1,Gift Box,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_GiftBox_1),1; },{},{}
665,Gift_Box_2,Gift Box,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_GiftBox_2),1; },{},{}
@ -482,7 +482,7 @@
1129,Flamberge,Flamberge,5,60000,,1500,150,,1,0,0x00004080,7,2,2,3,27,1,2,{},{},{}
1130,Nagan,Nagan,5,20,,500,120,,1,0,0x000654E2,7,2,2,4,40,1,2,{ skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
1131,Ice_Falchon,Ice Falchion,5,20,,600,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100; },{},{}
1132,Edge,Edge,5,20,,700,115,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus2 bAddEff,Eff_Curse,30; bonus2 bWeaponComaClass,Class_Normal,10; },{},{}
1132,Edge,Edge,5,20,,700,115,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10; },{},{}
1133,Fire_Brand,Fireblend,5,20,,500,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100; },{},{}
1134,Scissores_Sword,Caesar's Sword,5,20,,700,140,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus2 bAddRace,RC_Plant,25; bonus bIgnoreDefRace,RC_Plant; },{},{}
1135,Cutlas,Cutlus,5,20,,900,150,,1,0,0x000654E2,7,2,2,4,40,1,2,{ skill "SM_BASH",5; bonus bStr,2; bonus bDef,1; },{},{}
@ -660,11 +660,11 @@
1362,Two_Handed_Axe__,Two-Handed Axe,5,55000,,2500,185,,1,0,0x000444A2,7,2,34,3,30,1,7,{},{},{}
1363,Brood_Axe,Bloody Axe,5,20,,4000,170,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bStr,10; bonus bSpeedRate,25; },{},{}
1364,Great_Axe,Great Axe,5,20,,1800,187,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500; },{},{}
1365,Sabbath,Sabbath,5,20,,2300,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Dark; bonus2 bWeaponComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50; },{},{}
1365,Sabbath,Sabbath,5,20,,2300,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50; },{},{}
1366,Right_Epsilon,Light Epsilon,5,20,,2300,180,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; },{},{}
1367,Slaughter,Slaughter,5,20,,2500,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bWeaponComaRace,RC_Brute,40; },{},{}
1367,Slaughter,Slaughter,5,20,,2500,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40; },{},{}
1368,Tomahawk,Tomahawk,5,20,,2500,165,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1; },{},{}
1369,Guillotine,Guillotine,5,20,,3000,215,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bWeaponComaRace,RC_DemiHuman,30; bonus2 bWeaponComaRace,RC_Player,30; bonus2 bSPGainRaceAttack,RC_DemiHuman,2; bonus2 bSPGainRaceAttack,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20; },{},{}
1369,Guillotine,Guillotine,5,20,,3000,215,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20; },{},{}
1370,Doom_Slayer,Doom Slayer,5,20,,6000,10,,1,0,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
1371,Doom_Slayer_,Doom Slayer,5,20,,6000,10,,1,1,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
1372,Right_Epsilon_C,Light Epsilon,5,1,,0,229,,1,0,0x000444A2,7,2,34,4,1,0,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25; },{},{}
@ -786,7 +786,7 @@
1523,Spike,Spike,5,20,,700,85,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67; },{},{}
1524,Golden_Mace,Golden Mace,5,20,,800,110,,1,1,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon,0; },{},{}
1525,Long_Mace,Long Mace,5,20,,800,135,,3,0,0x00008110,7,2,2,4,40,1,8,{ bonus bLongAtkDef,10; },{},{}
1526,Slash,Slash,5,20,,1000,145,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,15; bonus2 bWeaponComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5; },{},{}
1526,Slash,Slash,5,20,,1000,145,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5; },{},{}
1527,Quadrille,Quadrille,5,20,,900,165,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEle,Ele_Earth,10; },{},{}
1528,Grand_Cross,Grand Cross,5,20,,1500,140,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3; },{},{}
1529,Iron_Driver,Iron Driver,5,20,,3000,155,,2,0,0x00008100,7,2,2,3,78,1,8,{},{},{}
@ -825,7 +825,7 @@
1562,Bible_Of_Battlefield,Battlefield Textbook,5,20,,700,110,,1,1,0x00410100,7,2,2,4,80,0,15,{ bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20; },{},{}
1563,Diary_Of_Great_Sage_C,Sage's Diary,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{ bonus bMatkRate,20; bonus bAspdRate,5; },{},{}
1564,Encyclopedia,Encyclopedia,5,20,,2000,110,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); },{},{}
1565,Death_Note,Ledger of Death,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bWeaponComaRace,RC_DemiHuman,10; bonus2 bWeaponComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
1565,Death_Note,Ledger of Death,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
1566,Diary_Of_Great_Basil,Diary Of Great Basil,5,20,,0,120,,1,0,0x00410100,7,2,2,1,0,0,15,{ bonus2 bAddClass,Class_All,50; },{},{}
1567,Hardback_C,Refined Hardcover Book,5,1,,0,168,,1,0,0x00410100,7,2,2,4,0,0,15,{ bonus bStr,5; bonus bDex,2; bonus bMatkRate,20; },{},{}
1568,Book_Of_Billows_,Book of Billows,5,35000,,750,90,,1,3,0x00410100,7,2,2,3,27,1,15,{ bonus bAtkEle,Ele_Water; },{},{}
@ -839,7 +839,7 @@
1576,Krieger_Book1,Glorious Tablet,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; },{},{}
1577,Krieger_Book2,Glorious Apocalypse,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon,0; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; } },{},{}
1578,Book_Of_Prayer,Book Of Prayer,5,20,,0,140,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10; },{},{}
1579,Death_Note_M,Book of the Dead,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bWeaponComaRace,RC_DemiHuman,10; bonus2 bWeaponComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
1579,Death_Note_M,Book of the Dead,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
1580,Encyclopedia_C,Giant Encyclopedia,5,0,,0,145,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40; },{},{}
1581,F_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
1582,E_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
@ -1417,7 +1417,7 @@
2551,Rider_Insignia_M,Crest of the Rider,4,20,,500,,4,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; },{},{}
2552,Mithril_Magic_Cape_M,Mithril Magic Manteau,4,20,,400,,3,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0; },{},{}
2553,Dragon_Manteau,Dragon Manteau,4,20,,1000,,5,,1,0xFFFFFFFE,2,2,4,,0,1,0,{ bonus bAgi,1; bonus bMdef,5; },{},{}
2554,Piece_Of_Angent_Skin,Nydhorgg's Shadow Garb,4,20,,400,,5,,1,0xFFFFFFFE,2,2,4,,90,1,0,{ bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,10,1,0; bonus bMdef,3; },{},{}
2554,Piece_Of_Angent_Skin,Nydhorgg's Shadow Garb,4,20,,400,,5,,1,0xFFFFFFFE,2,2,4,,90,1,0,{ bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus2 bSPDrainRate,10,1; bonus bMdef,3; },{},{}
// Accessories
//===================================================================
2601,Ring,Ring,4,30000,,100,,0,,0,0xFFFFFFFE,7,2,136,,20,0,0,{ bonus bStr,2; },{},{}
@ -1740,7 +1740,7 @@
4112,Marduk_Card,Marduk Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bResEff,Eff_Silence,10000; },{},{}
4113,Marionette_Card,Marionette Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Ghost,30; bonus bFlee,5; },{},{}
4114,Argiope_Card,Argiope Card,6,20,,10,,,,,,,,16,,,,,{ bonus bDefEle,Ele_Poison; bonus bDef,1; },{},{}
4115,Hunter_Fly_Card,Hunter Fly Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bHpDrainRate,30,15; },{},{}
4115,Hunter_Fly_Card,Hunter Fly Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bHPDrainRate,30,15; },{},{}
4116,Isis_Card,Isis Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Dark,30; bonus bFlee,5; },{},{}
4117,Side_Winder_Card,Sidewinder Card,6,20,,10,,,,,,,,2,,,,,{ skill "TF_DOUBLE",1; bonus bDoubleRate,5; },{},{}
4118,Petit_Card,Earth Petite Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Dragon,20; },{},{}
@ -1759,7 +1759,7 @@
4131,Moonlight_Flower_Card,Moonlight Flower Card,6,20,,10,,,,,,,,64,,,,,{ bonus bSpeedRate,25; },{},{}
4132,Mistress_Card,Mistress Card,6,20,,10,,,,,,,,769,,,,,{ bonus bNoGemStone,0; bonus bUseSPrate,25; },{},{}
4133,Daydric_Card,Raydric Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Neutral,20; },{},{}
4134,Dracula_Card,Dracula Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSpDrainRate,100,5; },{},{}
4134,Dracula_Card,Dracula Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPDrainRate,100,5; },{},{}
4135,Orc_Load_Card,Orc Lord Card,6,20,,10,,,,,,,,16,,,,,{ bonus bShortWeaponDamageReturn,30; },{},{}
4136,Khalitzburg_Card,Khalitzburg Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Demon,30; },{},{}
4137,Drake_Card,Drake Card,6,20,,10,,,,,,,,2,,,,,{ bonus bNoSizeFix,0; },{},{}
@ -1797,7 +1797,7 @@
4169,Dark_Illusion_Card,Dark Illusion Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10; },{},{}
4170,Dark_Frame_Card,Dark Frame Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Stone,600; },{},{}
4171,Dark_Priest_Card,Dark Priest Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPVanishRate,50,10; if(BaseJob==Job_Sage) bonus bSPDrainValue,1; },{},{}
4172,The_Paper_Card,The Paper Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,20; bonus2 bSPDrainValue,-1,0; },{},{}
4172,The_Paper_Card,The Paper Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,20; bonus bSPDrainValue,-1; },{},{}
4173,Demon_Pungus_Card,Demon Pungus Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Sleep,600; },{},{}
4174,Deviling_Card,Deviling Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Neutral,50; bonus2 bSubEle,Ele_Water,-50; bonus2 bSubEle,Ele_Earth,-50; bonus2 bSubEle,Ele_Fire,-50; bonus2 bSubEle,Ele_Wind,-50; bonus2 bSubEle,Ele_Poison,-50; bonus2 bSubEle,Ele_Holy,-50; bonus2 bSubEle,Ele_Dark,-50; bonus2 bSubEle,Ele_Ghost,-50; bonus2 bSubEle,Ele_Undead,-50; },{},{}
4175,Poison_Toad_Card,Poisonous Toad Card,6,20,,10,,,,,,,,136,,,,,{ bonus3 bAutoSpell,"TF_POISON",1,20; bonus2 bAddSkillBlow,52,5; },{},{}
@ -1901,12 +1901,12 @@
4273,Shellfish_Card,Shell Fish Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus2 bAddDamageClass,1073,30; },{},{}
4274,Zombie_Master_Card,Zombie Master Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_Undead,5; },{},{ heal 0,-5; }
4275,Zombie_Prisoner_Card,Zombie Prisoner Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Undead,-20; bonus2 bExpAddRace,RC_Undead,10; },{},{}
4276,Lord_Of_Death_Card,Lord of The Dead Card,6,20,,10,,,,,,,,2,,,,,{ bonus3 bAddEff,Eff_Stun,500,ATF_SHORT; bonus3 bAddEff,Eff_Curse,500,ATF_SHORT; bonus3 bAddEff,Eff_Silence,500,ATF_SHORT; bonus3 bAddEff,Eff_Poison,500,ATF_SHORT; bonus3 bAddEff,Eff_Bleeding,500,ATF_SHORT; bonus2 bWeaponComaClass,Class_Normal,1; },{},{}
4276,Lord_Of_Death_Card,Lord of The Dead Card,6,20,,10,,,,,,,,2,,,,,{ bonus3 bAddEff,Eff_Stun,500,ATF_SHORT; bonus3 bAddEff,Eff_Curse,500,ATF_SHORT; bonus3 bAddEff,Eff_Silence,500,ATF_SHORT; bonus3 bAddEff,Eff_Poison,500,ATF_SHORT; bonus3 bAddEff,Eff_Bleeding,500,ATF_SHORT; bonus2 bComaClass,Class_Normal,1; },{},{}
4277,Zherlthsh_Card,Zealotus Card,6,20,,10,,,,,,,,32,,,,,{ bonus bLuk,2; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; bonus2 bSkillAtk,"DC_THROWARROW",10; },{},{}
4278,Gibbet_Card,Gibbet Card,6,20,,10,,,,,,,,769,,,,,{ if(getrefine()<6) bonus bMdef,5; },{},{}
4279,Deleter_Card,Earth Deleter Card,6,20,,10,,,,,,,,16,,,,,{ bonus bSPrecovRate,-100; bonus bSPGainValue,10; },{},{ heal 0,-100; }
4280,Geographer_Card,Geographer Card,6,20,,10,,,,,,,,16,,,,,{ bonus3 bAutoSpellWhenHit,"AL_BLESSING",2+8*(getskilllv("AL_BLESSING")==10),30; },{},{}
4281,Zipper_Bear_Card,Zipper Bear Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,30; bonus2 bSPDrainValue,-1,0; if(BaseClass==Job_Merchant) bonus bUnbreakableWeapon,0; },{},{}
4281,Zipper_Bear_Card,Zipper Bear Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,30; bonus bSPDrainValue,-1; if(BaseClass==Job_Merchant) bonus bUnbreakableWeapon,0; },{},{}
4282,Tengu_Card,Tengu Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bAddMonsterDropItemGroup,IG_Recovery,600; },{},{}
4283,Greatest_General_Card,Greatest General Card,6,20,,10,,,,,,,,136,,,,,{ bonus3 bAutoSpell,"MO_CALLSPIRITS",5,2+18*(BaseClass==Job_Acolyte); },{},{}
4284,Chepet_Card,Chepet Card,6,20,,10,,,,,,,,2,,,,,{ bonus4 bAutoSpell,"AL_HEAL",5,50,1; },{},{}
@ -1992,7 +1992,7 @@
4364,Magaleta_Card,Margaretha Sorin Card,6,20,,10,,,,,,,,769,,,,,{ bonus bInt,1; bonus5 bAutoSpellWhenHit,"PR_LEXDIVINA",5,150,BF_MAGIC,1; },{},{}
4365,B_Katrinn_Card,High Wizard Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus bCastrate,100; bonus bSPrecovRate,-100; },{},{ heal 0,-2000; }
4366,Katrinn_Card,Kathryne Keyron Card,6,20,,10,,,,,,,,769,,,,,{ bonus bCastrate,getrefine()*-1; if(getrefine()>=9) { bonus bMatkRate,2; } },{},{}
4367,B_Shecil_Card,Sniper Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bHpDrainRate,50,20; bonus bHPrecovRate,-10; },{},{}
4367,B_Shecil_Card,Sniper Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bHPDrainRate,50,20; bonus bHPrecovRate,-10; },{},{}
4368,Shecil_Card,Cecil Damon Card,6,20,,10,,,,,,,,2,,,,,{ bonus bAspdRate,5; bonus bHit,-30; },{},{}
4369,Venatu_Card,Venatu Card,6,20,,10,,,,,,,,16,,,,,{ bonus bLuk,readparam(bAgi)/18; },{},{}
4370,Dimik_Card,Dimik Card,6,20,,10,,,,,,,,16,,,,,{ bonus bVit,getrefine()-5; },{},{}
@ -4564,7 +4564,7 @@
12013,Shadow_Arrow_Container,Shadow Arrow Quiver,2,2,,250,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 1767,500; },{},{}
12014,Imma_Arrow_Container,Immaterial Arrow Quiver,2,2,,250,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 1757,500; },{},{}
12015,Rusty_Arrow_Container,Rusty Arrow Quiver,2,2,,250,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 1762,500; },{},{}
12016,Speed_Up_Potion,Speed Potion,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp1,5000,0; },{},{}
12016,Speed_Up_Potion,Speed Potion,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP1,5000,50; },{},{}
12017,Slow_Down_Potion,Slow Potion,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SlowDown,5000,0; },{},{}
12018,Fire_Cracker,Firecracker,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12019,Holy_Egg,Holy Egg,11,2,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "ALL_RESURRECTION",2; },{},{}
@ -4576,7 +4576,7 @@
12025,Egg_Boy,Dano Festival Egg,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_EggBoy),1; },{},{}
12026,Egg_Girl,Dano Festival Egg,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_EggGirl),1; },{},{}
12027,Giggling_Box,Giggling Box,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 9,0; sc_start SC_Curse,30000,0,3000,0; },{},{}
12028,Box_Of_Thunder,Box of Thunder,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,20000,0; },{},{}
12028,Box_Of_Thunder,Box of Thunder,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,20000,25; },{},{}
12029,Gloomy_Box,Box of Gloom,11,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "AC_CONCENTRATION",1; },{},{}
12030,Box_Of_Grudge,Box of Resentment,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ATKPOTION,60000,20; },{},{}
12031,Sleepy_Box,Box of Drowsiness,2,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_MATKPOTION,60000,20; },{},{}
@ -4772,13 +4772,13 @@
12220,Adrenaline_Scroll,LV5 Adrenaline Scroll,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ set .@type,getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect "BS_ADRENALINE",0; sc_start SC_ADRENALINE,150000,5; } },{},{}
12221,Megaphone_,Megaphone,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ input @megaphone$; announce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000; end; },{},{}
12225,Sweet_Candy_Striper,Sweet Candy Cane,2,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1245; },{},{}
12226,Examination1,Examination 1,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_STRFOOD,5400000,10; sc_start SC_DEXFOOD,5400000,5; sc_start SC_ATKPOTION,5400000,22; sc_start SC_MATKFOOD,5400000,15; },{},{}
12227,Examination2,Examination 2,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_INTFOOD,5400000,8; sc_start SC_VITFOOD,5400000,7; sc_start SC_LUKFOOD,5400000,7; sc_start SC_ATKPOTION,5400000,10; },{},{}
12228,Examination3,Examination 3,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_AGIFOOD,5400000,15; sc_start SC_ATKPOTION,5400000,52; sc_start SC_MATKFOOD,5400000,10; },{},{}
12229,Examination4,Examination 4,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_STRFOOD,5400000,3; sc_start SC_AGIFOOD,5400000,5; sc_start SC_VITFOOD,5400000,10; sc_start SC_MATKFOOD,5400000,52; },{},{}
12230,Examination5,Examination 5,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_INTFOOD,5400000,3; sc_start SC_DEXFOOD,5400000,12; sc_start SC_ATKPOTION,5400000,20; sc_start SC_MATKFOOD,5400000,20; },{},{}
12231,Examination6,Examination 6,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; sc_start SC_SpeedUp0,5400000,0; sc_start SC_STRFOOD,5400000,6; sc_start SC_DEXFOOD,5400000,6; sc_start SC_AGIFOOD,5400000,6; sc_start SC_INTFOOD,5400000,6; sc_start SC_VITFOOD,5400000,6; sc_start SC_LUKFOOD,5400000,6; sc_start SC_ATKPOTION,5400000,24; sc_start SC_MATKFOOD,5400000,24; },{},{}
12232,Gingerbread,Ginger Bread,2,20,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ASPDPOTION1,900000,0; sc_start SC_SpeedUp0,900000,0; },{},{}
12226,Examination1,Examination 1,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_STRFOOD,5400000,10; sc_start SC_DEXFOOD,5400000,5; sc_start SC_ATKPOTION,5400000,22; sc_start SC_MATKFOOD,5400000,15; },{},{}
12227,Examination2,Examination 2,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_INTFOOD,5400000,8; sc_start SC_VITFOOD,5400000,7; sc_start SC_LUKFOOD,5400000,7; sc_start SC_ATKPOTION,5400000,10; },{},{}
12228,Examination3,Examination 3,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_AGIFOOD,5400000,15; sc_start SC_ATKPOTION,5400000,52; sc_start SC_MATKFOOD,5400000,10; },{},{}
12229,Examination4,Examination 4,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_STRFOOD,5400000,3; sc_start SC_AGIFOOD,5400000,5; sc_start SC_VITFOOD,5400000,10; sc_start SC_MATKFOOD,5400000,52; },{},{}
12230,Examination5,Examination 5,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_INTFOOD,5400000,3; sc_start SC_DEXFOOD,5400000,12; sc_start SC_ATKPOTION,5400000,20; sc_start SC_MATKFOOD,5400000,20; },{},{}
12231,Examination6,Examination 6,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; sc_start SC_SPEEDUP0,5400000,25; sc_start SC_STRFOOD,5400000,6; sc_start SC_DEXFOOD,5400000,6; sc_start SC_AGIFOOD,5400000,6; sc_start SC_INTFOOD,5400000,6; sc_start SC_VITFOOD,5400000,6; sc_start SC_LUKFOOD,5400000,6; sc_start SC_ATKPOTION,5400000,24; sc_start SC_MATKFOOD,5400000,24; },{},{}
12232,Gingerbread,Ginger Bread,2,20,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ASPDPOTION1,900000,0; sc_start SC_SPEEDUP0,900000,25; },{},{}
12233,Kvass,Kvass,0,20,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; },{},{}
12234,Cacao99,Fierce Cacao 99%,0,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 25,0; },{},{}
12235,Strawberry_Choco,Chocolate Strawberry,2,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 0,5; skilleffect "AL_BLESSING",0; sc_start SC_BLESSING,240000,10; },{},{}
@ -4808,7 +4808,7 @@
12259,Miracle_Medicine,Miracle Tonic,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getexp 3000000,1500000; },{},{}
12260,Cool_Summer_Outfit,Cool Summer Outfit,2,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_Summer,600000,0; },{},{}
12261,Secret_Medicine,Leap of Fantasy,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getexp 2000000,1000000; },{},{}
12262,Inspector_Certificate_,Authoritative Badge,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp0,180000,0; },{},{}
12262,Inspector_Certificate_,Authoritative Badge,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP0,540000,25; },{},{}
12263,Comp_Battle_Manual,Field Manual,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_EXPBOOST,1800000,50; },{},{}
12264,Comp_Bubble_Gum,Bubble Gum,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ITEMBOOST,1800000,200; },{},{}
12265,Comp_Insurance,Life Insurrance,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_LIFEINSURANCE,1800000,0; },{},{}
@ -5136,7 +5136,7 @@
12707,Lucky_Cookie02,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "PR_MAGNIFICAT",1; },{},{}
12708,Lucky_Cookie03,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "PR_IMPOSITIO",3; },{},{}
12709,Guyak_Candy,Guyak Candy,0,0,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 30,30; },{},{}
12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp1,300000,0; },{},{}
12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPEEDUP1,300000,50; },{},{}
12711,Pretzel,Pretzel,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(50,90),0; },{},{}
12712,Green_Beer,Green Beer,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 0,50; },{},{}
12713,Monster_Extract,Monster Extract,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
@ -5438,18 +5438,18 @@
13269,Boost500_To_Throw,Throwing Boost 500,10,100,,10,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_BOOST500,500000,10; },{},{}
13270,Full_SwingK_To_Throw,Throwing Full Swing K,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_FULL_SWING_K,500000,50; },{},{}
13271,Mana_Plus_To_Throw,Throwing Mana Plus,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_MANA_PLUS,500000,50; },{},{}
13272,Cure_Free_To_Throw,Throwing Cure Free,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_end SC_Bleeding; sc_end SC_Curse; sc_end SC_Silence; itemheal rand(1000,1200),0; },{},{}
13272,Cure_Free_To_Throw,Throwing Cure Free,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_end SC_BLEEDING; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_POISON; sc_end SC_ORCISH; sc_end SC_CHANGEUNDEAD; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_DPOISON; itemheal 500,0; },{},{}
13273,Stamina_Up_M_To_Throw,Throwing Muramura M,10,100,,10,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_MUSTLE_M,500000,5; },{},{}
13274,Digestive_F_To_Throw,Throwing Falmons F,10,100,,10,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_LIFE_FORCE_F,500000,5; },{},{}
13275,HP_Inc_PotS_To_Throw,Throwing Increase HP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHPRATE,500000,1; percentheal 1,0; },{},{}//HP and SP pots need a recheck later to correct max increases.
13276,HP_Inc_PotM_To_Throw,Throwing Increase HP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHPRATE,500000,2; percentheal 2,0; },{},{}
13277,HP_Inc_PotL_To_Throw,Throwing Increase HP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHPRATE,500000,5; percentheal 5,0; },{},{}
13278,SP_Inc_PotS_To_Throw,Throwing Increase SP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSPRATE,500000,2; percentheal 0,2; },{},{}
13279,SP_Inc_PotM_To_Throw,Throwing Increase SP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSPRATE,500000,4; percentheal 0,4; },{},{}
13280,SP_Inc_PotL_To_Throw,Throwing Increase SP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSPRATE,500000,8; percentheal 0,8; },{},{}
13281,En_White_PotZ_To_Throw,Throwing Concentrated White Potion Z,10,100,,70,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20; itemheal rand(1500,1600),0; },{},{}// Check if heal amount is correct.
13282,Vitata500_To_Throw,Throwing Vitata 500,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_VITATA_500,500000,20; },{},{}
13283,En_Cel_Juice_To_Throw,Throwing Ceromain Soup,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; itemheal rand(1500,1600),0; },{},{}// Check if heal amount is correct.
13275,HP_Inc_PotS_To_Throw,Throwing Increase HP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHP,500000,(500+(BaseLevel*10/3)); percentheal 1,0; },{},{}
13276,HP_Inc_PotM_To_Throw,Throwing Increase HP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHP,500000,(1500+(BaseLevel*10/3)); percentheal 2,0; },{},{}
13277,HP_Inc_PotL_To_Throw,Throwing Increase HP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMHP,500000,(2500+(BaseLevel*10/3)); percentheal 5,0; },{},{}
13278,SP_Inc_PotS_To_Throw,Throwing Increase SP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSP,500000,((BaseLevel/10)-5); percentheal 0,2; },{},{}
13279,SP_Inc_PotM_To_Throw,Throwing Increase SP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSP,500000,((BaseLevel/10)); percentheal 0,4; },{},{}
13280,SP_Inc_PotL_To_Throw,Throwing Increase SP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_INCMSP,500000,((BaseLevel/10)+5); percentheal 0,8; },{},{}
13281,En_White_PotZ_To_Throw,Throwing Concentrated White Potion Z,10,100,,70,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20; itemheal 1000,0; },{},{}
13282,Vitata500_To_Throw,Throwing Vitata 500,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start2 SC_VITATA_500,500000,20,5; itemheal 0,200; },{},{}
13283,En_Cel_Juice_To_Throw,Throwing Ceromain Soup,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; },{},{}
13284,Savage_BBQ_To_Throw,Throwing Savage Full Roast,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_SAVAGE_STEAK,300000,20; },{},{}
13285,Wug_Cocktail_To_Throw,Throwing Cocktail Warg Blood,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_COCKTAIL_WARG_BLOOD,300000,20; },{},{}
13286,M_Brisket_To_Throw,Throwing Minor Stew,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_MINOR_BBQ,300000,20; },{},{}
@ -5472,7 +5472,7 @@
13400,Cutlas_,Cutlus,5,20,,900,150,,1,1,0x000654E2,7,2,2,4,40,1,2,{ skill "SM_BASH",5; bonus bStr,2; bonus bDef,1; },{},{}
13401,Excalibur_C,Excalibur,5,1,,0,199,,1,0,0x000654E2,7,2,2,4,1,0,2,{ bonus bInt,10; bonus bLuk,10; bonus bAtkEle,Ele_Holy; },{},{}
13402,Cutlas_C,Cutlus,5,2,,0,185,,1,0,0x000654E2,7,2,2,4,0,0,2,{ skill "SM_BASH",5; bonus bStr,2; bonus bDef,1; },{},{}
13403,Solar_Sword_C,Solar Sword,5,2,,0,120,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Fire; bonus2 bHPDrainRate,1000,1; bonus2 bSPLossRate,15,10000; },{},{}
13403,Solar_Sword_C,Solar Sword,5,2,,0,120,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Fire; bonus bHPDrainRate,1; bonus2 bSPLossRate,15,10000; },{},{}
13404,Platinum_Shotel,Platinum Shotel,5,20,,1500,130,,1,1,0x000654E2,7,2,2,4,55,1,2,{ bonus bCritical,50; },{},{}
13405,Curved_Sword,Curved Sword,5,20,,800,125,,1,2,0x000654E2,7,2,2,4,55,1,2,{ bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300; },{},{}
13406,Edger,Edger,5,20,,0,120,,1,0,0x000654E2,7,2,2,1,0,0,2,{ bonus2 bAddClass,Class_All,50; },{},{}
@ -6405,7 +6405,7 @@
14588,Pty_Blessing_Scroll,Party Blessing 10 Scroll,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "CASH_BLESSING",10; },{},{}
14589,Pty_Inc_Agi_Scroll,Party Increase Agi 10 Scroll,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "CASH_INCAGI",10; },{},{}
14590,Pty_Assumptio_Scroll,Party Assumptio 5 Scroll,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "CASH_ASSUMPTIO",5; },{},{}
14591,Siege_Teleport_Scroll,WoE Teleport Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_CashSeigeTele"; },{},{}
14591,Siege_Teleport_Scroll,WoE Teleport Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_CashSiegeTele"; },{},{}
14592,Job_Manual50,JOB Battle Manual,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_JEXPBOOST,1800000,50; },{},{}
14593,Magic_Power_Scroll,Mystical Amplification Scroll,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "HW_MAGICPOWER",10; },{},{}
14594,Quagmire_Scroll,Quagmire Scroll,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "WZ_QUAGMIRE",5; },{},{}

View File

@ -1,31 +1,56 @@
// Item Delay Database
//
// Structure of Database:
// Item ID,Delay in Milliseconds
// <ItemID>,<Delay>{,<SC_GroupID>}
//
// NOTE:
// There is a max concurrent number of entries set in src/map/itemdb.h as MAX_ITEMDELAYS.
// <ItemID>
// ID of item that will has reuse delay.
// <Delay>
// Re-use delay in milliseconds.
// <SC_GroupID>
// SC (status change) group for the item.
// Example for SC_REUSE_LIMIT_MTF
// 12658,10000,620 // Transformation Scroll(Deviruchi)
// 12659,10000,620 // Transformation Scroll(Raydric)
// -> 12658 has reuse delay for 10 seconds, and also,
// 12659 cannot be used when this delay is active.
// Since this is optional, default is -1 will ignores the
// delay group and the delay will be stored in character's
// data that has limit set in src/map/itemdb.h as MAX_ITEMDELAYS.
// SC_REUSE_LIMIT_A 609
14538,300000,608 //Glass_Of_Illusion
// SC_REUSE_LIMIT_B 610
14586,180000,609 //Spark_Candy
// SC_REUSE_LIMIT_C 611
12208,60000,610 //Battle_Manual
// SC_REUSE_LIMIT_D 612
12210,60000,611 //Bubble_Gum
// SC_REUSE_LIMIT_E 613
11522,1000,612 //Red_Raffle_Sap
11523,2000,612 //Yellow_Raffle_Sap
11524,3000,612 //White_Raffle_Sap
// SC_REUSE_LIMIT_F 614
607,5000,613 //Yggdrasil_Berry
// SC_REUSE_LIMIT_G 615
608,3000,614 //Yggdrasil_Seed
// SC_REUSE_LIMIT_H 616
11525,5000,615 //Mora_Hip_Tea
// Misc
//12202,60000 //Str_Dish10_
//12203,60000 //Agi_Dish10_
//12204,60000 //Int_Dish10_
//12205,60000 //Dex_Dish10_
//12206,60000 //Luk_Dish10_
//12207,60000 //Vit_Dish10_
12208,60000 //Battle_Manual
12210,60000 //Bubble_Gum
14538,300000 //Glass_Of_Illusion
14586,180000 //Spark_Candy
607,5000 //Yggdrasil_Berry
608,3000 //Yggdrasil_Seed
// Bifrost Items
11522,1000 //Red_Raffle_Sap
11523,2000 //Yellow_Raffle_Sap
11524,3000 //White_Raffle_Sap
11525,5000 //Mora_Hip_Tea
// FIX ME! Delays need confirmation.
12968,300000 //Emergency_Scroll1
12969,300000 //Emergency_Scroll2
12970,300000 //Emergency_Scroll3
12968,300000 //Emergency_Scroll1 //! CHECKME: Need confirmation!
12969,300000 //Emergency_Scroll2 //! CHECKME: Need confirmation!
12970,300000 //Emergency_Scroll3 //! CHECKME: Need confirmation!

View File

@ -2,10 +2,11 @@
// <ItemID>,<Flag>
//
// <Flag>:
// 1 - As Dead Branch item (will be logged at `branchlog` table and cannot be used at 'nobranch' mapflag)
// 2 - As item group container, check player's inventory and weight before consumed
// 4 - GUID item, cannot be stacked even same or stackable item
// 8 - Item will be bound item when equipped
// 1 - As Dead Branch item (will be logged at `branchlog` table and cannot be used at 'nobranch' mapflag)
// 2 - As item group container, check player's inventory and weight before consumed
// 4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
// 8 - Item will be bound item when equipped
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
// Logged as Dead Branch item

View File

@ -1,50 +1,50 @@
// Bloody Branch Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Baphomet,1039
1038,Osiris,500000
1039,Baphomet,500000
1046,Doppelganger,500000
1059,Mistress,500000
1086,Golden Thief Bug,500000
1087,Orc Hero,500000
1096,Angeling,500000
1112,Drake,500000
1115,Eddga,500000
1120,Ghostring,500000
1147,Maya,500000
1150,Moonlight Flower,500000
1157,Pharaoh,500000
1159,Phreeoni,500000
1190,Orc Lord,500000
1251,Stormy Knight,500000
1252,Hatii,500000
1272,Dark Lord,500000
1312,Turtle General,500000
1373,Lord of the Dead,500000
1388,Arc Angeling,500000
1389,Dracula,500000
1418,Evil Snake Lord,500000
1492,Samurai Specter,500000
1511,Amon Ra,500000
1582,Deviling,500000
1583,Tao Gunka,500000
1623,RSX-0806,500000
1630,White Lady,500000
1658,Egnigem Cenia,500000
1685,Vesper,500000
1688,Lady Tanee,500000
1708,Thanatos Phantom,500000
1719,Detardeurus,500000
1734,Kiel D-01,500000
1751,Valkyrie Randgris,500000
1768,Gloom Under Night,500000
1779,Ktullanux,500000
1785,Atroce,1000000
1832,Ifrit,500000
1871,Falling Bishop,500000
1873,Beelzebub,500000
1885,Gopinich,500000
2022,Nidhoggur's Shadow,500000
MOBG_Bloody_Dead_Branch,0,Baphomet,1039
MOBG_Bloody_Dead_Branch,1038,Osiris,500000
MOBG_Bloody_Dead_Branch,1039,Baphomet,500000
MOBG_Bloody_Dead_Branch,1046,Doppelganger,500000
MOBG_Bloody_Dead_Branch,1059,Mistress,500000
MOBG_Bloody_Dead_Branch,1086,Golden Thief Bug,500000
MOBG_Bloody_Dead_Branch,1087,Orc Hero,500000
MOBG_Bloody_Dead_Branch,1096,Angeling,500000
MOBG_Bloody_Dead_Branch,1112,Drake,500000
MOBG_Bloody_Dead_Branch,1115,Eddga,500000
MOBG_Bloody_Dead_Branch,1120,Ghostring,500000
MOBG_Bloody_Dead_Branch,1147,Maya,500000
MOBG_Bloody_Dead_Branch,1150,Moonlight Flower,500000
MOBG_Bloody_Dead_Branch,1157,Pharaoh,500000
MOBG_Bloody_Dead_Branch,1159,Phreeoni,500000
MOBG_Bloody_Dead_Branch,1190,Orc Lord,500000
MOBG_Bloody_Dead_Branch,1251,Stormy Knight,500000
MOBG_Bloody_Dead_Branch,1252,Hatii,500000
MOBG_Bloody_Dead_Branch,1272,Dark Lord,500000
MOBG_Bloody_Dead_Branch,1312,Turtle General,500000
MOBG_Bloody_Dead_Branch,1373,Lord of the Dead,500000
MOBG_Bloody_Dead_Branch,1388,Arc Angeling,500000
MOBG_Bloody_Dead_Branch,1389,Dracula,500000
MOBG_Bloody_Dead_Branch,1418,Evil Snake Lord,500000
MOBG_Bloody_Dead_Branch,1492,Samurai Specter,500000
MOBG_Bloody_Dead_Branch,1511,Amon Ra,500000
MOBG_Bloody_Dead_Branch,1582,Deviling,500000
MOBG_Bloody_Dead_Branch,1583,Tao Gunka,500000
MOBG_Bloody_Dead_Branch,1623,RSX-0806,500000
MOBG_Bloody_Dead_Branch,1630,White Lady,500000
MOBG_Bloody_Dead_Branch,1658,Egnigem Cenia,500000
MOBG_Bloody_Dead_Branch,1685,Vesper,500000
MOBG_Bloody_Dead_Branch,1688,Lady Tanee,500000
MOBG_Bloody_Dead_Branch,1708,Thanatos Phantom,500000
MOBG_Bloody_Dead_Branch,1719,Detardeurus,500000
MOBG_Bloody_Dead_Branch,1734,Kiel D-01,500000
MOBG_Bloody_Dead_Branch,1751,Valkyrie Randgris,500000
MOBG_Bloody_Dead_Branch,1768,Gloom Under Night,500000
MOBG_Bloody_Dead_Branch,1779,Ktullanux,500000
MOBG_Bloody_Dead_Branch,1785,Atroce,1000000
MOBG_Bloody_Dead_Branch,1832,Ifrit,500000
MOBG_Bloody_Dead_Branch,1871,Falling Bishop,500000
MOBG_Bloody_Dead_Branch,1873,Beelzebub,500000
MOBG_Bloody_Dead_Branch,1885,Gopinich,500000
MOBG_Bloody_Dead_Branch,2022,Nidhoggur's Shadow,500000

View File

@ -1,469 +1,469 @@
// Dead Branch Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Scorpion,1001
1001,Scorpion,214285
1002,Poring,1000000
1004,Hornet,357142
1005,Familiar,357142
1007,Fabre,428571
1008,Pupa,71428
1009,Condor,357142
1010,Willow,357142
1011,Chonchon,357142
1012,Roda Frog,357142
1013,Wolf,357142
1014,Spore,357142
1015,Zombie,357142
1016,Archer Skeleton,214285
1018,Creamy,357142
1019,Peco Peco,357142
1020,Mandragora,357142
1023,Orc Warrior,214285
1024,Wormtail,357142
1025,Boa,357142
1026,Munak,214285
1028,Soldier Skeleton,214285
1029,Isis,71428
1030,Anacondaq,214285
1031,Poporing,357142
1032,Verit,214285
1033,Elder Willow,214285
1034,Thara Frog,214285
1035,Hunter Fly,71428
1036,Ghoul,214285
1037,Side Winder,71428
1040,Golem,214285
1041,Mummy,214285
1042,Steel Chonchon,357142
1044,Obeaune,214285
1045,Marc,214285
1047,Peco Peco Egg,71428
1048,Thief Bug Egg,71428
1049,Picky,357142
1050,Picky,357142
1051,Thief Bug,357142
1052,Rocker,357142
1053,Thief Bug Female,357142
1054,Thief Bug Male,357142
1055,Muka,357142
1056,Smokie,357142
1057,Yoyo,357142
1058,Metaller,214285
1060,Bigfoot,214285
1061,Nightmare,71428
1062,Santa Poring,357142
1063,Lunatic,357142
1064,Megalodon,214285
1065,Strouf,214285
1066,Vadon,357142
1067,Cornutus,214285
1068,Hydra,357142
1069,Swordfish,214285
1070,Kukre,357142
1071,Pirate Skeleton,214285
1072,Kaho,71428
1073,Crab,214285
1074,Shellfish,357142
1076,Skeleton,357142
1077,Poison Spore,357142
1078,Red Plant,71428
1079,Blue Plant,71428
1080,Green Plant,71428
1081,Yellow Plant,71428
1082,White Plant,71428
1083,Shining Plant,71428
1084,Black Mushroom,71428
1085,Red Mushroom,71428
1088,Vocal,71428
1089,Toad,71428
1090,Mastering,71428
1091,Dragon Fly,71428
1092,Vagabond Wolf,71428
1093,Eclipse,71428
1094,Ambernite,357142
1095,Andre,357142
1096,Angeling,71428
1097,Ant Egg,71428
1098,Anubis,71428
1099,Argiope,71428
1100,Argos,214285
1101,Baphomet Jr.,71428
1102,Bathory,71428
1103,Caramel,214285
1104,Coco,357142
1105,Deniro,357142
1106,Desert Wolf,214285
1107,Baby Desert Wolf,71428
1108,Deviace,71428
1109,Deviruchi,71428
1110,Dokebi,214285
1111,Drainliar,214285
1113,Drops,357142
1114,Dustiness,214285
1116,Eggyra,214285
1117,Evil Druid,71428
1118,Flora,214285
1119,Frilldora,214285
1120,Ghostring,71428
1121,Giearth,214285
1122,Goblin,214285
1123,Goblin,214285
1124,Goblin,214285
1125,Goblin,214285
1126,Goblin,214285
1127,Hode,214285
1128,Horn,357142
1129,Horong,214285
1130,Jakk,214285
1131,Joker,71428
1132,Khalitzburg,71428
1133,Kobold,214285
1134,Kobold,214285
1135,Kobold,214285
1138,Magnolia,214285
1139,Mantis,214285
1140,Marduk,214285
1141,Marina,214285
1142,Marine Sphere,214285
1143,Marionette,71428
1144,Marse,214285
1145,Martin,357142
1146,Matyr,214285
1148,Medusa,71428
1149,Minorous,71428
1151,Myst,214285
1152,Orc Skeleton,214285
1153,Orc Zombie,214285
1154,Pasana,71428
1155,Petite,71428
1156,Petite,71428
1158,Phen,214285
1160,Piere,357142
1161,Plankton,357142
1163,Raydric,71428
1164,Requiem,214285
1165,Sandman,214285
1166,Savage,214285
1167,Savage Babe,357142
1169,Skeleton Worker,214285
1170,Sohee,214285
1174,Stainer,357142
1175,Tarou,357142
1176,Vitata,214285
1177,Zenorc,214285
1178,Zerom,214285
1179,Whisper,71428
1180,Nine Tail,71428
1182,Thief Mushroom,71428
1185,Whisper,71428
1186,Giant Whisper,71428
1188,Bongun,214285
1189,Orc Archer,71428
1191,Mimic,71428
1192,Wraith,71428
1193,Alarm,71428
1194,Arclouze,71428
1195,Rideword,71428
1196,Skeleton Prisoner,71428
1197,Zombie Prisoner,71428
1199,Punk,71428
1200,Zealotus,71428
1201,Rybio,71428
1202,Phendark,71428
1203,Mysteltainn,71428
1204,Ogretooth,71428
1205,Executioner,71428
1206,Anolian,71428
1207,Sting,71428
1208,Wanderer,71428
1209,Cramp,71428
1211,Brilight,71428
1212,Iron Fist,71428
1213,High Orc,71428
1214,Choco,71428
1215,Stem Worm,214285
1216,Penomena,71428
1219,Abysmal Knight,71428
1242,Marin,357142
1243,Sasquatch,214285
1245,Christmas Goblin,71428
1246,Christmas Cookie,214285
1248,Cruiser,214285
1249,Myst Case,214285
1250,Chepet,71428
1253,Gargoyle,71428
1254,Raggler,214285
1255,Nereid,214285
1256,Pest,214285
1257,Injustice,71428
1258,Goblin Archer,214285
1259,Gryphon,71428
1260,Dark Frame,71428
1261,Wild Rose,214285
1262,Mutant Dragonoid,71428
1263,Wind Ghost,71428
1264,Merman,71428
1265,Cookie,214285
1266,Aster,357142
1267,Carat,71428
1268,Bloody Knight,71428
1269,Clock,71428
1270,Clock Tower Manager,71428
1271,Alligator,71428
1273,Orc Lady,214285
1274,Megalith,71428
1275,Alice,71428
1276,Raydric Archer,71428
1277,Greatest General,214285
1278,Stalactic Golem,71428
1279,Tri Joint,214285
1280,Goblin Steamrider,214285
1281,Sage Worm,71428
1282,Kobold Archer,214285
1283,Chimera,71428
1289,Maya Purple,71428
1290,Skeleton General,71428
1291,Wraith Dead,71428
1292,Mini Demon,71428
1293,Creamy Fear,71428
1294,Killer Mantis,71428
1295,Owl Baron,71428
1296,Kobold Leader,71428
1297,Ancient Mummy,71428
1298,Zombie Master,71428
1299,Goblin Leader,71428
1300,Caterpillar,71428
1301,Am Mut,71428
1302,Dark Illusion,71428
1303,Giant Hornet,71428
1304,Giant Spider,71428
1305,Ancient Worm,71428
1306,Leib Olmai,71428
1307,Cat o' Nine Tails,71428
1308,Panzer Goblin,71428
1309,Gajomart,71428
1310,Majoruros,71428
1311,Gullinbursti,71428
1313,Mobster,71428
1314,Permeter,71428
1315,Assaulter,71428
1316,Solider,71428
1317,Seal,71428
1318,Heater,71428
1319,Freezer,71428
1320,Owl Duke,71428
1321,Dragon Tail,71428
1322,Spring Rabbit,71428
1323,Sea Otter,71428
1365,Apocalypse,71428
1366,Lava Golem,71428
1367,Blazer,71428
1368,Geographer,71428
1369,Grand Peco,71428
1370,Succubus,71428
1371,False Angel,71428
1372,Goat,71428
1374,Incubus,71428
1375,The Paper,71428
1376,Harpy,71428
1377,Elder,71428
1378,Demon Pungus,71428
1379,Nightmare Terror,71428
1380,Driller,71428
1381,Grizzly,71428
1382,Diabolic,71428
1383,Explosion,71428
1384,Deleter,71428
1385,Deleter,71428
1386,Sleeper,71428
1387,Gig,71428
1390,Violy,71428
1391,Galapago,71428
1392,Rotar Zairo,214285
1400,Karakasa,214285
1401,Shinobi,71428
1402,Poison Toad,71428
1403,Firelock Soldier,71428
1404,Miyabi Doll,214285
1405,Tengu,71428
1406,Kapha,71428
1408,Bloody Butterfly,71428
1409,Dumpling Child,214285
1410,Enchanted Peach Tree,71428
1412,Taoist Hermit,71428
1413,Hermit Plant,71428
1415,Baby Leopard,214285
1416,Evil Nymph,71428
1417,Zipper Bear,214285
1493,Dryad,71428
1494,Beetle King,214285
1495,Stone Shooter,71428
1497,Wooden Golem,71428
1498,Wootan Shooter,214285
1499,Wootan Fighter,71428
1500,Parasite,214285
1503,Gibbet,71428
1504,Dullahan,71428
1505,Loli Ruri,71428
1506,Disguise,71428
1507,Bloody Murderer,71428
1508,Quve,214285
1509,Lude,214285
1510,Heirozoist,71428
1512,Yao Jun,71428
1513,Mao Guai,71428
1514,Zhu Po Long,71428
1515,Baby Hatii,71428
1516,Mi Gao,71428
1517,Jing Guai,71428
1519,Green Maiden,71428
1520,Boiled Rice,71428
1582,Deviling,71428
1584,Tamruan,71428
1586,Leaf Cat,71428
1587,Kraben,71428
1613,Metaling,71428
1614,Mineral,71428
1615,Obsidian,71428
1616,Pitman,71428
1617,Old Stove,71428
1618,Ungoliant,71428
1619,Porcellio,71428
1620,Noxious,71428
1621,Venomous,71428
1622,Teddy Bear,71428
1627,Anopheles,71428
1628,Holden,71428
1629,Hill Wind,71428
1631,Green Maiden,71428
1632,Gremlin,71428
1633,Beholder,71428
1634,Seyren Windsor,71428
1635,Eremes Guile,71428
1636,Howard Alt-Eisen,71428
1637,Margaretha Sorin,71428
1638,Cecil Damon,71428
1639,Kathryne Keyron,71428
1652,Egnigem Cenia,71428
1653,Wickebine Tres,71428
1654,Armeyer Dinze,71428
1655,Errende Ebecee,71428
1656,Kavach Icarus,71428
1657,Laurell Weinder,71428
1664,Photon Cannon,71428
1665,Photon Cannon,71428
1666,Photon Cannon,71428
1667,Photon Cannon,71428
1668,Archdam,71428
1669,Dimik,71428
1670,Dimik,71428
1671,Dimik,71428
1672,Dimik,71428
1673,Dimik,71428
1675,Venatu,71428
1676,Venatu,71428
1677,Venatu,71428
1678,Venatu,71428
1679,Venatu,71428
1680,Hill Wind,71428
1681,Gemini-S58,71428
1682,Remover,71428
1686,Orc Baby,71428
1687,Grove,71428
1692,Breeze,71428
1693,Plasma,71428
1694,Plasma,71428
1695,Plasma,71428
1696,Plasma,71428
1699,Ancient Mimic,71428
1703,Lady Solace,71428
1704,Odium of Thanatos,71428
1705,Despero of Thanatos,71428
1706,Maero of Thanatos,71428
1707,Dolor of Thanatos,71428
1713,Acidus,71428
1714,Ferus,71428
1715,Novus,71428
1717,Ferus,71428
1718,Novus,71428
1720,Hydrolancer,71428
1721,Dragon Egg,71428
1736,Aliot,71428
1737,Aliza,71428
1738,Constant,71428
1752,Skogul,71428
1753,Frus,71428
1754,Skeggiold,71428
1755,Skeggiold,71428
1769,Agav,71428
1770,Echio,71428
1771,Vanberk,71428
1772,Isilla,71428
1773,Hodremlin,71428
1774,Seeker,71428
1775,Snowier,71428
1776,Siroma,71428
1777,Ice Titan,71428
1778,Gazeti,71428
1780,Muscipular,71428
1781,Drosera,71428
1782,Roween,71428
1783,Galion,71428
1784,Stapo,142857
1789,Iceicle,71428
1796,Aunoe,142857
1797,Fanat,142857
1829,Sword Guardian,71428
1830,Bow Guardian,71428
1831,Salamander,71428
1833,Kasa,71428
1836,Magmaring,214285
1837,Imp,71428
1838,Knocker,71428
1839,Byrogue,71428
1864,Zombie Slaughter,71428
1865,Ragged Zombie,71428
1866,Hellhound,71428
1867,Banshee,71428
1869,Flame Skull,71428
1870,Necromancer,71428
1872,Hell Fly,71428
1880,Wood Goblin,71428
1881,Les,71428
1882,Baba-Yaga,71428
1883,Uzhas,71428
1884,Mavka,71428
1918,Incarnation of Morroc,71428
1919,Incarnation of Morroc,71428
1920,Incarnation of Morroc,71428
1921,Incarnation of Morroc,71428
1974,Banshee Master,71428
1975,Beholder Master,71428
1976,Cobalt Mineral,71428
1977,Heavy Metaling,71428
1978,Hell Vesper,71428
1979,Zakudam,71428
1986,Tatacho,71428
1987,Centipede,71428
1988,Nepenthes,71428
1989,Hillthrion,71428
1990,Hardrock Mammoth,71428
1991,Tendrillion,71428
1992,Cornus,71428
1993,Naga,71428
1994,Luciola Vespa,71428
1995,Pinguicula,71428
1999,Centipede Larva,71428
2013,Draco,71428
2015,Dark Pinguicula,71428
2016,Aqua Elemental,71428
2017,Rata,71428
2018,Duneyrr,71428
2019,Ancient Tree,71428
2020,Rhyncho,71428
2021,Phylla,71428
2023,Dark Shadow,71428
2024,Bradium Golem,71428
MOBG_Branch_Of_Dead_Tree,0,Scorpion,1001
MOBG_Branch_Of_Dead_Tree,1001,Scorpion,214285
MOBG_Branch_Of_Dead_Tree,1002,Poring,1000000
MOBG_Branch_Of_Dead_Tree,1004,Hornet,357142
MOBG_Branch_Of_Dead_Tree,1005,Familiar,357142
MOBG_Branch_Of_Dead_Tree,1007,Fabre,428571
MOBG_Branch_Of_Dead_Tree,1008,Pupa,71428
MOBG_Branch_Of_Dead_Tree,1009,Condor,357142
MOBG_Branch_Of_Dead_Tree,1010,Willow,357142
MOBG_Branch_Of_Dead_Tree,1011,Chonchon,357142
MOBG_Branch_Of_Dead_Tree,1012,Roda Frog,357142
MOBG_Branch_Of_Dead_Tree,1013,Wolf,357142
MOBG_Branch_Of_Dead_Tree,1014,Spore,357142
MOBG_Branch_Of_Dead_Tree,1015,Zombie,357142
MOBG_Branch_Of_Dead_Tree,1016,Archer Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1018,Creamy,357142
MOBG_Branch_Of_Dead_Tree,1019,Peco Peco,357142
MOBG_Branch_Of_Dead_Tree,1020,Mandragora,357142
MOBG_Branch_Of_Dead_Tree,1023,Orc Warrior,214285
MOBG_Branch_Of_Dead_Tree,1024,Wormtail,357142
MOBG_Branch_Of_Dead_Tree,1025,Boa,357142
MOBG_Branch_Of_Dead_Tree,1026,Munak,214285
MOBG_Branch_Of_Dead_Tree,1028,Soldier Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1029,Isis,71428
MOBG_Branch_Of_Dead_Tree,1030,Anacondaq,214285
MOBG_Branch_Of_Dead_Tree,1031,Poporing,357142
MOBG_Branch_Of_Dead_Tree,1032,Verit,214285
MOBG_Branch_Of_Dead_Tree,1033,Elder Willow,214285
MOBG_Branch_Of_Dead_Tree,1034,Thara Frog,214285
MOBG_Branch_Of_Dead_Tree,1035,Hunter Fly,71428
MOBG_Branch_Of_Dead_Tree,1036,Ghoul,214285
MOBG_Branch_Of_Dead_Tree,1037,Side Winder,71428
MOBG_Branch_Of_Dead_Tree,1040,Golem,214285
MOBG_Branch_Of_Dead_Tree,1041,Mummy,214285
MOBG_Branch_Of_Dead_Tree,1042,Steel Chonchon,357142
MOBG_Branch_Of_Dead_Tree,1044,Obeaune,214285
MOBG_Branch_Of_Dead_Tree,1045,Marc,214285
MOBG_Branch_Of_Dead_Tree,1047,Peco Peco Egg,71428
MOBG_Branch_Of_Dead_Tree,1048,Thief Bug Egg,71428
MOBG_Branch_Of_Dead_Tree,1049,Picky,357142
MOBG_Branch_Of_Dead_Tree,1050,Picky,357142
MOBG_Branch_Of_Dead_Tree,1051,Thief Bug,357142
MOBG_Branch_Of_Dead_Tree,1052,Rocker,357142
MOBG_Branch_Of_Dead_Tree,1053,Thief Bug Female,357142
MOBG_Branch_Of_Dead_Tree,1054,Thief Bug Male,357142
MOBG_Branch_Of_Dead_Tree,1055,Muka,357142
MOBG_Branch_Of_Dead_Tree,1056,Smokie,357142
MOBG_Branch_Of_Dead_Tree,1057,Yoyo,357142
MOBG_Branch_Of_Dead_Tree,1058,Metaller,214285
MOBG_Branch_Of_Dead_Tree,1060,Bigfoot,214285
MOBG_Branch_Of_Dead_Tree,1061,Nightmare,71428
MOBG_Branch_Of_Dead_Tree,1062,Santa Poring,357142
MOBG_Branch_Of_Dead_Tree,1063,Lunatic,357142
MOBG_Branch_Of_Dead_Tree,1064,Megalodon,214285
MOBG_Branch_Of_Dead_Tree,1065,Strouf,214285
MOBG_Branch_Of_Dead_Tree,1066,Vadon,357142
MOBG_Branch_Of_Dead_Tree,1067,Cornutus,214285
MOBG_Branch_Of_Dead_Tree,1068,Hydra,357142
MOBG_Branch_Of_Dead_Tree,1069,Swordfish,214285
MOBG_Branch_Of_Dead_Tree,1070,Kukre,357142
MOBG_Branch_Of_Dead_Tree,1071,Pirate Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1072,Kaho,71428
MOBG_Branch_Of_Dead_Tree,1073,Crab,214285
MOBG_Branch_Of_Dead_Tree,1074,Shellfish,357142
MOBG_Branch_Of_Dead_Tree,1076,Skeleton,357142
MOBG_Branch_Of_Dead_Tree,1077,Poison Spore,357142
MOBG_Branch_Of_Dead_Tree,1078,Red Plant,71428
MOBG_Branch_Of_Dead_Tree,1079,Blue Plant,71428
MOBG_Branch_Of_Dead_Tree,1080,Green Plant,71428
MOBG_Branch_Of_Dead_Tree,1081,Yellow Plant,71428
MOBG_Branch_Of_Dead_Tree,1082,White Plant,71428
MOBG_Branch_Of_Dead_Tree,1083,Shining Plant,71428
MOBG_Branch_Of_Dead_Tree,1084,Black Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1085,Red Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1088,Vocal,71428
MOBG_Branch_Of_Dead_Tree,1089,Toad,71428
MOBG_Branch_Of_Dead_Tree,1090,Mastering,71428
MOBG_Branch_Of_Dead_Tree,1091,Dragon Fly,71428
MOBG_Branch_Of_Dead_Tree,1092,Vagabond Wolf,71428
MOBG_Branch_Of_Dead_Tree,1093,Eclipse,71428
MOBG_Branch_Of_Dead_Tree,1094,Ambernite,357142
MOBG_Branch_Of_Dead_Tree,1095,Andre,357142
MOBG_Branch_Of_Dead_Tree,1096,Angeling,71428
MOBG_Branch_Of_Dead_Tree,1097,Ant Egg,71428
MOBG_Branch_Of_Dead_Tree,1098,Anubis,71428
MOBG_Branch_Of_Dead_Tree,1099,Argiope,71428
MOBG_Branch_Of_Dead_Tree,1100,Argos,214285
MOBG_Branch_Of_Dead_Tree,1101,Baphomet Jr.,71428
MOBG_Branch_Of_Dead_Tree,1102,Bathory,71428
MOBG_Branch_Of_Dead_Tree,1103,Caramel,214285
MOBG_Branch_Of_Dead_Tree,1104,Coco,357142
MOBG_Branch_Of_Dead_Tree,1105,Deniro,357142
MOBG_Branch_Of_Dead_Tree,1106,Desert Wolf,214285
MOBG_Branch_Of_Dead_Tree,1107,Baby Desert Wolf,71428
MOBG_Branch_Of_Dead_Tree,1108,Deviace,71428
MOBG_Branch_Of_Dead_Tree,1109,Deviruchi,71428
MOBG_Branch_Of_Dead_Tree,1110,Dokebi,214285
MOBG_Branch_Of_Dead_Tree,1111,Drainliar,214285
MOBG_Branch_Of_Dead_Tree,1113,Drops,357142
MOBG_Branch_Of_Dead_Tree,1114,Dustiness,214285
MOBG_Branch_Of_Dead_Tree,1116,Eggyra,214285
MOBG_Branch_Of_Dead_Tree,1117,Evil Druid,71428
MOBG_Branch_Of_Dead_Tree,1118,Flora,214285
MOBG_Branch_Of_Dead_Tree,1119,Frilldora,214285
MOBG_Branch_Of_Dead_Tree,1120,Ghostring,71428
MOBG_Branch_Of_Dead_Tree,1121,Giearth,214285
MOBG_Branch_Of_Dead_Tree,1122,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1123,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1124,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1125,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1126,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1127,Hode,214285
MOBG_Branch_Of_Dead_Tree,1128,Horn,357142
MOBG_Branch_Of_Dead_Tree,1129,Horong,214285
MOBG_Branch_Of_Dead_Tree,1130,Jakk,214285
MOBG_Branch_Of_Dead_Tree,1131,Joker,71428
MOBG_Branch_Of_Dead_Tree,1132,Khalitzburg,71428
MOBG_Branch_Of_Dead_Tree,1133,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1134,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1135,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1138,Magnolia,214285
MOBG_Branch_Of_Dead_Tree,1139,Mantis,214285
MOBG_Branch_Of_Dead_Tree,1140,Marduk,214285
MOBG_Branch_Of_Dead_Tree,1141,Marina,214285
MOBG_Branch_Of_Dead_Tree,1142,Marine Sphere,214285
MOBG_Branch_Of_Dead_Tree,1143,Marionette,71428
MOBG_Branch_Of_Dead_Tree,1144,Marse,214285
MOBG_Branch_Of_Dead_Tree,1145,Martin,357142
MOBG_Branch_Of_Dead_Tree,1146,Matyr,214285
MOBG_Branch_Of_Dead_Tree,1148,Medusa,71428
MOBG_Branch_Of_Dead_Tree,1149,Minorous,71428
MOBG_Branch_Of_Dead_Tree,1151,Myst,214285
MOBG_Branch_Of_Dead_Tree,1152,Orc Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1153,Orc Zombie,214285
MOBG_Branch_Of_Dead_Tree,1154,Pasana,71428
MOBG_Branch_Of_Dead_Tree,1155,Petite,71428
MOBG_Branch_Of_Dead_Tree,1156,Petite,71428
MOBG_Branch_Of_Dead_Tree,1158,Phen,214285
MOBG_Branch_Of_Dead_Tree,1160,Piere,357142
MOBG_Branch_Of_Dead_Tree,1161,Plankton,357142
MOBG_Branch_Of_Dead_Tree,1163,Raydric,71428
MOBG_Branch_Of_Dead_Tree,1164,Requiem,214285
MOBG_Branch_Of_Dead_Tree,1165,Sandman,214285
MOBG_Branch_Of_Dead_Tree,1166,Savage,214285
MOBG_Branch_Of_Dead_Tree,1167,Savage Babe,357142
MOBG_Branch_Of_Dead_Tree,1169,Skeleton Worker,214285
MOBG_Branch_Of_Dead_Tree,1170,Sohee,214285
MOBG_Branch_Of_Dead_Tree,1174,Stainer,357142
MOBG_Branch_Of_Dead_Tree,1175,Tarou,357142
MOBG_Branch_Of_Dead_Tree,1176,Vitata,214285
MOBG_Branch_Of_Dead_Tree,1177,Zenorc,214285
MOBG_Branch_Of_Dead_Tree,1178,Zerom,214285
MOBG_Branch_Of_Dead_Tree,1179,Whisper,71428
MOBG_Branch_Of_Dead_Tree,1180,Nine Tail,71428
MOBG_Branch_Of_Dead_Tree,1182,Thief Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1185,Whisper,71428
MOBG_Branch_Of_Dead_Tree,1186,Giant Whisper,71428
MOBG_Branch_Of_Dead_Tree,1188,Bongun,214285
MOBG_Branch_Of_Dead_Tree,1189,Orc Archer,71428
MOBG_Branch_Of_Dead_Tree,1191,Mimic,71428
MOBG_Branch_Of_Dead_Tree,1192,Wraith,71428
MOBG_Branch_Of_Dead_Tree,1193,Alarm,71428
MOBG_Branch_Of_Dead_Tree,1194,Arclouze,71428
MOBG_Branch_Of_Dead_Tree,1195,Rideword,71428
MOBG_Branch_Of_Dead_Tree,1196,Skeleton Prisoner,71428
MOBG_Branch_Of_Dead_Tree,1197,Zombie Prisoner,71428
MOBG_Branch_Of_Dead_Tree,1199,Punk,71428
MOBG_Branch_Of_Dead_Tree,1200,Zealotus,71428
MOBG_Branch_Of_Dead_Tree,1201,Rybio,71428
MOBG_Branch_Of_Dead_Tree,1202,Phendark,71428
MOBG_Branch_Of_Dead_Tree,1203,Mysteltainn,71428
MOBG_Branch_Of_Dead_Tree,1204,Ogretooth,71428
MOBG_Branch_Of_Dead_Tree,1205,Executioner,71428
MOBG_Branch_Of_Dead_Tree,1206,Anolian,71428
MOBG_Branch_Of_Dead_Tree,1207,Sting,71428
MOBG_Branch_Of_Dead_Tree,1208,Wanderer,71428
MOBG_Branch_Of_Dead_Tree,1209,Cramp,71428
MOBG_Branch_Of_Dead_Tree,1211,Brilight,71428
MOBG_Branch_Of_Dead_Tree,1212,Iron Fist,71428
MOBG_Branch_Of_Dead_Tree,1213,High Orc,71428
MOBG_Branch_Of_Dead_Tree,1214,Choco,71428
MOBG_Branch_Of_Dead_Tree,1215,Stem Worm,214285
MOBG_Branch_Of_Dead_Tree,1216,Penomena,71428
MOBG_Branch_Of_Dead_Tree,1219,Abysmal Knight,71428
MOBG_Branch_Of_Dead_Tree,1242,Marin,357142
MOBG_Branch_Of_Dead_Tree,1243,Sasquatch,214285
MOBG_Branch_Of_Dead_Tree,1245,Christmas Goblin,71428
MOBG_Branch_Of_Dead_Tree,1246,Christmas Cookie,214285
MOBG_Branch_Of_Dead_Tree,1248,Cruiser,214285
MOBG_Branch_Of_Dead_Tree,1249,Myst Case,214285
MOBG_Branch_Of_Dead_Tree,1250,Chepet,71428
MOBG_Branch_Of_Dead_Tree,1253,Gargoyle,71428
MOBG_Branch_Of_Dead_Tree,1254,Raggler,214285
MOBG_Branch_Of_Dead_Tree,1255,Nereid,214285
MOBG_Branch_Of_Dead_Tree,1256,Pest,214285
MOBG_Branch_Of_Dead_Tree,1257,Injustice,71428
MOBG_Branch_Of_Dead_Tree,1258,Goblin Archer,214285
MOBG_Branch_Of_Dead_Tree,1259,Gryphon,71428
MOBG_Branch_Of_Dead_Tree,1260,Dark Frame,71428
MOBG_Branch_Of_Dead_Tree,1261,Wild Rose,214285
MOBG_Branch_Of_Dead_Tree,1262,Mutant Dragonoid,71428
MOBG_Branch_Of_Dead_Tree,1263,Wind Ghost,71428
MOBG_Branch_Of_Dead_Tree,1264,Merman,71428
MOBG_Branch_Of_Dead_Tree,1265,Cookie,214285
MOBG_Branch_Of_Dead_Tree,1266,Aster,357142
MOBG_Branch_Of_Dead_Tree,1267,Carat,71428
MOBG_Branch_Of_Dead_Tree,1268,Bloody Knight,71428
MOBG_Branch_Of_Dead_Tree,1269,Clock,71428
MOBG_Branch_Of_Dead_Tree,1270,Clock Tower Manager,71428
MOBG_Branch_Of_Dead_Tree,1271,Alligator,71428
MOBG_Branch_Of_Dead_Tree,1273,Orc Lady,214285
MOBG_Branch_Of_Dead_Tree,1274,Megalith,71428
MOBG_Branch_Of_Dead_Tree,1275,Alice,71428
MOBG_Branch_Of_Dead_Tree,1276,Raydric Archer,71428
MOBG_Branch_Of_Dead_Tree,1277,Greatest General,214285
MOBG_Branch_Of_Dead_Tree,1278,Stalactic Golem,71428
MOBG_Branch_Of_Dead_Tree,1279,Tri Joint,214285
MOBG_Branch_Of_Dead_Tree,1280,Goblin Steamrider,214285
MOBG_Branch_Of_Dead_Tree,1281,Sage Worm,71428
MOBG_Branch_Of_Dead_Tree,1282,Kobold Archer,214285
MOBG_Branch_Of_Dead_Tree,1283,Chimera,71428
MOBG_Branch_Of_Dead_Tree,1289,Maya Purple,71428
MOBG_Branch_Of_Dead_Tree,1290,Skeleton General,71428
MOBG_Branch_Of_Dead_Tree,1291,Wraith Dead,71428
MOBG_Branch_Of_Dead_Tree,1292,Mini Demon,71428
MOBG_Branch_Of_Dead_Tree,1293,Creamy Fear,71428
MOBG_Branch_Of_Dead_Tree,1294,Killer Mantis,71428
MOBG_Branch_Of_Dead_Tree,1295,Owl Baron,71428
MOBG_Branch_Of_Dead_Tree,1296,Kobold Leader,71428
MOBG_Branch_Of_Dead_Tree,1297,Ancient Mummy,71428
MOBG_Branch_Of_Dead_Tree,1298,Zombie Master,71428
MOBG_Branch_Of_Dead_Tree,1299,Goblin Leader,71428
MOBG_Branch_Of_Dead_Tree,1300,Caterpillar,71428
MOBG_Branch_Of_Dead_Tree,1301,Am Mut,71428
MOBG_Branch_Of_Dead_Tree,1302,Dark Illusion,71428
MOBG_Branch_Of_Dead_Tree,1303,Giant Hornet,71428
MOBG_Branch_Of_Dead_Tree,1304,Giant Spider,71428
MOBG_Branch_Of_Dead_Tree,1305,Ancient Worm,71428
MOBG_Branch_Of_Dead_Tree,1306,Leib Olmai,71428
MOBG_Branch_Of_Dead_Tree,1307,Cat o' Nine Tails,71428
MOBG_Branch_Of_Dead_Tree,1308,Panzer Goblin,71428
MOBG_Branch_Of_Dead_Tree,1309,Gajomart,71428
MOBG_Branch_Of_Dead_Tree,1310,Majoruros,71428
MOBG_Branch_Of_Dead_Tree,1311,Gullinbursti,71428
MOBG_Branch_Of_Dead_Tree,1313,Mobster,71428
MOBG_Branch_Of_Dead_Tree,1314,Permeter,71428
MOBG_Branch_Of_Dead_Tree,1315,Assaulter,71428
MOBG_Branch_Of_Dead_Tree,1316,Solider,71428
MOBG_Branch_Of_Dead_Tree,1317,Seal,71428
MOBG_Branch_Of_Dead_Tree,1318,Heater,71428
MOBG_Branch_Of_Dead_Tree,1319,Freezer,71428
MOBG_Branch_Of_Dead_Tree,1320,Owl Duke,71428
MOBG_Branch_Of_Dead_Tree,1321,Dragon Tail,71428
MOBG_Branch_Of_Dead_Tree,1322,Spring Rabbit,71428
MOBG_Branch_Of_Dead_Tree,1323,Sea Otter,71428
MOBG_Branch_Of_Dead_Tree,1365,Apocalypse,71428
MOBG_Branch_Of_Dead_Tree,1366,Lava Golem,71428
MOBG_Branch_Of_Dead_Tree,1367,Blazer,71428
MOBG_Branch_Of_Dead_Tree,1368,Geographer,71428
MOBG_Branch_Of_Dead_Tree,1369,Grand Peco,71428
MOBG_Branch_Of_Dead_Tree,1370,Succubus,71428
MOBG_Branch_Of_Dead_Tree,1371,False Angel,71428
MOBG_Branch_Of_Dead_Tree,1372,Goat,71428
MOBG_Branch_Of_Dead_Tree,1374,Incubus,71428
MOBG_Branch_Of_Dead_Tree,1375,The Paper,71428
MOBG_Branch_Of_Dead_Tree,1376,Harpy,71428
MOBG_Branch_Of_Dead_Tree,1377,Elder,71428
MOBG_Branch_Of_Dead_Tree,1378,Demon Pungus,71428
MOBG_Branch_Of_Dead_Tree,1379,Nightmare Terror,71428
MOBG_Branch_Of_Dead_Tree,1380,Driller,71428
MOBG_Branch_Of_Dead_Tree,1381,Grizzly,71428
MOBG_Branch_Of_Dead_Tree,1382,Diabolic,71428
MOBG_Branch_Of_Dead_Tree,1383,Explosion,71428
MOBG_Branch_Of_Dead_Tree,1384,Deleter,71428
MOBG_Branch_Of_Dead_Tree,1385,Deleter,71428
MOBG_Branch_Of_Dead_Tree,1386,Sleeper,71428
MOBG_Branch_Of_Dead_Tree,1387,Gig,71428
MOBG_Branch_Of_Dead_Tree,1390,Violy,71428
MOBG_Branch_Of_Dead_Tree,1391,Galapago,71428
MOBG_Branch_Of_Dead_Tree,1392,Rotar Zairo,214285
MOBG_Branch_Of_Dead_Tree,1400,Karakasa,214285
MOBG_Branch_Of_Dead_Tree,1401,Shinobi,71428
MOBG_Branch_Of_Dead_Tree,1402,Poison Toad,71428
MOBG_Branch_Of_Dead_Tree,1403,Firelock Soldier,71428
MOBG_Branch_Of_Dead_Tree,1404,Miyabi Doll,214285
MOBG_Branch_Of_Dead_Tree,1405,Tengu,71428
MOBG_Branch_Of_Dead_Tree,1406,Kapha,71428
MOBG_Branch_Of_Dead_Tree,1408,Bloody Butterfly,71428
MOBG_Branch_Of_Dead_Tree,1409,Dumpling Child,214285
MOBG_Branch_Of_Dead_Tree,1410,Enchanted Peach Tree,71428
MOBG_Branch_Of_Dead_Tree,1412,Taoist Hermit,71428
MOBG_Branch_Of_Dead_Tree,1413,Hermit Plant,71428
MOBG_Branch_Of_Dead_Tree,1415,Baby Leopard,214285
MOBG_Branch_Of_Dead_Tree,1416,Evil Nymph,71428
MOBG_Branch_Of_Dead_Tree,1417,Zipper Bear,214285
MOBG_Branch_Of_Dead_Tree,1493,Dryad,71428
MOBG_Branch_Of_Dead_Tree,1494,Beetle King,214285
MOBG_Branch_Of_Dead_Tree,1495,Stone Shooter,71428
MOBG_Branch_Of_Dead_Tree,1497,Wooden Golem,71428
MOBG_Branch_Of_Dead_Tree,1498,Wootan Shooter,214285
MOBG_Branch_Of_Dead_Tree,1499,Wootan Fighter,71428
MOBG_Branch_Of_Dead_Tree,1500,Parasite,214285
MOBG_Branch_Of_Dead_Tree,1503,Gibbet,71428
MOBG_Branch_Of_Dead_Tree,1504,Dullahan,71428
MOBG_Branch_Of_Dead_Tree,1505,Loli Ruri,71428
MOBG_Branch_Of_Dead_Tree,1506,Disguise,71428
MOBG_Branch_Of_Dead_Tree,1507,Bloody Murderer,71428
MOBG_Branch_Of_Dead_Tree,1508,Quve,214285
MOBG_Branch_Of_Dead_Tree,1509,Lude,214285
MOBG_Branch_Of_Dead_Tree,1510,Heirozoist,71428
MOBG_Branch_Of_Dead_Tree,1512,Yao Jun,71428
MOBG_Branch_Of_Dead_Tree,1513,Mao Guai,71428
MOBG_Branch_Of_Dead_Tree,1514,Zhu Po Long,71428
MOBG_Branch_Of_Dead_Tree,1515,Baby Hatii,71428
MOBG_Branch_Of_Dead_Tree,1516,Mi Gao,71428
MOBG_Branch_Of_Dead_Tree,1517,Jing Guai,71428
MOBG_Branch_Of_Dead_Tree,1519,Green Maiden,71428
MOBG_Branch_Of_Dead_Tree,1520,Boiled Rice,71428
MOBG_Branch_Of_Dead_Tree,1582,Deviling,71428
MOBG_Branch_Of_Dead_Tree,1584,Tamruan,71428
MOBG_Branch_Of_Dead_Tree,1586,Leaf Cat,71428
MOBG_Branch_Of_Dead_Tree,1587,Kraben,71428
MOBG_Branch_Of_Dead_Tree,1613,Metaling,71428
MOBG_Branch_Of_Dead_Tree,1614,Mineral,71428
MOBG_Branch_Of_Dead_Tree,1615,Obsidian,71428
MOBG_Branch_Of_Dead_Tree,1616,Pitman,71428
MOBG_Branch_Of_Dead_Tree,1617,Old Stove,71428
MOBG_Branch_Of_Dead_Tree,1618,Ungoliant,71428
MOBG_Branch_Of_Dead_Tree,1619,Porcellio,71428
MOBG_Branch_Of_Dead_Tree,1620,Noxious,71428
MOBG_Branch_Of_Dead_Tree,1621,Venomous,71428
MOBG_Branch_Of_Dead_Tree,1622,Teddy Bear,71428
MOBG_Branch_Of_Dead_Tree,1627,Anopheles,71428
MOBG_Branch_Of_Dead_Tree,1628,Holden,71428
MOBG_Branch_Of_Dead_Tree,1629,Hill Wind,71428
MOBG_Branch_Of_Dead_Tree,1631,Green Maiden,71428
MOBG_Branch_Of_Dead_Tree,1632,Gremlin,71428
MOBG_Branch_Of_Dead_Tree,1633,Beholder,71428
MOBG_Branch_Of_Dead_Tree,1634,Seyren Windsor,71428
MOBG_Branch_Of_Dead_Tree,1635,Eremes Guile,71428
MOBG_Branch_Of_Dead_Tree,1636,Howard Alt-Eisen,71428
MOBG_Branch_Of_Dead_Tree,1637,Margaretha Sorin,71428
MOBG_Branch_Of_Dead_Tree,1638,Cecil Damon,71428
MOBG_Branch_Of_Dead_Tree,1639,Kathryne Keyron,71428
MOBG_Branch_Of_Dead_Tree,1652,Egnigem Cenia,71428
MOBG_Branch_Of_Dead_Tree,1653,Wickebine Tres,71428
MOBG_Branch_Of_Dead_Tree,1654,Armeyer Dinze,71428
MOBG_Branch_Of_Dead_Tree,1655,Errende Ebecee,71428
MOBG_Branch_Of_Dead_Tree,1656,Kavach Icarus,71428
MOBG_Branch_Of_Dead_Tree,1657,Laurell Weinder,71428
MOBG_Branch_Of_Dead_Tree,1664,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1665,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1666,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1667,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1668,Archdam,71428
MOBG_Branch_Of_Dead_Tree,1669,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1670,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1671,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1672,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1673,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1675,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1676,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1677,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1678,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1679,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1680,Hill Wind,71428
MOBG_Branch_Of_Dead_Tree,1681,Gemini-S58,71428
MOBG_Branch_Of_Dead_Tree,1682,Remover,71428
MOBG_Branch_Of_Dead_Tree,1686,Orc Baby,71428
MOBG_Branch_Of_Dead_Tree,1687,Grove,71428
MOBG_Branch_Of_Dead_Tree,1692,Breeze,71428
MOBG_Branch_Of_Dead_Tree,1693,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1694,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1695,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1696,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1699,Ancient Mimic,71428
MOBG_Branch_Of_Dead_Tree,1703,Lady Solace,71428
MOBG_Branch_Of_Dead_Tree,1704,Odium of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1705,Despero of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1706,Maero of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1707,Dolor of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1713,Acidus,71428
MOBG_Branch_Of_Dead_Tree,1714,Ferus,71428
MOBG_Branch_Of_Dead_Tree,1715,Novus,71428
MOBG_Branch_Of_Dead_Tree,1717,Ferus,71428
MOBG_Branch_Of_Dead_Tree,1718,Novus,71428
MOBG_Branch_Of_Dead_Tree,1720,Hydrolancer,71428
MOBG_Branch_Of_Dead_Tree,1721,Dragon Egg,71428
MOBG_Branch_Of_Dead_Tree,1736,Aliot,71428
MOBG_Branch_Of_Dead_Tree,1737,Aliza,71428
MOBG_Branch_Of_Dead_Tree,1738,Constant,71428
MOBG_Branch_Of_Dead_Tree,1752,Skogul,71428
MOBG_Branch_Of_Dead_Tree,1753,Frus,71428
MOBG_Branch_Of_Dead_Tree,1754,Skeggiold,71428
MOBG_Branch_Of_Dead_Tree,1755,Skeggiold,71428
MOBG_Branch_Of_Dead_Tree,1769,Agav,71428
MOBG_Branch_Of_Dead_Tree,1770,Echio,71428
MOBG_Branch_Of_Dead_Tree,1771,Vanberk,71428
MOBG_Branch_Of_Dead_Tree,1772,Isilla,71428
MOBG_Branch_Of_Dead_Tree,1773,Hodremlin,71428
MOBG_Branch_Of_Dead_Tree,1774,Seeker,71428
MOBG_Branch_Of_Dead_Tree,1775,Snowier,71428
MOBG_Branch_Of_Dead_Tree,1776,Siroma,71428
MOBG_Branch_Of_Dead_Tree,1777,Ice Titan,71428
MOBG_Branch_Of_Dead_Tree,1778,Gazeti,71428
MOBG_Branch_Of_Dead_Tree,1780,Muscipular,71428
MOBG_Branch_Of_Dead_Tree,1781,Drosera,71428
MOBG_Branch_Of_Dead_Tree,1782,Roween,71428
MOBG_Branch_Of_Dead_Tree,1783,Galion,71428
MOBG_Branch_Of_Dead_Tree,1784,Stapo,142857
MOBG_Branch_Of_Dead_Tree,1789,Iceicle,71428
MOBG_Branch_Of_Dead_Tree,1796,Aunoe,142857
MOBG_Branch_Of_Dead_Tree,1797,Fanat,142857
MOBG_Branch_Of_Dead_Tree,1829,Sword Guardian,71428
MOBG_Branch_Of_Dead_Tree,1830,Bow Guardian,71428
MOBG_Branch_Of_Dead_Tree,1831,Salamander,71428
MOBG_Branch_Of_Dead_Tree,1833,Kasa,71428
MOBG_Branch_Of_Dead_Tree,1836,Magmaring,214285
MOBG_Branch_Of_Dead_Tree,1837,Imp,71428
MOBG_Branch_Of_Dead_Tree,1838,Knocker,71428
MOBG_Branch_Of_Dead_Tree,1839,Byrogue,71428
MOBG_Branch_Of_Dead_Tree,1864,Zombie Slaughter,71428
MOBG_Branch_Of_Dead_Tree,1865,Ragged Zombie,71428
MOBG_Branch_Of_Dead_Tree,1866,Hellhound,71428
MOBG_Branch_Of_Dead_Tree,1867,Banshee,71428
MOBG_Branch_Of_Dead_Tree,1869,Flame Skull,71428
MOBG_Branch_Of_Dead_Tree,1870,Necromancer,71428
MOBG_Branch_Of_Dead_Tree,1872,Hell Fly,71428
MOBG_Branch_Of_Dead_Tree,1880,Wood Goblin,71428
MOBG_Branch_Of_Dead_Tree,1881,Les,71428
MOBG_Branch_Of_Dead_Tree,1882,Baba-Yaga,71428
MOBG_Branch_Of_Dead_Tree,1883,Uzhas,71428
MOBG_Branch_Of_Dead_Tree,1884,Mavka,71428
MOBG_Branch_Of_Dead_Tree,1918,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1919,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1920,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1921,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1974,Banshee Master,71428
MOBG_Branch_Of_Dead_Tree,1975,Beholder Master,71428
MOBG_Branch_Of_Dead_Tree,1976,Cobalt Mineral,71428
MOBG_Branch_Of_Dead_Tree,1977,Heavy Metaling,71428
MOBG_Branch_Of_Dead_Tree,1978,Hell Vesper,71428
MOBG_Branch_Of_Dead_Tree,1979,Zakudam,71428
MOBG_Branch_Of_Dead_Tree,1986,Tatacho,71428
MOBG_Branch_Of_Dead_Tree,1987,Centipede,71428
MOBG_Branch_Of_Dead_Tree,1988,Nepenthes,71428
MOBG_Branch_Of_Dead_Tree,1989,Hillthrion,71428
MOBG_Branch_Of_Dead_Tree,1990,Hardrock Mammoth,71428
MOBG_Branch_Of_Dead_Tree,1991,Tendrillion,71428
MOBG_Branch_Of_Dead_Tree,1992,Cornus,71428
MOBG_Branch_Of_Dead_Tree,1993,Naga,71428
MOBG_Branch_Of_Dead_Tree,1994,Luciola Vespa,71428
MOBG_Branch_Of_Dead_Tree,1995,Pinguicula,71428
MOBG_Branch_Of_Dead_Tree,1999,Centipede Larva,71428
MOBG_Branch_Of_Dead_Tree,2013,Draco,71428
MOBG_Branch_Of_Dead_Tree,2015,Dark Pinguicula,71428
MOBG_Branch_Of_Dead_Tree,2016,Aqua Elemental,71428
MOBG_Branch_Of_Dead_Tree,2017,Rata,71428
MOBG_Branch_Of_Dead_Tree,2018,Duneyrr,71428
MOBG_Branch_Of_Dead_Tree,2019,Ancient Tree,71428
MOBG_Branch_Of_Dead_Tree,2020,Rhyncho,71428
MOBG_Branch_Of_Dead_Tree,2021,Phylla,71428
MOBG_Branch_Of_Dead_Tree,2023,Dark Shadow,71428
MOBG_Branch_Of_Dead_Tree,2024,Bradium Golem,71428

View File

@ -1,18 +1,18 @@
// Poring Box Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Poring,1002
1002,Poring,1000000
1031,Poporing,1000000
1062,Santa Poring,200000
1090,Mastering,400000
1096,Angeling,200000
1113,Drops,1000000
1120,Ghostring,200000
1242,Marin,1000000
1388,Arc Angeling,200000
1582,Deviling,200000
1613,Metaling,1000000
1784,Stapo,1000000
MOBG_Poring_Box,0,Poring,1002
MOBG_Poring_Box,1002,Poring,1000000
MOBG_Poring_Box,1031,Poporing,1000000
MOBG_Poring_Box,1062,Santa Poring,200000
MOBG_Poring_Box,1090,Mastering,400000
MOBG_Poring_Box,1096,Angeling,200000
MOBG_Poring_Box,1113,Drops,1000000
MOBG_Poring_Box,1120,Ghostring,200000
MOBG_Poring_Box,1242,Marin,1000000
MOBG_Poring_Box,1388,Arc Angeling,200000
MOBG_Poring_Box,1582,Deviling,200000
MOBG_Poring_Box,1613,Metaling,1000000
MOBG_Poring_Box,1784,Stapo,1000000

View File

@ -0,0 +1,5 @@
import: db/pre-re/mob_branch.txt
import: db/pre-re/mob_poring.txt
import: db/pre-re/mob_boss.txt
import: db/mob_pouch.txt
import: db/mob_classchange.txt

3132
db/pre-re/quest_db.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1117,7 +1117,7 @@
//-- GC_POISONINGWEAPON
2027,0,1000,0,60000:120000:180000:240000:300000,300000,0
//-- GC_WEAPONBLOCKING
2028,0,2000,0,180000,0,0
2028,0,2000,0,180000,2000,0
//-- GC_COUNTERSLASH
2029,0,2000,0,0,0,0
//-- GC_WEAPONCRUSH
@ -1368,7 +1368,7 @@
2304,1000,0,0,500,1500,5000
//-- SC_ESCAPE
5010,0,0,0,1000,0,15000
5010,0,500,0,50000,20000,10000:8000:6000:4000:2000
//==========================================
//==== Royal Guard skills ==================
@ -1386,7 +1386,7 @@
2313,0,1000,0,300000,0,0
//-- LG_RAGEBURST
2314,0,3000,0,0,0,0
//-- LG_SHIELDSPELL //TODO apply proper duration [malufett]
//-- LG_SHIELDSPELL
2315,1000,1000,0,3000:30000:30000,0,2000
//-- LG_EXEEDBREAK
2316,5000:5500:6000:6500:7000,1000,0,300000,0,0
@ -1470,7 +1470,7 @@
//==== Minstresl skills ====================
//-- MI_RUSH_WINDMILL
2381,0,2000,0,60000,0,0
2381,1000,2000,0,60000,0,0
//-- MI_ECHOSONG
2382,1000,2000,0,60000,0,0
//-- MI_HARMONIZE
@ -1575,9 +1575,6 @@
2467,1000,0,0,60000,0,60000
//-- SO_EARTH_INSIGNIA
2468,1000,0,0,60000,0,60000
//-- SO_ELEMENTAL_SHIELD
5008,1000,0,0,10000,0,10000
//==========================================
//==== Genetic skills ======================

View File

@ -41,6 +41,7 @@
// 0x08000 - skill that ignore bg reduction
// 0x10000 - skill that ignore gvg reduction
// 0x20000 - makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
// 0x40000 - skill that can hit trap-type skill (inf2 has 0x00080)
// 13 maxcount: max amount of skill instances to place on the ground when
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
// that attack using a path, this is the path length to be used.
@ -76,7 +77,7 @@
4,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SM_RECOVERY,Increase HP Recovery
5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, SM_BASH,Bash
6,9,6,1,0,1,0,10,1,no,0,0,0,none,0,0x0, SM_PROVOKE,Provoke
7,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2,0x0, SM_MAGNUM,Magnum Break
7,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, SM_MAGNUM,Magnum Break
8,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SM_ENDURE,Endure
//****
@ -128,7 +129,7 @@
44,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, AC_VULTURE,Vulture's Eye
45,0,6,4,0,0x3,3,10,1,no,0,0,0,weapon,0,0x0, AC_CONCENTRATION,Improve Concentration
46,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,0x80, AC_DOUBLE,Double Strafe
47,-9,6,2,-1,0x2,2,10,1,no,0,0x0,0,weapon,2,0x81, AC_SHOWER,Arrow Shower
47,-9,6,2,-1,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x81, AC_SHOWER,Arrow Shower
//****
// Thief
@ -175,7 +176,7 @@
//****
// Wizard
80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,-3:-4:-5:-6:-7:-8:-9:-10:-11:-12:-12,yes,0,0x2080,5,magic,0,0x0, WZ_FIREPILLAR,Fire Pillar
81,0,6,4,3,0,7,10,1,yes,0,0x2000,0,magic,5,0x20, WZ_SIGHTRASHER,Sightrasher
81,0,6,4,3,0x2,7,10,1,yes,0,0x42000,0,magic,5,0x20, WZ_SIGHTRASHER,Sightrasher
83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0x2000,0,magic,0,0x20, WZ_METEOR,Meteor Storm
84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2000,0,magic,2:3:3:4:4:5:5:6:6:7,0x20, WZ_JUPITEL,Jupitel Thunder
85,9,8,2,4,0,0,10,-10,yes,0,0x2000,0,magic,0,0x20, WZ_VERMILION,Lord of Vermilion
@ -217,13 +218,13 @@
115,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10,0x3000, HT_SKIDTRAP,Skid Trap
116,3,6,2,2,0x42,0,5,1,no,0,0x80,0,misc,0,0x3800, HT_LANDMINE,Land Mine
117,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,0,0x3000, HT_ANKLESNARE,Ankle Snare
118,3,6,2,0,0x2,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_SHOCKWAVE,Shockwave Trap
118,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_SHOCKWAVE,Shockwave Trap
119,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0,0x3000, HT_SANDMAN,Sandman
120,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_FLASHER,Flasher
121,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x3800, HT_FREEZINGTRAP,Freezing Trap
122,3,6,2,4,0x42,1,5,1,no,0,0x80,0,misc,0,0x3800, HT_BLASTMINE,Blast Mine
123,3,6,2,3,0x42,2,5,1,no,0,0x80,0,misc,0,0x3800, HT_CLAYMORETRAP,Claymore Trap
124,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0,0x0, HT_REMOVETRAP,Remove Trap
124,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, HT_REMOVETRAP,Remove Trap
125,3,6,2,0,0x1,0,1,1,no,0,0x80,0,misc,0,0x2000, HT_TALKIEBOX,Talkie Box
126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, HT_BEASTBANE,Beast Bane
127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0,0x0, HT_FALCON,Falconry Mastery
@ -369,7 +370,7 @@
249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_AUTOGUARD,Guard
250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9,0x0, CR_SHIELDCHARGE,Smite
251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x20000, CR_SHIELDBOOMERANG,Shield Boomerang
252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect
252,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect
253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross
254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0,0x0, CR_GRANDCROSS,Grand Cross
255,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0,0x0, CR_DEVOTION,Sacrifice
@ -561,7 +562,7 @@
//****
// Stalker
389,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x60, ST_CHASEWALK,Stealth
390,0,0,4,0,0,0,5,1,yes,0,0,0,weapon,0,0x0, ST_REJECTSWORD,Counter Instinct
390,0,0,4,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0, ST_REJECTSWORD,Counter Instinct
//391,0,0,4,0,1,0,1,1,yes,0,0,0,magic,0,0x0, ST_STEALBACKPACK,Steal Backpack
//****
@ -629,9 +630,9 @@
//****
// Star Gladiator
427,0,6,4,0,0x1,0,3,1,yes,0,0,0,magic,0,0x0, SG_FEEL,Feeling the Sun Moon and Stars
428,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_SUN_WARM,Warmth of the Sun
429,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_MOON_WARM,Warmth of the Moon
430,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_STAR_WARM,Warmth of the Stars
428,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_SUN_WARM,Warmth of the Sun
429,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_MOON_WARM,Warmth of the Moon
430,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_STAR_WARM,Warmth of the Stars
431,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_SUN_COMFORT,Comfort of the Sun
432,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_MOON_COMFORT,Comfort of the Moon
433,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_STAR_COMFORT,Comfort of the Stars
@ -689,14 +690,14 @@
//****
// Other 2nd Skills
473,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, SM_SELFPROVOKE,Provoke Self
473,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, SM_SELFPROVOKE,Provoke Self
474,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0,0x0, NPC_EMOTION_ON,Emotion ON
475,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, ST_PRESERVE,Preserve
476,1,6,1,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x20, ST_FULLSTRIP,Divest All
477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x4000, WS_WEAPONREFINE,Upgrade Weapon
478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0,0x0, CR_SLIMPITCHER,Aid Condensed Potion
479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0, CR_FULLPROTECTION,Full Protection
480,5,8,1,-1,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
480,5,8,1,0,0,0,5,5,no,0,0,0,weapon,0,0x20000, PA_SHIELDCHAIN,Shield Chain
481,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, HP_MANARECHARGE,Mana Recharge
482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0,0x0, PF_DOUBLECASTING,Double Casting
483,14,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0,0x20, HW_GANBANTEIN,Ganbantein
@ -719,7 +720,7 @@
//****
// Gunslinger
500,0,6,4,0,0x40,0,5,1,no,0,0,0,misc,0,0x0, GS_GLITTERING,Flip the Coin
500,0,6,4,0,0x41,0,5,1,no,0,0,0,misc,0,0x0, GS_GLITTERING,Flip the Coin
501,9,6,1,-1,0x50,0,1,1,no,0,0,0,misc,0,0x0, GS_FLING,Fling
502,-9,8,1,-1,0,0,1,3,no,0,0,0,weapon,0,0x0, GS_TRIPLEACTION,Triple Action
503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0,0x0, GS_BULLSEYE,Bulls Eye
@ -865,12 +866,12 @@
//****
// 2nd Quest Skills
1001,9,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0,0x0, KN_CHARGEATK,Charge Attack
1001,14,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0,0x0, KN_CHARGEATK,Charge Attack
1002,0,6,4,0,0x1,0,1,0,no,0,0x1,0,weapon,2,0x0, CR_SHRINK,Shrink
1003,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0,0x0, AS_SONICACCEL,Sonic Acceleration
1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0,0x0, AS_VENOMKNIFE,Throw Venom Knife
1005,1,6,1,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0, RG_CLOSECONFINE,Close Confine
1006,0,6,4,3,0,1,1,1,yes,0,0x1,0,magic,3,0x20, WZ_SIGHTBLASTER,Sight Blaster
1006,0,6,4,3,0,1,1,1,yes,0,0x40001,0,magic,3,0x20, WZ_SIGHTBLASTER,Sight Blaster
1007,0,6,4,0,0x1,0,1,0,no,0,0x1,0,none,0,0x0, SA_CREATECON,Create Elemental Converter
1008,9,6,1,1,0x1,0,1,1,yes,0,0x1,0,magic,0,0x0, SA_ELEMENTWATER,Elemental Change Water
1009,-9,6,1,0,0,0,1,1,no,0,0x1,0,weapon,3,0x0, HT_PHANTASMIC,Phantasmic Arrow
@ -894,7 +895,7 @@
2005,1,6,2,4,0x2,2,5,1,no,0,0,0,weapon,3,0x0, RK_WINDCUTTER,Wind Cutter
2006,0,6,4,-1,0x2,5,5,1,no,0,0,0,weapon,0,0x0, RK_IGNITIONBREAK,Ignition Break
2007,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RK_DRAGONTRAINING,Dragon Training
2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath
2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath
2009,0,6,4,0,0x3,3:4:5:6:7,5,1,no,0,0,0,none,0,0x0, RK_DRAGONHOWLING,Dragon Howling
2010,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RK_RUNEMASTERY,Rune Mastery
2011,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, RK_MILLENNIUMSHIELD,Millenium Shield
@ -903,7 +904,7 @@
2014,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_GIANTGROWTH,Giant Growth
2015,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_STONEHARDSKIN,Stone Hard Skin
2016,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_VITALITYACTIVATION,Vitality Activation
2017,0,6,4,-1,0x2,3,1,1,no,0,0,0,weapon,7,0x0, RK_STORMBLAST,Storm Blast
2017,0,6,4,-1,0x2,3,1,1,no,0,0x40000,0,weapon,7,0x0, RK_STORMBLAST,Storm Blast
2018,0,6,4,0,0x3,-1,1,1,yes,0,0,0,none,0,0x0, RK_FIGHTINGSPIRIT,Fighting Spirit //CHECK Is this splash needed?
2019,9,6,4,6,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_ABUNDANCE,Abundance
2020,5:6:7:8:9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, RK_PHANTOMTHRUST,Phantom Thrust
@ -969,11 +970,11 @@
2038,11,8,1,6,0x2,1,5,-3,yes,0,0,0,magic,0,0x0, AB_JUDEX,Judex
2039,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0,0x0, AB_ANCILLA,Ancilla
2040,11,8,1,6,0,0,10,-10,yes,0,0,0,magic,0,0x0, AB_ADORAMUS,Adoramus
2041,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CLEMENTIA,Crementia
2042,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CANTO,Canto Candidus
2041,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CLEMENTIA,Crementia
2042,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CANTO,Canto Candidus
2043,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CHEAL,Coluceo Heal
2044,11,6,2,6,0x1,0,5,1,yes,0,0,1,magic,0,0x0, AB_EPICLESIS,Epiclesis
2045,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_PRAEFATIO,Praefatio
2044,11,6,2,6,0x1,2,5,1,yes,0,0,1,magic,0,0x0, AB_EPICLESIS,Epiclesis
2045,0,6,4,0,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_PRAEFATIO,Praefatio
2046,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_ORATIO,Oratio
2047,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0, AB_LAUDAAGNUS,Lauda Agnus
2048,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0, AB_LAUDARAMUS,Lauda Ramus
@ -995,7 +996,7 @@
2234,0,6,4,0,0,0,5,1,yes,0,0,0,none,0,0x0, RA_FEARBREEZE,Fear Breeze
2235,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_RANGERMAIN,Ranger Main
2236,9,8,1,-1,0,0,10,1,yes,0,0,0,weapon,0,0x80, RA_AIMEDBOLT,Aimed Bolt
2237,9,6,2,0,0x3,3,1,1,no,0,0,0,none,0,0x2000, RA_DETONATOR,Detonator
2237,9,6,2,0,0x3,3,1,1,no,0,0x40000,0,none,0,0x2000, RA_DETONATOR,Detonator
2238,3,6,2,0,0x3,2,5,1,no,0,0x80,3,misc,0,0x2000, RA_ELECTRICSHOCKER,Electric Shocker
2239,3,6,2,0,0x42,3,5,1,no,0,0x80,3,misc,0,0x2800, RA_CLUSTERBOMB,Cluster Bomb
2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, RA_WUGMASTERY,Warg Mastery
@ -1004,7 +1005,7 @@
2243,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x2000, RA_WUGSTRIKE,Warg Strike
2244,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite
2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_TOOTHOFWUG,Tooth of Warg
2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen
2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0x40000,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen
2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x42, RA_CAMOUFLAGE,Camouflage
2248,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RA_RESEARCHTRAP,Research Trap
2249,3,6,2,3,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_MAGENTATRAP,Magenta Trap
@ -1021,14 +1022,14 @@
2257,3,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, NC_PILEBUNKER,Pile Bunker
2258,13,6,1,-1,0x2,1,3,1,no,0,0,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
2259,7,6,1,3,0,2,3,1,no,0,0,5,weapon,0,0x0, NC_FLAMELAUNCHER,Flame Launcher
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
2261,9:11:13,6,2,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0x40000,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
2261,9:11:13,6,1,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
2262,0,6,4,0,0x1,0,3,1,no,0,0,0,none,0,0x0, NC_ACCELERATION,Acceleration
2263,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_HOVERING,Hovering
2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_F_SIDESLIDE,Front-Side Slide
2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_B_SIDESLIDE,Back-Side Slide
2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,0x0, NC_MAINFRAME,Mainframe Restructure
2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0,0,weapon,5,0x0, NC_SELFDESTRUCTION,Self Destruction
2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0x40000,0,weapon,5,0x0, NC_SELFDESTRUCTION,Self Destruction
2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,0x0, NC_SHAPESHIFT,Shape Shift
2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_EMERGENCYCOOL,Emergency Cool
2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,0x0, NC_INFRAREDSCAN,Infrared Scan
@ -1102,7 +1103,7 @@
2329,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
2332,0,6,4,-1,0x2,3,5,1,no,0,0,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
2334,0,6,4,0,0x3,1:1:2:2:3,5,1,no,0,0,0,none,0,0x0, SR_CURSEDCIRCLE,Cursed Circle
2335,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_LIGHTNINGWALK,Lightning Walk
@ -1139,9 +1140,9 @@
// WM Wanderer/Minstrel
2412,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, WM_LESSON,Lesson
2413,9,8,1,-1,0,0,5,-2:-2:-3:-3:-4,yes,0,0,0,magic,0,0x0, WM_METALICSOUND,Metallic Sound
2414,9,6,2,-1,0x3,1,5,1,yes,0,0x80,3,none,0,0x0, WM_REVERBERATION,Reverberation
2415,0,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, WM_REVERBERATION_MELEE,Reverberation Melee
2416,0,6,1,-1,0,0,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic
2414,9,6,2,0,0x3,2,5,1,yes,0,0x80,0,none,0,0x0, WM_REVERBERATION,Reverberation
2415,0,6,1,-1,0x6,2,5,1,no,0,0,0,weapon,0,0x0, WM_REVERBERATION_MELEE,Reverberation Melee
2416,0,6,1,0,0x6,2,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic
2417,11,6,2,0,0x3,5,1,1,no,0,0,0,none,0,0x0, WM_DOMINION_IMPULSE,Dominion Impulse
2418,9,6,2,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_SEVERE_RAINSTORM,Severe Rainstorm
2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld
@ -1154,9 +1155,9 @@
2426,9,6,2,0,0x2,2:3:3:4:4,5,1,yes,0,0x4000,0,weapon,0,0x0, WM_GREAT_ECHO,Great Echo
2427,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0x4000,0,none,0,0x0, WM_SONG_OF_MANA,Song of Mana
2428,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0x4000,0,none,0,0x0, WM_DANCE_WITH_WUG,Dance With A Warg
2429,9,6,1,0,0x42,4:4:5:5:6,5,1,yes,0,0x4000,0,weapon,0,0x0, WM_SOUND_OF_DESTRUCTION,Sound of Destruction //CHECK Source shows its magic attack. Need to confirm before changing.
2429,9,6,2,0,0x42,4:4:5:5:6,5,1,yes,0,0x4000,0,none,0,0x0, WM_SOUND_OF_DESTRUCTION,Sound of Destruction
2430,0,6,4,0,0x3,3:4:5:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_SATURDAY_NIGHT_FEVER,Saturday Night Fever
2431,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,magic,0,0x0, WM_LERADS_DEW,Lerad's Dew
2431,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_LERADS_DEW,Lerad's Dew
2432,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_MELODYOFSINK,Melody of Sink
2433,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_BEYOND_OF_WARCRY,Warcry of Beyond
2434,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_UNLIMITED_HUMMING_VOICE,Unlimited Humming Voice
@ -1203,7 +1204,7 @@
2481,11,6,1,-1,0x2,1:2:3:4:5,5,1,yes,0,0,0,weapon,0,0x0, GN_SPORE_EXPLOSION,Spore Explosion //CHECK Data says its element is set to neutral. Need to confirm.
2482,11,6,2,0,0x8,0,5,1,yes,0,0,1,weapon,2,0x0, GN_WALLOFTHORN,Wall of Thorns
2483,11,6,2,0,0x3,4,10,1,yes,0,0x0,0,weapon,0,0x1, GN_CRAZYWEED,Crazy Weed
2484,0,6,2,2,0x2,2,10,1,no,0,0x0,0,weapon,0,0x1, GN_CRAZYWEED_ATK,Crazy Weed Attack
2484,0,6,2,2,0x2,2,10,1,no,0,0x40000,0,weapon,0,0x1, GN_CRAZYWEED_ATK,Crazy Weed Attack
2485,9,6,2,3,0,0,5,1,yes,0,0,0,magic,0,0x0, GN_DEMONIC_FIRE,Demonic Fire
2486,9,6,2,0,0,0,5,1,yes,0,0,0,none,0,0x0, GN_FIRE_EXPANSION,Fire Expansion
2487,9,6,2,0,0,0,1,1,no,0,0,0,none,0,0x0, GN_FIRE_EXPANSION_SMOKE_POWDER,Fire Expansion Smoke Powder
@ -1263,35 +1264,35 @@
//****
// Kagerou & Oboro
3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x4, KO_YAMIKUMO,Yamikumo
3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x4, KO_YAMIKUMO,Shadow Hiding
3002,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KO_RIGHT,Right Hand Mastery
3003,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KO_LEFT,Left Hand Mastery
3004,3:4:5:6:7,8,1,-1,0,0,5,-2,no,0,0,0,weapon,0,0x0, KO_JYUMONJIKIRI,Cross Strike
3005,2,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KO_SETSUDAN,Soul Sever
3006,7:8:9:10:11,6,2,-1,0x42,2,5,1,no,0,0,0,weapon,0,0x0, KO_BAKURETSU,Bakuretsu Kunai
3007,5,6,4,-1,0x42,4:4:4:4:5,5,1,no,0,0,0,weapon,0,0x0, KO_HAPPOKUNAI,Happo Kunai
3008,11,8,2,0,0x56,1:1:1:1:1:1:1:1:1:2,10,-10,no,0,0,0,misc,0,0x0, KO_MUCHANAGE,Mucha Nage
3009,9:10:11:12:13,8,2,-1,0x2,3,5,2,no,0,0,0,weapon,0,0x0, KO_HUUMARANKA,Huuma Shuriken Ranka
3004,3:4:5:6:7,8,1,-1,0,0,5,-2,no,0,0,0,weapon,0,0x0, KO_JYUMONJIKIRI,Cross Slash
3005,2,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KO_SETSUDAN,Soul Cutter
3006,7:8:9:10:11,6,2,-1,0x42,2,5,1,no,0,0,0,weapon,0,0x0, KO_BAKURETSU,Kunai Explosion
3007,0,6,4,-1,0x42,4:4:4:4:5,5,1,no,0,0,0,weapon,0,0x0, KO_HAPPOKUNAI,Kunai Splash
3008,11,8,2,0,0x56,1:1:1:1:1:1:1:1:1:2,10,-10,no,0,0,0,misc,0,0x0, KO_MUCHANAGE,Rapid Throw
3009,9:10:11:12:13,8,2,-1,0x2,3,5,2,no,0,0,0,weapon,0,0x0, KO_HUUMARANKA,Swirling Petal
3010,3,6,4,0,0x52,0,5,1,no,0,0x80,0,weapon,0,0x10, KO_MAKIBISHI,Makibishi
3011,0,6,4,0,0x1,0,5,0,yes,0,0,0,none,0,0x0, KO_MEIKYOUSISUI,Meikyo Shisui
3012,0,6,4,0,0x1,0,5,0,no,0,0,1,none,3:4:5:6:7,0x0, KO_ZANZOU,Zanzou
3013,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_KYOUGAKU,Kyougaku
3014,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_JYUSATSU,Jyusatsu
3015,0,6,4,3,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAHU_ENTEN,Kahu Enten
3016,0,6,4,1,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_HYOUHU_HUBUKI,Hyouhu Hubuki
3017,0,6,4,4,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAZEHU_SEIRAN,Kazehu Seiran
3018,0,6,4,2,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_DOHU_KOUKAI,Dohu Koukai
3019,11,6,1,0,0,0,1,1,no,0,0,0,magic,0,0x0, KO_KAIHOU,Technique Kaihou
3020,7,6,2,0,0,0,1,1,yes,0,0,0,magic,0,0x0, KO_ZENKAI,Zenkai
3021,5:6:7:8:9,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KO_GENWAKU,Genwaku
3022,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_IZAYOI,Izayoi
3023,0,6,4,0,0x3,2:3:4:5:6,5,0,no,0,0,0,none,0,0x0, KG_KAGEHUMI,Kagehumi
3024,7,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KYOMU,Kyomu
3025,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KAGEMUSYA,Kagemusha
3026,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_ZANGETSU,Zangetsu
3027,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_OBOROGENSOU,Oboro Gensou
3028,1,6,4,0,0x2,3,1,1,no,0,0,0,weapon,0,0x0, OB_OBOROGENSOU_TRANSITION_ATK,Hazy Moonlight Illusion Transition Attack
3029,7,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, OB_AKAITSUKI,Akaitsuki
3011,0,6,4,0,0x1,0,5,0,yes,0,0,0,none,0,0x0, KO_MEIKYOUSISUI,Pure Soul
3012,0,6,4,0,0x1,0,5,0,no,0,0,1,none,3:4:5:6:7,0x0, KO_ZANZOU,Illusion - Shadow
3013,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_KYOUGAKU,Illusion - Shock
3014,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_JYUSATSU,Illusion - Death
3015,0,6,4,3,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAHU_ENTEN,Fire Charm
3016,0,6,4,1,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_HYOUHU_HUBUKI,Ice Charm
3017,0,6,4,4,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAZEHU_SEIRAN,Wind Charm
3018,0,6,4,2,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_DOHU_KOUKAI,Earth Charm
3019,11,6,1,0,0,0,1,1,no,0,0,0,magic,0,0x0, KO_KAIHOU,Release Ninja Spell
3020,7,6,2,0,0,0,1,1,yes,0,0,0,magic,0,0x0, KO_ZENKAI,Cast Ninja Spell
3021,5:6:7:8:9,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KO_GENWAKU,Illusion - Bewitch
3022,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_IZAYOI,16th Night
3023,0,6,4,0,0x3,2:3:4:5:6,5,0,no,0,0,0,none,0,0x0, KG_KAGEHUMI,Shadow Trampling
3024,7,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KYOMU,Empty Shadow
3025,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KAGEMUSYA,Shadow Warrior
3026,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_ZANGETSU,Distorted Crescent
3027,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_OBOROGENSOU,Moonlight Fantasy
3028,1,6,4,0,0x2,3,1,1,no,0,0,0,weapon,0,0x0, OB_OBOROGENSOU_TRANSITION_ATK,Moonlight Fantasy Transition Attack
3029,7,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, OB_AKAITSUKI,Ominous Moonlight
//****
// Eclage Skills
@ -1310,13 +1311,13 @@
5001,1,8,1,-1,0,0,5,3,no,0,0,0,weapon,0,0x0, GC_DARKCROW,Dark Claw
5002,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, RA_UNLIMIT,Unlimited
5003,7,6,1,-1,0x2,4:5:6:7:-1,5,1,no,0,0,0,weapon,0,0x0, GN_ILLUSIONDOPING,Illusion Doping
5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water
5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water
5005,0,6,4,0,0x3,3,1,1,no,0,0,0,none,0,0x0, RK_LUXANIMA,Lux Anima
5006,1,6,2,3,0,0,5,1,no,0,0,3,misc,0,0x0, NC_MAGMA_ERUPTION,Magma Eruption
5007,0,6,4,0,0x3,5:6:7:8:9,5,1,no,0,0,0,none,0,0x0, WM_FRIGG_SONG,Frigg's Song
5008,0,6,4,0,0x3,15,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield
5008,0,6,4,0,0x3,11,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield
5009,1,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO,Flash Combo
5010,0,6,2,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SC_ESCAPE,Emergency Escape
5010,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SC_ESCAPE,Emergency Escape
5011,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, AB_OFFERTORIUM,Offertorium
5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis
5013,0,6,4,0,0x3,0,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace
@ -1339,7 +1340,7 @@
8009,1,8,1,0,0,0,5,-1:-2:-2:-2:-3,no,0,0,0,weapon,0,0x0, HFLI_MOON,Moonlight
8010,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HFLI_FLEET,Fleeting Move
8011,0,6,4,0,0x1,0,5,0,yes,0,0,0,misc,0,0x0, HFLI_SPEED,Speed
8012,1,6,1,0,0,0,3,0,no,0,0,0,none,0,0x0, HFLI_SBR44,S.B.R.44
8012,1,6,1,0,0,0,3,1,no,0,0,0,weapon,0,0x0, HFLI_SBR44,S.B.R.44
8013,9,6,1,0,0,0,5,1:2:3:4:5,no,0,0,0,magic,0,0x0, HVAN_CAPRICE,Caprice
8014,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HVAN_CHAOTIC,Benediction of Chaos
8015,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HVAN_INSTRUCT,Instruct
@ -1374,18 +1375,18 @@
//****
// Mercenary Skill Place holders
8201,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_BASH,Bash
8202,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
8202,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
8203,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
8204,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_PARRYING,Parry
8205,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_REFLECTSHIELD,Shield_Reflect
8206,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, MS_BERSERK,Frenzy
8207,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,0x80, MA_DOUBLE,Double_Strafe
8208,-9,6,2,-1,0x2,2,10,1,no,0,0x0,0,weapon,2,0x81, MA_SHOWER,Arrow_Shower
8208,-9,6,2,-1,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x81, MA_SHOWER,Arrow_Shower
8209,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10,0x0, MA_SKIDTRAP,Skid_Trap
8210,3,6,2,2,0x40,0,5,1,no,0,0x80,0,misc,0,0x0, MA_LANDMINE,Land_Mine
8211,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0,0x0, MA_SANDMAN,Sandman
8212,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x0, MA_FREEZINGTRAP,Freezing_Trap
8213,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
8213,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
8214,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6,0x80, MA_CHARGEARROW,Arrow_Repel
8215,9,8,1,-1,0,2,5,1,yes,0,0,13,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
8216,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, ML_PIERCE,Pierce

View File

@ -20,6 +20,7 @@
// ridingwarg = Requires to ride a Warg
// mado = Requires to have an active mado
// elementalspirit = Requires to have an Elemental Spirit summoned.
// elementalspirit2 = Requires to have an Elemental Spirit summoned, and will be removed.
// peco = Requires riding a peco
//
// 'RequiredStatuses'
@ -758,7 +759,7 @@
2327,0,0,8:9:10:11:12,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_SKYNETBLOW
2328,0,0,36:40:44:48:52,0,0,0,99,0,0,none,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_EARTHSHAKER
2329,0,0,20:30:40:50:60,0,0,0,99,0,0,none,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FALLENEMPIRE
2330,0,0,1:2:3:4:5:6:7:8:9:10,0,0,0,99,0,0,none,SC_EXPLOSIONSPIRITS,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_TIGERCANNON
2330,0,0,1:2:3:4:5:6:7:8:9:10,-12:-14:-16:-18:-20:-22:-24:-26:-28:-30,-6:-7:-8:-9:-10:-11:-12:-13:-14:-15,0,99,0,0,none,SC_EXPLOSIONSPIRITS,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_TIGERCANNON
2331,0,0,1,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_HELLGATE
2332,0,0,150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_RAMPAGEBLASTER
2333,0,0,80,0,0,0,99,0,0,none,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW
@ -808,7 +809,7 @@
2423,0,0,42:46:50:54:58,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SIRCLEOFNATURE
2424,0,0,40:45:50:55:60,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_RANDOMIZESPELL
2425,0,0,60:75:90:105:120,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MW_GLOOMYDAY
2426,0,0,80:90:100:110:120,0,0,0,99,0,0,none,0,0,11513,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_GREAT_ECHO // Missing 1 Lozange. Need item ID.
2426,0,0,80:90:100:110:120,0,0,0,99,0,0,none,0,0,11513,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_GREAT_ECHO
2427,0,0,120:140:160:180:200,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SONG_OF_MANA
2428,0,0,120:140:160:180:200,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_DANCE_WITH_WUG
2429,0,0,50:60:70:80:90,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SOUND_OF_DESTRUCTION
@ -948,7 +949,7 @@
5005,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RK_LUXANIMA
5006,0,0,60:70:80:90:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION
5007,0,0,200:230:260:290:320,0,0,0,13:14,0,0,none,0,0,6144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG
5008,0,0,120,0,0,0,99,0,0,elementalspirit,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD
5008,0,0,120,0,0,0,99,0,0,elementalspirit2,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD
5009,0,0,65,0,0,0,99,0,0,none,0,5:5:4:4:3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO
5010,0,0,30:26:22:18:14,0,0,0,99,0,0,none,0,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SC_ESCAPE
5011,0,0,30:60:90:120:150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AB_OFFERTORIUM

View File

@ -122,10 +122,10 @@
2253,0xd6, , 0, 1,1000,enemy, 0x8002 //RA_FIRINGTRAP
2254,0xd7, , 0, 1,1000,enemy, 0x8002 //RA_ICEBOUNDTRAP
2273,0xe2, , 2, 0, 500,all, 0x000 //NC_NEUTRALBARRIER
2274,0xe3, , 2, 0, 500,friend,0x000 //NC_STEALTHFIELD
2273,0xe2, , 2, 0, -1,all, 0x000 //NC_NEUTRALBARRIER
2274,0xe3, , 2, 0, -1,friend,0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0xC006 //SC_MANHOLE
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
@ -134,7 +134,7 @@
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
2414,0xda, , 0, 0, -1,enemy, 0x1000 //WM_REVERBERATION
2414,0xda, , 0, 0,1000,enemy, 0x1000 //WM_REVERBERATION
2418,0xdb, , 0, 5, 300,enemy, 0x800 //WM_SEVERE_RAINSTORM
2419,0xde, , 0, 1,1000,enemy, 0x1014 //WM_POEMOFNETHERWORLD
@ -168,9 +168,8 @@
3010,0xfc, , 0, 1,5000,enemy, 0x018 //KO_MAKIBISHI
3020,0xf8, , 0, 2, 500,all, 0x018 //KO_ZENKAI
5006,0x101, , 0, 3,2000,enemy, 0x018 //NC_MAGMA_ERUPTION
5008,0x85, , 0, 0, -1,all, 0x003 //SO_ELEMENTAL_SHIELD
5010,0xfe, , 0, 2, -1,enemy, 0x000 //SC_ESCAPE
5006,0x101, , 0, 3, 500,enemy, 0x018 //NC_MAGMA_ERUPTION
5010,0x91, , 0, 1,1000,all, 0x002 //SC_ESCAPE
5013,0x102, , 3, 0, -1,all, 0x2002 //LG_KINGS_GRACE
8020,0xf5, , 3, 0,2300:2100:1900:1700:1500,enemy, 0x018 //MH_POISON_MIST
@ -185,10 +184,10 @@
8211,0x95, , 0, 1,1000,enemy, 0x006 //MA_SANDMAN
8212,0x97, , 0, 1,1000,enemy, 0x006 //MA_FREEZINGTRAP
8403,0xed, , -1, 1,1000,enemy, 0x018 //EL_FIRE_MANTLE
8406,0xee, , 0, 1, -1,friend,0x018 //EL_WATER_BARRIER
8409,0xef, , 0, 1,1000,friend,0x018 //EL_ZEPHYR
8412,0xf0, , 0, 1, -1,friend,0x018 //EL_POWER_OF_GAIA
8403,0xed, , -1, 1,1000,enemy, 0x018 //EL_FIRE_MANTLE
8406,0xee, , 1, 0, -1,friend,0x2018 //EL_WATER_BARRIER
8409,0xef, , 1, 0, -1,friend,0x2018 //EL_ZEPHYR
8412,0xf0, , 1, 0, -1,friend,0x2018 //EL_POWER_OF_GAIA
10006,0xc1, , 2, 0, -1,guild, 0x040 //GD_LEADERSHIP
10007,0xc2, , 2, 0, -1,guild, 0x040 //GD_GLORYWOUNDS

File diff suppressed because it is too large Load Diff

View File

@ -95,8 +95,12 @@
2183:15068,{ bonus2 bSubEle,Ele_Neutral,5; }
2183:15068:18776:20710:22015,{ bonus bMaxHP,900; bonus bMaxSP,100; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,30; }
2183:22015,{ bonus bAllStats,2; }
2198:1649,{ .@r_2198 = getequiprefinerycnt(EQI_HAND_L); .@r_1649 = getequiprefinerycnt(EQI_HAND_R); if (.@r_2198 > 9) { bonus bMatk,15 * .@r_1649; } if (.@r_1649 >= 10) { bonus bMatk,50; bonus bVariableCastrate,-10; } }
2241:5136,{ bonus bMaxHP,700; bonus bMaxSP,50; bonus4 bAutoSpellWhenHit,"AL_INCAGI",10,30,1; }
2268:18573,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if(.@r > 6) { bonus bMaxHPrate,((.@r-5)/2)*2; bonus bHit,(.@r-5)/2; } }
2268:19082,{ bonus bDelayrate,-5; }
//Mechanical Plant Hat:19082,{ bonus2 bSkillAtk,GN_SPORE_EXPLOSION,getequiprefinerycnt(EQI_HEAD_???)*5; }
//2268:Mechanical Plant Hat:19082,{ bonus2 bSkillUseSP,GN_SPORE_EXPLOSION,20; }
2269:5781,{ bonus bInt,1; bonus bMaxSP,30; }
2269:5786,{ bonus2 bAddClass,Class_All,1; }
//2269:5768,{ bonus bInt,1; if(getequiprefinerycnt(EQI_HEAD_TOP) > 6) bonus bMaxSPrate,getequiprefinerycnt(EQI_HEAD_TOP)-6; }
@ -127,7 +131,7 @@
2374:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
2375:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
2376:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
2377:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,0; }
2377:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,1; }
2378:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
2379:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
2380:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bVariableCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
@ -166,12 +170,18 @@
2483:2586:15046,{ bonus bVit,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2507:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxSPrate,10+.@r; bonus bFlee,10+.@r; }
2509:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxHPrate,10+.@r; bonus bMatkRate,2+.@r; }
2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel,0; bonus bVariableCastrate,25; }
2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
2519:15147,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,15; bonus2 bIgnoreDefRaceRate,RC_Demon,15; bonus2 bIgnoreDefRaceRate,RC_Undead,15; bonus bLuk,3+.@r; bonus bCritical,10+.@r; }
2524:15147,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,15; bonus2 bIgnoreDefRaceRate,RC_Demon,15; bonus2 bIgnoreDefRaceRate,RC_Undead,15; bonus bMaxHPrate,10+.@r; bonus bAtkRate,2+.@r; }
2527:5467:13001,{ bonus2 bAddRace,RC_Dragon,25; }
2527:5467:13030,{ bonus2 bAddRace,RC_Dragon,25; }
2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
2527:13030,{ bonus2 bAddRace,RC_Dragon,5; }
2597:28342,{ bonus bCritAtkRate,5; bonus bCritical,10; .@r = getequiprefinerycnt(EQI_COSTUME_HEAD_TOP); if (.@r > 7) bonus bCritAtkRate,4; else if (.@r > 5) bonus bCritAtkRate,3; }
//2598:Ramor Shield,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_Undead,.@r; bonus2 bSubRace,RC_DemiHuman,.@r; }
2607:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
2607:2711,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
2607:2786,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
@ -219,7 +229,7 @@
2826:2827:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
2855:5360,{ bonus bCritAtkRate,10; if( getequiprefinerycnt(EQI_HEAD_TOP)>5 ) bonus bCritical,50; }
2957:2958,{ bonus4 bAutoSpell,"MO_EXTREMITYFIST",1,3,1; bonus3 bAutoSpell,"PR_LEXAETERNA",1,20; bonus3 bAutoSpell,"AS_SONICBLOW",5,50; bonus3 bAutoSpell,"MO_INVESTIGATE",5,20; bonus3 bAutoSpell,"ASC_METEORASSAULT",2,50; }
2959:18756,{ .@r = 3+(3*getequiprefinerycnt(EQI_HEAD_TOP)); autobonus "{ /* Active_Montransform ATROCE, SetDisappearSPAmount COMBIITEM_Shiba_Set 1 5 */ bonus bBaseAtk,30; }",.@r,5000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; autobonus2 "{ /* Active_Montransform ATROCE, SetDisappearSPAmount COMBIITEM_Shiba_Set 1 5 */ bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }
2959:18756,{ .@r = 3+(3*getequiprefinerycnt(EQI_HEAD_TOP)); autobonus "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; autobonus2 "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; }
2966:2967:13092,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*10); }
2966:2967:16026,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*5); }
2966:2967:18821,{ bonus2 bAddClass,Class_All, -(getequiprefinerycnt(EQI_HEAD_TOP)/2); }
@ -267,20 +277,23 @@
4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus2 bSPDrainValue,1,0; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bWeaponComaRace,RC_Brute,100; } }
4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; } }
4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bVariableCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel,0; } }
4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus2 bSPDrainValue,2,0; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus bSPDrainValue,2; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
4191:4208:4258:4309:4325:4327,{ bonus bMaxHP,500; bonus bDef,5; bonus bMdef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(BaseClass==Job_Mage) { bonus bMatkRate,3; bonus bVariableCastrate,-15; } }
4193:4294,{ bonus bMaxHP,300; bonus bMaxSP,60; }
4207:18865,{ bonus2 bAddSize,Size_All,5; bonus2 bMagicAddSize,Size_All,5; }
4208:4258:4325:4327:4382,{ bonus bInt,3; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",10; bonus2 bSkillAtk,"MG_THUNDERSTORM",10; if(BaseJob==Job_Sage) { bonus bMagicDamageReturn,20; bonus2 bAddMonsterDropItem,716,100; bonus2 bAddMonsterDropItem,715,100; bonus bVariableCastrate,-20; } }
4218:4269,{ bonus bHPrecovRate,30; bonus bSPrecovRate,30; bonus bVit,4; bonus bInt,4; }
4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,"BS_WEAPONPERFECT",1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) bonus2 bAddItemGroupHealRate,IG_Potion,50; }
4229:4244:4299:4313,{ bonus bDef,3; bonus bMdef,3; }
4237:4238,{ bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",5,20; }
4247:18554,{ bonus2 bAddEle,Ele_Water,10; }
4250:18865,{ bonus2 bAddSize,Size_All,5; bonus2 bMagicAddSize,Size_All,5; }
4254:18865,{ bonus2 bAddSize,Size_All,5; bonus2 bMagicAddSize,Size_All,5; }
4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
4273:18554,{ bonus2 bAddEle,Ele_Water,10; }
4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bVariableCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
@ -293,6 +306,7 @@
4627:4628,{ bonus2 bSubRace,RC_Formless,5; bonus2 bSubRace,RC_Demon,5; bonus2 bIgnoreDefRaceRate,RC_Formless,50; bonus2 bIgnoreDefRaceRate,RC_Demon,50;}
4629:4630,{ bonus3 bAutoSpell,677,2,2; bonus2 bSubEle,Ele_Neutral,5; }
4631:4632,{ bonus5 bAutoSpell,85,1,1,BF_SHORT,0; }
4635:4636,{ bonus2 bResEff,Eff_Burning,10000; }
5040:5442,{ bonus bAspdRate,3; bonus bVariableCastrate,3; }
5040:18673,{ bonus bSPrecovRate,3; }
5041:18538,{ bonus2 bSubRace,RC_Angel,9; }
@ -317,28 +331,64 @@
5475:18656,{ bonus bBaseAtk,30; bonus bMatk,30; bonus2 bAddMonsterDropItem,529,400; bonus2 bAddMonsterDropItem,530,400; bonus2 bAddMonsterDropItem,538,400; bonus2 bAddMonsterDropItem,12192,400;}
5498:5521,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if(.@r>=7) bonus bCritAtkRate,10; if(.@r>=9) bonus bAspd,1; }
5548:5766,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bBaseAtk,(.@r>10?10:.@r); bonus bMatk,(.@r>10?10:.@r); }
5920:1659,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSkillUseSP,"AL_HEAL",6*.@r; bonus2 bSkillUseSP,"AB_CHEAL",10*.@r; bonus2 bSkillUseSP,"AB_HIGHNESSHEAL",14*.@r; }
5920:18542,{ bonus bHealPower,2*getequiprefinerycnt(EQI_HEAD_TOP); }
5966:2198,{ .@r = getequiprefinerycnt(EQI_HAND_L); if (.@r > 7) bonus2 bSkillCooldown,"WL_COMET",-20000+(.@r > 9 ? -20000 : 0); }
5967:4152,{ bonus2 bAddItemGroupHealRate,IG_Juice,1000; }
5967:4163,{ bonus bAspdRate,3; bonus bAspd,1; bonus bNoWeaponDamage,5; if (getequiprefinerycnt(EQI_HAND_R) > 10 && getiteminfo(getequipid(EQI_HAND_R),11) == 11) bonus bAspd,1; }
5967:4015,{ bonus2 bSubEle,Ele_All,10; }
5968:1647,{ if (BaseClass == Job_Acolyte) { bonus bHealPower,getequiprefinerycnt(EQI_HAND_R)*4; } }
//9024:18832,{ bonus3 bAutoSpell,"BS_ADRENALINE",2,(GetPetRelationship >= 3)?15:10; }
13027:15044,{ .@r = getequiprefinerycnt(EQI_ARMOR)?getequiprefinerycnt(EQI_ARMOR):1; bonus3 bAddMonsterDropItem,929,RC_DemiHuman,70*.@r; bonus3 bAddMonsterDropItem,970,RC_DemiHuman,50*.@r; bonus3 bAddMonsterDropItem,929,RC_Player,70*.@r; bonus3 bAddMonsterDropItem,970,RC_Player,50*.@r; bonus3 bAddMonsterDropItem,929,RC_Brute,70*.@r; bonus3 bAddMonsterDropItem,970,RC_Brute,50*.@r; }
13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }
15041:18659,{ bonus bInt,3; bonus bStr,3; bonus bMdef,10; bonus bDefEle,Ele_Fire; bonus2 bAddEle,Ele_Earth,10; }
15067:2950:20709:22012,{ bonus2 bExpAddRace,RC_All,30; }
15068:20710,{ bonus bAgi,5; bonus bFlee,10; }
15088:18816:18818,{ bonus bMatk,BaseLevel/3; bonus2 bExpAddClass,Class_All,5; }
15088:18817:18819,{ bonus bBaseAtk,BaseLevel/3; bonus2 bExpAddClass,Class_All,5; }
15090:18820:20721:22033,{ bonus2 bSubEle,Ele_Neutral,15; bonus bMaxHPrate,25; bonus bMaxSPrate,25; bonus bMatkRate,10; bonus3 bAutoSpellWhenHit,"WL_DRAINLIFE",3,1; }
15116:20743:22046,{ bonus bMaxSPrate,25; bonus bMaxSPrate,25; bonus bSpeedAddRate,10; }
15123:1287,{ if (getequiprefinerycnt(EQI_HAND_R) >= 7) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",1000,3000,BF_SHORT,BF_NORMAL; } /* Confirm: Success rate */ }
15138:19026,{ bonus bUnbreakableArmor,1; bonus2 bSubRace,RC_Fish,(10+getequiprefinerycnt(EQI_ARMOR)); }
18507:18539,{ bonus bUseSPrate,-3; }
18559:18560,{ bonus bCritAtkRate,5; }
18776:20710,{ bonus bBaseAtk,10; }
18776:22015,{ bonus bMatk,20; }
18937:2659,{ bonus bInt,8; bonus bMaxSPrate,5;}
18937:2660,{ bonus bInt,8; bonus bBaseAtk,20;}
18937:2661,{ bonus bInt,8; bonus bFlee,15;}
18937:2662,{ bonus bInt,8; bonus bHit,10;}
18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
19019:1730,{ bonus bLongAtkRate,45; }
19019:1731,{ bonus bLongAtkRate,45; }
19019:1732,{ bonus bLongAtkRate,45; }
19019:1733,{ bonus bLongAtkRate,45; }
19020:1617,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
19020:1618,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
19020:1619,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
19020:1620,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
19021:2160,{ bonus2 bSubSize,Size_Large,5+(getequiprefinerycnt(EQI_HAND_L)*2); }
19021:1387,{ bonus2 bSkillAtk,"WS_CARTTERMINATION",15+(getequiprefinerycnt(EQI_HAND_R))*5; }
19021:1490,{ bonus2 bSkillAtk,"LK_SPIRALPIERCE",getequiprefinerycnt(EQI_HAND_R)*5; .@lv = getskilllv("LK_SPIRALPIERCE"); bonus4 bAutoSpellOnSkill,"LK_JOINTBEAT","LK_SPIRALPIERCE",(.@lv ? .@lv : 1),50+(getskilllv("LK_JOINTBEAT")*10); /* Confirm: Success rate */ }
19024:5170,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r >= 7) bonus bAspdRate,5; if (.@r >= 9) bonus bMaxHPRate,5; }
19026:15138,{ bonus2 bSubRace,RC_Fish,(10+getequiprefinerycnt(EQI_ARMOR)); bonus bUnbreakableArmor,1; }
19026:20756,{ set .@c, getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@c); bonus2 bAddItemHealRate,551,5; bonus bHPrecovRate,(5+.@c); }
19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,551,5; bonus bHPrecovRate,(5+.@r); }
19026:20756:22059:15138,{ bonus bMaxHP,1000; bonus bMaxSP,100; bonus2 bExpAddRace,RC_Fish,20; bonus2 bMagicAddRace,RC_Fish,50; bonus2 bSubEle,Ele_Water,50; }
19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
19038:19039,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP)+getequiprefinerycnt(EQI_HEAD_MID); if((.@r==7)||(.@r==8)){ bonus bCritical,12; bonus bHit,12; } if(.@r>=9){ bonus bMaxHP,1200; bonus bMaxSP,120; } }
19048:1730:1752,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; }
19048:1731:1754,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Freeze,-1000; /* Confirm: Resistance reduction */ }
19048:1732:1756,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus2 bResEff,Eff_Stone,-1000; /* Confirm: Resistance reduction */ }
19048:1733:1755,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; /* if (getequiprefinerycnt(EQI_HAND_R) >= 10) TO DO: Disable autocast Wind Blade */ }
20135:20136,{ bonus bAllStats,12; }
20756:19026,{ bonus2 bSPGainRace,RC_Fish,10; bonus bHPrecovRate,(getequiprefinerycnt(EQI_GARMENT)*5); bonus3 bAddMonsterDropItem,551,RC_Fish,(1+getequiprefinerycnt(EQI_GARMENT)); bonus2 bAddItemHealRate,551,5; }
22059:19026,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
21012:4388,{ bonus5 bAutoSpell,"MG_SOULSTRIKE",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
21012:4335,{ bonus5 bAutoSpell,"WZ_EARTHSPIKE",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
21012:4345,{ bonus5 bAutoSpell,"MG_LIGHTNINGBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
21012:4350,{ bonus5 bAutoSpell,"MG_COLDBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
21012:4380,{ bonus5 bAutoSpell,"MG_FIREBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
21013:4072,{ bonus2 bSubSize,Size_All,15; }
22064:2124,{ bonus bAspd,getequiprefinerycnt(EQI_HAND_L)/3; }
22064:2702,{ if (readparam(bAgi) > 120) bonus bAspd,2; /* Confirm: Bonus value */ }
24012:24013:24014:24015:24016:24017,{ bonus bAllStats,9; }
24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bAtkRate,1; } }
24021:24022:24023,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bMatkRate,1; } }
@ -366,8 +416,8 @@
24072:24075,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
24073:24076,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
24074:24077,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
24078:24079:24080,{ bonus3 bSPDrainRate,10,1+(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)/10),0; }
24081:24082:24083,{ bonus3 bHPDrainRateRace,11,40,2+(getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)/5); }
24078:24079:24080,{ bonus2 bSPDrainRate,10,1+(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)/10); }
24081:24082:24083,{ bonus2 bHPDrainRate,40,2+(getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)/5); }
24084:24085:24086:24087:24088:24089,{ bonus bAllStats,1; .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 45) { bonus bNoGemStone,1; } bonus bUseSPrate,100-.@r; }
24090:24091:24092,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Stone,100; }
24090:24093:24094,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Sleep,100; }
@ -403,8 +453,7 @@
24168:24169:24177,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Formless; }
24168:24169:24178,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Undead; }
24168:24169:24179,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Plant; }
28326:28327,{ bonus bInt,8; bonus bStr,8; }
24180:24181:24182:24183:24184:24185,{ .@refine = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if(.@refine>=45) { bonus bMaxHPrate,(.@refine-60); sc_start4 SC_ENDURE,1,10,0,0,1;} }
24180:24181:24182:24183:24184:24185,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if(.@r>=45) { bonus bMaxHPrate,(.@r-60); sc_start4 SC_ENDURE,1,10,0,0,1;} }
24186:24198,{ bonus2 bSubEle,Ele_Neutral,2; }
24187:24199,{ bonus2 bSubEle,Ele_Dark,2; }
24188:24200,{ bonus2 bSubEle,Ele_Water,2; }
@ -421,7 +470,19 @@
24212:24213,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?10:5); }
24214:24215,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?4:2); }
24217:24218,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) bonus bAspd,1; }
//24223:Enhanced Force Shadow Earring:Enhanced Force Shadow Pendant,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bAtkRate,2;} else if(.@refine)>=20 {bonus bAtkRate,1;} bonus bAtkRate,1; }
24224:24225:24226,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bAtkRate,2;} else if(.@refine)>=20 {bonus bAtkRate,1;} bonus bAtk2,10; }
//24227:Enhanced Soul Earring:Enhanced Soul Pendant,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bMatkRate,2;} else if(.@refine)>=20 {bonus bMatkRate,1;} bonus bMatkRate,1; }
24228:24229:24230,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bMatkRate,2;} else if(.@refine)>=20 {bonus bMatkRate,1;} bonus bMatk,10; }
//24223:Enhanced Force Shadow Earring:Enhanced Force Shadow Pendant,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bAtkRate,2;} else if(.@r)>=20 {bonus bAtkRate,1;} bonus bAtkRate,1; }
24224:24225:24226,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bAtkRate,2;} else if(.@r)>=20 {bonus bAtkRate,1;} bonus bAtk2,10; }
//24227:Enhanced Soul Earring:Enhanced Soul Pendant,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bMatkRate,2;} else if(.@r)>=20 {bonus bMatkRate,1;} bonus bMatkRate,1; }
24228:24229:24230,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bMatkRate,2;} else if(.@r)>=20 {bonus bMatkRate,1;} bonus bMatk,10; }
24231:24232,{ bonus bFlee,5; if (getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)>=15) { bonus bAspd,1; } }
24234:24235,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Large,2; bonus2 bMagicAddSize,Size_Large,2; } }
24236:24237,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Medium,2; bonus2 bMagicAddSize,Size_Medium,2; } }
24238:24239,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Small,2; bonus2 bMagicAddSize,Size_Small,2; } }
24243:24244:24245,{ bonus bDelayrate,(getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)>=25?-5:-1); }
28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
28326:28327,{ bonus bInt,8; bonus bStr,8; }
28372:1433,{ .@r = getequiprefinerycnt(EQI_HAND_R)/2*7; bonus2 bSkillAtk,"LG_CANNONSPEAR",.@r; bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@r; }
28372:2153,{ .@r = getequiprefinerycnt(EQI_HAND_R)/6*8; bonus2 bSkillAtk,"LG_SHIELDPRESS",.@r; }
28372:18823,{ bonus2 bSkillAtk,"CR_GRANDCROSS",BaseLevel; bonus2 bVariableCastrate,"CR_GRANDCROSS",-BaseLevel*2; bonus2 bSkillAtk,"CR_GRANDCROSS",BaseLevel/30; bonus2 bSkillUseSP,"CR_GRANDCROSS",-(BaseLevel/30)*10; }
28602:2677,{ bonus2 bVariableCastrate,"PR_MAGNUS",-25; bonus bHealPower,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus bIgnoreMDefRace,RC_All; }",getequiprefinerycnt(EQI_HAND_R)*20,2000,BF_SHORT|BF_NORMAL; /* Confirm: Success rate and duration */ }

File diff suppressed because it is too large Load Diff

View File

@ -1,41 +1,91 @@
// Item Delay Database
//
// Structure of Database:
// Item ID,Delay in Milliseconds
// <ItemID>,<Delay>{,<SC_GroupID>}
//
// NOTE:
// There is a max concurrent number of entries set in src/map/itemdb.h as MAX_ITEMDELAYS.
// <ItemID>
// ID of item that will has reuse delay.
// <Delay>
// Re-use delay in milliseconds.
// <SC_GroupID>
// SC (status change) group for the item.
// Example for SC_REUSE_LIMIT_MTF
// 12658,10000,620 // Transformation Scroll(Deviruchi)
// 12659,10000,620 // Transformation Scroll(Raydric)
// -> 12658 has reuse delay for 10 seconds, and also,
// 12659 cannot be used when this delay is active.
// Since this is optional, default is -1 will ignores the
// delay group and the delay will be stored in character's
// data that has limit set in src/map/itemdb.h as MAX_ITEMDELAYS.
// SC_REUSE_REFRESH 317
12725,120000,317 //Runstone_Nosiege
// SC_REUSE_LIMIT_A 609
14538,300000,608 //Glass_Of_Illusion
// SC_REUSE_LIMIT_B 610
12596,180000,609 //Magic_Candy
14586,180000,609 //Spark_Candy
// SC_REUSE_LIMIT_C 611
12208,60000,610 //Battle_Manual
// SC_REUSE_LIMIT_D 612
12210,60000,611 //Bubble_Gum
// SC_REUSE_LIMIT_E 613
11522,1000,612 //Red_Raffle_Sap
11523,2000,612 //Yellow_Raffle_Sap
11524,3000,612 //White_Raffle_Sap
// SC_REUSE_LIMIT_F 614
607,5000,613 //Yggdrasil_Berry
// SC_REUSE_LIMIT_G 615
608,3000,614 //Yggdrasil_Seed
22559,3000,614 //Mock_Strawberry
// SC_REUSE_LIMIT_H 616
11525,5000,615 //Mora_Hip_Tea
// SC_REUSE_LIMIT_ASPD_POTION 617
//12684,0,616 //ASPD_Potion //! CHECKME: Need confirmation!
// SC_REUSE_LIMIT_MTF 618
12658,10000,620 //Transformation Scroll(Deviruchi)
12659,10000,620 //Transformation Scroll(Raydric)
12660,10000,620 //Transformation Scroll(Mavka)
12661,10000,620 //Transformation Scroll(Marduk)
12662,10000,620 //Transformation Scroll(Banshee)
12663,10000,620 //Transformation Scroll(Poring)
12664,10000,620 //Transformation Scroll(Golem)
// SC_ALL_RIDING_REUSE_LIMIT 619
12622,3000,621 //Boarding_Halter
// SC_SEARCH_STORE_INFO 620
12580,0,624 //Vending_Search_Scroll
12581,0,624 //Vending_Search_Scroll2
12591,0,624 //Uni_Catalog_Bz
// SC_REUSE_MILLENNIUMSHIELD 621
12727,60000,625 //Runstone_Verkana
// SC_REUSE_CRUSHSTRIKE 622
12726,30000,626 //Runstone_Rhydo
// SC_REUSE_STORMBLAST 623
12732,1000,627 //Runstone_Pertz
// Misc
//12202,60000 //Str_Dish10_
//12203,60000 //Agi_Dish10_
//12204,60000 //Int_Dish10_
//12205,60000 //Dex_Dish10_
//12206,60000 //Luk_Dish10_
//12207,60000 //Vit_Dish10_
12208,60000 //Battle_Manual
12210,60000 //Bubble_Gum
14538,300000 //Glass_Of_Illusion
607,5000 //Yggdrasil_Berry
608,3000 //Yggdrasil_Seed
// Bifrost Items
11522,1000 //Red_Raffle_Sap
11523,2000 //Yellow_Raffle_Sap
11524,3000 //White_Raffle_Sap
11525,5000 //Mora_Hip_Tea
12658,10000 //Transformation Scroll(Deviruchi)
12659,10000 //Transformation Scroll(Raydric)
12660,10000 //Transformation Scroll(Mavka)
12661,10000 //Transformation Scroll(Marduk)
12662,10000 //Transformation Scroll(Banshee)
12663,10000 //Transformation Scroll(Poring)
12664,10000 //Transformation Scroll(Golem)
// FIX ME! Delays need confirmation.
12968,300000 //Emergency_Scroll1
12969,300000 //Emergency_Scroll2
12970,300000 //Emergency_Scroll3
12596,300000 //Magic_Candy
14586,300000 //Spark_Candy
12968,300000 //Emergency_Scroll1 //! CHECKME: Need confirmation!
12969,300000 //Emergency_Scroll2 //! CHECKME: Need confirmation!
12970,300000 //Emergency_Scroll3 //! CHECKME: Need confirmation!
22508,7200000 //Para_Team_Mark_

File diff suppressed because it is too large Load Diff

View File

@ -612,174 +612,188 @@ IG_A_Grade_Coin_Bag,6418,3 // A Grade Coin
IG_A_Grade_Coin_Bag,6419,2 // B Grade Coin
IG_A_Grade_Coin_Bag,6420,1 // C Grade Coin
// Advanced Weapons Box
IG_Advanced_Weapons_Box,1130,1 // Nagan
IG_Advanced_Weapons_Box,1131,1 // Ice_Falchon
IG_Advanced_Weapons_Box,1130,2 // Nagan
IG_Advanced_Weapons_Box,1131,7 // Ice_Falchon
IG_Advanced_Weapons_Box,1132,1 // Edge
IG_Advanced_Weapons_Box,1133,1 // Fire_Brand
IG_Advanced_Weapons_Box,1134,1 // Caesar's Sword
IG_Advanced_Weapons_Box,1135,1 // Cutlas
IG_Advanced_Weapons_Box,1136,1 // Solar_Sword
IG_Advanced_Weapons_Box,1137,1 // Excalibur
IG_Advanced_Weapons_Box,1138,1 // Mysteltainn
IG_Advanced_Weapons_Box,1139,1 // Tirfing
IG_Advanced_Weapons_Box,1140,1 // Byeollungum
IG_Advanced_Weapons_Box,1141,1 // Immaterial_Sword
IG_Advanced_Weapons_Box,1148,1 // Star_Dust_Blade
IG_Advanced_Weapons_Box,1164,1 // Muramasa
IG_Advanced_Weapons_Box,1165,1 // Masamune
IG_Advanced_Weapons_Box,1166,1 // Dragon_Slayer
IG_Advanced_Weapons_Box,1167,1 // Schweizersabel
IG_Advanced_Weapons_Box,1168,1 // Zweihander
IG_Advanced_Weapons_Box,1169,1 // Executioner
IG_Advanced_Weapons_Box,1170,1 // Katzbalger
IG_Advanced_Weapons_Box,1171,1 // Zweihander_
IG_Advanced_Weapons_Box,1175,1 // Altas_Weapon
IG_Advanced_Weapons_Box,1176,1 // Muscle_Cutter
IG_Advanced_Weapons_Box,1178,1 // Schweizersabel_
IG_Advanced_Weapons_Box,1179,1 // Executioner__
IG_Advanced_Weapons_Box,1180,1 // Dragon_Slayer_
IG_Advanced_Weapons_Box,1181,1 // Tae_Goo_Lyeon
IG_Advanced_Weapons_Box,1182,1 // Bloody_Eater
IG_Advanced_Weapons_Box,1133,7 // Fire_Brand
IG_Advanced_Weapons_Box,1134,7 // Caesar's Sword
IG_Advanced_Weapons_Box,1135,7 // Cutlas
IG_Advanced_Weapons_Box,1136,7 // Solar_Sword
IG_Advanced_Weapons_Box,1137,2 // Excalibur
IG_Advanced_Weapons_Box,1138,7 // Mysteltainn
IG_Advanced_Weapons_Box,1139,7 // Tirfing
IG_Advanced_Weapons_Box,1140,7 // Byeollungum
IG_Advanced_Weapons_Box,1141,7 // Immaterial_Sword
IG_Advanced_Weapons_Box,1148,7 // Star_Dust_Blade
IG_Advanced_Weapons_Box,1164,7 // Muramasa
IG_Advanced_Weapons_Box,1165,2 // Masamune
IG_Advanced_Weapons_Box,1166,7 // Dragon_Slayer
IG_Advanced_Weapons_Box,1167,7 // Schweizersabel
IG_Advanced_Weapons_Box,1168,7 // Zweihander
IG_Advanced_Weapons_Box,1169,2 // Executioner
IG_Advanced_Weapons_Box,1170,7 // Katzbalger
IG_Advanced_Weapons_Box,1171,7 // Zweihander_
IG_Advanced_Weapons_Box,1175,2 // Altas_Weapon
IG_Advanced_Weapons_Box,1176,7 // Muscle_Cutter
IG_Advanced_Weapons_Box,1178,7 // Schweizersabel_
IG_Advanced_Weapons_Box,1179,2 // Executioner__
IG_Advanced_Weapons_Box,1180,7 // Dragon_Slayer_
IG_Advanced_Weapons_Box,1181,7 // Tae_Goo_Lyeon
IG_Advanced_Weapons_Box,1182,7 // Bloody_Eater
IG_Advanced_Weapons_Box,1185,1 // Violet_Fear
IG_Advanced_Weapons_Box,1186,1 // Death_Guidance
IG_Advanced_Weapons_Box,1188,1 // Veteran_Sword
IG_Advanced_Weapons_Box,1189,1 // Krasnaya
IG_Advanced_Weapons_Box,1196,1 // Chrome_Metal_Two-Hand_Sword
IG_Advanced_Weapons_Box,1223,1 // Forturn_Sword
IG_Advanced_Weapons_Box,1224,1 // Sword_Breaker
IG_Advanced_Weapons_Box,1225,1 // Mail_Breaker
IG_Advanced_Weapons_Box,1227,1 // Weeder_Knife
IG_Advanced_Weapons_Box,1228,1 // Combat_Knife
IG_Advanced_Weapons_Box,1229,1 // Kitchen_Knife
IG_Advanced_Weapons_Box,1188,7 // Veteran_Sword
IG_Advanced_Weapons_Box,1189,5 // Krasnaya
IG_Advanced_Weapons_Box,1196,2 // Chrome_Metal_Two-Hand_Sword
IG_Advanced_Weapons_Box,1223,2 // Forturn_Sword
IG_Advanced_Weapons_Box,1224,4 // Sword_Breaker
IG_Advanced_Weapons_Box,1227,5 // Weeder_Knife
IG_Advanced_Weapons_Box,1228,2 // Combat_Knife
IG_Advanced_Weapons_Box,1229,5 // Kitchen_Knife
IG_Advanced_Weapons_Box,1230,1 // Ice_Pick
IG_Advanced_Weapons_Box,1231,1 // Bazerald
IG_Advanced_Weapons_Box,1232,1 // Assasin_Dagger
IG_Advanced_Weapons_Box,1233,1 // Exorciser
IG_Advanced_Weapons_Box,1234,1 // Moonlight_Dagger
IG_Advanced_Weapons_Box,1235,1 // Azoth
IG_Advanced_Weapons_Box,1236,1 // Sucsamad
IG_Advanced_Weapons_Box,1237,1 // Grimtooth
IG_Advanced_Weapons_Box,1240,1 // Princess_Knife
IG_Advanced_Weapons_Box,1241,1 // Cursed_Dagger
IG_Advanced_Weapons_Box,1242,1 // Counter_Dagger
IG_Advanced_Weapons_Box,1244,1 // Holy_Dagger
IG_Advanced_Weapons_Box,1232,5 // Assasin_Dagger
IG_Advanced_Weapons_Box,1233,5 // Exorciser
IG_Advanced_Weapons_Box,1234,2 // Moonlight_Dagger
IG_Advanced_Weapons_Box,1235,5 // Azoth
IG_Advanced_Weapons_Box,1236,5 // Sucsamad
IG_Advanced_Weapons_Box,1237,5 // Grimtooth
IG_Advanced_Weapons_Box,1240,5 // Princess_Knife
IG_Advanced_Weapons_Box,1241,5 // Cursed_Dagger
IG_Advanced_Weapons_Box,1242,5 // Counter_Dagger
IG_Advanced_Weapons_Box,1244,5 // Holy_Dagger
IG_Advanced_Weapons_Box,1261,1 // Infiltrator
IG_Advanced_Weapons_Box,1263,1 // Unholy_Touch
IG_Advanced_Weapons_Box,1265,1 // Bloody_Roar
IG_Advanced_Weapons_Box,1263,5 // Unholy_Touch
IG_Advanced_Weapons_Box,1265,2 // Bloody_Roar
IG_Advanced_Weapons_Box,1266,1 // Infiltrator_
IG_Advanced_Weapons_Box,1268,1 // Wild_Beast_Claw
IG_Advanced_Weapons_Box,1269,1 // Inverse_Scale
IG_Advanced_Weapons_Box,1270,1 // Drill_Katar
IG_Advanced_Weapons_Box,1271,1 // Blood_Tears
IG_Advanced_Weapons_Box,1284,1 // Krishna
IG_Advanced_Weapons_Box,1285,1 // Chakram
IG_Advanced_Weapons_Box,1305,1 // Cleaver
IG_Advanced_Weapons_Box,1311,1 // Vecer_Axe
IG_Advanced_Weapons_Box,1363,1 // Bloody_Axe
IG_Advanced_Weapons_Box,1364,1 // Great_Axe
IG_Advanced_Weapons_Box,1365,1 // Sabbath
IG_Advanced_Weapons_Box,1268,2 // Wild_Beast_Claw
IG_Advanced_Weapons_Box,1269,2 // Inverse_Scale
IG_Advanced_Weapons_Box,1270,5 // Drill_Katar
IG_Advanced_Weapons_Box,1271,5 // Blood_Tears
IG_Advanced_Weapons_Box,1284,5 // Krishna
IG_Advanced_Weapons_Box,1285,5 // Chakram
IG_Advanced_Weapons_Box,1305,5 // Cleaver
IG_Advanced_Weapons_Box,1311,5 // Vecer_Axe
IG_Advanced_Weapons_Box,1363,2 // Bloody_Axe
IG_Advanced_Weapons_Box,1364,5 // Great_Axe
IG_Advanced_Weapons_Box,1365,5 // Sabbath
IG_Advanced_Weapons_Box,1366,1 // Light Epsilon
IG_Advanced_Weapons_Box,1367,1 // Slaughter
IG_Advanced_Weapons_Box,1368,1 // Tomahawk
IG_Advanced_Weapons_Box,1369,1 // Guillotine
IG_Advanced_Weapons_Box,1367,5 // Slaughter
IG_Advanced_Weapons_Box,1368,5 // Tomahawk
IG_Advanced_Weapons_Box,1369,2 // Guillotine
IG_Advanced_Weapons_Box,1370,1 // Doom_Slayer
IG_Advanced_Weapons_Box,1371,1 // Doom_Slayer_
IG_Advanced_Weapons_Box,1376,1 // Heart_Breaker
IG_Advanced_Weapons_Box,1377,1 // Hurricane_Fury
IG_Advanced_Weapons_Box,1385,1 // Bradium_Stonehammer
IG_Advanced_Weapons_Box,1387,1 // Giant_Axe
IG_Advanced_Weapons_Box,1413,1 // Gungnir
IG_Advanced_Weapons_Box,1414,1 // Gelerdria
IG_Advanced_Weapons_Box,1415,1 // Brocca
IG_Advanced_Weapons_Box,1416,1 // Tjungkuletti
IG_Advanced_Weapons_Box,1418,1 // Gungnir_
IG_Advanced_Weapons_Box,1420,1 // Long_Horn
IG_Advanced_Weapons_Box,1421,1 // Battle_Hook
IG_Advanced_Weapons_Box,1385,5 // Bradium_Stonehammer
IG_Advanced_Weapons_Box,1387,2 // Giant_Axe
IG_Advanced_Weapons_Box,1413,5 // Gungnir
IG_Advanced_Weapons_Box,1414,5 // Gelerdria
IG_Advanced_Weapons_Box,1415,2 // Brocca
IG_Advanced_Weapons_Box,1416,5 // Tjungkuletti
IG_Advanced_Weapons_Box,1418,5 // Gungnir_
IG_Advanced_Weapons_Box,1420,5 // Long_Horn
IG_Advanced_Weapons_Box,1421,2 // Battle_Hook
IG_Advanced_Weapons_Box,1422,1 // Hunting_Spear
IG_Advanced_Weapons_Box,1433,1 // Imperial_Spear
IG_Advanced_Weapons_Box,1466,1 // Crescent_Scythe
IG_Advanced_Weapons_Box,1467,1 // Bill_Guisarme
IG_Advanced_Weapons_Box,1468,1 // Zephyrus
IG_Advanced_Weapons_Box,1469,1 // Longinus's_Spear
IG_Advanced_Weapons_Box,1470,1 // Brionac
IG_Advanced_Weapons_Box,1471,1 // Hell_Fire
IG_Advanced_Weapons_Box,1473,1 // Wizardy_Staff
IG_Advanced_Weapons_Box,1474,1 // Gae_Bolg
IG_Advanced_Weapons_Box,1477,1 // Spectral_Spear
IG_Advanced_Weapons_Box,1478,1 // Ahlspiess
IG_Advanced_Weapons_Box,1479,1 // Spectral_Spear_
IG_Advanced_Weapons_Box,1480,1 // Gae_Bolg_
IG_Advanced_Weapons_Box,1481,1 // Zephyrus_
IG_Advanced_Weapons_Box,1484,1 // Cardo
IG_Advanced_Weapons_Box,1523,1 // Spike
IG_Advanced_Weapons_Box,1524,1 // Golden_Mace
IG_Advanced_Weapons_Box,1525,1 // Long_Mace
IG_Advanced_Weapons_Box,1527,1 // Quadrille
IG_Advanced_Weapons_Box,1433,2 // Imperial_Spear
IG_Advanced_Weapons_Box,1466,5 // Crescent_Scythe
IG_Advanced_Weapons_Box,1467,5 // Bill_Guisarme
IG_Advanced_Weapons_Box,1468,5 // Zephyrus
IG_Advanced_Weapons_Box,1469,5 // Longinus's_Spear
IG_Advanced_Weapons_Box,1470,5 // Brionac
IG_Advanced_Weapons_Box,1471,5 // Hell_Fire
IG_Advanced_Weapons_Box,1473,5 // Wizardy_Staff
IG_Advanced_Weapons_Box,1474,5 // Gae_Bolg
IG_Advanced_Weapons_Box,1477,5 // Spectral_Spear
IG_Advanced_Weapons_Box,1478,5 // Ahlspiess
IG_Advanced_Weapons_Box,1479,5 // Spectral_Spear_
IG_Advanced_Weapons_Box,1480,5 // Gae_Bolg_
IG_Advanced_Weapons_Box,1481,5 // Zephyrus_
IG_Advanced_Weapons_Box,1484,2 // Cardo
IG_Advanced_Weapons_Box,1523,2 // Spike
IG_Advanced_Weapons_Box,1524,5 // Golden_Mace
IG_Advanced_Weapons_Box,1525,5 // Long_Mace
IG_Advanced_Weapons_Box,1527,5 // Quadrille
IG_Advanced_Weapons_Box,1528,1 // Grand_Cross
IG_Advanced_Weapons_Box,1538,1 // Spike_
IG_Advanced_Weapons_Box,1539,1 // Golden_Mace_
IG_Advanced_Weapons_Box,1538,2 // Spike_
IG_Advanced_Weapons_Box,1539,5 // Golden_Mace_
IG_Advanced_Weapons_Box,1540,1 // Grand_Cross_
IG_Advanced_Weapons_Box,1541,1 // Nemesis
IG_Advanced_Weapons_Box,1557,1 // Book_Of_The_Apocalypse
IG_Advanced_Weapons_Box,1558,1 // Girl's_Diary
IG_Advanced_Weapons_Box,1559,1 // Legacy_Of_Dragon
IG_Advanced_Weapons_Box,1561,1 // Hardcover_Book
IG_Advanced_Weapons_Box,1562,1 // Battlefield_Textbook
IG_Advanced_Weapons_Box,1541,5 // Nemesis
IG_Advanced_Weapons_Box,1557,5 // Book_Of_The_Apocalypse
IG_Advanced_Weapons_Box,1558,5 // Girl's_Diary
IG_Advanced_Weapons_Box,1559,5 // Legacy_Of_Dragon
IG_Advanced_Weapons_Box,1561,5 // Hardcover_Book
IG_Advanced_Weapons_Box,1562,5 // Battlefield_Textbook
IG_Advanced_Weapons_Box,1565,1 // Ledger of Death
IG_Advanced_Weapons_Box,1616,1 // Wing Staff
IG_Advanced_Weapons_Box,1629,1 // Gentleman's Staff
IG_Advanced_Weapons_Box,1631,1 // Holy_Stick
IG_Advanced_Weapons_Box,1616,5 // Wing Staff
IG_Advanced_Weapons_Box,1629,5 // Gentleman's Staff
IG_Advanced_Weapons_Box,1631,5 // Holy_Stick
IG_Advanced_Weapons_Box,1636,1 // Thorn_Staff
IG_Advanced_Weapons_Box,1637,1 // Eraser
IG_Advanced_Weapons_Box,1643,1 // Dead_Tree_Cane
IG_Advanced_Weapons_Box,1654,1 // Mental_Stick
IG_Advanced_Weapons_Box,1719,1 // Bow_Of_Roguemaster
IG_Advanced_Weapons_Box,1720,1 // Bow_Of_Rudra
IG_Advanced_Weapons_Box,1722,1 // Ballista
IG_Advanced_Weapons_Box,1724,1 // Dragon_Wing
IG_Advanced_Weapons_Box,1725,1 // Bow_Of_Minstrel
IG_Advanced_Weapons_Box,1727,1 // Balistar_
IG_Advanced_Weapons_Box,1737,1 // Ixion_Wing
IG_Advanced_Weapons_Box,1740,1 // Nepenthes_Bow
IG_Advanced_Weapons_Box,1741,1 // Cursed_Lyre
IG_Advanced_Weapons_Box,1745,1 // Falken_Blitz
IG_Advanced_Weapons_Box,1813,1 // Kaiser_Knuckle
IG_Advanced_Weapons_Box,1643,5 // Dead_Tree_Cane
IG_Advanced_Weapons_Box,1654,2 // Mental_Stick
IG_Advanced_Weapons_Box,1719,2 // Bow_Of_Roguemaster
IG_Advanced_Weapons_Box,1720,2 // Bow_Of_Rudra
IG_Advanced_Weapons_Box,1722,2 // Ballista
IG_Advanced_Weapons_Box,1724,5 // Dragon_Wing
IG_Advanced_Weapons_Box,1725,5 // Bow_Of_Minstrel
IG_Advanced_Weapons_Box,1727,2 // Balistar_
IG_Advanced_Weapons_Box,1737,5 // Ixion_Wing
IG_Advanced_Weapons_Box,1740,5 // Nepenthes_Bow
IG_Advanced_Weapons_Box,1741,5 // Cursed_Lyre
IG_Advanced_Weapons_Box,1745,5 // Falken_Blitz
IG_Advanced_Weapons_Box,1813,5 // Kaiser_Knuckle
IG_Advanced_Weapons_Box,1814,1 // Berserk
IG_Advanced_Weapons_Box,1815,1 // Claw_Of_Garm
IG_Advanced_Weapons_Box,1815,5 // Claw_Of_Garm
IG_Advanced_Weapons_Box,1816,1 // Berserk_
IG_Advanced_Weapons_Box,1830,1 // Great_King's_Dance
IG_Advanced_Weapons_Box,1913,1 // Electronic_Guitar
IG_Advanced_Weapons_Box,1918,1 // Oriental_Lute
IG_Advanced_Weapons_Box,1830,2 // Sura's Rampage
IG_Advanced_Weapons_Box,1913,5 // Electronic_Guitar
IG_Advanced_Weapons_Box,1918,5 // Oriental_Lute
IG_Advanced_Weapons_Box,1920,1 // Berserk_Guitar
IG_Advanced_Weapons_Box,1922,1 // Oriental_Lute_
IG_Advanced_Weapons_Box,1926,1 // Harp_Of_Nepenthes
IG_Advanced_Weapons_Box,1930,1 // Green_Whistle
IG_Advanced_Weapons_Box,1962,1 // Lariat_Whip
IG_Advanced_Weapons_Box,1963,1 // Rapture_Rose
IG_Advanced_Weapons_Box,1964,1 // Chemeti_Whip
IG_Advanced_Weapons_Box,1969,1 // Blade_Whip
IG_Advanced_Weapons_Box,1970,1 // Queen's_Whip
IG_Advanced_Weapons_Box,1972,1 // Electric_Eel
IG_Advanced_Weapons_Box,1973,1 // Sea_Witch_Foot
IG_Advanced_Weapons_Box,1974,1 // Carrot_Whip
IG_Advanced_Weapons_Box,1976,1 // Queen's_Whip_
IG_Advanced_Weapons_Box,1979,1 // Stem_Of_Nepenthes
IG_Advanced_Weapons_Box,1984,1 // Stem_Whip
IG_Advanced_Weapons_Box,1922,5 // Oriental_Lute_
IG_Advanced_Weapons_Box,1926,5 // Harp_Of_Nepenthes
IG_Advanced_Weapons_Box,1930,2 // Green_Whistle
IG_Advanced_Weapons_Box,1962,5 // Lariat_Whip
IG_Advanced_Weapons_Box,1963,5 // Rapture_Rose
IG_Advanced_Weapons_Box,1964,5 // Chemeti_Whip
IG_Advanced_Weapons_Box,1969,5 // Blade_Whip
IG_Advanced_Weapons_Box,1970,5 // Queen's_Whip
IG_Advanced_Weapons_Box,1972,5 // Electric_Eel
IG_Advanced_Weapons_Box,1973,5 // Sea_Witch_Foot
IG_Advanced_Weapons_Box,1974,5 // Carrot_Whip
IG_Advanced_Weapons_Box,1976,5 // Queen's_Whip_
IG_Advanced_Weapons_Box,1979,5 // Stem_Of_Nepenthes
IG_Advanced_Weapons_Box,1984,2 // Stem_Whip
IG_Advanced_Weapons_Box,1985,1 // Rose_Vine
IG_Advanced_Weapons_Box,2000,1 // Destruction_Rod
IG_Advanced_Weapons_Box,2001,1 // Divine_Cross
IG_Advanced_Weapons_Box,2004,1 // Kronos
IG_Advanced_Weapons_Box,2005,1 // Dea_Staff
IG_Advanced_Weapons_Box,13046,1 // Krieg
IG_Advanced_Weapons_Box,13047,1 // Weihna
IG_Advanced_Weapons_Box,13061,1 // Black_Wing
IG_Advanced_Weapons_Box,13062,1 // Ancient_Dagger
IG_Advanced_Weapons_Box,13421,1 // Ruber
IG_Advanced_Weapons_Box,13431,1 // Chrome_Metal_Sword
IG_Advanced_Weapons_Box,16000,1 // Erde
IG_Advanced_Weapons_Box,16001,1 // Red_Square_Bag
IG_Advanced_Weapons_Box,16010,1 // Red_Ether_Bag
IG_Advanced_Weapons_Box,18103,1 // Mystic_Bow
IG_Advanced_Weapons_Box,2001,5 // Divine_Cross
IG_Advanced_Weapons_Box,2004,5 // Kronos
IG_Advanced_Weapons_Box,2005,5 // Dea_Staff
IG_Advanced_Weapons_Box,13046,5 // Krieg
IG_Advanced_Weapons_Box,13047,5 // Weihna
IG_Advanced_Weapons_Box,13061,5 // Black_Wing
IG_Advanced_Weapons_Box,13062,1 // Ancient_Dagger
IG_Advanced_Weapons_Box,13421,5 // Ruber
IG_Advanced_Weapons_Box,13431,2 // Chrome_Metal_Sword
IG_Advanced_Weapons_Box,16000,5 // Erde
IG_Advanced_Weapons_Box,16001,5 // Red_Square_Bag
IG_Advanced_Weapons_Box,16010,5 // Red_Ether_Bag
IG_Advanced_Weapons_Box,18103,5 // Mystic_Bow
IG_Advanced_Weapons_Box,1476,1 // Crescent_Scythe_
IG_Advanced_Weapons_Box,1526,5 // Slash
IG_Advanced_Weapons_Box,1290,1 // Agent_Katar
IG_Advanced_Weapons_Box,1291,1 // Guillotine_Katar
IG_Advanced_Weapons_Box,1392,1 // Ygnus_Stale
IG_Advanced_Weapons_Box,1393,1 // End_Sektura
IG_Advanced_Weapons_Box,1435,1 // Cannon_Spear
IG_Advanced_Weapons_Box,1584,1 // Chilly_Spell_Book
IG_Advanced_Weapons_Box,1659,1 // Recovery_Light
IG_Advanced_Weapons_Box,13069,1 // Aztoe_Nail
IG_Advanced_Weapons_Box,13070,1 // Scarletto_Nail
IG_Advanced_Weapons_Box,16017,1 // Bloody_Cross
IG_Advanced_Weapons_Box,18109,1 // Catapult
IG_Advanced_Weapons_Box,18110,1 // Big_CrossBow
IG_Advanced_Weapons_Box,18111,1 // Creeper_Bow
// Splendid Box
IG_Splendid_Box,1189,1 // Krasnaya
IG_Splendid_Box,1191,1 // Alca Bringer

View File

@ -106,3 +106,51 @@
// Zone 7 - Towns
//----------------------------------------------------------------------------
14529,2048 //Greed_Scroll
//----------------------------------------------------------------------------
// WoE TE Items - Only can be used in WoE TE maps
// Assumed WOE TE maps are restricted zone 8.
// TODO: &1 (Normal) is currently removed since if the map is restricted, it'll fail.
//----------------------------------------------------------------------------
//1299,4094 // TE_Woe_Katar
//1319,4094 // TE_Woe_Axe
//1399,4094 // TE_Woe_Two_Handed_Axe
//1437,4094 // TE_Woe_Pike
//1495,4094 // TE_Woe_Lance
//1591,4094 // TE_Woe_Book
//1667,4094 // TE_Woe_Staff
//1834,4094 // TE_Woe_Fist
//1932,4094 // TE_Woe_Guitar
//1987,4094 // TE_Woe_Rope
//2019,4094 // TE_Woe_Two_Hand_Staff
//2178,4094 // TE_Woe_Buckler
//2179,4094 // TE_Woe_Shield
//2180,4094 // TE_Woe_Magic_Guard
//2496,4094 // TE_Woe_Shoes
//2497,4094 // TE_Woe_Boots
//2498,4094 // TE_Woe_Magic_Sandal
//2944,4094 // TE_Ring_Of_Protection
//2945,4094 // TE_Ring_Of_Rage
//2946,4094 // TE_Ring_Of_Defiance
//11557,4094 // TE_White_Potion
//11558,4094 // TE_White_Slim_Potion
//13083,4094 // TE_Woe_Knife
//13117,4094 // TE_Woe_Pistol
//13184,4094 // TE_Woe_Rifle
//13185,4094 // TE_Woe_Gatling
//13186,4094 // TE_Woe_Shotgun
//13187,4094 // TE_Woe_Grenade
//13317,4094 // TE_Woe_Huuma
//13439,4094 // TE_Woe_Sword
//15062,4094 // TE_Woe_Coat
//15063,4094 // TE_Woe_Chain_Mail
//15064,4094 // TE_Woe_Mage_Coat
//16025,4094 // TE_Woe_Mace
//18118,4094 // TE_Woe_Bow
//18732,4094 // TE_Woe_Cap
//18733,4094 // TE_Woe_Bone_Helm
//18734,4094 // TE_Woe_Magic_Eyes
//20702,4094 // TE_Woe_Muffler
//20703,4094 // TE_Woe_Manteau
//20704,4094 // TE_Woe_Magic_Manteau
//21006,4094 // TE_Woe_Two_Hand_Sword

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,52 @@
// Bloody Branch Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Baphomet,1039
1038,Osiris,500000
1039,Baphomet,500000
1046,Doppelganger,500000
1059,Mistress,500000
1086,Golden Thief Bug,500000
1087,Orc Hero,500000
1096,Angeling,500000
1112,Drake,500000
1115,Eddga,500000
1120,Ghostring,500000
1147,Maya,500000
1150,Moonlight Flower,500000
1157,Pharaoh,500000
1159,Phreeoni,500000
1190,Orc Lord,500000
1251,Stormy Knight,500000
1252,Hatii,500000
1272,Dark Lord,500000
1312,Turtle General,500000
1373,Lord of the Dead,500000
1388,Arc Angeling,500000
1389,Dracula,500000
1418,Evil Snake Lord,500000
1492,Samurai Specter,500000
1511,Amon Ra,500000
1582,Deviling,500000
1583,Tao Gunka,500000
1623,RSX-0806,500000
1630,White Lady,500000
1658,Egnigem Cenia,500000
1685,Vesper,500000
1688,Lady Tanee,500000
1708,Thanatos Phantom,500000
1719,Detardeurus,500000
1734,Kiel D-01,500000
1751,Valkyrie Randgris,500000
1768,Gloom Under Night,500000
1779,Ktullanux,500000
1785,Atroce,1000000
1832,Ifrit,500000
1871,Falling Bishop,500000
1873,Beelzebub,500000
1885,Gopinich,500000
2022,Nidhoggur's Shadow,500000
2068,Boitata,500000
2087,Scaraba Queen,500000
MOBG_Bloody_Dead_Branch,0,Baphomet,1039
MOBG_Bloody_Dead_Branch,1038,Osiris,500000
MOBG_Bloody_Dead_Branch,1039,Baphomet,500000
MOBG_Bloody_Dead_Branch,1046,Doppelganger,500000
MOBG_Bloody_Dead_Branch,1059,Mistress,500000
MOBG_Bloody_Dead_Branch,1086,Golden Thief Bug,500000
MOBG_Bloody_Dead_Branch,1087,Orc Hero,500000
MOBG_Bloody_Dead_Branch,1096,Angeling,500000
MOBG_Bloody_Dead_Branch,1112,Drake,500000
MOBG_Bloody_Dead_Branch,1115,Eddga,500000
MOBG_Bloody_Dead_Branch,1120,Ghostring,500000
MOBG_Bloody_Dead_Branch,1147,Maya,500000
MOBG_Bloody_Dead_Branch,1150,Moonlight Flower,500000
MOBG_Bloody_Dead_Branch,1157,Pharaoh,500000
MOBG_Bloody_Dead_Branch,1159,Phreeoni,500000
MOBG_Bloody_Dead_Branch,1190,Orc Lord,500000
MOBG_Bloody_Dead_Branch,1251,Stormy Knight,500000
MOBG_Bloody_Dead_Branch,1252,Hatii,500000
MOBG_Bloody_Dead_Branch,1272,Dark Lord,500000
MOBG_Bloody_Dead_Branch,1312,Turtle General,500000
MOBG_Bloody_Dead_Branch,1373,Lord of the Dead,500000
MOBG_Bloody_Dead_Branch,1388,Arc Angeling,500000
MOBG_Bloody_Dead_Branch,1389,Dracula,500000
MOBG_Bloody_Dead_Branch,1418,Evil Snake Lord,500000
MOBG_Bloody_Dead_Branch,1492,Samurai Specter,500000
MOBG_Bloody_Dead_Branch,1511,Amon Ra,500000
MOBG_Bloody_Dead_Branch,1582,Deviling,500000
MOBG_Bloody_Dead_Branch,1583,Tao Gunka,500000
MOBG_Bloody_Dead_Branch,1623,RSX-0806,500000
MOBG_Bloody_Dead_Branch,1630,White Lady,500000
MOBG_Bloody_Dead_Branch,1658,Egnigem Cenia,500000
MOBG_Bloody_Dead_Branch,1685,Vesper,500000
MOBG_Bloody_Dead_Branch,1688,Lady Tanee,500000
MOBG_Bloody_Dead_Branch,1708,Thanatos Phantom,500000
MOBG_Bloody_Dead_Branch,1719,Detardeurus,500000
MOBG_Bloody_Dead_Branch,1734,Kiel D-01,500000
MOBG_Bloody_Dead_Branch,1751,Valkyrie Randgris,500000
MOBG_Bloody_Dead_Branch,1768,Gloom Under Night,500000
MOBG_Bloody_Dead_Branch,1779,Ktullanux,500000
MOBG_Bloody_Dead_Branch,1785,Atroce,1000000
MOBG_Bloody_Dead_Branch,1832,Ifrit,500000
MOBG_Bloody_Dead_Branch,1871,Falling Bishop,500000
MOBG_Bloody_Dead_Branch,1873,Beelzebub,500000
MOBG_Bloody_Dead_Branch,1885,Gopinich,500000
MOBG_Bloody_Dead_Branch,2022,Nidhoggur's Shadow,500000
MOBG_Bloody_Dead_Branch,2068,Boitata,500000
MOBG_Bloody_Dead_Branch,2087,Scaraba Queen,500000

View File

@ -1,485 +1,485 @@
// Dead Branch Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Scorpion,1001
1001,Scorpion,214285
1002,Poring,1000000
1004,Hornet,357142
1005,Familiar,357142
1007,Fabre,428571
1008,Pupa,71428
1009,Condor,357142
1010,Willow,357142
1011,Chonchon,357142
1012,Roda Frog,357142
1013,Wolf,357142
1014,Spore,357142
1015,Zombie,357142
1016,Archer Skeleton,214285
1018,Creamy,357142
1019,Peco Peco,357142
1020,Mandragora,357142
1023,Orc Warrior,214285
1024,Wormtail,357142
1025,Boa,357142
1026,Munak,214285
1028,Soldier Skeleton,214285
1029,Isis,71428
1030,Anacondaq,214285
1031,Poporing,357142
1032,Verit,214285
1033,Elder Willow,214285
1034,Thara Frog,214285
1035,Hunter Fly,71428
1036,Ghoul,214285
1037,Side Winder,71428
1040,Golem,214285
1041,Mummy,214285
1042,Steel Chonchon,357142
1044,Obeaune,214285
1045,Marc,214285
1047,Peco Peco Egg,71428
1048,Thief Bug Egg,71428
1049,Picky,357142
1050,Picky,357142
1051,Thief Bug,357142
1052,Rocker,357142
1053,Thief Bug Female,357142
1054,Thief Bug Male,357142
1055,Muka,357142
1056,Smokie,357142
1057,Yoyo,357142
1058,Metaller,214285
1060,Bigfoot,214285
1061,Nightmare,71428
1062,Santa Poring,357142
1063,Lunatic,357142
1064,Megalodon,214285
1065,Strouf,214285
1066,Vadon,357142
1067,Cornutus,214285
1068,Hydra,357142
1069,Swordfish,214285
1070,Kukre,357142
1071,Pirate Skeleton,214285
1072,Kaho,71428
1073,Crab,214285
1074,Shellfish,357142
1076,Skeleton,357142
1077,Poison Spore,357142
1078,Red Plant,71428
1079,Blue Plant,71428
1080,Green Plant,71428
1081,Yellow Plant,71428
1082,White Plant,71428
1083,Shining Plant,71428
1084,Black Mushroom,71428
1085,Red Mushroom,71428
1088,Vocal,71428
1089,Toad,71428
1090,Mastering,71428
1091,Dragon Fly,71428
1092,Vagabond Wolf,71428
1093,Eclipse,71428
1094,Ambernite,357142
1095,Andre,357142
1096,Angeling,71428
1097,Ant Egg,71428
1098,Anubis,71428
1099,Argiope,71428
1100,Argos,214285
1101,Baphomet Jr.,71428
1102,Bathory,71428
1103,Caramel,214285
1104,Coco,357142
1105,Deniro,357142
1106,Desert Wolf,214285
1107,Baby Desert Wolf,71428
1108,Deviace,71428
1109,Deviruchi,71428
1110,Dokebi,214285
1111,Drainliar,214285
1113,Drops,357142
1114,Dustiness,214285
1116,Eggyra,214285
1117,Evil Druid,71428
1118,Flora,214285
1119,Frilldora,214285
1120,Ghostring,71428
1121,Giearth,214285
1122,Goblin,214285
1123,Goblin,214285
1124,Goblin,214285
1125,Goblin,214285
1126,Goblin,214285
1127,Hode,214285
1128,Horn,357142
1129,Horong,214285
1130,Jakk,214285
1131,Joker,71428
1132,Khalitzburg,71428
1133,Kobold,214285
1134,Kobold,214285
1135,Kobold,214285
1138,Magnolia,214285
1139,Mantis,214285
1140,Marduk,214285
1141,Marina,214285
1142,Marine Sphere,214285
1143,Marionette,71428
1144,Marse,214285
1145,Martin,357142
1146,Matyr,214285
1148,Medusa,71428
1149,Minorous,71428
1151,Myst,214285
1152,Orc Skeleton,214285
1153,Orc Zombie,214285
1154,Pasana,71428
1155,Petite,71428
1156,Petite,71428
1158,Phen,214285
1160,Piere,357142
1161,Plankton,357142
1163,Raydric,71428
1164,Requiem,214285
1165,Sandman,214285
1166,Savage,214285
1167,Savage Babe,357142
1169,Skeleton Worker,214285
1170,Sohee,214285
1174,Stainer,357142
1175,Tarou,357142
1176,Vitata,214285
1177,Zenorc,214285
1178,Zerom,214285
1179,Whisper,71428
1180,Nine Tail,71428
1182,Thief Mushroom,71428
1185,Whisper,71428
1186,Giant Whisper,71428
1188,Bongun,214285
1189,Orc Archer,71428
1191,Mimic,71428
1192,Wraith,71428
1193,Alarm,71428
1194,Arclouze,71428
1195,Rideword,71428
1196,Skeleton Prisoner,71428
1197,Zombie Prisoner,71428
1199,Punk,71428
1200,Zealotus,71428
1201,Rybio,71428
1202,Phendark,71428
1203,Mysteltainn,71428
1204,Ogretooth,71428
1205,Executioner,71428
1206,Anolian,71428
1207,Sting,71428
1208,Wanderer,71428
1209,Cramp,71428
1211,Brilight,71428
1212,Iron Fist,71428
1213,High Orc,71428
1214,Choco,71428
1215,Stem Worm,214285
1216,Penomena,71428
1219,Abysmal Knight,71428
1242,Marin,357142
1243,Sasquatch,214285
1245,Christmas Goblin,71428
1246,Christmas Cookie,214285
1248,Cruiser,214285
1249,Myst Case,214285
1250,Chepet,71428
1253,Gargoyle,71428
1254,Raggler,214285
1255,Nereid,214285
1256,Pest,214285
1257,Injustice,71428
1258,Goblin Archer,214285
1259,Gryphon,71428
1260,Dark Frame,71428
1261,Wild Rose,214285
1262,Mutant Dragonoid,71428
1263,Wind Ghost,71428
1264,Merman,71428
1265,Cookie,214285
1266,Aster,357142
1267,Carat,71428
1268,Bloody Knight,71428
1269,Clock,71428
1270,Clock Tower Manager,71428
1271,Alligator,71428
1273,Orc Lady,214285
1274,Megalith,71428
1275,Alice,71428
1276,Raydric Archer,71428
1277,Greatest General,214285
1278,Stalactic Golem,71428
1279,Tri Joint,214285
1280,Goblin Steamrider,214285
1281,Sage Worm,71428
1282,Kobold Archer,214285
1283,Chimera,71428
1289,Maya Purple,71428
1290,Skeleton General,71428
1291,Wraith Dead,71428
1292,Mini Demon,71428
1293,Creamy Fear,71428
1294,Killer Mantis,71428
1295,Owl Baron,71428
1296,Kobold Leader,71428
1297,Ancient Mummy,71428
1298,Zombie Master,71428
1299,Goblin Leader,71428
1300,Caterpillar,71428
1301,Am Mut,71428
1302,Dark Illusion,71428
1303,Giant Hornet,71428
1304,Giant Spider,71428
1305,Ancient Worm,71428
1306,Leib Olmai,71428
1307,Cat o' Nine Tails,71428
1308,Panzer Goblin,71428
1309,Gajomart,71428
1310,Majoruros,71428
1311,Gullinbursti,71428
1313,Mobster,71428
1314,Permeter,71428
1315,Assaulter,71428
1316,Solider,71428
1317,Seal,71428
1318,Heater,71428
1319,Freezer,71428
1320,Owl Duke,71428
1321,Dragon Tail,71428
1322,Spring Rabbit,71428
1323,Sea Otter,71428
1365,Apocalypse,71428
1366,Lava Golem,71428
1367,Blazer,71428
1368,Geographer,71428
1369,Grand Peco,71428
1370,Succubus,71428
1371,False Angel,71428
1372,Goat,71428
1374,Incubus,71428
1375,The Paper,71428
1376,Harpy,71428
1377,Elder,71428
1378,Demon Pungus,71428
1379,Nightmare Terror,71428
1380,Driller,71428
1381,Grizzly,71428
1382,Diabolic,71428
1383,Explosion,71428
1384,Deleter,71428
1385,Deleter,71428
1386,Sleeper,71428
1387,Gig,71428
1390,Violy,71428
1391,Galapago,71428
1392,Rotar Zairo,214285
1400,Karakasa,214285
1401,Shinobi,71428
1402,Poison Toad,71428
1403,Firelock Soldier,71428
1404,Miyabi Doll,214285
1405,Tengu,71428
1406,Kapha,71428
1408,Bloody Butterfly,71428
1409,Dumpling Child,214285
1410,Enchanted Peach Tree,71428
1412,Taoist Hermit,71428
1413,Hermit Plant,71428
1415,Baby Leopard,214285
1416,Evil Nymph,71428
1417,Zipper Bear,214285
1493,Dryad,71428
1494,Beetle King,214285
1495,Stone Shooter,71428
1497,Wooden Golem,71428
1498,Wootan Shooter,214285
1499,Wootan Fighter,71428
1500,Parasite,214285
1503,Gibbet,71428
1504,Dullahan,71428
1505,Loli Ruri,71428
1506,Disguise,71428
1507,Bloody Murderer,71428
1508,Quve,214285
1509,Lude,214285
1510,Heirozoist,71428
1512,Yao Jun,71428
1513,Mao Guai,71428
1514,Zhu Po Long,71428
1515,Baby Hatii,71428
1516,Mi Gao,71428
1517,Jing Guai,71428
1519,Green Maiden,71428
1520,Boiled Rice,71428
1582,Deviling,71428
1584,Tamruan,71428
1586,Leaf Cat,71428
1587,Kraben,71428
1613,Metaling,71428
1614,Mineral,71428
1615,Obsidian,71428
1616,Pitman,71428
1617,Old Stove,71428
1618,Ungoliant,71428
1619,Porcellio,71428
1620,Noxious,71428
1621,Venomous,71428
1622,Teddy Bear,71428
1627,Anopheles,71428
1628,Holden,71428
1629,Hill Wind,71428
1631,Green Maiden,71428
1632,Gremlin,71428
1633,Beholder,71428
1634,Seyren Windsor,71428
1635,Eremes Guile,71428
1636,Howard Alt-Eisen,71428
1637,Margaretha Sorin,71428
1638,Cecil Damon,71428
1639,Kathryne Keyron,71428
1652,Egnigem Cenia,71428
1653,Wickebine Tres,71428
1654,Armeyer Dinze,71428
1655,Errende Ebecee,71428
1656,Kavach Icarus,71428
1657,Laurell Weinder,71428
1664,Photon Cannon,71428
1665,Photon Cannon,71428
1666,Photon Cannon,71428
1667,Photon Cannon,71428
1668,Archdam,71428
1669,Dimik,71428
1670,Dimik,71428
1671,Dimik,71428
1672,Dimik,71428
1673,Dimik,71428
1675,Venatu,71428
1676,Venatu,71428
1677,Venatu,71428
1678,Venatu,71428
1679,Venatu,71428
1680,Hill Wind,71428
1681,Gemini-S58,71428
1682,Remover,71428
1686,Orc Baby,71428
1687,Grove,71428
1692,Breeze,71428
1693,Plasma,71428
1694,Plasma,71428
1695,Plasma,71428
1696,Plasma,71428
1699,Ancient Mimic,71428
1703,Lady Solace,71428
1704,Odium of Thanatos,71428
1705,Despero of Thanatos,71428
1706,Maero of Thanatos,71428
1707,Dolor of Thanatos,71428
1713,Acidus,71428
1714,Ferus,71428
1715,Novus,71428
1717,Ferus,71428
1718,Novus,71428
1720,Hydrolancer,71428
1721,Dragon Egg,71428
1736,Aliot,71428
1737,Aliza,71428
1738,Constant,71428
1752,Skogul,71428
1753,Frus,71428
1754,Skeggiold,71428
1755,Skeggiold,71428
1769,Agav,71428
1770,Echio,71428
1771,Vanberk,71428
1772,Isilla,71428
1773,Hodremlin,71428
1774,Seeker,71428
1775,Snowier,71428
1776,Siroma,71428
1777,Ice Titan,71428
1778,Gazeti,71428
1780,Muscipular,71428
1781,Drosera,71428
1782,Roween,71428
1783,Galion,71428
1784,Stapo,142857
1789,Iceicle,71428
1796,Aunoe,142857
1797,Fanat,142857
1829,Sword Guardian,71428
1830,Bow Guardian,71428
1831,Salamander,71428
1833,Kasa,71428
1836,Magmaring,214285
1837,Imp,71428
1838,Knocker,71428
1839,Byrogue,71428
1864,Zombie Slaughter,71428
1865,Ragged Zombie,71428
1866,Hellhound,71428
1867,Banshee,71428
1869,Flame Skull,71428
1870,Necromancer,71428
1872,Hell Fly,71428
1880,Wood Goblin,71428
1881,Les,71428
1882,Baba-Yaga,71428
1883,Uzhas,71428
1884,Mavka,71428
1918,Incarnation of Morroc,71428
1919,Incarnation of Morroc,71428
1920,Incarnation of Morroc,71428
1921,Incarnation of Morroc,71428
1974,Banshee Master,71428
1975,Beholder Master,71428
1976,Cobalt Mineral,71428
1977,Heavy Metaling,71428
1978,Hell Vesper,71428
1979,Zakudam,71428
1986,Tatacho,71428
1987,Centipede,71428
1988,Nepenthes,71428
1989,Hillthrion,71428
1990,Hardrock Mammoth,71428
1991,Tendrillion,71428
1992,Cornus,71428
1993,Naga,71428
1994,Luciola Vespa,71428
1995,Pinguicula,71428
1999,Centipede Larva,71428
2013,Draco,71428
2015,Dark Pinguicula,71428
2016,Aqua Elemental,71428
2017,Rata,71428
2018,Duneyrr,71428
2019,Ancient Tree,71428
2020,Rhyncho,71428
2021,Phylla,71428
2023,Dark Shadow,71428
2024,Bradium Golem,71428
2069,Iara,71428
2070,Piranha,71428
2071,Headless Mule,71428
2072,Jaguar,71428
2073,Toucan,71428
2074,Curupira,71428
2083,One-Horned Scaraba,71428
2084,Two-Horned Scaraba,71428
2085,Antler Scaraba,71428
2086,Rake Scaraba,71428
2088,Scaraba Egg,71428
2089,Scaraba Egg,71428
2090,Antler Scaraba Egg,71428
2091,Rake Scaraba Egg,71428
2092,Dolomedes,71428
2093,Botaring,142857
MOBG_Branch_Of_Dead_Tree,0,Scorpion,1001
MOBG_Branch_Of_Dead_Tree,1001,Scorpion,214285
MOBG_Branch_Of_Dead_Tree,1002,Poring,1000000
MOBG_Branch_Of_Dead_Tree,1004,Hornet,357142
MOBG_Branch_Of_Dead_Tree,1005,Familiar,357142
MOBG_Branch_Of_Dead_Tree,1007,Fabre,428571
MOBG_Branch_Of_Dead_Tree,1008,Pupa,71428
MOBG_Branch_Of_Dead_Tree,1009,Condor,357142
MOBG_Branch_Of_Dead_Tree,1010,Willow,357142
MOBG_Branch_Of_Dead_Tree,1011,Chonchon,357142
MOBG_Branch_Of_Dead_Tree,1012,Roda Frog,357142
MOBG_Branch_Of_Dead_Tree,1013,Wolf,357142
MOBG_Branch_Of_Dead_Tree,1014,Spore,357142
MOBG_Branch_Of_Dead_Tree,1015,Zombie,357142
MOBG_Branch_Of_Dead_Tree,1016,Archer Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1018,Creamy,357142
MOBG_Branch_Of_Dead_Tree,1019,Peco Peco,357142
MOBG_Branch_Of_Dead_Tree,1020,Mandragora,357142
MOBG_Branch_Of_Dead_Tree,1023,Orc Warrior,214285
MOBG_Branch_Of_Dead_Tree,1024,Wormtail,357142
MOBG_Branch_Of_Dead_Tree,1025,Boa,357142
MOBG_Branch_Of_Dead_Tree,1026,Munak,214285
MOBG_Branch_Of_Dead_Tree,1028,Soldier Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1029,Isis,71428
MOBG_Branch_Of_Dead_Tree,1030,Anacondaq,214285
MOBG_Branch_Of_Dead_Tree,1031,Poporing,357142
MOBG_Branch_Of_Dead_Tree,1032,Verit,214285
MOBG_Branch_Of_Dead_Tree,1033,Elder Willow,214285
MOBG_Branch_Of_Dead_Tree,1034,Thara Frog,214285
MOBG_Branch_Of_Dead_Tree,1035,Hunter Fly,71428
MOBG_Branch_Of_Dead_Tree,1036,Ghoul,214285
MOBG_Branch_Of_Dead_Tree,1037,Side Winder,71428
MOBG_Branch_Of_Dead_Tree,1040,Golem,214285
MOBG_Branch_Of_Dead_Tree,1041,Mummy,214285
MOBG_Branch_Of_Dead_Tree,1042,Steel Chonchon,357142
MOBG_Branch_Of_Dead_Tree,1044,Obeaune,214285
MOBG_Branch_Of_Dead_Tree,1045,Marc,214285
MOBG_Branch_Of_Dead_Tree,1047,Peco Peco Egg,71428
MOBG_Branch_Of_Dead_Tree,1048,Thief Bug Egg,71428
MOBG_Branch_Of_Dead_Tree,1049,Picky,357142
MOBG_Branch_Of_Dead_Tree,1050,Picky,357142
MOBG_Branch_Of_Dead_Tree,1051,Thief Bug,357142
MOBG_Branch_Of_Dead_Tree,1052,Rocker,357142
MOBG_Branch_Of_Dead_Tree,1053,Thief Bug Female,357142
MOBG_Branch_Of_Dead_Tree,1054,Thief Bug Male,357142
MOBG_Branch_Of_Dead_Tree,1055,Muka,357142
MOBG_Branch_Of_Dead_Tree,1056,Smokie,357142
MOBG_Branch_Of_Dead_Tree,1057,Yoyo,357142
MOBG_Branch_Of_Dead_Tree,1058,Metaller,214285
MOBG_Branch_Of_Dead_Tree,1060,Bigfoot,214285
MOBG_Branch_Of_Dead_Tree,1061,Nightmare,71428
MOBG_Branch_Of_Dead_Tree,1062,Santa Poring,357142
MOBG_Branch_Of_Dead_Tree,1063,Lunatic,357142
MOBG_Branch_Of_Dead_Tree,1064,Megalodon,214285
MOBG_Branch_Of_Dead_Tree,1065,Strouf,214285
MOBG_Branch_Of_Dead_Tree,1066,Vadon,357142
MOBG_Branch_Of_Dead_Tree,1067,Cornutus,214285
MOBG_Branch_Of_Dead_Tree,1068,Hydra,357142
MOBG_Branch_Of_Dead_Tree,1069,Swordfish,214285
MOBG_Branch_Of_Dead_Tree,1070,Kukre,357142
MOBG_Branch_Of_Dead_Tree,1071,Pirate Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1072,Kaho,71428
MOBG_Branch_Of_Dead_Tree,1073,Crab,214285
MOBG_Branch_Of_Dead_Tree,1074,Shellfish,357142
MOBG_Branch_Of_Dead_Tree,1076,Skeleton,357142
MOBG_Branch_Of_Dead_Tree,1077,Poison Spore,357142
MOBG_Branch_Of_Dead_Tree,1078,Red Plant,71428
MOBG_Branch_Of_Dead_Tree,1079,Blue Plant,71428
MOBG_Branch_Of_Dead_Tree,1080,Green Plant,71428
MOBG_Branch_Of_Dead_Tree,1081,Yellow Plant,71428
MOBG_Branch_Of_Dead_Tree,1082,White Plant,71428
MOBG_Branch_Of_Dead_Tree,1083,Shining Plant,71428
MOBG_Branch_Of_Dead_Tree,1084,Black Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1085,Red Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1088,Vocal,71428
MOBG_Branch_Of_Dead_Tree,1089,Toad,71428
MOBG_Branch_Of_Dead_Tree,1090,Mastering,71428
MOBG_Branch_Of_Dead_Tree,1091,Dragon Fly,71428
MOBG_Branch_Of_Dead_Tree,1092,Vagabond Wolf,71428
MOBG_Branch_Of_Dead_Tree,1093,Eclipse,71428
MOBG_Branch_Of_Dead_Tree,1094,Ambernite,357142
MOBG_Branch_Of_Dead_Tree,1095,Andre,357142
MOBG_Branch_Of_Dead_Tree,1096,Angeling,71428
MOBG_Branch_Of_Dead_Tree,1097,Ant Egg,71428
MOBG_Branch_Of_Dead_Tree,1098,Anubis,71428
MOBG_Branch_Of_Dead_Tree,1099,Argiope,71428
MOBG_Branch_Of_Dead_Tree,1100,Argos,214285
MOBG_Branch_Of_Dead_Tree,1101,Baphomet Jr.,71428
MOBG_Branch_Of_Dead_Tree,1102,Bathory,71428
MOBG_Branch_Of_Dead_Tree,1103,Caramel,214285
MOBG_Branch_Of_Dead_Tree,1104,Coco,357142
MOBG_Branch_Of_Dead_Tree,1105,Deniro,357142
MOBG_Branch_Of_Dead_Tree,1106,Desert Wolf,214285
MOBG_Branch_Of_Dead_Tree,1107,Baby Desert Wolf,71428
MOBG_Branch_Of_Dead_Tree,1108,Deviace,71428
MOBG_Branch_Of_Dead_Tree,1109,Deviruchi,71428
MOBG_Branch_Of_Dead_Tree,1110,Dokebi,214285
MOBG_Branch_Of_Dead_Tree,1111,Drainliar,214285
MOBG_Branch_Of_Dead_Tree,1113,Drops,357142
MOBG_Branch_Of_Dead_Tree,1114,Dustiness,214285
MOBG_Branch_Of_Dead_Tree,1116,Eggyra,214285
MOBG_Branch_Of_Dead_Tree,1117,Evil Druid,71428
MOBG_Branch_Of_Dead_Tree,1118,Flora,214285
MOBG_Branch_Of_Dead_Tree,1119,Frilldora,214285
MOBG_Branch_Of_Dead_Tree,1120,Ghostring,71428
MOBG_Branch_Of_Dead_Tree,1121,Giearth,214285
MOBG_Branch_Of_Dead_Tree,1122,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1123,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1124,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1125,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1126,Goblin,214285
MOBG_Branch_Of_Dead_Tree,1127,Hode,214285
MOBG_Branch_Of_Dead_Tree,1128,Horn,357142
MOBG_Branch_Of_Dead_Tree,1129,Horong,214285
MOBG_Branch_Of_Dead_Tree,1130,Jakk,214285
MOBG_Branch_Of_Dead_Tree,1131,Joker,71428
MOBG_Branch_Of_Dead_Tree,1132,Khalitzburg,71428
MOBG_Branch_Of_Dead_Tree,1133,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1134,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1135,Kobold,214285
MOBG_Branch_Of_Dead_Tree,1138,Magnolia,214285
MOBG_Branch_Of_Dead_Tree,1139,Mantis,214285
MOBG_Branch_Of_Dead_Tree,1140,Marduk,214285
MOBG_Branch_Of_Dead_Tree,1141,Marina,214285
MOBG_Branch_Of_Dead_Tree,1142,Marine Sphere,214285
MOBG_Branch_Of_Dead_Tree,1143,Marionette,71428
MOBG_Branch_Of_Dead_Tree,1144,Marse,214285
MOBG_Branch_Of_Dead_Tree,1145,Martin,357142
MOBG_Branch_Of_Dead_Tree,1146,Matyr,214285
MOBG_Branch_Of_Dead_Tree,1148,Medusa,71428
MOBG_Branch_Of_Dead_Tree,1149,Minorous,71428
MOBG_Branch_Of_Dead_Tree,1151,Myst,214285
MOBG_Branch_Of_Dead_Tree,1152,Orc Skeleton,214285
MOBG_Branch_Of_Dead_Tree,1153,Orc Zombie,214285
MOBG_Branch_Of_Dead_Tree,1154,Pasana,71428
MOBG_Branch_Of_Dead_Tree,1155,Petite,71428
MOBG_Branch_Of_Dead_Tree,1156,Petite,71428
MOBG_Branch_Of_Dead_Tree,1158,Phen,214285
MOBG_Branch_Of_Dead_Tree,1160,Piere,357142
MOBG_Branch_Of_Dead_Tree,1161,Plankton,357142
MOBG_Branch_Of_Dead_Tree,1163,Raydric,71428
MOBG_Branch_Of_Dead_Tree,1164,Requiem,214285
MOBG_Branch_Of_Dead_Tree,1165,Sandman,214285
MOBG_Branch_Of_Dead_Tree,1166,Savage,214285
MOBG_Branch_Of_Dead_Tree,1167,Savage Babe,357142
MOBG_Branch_Of_Dead_Tree,1169,Skeleton Worker,214285
MOBG_Branch_Of_Dead_Tree,1170,Sohee,214285
MOBG_Branch_Of_Dead_Tree,1174,Stainer,357142
MOBG_Branch_Of_Dead_Tree,1175,Tarou,357142
MOBG_Branch_Of_Dead_Tree,1176,Vitata,214285
MOBG_Branch_Of_Dead_Tree,1177,Zenorc,214285
MOBG_Branch_Of_Dead_Tree,1178,Zerom,214285
MOBG_Branch_Of_Dead_Tree,1179,Whisper,71428
MOBG_Branch_Of_Dead_Tree,1180,Nine Tail,71428
MOBG_Branch_Of_Dead_Tree,1182,Thief Mushroom,71428
MOBG_Branch_Of_Dead_Tree,1185,Whisper,71428
MOBG_Branch_Of_Dead_Tree,1186,Giant Whisper,71428
MOBG_Branch_Of_Dead_Tree,1188,Bongun,214285
MOBG_Branch_Of_Dead_Tree,1189,Orc Archer,71428
MOBG_Branch_Of_Dead_Tree,1191,Mimic,71428
MOBG_Branch_Of_Dead_Tree,1192,Wraith,71428
MOBG_Branch_Of_Dead_Tree,1193,Alarm,71428
MOBG_Branch_Of_Dead_Tree,1194,Arclouze,71428
MOBG_Branch_Of_Dead_Tree,1195,Rideword,71428
MOBG_Branch_Of_Dead_Tree,1196,Skeleton Prisoner,71428
MOBG_Branch_Of_Dead_Tree,1197,Zombie Prisoner,71428
MOBG_Branch_Of_Dead_Tree,1199,Punk,71428
MOBG_Branch_Of_Dead_Tree,1200,Zealotus,71428
MOBG_Branch_Of_Dead_Tree,1201,Rybio,71428
MOBG_Branch_Of_Dead_Tree,1202,Phendark,71428
MOBG_Branch_Of_Dead_Tree,1203,Mysteltainn,71428
MOBG_Branch_Of_Dead_Tree,1204,Ogretooth,71428
MOBG_Branch_Of_Dead_Tree,1205,Executioner,71428
MOBG_Branch_Of_Dead_Tree,1206,Anolian,71428
MOBG_Branch_Of_Dead_Tree,1207,Sting,71428
MOBG_Branch_Of_Dead_Tree,1208,Wanderer,71428
MOBG_Branch_Of_Dead_Tree,1209,Cramp,71428
MOBG_Branch_Of_Dead_Tree,1211,Brilight,71428
MOBG_Branch_Of_Dead_Tree,1212,Iron Fist,71428
MOBG_Branch_Of_Dead_Tree,1213,High Orc,71428
MOBG_Branch_Of_Dead_Tree,1214,Choco,71428
MOBG_Branch_Of_Dead_Tree,1215,Stem Worm,214285
MOBG_Branch_Of_Dead_Tree,1216,Penomena,71428
MOBG_Branch_Of_Dead_Tree,1219,Abysmal Knight,71428
MOBG_Branch_Of_Dead_Tree,1242,Marin,357142
MOBG_Branch_Of_Dead_Tree,1243,Sasquatch,214285
MOBG_Branch_Of_Dead_Tree,1245,Christmas Goblin,71428
MOBG_Branch_Of_Dead_Tree,1246,Christmas Cookie,214285
MOBG_Branch_Of_Dead_Tree,1248,Cruiser,214285
MOBG_Branch_Of_Dead_Tree,1249,Myst Case,214285
MOBG_Branch_Of_Dead_Tree,1250,Chepet,71428
MOBG_Branch_Of_Dead_Tree,1253,Gargoyle,71428
MOBG_Branch_Of_Dead_Tree,1254,Raggler,214285
MOBG_Branch_Of_Dead_Tree,1255,Nereid,214285
MOBG_Branch_Of_Dead_Tree,1256,Pest,214285
MOBG_Branch_Of_Dead_Tree,1257,Injustice,71428
MOBG_Branch_Of_Dead_Tree,1258,Goblin Archer,214285
MOBG_Branch_Of_Dead_Tree,1259,Gryphon,71428
MOBG_Branch_Of_Dead_Tree,1260,Dark Frame,71428
MOBG_Branch_Of_Dead_Tree,1261,Wild Rose,214285
MOBG_Branch_Of_Dead_Tree,1262,Mutant Dragonoid,71428
MOBG_Branch_Of_Dead_Tree,1263,Wind Ghost,71428
MOBG_Branch_Of_Dead_Tree,1264,Merman,71428
MOBG_Branch_Of_Dead_Tree,1265,Cookie,214285
MOBG_Branch_Of_Dead_Tree,1266,Aster,357142
MOBG_Branch_Of_Dead_Tree,1267,Carat,71428
MOBG_Branch_Of_Dead_Tree,1268,Bloody Knight,71428
MOBG_Branch_Of_Dead_Tree,1269,Clock,71428
MOBG_Branch_Of_Dead_Tree,1270,Clock Tower Manager,71428
MOBG_Branch_Of_Dead_Tree,1271,Alligator,71428
MOBG_Branch_Of_Dead_Tree,1273,Orc Lady,214285
MOBG_Branch_Of_Dead_Tree,1274,Megalith,71428
MOBG_Branch_Of_Dead_Tree,1275,Alice,71428
MOBG_Branch_Of_Dead_Tree,1276,Raydric Archer,71428
MOBG_Branch_Of_Dead_Tree,1277,Greatest General,214285
MOBG_Branch_Of_Dead_Tree,1278,Stalactic Golem,71428
MOBG_Branch_Of_Dead_Tree,1279,Tri Joint,214285
MOBG_Branch_Of_Dead_Tree,1280,Goblin Steamrider,214285
MOBG_Branch_Of_Dead_Tree,1281,Sage Worm,71428
MOBG_Branch_Of_Dead_Tree,1282,Kobold Archer,214285
MOBG_Branch_Of_Dead_Tree,1283,Chimera,71428
MOBG_Branch_Of_Dead_Tree,1289,Maya Purple,71428
MOBG_Branch_Of_Dead_Tree,1290,Skeleton General,71428
MOBG_Branch_Of_Dead_Tree,1291,Wraith Dead,71428
MOBG_Branch_Of_Dead_Tree,1292,Mini Demon,71428
MOBG_Branch_Of_Dead_Tree,1293,Creamy Fear,71428
MOBG_Branch_Of_Dead_Tree,1294,Killer Mantis,71428
MOBG_Branch_Of_Dead_Tree,1295,Owl Baron,71428
MOBG_Branch_Of_Dead_Tree,1296,Kobold Leader,71428
MOBG_Branch_Of_Dead_Tree,1297,Ancient Mummy,71428
MOBG_Branch_Of_Dead_Tree,1298,Zombie Master,71428
MOBG_Branch_Of_Dead_Tree,1299,Goblin Leader,71428
MOBG_Branch_Of_Dead_Tree,1300,Caterpillar,71428
MOBG_Branch_Of_Dead_Tree,1301,Am Mut,71428
MOBG_Branch_Of_Dead_Tree,1302,Dark Illusion,71428
MOBG_Branch_Of_Dead_Tree,1303,Giant Hornet,71428
MOBG_Branch_Of_Dead_Tree,1304,Giant Spider,71428
MOBG_Branch_Of_Dead_Tree,1305,Ancient Worm,71428
MOBG_Branch_Of_Dead_Tree,1306,Leib Olmai,71428
MOBG_Branch_Of_Dead_Tree,1307,Cat o' Nine Tails,71428
MOBG_Branch_Of_Dead_Tree,1308,Panzer Goblin,71428
MOBG_Branch_Of_Dead_Tree,1309,Gajomart,71428
MOBG_Branch_Of_Dead_Tree,1310,Majoruros,71428
MOBG_Branch_Of_Dead_Tree,1311,Gullinbursti,71428
MOBG_Branch_Of_Dead_Tree,1313,Mobster,71428
MOBG_Branch_Of_Dead_Tree,1314,Permeter,71428
MOBG_Branch_Of_Dead_Tree,1315,Assaulter,71428
MOBG_Branch_Of_Dead_Tree,1316,Solider,71428
MOBG_Branch_Of_Dead_Tree,1317,Seal,71428
MOBG_Branch_Of_Dead_Tree,1318,Heater,71428
MOBG_Branch_Of_Dead_Tree,1319,Freezer,71428
MOBG_Branch_Of_Dead_Tree,1320,Owl Duke,71428
MOBG_Branch_Of_Dead_Tree,1321,Dragon Tail,71428
MOBG_Branch_Of_Dead_Tree,1322,Spring Rabbit,71428
MOBG_Branch_Of_Dead_Tree,1323,Sea Otter,71428
MOBG_Branch_Of_Dead_Tree,1365,Apocalypse,71428
MOBG_Branch_Of_Dead_Tree,1366,Lava Golem,71428
MOBG_Branch_Of_Dead_Tree,1367,Blazer,71428
MOBG_Branch_Of_Dead_Tree,1368,Geographer,71428
MOBG_Branch_Of_Dead_Tree,1369,Grand Peco,71428
MOBG_Branch_Of_Dead_Tree,1370,Succubus,71428
MOBG_Branch_Of_Dead_Tree,1371,False Angel,71428
MOBG_Branch_Of_Dead_Tree,1372,Goat,71428
MOBG_Branch_Of_Dead_Tree,1374,Incubus,71428
MOBG_Branch_Of_Dead_Tree,1375,The Paper,71428
MOBG_Branch_Of_Dead_Tree,1376,Harpy,71428
MOBG_Branch_Of_Dead_Tree,1377,Elder,71428
MOBG_Branch_Of_Dead_Tree,1378,Demon Pungus,71428
MOBG_Branch_Of_Dead_Tree,1379,Nightmare Terror,71428
MOBG_Branch_Of_Dead_Tree,1380,Driller,71428
MOBG_Branch_Of_Dead_Tree,1381,Grizzly,71428
MOBG_Branch_Of_Dead_Tree,1382,Diabolic,71428
MOBG_Branch_Of_Dead_Tree,1383,Explosion,71428
MOBG_Branch_Of_Dead_Tree,1384,Deleter,71428
MOBG_Branch_Of_Dead_Tree,1385,Deleter,71428
MOBG_Branch_Of_Dead_Tree,1386,Sleeper,71428
MOBG_Branch_Of_Dead_Tree,1387,Gig,71428
MOBG_Branch_Of_Dead_Tree,1390,Violy,71428
MOBG_Branch_Of_Dead_Tree,1391,Galapago,71428
MOBG_Branch_Of_Dead_Tree,1392,Rotar Zairo,214285
MOBG_Branch_Of_Dead_Tree,1400,Karakasa,214285
MOBG_Branch_Of_Dead_Tree,1401,Shinobi,71428
MOBG_Branch_Of_Dead_Tree,1402,Poison Toad,71428
MOBG_Branch_Of_Dead_Tree,1403,Firelock Soldier,71428
MOBG_Branch_Of_Dead_Tree,1404,Miyabi Doll,214285
MOBG_Branch_Of_Dead_Tree,1405,Tengu,71428
MOBG_Branch_Of_Dead_Tree,1406,Kapha,71428
MOBG_Branch_Of_Dead_Tree,1408,Bloody Butterfly,71428
MOBG_Branch_Of_Dead_Tree,1409,Dumpling Child,214285
MOBG_Branch_Of_Dead_Tree,1410,Enchanted Peach Tree,71428
MOBG_Branch_Of_Dead_Tree,1412,Taoist Hermit,71428
MOBG_Branch_Of_Dead_Tree,1413,Hermit Plant,71428
MOBG_Branch_Of_Dead_Tree,1415,Baby Leopard,214285
MOBG_Branch_Of_Dead_Tree,1416,Evil Nymph,71428
MOBG_Branch_Of_Dead_Tree,1417,Zipper Bear,214285
MOBG_Branch_Of_Dead_Tree,1493,Dryad,71428
MOBG_Branch_Of_Dead_Tree,1494,Beetle King,214285
MOBG_Branch_Of_Dead_Tree,1495,Stone Shooter,71428
MOBG_Branch_Of_Dead_Tree,1497,Wooden Golem,71428
MOBG_Branch_Of_Dead_Tree,1498,Wootan Shooter,214285
MOBG_Branch_Of_Dead_Tree,1499,Wootan Fighter,71428
MOBG_Branch_Of_Dead_Tree,1500,Parasite,214285
MOBG_Branch_Of_Dead_Tree,1503,Gibbet,71428
MOBG_Branch_Of_Dead_Tree,1504,Dullahan,71428
MOBG_Branch_Of_Dead_Tree,1505,Loli Ruri,71428
MOBG_Branch_Of_Dead_Tree,1506,Disguise,71428
MOBG_Branch_Of_Dead_Tree,1507,Bloody Murderer,71428
MOBG_Branch_Of_Dead_Tree,1508,Quve,214285
MOBG_Branch_Of_Dead_Tree,1509,Lude,214285
MOBG_Branch_Of_Dead_Tree,1510,Heirozoist,71428
MOBG_Branch_Of_Dead_Tree,1512,Yao Jun,71428
MOBG_Branch_Of_Dead_Tree,1513,Mao Guai,71428
MOBG_Branch_Of_Dead_Tree,1514,Zhu Po Long,71428
MOBG_Branch_Of_Dead_Tree,1515,Baby Hatii,71428
MOBG_Branch_Of_Dead_Tree,1516,Mi Gao,71428
MOBG_Branch_Of_Dead_Tree,1517,Jing Guai,71428
MOBG_Branch_Of_Dead_Tree,1519,Green Maiden,71428
MOBG_Branch_Of_Dead_Tree,1520,Boiled Rice,71428
MOBG_Branch_Of_Dead_Tree,1582,Deviling,71428
MOBG_Branch_Of_Dead_Tree,1584,Tamruan,71428
MOBG_Branch_Of_Dead_Tree,1586,Leaf Cat,71428
MOBG_Branch_Of_Dead_Tree,1587,Kraben,71428
MOBG_Branch_Of_Dead_Tree,1613,Metaling,71428
MOBG_Branch_Of_Dead_Tree,1614,Mineral,71428
MOBG_Branch_Of_Dead_Tree,1615,Obsidian,71428
MOBG_Branch_Of_Dead_Tree,1616,Pitman,71428
MOBG_Branch_Of_Dead_Tree,1617,Old Stove,71428
MOBG_Branch_Of_Dead_Tree,1618,Ungoliant,71428
MOBG_Branch_Of_Dead_Tree,1619,Porcellio,71428
MOBG_Branch_Of_Dead_Tree,1620,Noxious,71428
MOBG_Branch_Of_Dead_Tree,1621,Venomous,71428
MOBG_Branch_Of_Dead_Tree,1622,Teddy Bear,71428
MOBG_Branch_Of_Dead_Tree,1627,Anopheles,71428
MOBG_Branch_Of_Dead_Tree,1628,Holden,71428
MOBG_Branch_Of_Dead_Tree,1629,Hill Wind,71428
MOBG_Branch_Of_Dead_Tree,1631,Green Maiden,71428
MOBG_Branch_Of_Dead_Tree,1632,Gremlin,71428
MOBG_Branch_Of_Dead_Tree,1633,Beholder,71428
MOBG_Branch_Of_Dead_Tree,1634,Seyren Windsor,71428
MOBG_Branch_Of_Dead_Tree,1635,Eremes Guile,71428
MOBG_Branch_Of_Dead_Tree,1636,Howard Alt-Eisen,71428
MOBG_Branch_Of_Dead_Tree,1637,Margaretha Sorin,71428
MOBG_Branch_Of_Dead_Tree,1638,Cecil Damon,71428
MOBG_Branch_Of_Dead_Tree,1639,Kathryne Keyron,71428
MOBG_Branch_Of_Dead_Tree,1652,Egnigem Cenia,71428
MOBG_Branch_Of_Dead_Tree,1653,Wickebine Tres,71428
MOBG_Branch_Of_Dead_Tree,1654,Armeyer Dinze,71428
MOBG_Branch_Of_Dead_Tree,1655,Errende Ebecee,71428
MOBG_Branch_Of_Dead_Tree,1656,Kavach Icarus,71428
MOBG_Branch_Of_Dead_Tree,1657,Laurell Weinder,71428
MOBG_Branch_Of_Dead_Tree,1664,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1665,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1666,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1667,Photon Cannon,71428
MOBG_Branch_Of_Dead_Tree,1668,Archdam,71428
MOBG_Branch_Of_Dead_Tree,1669,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1670,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1671,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1672,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1673,Dimik,71428
MOBG_Branch_Of_Dead_Tree,1675,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1676,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1677,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1678,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1679,Venatu,71428
MOBG_Branch_Of_Dead_Tree,1680,Hill Wind,71428
MOBG_Branch_Of_Dead_Tree,1681,Gemini-S58,71428
MOBG_Branch_Of_Dead_Tree,1682,Remover,71428
MOBG_Branch_Of_Dead_Tree,1686,Orc Baby,71428
MOBG_Branch_Of_Dead_Tree,1687,Grove,71428
MOBG_Branch_Of_Dead_Tree,1692,Breeze,71428
MOBG_Branch_Of_Dead_Tree,1693,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1694,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1695,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1696,Plasma,71428
MOBG_Branch_Of_Dead_Tree,1699,Ancient Mimic,71428
MOBG_Branch_Of_Dead_Tree,1703,Lady Solace,71428
MOBG_Branch_Of_Dead_Tree,1704,Odium of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1705,Despero of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1706,Maero of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1707,Dolor of Thanatos,71428
MOBG_Branch_Of_Dead_Tree,1713,Acidus,71428
MOBG_Branch_Of_Dead_Tree,1714,Ferus,71428
MOBG_Branch_Of_Dead_Tree,1715,Novus,71428
MOBG_Branch_Of_Dead_Tree,1717,Ferus,71428
MOBG_Branch_Of_Dead_Tree,1718,Novus,71428
MOBG_Branch_Of_Dead_Tree,1720,Hydrolancer,71428
MOBG_Branch_Of_Dead_Tree,1721,Dragon Egg,71428
MOBG_Branch_Of_Dead_Tree,1736,Aliot,71428
MOBG_Branch_Of_Dead_Tree,1737,Aliza,71428
MOBG_Branch_Of_Dead_Tree,1738,Constant,71428
MOBG_Branch_Of_Dead_Tree,1752,Skogul,71428
MOBG_Branch_Of_Dead_Tree,1753,Frus,71428
MOBG_Branch_Of_Dead_Tree,1754,Skeggiold,71428
MOBG_Branch_Of_Dead_Tree,1755,Skeggiold,71428
MOBG_Branch_Of_Dead_Tree,1769,Agav,71428
MOBG_Branch_Of_Dead_Tree,1770,Echio,71428
MOBG_Branch_Of_Dead_Tree,1771,Vanberk,71428
MOBG_Branch_Of_Dead_Tree,1772,Isilla,71428
MOBG_Branch_Of_Dead_Tree,1773,Hodremlin,71428
MOBG_Branch_Of_Dead_Tree,1774,Seeker,71428
MOBG_Branch_Of_Dead_Tree,1775,Snowier,71428
MOBG_Branch_Of_Dead_Tree,1776,Siroma,71428
MOBG_Branch_Of_Dead_Tree,1777,Ice Titan,71428
MOBG_Branch_Of_Dead_Tree,1778,Gazeti,71428
MOBG_Branch_Of_Dead_Tree,1780,Muscipular,71428
MOBG_Branch_Of_Dead_Tree,1781,Drosera,71428
MOBG_Branch_Of_Dead_Tree,1782,Roween,71428
MOBG_Branch_Of_Dead_Tree,1783,Galion,71428
MOBG_Branch_Of_Dead_Tree,1784,Stapo,142857
MOBG_Branch_Of_Dead_Tree,1789,Iceicle,71428
MOBG_Branch_Of_Dead_Tree,1796,Aunoe,142857
MOBG_Branch_Of_Dead_Tree,1797,Fanat,142857
MOBG_Branch_Of_Dead_Tree,1829,Sword Guardian,71428
MOBG_Branch_Of_Dead_Tree,1830,Bow Guardian,71428
MOBG_Branch_Of_Dead_Tree,1831,Salamander,71428
MOBG_Branch_Of_Dead_Tree,1833,Kasa,71428
MOBG_Branch_Of_Dead_Tree,1836,Magmaring,214285
MOBG_Branch_Of_Dead_Tree,1837,Imp,71428
MOBG_Branch_Of_Dead_Tree,1838,Knocker,71428
MOBG_Branch_Of_Dead_Tree,1839,Byrogue,71428
MOBG_Branch_Of_Dead_Tree,1864,Zombie Slaughter,71428
MOBG_Branch_Of_Dead_Tree,1865,Ragged Zombie,71428
MOBG_Branch_Of_Dead_Tree,1866,Hellhound,71428
MOBG_Branch_Of_Dead_Tree,1867,Banshee,71428
MOBG_Branch_Of_Dead_Tree,1869,Flame Skull,71428
MOBG_Branch_Of_Dead_Tree,1870,Necromancer,71428
MOBG_Branch_Of_Dead_Tree,1872,Hell Fly,71428
MOBG_Branch_Of_Dead_Tree,1880,Wood Goblin,71428
MOBG_Branch_Of_Dead_Tree,1881,Les,71428
MOBG_Branch_Of_Dead_Tree,1882,Baba-Yaga,71428
MOBG_Branch_Of_Dead_Tree,1883,Uzhas,71428
MOBG_Branch_Of_Dead_Tree,1884,Mavka,71428
MOBG_Branch_Of_Dead_Tree,1918,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1919,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1920,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1921,Incarnation of Morroc,71428
MOBG_Branch_Of_Dead_Tree,1974,Banshee Master,71428
MOBG_Branch_Of_Dead_Tree,1975,Beholder Master,71428
MOBG_Branch_Of_Dead_Tree,1976,Cobalt Mineral,71428
MOBG_Branch_Of_Dead_Tree,1977,Heavy Metaling,71428
MOBG_Branch_Of_Dead_Tree,1978,Hell Vesper,71428
MOBG_Branch_Of_Dead_Tree,1979,Zakudam,71428
MOBG_Branch_Of_Dead_Tree,1986,Tatacho,71428
MOBG_Branch_Of_Dead_Tree,1987,Centipede,71428
MOBG_Branch_Of_Dead_Tree,1988,Nepenthes,71428
MOBG_Branch_Of_Dead_Tree,1989,Hillthrion,71428
MOBG_Branch_Of_Dead_Tree,1990,Hardrock Mammoth,71428
MOBG_Branch_Of_Dead_Tree,1991,Tendrillion,71428
MOBG_Branch_Of_Dead_Tree,1992,Cornus,71428
MOBG_Branch_Of_Dead_Tree,1993,Naga,71428
MOBG_Branch_Of_Dead_Tree,1994,Luciola Vespa,71428
MOBG_Branch_Of_Dead_Tree,1995,Pinguicula,71428
MOBG_Branch_Of_Dead_Tree,1999,Centipede Larva,71428
MOBG_Branch_Of_Dead_Tree,2013,Draco,71428
MOBG_Branch_Of_Dead_Tree,2015,Dark Pinguicula,71428
MOBG_Branch_Of_Dead_Tree,2016,Aqua Elemental,71428
MOBG_Branch_Of_Dead_Tree,2017,Rata,71428
MOBG_Branch_Of_Dead_Tree,2018,Duneyrr,71428
MOBG_Branch_Of_Dead_Tree,2019,Ancient Tree,71428
MOBG_Branch_Of_Dead_Tree,2020,Rhyncho,71428
MOBG_Branch_Of_Dead_Tree,2021,Phylla,71428
MOBG_Branch_Of_Dead_Tree,2023,Dark Shadow,71428
MOBG_Branch_Of_Dead_Tree,2024,Bradium Golem,71428
MOBG_Branch_Of_Dead_Tree,2069,Iara,71428
MOBG_Branch_Of_Dead_Tree,2070,Piranha,71428
MOBG_Branch_Of_Dead_Tree,2071,Headless Mule,71428
MOBG_Branch_Of_Dead_Tree,2072,Jaguar,71428
MOBG_Branch_Of_Dead_Tree,2073,Toucan,71428
MOBG_Branch_Of_Dead_Tree,2074,Curupira,71428
MOBG_Branch_Of_Dead_Tree,2083,One-Horned Scaraba,71428
MOBG_Branch_Of_Dead_Tree,2084,Two-Horned Scaraba,71428
MOBG_Branch_Of_Dead_Tree,2085,Antler Scaraba,71428
MOBG_Branch_Of_Dead_Tree,2086,Rake Scaraba,71428
MOBG_Branch_Of_Dead_Tree,2088,Scaraba Egg,71428
MOBG_Branch_Of_Dead_Tree,2089,Scaraba Egg,71428
MOBG_Branch_Of_Dead_Tree,2090,Antler Scaraba Egg,71428
MOBG_Branch_Of_Dead_Tree,2091,Rake Scaraba Egg,71428
MOBG_Branch_Of_Dead_Tree,2092,Dolomedes,71428
MOBG_Branch_Of_Dead_Tree,2093,Botaring,142857

View File

@ -677,12 +677,12 @@
1632,GREMLIN,Gremlin,Gremlin,118,20313,1,3091,2318,1,606,744,76,25,141,75,48,61,90,37,10,12,2,6,47,0x191,140,432,540,432,0,0,0,0,0,0,0,7340,3000,938,3000,719,100,2406,1,1265,1,0,0,603,2,0,0,0,0,4355,1
1633,BEHOLDER,Beholder,Beholder,120,19280,1,3285,2463,6,588,718,50,30,96,82,65,107,94,82,10,12,0,0,44,0x91,190,336,840,360,0,0,0,0,0,0,0,576,3000,605,100,996,100,985,10,0,0,0,0,603,2,0,0,0,0,4356,1
// Normal advanced class mobs
1634,SEYREN,Seyren,Seyren Windsor,142,194962,1,10386,7790,1,1670,1987,166,12,142,69,86,49,132,55,10,12,1,6,63,0x3195,170,76,384,288,0,0,0,0,0,0,0,7345,3000,13001,2,1163,200,6223,10,2229,12,2317,1,13421,100,0,0,0,0,4358,1
1635,EREMES,Eremes,Eremes Guile,140,190525,1,10329,6846,1,1503,1674,122,12,145,87,59,67,127,76,10,12,1,6,85,0x3195,180,76,384,288,0,0,0,0,0,0,0,7347,2000,6223,1,2514,1,1262,3,1264,30,678,110,1284,100,0,0,0,0,4360,1
1636,HARWORD,Harword,Howard Alt-Eisen,142,348100,1,10854,7241,1,1308,1590,131,10,138,79,62,53,82,48,10,12,1,7,81,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,2514,1,1311,100,1361,110,2104,10,2318,1,6223,10,0,0,0,0,4362,1
1637,MAGALETA,Magaleta,Margaretha Sorin,140,220800,1,9895,7421,1,851,1405,108,93,126,74,71,123,99,65,10,12,1,7,66,0x3295,180,1152,384,288,0,0,0,0,0,0,0,7347,2000,1647,100,6223,1,1561,10,2327,1,603,50,2504,10,0,0,0,0,4364,1
1638,SHECIL,Shecil,Cecil Damon,141,190255,1,10103,7577,14,1158,1406,76,15,121,126,67,80,165,42,10,12,1,7,64,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,12014,110,2331,10,1711,100,12007,150,6223,1,1745,100,0,0,0,0,4368,1
1639,KATRINN,Katrinn,Kathryne Keyron,141,219780,1,9207,6905,1,726,1449,77,74,108,78,55,144,139,49,10,12,1,7,68,0x3295,150,1152,384,288,0,0,0,0,0,0,0,7345,3000,6223,1,1646,100,1620,5,2102,30,5085,1,2404,20,0,0,0,0,4366,1
1634,SEYREN,Seyren,Seyren Windsor,142,194962,1,10386,7790,1,1670,1987,166,12,142,69,86,49,132,55,10,12,1,6,63,0x3195,170,76,384,288,0,0,0,0,0,0,0,7345,1500,13030,1,12623,5,6223,1,6471,1,6469,200,13421,100,0,0,0,0,4358,1
1635,EREMES,Eremes,Eremes Guile,140,190525,1,10329,6846,1,1503,1674,122,12,145,87,59,67,127,76,10,12,1,6,85,0x3195,180,76,384,288,0,0,0,0,0,0,0,7347,2000,6223,1,2514,1,1262,3,1264,30,6471,2,1284,100,0,0,0,0,4360,1
1636,HARWORD,Harword,Howard Alt-Eisen,142,348100,1,10854,7241,1,1308,1590,131,10,138,79,62,53,82,48,10,12,1,7,81,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,6471,1,1311,200,12818,55,6469,100,2318,1,6223,10,0,0,0,0,4362,1
1637,MAGALETA,Magaleta,Margaretha Sorin,140,220800,1,9895,7421,1,851,1405,108,93,126,74,71,123,99,65,10,12,1,7,66,0x3295,180,1152,384,288,0,0,0,0,0,0,0,7347,1000,1647,200,6471,1,1561,5,2162,5,1659,10,6469,200,0,0,0,0,4364,1
1638,SHECIL,Shecil,Cecil Damon,141,190255,1,10103,7577,14,1158,1406,76,15,121,126,67,80,165,42,10,12,1,7,64,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,1500,12014,55,18110,10,12623,3,6469,200,6471,1,1745,200,0,0,0,0,4368,1
1639,KATRINN,Katrinn,Kathryne Keyron,141,219780,1,9207,6905,1,726,1449,77,74,108,78,55,144,139,49,10,12,1,7,68,0x3295,150,1152,384,288,0,0,0,0,0,0,0,7345,1500,6223,1,1646,200,12623,5,6469,200,5085,1,6471,20,0,0,0,0,4366,1
// MVP Slaves
1640,G_SEYREN,Lord Knight Seyren,Lord Knight Seyren,160,2680000,1,0,0,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10
1641,G_EREMES,Assassin Cross Eremes,Assassin Cross Eremes,160,1230000,1,0,0,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10
@ -691,12 +691,12 @@
1644,G_SHECIL,Sniper Shecil,Sniper Cecil,160,4140000,1,0,0,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10
1645,G_KATRINN,High Wizard Katrinn,High Wizard Kathryne,160,4500000,1,0,0,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10
// MVP Monsters
1646,B_SEYREN,Lord Knight Seyren,Lord Knight Seyren,160,4680000,1,4642560,3481920,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,2321280,617,5500,603,5000,732,2000,1132,2500,2342,3500,2412,9000,1470,3500,1469,3000,1166,2500,1415,1500,0,0,0,0,4357,1
1647,B_EREMES,Assassin Cross Eremes,Assassin Cross Eremes,160,4230000,1,4185000,3147120,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,2092500,617,5500,603,5000,732,2000,1234,1500,1230,1500,2319,9000,1233,3500,1232,3500,1265,3500,13002,3500,0,0,0,0,4359,1
1648,B_HARWORD,Whitesmith Harword,Whitesmith Howard,160,6750000,1,3555000,2664000,1,3500,4965,301,106,275,148,156,72,177,60,10,12,1,7,82,0x37B5,100,76,384,288,1777500,617,5500,603,5000,732,2000,1138,3500,1140,2500,2318,9000,1365,3500,1364,3500,1369,2500,1368,3500,0,0,0,0,4361,1
1649,B_MAGALETA,High Priest Magaleta,High Priest Margaretha,160,4800000,1,3465000,2520000,1,1666,5062,231,349,172,150,164,203,155,88,10,12,1,7,86,0x37B5,125,1152,384,288,1732500,617,5500,603,5000,732,2000,1814,3500,2615,2500,2513,9000,1557,3500,1527,3500,1528,2500,1560,3500,0,0,0,0,4363,1
1650,B_SHECIL,Sniper Shecil,Sniper Cecil,160,4140000,1,4106880,3080160,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,2053440,617,5500,603,5000,1723,2000,1228,3500,1236,3500,617,9000,1234,1500,1237,3500,1720,1500,1724,2500,0,0,0,0,4367,1
1651,B_KATRINN,High Wizard Katrinn,High Wizard Kathryne,160,4500000,1,3240000,2430000,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,1620000,617,5500,603,5000,732,2000,1241,3500,1242,3500,2616,9000,2343,2500,2513,2500,1618,3000,2319,3500,0,0,0,0,4365,1
1646,B_SEYREN,Lord Knight Seyren,Lord Knight Seyren,160,4680000,1,4642560,3481920,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,2321280,617,5500,603,5000,732,2000,1132,2500,6471,10000,2412,9000,1470,3500,1469,3000,1166,2500,1415,1500,0,0,0,0,4357,1
1647,B_EREMES,Assassin Cross Eremes,Assassin Cross Eremes,160,4230000,1,4185000,3147120,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,2092500,617,5500,603,5000,732,2000,1234,1500,1230,1500,2319,9000,1233,3500,1232,3500,6471,10000,12623,10000,0,0,0,0,4359,1
1648,B_HARWORD,Whitesmith Harword,Whitesmith Howard,160,6750000,1,3555000,2664000,1,3500,4965,301,106,275,148,156,72,177,60,10,12,1,7,82,0x37B5,100,76,384,288,1777500,617,5500,603,5000,732,2000,1138,3500,1140,2500,6471,10000,1365,3500,12623,10000,1369,2500,1368,3500,0,0,0,0,4361,1
1649,B_MAGALETA,High Priest Magaleta,High Priest Margaretha,160,4800000,1,3465000,2520000,1,1666,5062,231,349,172,150,164,203,155,88,10,12,1,7,86,0x37B5,125,1152,384,288,1732500,617,5500,603,5000,732,2000,1814,3500,2615,2500,2513,9000,12623,10000,1527,3500,1528,2500,6471,10000,0,0,0,0,4363,1
1650,B_SHECIL,Sniper Shecil,Sniper Cecil,160,4140000,1,4106880,3080160,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,2053440,617,5500,603,5000,1723,2000,1228,3500,6471,10000,617,9000,12623,10000,1237,3500,1720,1500,1724,2500,0,0,0,0,4367,1
1651,B_KATRINN,High Wizard Katrinn,High Wizard Kathryne,160,4500000,1,3240000,2430000,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,1620000,617,5500,603,5000,732,2000,1241,3500,1242,3500,6471,10000,2616,9000,2343,2500,6471,2000,12623,10000,2319,3500,0,0,4365,1
// 1'st Class Mobs
1652,YGNIZEM,Ygnizem,Egnigem Cenia,136,44327,1,5229,4461,1,790,1018,124,8,144,92,86,69,99,68,10,12,1,7,43,0x3885,145,576,432,288,0,0,0,0,0,0,0,7347,1000,1170,1,1158,20,1127,20,2313,10,1152,80,2317,1,0,0,0,0,4346,1
1653,WHIKEBAIN,Whikebain,Wickebine Tres,132,43191,1,5094,4721,1,876,1020,114,66,114,91,69,42,85,55,10,12,1,7,65,0x3885,120,576,432,288,0,0,0,0,0,0,0,7345,2000,1223,1,2306,40,1220,10,2315,2,2620,1,13004,10,0,0,0,0,4348,1

View File

@ -1,19 +1,19 @@
// Poring Box Summonable Monsters Database
//
// Structure of Database:
// MobID,DummyName,Rate
// MobRandomGroupID,MobID,DummyName,Rate
0,Poring,1002
1002,Poring,1000000
1031,Poporing,1000000
1062,Santa Poring,200000
1090,Mastering,400000
1096,Angeling,200000
1113,Drops,1000000
1120,Ghostring,200000
1242,Marin,1000000
1388,Arc Angeling,200000
1582,Deviling,200000
1613,Metaling,1000000
1784,Stapo,1000000
2093,Botaring,400000
MOBG_Poring_Box,0,Poring,1002
MOBG_Poring_Box,1002,Poring,1000000
MOBG_Poring_Box,1031,Poporing,1000000
MOBG_Poring_Box,1062,Santa Poring,200000
MOBG_Poring_Box,1090,Mastering,400000
MOBG_Poring_Box,1096,Angeling,200000
MOBG_Poring_Box,1113,Drops,1000000
MOBG_Poring_Box,1120,Ghostring,200000
MOBG_Poring_Box,1242,Marin,1000000
MOBG_Poring_Box,1388,Arc Angeling,200000
MOBG_Poring_Box,1582,Deviling,200000
MOBG_Poring_Box,1613,Metaling,1000000
MOBG_Poring_Box,1784,Stapo,1000000
MOBG_Poring_Box,2093,Botaring,400000

5
db/re/mob_random_db.txt Normal file
View File

@ -0,0 +1,5 @@
import: db/re/mob_branch.txt
import: db/re/mob_poring.txt
import: db/re/mob_boss.txt
import: db/mob_pouch.txt
import: db/mob_classchange.txt

View File

@ -78,8 +78,8 @@
1148,MEDUSA,Medusa,12368,9050,10032,6108,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus bVit,1; bonus2 bResEff,Eff_Stone,500; }
1179,WHISPER,Whisper,12363,9045,10027,6100,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bFlee,7; bonus bDef,-3; }
1299,GOBLIN_LEADER,Goblin Leader,12364,9046,10028,6104,80,60,10,100,250,20,50,150,0,0,300,300,800,{},{ bonus2 bAddRace,RC_DemiHuman,3; }
1370,SUCCUBUS,Succubus,12373,9055,10037,6113,80,60,10,100,250,20,200,150,0,0,300,300,800,{ /*bonus3 bHPDrainRate,10,5,0;*/ },{ /*bonus3 bHPDrainRate,30,5,0;*/ bonus bMaxHPrate,1; }
1374,INCUBUS,Incubus,12370,9052,10034,6110,80,60,10,100,250,20,50,150,0,0,300,300,800,{ bonus bMaxSPRate,3; bonus3 bSPDrainRate,10,1,0; },{ bonus bMaxSPRate,5; bonus3 bSPDrainRate,30,1,0; }
1370,SUCCUBUS,Succubus,12373,9055,10037,6113,80,60,10,100,250,20,200,150,0,0,300,300,800,{ bonus2 bHPDrainRate,10,5; },{ bonus2 bHPDrainRate,30,5; bonus bMaxHPrate,1; }
1374,INCUBUS,Incubus,12370,9052,10034,6110,80,60,10,100,250,20,50,150,0,0,300,300,800,{ bonus bMaxSPRate,3; bonus2 bSPDrainRate,10,1; },{ bonus bMaxSPRate,5; bonus2 bSPDrainRate,30,1; }
1379,NIGHTMARE_TERROR,Nightmare Terror,12372,9054,10036,6112,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bResEff,Eff_Sleep,10000; }
1401,SHINOBI,Shinobi,12362,9044,10026,6099,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bAgi,2; }
1404,MIYABI_NINGYO,Miyabi Doll,12366,9048,10030,6106,80,60,15,100,250,20,200,150,0,0,300,300,800,{},{ bonus bInt,1; bonus bCastrate,-3; }

3132
db/re/quest_db.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@
//-- MG_LIGHTNINGBOLT
20,640:960:1280:1600:1920:2100:1560:2880:3200:3520,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,160:240:320:400:480:700:640:720:800:880
//-- MG_THUNDERSTORM
21,640:1280:1920:2560:3200:3840:4480:5120:5760:6400,2000:2000:2000:2000:2000:2000:2000:2000:2000:2000,0,500,0,0,160:320:480:640:800:960:1120:1280:1440:1600
21,640:1280:1920:2560:3200:3840:4480:5120:5760:6400,2000,0,500,0,0,160:320:480:640:800:960:1120:1280:1440:1600
//==========================================
@ -63,7 +63,7 @@
//-- AL_TELEPORT
26,0,0,0,0,0,0,0
//-- AL_WARP
27,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,1000
27,0,1000,0,10000:15000:20000:25000,0,0,1000
//-- AL_HEAL
28,0,1000,0,0,0,0,0
//-- AL_INCAGI
@ -103,7 +103,7 @@
//===== First planned to be shared =========
//-- ALL_RESURRECTION
54,4800:3200:1600:0,0:1000:2000:3000,0,0,0,0,1200:800:400:0
54,4800:3200:1600:0,0:1000:2000:3000,0,0,0,0,1200:800:400:-1
//==========================================
@ -166,7 +166,7 @@
//-- WZ_VERMILION
85,9600:9280:8960:8640:8320:8000:7680:7360:7040:6720,5000,0,4000,5500:6000:6500:7000:7500:8000:8500:9000:9500:10000,0,2400:2320:2240:2160:2080:2000:1920:1840:1760:1680
//-- WZ_WATERBALL
86,640:1280:1920:2560:3200:3200:3200:3200:3200:3200,0,0,0,0,0,160:320:480:640:800:800:800:800:800:800
86,640:1280:1920:2560:3200,0,0,0,0,0,160:320:480:640:800
//-- WZ_ICEWALL
87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,0
//-- WZ_FROSTNOVA
@ -174,9 +174,9 @@
//-- WZ_STORMGUST
89,3840:4480:5120:5760:6400:7040:7680:8320:8960:9600,5000,0,4600,12000,0,960:1120:1280:1440:1600:1760:1920:2080:2240:2400
//-- WZ_EARTHSPIKE
90,448:896:1344:1792:2240:2240:2240:2240:2240:2240,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,112:224:336:448:560:560:560:560:560:560
90,448:896:1344:1792:2240,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,112:224:336:448:560
//-- WZ_HEAVENDRIVE
91,640:1280:1920:2560:3200:3200:3200:3200:3200:3200,1000,0,500,0,0,160:320:480:640:800:800:800:800:800:800
91,640:1280:1920:2560:3200,1000,0,500,0,0,160:320:480:640:800
//-- WZ_QUAGMIRE
92,0,1000,0,5000:10000:15000:20000:25000,5000:10000:15000:20000:25000,0,0
//==========================================
@ -328,13 +328,13 @@
//-- RG_RAID
214,0,0,0,5000,8000:9000:10000:11000:12000,0,0
//-- RG_STRIPWEAPON
215,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300
215,560:720:880:1140:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300
//-- RG_STRIPSHIELD
216,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300
216,560:720:880:1140:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300
//-- RG_STRIPARMOR
217,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300
217,560:720:880:1140:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300
//-- RG_STRIPHELM
218,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300
218,560:720:880:1140:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300
//-- RG_GRAFFITI
220,0,0,0,180000,0,0,0
//==========================================
@ -404,7 +404,7 @@
//-- MO_EXPLOSIONSPIRITS
270,0,0,0,180000,0,0,0
//-- MO_EXTREMITYFIST
271,2000:1750:1500:1250:1000:500:1000:1000:1000:1000,3000:2500:2000:1500:1000,0,10000,300000,0,2000:1750:1500:1250:1000:500:1000:1000:1000:1000
271,2000:1750:1500:1250:1000,3000:2500:2000:1500:1000,0,10000,300000,0,2000:1750:1500:1250:1000
//==========================================
@ -542,7 +542,7 @@
//===== High Priest ========================
//-- HP_ASSUMPTIO
361,800:1200:1600:2000:2400:2400:2400:2400:2400:2400,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0,0,200:300:400:500:600
361,800:1200:1600:2000:2400,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0,0,200:300:400:500:600
//-- HP_BASILICA
362,0,2000:3000:4000:5000:6000,0,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000,0,5000:6000:7000:8000:9000
//==========================================
@ -552,7 +552,7 @@
//-- HW_MAGICCRASHER
365,240,300,0,0,0,0,60
//-- HW_MAGICPOWER
366,0,0,0,30000,0,0,0
366,0,0,0,30000,0,0,700
//==========================================
@ -574,7 +574,7 @@
//===== Professor ==========================
//-- PF_HPCONVERSION
373,1000:1200:1400:1600:1800,0,0,0,0,0,0
373,0,1000:1200:1400:1600:1800,0,0,0,0,0
//-- PF_SOULCHANGE
374,0,0,0,0,0,0,3000
//-- PF_SOULBURN
@ -629,7 +629,7 @@
//===== Mixed Advanced Skills ==============
//-- LK_SPIRALPIERCE
397,150:250:350:450:500:500:500:500:500:500,1200:1400:1600:1800:2000,0,0,1000,0,150:250:350:450:500:500:500:500:500:500
397,150:250:350:450:500,1200:1400:1600:1800:2000,0,0,1000,0,150:250:350:450:500
//-- LK_HEADCRUSH
398,0,500,0,0,120000,0,0
//-- LK_JOINTBEAT
@ -669,7 +669,7 @@
//===== Taekwon ============================
//-- TK_RUN
411,3000:2500:2000:1500:100:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:1000:500:0:0:0:0
411,3000:2500:2000:1500:1000:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:1000:500:-1-1-1-1
//-- TK_DOWNKICK
415,0,0,0,0,3000,0,0
//-- TK_TURNKICK
@ -679,7 +679,7 @@
//-- TK_SEVENWIND
425,0,0,0,300000,0,0,0
//-- TK_HIGHJUMP
426,2500:2000:1500:1000:500:500:500:500:500:500,0,0,0,0,0,2500:2000:1500:1000:500:500:500:500:500:500
426,2500:2000:1500:1000:500,0,0,0,0,0,2500:2000:1500:1000:500
//==========================================
//===== Star Gladiator =====================
@ -747,13 +747,13 @@
//-- SL_SOULLINKER
461,0,0,0,150000:200000:250000:300000:350000,0,0,1000
//-- SL_KAIZEL
462,3600:3200:2800:2400:2000:2000:2000:2000:2000:2000,0,0,1800000,2000,0,900:800:700:600:500:500:500:500:500:500
462,3600:3200:2800:2400:2000,0,0,1800000,2000,0,900:800:700:600:500
//-- SL_KAAHI
463,0,0,0,350000,0,0,0
//-- SL_KAUPE
464,400,0,0,600000,0,0,100
//-- SL_KAITE
465,4800:4400:4000:3600:3200:2800:2400:2400:2400:2400,0,0,60000:120000:180000:240000:300000:360000:600000,0,0,1200:1100:1000:900:800:700:600:600:600:600
465,4800:4400:4000:3600:3200:2800:2400,0,0,60000:120000:180000:240000:300000:360000:600000,0,0,1200:1100:1000:900:800:700:600
//-- SL_STIN
467,80,500,0,0,0,0,20
//-- SL_STUN
@ -763,9 +763,9 @@
//-- SL_SWOO
470,800,500,0,1000:2000:3000:4000:5000:6000:7000,0,0,200
//-- SL_SKE
471,2400:1600:800:800:800:800:800:800:800:800,500,0,10000:20000:30000,3000,0,600:400:200:200:200:200:200:200:200:200
471,2400:1600:800,500,0,10000:20000:30000,3000,0,600:400:200
//-- SL_SKA
472,2400:1600:800:800:800:800:800:800:800:800,500,0,10000:20000:30000,0,0,600:400:200:200:200:200:200:200:200:200
472,2400:1600:800,500,0,10000:20000:30000,0,0,600:400:200
//==========================================
//-- SM_SELFPROVOKE
473,0,0,0,30000,0,0,0
@ -790,7 +790,7 @@
//-- HW_GANBANTEIN
483,0,5000,0,0,0,0,3000
//-- HW_GRAVITATION
484,0,0,0,5000:6000:7000:8000:9000,0,0,5000
484,0,2000,0,5000:6000:7000:8000:9000,0,0,5000
//-- WS_CARTTERMINATION
485,0,0,0,0,5000,0,0
@ -818,7 +818,7 @@
493,0,0,0,0,0,0,1000
//-- SL_HIGH
494,0,0,0,150000:200000:250000:300000:350000,0,0,0
494,0,0,0,150000:200000:250000:300000:350000,0,0,1000
//-- KN_ONEHAND
495,0,0,0,300000,0,0,0
@ -840,6 +840,8 @@
500,0,0,0,600000,0,0,0
//-- GS_FLING
501,0,0,0,30000,0,0,0
//-- GS_TRIPLEACTION
502,0,1000,0,0,0,0,0
//-- GS_BULLSEYE
503,800,1000,0,0,0,0,200
//-- GS_MADNESSCANCEL
@ -848,6 +850,8 @@
505,800,2000,0,30000,0,0,200
//-- GS_INCREASING
506,0,1000,0,60000,0,0,0
//-- GS_MAGICALBULLET
507,0,500,0,0,0,0,0
//-- GS_CRACKER
508,0,1000,0,0,5000,0,0
//-- GS_TRACKING
@ -866,6 +870,8 @@
518,1200,1000,0,0,0,0,300
//-- GS_FULLBUSTER
519,800,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000,0,200
//-- GS_SPREADATTACK
520,800,1000,0,0,0,0,200
//-- GS_GROUNDDRIFT
521,800,1000,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,10000,0,200
//==========================================
@ -875,7 +881,7 @@
//-- NJ_KUNAI
524,0,1000,0,0,0,0,0
//-- NJ_HUUMA
525,2400:2400:2400:2400:2400:2400:2400:2400:2400:2400,2000,0,100,0,0,600
525,2400,2000,0,100,0,0,600
//-- NJ_ZENYNAGE
526,0,5000,0,0,0,0,0
//-- NJ_TATAMIGAESHI
@ -899,7 +905,7 @@
//-- NJ_SUITON
538,2400,2000,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,600
//-- NJ_HYOUSYOURAKU
539,1600:2000:2400:2800:3200:3200:3200:3200:3200:3200,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,400:500:600:700:800:800:800:800:800:800
539,1600:2000:2400:2800:3200,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,400:500:600:700:800
//-- NJ_HUUJIN
540,800:1200:1600:2000:2400:2800:3200:3600:4000:4400,1000,0,0,0,0,200:300:400:500:600:700:800:900:1000:1100
//-- NJ_RAIGEKISAI
@ -907,7 +913,7 @@
//-- NJ_KAMAITACHI
542,3200,0,0,0,0,0,800
//-- NJ_NEN
543,4000:3200:2400:1600:800:800:800:800:800:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200:200:200:200:200:200
543,4000:3200:2400:1600:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200
//==========================================
//===== Gangsi Branch and Other Skills =====
@ -1020,10 +1026,10 @@
690,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,-1
//-- CASH_ASSUMPTIO
691,0,0,0,20000:40000:60000:80000:100000,0,0,-1
//-- ALL_CATCRY
692,0,5000,0,0,0,0,-1
//-- ALL_PARTYFLEE
693,0,0,0,0,0,300000,-1
//-- ALL_ANGEL_PROTECTION
694,0,0,0,30000,0,0,-1
//-- ALL_DREAM_SUMMERNIGHT
@ -1078,7 +1084,7 @@
//-- RK_SONICWAVE
2002,0,1000,0,0,0,2000,-1
//-- RK_DEATHBOUND
2003,0,2000,0,2000,0,3000,-1
2003,0,2000,0,3000,2000,3000,-1
//-- RK_HUNDREDSPEAR
2004,1000:900:800:700:600:500:400:300:200:100,500,0,0,0,3000,-1
//-- RK_WINDCUTTER
@ -1090,11 +1096,11 @@
//-- RK_DRAGONHOWLING
2009,0,0,0,15000,0,10000,-1
//-- RK_MILLENNIUMSHIELD
2011,0,1000,0,180000,60000,60000,-1
2011,0,1000,0,180000,60000,0,-1
//-- RK_CRUSHSTRIKE
2012,0,0,0,30000,30000,30000,1000
2012,0,0,0,180000,30000,0,1000
//-- RK_REFRESH
2013,0,0,0,60000,120000,120000,1000
2013,0,0,0,60000,120000,0,1000
//-- RK_GIANTGROWTH
2014,0,0,0,180000,0,0,1000
//-- RK_STONEHARDSKIN
@ -1102,7 +1108,7 @@
//-- RK_VITALITYACTIVATION
2016,0,0,0,180000,0,0,-1
//-- RK_STORMBLAST
2017,2000,1000,0,0,0,0,-1
2017,2000,0,0,0,0,0,-1
//-- RK_FIGHTINGSPIRIT
2018,0,0,0,180000,0,0,-1
//-- RK_ABUNDANCE
@ -1113,7 +1119,7 @@
5005,0,0,0,60000,0,0,-1
//==========================================
//===== Guillotine Cross ====================
//===== Guillotine Cross ===================
//-- GC_VENOMIMPRESS
2021,0,3000:2500:2000:1500:1000,0,10000:20000:30000:40000:50000,0,0,-1
//-- GC_CROSSIMPACT
@ -1125,7 +1131,7 @@
//-- GC_POISONINGWEAPON
2027,0,1000,0,60000:120000:180000:240000:300000,300000,0,-1
//-- GC_WEAPONBLOCKING
2028,0,2000,0,180000,0,0,-1
2028,0,2000,0,180000,2000,0,-1
//-- GC_COUNTERSLASH
2029,0,2000,0,0,0,0,-1
//-- GC_WEAPONCRUSH
@ -1197,27 +1203,27 @@
//-- WL_JACKFROST
2204,2000:2500:3000:3500:4000,1000,0,10000:15000:20000:25000:30000,0,0,1000
//-- WL_MARSHOFABYSS
2205,2500,1000,0,25000,0,0,500
2205,2500,1000,0,30000,0,0,500
//-- WL_RECOGNIZEDSPELL
2206,1000,1000,0,60000:90000:120000:150000:180000,0,50000:80000:110000:140000:170000,1000
//-- WL_SIENNAEXECRATE
2207,2000,2000,0,10000:12000:14000:16000:18000,0,0,-1
//-- WL_STASIS
2209,3000,1000,0,10000:15000:20000:25000:30000,0,300000,1000
2209,3000,2000,0,10000:15000:20000:25000:30000,0,180000:190000:200000:210000:220000,1000
//-- WL_DRAINLIFE
2210,4000,0,0,0,0,2000,1000
//-- WL_CRIMSONROCK
2211,5000,2000,0,3000:4000:5000:6000:7000,0,5000,2000
2211,5000,2000,0,5000,0,5000,1000
//-- WL_HELLINFERNO
2212,3000,1000,0,15000,0,0,1000
//-- WL_COMET
2213,10000:11000:12000:13000:14000,0,0,15000,0,60000,1000:1500:2000:2500:3000
2213,10000:11000:12000:13000:14000,2000,0,100,42000,60000,1000:1500:2000:2500:3000
//-- WL_CHAINLIGHTNING
2214,3500:4000:4500:5000:5500,0,0,100,0,3000,1000
//-- WL_EARTHSTRAIN
2216,2000:3000:4000:5000:6000,1000,0,150,75000:90000:105000:120000:135000,10000,2000
2216,2000:3000:4000:5000:6000,1000,0,100,75000:90000:105000:120000:135000,10000,2000
//-- WL_TETRAVORTEX
2217,5000:6000:7000:8000:9000,2000,0,20000,0,15000,2000
2217,5000:6000:7000:8000:9000,2000,0,0,0,15000,2000
//-- WL_SUMMONFB
2222,2000,0,0,120000:160000:200000:240000:280000,0,0,-1
//-- WL_SUMMONBL
@ -1227,7 +1233,7 @@
//-- WL_SUMMONSTONE
2229,2000,0,0,120000:160000:200000:240000:280000,0,0,-1
//-- WL_READING_SB
2231,5000,500,0,0,0,0,1000
2231,5000,500,0,30000,0,0,1000
//-- WL_TELEKINESIS_INTENSE
5012,1000,0,0,180000,0,300000,-1
//==========================================
@ -1236,7 +1242,7 @@
//-- RA_ARROWSTORM
2233,2000:2200:2400:2600:2800:3000:3200:3400:3600:3800,0,0,0,0,5000:4800:4600:4400:4200:4000:3800:3600:3400:3200,-1
//-- RA_FEARBREEZE
2234,2000,0,0,60000:90000:120000:150000:180000,0,0,0
2234,0,0,0,60000:90000:120000:150000:180000,0,0,2000
//-- RA_AIMEDBOLT
2236,4000,1000,0,0,0,0,500
//-- RA_DETONATOR
@ -1266,7 +1272,7 @@
//-- RA_FIRINGTRAP
2253,0,0,0,15000,15000,0,-1
//-- RA_ICEBOUNDTRAP
2254,0,0,0,20000,15000,0,-1
2254,0,0,0,15000,20000,0,-1
//-- RA_UNLIMIT
5002,0,500,0,60000,0,300000,1000
//==========================================
@ -1281,7 +1287,7 @@
//-- NC_FLAMELAUNCHER
2259,500:1000:1500,1500:1000:500,0,7000:14000:21000,0,0,500
//-- NC_COLDSLOWER
2260,1000,1000:2000:3000,0,7000:14000:21000,0,0,-1
2260,1000,1000:2000:3000,0,7000:14000:21000,40000,0,-1
// -- NC_ARMSCANNON
2261,1400:1600:1800,500:1000:2000,0,0,0,0,600:400:200
//-- NC_ACCELERATION
@ -1301,7 +1307,7 @@
//-- NC_INFRAREDSCAN
2270,0,500,0,3000,0,3000,-1
//-- NC_ANALYZE
2271,0,1000,0,20000,0,0,-1
2271,0,1000,0,20000,0,0,1000
//-- NC_MAGNETICFIELD
2272,0,0,0,4000:6000:8000,0,20000:15000:10000,-1
//-- NC_NEUTRALBARRIER
@ -1323,7 +1329,7 @@
//-- NC_DISJOINT
2283,2000,0,0,0,0,0,-1
//-- NC_MAGMA_ERUPTION (dur1=stun, dur2=burning)
5006,1000,0,0,10000,42000,0,-1
5006,1000,0,0,10000,42000,10000:9000:8000:7000:6000,-1
//==========================================
//===== Shadow Chaser ======================
@ -1338,7 +1344,7 @@
//-- SC_TRIANGLESHOT
2288,1000,500,0,0,0,0,-1
//-- SC_BODYPAINT
2289,0,1000,0,5000:7000:9000:11000:13000,0,2000,-1
2289,0,1000,0,5000:7000:9000:11000:13000,10000,2000,-1
//-- SC_INVISIBILITY
2290,1000,1000,0,0,0,20000:30000:40000:50000:60000,-1
//-- SC_DEADLYINFECT
@ -1355,7 +1361,7 @@
2296,2000,1000,0,10000:15000:20000,0,2000,-1
//-- SC_WEAKNESS
2297,2000,1000,0,10000:15000:20000,0,2000,-1
//-- SC_STRIPACCESORY
//-- SC_STRIPACCESSARY
2298,1000,1000,0,60000:70000:80000:90000:100000,0,0,-1
//-- SC_MANHOLE
2299,1000,2000,0,5000:10000:15000,5000:10000:15000,0,-1
@ -1365,49 +1371,49 @@
2301,2000,2000,0,5000:10000:15000,4000:8000:12000,0,-1
//-- SC_MAELSTROM
2302,2000,2000,0,7000:14000:21000,0,0,-1
//-- SC_BLOODYLUST //dur2=intr
//-- SC_BLOODYLUST
2303,2000,2000,0,10000:20000:30000,0,180000,-1
//-- SC_FEINTBOMB
2304,1000,0,0,500,1500,5000,-1
//-- SC_ESCAPE
5010,0,0,0,1000,0,15000,-1
5010,0,500,0,50000,20000,10000:8000:6000:4000:2000,-1
//==========================================
//==== Royal Guard skills ==================
//-- LG_CANNONSPEAR
2307,0,0,0,0,0,2000,-1
//-- LG_TRAMPLE
2309,0,0,0,0,0,1000,-1
2309,0,1000,0,0,0,0,-1
//-- LG_SHIELDPRESS
2310,0,0,0,3500:4000:4500:5000:5500,0,2000,-1
//-- LG_REFLECTDAMAGE
2311,0,0,0,300000,0,0,-1
//-- LG_PINPOINTATTACK
2312,0,1000,0,5000,0,5000,-1
2312,0,1000,0,12000,0,5000,-1
//-- LG_FORCEOFVANGUARD
2313,0,1000,0,300000,0,0,-1
2313,0,1000,0,300000,0,0,1000
//-- LG_RAGEBURST
2314,0,3000,0,0,0,0,-1
//-- LG_SHIELDSPELL //TODO apply proper duration [malufett]
2315,1000,1000,0,3000:30000:30000,0,2000,0
//-- LG_SHIELDSPELL
2315,1000,1000,0,3000:30000:30000,0,2000,-1
//-- LG_EXEEDBREAK
2316,5000:5500:6000:6500:7000,1000,0,300000,0,0,0
2316,5000:5500:6000:6500:7000,1000,0,300000,0,0,-1
//-- LG_OVERBRAND
2317,500,2000,0,0,0,0,0
2317,500,2000,0,0,0,0,-1
//-- LG_PRESTIGE
2318,1000,0,0,30000:45000:60000:75000:90000,0,60000,2000
//-- LG_BANDING
2319,0,0,0,-1,2000:4000:6000:8000:10000,0,-1
//-- LG_MOONSLASHER
2320,1000,1000,0,0,0,6000:5000:4000:3000:2000,0
2320,1000,1000,0,0,0,6000:5000:4000:3000:2000,-1
//-- LG_RAYOFGENESIS
2321,2000:2500:3000:3500:4000,2000,0,10000,0,5000,500
//-- LG_PIETY
2322,3000:2500:2000:1500:1000,0,0,60000:80000:100000:120000:140000,0,0,0
2322,3000:2500:2000:1500:1000,0,0,60000:80000:100000:120000:140000,0,0,-1
//-- LG_EARTHDRIVE
2323,1000,1000,0,3000:6000:9000:12000:15000,0,7000:6000:5000:4000:3000,0
2323,1000,1000,0,3000:6000:9000:12000:15000,0,7000:6000:5000:4000:3000,-1
//-- LG_HESPERUSLIT
2324,1000,3000,0,0,0,20000,0
2324,1000,3000,0,0,0,20000,-1
//-- LG_INSPIRATION
2325,2000,2000,0,30000:45000:60000:75000:90000,0,540000:480000:420000:360000:300000,1000
//-- LG_KINGS_GRACE
@ -1470,7 +1476,7 @@
//==== Minstresl skills ====================
//-- MI_RUSH_WINDMILL
2381,0,2000,0,60000,0,0,-1
2381,1000,2000,0,60000,0,0,-1
//-- MI_ECHOSONG
2382,1000,2000,0,60000,0,0,-1
//-- MI_HARMONIZE
@ -1485,13 +1491,13 @@
//-- WM_DOMINION_IMPULSE
2417,0,1000,0,0,0,0,-1
//-- WM_SEVERE_RAINSTORM
2418,1500:2000:2500:3000:3500,1000,0,3300,0,5000:5500:6000:6500:7000,500
2418,1500:2000:2500:3000:3500,1000,0,3400,0,5000:5500:6000:6500:7000,500
//-- WM_POEMOFNETHERWORLD
2419,3000,0,0,9000:11000:13000:15000:17000,8000:10000:12000:14000:16000,0,-1
//-- WM_VOICEOFSIREN
2420,2000:2200:2400:2600:2800,1000,0,15000:18000:21000:24000:27000,0,5000,-1
//-- WM_DEADHILLHERE
2421,4000:3500:3000:2500:2000,1000,0,0,0,0,1000
2421,3000:2500:2000:1500:1000,1000,0,0,0,0,1000
//-- WM_LULLABY_DEEPSLEEP
2422,2000,1000,0,12000:14000:16000:18000:20000,0,10000,1000
//-- WM_SIRCLEOFNATURE
@ -1507,7 +1513,7 @@
//-- WM_DANCE_WITH_WUG
2428,1500:2000:2500:3000:3500,1000,0,30000:60000:90000:120000:150000,0,90000,500
//-- WM_SOUND_OF_DESTRUCTION
2429,0:500:1000:1500:2000,1000,0,0,0,6000:7000:8000:9000:10000,500
2429,0:500:1000:1500:2000,1000,0,5000,0,6000:7000:8000:9000:10000,500
//-- WM_SATURDAY_NIGHT_FEVER
2430,1000:2000:3000:4000:5000,1000,0,10000:15000:20000:25000:30000,10000:8000:6000:4000:2000,180000,1000
//-- WM_LERADS_DEW
@ -1523,10 +1529,10 @@
//==========================================
//==== Sorcerer skills =====================
//-- SO_FIREWALK //CHECK Duration 2 needs to be added for the PROPERTYWALK status ID. Ask me for more info. [Rytech]
2443,1000,1000,0,12000,0,0,-1
//-- SO_ELECTRICWALK //CHECK Duration 2 needs to be added for the PROPERTYWALK status ID. Ask me for more info. [Rytech]
2444,1000,1000,0,12000,0,0,-1
//-- SO_FIREWALK
2443,1000,1000,0,30000,12000,0,-1
//-- SO_ELECTRICWALK
2444,1000,1000,0,30000,12000,0,-1
//-- SO_SPELLFIST
2445,0,1000,0,20000:25000:30000:35000:40000,0,0,0
//-- SO_EARTHGRAVE
@ -1534,11 +1540,11 @@
//-- SO_DIAMONDDUST
2447,5000:5500:6000:6500:7000,1000,0,500,12000:14000:16000:18000:20000,5000,800:600:400:200:-1
//-- SO_POISON_BUSTER
2448,2200:3400:4600:5800:7000,1000,0,0,0,2000,800:600:400:200:-1
2448,2200:3400:4600:5800:6000,1000,0,0,0,2000,800:600:400:200:-1
//-- SO_PSYCHIC_WAVE
2449,8000:9000:10000:11000:12000,1000,0,1200:1700:2200:2700:3200,0,5000,1000:900:800:700:600
//-- SO_CLOUD_KILL
2450,2300:2500:2700:2900:3100,1000,0,8000:10000:12000:14000:16000,10000:15000:20000:25000:30000,5000,700:500:300:100:-1
2450,2300:2500:2700:2900:3100,1000,0,8000:10000:12000:14000:16000,4000:8000:12000:16000:20000,5000,700:500:300:100:-1
//-- SO_STRIKING
2451,1000,1000,0,60000,0,2000,-1
//-- SO_WARMER
@ -1546,7 +1552,7 @@
//-- SO_VACUUM_EXTREME
2453,1000:1500:2000:2500:3000,1000,0,4000:6000:8000:10000:12000,2000,5000,-1
//-- SO_VARETYR_SPEAR
2454,2200:2400:2600:2800:3000,1000,0,0,2200:2400:2600:2800:3000,2000,1800:1600:1400:1200:1000
2454,2200:2400:2600:2800:3000,1000,0,2200:2400:2600:2800:3000,0,2000,1800:1600:1400:1200:1000
//-- SO_ARRULLO
2455,2200:2400:2600:2800:3000,1000,0,8000:10000:12000:14000:16000,0,5000:6000:7000:8000:9000,800:600:400:200:-1
//-- SO_EL_CONTROL
@ -1573,8 +1579,6 @@
2467,1000,0,0,60000,0,60000,1000
//-- SO_EARTH_INSIGNIA
2468,1000,0,0,60000,0,60000,1000
//-- SO_ELEMENTAL_SHIELD
5008,1000,0,0,10000,0,10000,-1
//==========================================
//==== Genetic skills ======================
@ -1627,58 +1631,58 @@
//===== Misc. Skills =======================
//-- ALL_ODINS_RECALL
2533,10000,0,0,0,0,300000,0
2533,0,0,0,0,0,0,10000
//-- RETURN_TO_ELDICASTES
2534,3000,0,0,0,0,300000,0
2534,0,0,0,0,0,300000,2000
//-- ALL_GUARDIAN_RECALL
2536,3000,0,0,0,0,300000,0
2536,0,0,0,0,0,300000,3000
//-- ALL_ODINS_POWER
2537,0,0,0,60000,0,0,0
//==========================================
//===== Rebellion ==========================
//===== Rebellion Skills ===================
//-- RL_GLITTERING_GREED
//2551,0,0,0,0,0,0,-1
//-- RL_RICHS_COIN
2552,0,1000,0,600000,0,0,-1
2552,0,1000,0,600000,0,3000,-1
//-- RL_MASS_SPIRAL
2553,2000,1000,0,0,30000,1000,-1
2553,1000,1000,0,0,30000,10000,2000
//-- RL_BANISHING_BUSTER
2554,3000:2500:2000:1500:1000,1000,0,0,0,1500,-1
2554,3000:2500:2000:1500:1000,0,0,0,0,10000,-1
//-- RL_B_TRAP
2555,0,0,0,4000,6000:7000:8000:9000:10000,2000,-1
2555,0,0,0,10000:11000:12000:13000:14000,6000:7000:8000:9000:10000,0,-1
//-- RL_FLICKER
2556,0,500,0,0,0,2000,-1
2556,0,0,0,0,0,10000,-1
//-- RL_S_STORM
2557,3000:2500:2000:1500:1000,1000,0,0,0,2000,-1
2557,3000:2500:2000:1500:1000,0,0,0,0,2000,-1
//-- RL_E_CHAIN
2558,0,500,0,45000:60000:75000:90000:105000:120000:135000:150000:165000:180000,0,5000,-1
2558,0,1000,0,45000:60000:75000:90000:105000:120000:135000:150000:165000:180000,0,5000,-1
//-- RL_QD_SHOT
2559,0,1000,0,1500,0,5000,-1
//-- RL_C_MARKER
2560,0,0,0,30000,0,1000,-1
//-- RL_FIREDANCE
2561,1600:1500:1400:1200:1000,1500,0,0,0,5000,-1
2561,0,2000,0,0,0,5000,-1
//-- RL_H_MINE
2562,2000,1500,0,30000,15000,5000:4500:4000:3500:3000,-1
2562,1500,0,0,30000,15000,5000:4500:4000:3500:3000,500
//-- RL_P_ALTER
2563,0,1000,0,30000:45000:60000:75000:90000,0,5000,-1
//-- RL_FALLEN_ANGEL
2564,0,1500,0,0,0,4500:4000:3500:2500:2000,-1
2564,500,1500,0,0,0,10000:8000:6000:4000:2000,500
//-- RL_R_TRIP
2565,0,1500,0,0,0,3000,-1
2565,0,1000,0,0,0,1000,-1
//-- RL_D_TAIL
2566,2000,1500,0,0,0,5000,-1
2566,500,2000,0,0,0,5000,500
//-- RL_FIRE_RAIN
2567,0,1500,0,100,0,5000,-1
2567,1800:1600:1400:1200:1000,2000,0,100,0,5000,200
//-- RL_HEAT_BARREL
2568,0,1000,0,60000,10000,10000,-1
//-- RL_AM_BLAST
2569,2000,1500,0,0,6000:7000:8000:9000:10000,1000,1000
2569,2000,1000,0,0,6000:7000:8000:9000:10000,5000,1000
//-- RL_SLUGSHOT
2570,5000:6000:7000:8000:9000,1000,0,2000,0,1500,1000
2570,5000:6000:7000:8000:9000,1000,0,0,2000,10000,1000
//-- RL_HAMMER_OF_GOD
2571,3000,1000,0,0,3000:3000:4000:4000:5000,3000,-1
2571,8000,2000,0,0,3000:3000:4000:4000:5000,30000,2000
//-- RL_R_TRIP_PLUSATK
//2572,0,0,0,0,0,0,-1
//-- RL_B_FLICKER_ATK
@ -1687,7 +1691,7 @@
//2574,0,0,0,0,0,0,-1
//==========================================
//==== Kagerou & Oboro skills ==============
//==== Kagerou & Oboro Skills ==============
//-- KO_YAMIKUMO
3001,0,0,0,200000,0,0,-1
//-- KO_JYUMONJIKIRI
@ -1695,35 +1699,35 @@
//-- KO_SETSUDAN
3005,0,0,0,0,0,3000,-1
//-- KO_BAKURETSU
3006,1000:1400:1800:2200:2600,1000,0,100,0,3000,0
3006,1000:1400:1800:2200:2600,1000,0,100,0,3000,-1
//-- KO_HAPPOKUNAI
3007,0,500,0,0,0,0,-1
//-- KO_MUCHANAGE
3008,1000,0,0,100,0,10000,-1
3008,1000,0,0,0,0,10000,-1
//-- KO_HUUMARANKA
3009,1000:1200:1400:1600:1800,1000,0,500,0,3000,-1
3009,1000:1200:1400:1600:1800,1000,0,100,0,3000,-1
//-- KO_MAKIBISHI
3010,0,0,0,12000:14000:16000:18000:20000,2500:3000:3500:4000:4500,10000,-1
//-- KO_MEIKYOUSISUI
3011,3000,0,0,10000,0,10000,0
3011,3000,0,0,10000,0,10000,-1
//-- KO_ZANZOU
3012,0,1000,0,27000:24000:21000:18000:15000,0,30000:27000:24000:21000:18000,-1
//-- KO_KYOUGAKU
3013,3000:2500:2000:1500:1000,1000,0,12000:14000:16000:18000:20000,0,10000,0
3013,3000:2500:2000:1500:1000,1000,0,12000:14000:16000:18000:20000,0,10000,-1
//-- KO_JYUSATSU
3014,3000:2500:2000:1500:1000,1000,0,8000:10000:12000:14000:16000,0,10000,0
3014,3000:2500:2000:1500:1000,1000,0,8000:10000:12000:14000:16000,0,10000,-1
//-- KO_KAHU_ENTEN
3015,2000,0,0,300000,0,0,0
3015,2000,0,0,300000,0,0,-1
//-- KO_HYOUHU_HUBUKI
3016,2000,0,0,300000,0,0,0
3016,2000,0,0,300000,0,0,-1
//-- KO_KAZEHU_SEIRAN
3017,2000,0,0,300000,0,0,0
3017,2000,0,0,300000,0,0,-1
//-- KO_DOHU_KOUKAI
3018,2000,0,0,300000,0,0,0
3018,2000,0,0,300000,0,0,-1
//-- KO_ZENKAI
3020,0,1000,0,10000,10000,0,0
3020,0,1000,0,10000,0,0,-1
//-- KO_GENWAKU
3021,3000:2500:2000:1500:1000,1000,0,30000,0,10000,0
3021,3000:2500:2000:1500:1000,1000,0,30000,0,10000,-1
//-- KO_IZAYOI
3022,0,0,0,30000:45000:60000:75000:90000,0,60000,-1
//-- KG_KAGEHUMI
@ -1754,7 +1758,7 @@
//==========================================
//-- ALL_FULL_THROTTLE
5014,0,0,0,10000:15000:20000:25000:30000,10000,3000000,-1
5014,0,0,0,10000:15000:20000:25000:30000,10000,1800000,-1
//===== Homunculus Skills ==================
//-- HLIF_HEAL
@ -1772,9 +1776,11 @@
//-- HFLI_MOON
8009,0,0,2000,0,0,0,-1
//-- HFLI_FLEET
8010,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000,0,-1
8010,0,0,0,60000:55000:50000:45000:40000,60000:75000:90000:105000:120000,0,-1
//-- HFLI_SPEED
8011,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000,0,-1
8011,0,0,0,60000:55000:50000:45000:40000,60000:75000:90000:105000:120000,0,-1
//-- HFLI_SBR44
8012,0,1000,0,0,0,0,-1
//-- HVAN_CAPRICE
8013,0,2000:2200:2400:2600:2800,0,0,0,0,-1
//-- HVAN_CHAOTIC
@ -1786,7 +1792,7 @@
//-- MH_SUMMON_LEGION
8018,1600:1400:1200:1000:800,0,0,20000:30000:40000:50000:60000,0,0,400:600:800:1000:1200
//-- MH_NEEDLE_OF_PARALYZE
8019,1000:1100:1200:1300:1400,0,0,12000:14000:16000:18000:20000,0,0,500:400:300:200:100
8019,1000:1100:1200:1300:1400,2000,0,12000:14000:16000:18000:20000,0,0,500:400:300:200:100
//-- MH_POISON_MIST
8020,500:700:900:1100:1300,0,0,12000:14000:16000:18000:20000,4000:6000:8000:10000:12000,0,500
//-- MH_PAIN_KILLER
@ -1798,49 +1804,49 @@
//-- MH_ERASER_CUTTER
8024,1000:1500:2000:2500:3000,2000,0,0,0,0,-1
//-- MH_XENO_SLASHER
8025,1500:2500:3500:4500:5500,5000,0,500,0,0,500
8025,1500:2500:3500:4500:5500,5000,0,500,120000,0,500
//-- MH_SILENT_BREEZE
8026,1000:1200:1400:1600:1800,0,0,9000:12000:15000:18000:21000,0,0,1000:800:600:400:200
//-- MH_STYLE_CHANGE
//8027,0,0,0,0,0,0,0
8027,0,1000,0,0,0,0,500
//-- MH_SONIC_CRAW
//8028,0,0,0,0,0,0,0
8028,0,1000,0,0,0,0,-1
//-- MH_SILVERVEIN_RUSH
//8029,0,0,0,0,0,0,0
8029,0,0,0,5000,0,2000,-1
//-- MH_MIDNIGHT_FRENZY
//8030,0,0,0,0,0,0,0
8030,0,0,0,10000,0,2000,-1
//-- MH_STAHL_HORN
8031,800:600:400:200:0,0,0,5000,0,0,200:400:600:800:1000
8031,800:600:400:200:0,3000,0,5000,0,0,200:400:600:800:1000
//-- MH_GOLDENE_FERSE
8032,1000:1200:1400:1600:1800,0,0,30000:45000:60000:75000:90000,0,0,-1
//-- MH_STEINWAND
8033,1000,0,0,30000:45000:60000:75000:90000,0,0,-1
//-- MH_HEILIGE_STANGE
8034,200:400:600:800:1000,0,0,0,0,0,1800:1600:1400:1200:1000
8034,200:400:600:800:1000,5000,0,0,0,0,1800:1600:1400:1200:1000
//-- MH_ANGRIFFS_MODUS
8035,200:400:600:800:1000,0,0,30000:45000:60000:75000:90000,0,0,-1
//-- MH_TINDER_BREAKER
//8036,0,0,0,5000,0,0,0
8036,1000,0,0,0,0,0,-1
//-- MH_CBC
//8037,0,0,0,0,0,0,0
//-- MH_EQC
//8038,0,0,0,0,0,0,0
8038,0,1000,0,0,0,0,-1
//-- MH_MAGMA_FLOW
8039,2000:2500:3000:3500:4000,0,0,30000:45000:60000:75000:90000,0,0,2000:1500:1000:500:-1
8039,2000:2500:3000:3500:4000,1000,0,30000:45000:60000:75000:90000,0,0,2000:1500:1000:500:-1
//-- MH_GRANITIC_ARMOR
8040,6000:5500:5000:4500:4000,0,0,60000,0,0,1000
8040,5000:4500:4000:3500:3000,1000,0,60000,0,0,1000
//-- MH_LAVA_SLIDE
8041,6000:5500:5000:4500:4000,0,0,12000:14000:16000:18000:20000,0,0,1000
8041,5000:4500:4000:3500:3000,1000,0,12000:14000:16000:18000:20000,20000,0,1000
//-- MH_PYROCLASTIC
8042,5000:4500:4000:3500:3000,0,0,60000:90000:120000:150000:180000,0,0,1000
8042,1000:1500:2000:2500:3000,1000,0,60000:90000:120000:150000:180000,0,0,200
//-- MH_VOLCANIC_ASH
8043,5000:4500:4000:3500:3000,0,0,12000:14000:16000:18000:20000,0,0,1000
8043,4000:3500:3000:2500:2000,1000,0,12000:14000:16000:18000:20000,0,0,1000
//===== Mercenary Skills ===================
//-- MS_MAGNUM
8202,0,1500,2000,2000,10000,0,0
//-- MS_BOWLINGBASH
8203,700,2500,0,0,0,0,0
8203,400,2500,0,0,0,0,100
//-- MS_PARRYING
8204,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0,0
//-- MS_REFLECTSHIELD
@ -1866,7 +1872,7 @@
//-- ML_BRANDISHSPEAR
8217,350,1200,0,0,0,0,350
//-- ML_SPIRALPIERCE
8218,150:250:350:450:500:500:500:500:500:500,2500,0,0,1000,0,150:250:350:450:500:500:500:500:500:500
8218,150:250:350:450:500,2500,0,0,1000,0,150:250:350:450:500
//-- ML_DEFENDER
8219,0,800,0,180000,0,0,0
//-- ML_AUTOGUARD
@ -1909,7 +1915,7 @@
//-- EL_WATER_DROP
8405,0,0,0,-1,0,0,-1
//-- EL_WATER_BARRIER
8406,1000,0,0,15000,0,0,-1
8406,0,0,0,15000,0,0,-1
//-- EL_WIND_STEP
8407,0,0,0,-1,0,0,-1
//-- EL_WIND_CURTAIN

View File

@ -41,6 +41,7 @@
// 0x08000 - skill that ignore bg reduction
// 0x10000 - skill that ignore gvg reduction
// 0x20000 - makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
// 0x40000 - skill that can hit trap-type skill (inf2 has 0x00080)
// 13 maxcount: max amount of skill instances to place on the ground when
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
// that attack using a path, this is the path length to be used.
@ -76,7 +77,7 @@
4,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SM_RECOVERY,Increase HP Recovery
5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, SM_BASH,Bash
6,9,6,1,0,1,0,10,1,no,0,0,0,none,0,0x0, SM_PROVOKE,Provoke
7,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2,0x0, SM_MAGNUM,Magnum Break
7,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, SM_MAGNUM,Magnum Break
8,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SM_ENDURE,Endure
//****
@ -128,7 +129,7 @@
44,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, AC_VULTURE,Vulture's Eye
45,0,6,4,0,0x3,3,10,1,no,0,0,0,weapon,0,0x0, AC_CONCENTRATION,Improve Concentration
46,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,0x80, AC_DOUBLE,Double Strafe
47,-9,6,2,-1,0x2,2,10,1,no,0,0x0,0,weapon,2,0x81, AC_SHOWER,Arrow Shower
47,-9,6,2,-1,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x81, AC_SHOWER,Arrow Shower
//****
// Thief
@ -146,11 +147,11 @@
55,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, KN_SPEARMASTERY,Spear Mastery
56,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, KN_PIERCE,Pierce
57,-2,6,1,-1,0x1,0,10,1,no,0,0,0,weapon,3,0x20000, KN_BRANDISHSPEAR,Brandish Spear
58,-4,6,1,-1,0x2,0,10,1,no,0,0,0,weapon,6,0x0, KN_SPEARSTAB,Spear Stab
58,-4,6,1,-1,0x2,0,10,1,no,0,0x40000,0,weapon,6,0x0, KN_SPEARSTAB,Spear Stab
59,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KN_SPEARBOOMERANG,Spear Boomerang
60,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, KN_TWOHANDQUICKEN,Twohand Quicken
61,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KN_AUTOCOUNTER,Counter Attack
62,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, KN_BOWLINGBASH,Bowling Bash
62,-2,6,1,-1,0x2,1,10,1,no,0,0x40000,0,weapon,1,0x0, KN_BOWLINGBASH,Bowling Bash
63,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0,0x0, KN_RIDING,Peco Peco Riding
64,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KN_CAVALIERMASTERY,Cavalier Mastery
@ -175,7 +176,7 @@
//****
// Wizard
80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,-3:-4:-5:-6:-7:-8:-9:-10:-11:-12:-12,yes,0,0x2000,5,magic,0,0x0, WZ_FIREPILLAR,Fire Pillar
81,0,6,4,3,0,7,10,1,yes,0,0x2000,0,magic,5,0x20, WZ_SIGHTRASHER,Sightrasher
81,0,6,4,3,0x2,7,10,1,yes,0,0x42000,0,magic,5,0x20, WZ_SIGHTRASHER,Sightrasher
83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0x2000,0,magic,0,0x20, WZ_METEOR,Meteor Storm
84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2000,0,magic,2:3:3:4:4:5:5:6:6:7,0x20, WZ_JUPITEL,Jupitel Thunder
85,9,8,2,4,0,0,10,-10,yes,0,0x2000,0,magic,0,0x20, WZ_VERMILION,Lord of Vermilion
@ -217,13 +218,13 @@
115,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10,0x3000, HT_SKIDTRAP,Skid Trap
116,3,6,2,2,0x42,0,5,1,no,0,0x80,0,misc,0,0x3800, HT_LANDMINE,Land Mine
117,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,0,0x3000, HT_ANKLESNARE,Ankle Snare
118,3,6,2,0,0x2,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_SHOCKWAVE,Shockwave Trap
118,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_SHOCKWAVE,Shockwave Trap
119,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0,0x3000, HT_SANDMAN,Sandman
120,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_FLASHER,Flasher
121,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x3800, HT_FREEZINGTRAP,Freezing Trap
122,3,6,2,4,0x42,1,5,1,no,0,0x80,0,misc,0,0x3800, HT_BLASTMINE,Blast Mine
123,3,6,2,3,0x42,2,5,1,no,0,0x80,0,misc,0,0x3800, HT_CLAYMORETRAP,Claymore Trap
124,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0,0x0, HT_REMOVETRAP,Remove Trap
123,3,6,2,3,0x42,2,5,1,no,0,0x40080,0,misc,0,0x3800, HT_CLAYMORETRAP,Claymore Trap
124,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, HT_REMOVETRAP,Remove Trap
125,3,6,2,0,0x1,0,1,1,no,0,0x80,0,misc,0,0x2000, HT_TALKIEBOX,Talkie Box
126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, HT_BEASTBANE,Beast Bane
127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0,0x0, HT_FALCON,Falconry Mastery
@ -258,7 +259,7 @@
150,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,5,0x40, TF_BACKSLIDING,Back Slide
151,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, TF_PICKSTONE,Find Stone
152,7,6,1,0,0x40,0,1,1,no,0,0x1,0,misc,0,0x0, TF_THROWSTONE,Stone Fling
153,1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,2,0x0, MC_CARTREVOLUTION,Cart Revolution
153,1,6,1,-1,0x2,1,1,1,no,0,0x40001,0,weapon,2,0x0, MC_CARTREVOLUTION,Cart Revolution
154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, MC_CHANGECART,Change Cart
155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0, MC_LOUD,Crazy Uproar
156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0,0x20, AL_HOLYLIGHT,Holy Light
@ -325,7 +326,7 @@
211,1,6,1,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, RG_STEALCOIN,Mug
212,-1,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0,0x4, RG_BACKSTAP,Back Stab
213,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RG_TUNNELDRIVE,Stalk
214,0,6,4,-1,0x2,3,5,1,no,0,0,0,weapon,0,0x4, RG_RAID,Sightless Mind
214,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x4, RG_RAID,Sightless Mind
215,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x20, RG_STRIPWEAPON,Divest Weapon
216,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x20, RG_STRIPSHIELD,Divest Shield
217,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x20, RG_STRIPARMOR,Divest Armor
@ -369,8 +370,8 @@
249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_AUTOGUARD,Guard
250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9,0x0, CR_SHIELDCHARGE,Smite
251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x20000, CR_SHIELDBOOMERANG,Shield Boomerang
252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect
253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross
252,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect
253,-2,8,1,6,0,0,10,-2,no,0,0x40000,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross
254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0,0x0, CR_GRANDCROSS,Grand Cross
255,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0,0x0, CR_DEVOTION,Sacrifice
256,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,none,0,0x0, CR_PROVIDENCE,Resistant Souls
@ -383,15 +384,15 @@
260,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, MO_SPIRITSRECOVERY,Spiritual Cadence
261,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, MO_CALLSPIRITS,Summon Spirit Sphere
262,9,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0,0x0, MO_ABSORBSPIRITS,Absorb Spirit Sphere
263,-1,8,0,-1,0,0,10,-3,no,0,0,0,weapon,0,0x0, MO_TRIPLEATTACK,Raging Trifecta Blow
263,-1,8,0,-1,0,0,10,-3,no,0,0x40000,0,weapon,0,0x0, MO_TRIPLEATTACK,Raging Trifecta Blow
264,18,6,2,0,0x1,0,1,1,no,0,0,0,none,0,0x0, MO_BODYRELOCATION,Snap
265,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, MO_DODGE,Dodge
266,2,6,1,-1,0x40,0,5,1,no,0,0,0,weapon,0,0x0, MO_INVESTIGATE,Occult Impaction
267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0,0,weapon,0,0x0, MO_FINGEROFFENSIVE,Throw Spirit Sphere
266,2,6,1,-1,0x40,0,5,1,no,0,0x40000,0,weapon,0,0x0, MO_INVESTIGATE,Occult Impaction
267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0x40000,0,weapon,0,0x0, MO_FINGEROFFENSIVE,Throw Spirit Sphere
268,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, MO_STEELBODY,Mental Strength
269,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, MO_BLADESTOP,Root
270,0,6,4,0,0x1,0,5,0,no,0,0,0,weapon,0,0x0, MO_EXPLOSIONSPIRITS,Fury
271,-2,6,1,0,0x60,0,5,1,yes,0,0,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike
271,-2,6,1,0,0x60,0,5,1,yes,0,0x40000,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike
272,-2,8,4,-1,0,0,5,-4,no,0,0x200,0,weapon,0,0x0, MO_CHAINCOMBO,Raging Quadruple Blow
273,-2,6,4,-1,0x2,2,5,1,no,0,0x200,0,weapon,0,0x0, MO_COMBOFINISH,Raging Thrust
@ -561,7 +562,7 @@
//****
// Stalker
389,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x60, ST_CHASEWALK,Stealth
390,0,0,4,0,0,0,5,1,yes,0,0,0,weapon,0,0x0, ST_REJECTSWORD,Counter Instinct
390,0,0,4,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0, ST_REJECTSWORD,Counter Instinct
//391,0,0,4,0,1,0,1,1,yes,0,0,0,magic,0,0x0, ST_STEALBACKPACK,Steal Backpack
//****
@ -577,7 +578,7 @@
//****
// Lord Knight
397,5,8,1,-1,0,0,5,5,no,0,0,0,weapon,0,0x20000, LK_SPIRALPIERCE,Spiral Pierce
397,5,8,1,-1,0,0,5,5,no,0,0x40000,0,weapon,0,0x20000, LK_SPIRALPIERCE,Spiral Pierce
398,4,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, LK_HEADCRUSH,Traumatic Blow
399,4,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, LK_JOINTBEAT,Vital Strike
@ -598,7 +599,7 @@
//****
// Assassin Cross
406,0,6,4,-1,0xA,2,10,1,no,0,0,0,weapon,0,0x0, ASC_METEORASSAULT,Meteor Assault
406,0,6,4,-1,0xA,2,10,1,no,0,0x40000,0,weapon,0,0x0, ASC_METEORASSAULT,Meteor Assault
407,0,6,4,0,0x1,0,1,0,no,0,0,0,none,0,0x0, ASC_CDP,Create Deadly Poison
//****
@ -629,9 +630,9 @@
//****
// Star Gladiator
427,0,6,4,0,0x1,0,3,1,yes,0,0,0,magic,0,0x0, SG_FEEL,Feeling the Sun Moon and Stars
428,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_SUN_WARM,Warmth of the Sun
429,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_MOON_WARM,Warmth of the Moon
430,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2,0x1, SG_STAR_WARM,Warmth of the Stars
428,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_SUN_WARM,Warmth of the Sun
429,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_MOON_WARM,Warmth of the Moon
430,1,6,4,-1,0x3,1,3,1,yes,0,0,0,weapon,2,0x1, SG_STAR_WARM,Warmth of the Stars
431,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_SUN_COMFORT,Comfort of the Sun
432,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_MOON_COMFORT,Comfort of the Moon
433,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0,0x0, SG_STAR_COMFORT,Comfort of the Stars
@ -689,7 +690,7 @@
//****
// Other 2nd Skills
473,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, SM_SELFPROVOKE,Provoke Self
473,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, SM_SELFPROVOKE,Provoke Self
474,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0,0x0, NPC_EMOTION_ON,Emotion ON
475,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, ST_PRESERVE,Preserve
476,1,6,1,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x20, ST_FULLSTRIP,Divest All
@ -719,14 +720,14 @@
//****
// Gunslinger
500,0,6,4,0,0x40,0,5,1,no,0,0,0,misc,0,0x0, GS_GLITTERING,Flip the Coin
500,0,6,4,0,0x41,0,5,1,no,0,0,0,misc,0,0x0, GS_GLITTERING,Flip the Coin
501,9,6,1,-1,0x50,0,1,1,no,0,0,0,misc,0,0x0, GS_FLING,Fling
502,-9,8,1,-1,0,0,1,3,no,0,0,0,weapon,0,0x0, GS_TRIPLEACTION,Triple Action
503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0,0x0, GS_BULLSEYE,Bulls Eye
504,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, GS_MADNESSCANCEL,Madness Canceller
505,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, GS_ADJUSTMENT,AdJustment
506,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, GS_INCREASING,Increasing Accuracy
507,-9,6,1,8,0,0,1,1,no,0,0,0,weapon,0,0x0, GS_MAGICALBULLET,Magical Bullet
507,-9,6,1,8,0x20,0,1,1,no,0,0,0,misc,0,0x0, GS_MAGICALBULLET,Magical Bullet
508,-9,6,1,-1,0x1,0,1,1,no,0,0,0,weapon,0,0x0, GS_CRACKER,Cracker
509,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, GS_SINGLEACTION,Single Action
510,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, GS_SNAKEEYE,Snake Eye
@ -865,12 +866,12 @@
//****
// 2nd Quest Skills
1001,9,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0,0x0, KN_CHARGEATK,Charge Attack
1001,14,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0,0x0, KN_CHARGEATK,Charge Attack
1002,0,6,4,0,0x1,0,1,0,no,0,0x1,0,weapon,2,0x0, CR_SHRINK,Shrink
1003,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0,0x0, AS_SONICACCEL,Sonic Acceleration
1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0,0x0, AS_VENOMKNIFE,Throw Venom Knife
1005,1,6,1,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0, RG_CLOSECONFINE,Close Confine
1006,0,6,4,3,0,1,1,1,yes,0,0x1,0,magic,3,0x20, WZ_SIGHTBLASTER,Sight Blaster
1006,0,6,4,3,0,1,1,1,yes,0,0x40001,0,magic,3,0x20, WZ_SIGHTBLASTER,Sight Blaster
1007,0,6,4,0,0x1,0,1,0,no,0,0x1,0,none,0,0x0, SA_CREATECON,Create Elemental Converter
1008,9,6,1,1,0x1,0,1,1,yes,0,0x1,0,magic,0,0x0, SA_ELEMENTWATER,Elemental Change Water
1009,-9,6,1,0,0,0,1,1,no,0,0x1,0,weapon,3,0x0, HT_PHANTASMIC,Phantasmic Arrow
@ -894,7 +895,7 @@
2005,1,6,2,4,0x2,2,5,1,no,0,0,0,weapon,3,0x0, RK_WINDCUTTER,Wind Cutter
2006,0,6,4,-1,0x2,5,5,1,no,0,0,0,weapon,0,0x0, RK_IGNITIONBREAK,Ignition Break
2007,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RK_DRAGONTRAINING,Dragon Training
2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath
2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath
2009,0,6,4,0,0x3,3:4:5:6:7,5,1,no,0,0,0,none,0,0x0, RK_DRAGONHOWLING,Dragon Howling
2010,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RK_RUNEMASTERY,Rune Mastery
2011,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, RK_MILLENNIUMSHIELD,Millenium Shield
@ -903,7 +904,7 @@
2014,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_GIANTGROWTH,Giant Growth
2015,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_STONEHARDSKIN,Stone Hard Skin
2016,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_VITALITYACTIVATION,Vitality Activation
2017,0,6,4,-1,0x2,3,1,1,no,0,0,0,weapon,7,0x0, RK_STORMBLAST,Storm Blast
2017,0,6,4,-1,0x2,3,1,1,no,0,0x40000,0,weapon,7,0x0, RK_STORMBLAST,Storm Blast
2018,0,6,4,0,0x3,-1,1,1,yes,0,0,0,none,0,0x0, RK_FIGHTINGSPIRIT,Fighting Spirit //CHECK Is this splash needed?
2019,9,6,4,6,0x1,0,1,1,yes,0,0,0,none,0,0x0, RK_ABUNDANCE,Abundance
2020,5:6:7:8:9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, RK_PHANTOMTHRUST,Phantom Thrust
@ -969,11 +970,11 @@
2038,11,8,1,6,0x2,1,5,-3,yes,0,0,0,magic,0,0x0, AB_JUDEX,Judex
2039,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0,0x0, AB_ANCILLA,Ancilla
2040,11,8,1,6,0,0,10,-10,yes,0,0,0,magic,0,0x0, AB_ADORAMUS,Adoramus
2041,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CLEMENTIA,Crementia
2042,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CANTO,Canto Candidus
2041,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CLEMENTIA,Crementia
2042,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CANTO,Canto Candidus
2043,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0, AB_CHEAL,Coluceo Heal
2044,11,6,2,6,0x1,0,5,1,yes,0,0,1,magic,0,0x0, AB_EPICLESIS,Epiclesis
2045,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_PRAEFATIO,Praefatio
2044,11,6,2,6,0x1,2,5,1,yes,0,0,1,magic,0,0x0, AB_EPICLESIS,Epiclesis
2045,0,6,4,0,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_PRAEFATIO,Praefatio
2046,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,0x0, AB_ORATIO,Oratio
2047,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0, AB_LAUDAAGNUS,Lauda Agnus
2048,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0, AB_LAUDARAMUS,Lauda Ramus
@ -995,7 +996,7 @@
2234,0,6,4,0,0,0,5,1,yes,0,0,0,none,0,0x0, RA_FEARBREEZE,Fear Breeze
2235,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_RANGERMAIN,Ranger Main
2236,9,8,1,-1,0,0,10,1,yes,0,0,0,weapon,0,0x80, RA_AIMEDBOLT,Aimed Bolt
2237,9,6,2,0,0x3,3,1,1,no,0,0,0,none,0,0x2000, RA_DETONATOR,Detonator
2237,9,6,2,0,0x3,3,1,1,no,0,0x40000,0,none,0,0x2000, RA_DETONATOR,Detonator
2238,3,6,2,0,0x3,2,5,1,no,0,0x80,3,misc,0,0x2000, RA_ELECTRICSHOCKER,Electric Shocker
2239,3,6,2,0,0x42,3,5,1,no,0,0x80,3,misc,0,0x2800, RA_CLUSTERBOMB,Cluster Bomb
2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, RA_WUGMASTERY,Warg Mastery
@ -1004,15 +1005,15 @@
2243,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x2000, RA_WUGSTRIKE,Warg Strike
2244,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite
2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_TOOTHOFWUG,Tooth of Warg
2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen
2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0x40000,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen
2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x42, RA_CAMOUFLAGE,Camouflage
2248,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RA_RESEARCHTRAP,Research Trap
2249,3,6,2,3,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_MAGENTATRAP,Magenta Trap
2250,3,6,2,1,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_COBALTTRAP,Cobalt Trap
2251,3,6,2,2,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_MAIZETRAP,Maize Trap
2252,3,6,2,4,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_VERDURETRAP,Verdure Trap
2253,3,6,2,3,0x42,2,5,1,no,0,0x80,2,misc,0,0x2800, RA_FIRINGTRAP,Firing Trap
2254,3,6,2,1,0x42,2,5,1,no,0,0x80,2,misc,0,0x2800, RA_ICEBOUNDTRAP,Icebound Trap
2253,3,6,2,3,0x42,2,5,1,no,0,0x40080,2,misc,0,0x2800, RA_FIRINGTRAP,Firing Trap
2254,3,6,2,1,0x42,2,5,1,no,0,0x40080,2,misc,0,0x2800, RA_ICEBOUNDTRAP,Icebound Trap
//****
// NC Mechanic
@ -1021,14 +1022,14 @@
2257,3,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, NC_PILEBUNKER,Pile Bunker
2258,13,6,1,-1,0x2,1,3,1,no,0,0,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
2259,7,6,1,3,0,2,3,1,no,0,0,5,weapon,0,0x0, NC_FLAMELAUNCHER,Flame Launcher
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
2261,9:11:13,6,2,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0x40000,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
2261,9:11:13,6,1,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
2262,0,6,4,0,0x1,0,3,1,no,0,0,0,none,0,0x0, NC_ACCELERATION,Acceleration
2263,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_HOVERING,Hovering
2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_F_SIDESLIDE,Front-Side Slide
2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_B_SIDESLIDE,Back-Side Slide
2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,0x0, NC_MAINFRAME,Mainframe Restructure
2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0,0,weapon,5,0x0, NC_SELFDESTRUCTION,Self Destruction
2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0x40000,0,weapon,5,0x0, NC_SELFDESTRUCTION,Self Destruction
2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,0x0, NC_SHAPESHIFT,Shape Shift
2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_EMERGENCYCOOL,Emergency Cool
2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,0x0, NC_INFRAREDSCAN,Infrared Scan
@ -1102,7 +1103,7 @@
2329,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
2332,0,6,4,-1,0x2,3,5,1,no,0,0,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
2334,0,6,4,0,0x3,1:1:2:2:3,5,1,no,0,0,0,none,0,0x0, SR_CURSEDCIRCLE,Cursed Circle
2335,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_LIGHTNINGWALK,Lightning Walk
@ -1139,9 +1140,9 @@
// WM Wanderer/Minstrel
2412,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, WM_LESSON,Lesson
2413,9,8,1,-1,0,0,5,-2:-2:-3:-3:-4,yes,0,0,0,magic,0,0x0, WM_METALICSOUND,Metallic Sound
2414,9,6,2,-1,0x3,1,5,1,yes,0,0x80,3,none,0,0x0, WM_REVERBERATION,Reverberation
2415,0,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, WM_REVERBERATION_MELEE,Reverberation Melee
2416,0,6,1,-1,0,0,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic
2414,9,6,2,0,0x3,2,5,1,yes,0,0x80,0,none,0,0x0, WM_REVERBERATION,Reverberation
2415,0,6,1,-1,0x6,2,5,1,no,0,0,0,weapon,0,0x0, WM_REVERBERATION_MELEE,Reverberation Melee
2416,0,6,1,0,0x6,2,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic
2417,11,6,2,0,0x3,5,1,1,no,0,0,0,none,0,0x0, WM_DOMINION_IMPULSE,Dominion Impulse
2418,9,6,2,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_SEVERE_RAINSTORM,Severe Rainstorm
2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld
@ -1154,9 +1155,9 @@
2426,9,6,2,0,0x2,2:3:3:4:4,5,1,yes,0,0x4000,0,weapon,0,0x0, WM_GREAT_ECHO,Great Echo
2427,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0x4000,0,none,0,0x0, WM_SONG_OF_MANA,Song of Mana
2428,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0x4000,0,none,0,0x0, WM_DANCE_WITH_WUG,Dance With A Warg
2429,9,6,1,0,0x42,4:4:5:5:6,5,1,yes,0,0x4000,0,weapon,0,0x0, WM_SOUND_OF_DESTRUCTION,Sound of Destruction //CHECK Source shows its magic attack. Need to confirm before changing.
2429,9,6,2,0,0x42,4:4:5:5:6,5,1,yes,0,0x4000,0,none,0,0x0, WM_SOUND_OF_DESTRUCTION,Sound of Destruction
2430,0,6,4,0,0x3,3:4:5:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_SATURDAY_NIGHT_FEVER,Saturday Night Fever
2431,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,magic,0,0x0, WM_LERADS_DEW,Lerad's Dew
2431,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_LERADS_DEW,Lerad's Dew
2432,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_MELODYOFSINK,Melody of Sink
2433,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_BEYOND_OF_WARCRY,Warcry of Beyond
2434,0,6,4,0,0x3,5:5:6:6:7,5,1,yes,0,0x4000,0,none,0,0x0, WM_UNLIMITED_HUMMING_VOICE,Unlimited Humming Voice
@ -1203,7 +1204,7 @@
2481,11,6,1,-1,0x2,1:2:3:4:5,5,1,yes,0,0,0,weapon,0,0x0, GN_SPORE_EXPLOSION,Spore Explosion //CHECK Data says its element is set to neutral. Need to confirm.
2482,11,6,2,0,0x8,0,5,1,yes,0,0,1,weapon,2,0x0, GN_WALLOFTHORN,Wall of Thorns
2483,11,6,2,0,0x3,4,10,1,yes,0,0x0,0,weapon,0,0x1, GN_CRAZYWEED,Crazy Weed
2484,0,6,2,2,0x2,2,10,1,no,0,0x0,0,weapon,0,0x1, GN_CRAZYWEED_ATK,Crazy Weed Attack
2484,0,6,2,2,0x2,2,10,1,no,0,0x40000,0,weapon,0,0x1, GN_CRAZYWEED_ATK,Crazy Weed Attack
2485,9,6,2,3,0,0,5,1,yes,0,0,0,magic,0,0x0, GN_DEMONIC_FIRE,Demonic Fire
2486,9,6,2,0,0,0,5,1,yes,0,0,0,none,0,0x0, GN_FIRE_EXPANSION,Fire Expansion
2487,9,6,2,0,0,0,1,1,no,0,0,0,none,0,0x0, GN_FIRE_EXPANSION_SMOKE_POWDER,Fire Expansion Smoke Powder
@ -1266,35 +1267,35 @@
//****
// Kagerou & Oboro
3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x4, KO_YAMIKUMO,Yamikumo
3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x4, KO_YAMIKUMO,Shadow Hiding
3002,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KO_RIGHT,Right Hand Mastery
3003,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KO_LEFT,Left Hand Mastery
3004,3:4:5:6:7,8,1,-1,0,0,5,-2,no,0,0,0,weapon,0,0x0, KO_JYUMONJIKIRI,Cross Strike
3005,2,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KO_SETSUDAN,Soul Sever
3006,7:8:9:10:11,6,2,-1,0x42,2,5,1,no,0,0,0,weapon,0,0x0, KO_BAKURETSU,Bakuretsu Kunai
3007,0,6,4,-1,0x42,4:4:4:4:5,5,1,no,0,0,0,weapon,0,0x0, KO_HAPPOKUNAI,Happo Kunai
3008,11,8,2,0,0x56,1:1:1:1:1:1:1:1:1:2,10,-10,no,0,0,0,misc,0,0x0, KO_MUCHANAGE,Mucha Nage
3009,9:10:11:12:13,8,2,-1,0x2,3,5,2,no,0,0,0,weapon,0,0x0, KO_HUUMARANKA,Huuma Shuriken Ranka
3004,3:4:5:6:7,8,1,-1,0,0,5,-2,no,0,0,0,weapon,0,0x0, KO_JYUMONJIKIRI,Cross Slash
3005,2,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KO_SETSUDAN,Soul Cutter
3006,7:8:9:10:11,6,2,-1,0x42,2,5,1,no,0,0,0,weapon,0,0x0, KO_BAKURETSU,Kunai Explosion
3007,0,6,4,-1,0x42,4:4:4:4:5,5,1,no,0,0,0,weapon,0,0x0, KO_HAPPOKUNAI,Kunai Splash
3008,11,8,2,0,0x56,1:1:1:1:1:1:1:1:1:2,10,-10,no,0,0,0,misc,0,0x0, KO_MUCHANAGE,Rapid Throw
3009,9:10:11:12:13,8,2,-1,0x2,3,5,2,no,0,0,0,weapon,0,0x0, KO_HUUMARANKA,Swirling Petal
3010,3,6,4,0,0x52,0,5,1,no,0,0x80,0,weapon,0,0x10, KO_MAKIBISHI,Makibishi
3011,0,6,4,0,0x1,0,5,0,yes,0,0,0,none,0,0x0, KO_MEIKYOUSISUI,Meikyo Shisui
3012,0,6,4,0,0x1,0,5,0,no,0,0,1,none,3:4:5:6:7,0x0, KO_ZANZOU,Zanzou
3013,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_KYOUGAKU,Kyougaku
3014,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_JYUSATSU,Jyusatsu
3015,0,6,4,3,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAHU_ENTEN,Kahu Enten
3016,0,6,4,1,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_HYOUHU_HUBUKI,Hyouhu Hubuki
3017,0,6,4,4,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAZEHU_SEIRAN,Kazehu Seiran
3018,0,6,4,2,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_DOHU_KOUKAI,Dohu Koukai
3019,11,6,1,0,0,0,1,1,no,0,0,0,magic,0,0x0, KO_KAIHOU,Technique Kaihou
3020,7,6,2,0,0,0,1,1,yes,0,0,0,magic,0,0x0, KO_ZENKAI,Zenkai
3021,5:6:7:8:9,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KO_GENWAKU,Genwaku
3022,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_IZAYOI,Izayoi
3023,0,6,4,0,0x3,2:3:4:5:6,5,0,no,0,0,0,none,0,0x0, KG_KAGEHUMI,Kagehumi
3024,7,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KYOMU,Kyomu
3025,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KAGEMUSYA,Kagemusha
3026,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_ZANGETSU,Zangetsu
3027,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_OBOROGENSOU,Oboro Gensou
3028,1,6,4,0,0x2,3,1,1,no,0,0,0,weapon,0,0x0, OB_OBOROGENSOU_TRANSITION_ATK,Hazy Moonlight Illusion Transition Attack
3029,7,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, OB_AKAITSUKI,Akaitsuki
3011,0,6,4,0,0x1,0,5,0,yes,0,0,0,none,0,0x0, KO_MEIKYOUSISUI,Pure Soul
3012,0,6,4,0,0x1,0,5,0,no,0,0,1,none,3:4:5:6:7,0x0, KO_ZANZOU,Illusion - Shadow
3013,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_KYOUGAKU,Illusion - Shock
3014,5,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_JYUSATSU,Illusion - Death
3015,0,6,4,3,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAHU_ENTEN,Fire Charm
3016,0,6,4,1,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_HYOUHU_HUBUKI,Ice Charm
3017,0,6,4,4,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_KAZEHU_SEIRAN,Wind Charm
3018,0,6,4,2,0x1,0,1,1,no,0,0,0,none,0,0x0, KO_DOHU_KOUKAI,Earth Charm
3019,11,6,1,0,0,0,1,1,no,0,0,0,magic,0,0x0, KO_KAIHOU,Release Ninja Spell
3020,7,6,2,0,0,0,1,1,yes,0,0,0,magic,0,0x0, KO_ZENKAI,Cast Ninja Spell
3021,5:6:7:8:9,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KO_GENWAKU,Illusion - Bewitch
3022,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, KO_IZAYOI,16th Night
3023,0,6,4,0,0x3,2:3:4:5:6,5,0,no,0,0,0,none,0,0x0, KG_KAGEHUMI,Shadow Trampling
3024,7,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KYOMU,Empty Shadow
3025,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, KG_KAGEMUSYA,Shadow Warrior
3026,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_ZANGETSU,Distorted Crescent
3027,7,6,16,0,0x1,0,5,1,no,0,0,0,none,0,0x0, OB_OBOROGENSOU,Moonlight Fantasy
3028,1,6,4,0,0x2,3,1,1,no,0,0,0,weapon,0,0x0, OB_OBOROGENSOU_TRANSITION_ATK,Moonlight Fantasy Transition Attack
3029,7,6,1,0,0x1,0,5,0,no,0,0,0,none,0,0x0, OB_AKAITSUKI,Ominous Moonlight
//****
// Eclage Skills
@ -1313,21 +1314,21 @@
5001,1,8,1,-1,0,0,5,3,no,0,0,0,weapon,0,0x0, GC_DARKCROW,Dark Claw
5002,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, RA_UNLIMIT,Unlimited
5003,7,6,1,-1,0x2,4:5:6:7:-1,5,1,no,0,0,0,weapon,0,0x0, GN_ILLUSIONDOPING,Illusion Doping
5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water
5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water
5005,0,6,4,0,0x3,3,1,1,no,0,0,0,none,0,0x0, RK_LUXANIMA,Lux Anima
5006,1,6,2,3,0,0,5,1,no,0,0,3,misc,0,0x0, NC_MAGMA_ERUPTION,Magma Eruption
5006,1,6,2,3,0x2,3,5,1,no,0,0,3,misc,0,0x0, NC_MAGMA_ERUPTION,Magma Eruption
5007,0,6,4,0,0x3,5:6:7:8:9,5,1,no,0,0,0,none,0,0x0, WM_FRIGG_SONG,Frigg's Song
5008,0,6,4,0,0x3,15,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield
5008,0,6,4,0,0x3,11,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield
5009,1,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO,Flash Combo
5010,0,6,2,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SC_ESCAPE,Emergency Escape
5010,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SC_ESCAPE,Emergency Escape
5011,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, AB_OFFERTORIUM,Offertorium
5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis
5013,0,6,4,0,0x3,0,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace
5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, ALL_FULL_THROTTLE,Full Throttle
5015,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1
5016,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2
5017,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3
5018,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4
5015,-2,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1
5016,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2
5017,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3
5018,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4
//****
// Homunculus S
@ -1342,7 +1343,7 @@
8009,1,8,1,0,0,0,5,-1:-2:-2:-2:-3,no,0,0,0,weapon,0,0x0, HFLI_MOON,Moonlight
8010,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HFLI_FLEET,Fleeting Move
8011,0,6,4,0,0x1,0,5,0,yes,0,0,0,misc,0,0x0, HFLI_SPEED,Speed
8012,1,6,1,0,0,0,3,0,no,0,0,0,none,0,0x0, HFLI_SBR44,S.B.R.44
8012,1,6,1,0,0,0,3,1,no,0,0,0,weapon,0,0x0, HFLI_SBR44,S.B.R.44
8013,9,6,1,0,0,0,5,1:2:3:4:5,no,0,0,0,magic,0,0x0, HVAN_CAPRICE,Caprice
8014,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HVAN_CHAOTIC,Benediction of Chaos
8015,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0,0x0, HVAN_INSTRUCT,Instruct
@ -1377,23 +1378,23 @@
//****
// Mercenary Skill Place holders
8201,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_BASH,Bash
8202,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
8202,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
8203,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
8204,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_PARRYING,Parry
8205,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_REFLECTSHIELD,Shield_Reflect
8206,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, MS_BERSERK,Frenzy
8207,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,0x80, MA_DOUBLE,Double_Strafe
8208,-9,6,2,-1,0x2,2,10,1,no,0,0x0,0,weapon,2,0x81, MA_SHOWER,Arrow_Shower
8208,-9,6,2,-1,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x81, MA_SHOWER,Arrow_Shower
8209,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10,0x0, MA_SKIDTRAP,Skid_Trap
8210,3,6,2,2,0x40,0,5,1,no,0,0x80,0,misc,0,0x0, MA_LANDMINE,Land_Mine
8211,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0,0x0, MA_SANDMAN,Sandman
8212,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x0, MA_FREEZINGTRAP,Freezing_Trap
8213,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
8213,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
8214,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6,0x80, MA_CHARGEARROW,Arrow_Repel
8215,9,8,1,-1,0,2,5,1,yes,0,0,13,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
8216,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, ML_PIERCE,Pierce
8217,-2,6,1,-1,0x1,0,10,1,no,0,0,0,weapon,3,0x0, ML_BRANDISH,Brandish_Spear
8218,5,8,1,-1,0x20,0,5,5,no,0,0,0,weapon,0,0x0, ML_SPIRALPIERCE,Spiral_Pierce
8218,5,8,1,-1,0x20,0,5,5,no,0,0x40000,0,weapon,0,0x0, ML_SPIRALPIERCE,Spiral_Pierce
8219,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, ML_DEFENDER,Defending_Aura
8220,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, ML_AUTOGUARD,Guard
8221,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0,0x0, ML_DEVOTION,Sacrifice

View File

@ -20,6 +20,7 @@
// ridingwarg = Requires to ride a Warg
// mado = Requires to have an active mado
// elementalspirit = Requires to have an Elemental Spirit summoned.
// elementalspirit2 = Requires to have an Elemental Spirit summoned, and will be removed.
// peco = Requires riding a peco
//
// 'RequiredStatuses'
@ -758,7 +759,7 @@
2327,0,0,8:9:10:11:12,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_SKYNETBLOW
2328,0,0,36:40:44:48:52,0,0,0,99,0,0,none,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_EARTHSHAKER
2329,0,0,20:30:40:50:60,0,0,0,99,0,0,none,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FALLENEMPIRE
2330,0,0,1:2:3:4:5:6:7:8:9:10,0,0,0,99,0,0,none,SC_EXPLOSIONSPIRITS,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_TIGERCANNON
2330,0,0,1:2:3:4:5:6:7:8:9:10,-12:-14:-16:-18:-20:-22:-24:-26:-28:-30,-6:-7:-8:-9:-10:-11:-12:-13:-14:-15,0,99,0,0,none,SC_EXPLOSIONSPIRITS,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_TIGERCANNON
2331,0,0,1,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_HELLGATE
2332,0,0,150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_RAMPAGEBLASTER
2333,0,0,80,0,0,0,99,0,0,none,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW
@ -808,7 +809,7 @@
2423,0,0,42:46:50:54:58,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SIRCLEOFNATURE
2424,0,0,40:45:50:55:60,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_RANDOMIZESPELL
2425,0,0,60:75:90:105:120,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MW_GLOOMYDAY
2426,0,0,80:90:100:110:120,0,0,0,99,0,0,none,0,0,11513,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_GREAT_ECHO // Missing 1 Lozange. Need item ID.
2426,0,0,80:90:100:110:120,0,0,0,99,0,0,none,0,0,11513,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_GREAT_ECHO
2427,0,0,120:140:160:180:200,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SONG_OF_MANA
2428,0,0,120:140:160:180:200,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_DANCE_WITH_WUG
2429,0,0,50:60:70:80:90,0,0,0,13:14,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_SOUND_OF_DESTRUCTION
@ -963,17 +964,17 @@
5005,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RK_LUXANIMA
5006,0,0,60:70:80:90:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION
5007,0,0,200:230:260:290:320,0,0,0,13:14,0,0,none,0,0,6144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG
5008,0,0,120,0,0,0,99,0,0,elementalspirit,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD
5008,0,0,120,0,0,0,99,0,0,elementalspirit2,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD
5009,0,0,65,0,0,0,99,0,0,none,0,5:5:4:4:3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO
5010,0,0,30:26:22:18:14,0,0,0,99,0,0,none,0,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SC_ESCAPE
5011,0,0,30:60:90:120:150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AB_OFFERTORIUM
5012,0,0,100:150:200:250:300,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE
5013,0,0,200:180:160:140:120,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE
5014,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE
5015,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP1 //All 4 steps are using temp req SP values for now.
5016,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP2
5017,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP3
5018,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP4
5015,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP1 //All 4 steps are using temp req SP values for now.
5016,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP2
5017,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP3
5018,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP4
8001,0,0,13:16:19:22:25,0,0,0,99,0,0,none,0,0,545,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
8002,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_AVOID

View File

@ -124,10 +124,10 @@
2253,0xd6, , 0, 1,1000,enemy, 0x8002 //RA_FIRINGTRAP
2254,0xd7, , 0, 1,1000,enemy, 0x8002 //RA_ICEBOUNDTRAP
2273,0xe2, , 2, 0, 500,all, 0x000 //NC_NEUTRALBARRIER
2274,0xe3, , 2, 0, 500,friend,0x000 //NC_STEALTHFIELD
2273,0xe2, , 2, 0, -1,all, 0x000 //NC_NEUTRALBARRIER
2274,0xe3, , 2, 0, -1,friend,0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0xC006 //SC_MANHOLE
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
@ -136,7 +136,7 @@
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
2414,0xda, , 0, 0, -1,enemy, 0x1000 //WM_REVERBERATION
2414,0xda, , 0, 0,1000,enemy, 0x1000 //WM_REVERBERATION
2418,0xdb, , 0, 5, 300,enemy, 0x800 //WM_SEVERE_RAINSTORM
2419,0xde, , 0, 1,1000,enemy, 0x1014 //WM_POEMOFNETHERWORLD
@ -170,9 +170,8 @@
3010,0xfc, , 0, 1,5000,enemy, 0x018 //KO_MAKIBISHI
3020,0xf8, , 0, 2, 500,all, 0x018 //KO_ZENKAI
5006,0x101, , 0, 3,2000,enemy, 0x018 //NC_MAGMA_ERUPTION
5008,0x85, , 0, 0, -1,all, 0x003 //SO_ELEMENTAL_SHIELD
5010,0xfe, , 0, 2, -1,enemy, 0x000 //SC_ESCAPE
5006,0x101, , 0, 3, 500,enemy, 0x018 //NC_MAGMA_ERUPTION
5010,0x91, , 0, 1,1000,all, 0x002 //SC_ESCAPE
5013,0x102, , 3, 0, -1,all, 0x2002 //LG_KINGS_GRACE
8020,0xf5, , 3, 0,2300:2100:1900:1700:1500,enemy, 0x018 //MH_POISON_MIST
@ -187,10 +186,10 @@
8211,0x95, , 0, 1,1000,enemy, 0x8006 //MA_SANDMAN
8212,0x97, , 0, 1,1000,enemy, 0x8006 //MA_FREEZINGTRAP
8403,0xed, , -1, 1,1000,enemy, 0x018 //EL_FIRE_MANTLE
8406,0xee, , 0, 1, -1,friend,0x018 //EL_WATER_BARRIER
8409,0xef, , 0, 1,1000,friend,0x018 //EL_ZEPHYR
8412,0xf0, , 0, 1, -1,friend,0x018 //EL_POWER_OF_GAIA
8403,0xed, , -1, 1,1000,enemy, 0x018 //EL_FIRE_MANTLE
8406,0xee, , 1, 0, -1,friend,0x2018 //EL_WATER_BARRIER
8409,0xef, , 1, 0, -1,friend,0x2018 //EL_ZEPHYR
8412,0xf0, , 1, 0, -1,friend,0x2018 //EL_POWER_OF_GAIA
10006,0xc1, , 2, 0, -1,guild, 0x040 //GD_LEADERSHIP
10007,0xc2, , 2, 0, -1,guild, 0x040 //GD_GLORYWOUNDS

View File

@ -6,31 +6,19 @@
//
// - To remove entry by importing, put 0 on 'Rate'
// Mage Skills
10,5000 // Sight
11,5000 // Napalm Beat
12,5000 // Safety Wall
13,5000 // Soul Strike
14,5000 // Cold Bolt
15,5000 // Frost Diver
16,5000 // Stone Curse
17,5000 // Fire Ball
18,5000 // Fire Wall
19,5000 // Fire Bolt
20,5000 // Lightning Bolt
21,5000 // Thunderstorm
// Wizard Skills
80,2500 // Fire Pillar
81,2500 // Sightrasher
83,2500 // Meteor Storm
84,2500 // Jupitel Thunder
85,2500 // Lord of Vermilion
86,2500 // Water Ball
87,2500 // Ice Wall
88,2500 // Frost Nova
89,2500 // Storm Gust
90,2500 // Earth Spike
91,2500 // Heaven's Drive
92,2500 // Quagmire
93,2500 // Sense
11,60000 // Napalm Beat
12,40000 // Safety Wall
13,60000 // Soul Strike
14,60000 // Cold Bolt
15,60000 // Frost Diver
17,60000 // Fire Ball
18,40000 // Fire Wall
19,60000 // Fire Bolt
20,60000 // Lightning Bolt
21,40000 // Thunderstorm
80,40000 // Fire Pillar
83,40000 // Meteor Storm
84,60000 // Jupitel Thunder
85,40000 // Lord of Vermilion
86,60000 // Water Ball
89,40000 // Storm Gust

View File

@ -5,51 +5,71 @@
//===== Last Updated: ========================================
//= 20130209
//===== Description: =========================================
//= A reference description of eA's inner job system (for use
//= A reference description of eA's inner job system (for use
//= in scripts through the eaclass and roclass script commands).
//============================================================
Preface:
-------------------------------------------------------------------------------
Most scripters are aware of the class values used in RO and their constants specified on db/const.txt. Each class has a number associated to it for referencing, so when someone's class is 9 that means they are a wizard. However, this list of job numbers has no real order behind it, and no logic behind it's assignation.
Most scripters are aware of the class values used in RO and their constants
specified on db/const.txt. Each class has a number associated to it for
referencing, so when someone's class is 9 that means they are a wizard.
However, this list of job numbers has no real order behind it, and no logic
behind it's assignation.
You can add 3999 to a job to get their rebirth ID, but if you try to do the same to get the Baby class ID, that fails on the super Baby class. Also, there's no way to calculate, from a given first class, which classes would be their "evolution". That is, given the Archer's ID, you cannot just add a value that will return you "Hunter", and will still work if applied to the other classes. It didn't help much when they added Taekwon Boy, a first class, with an ID of 4046, and much later they added Ninja/Gunslinger with the IDs 25/24. How do you identify a first class on all this mess without recurring to very ugly range checks?
You can add 3999 to a job to get their rebirth ID, but if you try to do the
same to get the Baby class ID, that fails on the super Baby class. Also,
there's no way to calculate, from a given first class, which classes would
be their "evolution". That is, given the Archer's ID, you cannot just add
a value that will return you "Hunter", and will still work if applied to
the other classes. It didn't help much when they added Taekwon Boy, a first
class, with an ID of 4046, and much later they added Ninja/Gunslinger with
the IDs 25/24. How do you identify a first class on all this mess without
recurring to very ugly range checks?
The eA Job System:
-------------------------------------------------------------------------------
Since the code also required to do this kind of checks for various skills (the Soul Linker Spirit buffs specifically come to mind), an alternate job ID system was developed, which attempts to make more sense and make it easier to check where a particular job stands in relation to the rest.
Since the code also required to do this kind of checks for various skills
(the Soul Linker Spirit buffs specifically come to mind), an alternate job
ID system was developed, which attempts to make more sense and make it
easier to check where a particular job stands in relation to the rest.
The scheme consists in that every job can be broken down by 3 criteria:
- Base Job: This determines to which class-tree a job belongs. All jobs can be traced back to their root. The base job of all classes has to be one of the following:
- Base Job: This determines to which class-tree a job belongs. All jobs can be
traced back to their root. The base job of all classes has to be one of the
following:
EAJ_NOVICE 0x0
EAJ_NOVICE 0x0
EAJ_SWORDMAN 0x1
EAJ_MAGE 0x2
EAJ_ARCHER 0x3
EAJ_ACOLYTE 0x4
EAJ_MAGE 0x2
EAJ_ARCHER 0x3
EAJ_ACOLYTE 0x4
EAJ_MERCHANT 0x5
EAJ_THIEF 0x6
EAJ_TAEKWON 0x7
EAJ_THIEF 0x6
EAJ_TAEKWON 0x7
EAJ_GUNSLINGER 0x9
EAJ_NINJA 0x0A
EAJ_GANGSI 0x0D
EAJ_NINJA 0x0A
EAJ_GANGSI 0x0D
- Branch: All classes can be classified as "1st Class", "2-1 Class" or
"2-2 Class":
- Branch: All classes can be classified as "1st Class", "2-1 Class" or "2-2 Class":
EAJL_2_1 0x100
EAJL_2_2 0x200
EAJL_2 0x300
EAJL_2 0x300
- The third category is type. Classes can either be normal, rebirth/advanced, adopted, or third class.
- The third category is type. Classes can either be normal, rebirth/advanced,
adopted, or third class.
EAJL_UPPER 0x1000
EAJL_BABY 0x2000
EAJL_THIRD 0x4000
So using these three categories, any job class can be constructed from the others. Let's take a swordman, for example.
So using these three categories, any job class can be constructed from the
others. Let's take a swordman, for example.
The first step is basic swordman, with nothing else:
@ -66,7 +86,7 @@ The next step is to either become a 2-1 or a 2-2 job:
Getting out the rebirth versions of a swordman:
EAJ_SWORDMAN|EAJL_UPPER -> EAJ_SWORDMAN_HIGH
EAJ_SWORDMAN|EAJL_UPPER -> EAJ_SWORDMAN_HIGH
EAJ_SWORDMAN|EAJL_2_1|EAJL_UPPER -> EAJ_LORD_KNIGHT
EAJ_SWORDMAN|EAJL_2_2|EAJL_UPPER -> EAJ_PALADIN
@ -75,7 +95,8 @@ Or getting the third job versions:
EAJ_SWORDMAN|EAJL_2_1|EAJL_THIRD -> EAJ_RUNE_KNIGHT
EAJ_SWORDMAN|EAJL_2_2|EAJL_THIRD -> EAJ_ROYAL_GUARD
Why are we using the bitwise OR operand ('|') rather than just adding? Because the OR is wreck-proof:
Why are we using the bitwise OR operand ('|') rather than just adding? Because
the OR is wreck-proof:
EAJ_SWORDMAN_HIGH|EAJL_UPPER -> EAJ_SWORDMAN_HIGH
@ -84,7 +105,9 @@ If we had used addition, we would have gotten a completely different result.
The EAJL (eA Job Level) constants
-------------------------------------------------------------------------------
There are a few constants which can be used to filter out and make job comparisons easier. The comparisons involve eA job IDs, not classic job IDs, using the eaclass() command explained in the next section.
There are a few constants which can be used to filter out and make job
comparisons easier. The comparisons involve eA job IDs, not classic job
IDs, using the eaclass() command explained in the next section.
set @eac, eaclass();
@ -99,7 +122,8 @@ EAJL_2_2:
mes "Oh, a 2-2 job!";
EAJL_2:
Checks if the class is a 2nd Class. If the check fails, you can be sure the character is a first class.
Checks if the class is a 2nd Class. If the check fails, you can be sure
the character is a first class.
if (!(@eac&EAJL_2))
mes "Will you wait until Job 50 to change?";
@ -119,28 +143,45 @@ EAJL_THIRD:
mes "Wow, you've really grown!";
EAJ_UPPERMASK:
The upper mask can be used to "strip" the upper/baby characteristics of a class, used when you want to know if someone is a certain class regardless of rebirth/adopted status. For example, the following code would go through for Monks, Champions and Baby Monks:
The upper mask can be used to "strip" the upper/baby characteristics of a
class, used when you want to know if someone is a certain class regardless
of rebirth/adopted status. For example, the following code would go through
for Monks, Champions and Baby Monks:
if ((@eac&EAJ_UPPERMASK) == EAJ_MONK)
mes "Aren't knuckles such a cool weapon?";
Note that if instead of EAJ_MONK you used EAJ_CHAMPION or EAJ_BABY_MONK, the check would had never passed, since the upper/baby state has been removed from the original job when checking.
Note that if instead of EAJ_MONK you used EAJ_CHAMPION or EAJ_BABY_MONK,
the check would had never passed, since the upper/baby state has been
removed from the original job when checking.
EAJ_BASEMASK:
This mask strips also the 2nd class attributes. It can be used to check against the basic job of a character. For example, the following code would go through for Merchants (+Baby Merchant and High Merchant), Blacksmiths (+Baby blacksmiths and Whitesmith) and Alchemist (+Baby Alchemist and +Creator):
This mask strips also the 2nd class attributes. It can be used to check
against the basic job of a character. For example, the following code would
go through for Merchants (+Baby Merchant and High Merchant), Blacksmiths
(+Baby blacksmiths and Whitesmith) and Alchemist (+Baby Alchemist and
+Creator):
if ((@eac&EAJ_BASEMASK) == EAJ_MERCHANT)
mes "Why I can't have discount like you guys do?";
Note that, like before, if you try to check versus any of the other classes (High merchant, blacksmith, etc) instead of basic merchant, the check will always fail for the same reasons previously explained.
Note that, like before, if you try to check versus any of the other
classes (High merchant, blacksmith, etc) instead of basic merchant, the
check will always fail for the same reasons previously explained.
EAJ_THIRDMASK:
This mask strips 3rd class attributes. It will give the "normal" class of a third job, regardless of rebirth/adopted status. When used on non-third class characters, it will return the second job, or, if that also doesn't exist, the first.
This mask strips 3rd class attributes. It will give the "normal" class of
a third job, regardless of rebirth/adopted status. When used on non-third
class characters, it will return the second job, or, if that also doesn't
exist, the first.
if ((@eac&EAJ_THIRDMASK) == EAJ_WARLOCK_T)
mes "You've gone through rebirth, I see.";
The script commands eaclass, roclass:
-------------------------------------------------------------------------------
These script commands are what you can use in scripts to convert between the RO classic job id, and eA's job system. The following script code demonstrates how to use these script commands to guess what your next job will be:
These script commands are what you can use in scripts to convert between
the RO classic job id, and eA's job system. The following script code
demonstrates how to use these script commands to guess what your next job
will be:
set @eac, eaclass();
if (@eac&EAJL_2)
@ -150,8 +191,9 @@ The script commands eaclass, roclass:
mes "You can't go anywhere, can you?";
close;
}
//Note that if we remove the EAJL_BABY check up there, the following check
//will also fail, because there's no such thing as Rebirth-Baby classes.
//Note that if we remove the EAJL_BABY check up there, the following
//check will also fail, because there's no such thing as Rebirth-Baby
//classes.
set @newclass, roclass(@eac|EAJL_UPPER);
if (@newclass == -1) {
//Don't you hate this of SG and SL?
@ -164,12 +206,12 @@ The script commands eaclass, roclass:
set @class1, roclass(@eac|EAJL_2_1);
set @class2, roclass(@eac|EAJL_2_2);
if (@class1 == -1) {
//NJ/GS are the only classes who get stuck on their 1st class forever.
mes "Looks like you are stuck forever on that class.";
close;
}
if (@class2 == -1) {
//Not quite true, currently the only 1st class that doesn't has two choices is Novice -> Supernovice (see s.novice section below)
//Not quite true, currently the only 1st class that doesn't has two
//choices is Novice -> Supernovice (see s.novice section below)
mes "Looks like you have no choice but to be a "+jobname(@class1)+".";
close;
}
@ -180,10 +222,17 @@ The script commands eaclass, roclass:
Oddities of the System:
-------------------------------------------------------------------------------
About Bards and Dancers:
These two classes are considered the same in eA's job system, since they both are the 2-2 job of archers. The only way to tell them apart is by using the gender of the character we are referring to. The script command roclass() will automatically use the gender of the attached player (or 'male' if there's no such player), but you can also explicitly pass the gender to the script command when there's no player attached.
These two classes are considered the same in eA's job system, since they
both are the 2-2 job of archers. The only way to tell them apart is by
using the gender of the character we are referring to. The script command
roclass() will automatically use the gender of the attached player (or
'male' if there's no such player), but you can also explicitly pass the
gender to the script command when there's no player attached.
About Novices and Super Novices:
These are treated a bit differently from you'd expect. Because.. for instance, a novice is not supposed to be a 1st class, but it is considered as one on this tree system:
These are treated a bit differently from you'd expect. Because.. for
instance, a novice is not supposed to be a 1st class, but it is considered
as one on this tree system:
EAJ_NOVICE -> Novice
EAJ_NOVICE|EAJL_2_1 -> EAJ_SUPER_NOVICE
@ -191,7 +240,10 @@ About Novices and Super Novices:
EAJ_NOVICE|EAJL_BABY -> EAJ_BABY
EAJ_NOVICE|EAJL_BABY|EAJL_2_1 -> EAJ_SUPER_BABY
So as you can see, on this job system, the Super Novice is treated as the 2-1 job of a Novice, and the Novice job it's at the same level of the other 1st jobs. Even though that may seem like a hindrance, it makes it very easy to add a check to discard Novice types from a quest:
So as you can see, on this job system, the Super Novice is treated as the
2-1 job of a Novice, and the Novice job it's at the same level of the other
1st jobs. Even though that may seem like a hindrance, it makes it very easy
to add a check to discard Novice types from a quest:
if ((eaclass()&EAJ_BASEMASK) == EAJ_NOVICE)
//Novice class detected.

View File

@ -13,19 +13,19 @@ 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_Burning
Eff_Bleeding, Eff_Blind, Eff_Burning, Eff_Confusion, Eff_Crystalize, Eff_Curse, Eff_DPoison,
Eff_Fear, Eff_Freeze, Eff_Poison, Eff_Silence, Eff_Sleep, Eff_Stone, Eff_Stun
* Element (e)
Ele_Neutral, Ele_Water, Ele_Earth, Ele_Fire, Ele_Wind, Ele_Poison,
Ele_Holy, Ele_Dark, Ele_Ghost, Ele_Undead, Ele_All
Ele_Dark, Ele_Earth, Ele_Fire, Ele_Ghost, Ele_Holy, Ele_Neutral, Ele_Poison,
Ele_Undead, Ele_Water, Ele_Wind, 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_All
RC_Angel, RC_Brute, RC_DemiHuman, RC_Demon, RC_Dragon, RC_Fish, RC_Formless,
RC_Insect, RC_Plant, RC_Player, RC_Undead, RC_All
* Monster Race (mr)
RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja.
RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja
See 'db/(pre-)re/mob_race2_db.txt'
* Class (c)
@ -35,19 +35,33 @@ This list contains all available constants referenced in the 'bonus' commands.
Size_Small, Size_Medium, Size_Large, Size_All
* Trigger criteria (bf)
BF_SHORT: Trigger on melee attacks
BF_LONG: Trigger on ranged attacks
BF_SHORT = Trigger on melee attacks
BF_LONG = Trigger on ranged attacks
(Default: BF_SHORT+BF_LONG)
BF_WEAPON: Trigger on weapon skills
BF_MAGIC: Trigger on magic skills
BF_MISC: Trigger on misc skills
BF_WEAPON = Trigger on weapon skills
BF_MAGIC = Trigger on magic skills
BF_MISC = Trigger on misc skills
(Default: BF_WEAPON)
BF_NORMAL: Trigger on normal attacks
BF_SKILL: Trigger on skills
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)
* Trigger criteria (atf)
Effect target: (Default: Attacked target)
ATF_SELF = Trigger effect on self
ATF_TARGET = Trigger effect on target
Attack range criteria: (Default: All attacks)
ATF_SHORT = Trigger on melee attacks
ATF_LONG = Trigger on ranged attacks
Skill/attack type criteria: (Default: Physical/weapon)
ATF_WEAPON = Trigger on weapon skill / physical attacks
ATF_MAGIC = Trigger on magic skills
ATF_MISC = Trigger on misc skills
* Other values:
Skill (sk): see 'db/(pre-)re/skill_db.txt' (NOTE: Both skill IDs and names, in quotes, are supported.)
Monster id (mid): see 'db/(pre-)re/mob_db.txt'
@ -202,8 +216,9 @@ Damage modifiers
bonus2 bAddEle,e,x; +x% physical damage against element e
bonus3 bAddEle,e,x,bf; +x% physical damage against element e with trigger criteria bf
bonus2 bMagicAddEle,e,x; +x% magical damage against element e
bonus2 bSubEle,e,x; +x% damage reduction against element e
bonus3 bSubEle,e,x,bf; +x% damage reduction against element e with trigger criteria bf
bonus2 bSubEle,e,x; +x% damage reduction against attack element e
bonus3 bSubEle,e,x,bf; +x% damage reduction against attack element e with trigger criteria bf
bonus2 bSubDefEle,e,x; +x% damage reduction from enemy with defense element e
bonus2 bAddRace,r,x; +x% physical damage against race r
bonus2 bMagicAddRace,r,x; +x% magical damage against race r
@ -230,6 +245,10 @@ bonus2 bAddMDefMonster,mid,x; +x% magical damage reduction against monster
bonus2 bAddRace2,mr,x; +x% damage against monster race mr
bonus2 bSubRace2,mr,x; +x% damage reduction against monster race mr
bonus2 bSubSkill,sk,n; Reduces n% damage received from skill sk
bonus bAbsorbDmgMaxHP,n; If the damage received is more than n% of Max HP, the damage received is [TotalDamage] - [n% of MaxHP] (Doesn't stack, will use the highest value)
Atk/Def
-------
bonus bAtkEle,e; Gives the player's attacks element e
@ -269,20 +288,32 @@ bonus2 bAddEff2,eff,n; Adds a n/100% chance to cause status eff on self w
bonus2 bAddEffWhenHit,eff,n; Adds a n/100% chance to cause status eff on the enemy when being hit by physical damage
bonus2 bResEff,eff,n; Adds a n/100% tolerance to status eff
bonus3 bAddEff,eff,n,y; Adds a n/100% chance to cause status eff on the target when attacking
bonus3 bAddEffWhenHit,eff,n,y; Adds a n/100% chance to cause status eff on the enemy when being hit by physical damage
y is the trigger criteria:
bonus3 bAddEff,eff,n,atf; Adds a n/100% chance to cause status eff on the target when attacking
bonus4 bAddEff,eff,n,atf,t; Adds a n/100% chance to cause status eff for t milliseconds on the target when attacking
bonus3 bAddEffWhenHit,eff,n,atf; Adds a n/100% chance to cause status eff on the target when being hit by physical damage
bonus4 bAddEffWhenHit,eff,n,atf,t; Adds a n/100% chance to cause status eff for t milliseconds on the target when being hit by physical damage
atf is the trigger criteria:
Effect target: (Default: Attacked target)
ATF_SELF = trigger effect on self
ATF_TARGET = trigger effect on target (default)
ATF_TARGET = trigger effect on target
Attack range criteria: (Default: All attacks)
ATF_SHORT = trigger on melee attacks
ATF_LONG = trigger on ranged attacks (default: trigger on all attacks)
ATF_LONG = trigger on ranged attacks
Skill/attack type criteria: (Default: Physical/weapon)
ATF_WEAPON = trigger on weapon skill / physical attacks
ATF_MAGIC = trigger on magic skills
ATF_MISC = trigger on misc skills
bonus3 bAddEffOnSkill,sk,eff,n; Adds a n/100% chance to cause status eff on enemy when using skill sk
bonus4 bAddEffOnSkill,sk,eff,n,y; Adds a n/100% chance to cause status eff when using skill sk
y is the trigger criteria:
bonus4 bAddEffOnSkill,sk,eff,n,atf; Adds a n/100% chance to cause status eff on the target when using skill sk
bonus5 bAddEffOnSkill,sk,eff,n,atf,t; Adds a n/100% chance to cause status eff for t milliseconds on the target when using skill sk
atf is the trigger criteria:
ATF_SELF = trigger effect on self
ATF_TARGET = trigger effect on target
bonus2 bComaClass,c,n; Adds a n/100% chance to cause Coma when attacking a target of class c (regardless the type of attack)
bonus2 bComaRace,r,n; Adds a n/100% chance to cause Coma when attacking a target of race r (regardless the type of attack)
bonus2 bWeaponComaEle,e,n; Adds a n/100% chance to cause Coma when attacking a target of element e with a normal attack
bonus2 bWeaponComaClass,c,n; Adds a n/100% chance to cause Coma when attacking a target of class c with a normal attack
bonus2 bWeaponComaRace,r,n; Adds a n/100% chance to cause Coma when attacking a target of race r with a normal attack
@ -320,28 +351,26 @@ bonus5 bAutoSpellOnSkill,sk,x,y,n,i; Adds a n/10% chance to autospell skill x at
HP/SP drain
-----------
bonus bHPDrainValue,n; Heals +n HP with a normal attack
bonus2 bHPDrainValue,n,x; Heals +n HP with a normal attack (x: 0=gain n SP, 1=drain n SP from target)
bonus2 bHPDrainValueRace,r,n; Heals +n HP when attacking a monster of race r with normal attack
bonus2 bHpDrainValueClass,c,n; Heals +n HP when attacking a monster of class c with normal attack
bonus bSPDrainValue,n; Heals +n SP with a normal attack
bonus2 bSPDrainValue,n,x; Heals +n SP with a normal attack (x: 0=gain n SP, 1=drain n SP from target)
bonus2 bSPDrainValueRace,r,n; Heals +n SP when attacking a monster of race r with normal attack
bonus2 bSpDrainValueClass,c,n; Heals +n SP when attacking a monster of class c with normal attack
bonus2 bHPDrainRate,n,x; Adds a n/10% chance to drain x% HP when attacking
bonus2 bSPDrainRate,n,x; Adds a n/10% chance to drain x% SP when attacking
bonus3 bSPDrainRate,n,x,y; Adds 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 bHPDrainRate,x,n; Adds a x/10% chance to drain n% HP from inflicted damage when attacking
bonus2 bSPDrainRate,x,n; Adds a x/10% chance to drain n% SP from inflicted damage when attacking
bonus2 bHPVanishRate,n,x; Add a n/100% chance of decreasing enemy's HP amount by x% when attacking
bonus2 bSPVanishRate,n,x; Add a n/100% chance of decreasing enemy's SP amount by x% when attacking
HP/SP vanish
------------
bonus2 bHPVanishRate,x,n; Add a x/10% chance of decreasing enemy's HP amount by n% when attacking
bonus2 bSPVanishRate,x,n; Add a x/10% chance of decreasing enemy's SP amount by n% when attacking
bonus3 bHPVanishRaceRate,r,n,x; Add a n/100% chance of decreasing enemy's HP amount by x% when attacking, depends on enemy race r
bonus3 bSPVanishRaceRate,r,n,x; Add a n/100% chance of decreasing enemy's SP amount by x% when attacking, depends on enemy race r
bonus2 bHPGainRaceAttack,r,n; Heals +n HP on every hit when attacking an enemy of race r
bonus2 bSPGainRaceAttack,r,n; Heals +n SP on every hit when attacking an enemy of race r
bonus3 bHPVanishRaceRate,r,x,n; Add a x/100% chance of decreasing enemy's HP amount by n% when attacking, depends on enemy race r
bonus3 bSPVanishRaceRate,r,x,n; Add a x/100% chance of decreasing enemy's SP amount by n% when attacking, depends on enemy race r
HP/SP gain
------------
bonus bHPGainValue,n; Heals +n HP when killing an enemy with a physical attack
bonus bSPGainValue,n; Heals +n SP when killing an enemy with a physical attack
bonus2 bSPGainRace,r,n; Heals +n SP when killing an enemy of race r with a physical attack

View File

@ -75,16 +75,7 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
- Retrieve the number of user present on a char-serv
0x2715:
Type: HA
Structure: <cmd>.W <aid>.L <email>40B
index: 0,2,6
len: 46
parameter:
- cmd : packet identification (0x2715)
- aid: account identification
- email: new email for account id
desc:
- Request to update the email linked to this aid
free
0x2716:
Type: HA
@ -234,7 +225,24 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
- Receiving of map-server via char-server a ban request (alter the ban time)
0x2726:
free
Type: AH
Structure: <cmd>.W <len>.W <aid>.L <cid>.L <?>.B <type>.B <count>.W { <keyLength>.B <key>.<keyLength> <index>.L <valLength>.B <val>.<valLength> }*
index: 0,2,4,8,12,13,14,16,...
len: variable
parameter:
- cmd : packet identification (0x2726)
- ?
- aid
- cid
- type
- count
- keyLength
- key
- index
- val
- valLength
desc:
- Send global account registry
0x2727:
Type: HA
@ -249,7 +257,7 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
0x2728:
Type: HA
Structure: <cmd>.W <len>.W <aid>.L <cid>.L { <str>.?B <value>.?B }
Structure: <cmd>.W <len>.W <aid>.L <cid>.L { <keyLength>.B <key>.<keyLength> <index>.L <type>.B <value>.?B }
index: 0,2,4,8,13
len: variable (reg size+4)
parameter:
@ -257,8 +265,11 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
- len: pakcet size
- aid: account identification
- cid : char identification
- str : name of variable in registry
- value : value of varaible in registry
- keyLength
- key
- index
- type
- value
desc:
- Receive an request to fetch account_reg2 from a char-server, see packet 0x3004 (mapif_parse_Registry)
@ -382,7 +393,8 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
parameter:
- cmd : packet identification (0x2735
desc:
- ip address update signal from login server
- IP address update signal from login server.
- Send back the IP of char server to login-server if IP was changed.
0x2736:
Type: HA
@ -594,6 +606,22 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
desc:
- Request acc info
0x3009
Type: ZI
Structure: <cmd>.W <len>.W <nameid>.W <source>.W <type>.B <name>.24B <srcname>.24B
index: 0,2,6,4,8,9,24
len: 9+NAME_LENGTH+NAME_LENGTH
parameter:
- cmd : packet identification (0x3009)
- len : Packet length
- nameid : ID of obtained item
- source : Source from where the item obtained
- type : Obtained type. 0: Box/Package, 1: Monster, 2: NPC
- name : Name of player who obtained the item
- srcname : Source name as alternative of source id
desc:
- Send broadcasts request if player get special items.
0x3018
Type: ZI
Structure: <cmd>.W <aid>.L <gid>.L
@ -1422,18 +1450,24 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
- Parse whisper to GM
0x3804
Type: IZ
Structure: <cmd>.W <?>.W <aid>.L <cid>.L <type>.B
index: 0,2,4,8,12
len: variable: 13 or p (Max=5013)
Type: HZ
Structure: <cmd>.W <len>.W <aid>.L <cid>.L <?>.B <type>.B <count>.W { <keyLength>.B <key>.<keyLength> <index>.L <valLength>.B <val>.<valLength> }*
index: 0,2,4,8,12,13,14,16,...
len: variable
parameter:
- cmd : packet identification (0x3804)
- ?
- aid
- cid
- type
- count
- keyLength
- key
- index
- val
- valLength
desc:
- Account registry transfer to map-server
- Send global account registry to map-server from login-server
0x3806
Type: IZ
@ -1477,6 +1511,22 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
desc:
- Transmit the result of a account_information request from map-serv, with type 1
0x3809
Type: IZ
Structure: <cmd>.W <len>.W <nameid>.W <source>.W <type>.B <name>.24B <srcname>.24B
index: 0,2,6,4,8,9,24
len: 9+NAME_LENGTH+NAME_LENGTH
parameter:
- cmd : packet identification (0x3809)
- len : Packet length
- nameid : ID of obtained item
- source : Source from where the item obtained
- type : Obtained type. 0: Box/Package, 1: Monster, 2: NPC
- name : Name of player who obtained the item
- srcname : Source name as alternative of source
desc:
- Broadcasts if player get special items.
0x3818
Type: IZ
Structure: <cmd>.W <len>.W <aid>.L <guild_id>.L <flag>.B <guild_storage>.?B
@ -2632,7 +2682,7 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
- cmd : packet identification (0x2b0e)
- aid
- name
- operation_type
- operation_type: 1:block account, 2:ban account, 3:unblock account, 4:unban account, 5:changesex, 6:VIP, 7:changecharsex
- timediff
- val1
- val2

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= rAthena Dev Team
//===== Last Updated: ========================================
//= 20140313
//= 20150610
//===== Description: =========================================
//= A reference manual for the rAthena scripting language.
//= Commands are sorted depending on their functionality.
@ -374,8 +374,10 @@ But what about GID?
GID stands for the Game ID of something, this can either be the GID obtained
through mobspawn (mob control commands) or the account ID of a character.
Another way would be to right click on a mob,
NPC or char as GM sprited char to view the GID.
Another way would be to right click on a mob, NPC or char as GM sprited char
to view the GID.
See also 'getpetinfo', 'getmercinfo', 'gethominfo', and 'geteleminfo'.
This is mostly used for the new version of skill and the mob control commands
implemented.
@ -446,13 +448,14 @@ temporary - They cease to exist when the server resets.
Prefix: scope and extent
nothing - A permanent variable attached to the character, the default variable
type. They are stored in the `global_reg_value` table using type 3.
type. They are stored by char-server in the `global_acc_reg_num` and
`global_acc_reg_str`.
"@" - A temporary variable attached to the character.
SVN versions before 2094 revision and RC5 version will also treat
'l' as a temporary variable prefix, so beware of having variable
names starting with 'l' if you want full backward compatibility.
"$" - A global permanent variable.
They are stored in database table `mapreg`.
They are stored by map-server in database table `mapreg`.
"$@" - A global temporary variable.
This is important for scripts which are called with no RID
attached, that is, not triggered by a specific character object.
@ -468,13 +471,14 @@ nothing - A permanent variable attached to the character, the default variable
callsub/callfunc starts a new scope, returning from the function
ends it. When a scope ends, its variables are converted to values
('return .@var;' returns a value, not a reference).
"'" - An instance variable
"'" - An instance variable.
These are used with the instancing system, and are unique to each
party's instance.
"#" - A permanent local account variable.
They are stored in the `global_reg_value` table using type 2.
They are stored by char-server in the `char_reg_num` table and
`char_reg_str`.
"##" - A permanent global account variable stored by the login server.
They are stored in the `global_reg_value` table using type 1.
They are stored in the `acc_reg_num` table and `acc_reg_str`.
The only difference you will note from normal # variables is when
you have multiple char-servers connected to the same login server.
The # variables are unique to each char-server, while the ## variables
@ -616,6 +620,8 @@ same name. You can tell between the specific variables of an array with an
<variable name>[<array index>]
All variable types can be used as arrays.
Variables stored in this way, inside an array, are also called 'array elements'.
Arrays are specifically useful for storing a set of similar data (like several
item IDs for example) and then looping through it. You can address any array
@ -631,8 +637,9 @@ value from an another array) to get at an array value:
This will make @arrayofnumbers[100] equal to 10.
Notice that index numbering always starts with 0. Arrays cannot hold more than
128 variables. (So the last one can't have a number higher than 127)
Index numbering always starts with 0 and arrays can hold over 2 billion
variables. As such, the (guaranteed) allowed values for indices are in the
range 0 ~ 2147483647.
And array indexes probably can't be negative. Nobody tested what happens when
you try to get a negatively numbered variable from an array, but it's not going
@ -644,41 +651,6 @@ Arrays can naturally store strings:
the '$', normally denoting a string variable, before the square brackets that
denotes an array index.
Resume of the allowed variable and array scopes
-----------------------------------------------
+==========+======+=======+
|VarType | Norm | Array |
+==========+======+=======+
|$Str$ | OK! | OK! |
+----------+------+-------+
|$@Str$ | OK! | OK! |
+----------+------+-------+
|@Str$ | OK! | OK! |
+----------+------+-------+
|#Str$ | OK! | FAIL! |
+----------+------+-------+
|Str$ | OK! | FAIL! |
+----------+------+-------+
|$Int | OK! | OK! |
+----------+------+-------+
|$@Int | OK! | OK! |
+----------+------+-------+
|@Int | OK! | OK! |
+----------+------+-------+
|#Int | OK! | FAIL! |
+----------+------+-------+
|Int | OK! | FAIL! |
+----------+------+-------+
|.Str$ | OK! | OK! |
+----------+------+-------+
|.Int | OK! | OK! |
+----------+------+-------+
|.@Str$ | OK! | OK! |
+----------+------+-------+
|.@Int | OK! | OK! |
+----------+------+-------+
Variable References
-------------------
@ -991,6 +963,7 @@ On<label name>:
These special labels are used with Mob scripts mostly, and script commands
that requires you to point/link a command to a mob or another NPC, giving a label
name to start from. The label name can be any of your liking, but must be
started with "On".
Example:
@ -1287,6 +1260,14 @@ getvariableofnpc will not work on them.
---------------------------------------
*getvar <variable>,<char_id>;
Get variable value from the specified player. Only player/account variables
are allowed to be used (temporary character variable "@", permanent
character "", permanent local account "#", and permanent global account "##").
---------------------------------------
*goto <label>;
This command will make the script jump to a label, usually used in conjunction
@ -2159,7 +2140,7 @@ example:
setarray @array[0],200,200,200;
setarray @array[1],300,150;
will produce:
@array[0]=200
@ -2192,7 +2173,7 @@ some cases invaluable.
setarray @array[0], 100, 200, 300, 400, 500, 600;
// So we have made @array[]
copyarray @array2[0],@array[2],2;
// Now, @array2[0] will be equal to @array[2] (300) and
// @array2[1] will be equal to @array[3].
@ -2266,9 +2247,9 @@ Whatever it returns is determined by type.
*getarraysize(<array name>)
This function returns the number of values that are contained inside the
specified array. Notice that zeros and empty strings at the end of this array
are not counted towards this number.
This function returns highest index of the array that is filled.
Notice that zeros and empty strings at the end of this array are not
counted towards this number.
For example:
@ -2279,8 +2260,8 @@ This will make @arraysize == 6. But if you try this:
setarray @array[0], 100, 200, 300, 400, 500, 600, 0;
set @arraysize,getarraysize(@array);
@arraysize will still equal 6, even though you've set 7 values.
@arraysize will still equal 6, even though you've set 7 values.
---------------------------------------
@ -2480,6 +2461,19 @@ Deletes the spirit ball(s) from player.
Counts the spirit ball that player has.
---------------------------------------
*ignoretimeout <flag>{,<char_id>};
Disables the SECURE_NPCTIMEOUT function on the character invoking the script,
or by the given character ID/character name.
Valid flag:
0 - Enabled SECURE_NPCTIMEOUT.
1 - Disable SECURE_NPCTIMEOUT.
Note: SECURE_NPCTIMEOUT must be enabled for this to work.
---------------------------------------
\\
2,2 Item-related commands
@ -2492,7 +2486,7 @@ This function returns the item ID of the item equipped in the equipment slot
specified on the invoking character. If nothing is equipped there, it returns -1.
Valid equipment slots are:
EQI_HEAD_TOP (1) - Upper Headear
EQI_HEAD_TOP (1) - Upper Headgear
EQI_ARMOR (2) - Armor (jackets, robes)
EQI_HAND_L (3) - Left hand (weapons, shields)
EQI_HAND_R (4) - Right hand (weapons)
@ -2852,15 +2846,27 @@ It's useful for when you want to check whether an item contains cards or if it's
---------------------------------------
*mergeitem({<item_id>{,<char_id>}});
*mergeitem({"<item name>"{,<char_id>}});
*mergeitem({,<char_id>});
Open merge item window to merge available item can be merged.
Examples
1. See the NPC 'npc/re/other/merge_item.txt'.
2. Simple usage:
mes "Let's check if any item can be merged.";
close2;
mergeitem;
end;
---------------------------------------
*mergeitem2({<item_id>{,<char_id>}});
*mergeitem2({"<item name>"{,<char_id>}});
Merge all stackable items that separated by GUID flags
(either by flag 4 item_flag.txt or GUID in item_group).
If no item ID/name given, all possible items in player's inventory will be merged.
Example, just see the NPC 'npc/re/other/merge_item.txt'.
---------------------------------------
//
2,1.- End of item-related commands.
@ -3039,7 +3045,7 @@ Example:
---------------------------------------
*getguildmember <guild id>{,<type>};
*getguildmember <guild id>{,<type>{,<array_variable>}};
This command will find all members of a specified guild and returns their names
(or character id or account id depending on the value of "type") into an array
@ -3067,6 +3073,9 @@ Note that the names come in no particular order.
Be sure to use $@guildmembercount to go through this array, and not
'getarraysize', because it is not cleared between runs of 'getguildmember'.
If 'array_variable' is set, the result will be stored to that variable instead
using global variable.
For usage examples, see 'getpartymember'.
---------------------------------------
@ -3374,7 +3383,8 @@ account ID.
*getattachedrid();
Returns RID from running script. Script may does not have RID.
Returns RID from running script. Script may not be attached to any RID like
a floating script or function and will return 0.
---------------------------------------
@ -3806,6 +3816,13 @@ by default green
---------------------------------------
*showscript "<message>"{,<GID>};
Makes attached player or GID says a message like shouting a skill name, the message
will be seen to everyone around but not in chat window.
---------------------------------------
*warp "<map name>",<x>,<y>;
This command will take the invoking character to the specified map, and if
@ -3939,7 +3956,7 @@ no teleportation is otherwise possible.
---------------------------------------
*heal <hp>,<sp>;
*heal <hp>,<sp>{,<char_id>};
This command will heal a set amount of HP and/or SP on the invoking character.
@ -3952,7 +3969,7 @@ character and produces no other output whatsoever.
---------------------------------------
*itemheal <hp>,<sp>;
*itemheal <hp>,<sp>{,<char_id>};
This command heals relative amounts of HP and/or SP on the invoking character.
Unlike heal, this command is intended for use in item scripts. It applies
@ -3969,7 +3986,7 @@ Example:
---------------------------------------
*percentheal <hp>,<sp>;
*percentheal <hp>,<sp>{,<char_id>};
This command will heal the invoking character. It heals the character, but not
by a set value - it adds percent of their maximum HP/SP.
@ -4021,7 +4038,7 @@ Examples:
---------------------------------------
*jobchange <job number>{,<upper flag>};
*jobchange <job number>{,<upper flag>,<char_id>};
This command will change the job class of the invoking character.
@ -4061,7 +4078,7 @@ This command retrieves the name of the given job using the map_msg entries 550->
---------------------------------------
*eaclass({<job number>})
*eaclass({<job number>,<char_id>})
This commands returns the "eA job-number" corresponding to the given class, and
uses the invoking player's class if none is given. The eA job-number is also a
@ -4153,6 +4170,20 @@ they will also have their skills reset upon 'changesex'.
---------------------------------------
*changecharsex({<char_id>});
This command will change the gender of the attached character. If it
was male, it will become female, if it was female, it will become male. The
change will be written to the character server, the player will receive the
message: "Need disconnection to perform change-sex request..." and the player
will be immediately kicked to the login screen. When they log back in, they will
be the opposite sex.
If the character being changed is a Dancer/Gypsy or Bard/Clown class type,
the character will also have their skills reset upon 'changecharsex'.
---------------------------------------
*getexp <base xp>,<job xp>{,<char_id>};
This command will give the invoking character a specified number of base and job
@ -4175,8 +4206,8 @@ adjusts the gained value. If you want to bypass this, use the 'set' method.
---------------------------------------
*setlook <look type>,<look value>;
*changelook <look type>,<look value>;
*setlook <look type>,<look value>{,<char_id>};
*changelook <look type>,<look value>{,<char_id>};
'setlook' will alter the look data for the invoking character. It is used
mainly for changing the palette used on hair and clothes: you specify which look
@ -4659,7 +4690,7 @@ More info, see doc/item_group.txt.
---------------------------------------
*getgroupitem <group_id>;
*getgroupitem <group_id>{,<char_id>};
Gives item(s) to the attached player based on item group contents.
This is not working like 'getrandgroupitem' which only give 1 item for specified
@ -4872,7 +4903,7 @@ This command will return 1 if an item was broken and 0 otherwise.
---------------------------------------
*clearitem {,<char_id>};
*clearitem {<char_id>};
This command will destroy all items the invoking character has in their
inventory (including equipped items). It will not affect anything else, like
@ -5297,7 +5328,7 @@ expected, refer only to an invoking character.
What these commands do is 'attach' a script to the player which will get
executed on attack (or when attacked in the case of autobonus2).
Rate is the trigger rate of the script (10000 = 100%).
Rate is the trigger rate of the script (1000 = 100%).
Duration is the time that the bonus will last for since the script has triggered.
@ -5521,9 +5552,10 @@ Examples:
---------------------------------------
*pcblockmove <id>,<option>;
*unitblockmove <id>,<option>;
Prevents the given GID from moving when the option is 1, and enables the ID to
move again when the option is 0. This command will run for the attached player
move again when the option is 0. This command will run for the attached unit
if the given GID is zero.
Examples:
@ -6417,6 +6449,20 @@ example.
---------------------------------------
*waitingroomkick "<NPC object name>" , "<character name>";
This command kicks the given character from the waiting room attached to the given NPC.
---------------------------------------
*getwaitingroomusers "<NPC object name>";
This command get all the characters in the waiting room of the given NPC and stores
their gids in the array .@waitingroom_users[]. Also, stores the the number of characters
in the variable .@waitingroom_usercount
---------------------------------------
*kickwaitingroomall {"<NPC object name>"};
This command kicks everybody out of a specified waiting room chat.
@ -6490,7 +6536,7 @@ The optional parameter 'type' is used in the 'skill_damage' mapflag:
*getbattleflag("<battle flag>")
Sets or gets the value of the given battle flag.
Battle flags are the flags found in the battle/*.conf files and is also used in Lupus' variable rates script.
Battle flags are the flags found in the battle / *.conf files and is also used in Lupus' variable rates script.
Examples:
@ -6958,8 +7004,8 @@ in this way.
\\
---------------------------------------
*unitwalk <GID>,<x>,<y>;
*unitwalk <GID>,<Target ID>;
*unitwalk <GID>,<x>,<y>{,"<event label>"};
*unitwalkto <GID>,<Target GID>{,"<event label>"};
This command will tell a <GID> to walk to a position, defined either as a set of
coordinates or another object. The command returns a 1 for success and 0 upon failure.
@ -6968,11 +7014,14 @@ If coordinates are passed, the <GID> will walk to the given x,y coordinates on t
unit's current map. While there is no way to move across an entire map with 1 command
use, this could be used in a loop to move long distances.
If an object ID is passed, the initial <GID> will walk to the <Target ID> (similar to
If an object ID is passed, the initial <GID> will walk to the <Target GID> (similar to
walking to attack). This is based on the distance from <GID> to <Target ID>. This command
uses a hard walk check, so it will calculate a walk path with obstacles. Sending a bad
target ID will result in an error.
An optional Event Label can be passed as well which will execute when the <GID> has reached
the given coordinates or <Target GID>.
Examples:
// Makes player walk to the coordinates (150,150).
@ -6985,7 +7034,7 @@ Examples:
dispbottom "That's too far away, man.";
// Makes player walk to another character named "WalkToMe".
unitwalk getcharid(3),getcharid(3,"WalkToMe");
unitwalkto getcharid(3),getcharid(3,"WalkToMe");
---------------------------------------
@ -7028,6 +7077,10 @@ This command will make a <GID> stop attacking.
This command will make a <GID> stop moving.
Note: If this is called from OnTouch, then the walktimer attached to the unit is
removed from OnTouch which causes this command to not stop the unit from walking.
Suggest to use 'unitblockmove' to forcefully stop the unit with OnTouch.
---------------------------------------
*unittalk <GID>,"<text>";
@ -7058,6 +7111,20 @@ For the position, the x and y are given in the UnitSkillUsePos.
---------------------------------------
*getunittype <GID>;
Returns the type of object from the given Game ID. Returns -1 if the given <GID> does not
exist.
0 - Monster
1 - Homunculus
2 - Pet
3 - Mercenary
4 - Elemental
5 - NPC
---------------------------------------
*getunitname <GID>;
Gets the name of the given unit. Supported types are monster, homunculus, pet, and NPC.
@ -7163,6 +7230,17 @@ Example:
// Set the max HP of the Poring to 1000 (current HP will also get updated to 1000).
setunitdata .GID,3,1000;
---------------------------------------
*geteleminfo <type>{,<char_id>};
Get info of elemental of attached player or player by char_id.
Other info can be obtained by 'getunitdata' command.
Valid types are:
0: Elemental ID
1: Elemental Game ID
---------------------------------------
\\
6,1.- End of unit-related commands
@ -7773,7 +7851,7 @@ the script will come to a halt.
---------------------------------------
*instance_enter("<instance name>"{,<x>,<y>});
*instance_enter("<instance name>"{,<x>,<y>,<char_id>});
Warps player to the specified instance after the script terminates. The map and
coordinates are located in 'db/(pre-)re/instance_db.txt'.
@ -7783,6 +7861,8 @@ The command returns 0 upon success, and these values upon failure:
2: Party does not have an instance.
3: Other errors (invalid instance name, instance doesn't match with party).
Put -1 for x and y if want to warp player with default entrance coordinates.
---------------------------------------
*instance_npcname("<npc name>"{,<instance id>})
@ -8085,7 +8165,7 @@ OnTimer1000:
---------------------------------------
*bg_leave;
*bg_leave {<char_id>};
Removes attached player from their Battle Group.
@ -8173,12 +8253,12 @@ server and the egg will disappear when anyone tries to hatch it.
---------------------------------------
*getpetinfo(<type>)
*getpetinfo(<type>{,<char_id>})
This function will return pet information for the pet the invoking character
currently has active. Valid types are:
0 - Pet Game ID
0 - Pet ID
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.
@ -8186,6 +8266,7 @@ currently has active. Valid types are:
4 - Pet hungry level. 100 is completely full.
5 - Pet rename flag. 0 means this pet has not been named yet.
6 - Pet level
7 - Pet Game ID
---------------------------------------
@ -8341,20 +8422,21 @@ and will return the following values:
---------------------------------------
*gethominfo(<type>)
*gethominfo(<type>{,<char_id>})
This function will return Homunculus information for the Homunculus of the
invoking character, regardless of its vaporize state. It returns zero or
"null" if the player does not own a Homunculus.
Valid types are:
0 - Homunculus Game ID
0 - Homunculus ID
1 - Homunculus Class
2 - Homunculus Name
3 - Homunculus friendly level (intimacy score). 100000 is full loyalty.
4 - Homunculus hungry level. 100 is completely full.
5 - Homunculus rename flag. 0 means this homunculus has not been named yet.
6 - Homunculus level
7 - Homunculus Game ID
---------------------------------------
@ -8424,7 +8506,7 @@ character. 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 - Mercenary Game ID
0 - Mercenary ID
1 - Mercenary Class
2 - Mercenary Name
3 - Mercenary faith value for this mercenary's guild, if any
@ -8432,6 +8514,7 @@ can be one of the following:
5 - Mercenary kill count
6 - Mercenary remaining life time in msec
7 - Mercenary level
8 - Mercenary Game ID
If the character does not have a mercenary, the command returns ""
for name and 0 for all other types.
@ -8455,7 +8538,7 @@ Lets say the ID of a party was saved as a global variable:
---------------------------------------
*getpartymember <party id>{,<type>};
*getpartymember <party id>{,<type>{,<array_variable>}};
This command will find all members of a specified party and returns their names
(or character id or account id depending on the value of "type") into an array
@ -8492,6 +8575,9 @@ call remain, and you will get 5+2 members, of which the last 2 don't belong to
the new guy's party. $@partymembercount will always contain the correct number,
(5) unlike 'getarraysize()' which will return 7 in this case.
If 'array_variable' is set, the result will be stored to that variable instead
using global variable.
Example 1: list party member names
// get the party member names

View File

@ -751,8 +751,9 @@ SC_SPIRIT ()
val1:
SC_COMA ()
desc:
val1:
desc: Vanish HP to 1 and SP to 0
val1: (meaningless)
val2: If 1 means do not remove SP
SC_INTRAVISION ()
desc:
@ -2432,7 +2433,7 @@ SC_MTF_MLEATKED (SI_MTF_MLEATKED)
SC_MTF_CRIDAMAGE (SI_MTF_CRIDAMAGE)
desc: Bonus critical rate of monster transformation
val1: +$ Critical
val1: +% Critical
SC_OKTOBERFEST ()
desc: Costume

View File

@ -18,7 +18,7 @@
bat_room,169,226,5 script KVM Waiting Room#a::KvM01R_Guillaume 418,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM01_BG::OnGuillaumeJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM01_BG_Out::OnGuillaumeJoin",1;
end;
OnEnterBG:
set $@KvM01BG_id1, waitingroom2bg("bat_c01",52,129,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie");
@ -29,7 +29,7 @@ bat_room,169,205,3 script KVM Waiting Room#b::KvM01R_Croix 414,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM01_BG::OnCroixJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM01_BG_Out::OnCroixJoin",1;
end;
OnEnterBG:

View File

@ -20,7 +20,7 @@
bat_room,197,226,5 script KVM Waiting Room#a2::KvM02R_Guillaume 418,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM02_BG::OnGuillaumeJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM02_BG_Out::OnGuillaumeJoin",1;
end;
OnEnterBG:
set $@KvM02BG_id1, waitingroom2bg("bat_c02",52,129,"KvM02_BG::OnGuillaumeQuit","KvM02_BG::OnGuillaumeDie");
@ -30,7 +30,7 @@ OnEnterBG:
bat_room,197,205,3 script KVM Waiting Room#b2::KvM02R_Croix 414,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM02_BG::OnCroixJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM02_BG_Out::OnCroixJoin",1;
end;
OnEnterBG:
set $@KvM02BG_id2, waitingroom2bg("bat_c02",147,55,"KvM02_BG::OnCroixQuit","KvM02_BG::OnCroixDie");

View File

@ -19,7 +19,7 @@
bat_room,225,226,5 script KVM Waiting Room#a3::KvM03R_Guillaume 418,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM03_BG::OnGuillaumeJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM03_BG_Out::OnGuillaumeJoin",1;
end;
OnEnterBG:
set $@KvM03BG_id1, waitingroom2bg("bat_c03",52,129,"KvM03_BG::OnGuillaumeQuit","KvM03_BG::OnGuillaumeDie");
@ -29,7 +29,7 @@ OnEnterBG:
bat_room,225,205,3 script KVM Waiting Room#b3::KvM03R_Croix 414,{
end;
OnInit:
waitingroom "Battle Station 5 Players",6,"KvM03_BG::OnCroixJoin",1;
waitingroom "Battle Station 5 Players",6,"KvM03_BG_Out::OnCroixJoin",1;
end;
OnEnterBG:
set $@KvM03BG_id2, waitingroom2bg("bat_c03",147,55,"KvM03_BG::OnCroixQuit","KvM03_BG::OnCroixDie");

View File

@ -55,7 +55,7 @@ function Chk;
mes "You've started a mission";
mes "on another character.";
if (!@hm_char_del_check) { // check for deleted character
query_sql("SELECT 1 FROM `global_reg_value` WHERE `str` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i);
query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i);
if (!.@i) {
next;
mes "[Hunting Missions]";
@ -146,7 +146,7 @@ function Chk;
case 6:
mes "[Hunting Missions]";
mes "The top hunters are:";
query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `global_reg_value` WHERE str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val);
query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val);
for (.@i = 0; .@i < 5; .@i++)
mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000";
close;
@ -207,9 +207,9 @@ Mission_Status:
#Mission_Delay = gettimetick(2) + (.Delay * 3600);
Mission_Total++;
if (Mission_Total == 1)
query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES (" + getcharid(0) + ",'Mission_Total','1',3,0)");
query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)");
else
query_sql("UPDATE `global_reg_value` SET `value` = " + Mission_Total + " WHERE char_id = " + getcharid(0) + " AND `str` = 'Mission_Total'");
query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'");
close;
Mission_Info:
@ -285,15 +285,18 @@ OnNPCKillEvent:
getpartymember getcharid(1),2;
for (.@i = 0; .@i < $@partymembercount; .@i++) {
if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
attachrid $@partymemberaid[.@i];
if (#Mission_Count && Mission0 && HP > 0) {
set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]);
set .@Mission0, getvar(Mission0, $@partymembercid[.@i]);
set .@HP, getvar(HP, $@partymembercid[.@i]);
if (.@Mission_Count && .@Mission0 && .@HP > 0) {
getmapxy(.@map2$,.@x2,.@y2,0);
if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) {
for (.@j = 0; .@j < .Quests; .@j++) {
if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) {
if (getd("Mission"+.@j+"_") < #Mission_Count) {
dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@j + "_"),getd("Mission" + .@j + "_") + 1)) +
" of " + #Mission_Count + " " + strmobinfo(1,.@mob) + ".";
if (strmobinfo(1,.@mob) == strmobinfo(1,getvar(getd("Mission"+.@j), $@partymembercid[.@i]))) {
if (getvar(getd("Mission"+.@j+"_"), $@partymembercid[.@i]) < .@Mission_Count) {
dispbottom "[Hunting Mission] Killed " + (set(getvar(getd("Mission" + .@j + "_"), $@partymembercid[.@i]), getvar(getd("Mission" + .@j + "_") + 1, $@partymembercid[.@i]))) +
" of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".";
break;
}
}

View File

@ -205,7 +205,6 @@ alberta,214,77,6 script Captain Janssen 709,{
e_tower,81,105,0 script Tower Protection Stone 406,{
set .@party_id,getcharid(1);
set .@p_name$,getpartyname(.@party_id);
set .@md_name$,"Endless Tower";
set .@etower_timer,checkquest(60200,PLAYTIME); // 1 week
@ -222,7 +221,7 @@ e_tower,81,105,0 script Tower Protection Stone 406,{
switch(select("Generate dungeon "+.@md_name$+":Enter the dungeon:Return to Alberta:Cancel")) {
case 1:
if (instance_create(.@md_name$) < 0) {
mes "Party Name: "+.@p_name$;
mes "Party Name: "+ getpartyname(.@party_id);
mes "Party Leader: "+strcharinfo(0);
mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
close;
@ -304,7 +303,7 @@ L_Enter:
mes "You can enter the dungeon after making the party.";
close;
case 0:
mapannounce "e_tower", strcharinfo(0)+" of the party, "+.@p_name$+", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
mapannounce "e_tower", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
if (getarg(1)) {
set etower_timer,gettimetick(2);
setquest 60200;

View File

@ -884,7 +884,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{
mes "His Highness, the World Tree Yggdrasil, said that?";
next;
mes "[Commander Lebiordirr]";
mes "The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guaridan has given up on his identity?";
mes "The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guardian has given up on his identity?";
next;
mes "[Commander Lebiordirr]";
mes "This must be reported... reported to the High Priest of Alfheim... Unbelievable.";

View File

@ -38,7 +38,6 @@
gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{
set .@party_id,getcharid(1);
set .@p_name$,getpartyname(.@party_id);
set .@md_name$,"Orc's Memory";
if (!instance_check_party(.@party_id,2,30,80)) {
@ -54,7 +53,7 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{
switch(select("Reserve the "+.@md_name$+":Enter the Dungeon:Cancel")) {
case 1:
if (instance_create(.@md_name$) < 0) {
mes "Party Name: "+.@p_name$;
mes "Party Name: "+ getpartyname(.@party_id);
mes "Party Leader: "+strcharinfo(0);
mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
close;
@ -97,7 +96,7 @@ L_Enter:
mes "Only a member of the party can enter the Memorial Dungeon.";
close;
case 0:
mapannounce "gef_fild10",.@p_name$+" party's member "+strcharinfo(0)+" has entered the Orc's Memory.",bc_map,"0x00ff99";
mapannounce "gef_fild10", getpartyname( getcharid(1) ) +" party's member "+strcharinfo(0)+" has entered the Orc's Memory.",bc_map,"0x00ff99";
if (checkquest(12059) == -1) setquest 12059;
//warp "1@orcs",179,15;
if (getarg(0) == 0) close;

View File

@ -10,7 +10,7 @@
//= Spawns monsters in Jail.
//============================================================
sec_in02,139,80,20 monster Poring 1002,10,0,0,0
sec_in02,139,80,20,10 monster Poring 1002,5,0,0,0
sec_in02,138,54,20,20 monster Marin 1242,5,0,0,0
sec_in02,161,46,15,15 monster Poporing 1031,5,0,0,0
sec_in02,114,47,10,10 monster Drops 1113,5,0,0,0

View File

@ -27,6 +27,7 @@
//= 1.7 Added Dungeon Teleport Scroll II maps. [Euphy]
//= 1.8 Added VIP function. [Euphy]
//= 1.9 Added checkdragon() in F_CashReset. [Capuche]
//= 2.0 Moved VIP_Third_Class function into other/re/CashShop_Functions. [Capuche]
//============================================================
// Kafra Card
@ -303,35 +304,3 @@ function script F_Snowball {
}
end;
}
// VIP Functions
//============================================================
function script VIP_Third_Class {
if (!vip_status(1)) {
mes "[Voice from nowhere]";
mes "Access to Premium content is only available to those who possess a certain amount of Reset Stones.";
next;
if (countitem(6320) < 1) {
mes "[Voice from nowhere]";
mes "In order to change to third class, you must bring 1 ^0000CCReset Stone^000000 or have a Premium account.";
//mes "Please visit our iShop to purchase the ^0000CCReset Stone^000000.";
close;
} else {
mes "[Voice from nowhere]";
mes "Would you like to participate in this quest for 1 ^0000CCReset Stone^000000?";
next;
switch(select("Yes:No")) {
case 1:
mes "[Voice from nowhere]";
mes "Good luck, adventurer.";
delitem 6320,1; //Premium_Reset_Stone
break;
case 2:
mes "[Voice from nowhere]";
mes "Very well.";
close;
}
}
}
return;
}

View File

@ -93,7 +93,7 @@ OnEnable:
enablenpc "Tire"+.@c+"#2";
enablenpc "Tire"+.@c+"#3";
if (.@tired < 30) enablenpc "Tire"+.@c+"#4";
} else if (.@line) <= 60 {
} else if (.@line <= 60) {
.@tired = rand(10,30);
for ( .@i = 1; .@i <= 3; .@i++ )
enablenpc "Luk"+.@c+"#"+.@i;

View File

@ -13,7 +13,7 @@
//= 1.0 First version.
//============================================================
nif_fild02,332,327,4 script Deadman 795,{
nif_fild01,332,327,4 script Deadman 795,{
if (checkquest(60173) != -1) {
if (checkquest(60173,HUNTING) != 2 ) {

View File

@ -387,7 +387,7 @@ einbech,97,167,5 script Cavitar 847,{
switch(select("Sure~!:No, thanks.")) {
case 1:
set Zeny,Zeny-1000;
set $einamanoama,$einamanoama + 1;
set $ein_amano,$ein_amano + 1;
set ein_gear1,1;
mes "[Cavitar]";
mes "Great...!";

View File

@ -4058,7 +4058,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
set diamond_edq,6;
close;
}
if (diamond_edq) == 9 {
if (diamond_edq == 9) {
mes "[Dorian]";
mes "Ah, did you bring all";
mes "the materials I need to";
@ -4152,7 +4152,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
close;
}
}
if (diamond_edq) == 10 {
if (diamond_edq == 10) {
mes "[Dorian]";
mes "Did you already forget";
mes "my instructions for fixing my";
@ -4216,7 +4216,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
close;
}
}
if (diamond_edq) == 11 {
if (diamond_edq == 11) {
mes "[Dorian]";
mes "Ah, so you failed to";
mes "fix the Mystic Dryer de";
@ -4227,7 +4227,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
set diamond_edq,10;
close;
}
if (diamond_edq) == 12 {
if (diamond_edq == 12) {
mes "[Dorian]";
mes "Ah, I underestimated you.";
mes "You really repaired the";
@ -4253,7 +4253,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
mes "your kind of help. Farewell~";
close;
}
if (diamond_edq) > 12 {
if (diamond_edq > 12) {
mes "[Dorian]";
mes "Ah, hello! How have";
mes "you been? Are you in need";
@ -4264,7 +4264,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{
//OnTouch2:
OnTouch:
if (diamond_edq) < 9 {
if (diamond_edq < 9) {
mes "[Dorian]";
mes "Wh-what are you doing?";
mes "D-don't sully my wonderful";
@ -4272,7 +4272,7 @@ OnTouch:
mes "uncultured hands!";
close;
}
if (diamond_edq) == 9 {
if (diamond_edq == 9) {
mes "[Dorian]";
mes "Can't you see that the";
mes "machine won't work without";
@ -4294,7 +4294,7 @@ OnTouch:
mes "goods to Kafra Storage, please.";
close;
}
if (diamond_edq) == 10 {
if (diamond_edq == 10) {
set .@bolt_rand,rand(2,5);
mes "^3355FFThis must be Dorian's";
mes "Mystic Dryer de Elegance.";
@ -4321,7 +4321,7 @@ OnTouch:
next;
set .@engine,.@engine+1;
}
else if (engine > 0) {
else if (.@engine > 0) {
mes "^3355FFThe ruby in the";
mes "engine has already";
mes "been replaced.^000000";
@ -8045,500 +8045,229 @@ payon,192,176,3 script Gooho Ahn 903,{
close;
}
moc_ruins,90,67,3 script Suspicious Man#1 99,2,2,{
if ((zdan_edq == 9) && ($@zdan == 0)) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "I know you've";
mes "been pursuing us!";
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
mes "[" + strcharinfo(0) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
mes "Y-you're stronger";
mes "than I thought!";
mes "Run awaaaaay!";
hideoffnpc "Suspicious Man#2";
hideonnpc "Suspicious Man#1";
set $@zdan,0;
stopnpctimer;
next;
mes "[" + strcharinfo(0) + "]";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
mes "to get away from here.";
mes "Let's see what it says...";
next;
mes "^FFFFFF ^000000";
mes "^FFFFFF ^000000";
mes "^666666Kill " + strcharinfo(0) + ", meow.";
mes "That arrogant do-gooder";
mes "is looking into us too much.";
mes "Fail to kill him, and death";
mes "will be too good for you, meow.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
mes "I have a chance to catch him!";
changequest 3126,3127;
set zdan_edq,10;
close;
moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,4,4,{
if (zdan_edq == 9) {
if ($@zdan == 0)
callsub S_Quest;
else {
mes "[Suspicious Man]";
if (strnpcinfo(2) == "1") {
mes "...............................";
mes "...............................";
mes "............................... ";
}
else
mes "... ...";
next;
mes "[" + strcharinfo(0) + "]";
mes "Something's not quite";
mes "right. I should come back";
mes "and investigate this area";
mes "later when there are fewer";
mes "people watching...";
}
}
if ((zdan_edq == 9) && ($@zdan > 0)) {
mes "[Suspicious Man]";
mes "...............................";
mes "...............................";
mes "............................... ";
next;
mes "[" + strcharinfo(0) + "]";
mes "Something's not quite";
mes "right. I should come back";
mes "and investigate this area";
mes "later when there are fewer";
mes "people watching...";
close;
else if (zdan_edq == 10) {
if ($@zdan > 0) {
mes "[" + strcharinfo(0) + "]";
mes "Nuts! I was supposed";
mes "to try to do this secretly!";
mes "I better try to investigate";
mes "this area again when no";
mes "one is around here.";
}
else {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "Eeek...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Haha! Got you!";
mes "You're an informer for";
mes "the Z Gang, aren't you?";
next;
mes "[????]";
mes "I... I... d-don't";
mes "know what you're";
mes "talking about!";
mes "I'm innocent!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Then you're telling";
mes "me this note didn't";
mes "just fall out of your";
mes "pocket? What's this";
mes "about trying to kill me?";
next;
mes "[????]";
mes "Th-that's...";
mes "I'm not--That...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "You better confess, or";
mes "I'll drag you over to the";
mes "Prontera Knightage or the";
mes "Rogue Guild to take care";
mes "of you. In fact, let's just";
mes "head over to Prontera...";
next;
mes "[Z Gang Informer]";
mes "N-no! I'll tell you";
mes "everything! Please!";
mes "My mother's old! I've";
mes "got kids to feed!";
mes "I... I can't go to jail!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Alright.";
mes "Let's start by you";
mes "telling me where";
mes "I can find the Z Gang.";
next;
mes "[Z Gang Informer]";
mes "I... I really don't";
mes "know where to find them.";
mes "I'm at the bottom of the";
mes "food chain, I just follow";
mes "their written instructions.";
next;
mes "[" + strcharinfo(0) + "]";
mes "You know what?";
mes "Never mind. I'm won't";
mes "take you to be jailed by";
mes "the Prontera Knights.";
mes "I'll drop you off";
mes "at the Rogues.";
next;
mes "[Z Gang Informer]";
mes "...............................";
mes "Their secret hideout is in";
mes "South Morroc, and you can't";
mes "enter the place without the";
mes "secret password.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Nice. Now, you better";
mes "stop running with the";
mes "Z Gang. Otherwise, I'm";
mes "not going to be so merciful";
mes "the next time I see you.";
next;
mes "[Z Gang Informer]";
mes "Anything you want!";
mes "J-just let me liiive!";
next;
mes "[" + strcharinfo(0) + "]";
mes "I should head back to";
mes "Marybell, and see if she's";
mes "learned any new information.";
changequest 3127,3128;
set zdan_edq,11;
set $@zdan,0;
stopnpctimer;
}
}
if ((zdan_edq == 10) && ($@zdan > 0)) {
mes "[" + strcharinfo(0) + "]";
mes "Nuts! I was supposed";
mes "to try to do this secretly!";
mes "I better try to investigate";
mes "this area again when no";
mes "one is around here.";
close;
}
if ((zdan_edq == 10) && ($@zdan == 0 )) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "Eeek...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Haha! Got you!";
mes "You're an informer for";
mes "the Z Gang, aren't you?";
next;
mes "[????]";
mes "I... I... d-don't";
mes "know what you're";
mes "talking about!";
mes "I'm innocent!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Then you're telling";
mes "me this note didn't";
mes "just fall out of your";
mes "pocket? What's this";
mes "about trying to kill me?";
next;
mes "[????]";
mes "Th-that's...";
mes "I'm not--That...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "You better confess, or";
mes "I'll drag you over to the";
mes "Prontera Knightage or the";
mes "Rogue Guild to take care";
mes "of you. In fact, let's just";
mes "head over to Prontera...";
next;
mes "[Z Gang Informer]";
mes "N-no! I'll tell you";
mes "everything! Please!";
mes "My mother's old! I've";
mes "got kids to feed!";
mes "I... I can't go to jail!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Alright.";
mes "Let's start by you";
mes "telling me where";
mes "I can find the Z Gang.";
next;
mes "[Z Gang Informer]";
mes "I... I really don't";
mes "know where to find them.";
mes "I'm at the bottom of the";
mes "food chain, I just follow";
mes "their written instructions.";
next;
mes "[" + strcharinfo(0) + "]";
mes "You know what?";
mes "Never mind. I'm won't";
mes "take you to be jailed by";
mes "the Prontera Knights.";
mes "I'll drop you off";
mes "at the Rogues.";
next;
mes "[Z Gang Informer]";
mes "...............................";
mes "Their secret hideout is in";
mes "South Morroc, and you can't";
mes "enter the place without the";
mes "secret password.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Nice. Now, you better";
mes "stop running with the";
mes "Z Gang. Otherwise, I'm";
mes "not going to be so merciful";
mes "the next time I see you.";
next;
mes "[Z Gang Informer]";
mes "Anything you want!";
mes "J-just let me liiive!";
next;
mes "[" + strcharinfo(0) + "]";
mes "I should head back to";
mes "Marybell, and see if she's";
mes "learned any new information.";
changequest 3127,3128;
set zdan_edq,11;
set $@zdan,0;
stopnpctimer;
close;
}
if (zdan_edq < 9) {
mes "[Suspicious Man]";
else if (zdan_edq < 9) {
if (strnpcinfo(2) == "1")
mes "[Suspicious Man]";
else
mes "[Thug]";
mes "What? Get lost!";
mes "Listen, you don't";
mes "want to mess with";
mes "me. Just. Don't.";
close;
}
if ((zdan_edq > 10) && (zdan_edq < 15)) {
else if (zdan_edq > 10 && zdan_edq < 15) {
mes "[Z Gang Informer]";
mes "Whoa, leave me alone!";
mes "I'm just standing here";
mes "on the road, I didn't";
mes "do anything wrong!";
close;
}
if (zdan_edq > 14) {
else if (zdan_edq > 14) {
mes "[Former Z Gang Informer]";
mes "You don't have to";
mes "worry about me anymore.";
mes "I've turned over a new";
mes "leaf, got a real job,";
mes "that sort of deal.";
close;
}
mes "[Suspicious Man]";
mes "What? Get lost!";
mes "Listen, you don't";
mes "want to mess with";
mes "me. Just. Don't.";
else {
if (strnpcinfo(2) == "1")
mes "[Suspicious Man]";
else
mes "[Thug]";
mes "What? Get lost!";
mes "Listen, you don't";
mes "want to mess with";
mes "me. Just. Don't.";
}
close;
OnTimer30000:
set $@zdan,0;
end;
OnTouch:
if ((zdan_edq == 9) && ($@zdan == 0)) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "I know you've";
mes "been pursuing us!";
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
mes "[" + strcharinfo(0) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
mes "Y-you're stronger";
mes "than I thought!";
mes "Run awaaaaay!";
hideoffnpc "Suspicious Man#2";
hideonnpc "Suspicious Man#1";
set $@zdan,0;
stopnpctimer;
next;
mes "[" + strcharinfo(0) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
mes "to get away from here.";
mes "Let's see what it says...";
next;
mes "^FFFFFF ^000000";
mes "^FFFFFF ^000000";
mes "^666666Kill " + strcharinfo(0) + ", meow.";
mes "That arrogant do-gooder";
mes "is looking into us too much.";
mes "Fail to kill him, and death";
mes "will be too good for you, meow.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
mes "I have a chance to catch him!";
changequest 3126,3127;
set zdan_edq,10;
close;
}
end;
}
//Incorrect position.
moc_ruins,78,167,3 script Suspicious Man#2 99,2,2,{
if ((zdan_edq == 9) && ($@zdan == 0)) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "I know you've";
mes "been pursuing us!";
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
mes "[" + strcharinfo(0) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
mes "Y-you're stronger";
mes "than I thought!";
mes "Run awaaaaay!";
hideoffnpc "Suspicious Man#1";
hideonnpc "Suspicious Man#2";
set $@zdan,0;
stopnpctimer;
next;
mes "[" + strcharinfo(0) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
mes "to get away from here.";
mes "Let's see what it says...";
next;
mes "^FFFFFF ^000000";
mes "^FFFFFF ^000000";
mes "^666666Kill " + strcharinfo(0) + ", meow.";
mes "That arrogant do-gooder";
mes "is looking into us too much.";
mes "Fail to kill him, and death";
mes "will be too good for you, meow.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
mes "I have a chance to catch him!";
changequest 3126,3127;
set zdan_edq,10;
close;
}
if ((zdan_edq == 10) && ($@zdan == 0)) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "Eeek...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Haha! Got you!";
mes "You're an informer for";
mes "the Z Gang, aren't you?";
next;
mes "[????]";
mes "I... I... d-don't";
mes "know what you're";
mes "talking about!";
mes "I'm innocent!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Then you're telling";
mes "me this note didn't";
mes "just fall out of your";
mes "pocket? What's this";
mes "about trying to kill me?";
next;
mes "[????]";
mes "Th-that's...";
mes "I'm not--That...!";
next;
mes "[" + strcharinfo(0) + "]";
mes "You better confess, or";
mes "I'll drag you over to the";
mes "Prontera Knightage or the";
mes "Rogue Guild to take care";
mes "of you. In fact, let's just";
mes "head over to Prontera...";
next;
mes "[Z Gang Informer]";
mes "N-no! I'll tell you";
mes "everything! Please!";
mes "My mother's old! I've";
mes "got kids to feed!";
mes "I... I can't go to jail!";
next;
mes "[" + strcharinfo(0) + "]";
mes "Alright.";
mes "Let's start by you";
mes "telling me where";
mes "I can find the Z Gang.";
next;
mes "[Z Gang Informer]";
mes "I... I really don't";
mes "know where to find them.";
mes "I'm at the bottom of the";
mes "food chain, I just follow";
mes "their written instructions.";
next;
mes "[" + strcharinfo(0) + "]";
mes "You know what?";
mes "Never mind. I'm won't";
mes "take you to be jailed by";
mes "the Prontera Knights.";
mes "I'll drop you off";
mes "at the Rogues.";
next;
mes "[Z Gang Informer]";
mes "...............................";
mes "Their secret hideout is in";
mes "South Morroc, and you can't";
mes "enter the place without the";
mes "secret password.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Nice. Now, you better";
mes "stop running with the";
mes "Z Gang. Otherwise, I'm";
mes "not going to be so merciful";
mes "the next time I see you.";
next;
mes "[Z Gang Informer]";
mes "Anything you want!";
mes "J-just let me liiive!";
next;
mes "[" + strcharinfo(0) + "]";
mes "I should head back to";
mes "Marybell, and see if she's";
mes "learned any new information.";
changequest 3127,3128;
set zdan_edq,11;
set $@zdan,0;
stopnpctimer;
close;
}
if ((zdan_edq == 9) && ($@zdan > 0)) {
mes "[Suspicious Man]";
mes "... ...";
next;
mes "[" + strcharinfo(0) + "]";
mes "Something's not quite";
mes "right. I should come back";
mes "and investigate this area";
mes "later when there are fewer";
mes "people watching...";
close;
}
if ((zdan_edq == 10) && ($@zdan > 0)) {
mes "[" + strcharinfo(0) + "]";
mes "Nuts! I was supposed";
mes "to try to do this secretly!";
mes "I better try to investigate";
mes "this area again when no";
mes "one is around here.";
close;
}
if (zdan_edq < 9) {
mes "[Thug]";
mes "What? Get lost!";
mes "Listen, you don't";
mes "want to mess with";
mes "me. Just. Don't.";
close;
}
if ((zdan_edq > 10) && (zdan_edq < 15)) {
mes "[Z Gang Informer]";
mes "Whoa, leave me alone!";
mes "I'm just standing here";
mes "on the road, I didn't";
mes "do anything wrong!";
close;
}
if (zdan_edq > 14) {
mes "[Former Z Gang Informer]";
mes "You don't have to";
mes "worry about me anymore.";
mes "I've turned over a new";
mes "leaf, got a real job,";
mes "that sort of deal.";
close;
}
mes "[Thug]";
mes "What? Get lost!";
mes "Listen, you don't";
mes "want to mess with";
mes "me. Just. Don't.";
close;
OnInit:
hideonnpc "Suspicious Man#2";
end;
OnTimer30000:
set $@zdan,0;
OnTouch:
if (zdan_edq == 9 && $@zdan == 0)
callsub S_Quest;
end;
OnTouch:
if ((zdan_edq == 9) && ($@zdan == 0)) {
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "I know you've";
mes "been pursuing us!";
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
mes "[" + strcharinfo(0) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
mes "Y-you're stronger";
mes "than I thought!";
mes "Run awaaaaay!";
hideoffnpc "Suspicious Man#1";
hideonnpc "Suspicious Man#2";
set $@zdan,0;
stopnpctimer;
next;
mes "[" + strcharinfo(0) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
mes "to get away from here.";
mes "Let's see what it says...";
next;
mes "^FFFFFF ^000000";
mes "^FFFFFF ^000000";
mes "^666666Kill " + strcharinfo(0) + ", meow.";
mes "That arrogant do-gooder";
mes "is looking into us too much.";
mes "Fail to kill him, and death";
mes "will be too good for you, meow.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
mes "I have a chance to catch him!";
changequest 3126,3127;
set zdan_edq,10;
close;
S_Quest:
set $@zdan,1;
initnpctimer;
mes "[????]";
mes "I know you've";
mes "been pursuing us!";
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
mes "[" + strcharinfo(0) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
mes "Y-you're stronger";
mes "than I thought!";
mes "Run awaaaaay!";
if (strnpcinfo(2) == "1") {
hideonnpc "Suspicious Man#1";
hideoffnpc "Suspicious Man#2";
}
end;
else {
hideonnpc "Suspicious Man#2";
hideoffnpc "Suspicious Man#1";
}
set $@zdan,0;
stopnpctimer;
next;
mes "[" + strcharinfo(0) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
mes "to get away from here.";
mes "Let's see what it says...";
next;
mes "^666666Kill " + strcharinfo(0) + ", meow.";
mes "That arrogant do-gooder";
mes "is looking into us too much.";
mes "Fail to kill him, and death";
mes "will be too good for you, meow.^000000";
next;
mes "[" + strcharinfo(0) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
mes "I have a chance to catch him!";
changequest 3126,3127;
set zdan_edq,10;
close;
}
moc_ruins,75,171,3 duplicate(Suspicious Man#1) Suspicious Man#2 4W_M_03,4,4
moc_fild17,209,235,0 script Odd Slab 111,4,4,{
if (((zdan_edq == 15) || (zdan_edq == 16) || (zdan_edq == 17)) && ($@door2 == 0)) {

View File

@ -828,7 +828,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
mes "[Pudding]";
mes "OKAY! In which equipment you want to dwell the power?";
next;
setarray .@parts[0], EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_LOW;
setarray .@parts[0], EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_TOP;
for(.@i = 0; .@i < 7; .@i++) {
if (!getequipisequiped(.@parts[.@i])) {
switch(.@i) {
@ -913,12 +913,12 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
.@part = EQI_ACC_R;
break;
case 8:
if (!getequipisequiped(EQI_HEAD_LOW)) {
if (!getequipisequiped(EQI_HEAD_TOP)) {
mes "[Pudding]";
mes "Hey.. Are you not wearing any Helm?";
close;
}
.@part = EQI_HEAD_LOW;
.@part = EQI_HEAD_TOP;
break;
}
.@refine_count = getequiprefinerycnt(.@part);

View File

@ -1,18 +1,18 @@
//===== rAthena Script =======================================
//===== rAthena Script =======================================
//= Kagerou/Oboro Job Quest
//===== By: ==================================================
//===== By: ==================================================
//= M45T3R, Dastgir Pojee, Euphy
//===== Current Version: =====================================
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= [Official Conversion]
//= [Official Conversion]
//= Job change Quest from Ninja -> Kagerou/Oboro.
//===== Additional Comments: =================================
//===== Additional Comments: =================================
//= 1.0 First version. Uses official script structure and text
//= from iRO (ripped by M45T3R/Dastgir Pojee). [Euphy]
//============================================================
//============================================================
// Starting the Quest
//============================================================
@ -2263,30 +2263,30 @@ job_ko,131,124,0 script Crafting Tools#ko_01 844,{
callsub L_CheckMaterials;
while(1) {
switch(select("Melt Iron Ore.:Melt Iron.:Melt Steel.:Melt Phracon.:Melt Emveretarcon.:Melt Rough Oridecon.:Melt Rough Elunium.:Stop.")) {
case 1: set .@item,1002; set .@val1,1; break; //Iron_Ore
case 2: set .@item, 998; set .@val1,2; break; //Iron
case 3: set .@item, 999; set .@val1,3; break; //Steel
case 4: set .@item,1010; set .@val2,1; break; //Phracon
case 5: set .@item,1011; set .@val2,2; break; //Emveretarcon
case 6: set .@item, 756; set .@val2,3; break; //Oridecon_Stone
case 7: set .@item, 757; set .@val3,5; break; //Elunium_Stone
case 1: set .@item,1002; setarray .@val[0],1,0,0; break; //Iron_Ore
case 2: set .@item, 998; setarray .@val[0],2,0,0; break; //Iron
case 3: set .@item, 999; setarray .@val[0],3,0,0; break; //Steel
case 4: set .@item,1010; setarray .@val[0],0,1,0; break; //Phracon
case 5: set .@item,1011; setarray .@val[0],0,2,0; break; //Emveretarcon
case 6: set .@item, 756; setarray .@val[0],0,3,0; break; //Oridecon_Stone
case 7: set .@item, 757; setarray .@val[0],0,0,5; break; //Elunium_Stone
case 8: close;
}
if (countitem(.@item)) {
delitem .@item,1;
if (.@val1) { //Iron Ore, Iron, Steel
set .@ston_t01, .@ston_t01 + .@val1;
if (.@val[0]) { //Iron Ore, Iron, Steel
set .@ston_t01, .@ston_t01 + .@val[0];
if (.@ston_t02 > 0)
set .@ston_t02, .@ston_t02 - .@val1;
} else if (.@val2) { //Phracon, Emveretarcon, Rough Oridecon
set .@ston_t02, .@ston_t02 + .@val2;
set .@ston_t02, .@ston_t02 - .@val[0];
} else if (.@val[1]) { //Phracon, Emveretarcon, Rough Oridecon
set .@ston_t02, .@ston_t02 + .@val[1];
if (.@ston_t01 > 0)
set .@ston_t01, .@ston_t01 - .@val2;
} else if (.@val3) { //Rouch Elunium
set .@ston_t01, .@ston_t01 - .@val[1];
} else if (.@val[2]) { //Rouch Elunium
if (.@ston_t01 > 0)
set .@ston_t01, .@ston_t01 - .@val3;
set .@ston_t01, .@ston_t01 - .@val[2];
if (.@ston_t02 > 0)
set .@ston_t02, .@ston_t02 - .@val3;
set .@ston_t02, .@ston_t02 - .@val[2];
}
specialeffect EF_DEMONSTRATION;
mes "Melted " + getitemname(.@item) + " in high temperature.";
@ -2471,19 +2471,19 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
}
progressbar "ffff00",1;
set .@rand, rand(1,100);
if (.@equip_refine < 5) { // 0>5 100%
if (.@equip_refine < 5) { // 0>5 100%
set .@wlevel_up,1;
} else if (.@equip_refine == 5) { // 5>6 40%
} else if (.@equip_refine == 5) { // 5>6 40%
if (.@rand < 41) set .@wlevel_up,1;
} else if (.@equip_refine == 6) { // 6>7 30%
} else if (.@equip_refine == 6) { // 6>7 30%
if (.@rand < 31) set .@wlevel_up,1;
} else if (.@equip_refine == 7) { // 7>8 20%
} else if (.@equip_refine == 7) { // 7>8 20%
if (.@rand < 21) set .@wlevel_up,1;
} else if (.@equip_refine == 8) { // 8>9 10%
} else if (.@equip_refine == 8) { // 8>9 10%
if (.@rand < 11) set .@wlevel_up,1;
} else if (.@equip_refine == 9) { // 9>10 5%
} else if (.@equip_refine == 9) { // 9>10 5%
if (.@rand < 6) set .@wlevel_up,1;
} else { // 10>20 2%
} else { // 10>20 2%
if (.@rand < 3) set .@wlevel_up,1;
}
if (.@wlevel_up) {

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Cydh
//===== Current Version: =====================================
//= 1.2
//= 1.3
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
@ -14,7 +14,11 @@
// - Fixed the item list
// - Added NPC placement for some maps
//= 1.2 2014-Feb-4 [Cydh]
// - Added Cash Trader with special offer for Chinese New Year
// - Added Cash Trader with special offer for Chinese
// New Year
//= 1.3 2015-Aug-24 [Cydh]
// - Added Cash Trader with special offer for Indonesia
// 70th Independence Day
//============================================================
// Main NPCs
@ -287,6 +291,12 @@ comodo,198,148,3 duplicate(idRO_kafra) Kafra Shop#cmd 721
comodo,200,148,3 duplicate(idRO_kafra2) Kafra Shop 2#cmd 80
comodo,202,148,3 duplicate(idRO_rental) Rental Shop#cmd 874
// Comodo Pharos Beacon
//============================================================
cmd_fild07,139,134,3 duplicate(idRO_kafra) Kafra Shop#cmdp 721
cmd_fild07,138,134,3 duplicate(idRO_kafra2) Kafra Shop 2#cmdp 80
cmd_fild07,141,134,3 duplicate(idRO_rental) Rental Shop#cmdp 874
// Umbala
//============================================================
umbala,90,159,3 duplicate(idRO_kafra) Kafra Shop#um 721
@ -341,3 +351,8 @@ rachel,95,131,3 duplicate(idRO_rental) Rental Shop#ra 874
//============================================================
//- cashshop idROC2014::idRO_C2014 721,2936:6250,2177:6250,18574:6250,6225:7500,6226:5625,5381:7500,5210:10000,5294:6250,5463:6250,5335:6250,5256:6250,5495:6250,18630:6250,19518:6250,19519:6250,19520:6250,2573:6250,15058:6250,5490:6250,5498:6250,5253:6250,5502:6250,5526:6250,5529:6250,19509:6250,5359:7500,18729:6250,18666:6250,5284:6250,5471:6250,5467:6250,5363:6250,5546:6250,5334:6250,1472:5000,13420:6250,1392:5000,15008:6250,1731:3750,1825:2500,1261:1875,5545:6250,5550:6250,5549:6250,5515:6250,5514:6250,5470:6250,5505:6250,18695:6250,18694:6250
//prontera,156,178,3 duplicate(idRO_C2014) Kafra Shop#C2014_prt 721
// Special Prices for Indonesia 70th Independence Day 2015
//============================================================
//- cashshop idROHUT2015::idROHUT2015 721,12213:12500,2936:6250,2177:6250,18574:6250,16770:2375,16979:1000,16771:9500
//prontera,156,178,3 duplicate(idROHUT2015) Kafra Shop#idROHUT2015 721

View File

@ -830,7 +830,7 @@ malangdo,150,135,5 script Roving Merchant 495,{
// Eclage
//============================================================
ecl_in01,66,95,3 script Armor Merchant Naphara#e 436,{
ecl_in01,66,95,3 script Armor Merchant Naphara#e::glove 436,{
if (!checkweight(1301,3)) {
mes "- Stop Here!! -";
mes "- You have too many items. -";
@ -966,7 +966,7 @@ ecl_in01,64,97,5 script Slot Expert Nattuer#ecl 436,{
close;
}
ecl_in01,33,98,5 script Armor Merchant Naphara#a 443,{ // Armor Merchant Naphara#ec - Too long changed.
ecl_in01,33,98,5 script Herb Merchant Plafina#a 443,{
if (checkweight(1301,1)==0) {
mes "- Stop Here!! -";
mes "- You have too many items. -";

View File

@ -17,19 +17,19 @@ prt_fild08,0,0,0,0 monster Poring 1002,110,5000,0,0
prt_fild08,0,0,0,0 monster Lunatic 1063,100,5000,0,0
prt_fild08,0,0,0,0 monster Fabre 1007,100,5000,0,0
prt_fild08,0,0,0,0 monster Little Poring 2398,30,50000,0,0
prt_fild08a,0,0,0,0 monster Poring 1002,110,5000,110,0,0
prt_fild08a,0,0,0,0 monster Poring 1002,110,5000,0,0
prt_fild08a,0,0,0,0 monster Lunatic 1063,100,5000,0,0
prt_fild08a,0,0,0,0 monster Fabre 1007,100,5000,0,0
prt_fild08a,0,0,0,0 monster Little Poring 2398,30,50000,0,0
prt_fild08b,0,0,0,0 monster Poring 1002,110,5000,110,0,0
prt_fild08b,0,0,0,0 monster Poring 1002,110,5000,0,0
prt_fild08b,0,0,0,0 monster Lunatic 1063,100,5000,0,0
prt_fild08b,0,0,0,0 monster Fabre 1007,100,5000,0,0
prt_fild08b,0,0,0,0 monster Little Poring 2398,30,50000,0,0
prt_fild08c,0,0,0,0 monster Poring 1002,110,5000,110,0,0
prt_fild08c,0,0,0,0 monster Poring 1002,110,5000,0,0
prt_fild08c,0,0,0,0 monster Lunatic 1063,100,5000,0,0
prt_fild08c,0,0,0,0 monster Fabre 1007,100,5000,0,0
prt_fild08c,0,0,0,0 monster Little Poring 2398,30,50000,0,0
prt_fild08d,0,0,0,0 monster Poring 1002,110,5000,110,0,0
prt_fild08d,0,0,0,0 monster Poring 1002,110,5000,0,0
prt_fild08d,0,0,0,0 monster Lunatic 1063,100,5000,0,0
prt_fild08d,0,0,0,0 monster Fabre 1007,100,5000,0,0
prt_fild08d,0,0,0,0 monster Little Poring 2398,30,50000,0,0

View File

@ -0,0 +1,41 @@
//===== rAthena Script =======================================
//= Cash Shop Functions
//===== Description: =========================================
//= Functions related to the VIP system.
//===== Changelogs: ==========================================
//= 1.0 Moved VIP_Third_Class function
//= from other/CashShop_Functions. [Capuche]
//============================================================
// VIP Functions
//============================================================
function script VIP_Third_Class {
if (!vip_status(1)) {
mes "[Voice from nowhere]";
mes "Access to Premium content is only available to those who possess a certain amount of Reset Stones.";
next;
if (countitem(6320) < 1) {
mes "[Voice from nowhere]";
mes "In order to change to third class, you must bring 1 ^0000CCReset Stone^000000 or have a Premium account.";
//mes "Please visit our iShop to purchase the ^0000CCReset Stone^000000.";
close;
} else {
mes "[Voice from nowhere]";
mes "Would you like to participate in this quest for 1 ^0000CCReset Stone^000000?";
next;
switch(select("Yes:No")) {
case 1:
mes "[Voice from nowhere]";
mes "Good luck, adventurer.";
delitem 6320,1; //Premium_Reset_Stone
next;
break;
case 2:
mes "[Voice from nowhere]";
mes "Very well.";
close;
}
}
}
return;
}

View File

@ -239,9 +239,6 @@ moc_para01,25,35,4 script Instructor Boya#para01 4_M_KNIGHT_GOLD,{
mes "[Boya]";
mes "I will certify that you completed the training.";
mes "The person in charge of equipment storage will supply you with what you need.";
next;
mes "[Boya]";
mes "The person in charge of equipment storage will supply you with what you need.";
para_suv01 = 22;
completequest 7146;
}

File diff suppressed because it is too large Load Diff

View File

@ -10699,16 +10699,16 @@ function script F_Cat_Hard_Biscuit { //11536
heal -100,0;
break;
case 2:
unittalk getcharid(3),"Huuph...! Yucky..! Wa, Water...!!";
showscript "Huuph...! Yucky..! Wa, Water...!!";
sc_start SC_Stun,3000,0,5000,0;
break;
case 3:
unittalk getcharid(3),"Yeeyuck...!! This is rotten!!";
showscript "Yeeyuck...!! This is rotten!!";
sc_start SC_POISON,50000,0;
break;
case 4:
specialeffect2 EF_HIT4;
unittalk getcharid(3),"Arrrrrgggg...!! Bu, Bu, Bugggggg!!!!!";
showscript "Arrrrrgggg...!! Bu, Bu, Bugggggg!!!!!";
getitem 11537,1; //Rice_Weevil_Bug
break;
}
@ -10719,32 +10719,32 @@ function script F_Rice_Weevil_Bug { //11537
switch (rand(1,6)) {
case 1:
specialeffect2 EF_POISONHIT;
unittalk getcharid(3),"Errrgg!!! This is so... bitter....!!";
showscript "Errrgg!!! This is so... bitter....!!";
heal 0,-50;
break;
case 2:
specialeffect2 EF_HEAL;
unittalk getcharid(3),"....well, at least this is good for my health.";
showscript "....well, at least this is good for my health.";
percentheal 15,0;
break;
case 3:
specialeffect2 EF_POISONHIT;
unittalk getcharid(3),"Phewphew!! Argh.... Is this poisoned or what?!";
showscript "Phewphew!! Argh.... Is this poisoned or what?!";
heal 0,-100;
break;
case 4:
specialeffect2 EF_POISONHIT;
unittalk getcharid(3),"Whasdfhwkljhrtklwert....!!";
showscript "Whasdfhwkljhrtklwert....!!";
heal 0,-200;
break;
case 5:
specialeffect2 EF_HEAL;
unittalk getcharid(3),"It's ok, no one saw me yet...";
showscript "It's ok, no one saw me yet...";
percentheal 10,0;
break;
case 6:
specialeffect2 EF_HEAL;
unittalk getcharid(3),"I really need something to eat... ?? Sorry, little buggy.";
showscript "I really need something to eat... ?? Sorry, little buggy.";
percentheal 5,0;
break;
}

View File

@ -99,6 +99,7 @@ npc: npc/re/other/pvp.txt
npc: npc/re/other/resetskill.txt
npc: npc/re/other/stone_change.txt
npc: npc/re/other/turbo_track.txt
npc: npc/re/other/CashShop_Functions.txt
// --------------------------- Quests ---------------------------
// - Eden Group -------------------------------------------------

View File

@ -19,7 +19,7 @@
ecl_fild01,207,72,0 warp fild01-1_biffild 1,1,bif_fild02,294,350
bif_fild02,292,351,0 warp biffild_fild01-1 1,1,ecl_fild01,205,76
//ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28
eclage,98,26,0 warp eclageS_EclEnter 1,1,eclage,100,28
eclage,98,26,0 warp eclageS_EclEnter 1,1,ecl_fild01,99,317
eclage,299,309,0 warp eclageN_in01s 1,1,ecl_in01,47,11
ecl_in01,47,8,0 warp in01s_eclageN 1,1,eclage,297,307
ecl_in01,8,67,0 warp in01w_hub1-1 1,1,ecl_hub01,38,94

View File

@ -48,7 +48,7 @@ GOTO RESTART_NT
:DIRECT
ECHO Do not run this file directly. It is used by logserv.bat, charserv.bat,
ECHO mapserv.bat and their '-sql' counterparts.
ECHO mapserv.bat and their '-server' counterparts.
GOTO END
:NOTFOUND

View File

@ -186,7 +186,7 @@ REPLACE INTO `item_db` VALUES (658,'Union_Of_Tribe','Union of Tribe',2,2,NULL,50
REPLACE INTO `item_db` VALUES (659,'Heart_Of_Her','Her Heart',2,500,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'pet 1188;',NULL,NULL);
REPLACE INTO `item_db` VALUES (660,'Prohibition_Red_Candle','Forbidden Red Candle',2,20000,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'pet 1200;',NULL,NULL);
REPLACE INTO `item_db` VALUES (661,'Sway_Apron','Soft Apron',2,20000,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'pet 1275;',NULL,NULL);
REPLACE INTO `item_db` VALUES (662,'Inspector_Certificate','Authoritative Badge',2,1450,NULL,30,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,180000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (662,'Inspector_Certificate','Authoritative Badge',2,1450,NULL,30,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,180000,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (663,'Korea_Rice_Cake','Korean Rice Cake',0,1,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 10,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (664,'Gift_Box_1','Gift Box',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_GiftBox_1),1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (665,'Gift_Box_2','Gift Box',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_GiftBox_2),1;',NULL,NULL);
@ -513,7 +513,7 @@ REPLACE INTO `item_db` VALUES (1128,'Hae_Dong_Gum_','Haedonggum',5,50000,NULL,90
REPLACE INTO `item_db` VALUES (1129,'Flamberge','Flamberge',5,60000,NULL,1500,150,NULL,1,0,0x00004080,7,2,2,3,27,1,2,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (1130,'Nagan','Nagan',5,20,NULL,500,120,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1131,'Ice_Falchon','Ice Falchion',5,20,NULL,600,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1132,'Edge','Edge',5,20,NULL,700,115,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus2 bAddEff,Eff_Curse,30; bonus2 bWeaponComaClass,Class_Normal,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1132,'Edge','Edge',5,20,NULL,700,115,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1133,'Fire_Brand','Fireblend',5,20,NULL,500,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1134,'Scissores_Sword','Caesar\'s Sword',5,20,NULL,700,140,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus2 bAddRace,RC_Plant,25; bonus bIgnoreDefRace,RC_Plant;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1135,'Cutlas','Cutlus',5,20,NULL,900,150,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'skill "SM_BASH",5; bonus bStr,2; bonus bDef,1;',NULL,NULL);
@ -691,11 +691,11 @@ REPLACE INTO `item_db` VALUES (1361,'Two_Handed_Axe_','Two-Handed Axe',5,55000,N
REPLACE INTO `item_db` VALUES (1362,'Two_Handed_Axe__','Two-Handed Axe',5,55000,NULL,2500,185,NULL,1,0,0x000444A2,7,2,34,3,30,1,7,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (1363,'Brood_Axe','Bloody Axe',5,20,NULL,4000,170,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bStr,10; bonus bSpeedRate,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1364,'Great_Axe','Great Axe',5,20,NULL,1800,187,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1365,'Sabbath','Sabbath',5,20,NULL,2300,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Dark; bonus2 bWeaponComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1365,'Sabbath','Sabbath',5,20,NULL,2300,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1366,'Right_Epsilon','Light Epsilon',5,20,NULL,2300,180,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1367,'Slaughter','Slaughter',5,20,NULL,2500,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bWeaponComaRace,RC_Brute,40;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1367,'Slaughter','Slaughter',5,20,NULL,2500,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1368,'Tomahawk','Tomahawk',5,20,NULL,2500,165,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1369,'Guillotine','Guillotine',5,20,NULL,3000,215,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bWeaponComaRace,RC_DemiHuman,30; bonus2 bWeaponComaRace,RC_Player,30; bonus2 bSPGainRaceAttack,RC_DemiHuman,2; bonus2 bSPGainRaceAttack,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1369,'Guillotine','Guillotine',5,20,NULL,3000,215,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1370,'Doom_Slayer','Doom Slayer',5,20,NULL,6000,10,NULL,1,0,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (1371,'Doom_Slayer_','Doom Slayer',5,20,NULL,6000,10,NULL,1,1,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (1372,'Right_Epsilon_C','Light Epsilon',5,1,NULL,0,229,NULL,1,0,0x000444A2,7,2,34,4,1,0,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25;',NULL,NULL);
@ -817,7 +817,7 @@ REPLACE INTO `item_db` VALUES (1522,'Stunner','Stunner',5,60000,NULL,2000,140,NU
REPLACE INTO `item_db` VALUES (1523,'Spike','Spike',5,20,NULL,700,85,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1524,'Golden_Mace','Golden Mace',5,20,NULL,800,110,NULL,1,1,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1525,'Long_Mace','Long Mace',5,20,NULL,800,135,NULL,3,0,0x00008110,7,2,2,4,40,1,8,'bonus bLongAtkDef,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1526,'Slash','Slash',5,20,NULL,1000,145,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,15; bonus2 bWeaponComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1526,'Slash','Slash',5,20,NULL,1000,145,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1527,'Quadrille','Quadrille',5,20,NULL,900,165,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEle,Ele_Earth,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1528,'Grand_Cross','Grand Cross',5,20,NULL,1500,140,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1529,'Iron_Driver','Iron Driver',5,20,NULL,3000,155,NULL,2,0,0x00008100,7,2,2,3,78,1,8,NULL,NULL,NULL);
@ -856,7 +856,7 @@ REPLACE INTO `item_db` VALUES (1561,'Hardback','Hardcover Book',5,20,NULL,1500,1
REPLACE INTO `item_db` VALUES (1562,'Bible_Of_Battlefield','Battlefield Textbook',5,20,NULL,700,110,NULL,1,1,0x00410100,7,2,2,4,80,0,15,'bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1563,'Diary_Of_Great_Sage_C','Sage\'s Diary',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,'bonus bMatkRate,20; bonus bAspdRate,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1564,'Encyclopedia','Encyclopedia',5,20,NULL,2000,110,NULL,1,2,0x00410100,7,2,2,3,70,1,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10);',NULL,NULL);
REPLACE INTO `item_db` VALUES (1565,'Death_Note','Ledger of Death',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bWeaponComaRace,RC_DemiHuman,10; bonus2 bWeaponComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1565,'Death_Note','Ledger of Death',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1566,'Diary_Of_Great_Basil','Diary Of Great Basil',5,20,NULL,0,120,NULL,1,0,0x00410100,7,2,2,1,0,0,15,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1567,'Hardback_C','Refined Hardcover Book',5,1,NULL,0,168,NULL,1,0,0x00410100,7,2,2,4,0,0,15,'bonus bStr,5; bonus bDex,2; bonus bMatkRate,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1568,'Book_Of_Billows_','Book of Billows',5,35000,NULL,750,90,NULL,1,3,0x00410100,7,2,2,3,27,1,15,'bonus bAtkEle,Ele_Water;',NULL,NULL);
@ -870,7 +870,7 @@ REPLACE INTO `item_db` VALUES (1575,'BF_Book2','Valorous Battle Strategy Book',5
REPLACE INTO `item_db` VALUES (1576,'Krieger_Book1','Glorious Tablet',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }";',NULL,NULL);
REPLACE INTO `item_db` VALUES (1577,'Krieger_Book2','Glorious Apocalypse',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon,0; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (1578,'Book_Of_Prayer','Book Of Prayer',5,20,NULL,0,140,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1579,'Death_Note_M','Book of the Dead',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bWeaponComaRace,RC_DemiHuman,10; bonus2 bWeaponComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1579,'Death_Note_M','Book of the Dead',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1580,'Encyclopedia_C','Giant Encyclopedia',5,0,NULL,0,145,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40;',NULL,NULL);
REPLACE INTO `item_db` VALUES (1581,'F_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (1582,'E_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
@ -1448,7 +1448,7 @@ REPLACE INTO `item_db` VALUES (2550,'Fisher\'s_Muffler','Fisher\'s Muffler',4,20
REPLACE INTO `item_db` VALUES (2551,'Rider_Insignia_M','Crest of the Rider',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,55,1,0,'bonus bAgi,2;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2552,'Mithril_Magic_Cape_M','Mithril Magic Manteau',4,20,NULL,400,NULL,3,NULL,1,0x00098B1C,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2553,'Dragon_Manteau','Dragon Manteau',4,20,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,2,2,4,NULL,0,1,0,'bonus bAgi,1; bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2554,'Piece_Of_Angent_Skin','Nydhorgg\'s Shadow Garb',4,20,NULL,400,NULL,5,NULL,1,0xFFFFFFFE,2,2,4,NULL,90,1,0,'bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,10,1,0; bonus bMdef,3;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2554,'Piece_Of_Angent_Skin','Nydhorgg\'s Shadow Garb',4,20,NULL,400,NULL,5,NULL,1,0xFFFFFFFE,2,2,4,NULL,90,1,0,'bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus2 bSPDrainRate,10,1; bonus bMdef,3;',NULL,NULL);
# Accessories
#===================================================================
REPLACE INTO `item_db` VALUES (2601,'Ring','Ring',4,30000,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,136,NULL,20,0,0,'bonus bStr,2;',NULL,NULL);
@ -1771,7 +1771,7 @@ REPLACE INTO `item_db` VALUES (4111,'Strouf_Card','Strouf Card',6,20,NULL,10,NUL
REPLACE INTO `item_db` VALUES (4112,'Marduk_Card','Marduk Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Silence,10000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4113,'Marionette_Card','Marionette Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Ghost,30; bonus bFlee,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4114,'Argiope_Card','Argiope Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bDefEle,Ele_Poison; bonus bDef,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4115,'Hunter_Fly_Card','Hunter Fly Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bHpDrainRate,30,15;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4115,'Hunter_Fly_Card','Hunter Fly Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bHPDrainRate,30,15;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4116,'Isis_Card','Isis Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Dark,30; bonus bFlee,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4117,'Side_Winder_Card','Sidewinder Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'skill "TF_DOUBLE",1; bonus bDoubleRate,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4118,'Petit_Card','Earth Petite Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Dragon,20;',NULL,NULL);
@ -1790,7 +1790,7 @@ REPLACE INTO `item_db` VALUES (4130,'Scorpion_King_Card','Scorpion King Card',6,
REPLACE INTO `item_db` VALUES (4131,'Moonlight_Flower_Card','Moonlight Flower Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bSpeedRate,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4132,'Mistress_Card','Mistress Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bNoGemStone,0; bonus bUseSPrate,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4133,'Daydric_Card','Raydric Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4134,'Dracula_Card','Dracula Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSpDrainRate,100,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4134,'Dracula_Card','Dracula Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPDrainRate,100,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4135,'Orc_Load_Card','Orc Lord Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bShortWeaponDamageReturn,30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4136,'Khalitzburg_Card','Khalitzburg Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Demon,30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4137,'Drake_Card','Drake Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bNoSizeFix,0;',NULL,NULL);
@ -1828,7 +1828,7 @@ REPLACE INTO `item_db` VALUES (4168,'Dark_Lord_Card','Dark Lord Card',6,20,NULL,
REPLACE INTO `item_db` VALUES (4169,'Dark_Illusion_Card','Dark Illusion Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4170,'Dark_Frame_Card','Dark Frame Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Stone,600;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4171,'Dark_Priest_Card','Dark Priest Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPVanishRate,50,10; if(BaseJob==Job_Sage) bonus bSPDrainValue,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4172,'The_Paper_Card','The Paper Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,20; bonus2 bSPDrainValue,-1,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4172,'The_Paper_Card','The Paper Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,20; bonus bSPDrainValue,-1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4173,'Demon_Pungus_Card','Demon Pungus Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Sleep,600;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4174,'Deviling_Card','Deviling Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,50; bonus2 bSubEle,Ele_Water,-50; bonus2 bSubEle,Ele_Earth,-50; bonus2 bSubEle,Ele_Fire,-50; bonus2 bSubEle,Ele_Wind,-50; bonus2 bSubEle,Ele_Poison,-50; bonus2 bSubEle,Ele_Holy,-50; bonus2 bSubEle,Ele_Dark,-50; bonus2 bSubEle,Ele_Ghost,-50; bonus2 bSubEle,Ele_Undead,-50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4175,'Poison_Toad_Card','Poisonous Toad Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus3 bAutoSpell,"TF_POISON",1,20; bonus2 bAddSkillBlow,52,5;',NULL,NULL);
@ -1932,12 +1932,12 @@ REPLACE INTO `item_db` VALUES (4272,'Dancing_Dragon_Card','Zhu Po Long Card',6,2
REPLACE INTO `item_db` VALUES (4273,'Shellfish_Card','Shell Fish Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus2 bAddDamageClass,1073,30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4274,'Zombie_Master_Card','Zombie Master Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_Undead,5;',NULL,'heal 0,-5;');
REPLACE INTO `item_db` VALUES (4275,'Zombie_Prisoner_Card','Zombie Prisoner Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Undead,-20; bonus2 bExpAddRace,RC_Undead,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4276,'Lord_Of_Death_Card','Lord of The Dead Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus3 bAddEff,Eff_Stun,500,ATF_SHORT; bonus3 bAddEff,Eff_Curse,500,ATF_SHORT; bonus3 bAddEff,Eff_Silence,500,ATF_SHORT; bonus3 bAddEff,Eff_Poison,500,ATF_SHORT; bonus3 bAddEff,Eff_Bleeding,500,ATF_SHORT; bonus2 bWeaponComaClass,Class_Normal,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4276,'Lord_Of_Death_Card','Lord of The Dead Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus3 bAddEff,Eff_Stun,500,ATF_SHORT; bonus3 bAddEff,Eff_Curse,500,ATF_SHORT; bonus3 bAddEff,Eff_Silence,500,ATF_SHORT; bonus3 bAddEff,Eff_Poison,500,ATF_SHORT; bonus3 bAddEff,Eff_Bleeding,500,ATF_SHORT; bonus2 bComaClass,Class_Normal,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4277,'Zherlthsh_Card','Zealotus Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bLuk,2; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; bonus2 bSkillAtk,"DC_THROWARROW",10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4278,'Gibbet_Card','Gibbet Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'if(getrefine()<6) bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4279,'Deleter_Card','Earth Deleter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bSPrecovRate,-100; bonus bSPGainValue,10;',NULL,'heal 0,-100;');
REPLACE INTO `item_db` VALUES (4280,'Geographer_Card','Geographer Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"AL_BLESSING",2+8*(getskilllv("AL_BLESSING")==10),30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4281,'Zipper_Bear_Card','Zipper Bear Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus2 bSPDrainValue,-1,0; if(BaseClass==Job_Merchant) bonus bUnbreakableWeapon,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4281,'Zipper_Bear_Card','Zipper Bear Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus bSPDrainValue,-1; if(BaseClass==Job_Merchant) bonus bUnbreakableWeapon,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4282,'Tengu_Card','Tengu Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bAddMonsterDropItemGroup,IG_Recovery,600;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4283,'Greatest_General_Card','Greatest General Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus3 bAutoSpell,"MO_CALLSPIRITS",5,2+18*(BaseClass==Job_Acolyte);',NULL,NULL);
REPLACE INTO `item_db` VALUES (4284,'Chepet_Card','Chepet Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus4 bAutoSpell,"AL_HEAL",5,50,1;',NULL,NULL);
@ -2023,7 +2023,7 @@ REPLACE INTO `item_db` VALUES (4363,'B_Magaleta_Card','High Priest Card',6,20,NU
REPLACE INTO `item_db` VALUES (4364,'Magaleta_Card','Margaretha Sorin Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bInt,1; bonus5 bAutoSpellWhenHit,"PR_LEXDIVINA",5,150,BF_MAGIC,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4365,'B_Katrinn_Card','High Wizard Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus bCastrate,100; bonus bSPrecovRate,-100;',NULL,'heal 0,-2000;');
REPLACE INTO `item_db` VALUES (4366,'Katrinn_Card','Kathryne Keyron Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bCastrate,getrefine()*-1; if(getrefine()>=9) { bonus bMatkRate,2; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (4367,'B_Shecil_Card','Sniper Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bHpDrainRate,50,20; bonus bHPrecovRate,-10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4367,'B_Shecil_Card','Sniper Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bHPDrainRate,50,20; bonus bHPrecovRate,-10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4368,'Shecil_Card','Cecil Damon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bAspdRate,5; bonus bHit,-30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4369,'Venatu_Card','Venatu Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bLuk,readparam(bAgi)/18;',NULL,NULL);
REPLACE INTO `item_db` VALUES (4370,'Dimik_Card','Dimik Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bVit,getrefine()-5;',NULL,NULL);
@ -4595,7 +4595,7 @@ REPLACE INTO `item_db` VALUES (12012,'Crystal_Arrow_Container','Crystal Arrow Qu
REPLACE INTO `item_db` VALUES (12013,'Shadow_Arrow_Container','Shadow Arrow Quiver',2,2,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 1767,500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12014,'Imma_Arrow_Container','Immaterial Arrow Quiver',2,2,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 1757,500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12015,'Rusty_Arrow_Container','Rusty Arrow Quiver',2,2,NULL,250,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 1762,500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12016,'Speed_Up_Potion','Speed Potion',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp1,5000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12016,'Speed_Up_Potion','Speed Potion',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP1,5000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12017,'Slow_Down_Potion','Slow Potion',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SlowDown,5000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12018,'Fire_Cracker','Firecracker',2,2,NULL,20,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12019,'Holy_Egg','Holy Egg',11,2,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "ALL_RESURRECTION",2;',NULL,NULL);
@ -4607,7 +4607,7 @@ REPLACE INTO `item_db` VALUES (12024,'Red_Pouch_Of_Surprise','Red Pouch',2,50,NU
REPLACE INTO `item_db` VALUES (12025,'Egg_Boy','Dano Festival Egg',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_EggBoy),1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12026,'Egg_Girl','Dano Festival Egg',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_EggGirl),1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12027,'Giggling_Box','Giggling Box',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 9,0; sc_start SC_Curse,30000,0,3000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12028,'Box_Of_Thunder','Box of Thunder',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,20000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12028,'Box_Of_Thunder','Box of Thunder',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,20000,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12029,'Gloomy_Box','Box of Gloom',11,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "AC_CONCENTRATION",1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12030,'Box_Of_Grudge','Box of Resentment',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ATKPOTION,60000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12031,'Sleepy_Box','Box of Drowsiness',2,1000,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_MATKPOTION,60000,20;',NULL,NULL);
@ -4803,13 +4803,13 @@ REPLACE INTO `item_db` VALUES (12219,'Wind_Walk_10_Scroll','LV10 Wind Walker Scr
REPLACE INTO `item_db` VALUES (12220,'Adrenaline_Scroll','LV5 Adrenaline Scroll',2,2,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'set .@type,getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect "BS_ADRENALINE",0; sc_start SC_ADRENALINE,150000,5; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (12221,'Megaphone_','Megaphone',2,2,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'input @megaphone$; announce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000; end;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12225,'Sweet_Candy_Striper','Sweet Candy Cane',2,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'pet 1245;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12226,'Examination1','Examination 1',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_STRFOOD,5400000,10; sc_start SC_DEXFOOD,5400000,5; sc_start SC_ATKPOTION,5400000,22; sc_start SC_MATKFOOD,5400000,15;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12227,'Examination2','Examination 2',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_INTFOOD,5400000,8; sc_start SC_VITFOOD,5400000,7; sc_start SC_LUKFOOD,5400000,7; sc_start SC_ATKPOTION,5400000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12228,'Examination3','Examination 3',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_AGIFOOD,5400000,15; sc_start SC_ATKPOTION,5400000,52; sc_start SC_MATKFOOD,5400000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12229,'Examination4','Examination 4',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_STRFOOD,5400000,3; sc_start SC_AGIFOOD,5400000,5; sc_start SC_VITFOOD,5400000,10; sc_start SC_MATKFOOD,5400000,52;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12230,'Examination5','Examination 5',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,5400000,0; percentheal 100,100; sc_start SC_INTFOOD,5400000,3; sc_start SC_DEXFOOD,5400000,12; sc_start SC_ATKPOTION,5400000,20; sc_start SC_MATKFOOD,5400000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12231,'Examination6','Examination 6',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 100,100; sc_start SC_SpeedUp0,5400000,0; sc_start SC_STRFOOD,5400000,6; sc_start SC_DEXFOOD,5400000,6; sc_start SC_AGIFOOD,5400000,6; sc_start SC_INTFOOD,5400000,6; sc_start SC_VITFOOD,5400000,6; sc_start SC_LUKFOOD,5400000,6; sc_start SC_ATKPOTION,5400000,24; sc_start SC_MATKFOOD,5400000,24;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12232,'Gingerbread','Ginger Bread',2,20,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION1,900000,0; sc_start SC_SpeedUp0,900000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12226,'Examination1','Examination 1',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_STRFOOD,5400000,10; sc_start SC_DEXFOOD,5400000,5; sc_start SC_ATKPOTION,5400000,22; sc_start SC_MATKFOOD,5400000,15;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12227,'Examination2','Examination 2',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_INTFOOD,5400000,8; sc_start SC_VITFOOD,5400000,7; sc_start SC_LUKFOOD,5400000,7; sc_start SC_ATKPOTION,5400000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12228,'Examination3','Examination 3',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_AGIFOOD,5400000,15; sc_start SC_ATKPOTION,5400000,52; sc_start SC_MATKFOOD,5400000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12229,'Examination4','Examination 4',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_STRFOOD,5400000,3; sc_start SC_AGIFOOD,5400000,5; sc_start SC_VITFOOD,5400000,10; sc_start SC_MATKFOOD,5400000,52;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12230,'Examination5','Examination 5',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,5400000,25; percentheal 100,100; sc_start SC_INTFOOD,5400000,3; sc_start SC_DEXFOOD,5400000,12; sc_start SC_ATKPOTION,5400000,20; sc_start SC_MATKFOOD,5400000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12231,'Examination6','Examination 6',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 100,100; sc_start SC_SPEEDUP0,5400000,25; sc_start SC_STRFOOD,5400000,6; sc_start SC_DEXFOOD,5400000,6; sc_start SC_AGIFOOD,5400000,6; sc_start SC_INTFOOD,5400000,6; sc_start SC_VITFOOD,5400000,6; sc_start SC_LUKFOOD,5400000,6; sc_start SC_ATKPOTION,5400000,24; sc_start SC_MATKFOOD,5400000,24;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12232,'Gingerbread','Ginger Bread',2,20,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION1,900000,0; sc_start SC_SPEEDUP0,900000,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12233,'Kvass','Kvass',0,20,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 100,100;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12234,'Cacao99','Fierce Cacao 99%',0,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 25,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12235,'Strawberry_Choco','Chocolate Strawberry',2,20,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 0,5; skilleffect "AL_BLESSING",0; sc_start SC_BLESSING,240000,10;',NULL,NULL);
@ -4839,7 +4839,7 @@ REPLACE INTO `item_db` VALUES (12258,'Bombring_Box','Bomb Poring Box',2,0,NULL,1
REPLACE INTO `item_db` VALUES (12259,'Miracle_Medicine','Miracle Tonic',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getexp 3000000,1500000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12260,'Cool_Summer_Outfit','Cool Summer Outfit',2,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_Summer,600000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12261,'Secret_Medicine','Leap of Fantasy',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getexp 2000000,1000000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12262,'Inspector_Certificate_','Authoritative Badge',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp0,180000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12262,'Inspector_Certificate_','Authoritative Badge',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP0,540000,25;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12263,'Comp_Battle_Manual','Field Manual',2,2,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_EXPBOOST,1800000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12264,'Comp_Bubble_Gum','Bubble Gum',2,2,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ITEMBOOST,1800000,200;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12265,'Comp_Insurance','Life Insurrance',2,2,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_LIFEINSURANCE,1800000,0;',NULL,NULL);
@ -5167,7 +5167,7 @@ REPLACE INTO `item_db` VALUES (12706,'Lucky_Cookie01','Lucky Cookie',11,0,NULL,1
REPLACE INTO `item_db` VALUES (12707,'Lucky_Cookie02','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_MAGNIFICAT",1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12708,'Lucky_Cookie03','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_IMPOSITIO",3;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12709,'Guyak_Candy','Guyak Candy',0,0,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 30,30;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp1,300000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SPEEDUP1,300000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12711,'Pretzel','Pretzel',0,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemheal rand(50,90),0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12712,'Green_Beer','Green Beer',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 0,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12713,'Monster_Extract','Monster Extract',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -5469,25 +5469,25 @@ REPLACE INTO `item_db` VALUES (13268,'Mysterious_Powder','Mysterious Powder',10,
REPLACE INTO `item_db` VALUES (13269,'Boost500_To_Throw','Throwing Boost 500',10,100,NULL,10,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_BOOST500,500000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13270,'Full_SwingK_To_Throw','Throwing Full Swing K',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_FULL_SWING_K,500000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13271,'Mana_Plus_To_Throw','Throwing Mana Plus',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_MANA_PLUS,500000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13272,'Cure_Free_To_Throw','Throwing Cure Free',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_end SC_Bleeding; sc_end SC_Curse; sc_end SC_Silence; itemheal rand(1000,1200),0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13272,'Cure_Free_To_Throw','Throwing Cure Free',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_end SC_BLEEDING; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_POISON; sc_end SC_ORCISH; sc_end SC_CHANGEUNDEAD; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_DPOISON; itemheal 500,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13273,'Stamina_Up_M_To_Throw','Throwing Muramura M',10,100,NULL,10,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_MUSTLE_M,500000,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13274,'Digestive_F_To_Throw','Throwing Falmons F',10,100,NULL,10,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_LIFE_FORCE_F,500000,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13275,'HP_Inc_PotS_To_Throw','Throwing Increase HP Potion (Small)',10,100,NULL,20,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHPRATE,500000,1; percentheal 1,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13276,'HP_Inc_PotM_To_Throw','Throwing Increase HP Potion (Medium)',10,100,NULL,40,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHPRATE,500000,2; percentheal 2,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13277,'HP_Inc_PotL_To_Throw','Throwing Increase HP Potion (Large)',10,100,NULL,80,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHPRATE,500000,5; percentheal 5,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13278,'SP_Inc_PotS_To_Throw','Throwing Increase SP Potion (Small)',10,100,NULL,20,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSPRATE,500000,2; percentheal 0,2;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13279,'SP_Inc_PotM_To_Throw','Throwing Increase SP Potion (Medium)',10,100,NULL,40,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSPRATE,500000,4; percentheal 0,4;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13280,'SP_Inc_PotL_To_Throw','Throwing Increase SP Potion (Large)',10,100,NULL,80,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSPRATE,500000,8; percentheal 0,8;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13281,'En_White_PotZ_To_Throw','Throwing Concentrated White Potion Z',10,100,NULL,70,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20; itemheal rand(1500,1600),0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13282,'Vitata500_To_Throw','Throwing Vitata 500',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_VITATA_500,500000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13283,'En_Cel_Juice_To_Throw','Throwing Ceromain Soup',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; itemheal rand(1500,1600),0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13284,'Savage_BBQ_To_Throw','Throwing Savage Full Roast',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_SAVAGE_STEAK,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13285,'Wug_Cocktail_To_Throw','Throwing Cocktail Warg Blood',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_COCKTAIL_WARG_BLOOD,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13286,'M_Brisket_To_Throw','Throwing Minor Stew',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_MINOR_BBQ,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13287,'Siroma_Icetea_To_Throw','Throwing Siroma Iced Tea',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_SIROMA_ICE_TEA,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13288,'Drocera_Stew_To_Throw','Throwing Drosera Herb Salad',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_DROCERA_HERB_STEAMED,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13289,'Petti_Noodle_To_Throw','Throwing Petite Tail Soup',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_PUTTI_TAILS_NOODLES,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13290,'Black_Thing_To_Throw','Throwing Black Mass',10,100,NULL,50,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_STOMACHACHE,60000,rand(5,10);',NULL,NULL);
REPLACE INTO `item_db` VALUES (13275,'HP_Inc_PotS_To_Throw','Throwing Increase HP Potion (Small)',10,100,NULL,20,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHP,500000,(500+(BaseLevel*10/3)); percentheal 1,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13276,'HP_Inc_PotM_To_Throw','Throwing Increase HP Potion (Medium)',10,100,NULL,40,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHP,500000,(1500+(BaseLevel*10/3)); percentheal 2,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13277,'HP_Inc_PotL_To_Throw','Throwing Increase HP Potion (Large)',10,100,NULL,80,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMHP,500000,(2500+(BaseLevel*10/3)); percentheal 5,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13278,'SP_Inc_PotS_To_Throw','Throwing Increase SP Potion (Small)',10,100,NULL,20,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSP,500000,((BaseLevel/10)-5); percentheal 0,2;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13279,'SP_Inc_PotM_To_Throw','Throwing Increase SP Potion (Medium)',10,100,NULL,40,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSP,500000,((BaseLevel/10)); percentheal 0,4;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13280,'SP_Inc_PotL_To_Throw','Throwing Increase SP Potion (Large)',10,100,NULL,80,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_INCMSP,500000,((BaseLevel/10)+5); percentheal 0,8;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13281,'En_White_PotZ_To_Throw','Throwing Concentrated White Potion Z',10,100,NULL,70,0,NULL,NULL,NULL,0x00040000,8,2,32768,NULL,99,NULL,9,'sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20; itemheal 1000,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13282,'Vitata500_To_Throw','Throwing Vitata 500',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start2 SC_VITATA_500,500000,20,5; itemheal 0,200;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13283,'En_Cel_Juice_To_Throw','Throwing Ceromain Soup',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13284,'Savage_BBQ_To_Throw','Throwing Savage Full Roast',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_SAVAGE_STEAK,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13285,'Wug_Cocktail_To_Throw','Throwing Cocktail Warg Blood',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_COCKTAIL_WARG_BLOOD,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13286,'M_Brisket_To_Throw','Throwing Minor Stew',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_MINOR_BBQ,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13287,'Siroma_Icetea_To_Throw','Throwing Siroma Iced Tea',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_SIROMA_ICE_TEA,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13288,'Drocera_Stew_To_Throw','Throwing Drosera Herb Salad',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_DROCERA_HERB_STEAMED,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13289,'Petti_Noodle_To_Throw','Throwing Petite Tail Soup',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_PUTTI_TAILS_NOODLES,300000,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13290,'Black_Thing_To_Throw','Throwing Black Mass',10,100,NULL,50,'0',NULL,NULL,NULL,0x00040000,8,2,32768,NULL,'99',NULL,9,'sc_start SC_STOMACHACHE,60000,rand(5,10);',NULL,NULL);
# Ninja Fuuma Shurikens
REPLACE INTO `item_db` VALUES (13300,'Huuma_Bird_Wing','Huuma Wing Shuriken',5,90000,NULL,3000,150,NULL,1,0,0x02000000,7,2,34,4,65,1,22,'bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Wind; bonus bDex,-2; bonus bAgi,-1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13301,'Huuma_Giant_Wheel','Huuma Giant Wheel Shuriken',5,40000,NULL,2500,50,NULL,1,3,0x02000000,7,2,34,4,42,1,22,'bonus bUnbreakableWeapon,0; bonus2 bAddEff,Eff_Bleeding,100;',NULL,NULL);
@ -5503,7 +5503,7 @@ REPLACE INTO `item_db` VALUES (13309,'Huuma_Giant_Wheel_C','Huuma Giant Wheel Sh
REPLACE INTO `item_db` VALUES (13400,'Cutlas_','Cutlus',5,20,NULL,900,150,NULL,1,1,0x000654E2,7,2,2,4,40,1,2,'skill "SM_BASH",5; bonus bStr,2; bonus bDef,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13401,'Excalibur_C','Excalibur',5,1,NULL,0,199,NULL,1,0,0x000654E2,7,2,2,4,1,0,2,'bonus bInt,10; bonus bLuk,10; bonus bAtkEle,Ele_Holy;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13402,'Cutlas_C','Cutlus',5,2,NULL,0,185,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'skill "SM_BASH",5; bonus bStr,2; bonus bDef,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13403,'Solar_Sword_C','Solar Sword',5,2,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Fire; bonus2 bHPDrainRate,1000,1; bonus2 bSPLossRate,15,10000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13403,'Solar_Sword_C','Solar Sword',5,2,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Fire; bonus bHPDrainRate,1; bonus2 bSPLossRate,15,10000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13404,'Platinum_Shotel','Platinum Shotel',5,20,NULL,1500,130,NULL,1,1,0x000654E2,7,2,2,4,55,1,2,'bonus bCritical,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13405,'Curved_Sword','Curved Sword',5,20,NULL,800,125,NULL,1,2,0x000654E2,7,2,2,4,55,1,2,'bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300;',NULL,NULL);
REPLACE INTO `item_db` VALUES (13406,'Edger','Edger',5,20,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,1,0,0,2,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
@ -6436,7 +6436,7 @@ REPLACE INTO `item_db` VALUES (14587,'Repair_Scroll_','Equipment Repair Spell Bo
REPLACE INTO `item_db` VALUES (14588,'Pty_Blessing_Scroll','Party Blessing 10 Scroll',11,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "CASH_BLESSING",10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (14589,'Pty_Inc_Agi_Scroll','Party Increase Agi 10 Scroll',11,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "CASH_INCAGI",10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (14590,'Pty_Assumptio_Scroll','Party Assumptio 5 Scroll',11,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "CASH_ASSUMPTIO",5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (14591,'Siege_Teleport_Scroll','WoE Teleport Scroll',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'callfunc "F_CashSeigeTele";',NULL,NULL);
REPLACE INTO `item_db` VALUES (14591,'Siege_Teleport_Scroll','WoE Teleport Scroll',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'callfunc "F_CashSiegeTele";',NULL,NULL);
REPLACE INTO `item_db` VALUES (14592,'Job_Manual50','JOB Battle Manual',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_JEXPBOOST,1800000,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (14593,'Magic_Power_Scroll','Mystical Amplification Scroll',11,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "HW_MAGICPOWER",10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (14594,'Quagmire_Scroll','Quagmire Scroll',11,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "WZ_QUAGMIRE",5;',NULL,NULL);

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,8 @@
# Players (T)rade Give/Take, Players (V)ending Sell/Take, (S)hop Sell/Take, (N)PC Give/Take,
# (C)onsumable Items, (A)dministrators Create/Delete, Sto(R)age, (G)uild Storage,
# (E)mail attachment,(B)uying Store, Pr(O)duced Items/Ingredients, Auct(I)oned Items,
# (X) Other, (D) Stolen from mobs, (U) MVP Prizes, F:Guild/Party Bound retrieval
# (X) Other, (D) Stolen from mobs, (U) MVP Prizes, (F) Guild/Party Bound retrieval
# Lotter(Y), (Z) Merged Items, (Q)uest
#Database: ragnarok
#Table: picklog
@ -10,7 +11,7 @@ CREATE TABLE IF NOT EXISTS `picklog` (
`id` int(11) NOT NULL auto_increment,
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`char_id` int(11) NOT NULL default '0',
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F') NOT NULL default 'P',
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z','Q') NOT NULL default 'P',
`nameid` smallint(5) unsigned NOT NULL default '0',
`amount` int(11) NOT NULL default '1',
`refine` tinyint(3) unsigned NOT NULL default '0',

View File

@ -1,3 +1,28 @@
--
-- Table structure for table `acc_reg_num`
--
CREATE TABLE IF NOT EXISTS `acc_reg_num` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
--
-- Table structure for table `acc_reg_str`
--
CREATE TABLE IF NOT EXISTS `acc_reg_str` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
--
-- Table structure for table `skillcooldown`
@ -125,6 +150,8 @@ CREATE TABLE IF NOT EXISTS `char` (
`unban_time` int(11) unsigned NOT NULL default '0',
`font` tinyint(3) unsigned NOT NULL default '0',
`uniqueitem_counter` int(11) unsigned NOT NULL default '0',
`sex` ENUM('M','F','U') NOT NULL default 'U',
`hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`),
UNIQUE KEY `name_key` (`name`),
KEY `account_id` (`account_id`),
@ -133,6 +160,32 @@ CREATE TABLE IF NOT EXISTS `char` (
KEY `online` (`online`)
) ENGINE=MyISAM AUTO_INCREMENT=150000;
--
-- Table structure for table `char_reg_num`
--
CREATE TABLE IF NOT EXISTS `char_reg_num` (
`char_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
--
-- Table structure for table `char_reg_str`
--
CREATE TABLE IF NOT EXISTS `char_reg_str` (
`char_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
--
-- Table structure for table `charlog`
--
@ -203,16 +256,28 @@ CREATE TABLE IF NOT EXISTS `hotkey` (
) ENGINE=MyISAM;
--
-- Table structure for table `global_reg_value`
-- Table structure for table `global_acc_reg_num`
--
CREATE TABLE IF NOT EXISTS `global_reg_value` (
`char_id` int(11) unsigned NOT NULL default '0',
`str` varchar(255) NOT NULL default '',
`value` varchar(255) NOT NULL default '0',
`type` tinyint(1) NOT NULL default '3',
CREATE TABLE IF NOT EXISTS `global_acc_reg_num` (
`account_id` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`char_id`,`str`,`account_id`),
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
--
-- Table structure for table `global_acc_reg_str`
--
CREATE TABLE IF NOT EXISTS `global_acc_reg_str` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
@ -478,11 +543,10 @@ INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES
--
CREATE TABLE IF NOT EXISTS `mapreg` (
`varname` varchar(32) NOT NULL,
`varname` varchar(32) binary NOT NULL,
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(255) NOT NULL,
KEY `varname` (`varname`),
KEY `index` (`index`)
PRIMARY KEY (`varname`,`index`)
) ENGINE=MyISAM;
--
@ -637,6 +701,73 @@ CREATE TABLE IF NOT EXISTS `ragsrvinfo` (
`drop` int(11) unsigned NOT NULL default '0'
) ENGINE=MyISAM;
--
-- Table structure for `db_roulette`
--
CREATE TABLE `db_roulette` (
`index` int(11) NOT NULL default '0',
`level` smallint(5) unsigned NOT NULL,
`item_id` smallint(5) unsigned NOT NULL,
`amount` smallint(5) unsigned NOT NULL DEFAULT '1',
`flag` smallint(5) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`index`)
) ENGINE=MyISAM;
-- ----------------------------
-- Records of db_roulette
-- ----------------------------
-- Info: http://ro.gnjoy.com/news/update/View.asp?seq=157&curpage=1
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 0, 1, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 1, 1, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 2, 1, 678, 1, 0 ); -- Poison_Bottle
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 3, 1, 604, 1, 0 ); -- Branch_Of_Dead_Tree
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 4, 1, 522, 1, 0 ); -- Fruit_Of_Mastela
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 5, 1, 671, 1, 0 ); -- Old_Ore_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 6, 1, 12523, 1, 0 ); -- E_Inc_Agi_10_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 7, 1, 985, 1, 0 ); -- Elunium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 8, 1, 984, 1, 0 ); -- Oridecon
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 9, 2, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 10, 2, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 11, 2, 603, 1, 0 ); -- Old_Blue_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 12, 2, 608, 1, 0 ); -- Seed_Of_Yggdrasil
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 13, 2, 607, 1, 0 ); -- Yggdrasilberry
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 14, 2, 12522, 1, 0 ); -- E_Blessing_10_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 15, 2, 6223, 1, 0 ); -- Carnium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 16, 2, 6224, 1, 0 ); -- Bradium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 17, 3, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 18, 3, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 19, 3, 12108, 1, 0 ); -- Bundle_Of_Magic_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 20, 3, 617, 1, 0 ); -- Old_Violet_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 21, 3, 12514, 1, 0 ); -- E_Abrasive
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 22, 3, 7444, 1, 0 ); -- Treasure_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 23, 3, 969, 1, 0 ); -- Gold
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 24, 4, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 25, 4, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 26, 4, 616, 1, 0 ); -- Old_Card_Album
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 27, 4, 12516, 1, 0 ); -- E_Small_Life_Potion
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 28, 4, 22777, 1, 0 ); -- Gift_Buff_Set
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 29, 4, 6231, 1, 0 ); -- Guarantee_Weapon_6Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 30, 5, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 31, 5, 12246, 1, 0 ); -- Magic_Card_Album
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 32, 5, 12263, 1, 0 ); -- Comp_Battle_Manual
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 33, 5, 671, 1, 0 ); -- Potion_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 34, 5, 6235, 1, 0 ); -- Guarantee_Armor_6Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 35, 6, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 36, 6, 12766, 1, 0 ); -- Reward_Job_BM25
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 37, 6, 6234, 1, 0 ); -- Guarantee_Armor_7Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 38, 6, 6233, 1, 0 ); -- Guarantee_Armor_8Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 39, 7, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 40, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 41, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up // KRO lists this twice
--
-- Table structure for table `skill`
--

View File

@ -743,12 +743,12 @@ REPLACE INTO `mob_db_re` VALUES (1631,'CHUNG_E_','Chung E','Green Maiden',82,390
REPLACE INTO `mob_db_re` VALUES (1632,'GREMLIN','Gremlin','Gremlin',118,20313,1,3091,2318,1,606,744,76,25,141,75,48,61,90,37,10,12,2,6,47,0x191,140,432,540,432,0,0,0,0,0,0,0,7340,3000,938,3000,719,100,2406,1,1265,1,0,0,603,2,0,0,0,0,4355,1);
REPLACE INTO `mob_db_re` VALUES (1633,'BEHOLDER','Beholder','Beholder',120,19280,1,3285,2463,6,588,718,50,30,96,82,65,107,94,82,10,12,0,0,44,0x91,190,336,840,360,0,0,0,0,0,0,0,576,3000,605,100,996,100,985,10,0,0,0,0,603,2,0,0,0,0,4356,1);
# Normal advanced class mobs
REPLACE INTO `mob_db_re` VALUES (1634,'SEYREN','Seyren','Seyren Windsor',142,194962,1,10386,7790,1,1670,1987,166,12,142,69,86,49,132,55,10,12,1,6,63,0x3195,170,76,384,288,0,0,0,0,0,0,0,7345,3000,13001,2,1163,200,6223,10,2229,12,2317,1,13421,100,0,0,0,0,4358,1);
REPLACE INTO `mob_db_re` VALUES (1635,'EREMES','Eremes','Eremes Guile',140,190525,1,10329,6846,1,1503,1674,122,12,145,87,59,67,127,76,10,12,1,6,85,0x3195,180,76,384,288,0,0,0,0,0,0,0,7347,2000,6223,1,2514,1,1262,3,1264,30,678,110,1284,100,0,0,0,0,4360,1);
REPLACE INTO `mob_db_re` VALUES (1636,'HARWORD','Harword','Howard Alt-Eisen',142,348100,1,10854,7241,1,1308,1590,131,10,138,79,62,53,82,48,10,12,1,7,81,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,2514,1,1311,100,1361,110,2104,10,2318,1,6223,10,0,0,0,0,4362,1);
REPLACE INTO `mob_db_re` VALUES (1637,'MAGALETA','Magaleta','Margaretha Sorin',140,220800,1,9895,7421,1,851,1405,108,93,126,74,71,123,99,65,10,12,1,7,66,0x3295,180,1152,384,288,0,0,0,0,0,0,0,7347,2000,1647,100,6223,1,1561,10,2327,1,603,50,2504,10,0,0,0,0,4364,1);
REPLACE INTO `mob_db_re` VALUES (1638,'SHECIL','Shecil','Cecil Damon',141,190255,1,10103,7577,14,1158,1406,76,15,121,126,67,80,165,42,10,12,1,7,64,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,12014,110,2331,10,1711,100,12007,150,6223,1,1745,100,0,0,0,0,4368,1);
REPLACE INTO `mob_db_re` VALUES (1639,'KATRINN','Katrinn','Kathryne Keyron',141,219780,1,9207,6905,1,726,1449,77,74,108,78,55,144,139,49,10,12,1,7,68,0x3295,150,1152,384,288,0,0,0,0,0,0,0,7345,3000,6223,1,1646,100,1620,5,2102,30,5085,1,2404,20,0,0,0,0,4366,1);
REPLACE INTO `mob_db_re` VALUES (1634,'SEYREN','Seyren','Seyren Windsor',142,194962,1,10386,7790,1,1670,1987,166,12,142,69,86,49,132,55,10,12,1,6,63,0x3195,170,76,384,288,0,0,0,0,0,0,0,7345,1500,13030,1,12623,5,6223,1,6471,1,6469,200,13421,100,0,0,0,0,4358,1);
REPLACE INTO `mob_db_re` VALUES (1635,'EREMES','Eremes','Eremes Guile',140,190525,1,10329,6846,1,1503,1674,122,12,145,87,59,67,127,76,10,12,1,6,85,0x3195,180,76,384,288,0,0,0,0,0,0,0,7347,2000,6223,1,2514,1,1262,3,1264,30,6471,2,1284,100,0,0,0,0,4360,1);
REPLACE INTO `mob_db_re` VALUES (1636,'HARWORD','Harword','Howard Alt-Eisen',142,348100,1,10854,7241,1,1308,1590,131,10,138,79,62,53,82,48,10,12,1,7,81,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,3000,6471,1,1311,200,12818,55,6469,100,2318,1,6223,10,0,0,0,0,4362,1);
REPLACE INTO `mob_db_re` VALUES (1637,'MAGALETA','Magaleta','Margaretha Sorin',140,220800,1,9895,7421,1,851,1405,108,93,126,74,71,123,99,65,10,12,1,7,66,0x3295,180,1152,384,288,0,0,0,0,0,0,0,7347,1000,1647,200,6471,1,1561,5,2162,5,1659,10,6469,200,0,0,0,0,4364,1);
REPLACE INTO `mob_db_re` VALUES (1638,'SHECIL','Shecil','Cecil Damon',141,190255,1,10103,7577,14,1158,1406,76,15,121,126,67,80,165,42,10,12,1,7,64,0x3095,180,76,384,288,0,0,0,0,0,0,0,7345,1500,12014,55,18110,10,12623,3,6469,200,6471,1,1745,200,0,0,0,0,4368,1);
REPLACE INTO `mob_db_re` VALUES (1639,'KATRINN','Katrinn','Kathryne Keyron',141,219780,1,9207,6905,1,726,1449,77,74,108,78,55,144,139,49,10,12,1,7,68,0x3295,150,1152,384,288,0,0,0,0,0,0,0,7345,1500,6223,1,1646,200,12623,5,6469,200,5085,1,6471,20,0,0,0,0,4366,1);
# MVP Slaves
REPLACE INTO `mob_db_re` VALUES (1640,'G_SEYREN','Lord Knight Seyren','Lord Knight Seyren',160,2680000,1,0,0,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10);
REPLACE INTO `mob_db_re` VALUES (1641,'G_EREMES','Assassin Cross Eremes','Assassin Cross Eremes',160,1230000,1,0,0,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10);
@ -757,12 +757,12 @@ REPLACE INTO `mob_db_re` VALUES (1643,'G_MAGALETA','High Priest Magaleta','High
REPLACE INTO `mob_db_re` VALUES (1644,'G_SHECIL','Sniper Shecil','Sniper Cecil',160,4140000,1,0,0,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10);
REPLACE INTO `mob_db_re` VALUES (1645,'G_KATRINN','High Wizard Katrinn','High Wizard Kathryne',160,4500000,1,0,0,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6223,100,0,0,0,0,617,10);
# MVP Monsters
REPLACE INTO `mob_db_re` VALUES (1646,'B_SEYREN','Lord Knight Seyren','Lord Knight Seyren',160,4680000,1,4642560,3481920,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,2321280,617,5500,603,5000,732,2000,1132,2500,2342,3500,2412,9000,1470,3500,1469,3000,1166,2500,1415,1500,0,0,0,0,4357,1);
REPLACE INTO `mob_db_re` VALUES (1647,'B_EREMES','Assassin Cross Eremes','Assassin Cross Eremes',160,4230000,1,4185000,3147120,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,2092500,617,5500,603,5000,732,2000,1234,1500,1230,1500,2319,9000,1233,3500,1232,3500,1265,3500,13002,3500,0,0,0,0,4359,1);
REPLACE INTO `mob_db_re` VALUES (1648,'B_HARWORD','Whitesmith Harword','Whitesmith Howard',160,6750000,1,3555000,2664000,1,3500,4965,301,106,275,148,156,72,177,60,10,12,1,7,82,0x37B5,100,76,384,288,1777500,617,5500,603,5000,732,2000,1138,3500,1140,2500,2318,9000,1365,3500,1364,3500,1369,2500,1368,3500,0,0,0,0,4361,1);
REPLACE INTO `mob_db_re` VALUES (1649,'B_MAGALETA','High Priest Magaleta','High Priest Margaretha',160,4800000,1,3465000,2520000,1,1666,5062,231,349,172,150,164,203,155,88,10,12,1,7,86,0x37B5,125,1152,384,288,1732500,617,5500,603,5000,732,2000,1814,3500,2615,2500,2513,9000,1557,3500,1527,3500,1528,2500,1560,3500,0,0,0,0,4363,1);
REPLACE INTO `mob_db_re` VALUES (1650,'B_SHECIL','Sniper Shecil','Sniper Cecil',160,4140000,1,4106880,3080160,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,2053440,617,5500,603,5000,1723,2000,1228,3500,1236,3500,617,9000,1234,1500,1237,3500,1720,1500,1724,2500,0,0,0,0,4367,1);
REPLACE INTO `mob_db_re` VALUES (1651,'B_KATRINN','High Wizard Katrinn','High Wizard Kathryne',160,4500000,1,3240000,2430000,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,1620000,617,5500,603,5000,732,2000,1241,3500,1242,3500,2616,9000,2343,2500,2513,2500,1618,3000,2319,3500,0,0,0,0,4365,1);
REPLACE INTO `mob_db_re` VALUES (1646,'B_SEYREN','Lord Knight Seyren','Lord Knight Seyren',160,4680000,1,4642560,3481920,1,4290,6632,567,155,303,165,181,110,178,66,10,12,1,7,83,0x37B5,100,76,384,288,2321280,617,5500,603,5000,732,2000,1132,2500,6471,10000,2412,9000,1470,3500,1469,3000,1166,2500,1415,1500,0,0,0,0,4357,1);
REPLACE INTO `mob_db_re` VALUES (1647,'B_EREMES','Assassin Cross Eremes','Assassin Cross Eremes',160,4230000,1,4185000,3147120,1,4055,5433,445,98,211,181,114,83,225,60,10,12,1,7,85,0x37B5,100,76,384,288,2092500,617,5500,603,5000,732,2000,1234,1500,1230,1500,2319,9000,1233,3500,1232,3500,6471,10000,12623,10000,0,0,0,0,4359,1);
REPLACE INTO `mob_db_re` VALUES (1648,'B_HARWORD','Whitesmith Harword','Whitesmith Howard',160,6750000,1,3555000,2664000,1,3500,4965,301,106,275,148,156,72,177,60,10,12,1,7,82,0x37B5,100,76,384,288,1777500,617,5500,603,5000,732,2000,1138,3500,1140,2500,6471,10000,1365,3500,12623,10000,1369,2500,1368,3500,0,0,0,0,4361,1);
REPLACE INTO `mob_db_re` VALUES (1649,'B_MAGALETA','High Priest Magaleta','High Priest Margaretha',160,4800000,1,3465000,2520000,1,1666,5062,231,349,172,150,164,203,155,88,10,12,1,7,86,0x37B5,125,1152,384,288,1732500,617,5500,603,5000,732,2000,1814,3500,2615,2500,2513,9000,12623,10000,1527,3500,1528,2500,6471,10000,0,0,0,0,4363,1);
REPLACE INTO `mob_db_re` VALUES (1650,'B_SHECIL','Sniper Shecil','Sniper Cecil',160,4140000,1,4106880,3080160,14,2770,4320,178,135,176,258,155,132,309,95,10,12,1,7,84,0x37B5,100,76,384,288,2053440,617,5500,603,5000,1723,2000,1228,3500,6471,10000,617,9000,12623,10000,1237,3500,1720,1500,1724,2500,0,0,0,0,4367,1);
REPLACE INTO `mob_db_re` VALUES (1651,'B_KATRINN','High Wizard Katrinn','High Wizard Kathryne',160,4500000,1,3240000,2430000,1,1398,6652,215,456,165,190,142,236,199,93,10,12,1,7,68,0x37B5,150,1152,384,288,1620000,617,5500,603,5000,732,2000,1241,3500,1242,3500,6471,10000,2616,9000,2343,2500,6471,2000,12623,10000,2319,3500,0,0,4365,1);
# 1'st Class Mobs
REPLACE INTO `mob_db_re` VALUES (1652,'YGNIZEM','Ygnizem','Egnigem Cenia',136,44327,1,5229,4461,1,790,1018,124,8,144,92,86,69,99,68,10,12,1,7,43,0x3885,145,576,432,288,0,0,0,0,0,0,0,7347,1000,1170,1,1158,20,1127,20,2313,10,1152,80,2317,1,0,0,0,0,4346,1);
REPLACE INTO `mob_db_re` VALUES (1653,'WHIKEBAIN','Whikebain','Wickebine Tres',132,43191,1,5094,4721,1,876,1020,114,66,114,91,69,42,85,55,10,12,1,7,65,0x3885,120,576,432,288,0,0,0,0,0,0,0,7345,2000,1223,1,2306,40,1220,10,2315,2,2620,1,13004,10,0,0,0,0,4348,1);

View File

@ -0,0 +1,68 @@
ALTER TABLE `char` ADD COLUMN `sex` ENUM('M','F','U') NOT NULL default 'U';
--
-- Table structure for `db_roulette`
--
CREATE TABLE `db_roulette` (
`index` int(11) NOT NULL default '0',
`level` smallint(5) unsigned NOT NULL,
`item_id` smallint(5) unsigned NOT NULL,
`amount` smallint(5) unsigned NOT NULL DEFAULT '1',
`flag` smallint(5) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`index`)
) ENGINE=MyISAM;
-- ----------------------------
-- Records of db_roulette
-- ----------------------------
-- Info: http://ro.gnjoy.com/news/update/View.asp?seq=157&curpage=1
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 0, 1, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 1, 1, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 2, 1, 678, 1, 0 ); -- Poison_Bottle
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 3, 1, 604, 1, 0 ); -- Branch_Of_Dead_Tree
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 4, 1, 522, 1, 0 ); -- Fruit_Of_Mastela
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 5, 1, 671, 1, 0 ); -- Old_Ore_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 6, 1, 12523, 1, 0 ); -- E_Inc_Agi_10_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 7, 1, 985, 1, 0 ); -- Elunium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 8, 1, 984, 1, 0 ); -- Oridecon
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 9, 2, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 10, 2, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 11, 2, 603, 1, 0 ); -- Old_Blue_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 12, 2, 608, 1, 0 ); -- Seed_Of_Yggdrasil
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 13, 2, 607, 1, 0 ); -- Yggdrasilberry
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 14, 2, 12522, 1, 0 ); -- E_Blessing_10_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 15, 2, 6223, 1, 0 ); -- Carnium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 16, 2, 6224, 1, 0 ); -- Bradium
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 17, 3, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 18, 3, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 19, 3, 12108, 1, 0 ); -- Bundle_Of_Magic_Scroll
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 20, 3, 617, 1, 0 ); -- Old_Violet_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 21, 3, 12514, 1, 0 ); -- E_Abrasive
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 22, 3, 7444, 1, 0 ); -- Treasure_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 23, 3, 969, 1, 0 ); -- Gold
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 24, 4, 675, 1, 1 ); -- Silver_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 25, 4, 671, 1, 0 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 26, 4, 616, 1, 0 ); -- Old_Card_Album
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 27, 4, 12516, 1, 0 ); -- E_Small_Life_Potion
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 28, 4, 22777, 1, 0 ); -- Gift_Buff_Set
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 29, 4, 6231, 1, 0 ); -- Guarantee_Weapon_6Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 30, 5, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 31, 5, 12246, 1, 0 ); -- Magic_Card_Album
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 32, 5, 12263, 1, 0 ); -- Comp_Battle_Manual
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 33, 5, 671, 1, 0 ); -- Potion_Box
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 34, 5, 6235, 1, 0 ); -- Guarantee_Armor_6Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 35, 6, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 36, 6, 12766, 1, 0 ); -- Reward_Job_BM25
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 37, 6, 6234, 1, 0 ); -- Guarantee_Armor_7Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 38, 6, 6233, 1, 0 ); -- Guarantee_Armor_8Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 39, 7, 671, 1, 1 ); -- Gold_Coin
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 40, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 41, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up // KRO lists this twice

View File

@ -0,0 +1 @@
ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y') NOT NULL default 'P';

View File

@ -0,0 +1 @@
ALTER TABLE `picklog` CHANGE `type` `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z') NOT NULL DEFAULT 'P';

View File

@ -0,0 +1 @@
ALTER TABLE `char` ADD COLUMN `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0';

View File

@ -0,0 +1,66 @@
ALTER TABLE `mapreg` ADD PRIMARY KEY (`varname`, `index`);
ALTER TABLE `mapreg` DROP INDEX `varname`;
ALTER TABLE `mapreg` DROP INDEX `index`;
ALTER TABLE `mapreg` MODIFY `varname` varchar(32) binary NOT NULL;
CREATE TABLE IF NOT EXISTS `acc_reg_num` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `acc_reg_str` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `char_reg_num` (
`char_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `char_reg_str` (
`char_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `global_acc_reg_num` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` int(11) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `global_acc_reg_str` (
`account_id` int(11) unsigned NOT NULL default '0',
`key` varchar(32) binary NOT NULL default '',
`index` int(11) unsigned NOT NULL default '0',
`value` varchar(254) NOT NULL default '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
INSERT INTO `acc_reg_num` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` NOT LIKE '%$';
INSERT INTO `acc_reg_str` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` LIKE '%$';
INSERT INTO `char_reg_num` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` NOT LIKE '%$';
INSERT INTO `char_reg_str` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` LIKE '%$';
INSERT INTO `global_acc_reg_num` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` NOT LIKE '%$';
INSERT INTO `global_acc_reg_str` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` LIKE '%$';
# DROP TABLE `global_reg_value`;

View File

@ -0,0 +1 @@
ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z','Q') NOT NULL default 'P';

View File

@ -282,7 +282,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
if (char_id!=p->char_id) return 0;
cp = idb_ensure(char_db_, char_id, char_create_charstatus);
cp = (struct mmo_charstatus *)idb_ensure(char_db_, char_id, char_create_charstatus);
StringBuf_Init(&buf);
memset(save_status, 0, sizeof(save_status));
@ -328,7 +328,8 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
(p->ele_id != cp->ele_id) || (p->shield != cp->shield) || (p->head_top != cp->head_top) ||
(p->head_mid != cp->head_mid) || (p->head_bottom != cp->head_bottom) || (p->delete_date != cp->delete_date) ||
(p->rename != cp->rename) || (p->robe != cp->robe) || (p->character_moves != cp->character_moves) ||
(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter)
(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter) ||
(p->hotkey_rowshift != cp->hotkey_rowshift)
)
{ //Save status
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
@ -338,7 +339,8 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
"`option`='%d',`party_id`='%d',`guild_id`='%d',`pet_id`='%d',`homun_id`='%d',`elemental_id`='%d',"
"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u'"
"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
"`hotkey_rowshift`='%d'"
" WHERE `account_id`='%d' AND `char_id` = '%d'",
schema_config.char_db, p->base_level, p->job_level,
p->base_exp, p->job_exp, p->zeny,
@ -350,6 +352,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
(unsigned long)p->delete_date, // FIXME: platform-dependent size
p->robe,p->character_moves,p->font, p->uniqueitem_counter,
p->hotkey_rowshift,
p->account_id, p->char_id) )
{
Sql_ShowDebug(sql_handle);
@ -370,7 +373,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
{
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `class`='%d',"
"`hair`='%d',`hair_color`='%d',`clothes_color`='%d',"
"`partner_id`='%d', `father`='%d', `mother`='%d', `child`='%d',"
"`partner_id`='%u', `father`='%u', `mother`='%u', `child`='%u',"
"`karma`='%d',`manner`='%d', `fame`='%d'"
" WHERE `account_id`='%d' AND `char_id` = '%d'",
schema_config.char_db, p->class_,
@ -575,7 +578,7 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, int tabl
// it significantly reduces cpu load on the database server.
StringBuf_Init(&buf);
StringBuf_AppendStr(&buf, "SELECT `id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `bound`");
StringBuf_AppendStr(&buf, "SELECT `id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `bound`, `unique_id`");
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", `card%d`", j);
StringBuf_Printf(&buf, " FROM `%s` WHERE `%s`='%d'", tablename, selectoption, id);
@ -599,8 +602,9 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, int tabl
SqlStmt_BindColumn(stmt, 6, SQLDT_CHAR, &item.attribute, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 7, SQLDT_UINT, &item.expire_time, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 8, SQLDT_UINT, &item.bound, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 9, SQLDT_UINT64, &item.unique_id, 0, NULL, NULL);
for( j = 0; j < MAX_SLOTS; ++j )
SqlStmt_BindColumn(stmt, 9+j, SQLDT_USHORT, &item.card[j], 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 10+j, SQLDT_USHORT, &item.card[j], 0, NULL, NULL);
// bit array indicating which inventory items have already been matched
flag = (bool*) aCalloc(max, sizeof(bool));
@ -628,14 +632,15 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, int tabl
items[i].refine == item.refine &&
items[i].attribute == item.attribute &&
items[i].expire_time == item.expire_time &&
items[i].bound == item.bound )
items[i].bound == item.bound &&
items[i].unique_id == item.unique_id )
; //Do nothing.
else
{
// update all fields.
StringBuf_Clear(&buf);
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `bound`='%d'",
tablename, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].bound);
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `bound`='%d', `unique_id`='%"PRIu64"'",
tablename, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].bound, items[i].unique_id);
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", `card%d`=%hu", j, items[i].card[j]);
StringBuf_Printf(&buf, " WHERE `id`='%d' LIMIT 1", item.id);
@ -718,7 +723,7 @@ int char_inventory_to_sql(const struct item items[], int max, int id) {
// it significantly reduces cpu load on the database server.
StringBuf_Init(&buf);
StringBuf_AppendStr(&buf, "SELECT `id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `favorite`, `bound`");
StringBuf_AppendStr(&buf, "SELECT `id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `favorite`, `bound`, `unique_id`");
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", `card%d`", j);
StringBuf_Printf(&buf, " FROM `%s` WHERE `char_id`='%d'", schema_config.inventory_db, id);
@ -743,8 +748,9 @@ int char_inventory_to_sql(const struct item items[], int max, int id) {
SqlStmt_BindColumn(stmt, 7, SQLDT_UINT, &item.expire_time, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 8, SQLDT_CHAR, &item.favorite, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 9, SQLDT_CHAR, &item.bound, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 10,SQLDT_UINT64, &item.unique_id, 0, NULL, NULL);
for( j = 0; j < MAX_SLOTS; ++j )
SqlStmt_BindColumn(stmt, 10+j, SQLDT_USHORT, &item.card[j], 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 11+j, SQLDT_USHORT, &item.card[j], 0, NULL, NULL);
// bit array indicating which inventory items have already been matched
flag = (bool*) aCalloc(max, sizeof(bool));
@ -764,20 +770,21 @@ int char_inventory_to_sql(const struct item items[], int max, int id) {
) { //They are the same item.
ARR_FIND( 0, MAX_SLOTS, j, items[i].card[j] != item.card[j] );
if( j == MAX_SLOTS &&
items[i].amount == item.amount &&
items[i].equip == item.equip &&
items[i].identify == item.identify &&
items[i].refine == item.refine &&
items[i].attribute == item.attribute &&
items[i].expire_time == item.expire_time &&
items[i].favorite == item.favorite &&
items[i].bound == item.bound )
items[i].amount == item.amount &&
items[i].equip == item.equip &&
items[i].identify == item.identify &&
items[i].refine == item.refine &&
items[i].attribute == item.attribute &&
items[i].expire_time == item.expire_time &&
items[i].favorite == item.favorite &&
items[i].bound == item.bound &&
items[i].unique_id == item.unique_id )
; //Do nothing.
else {
// update all fields.
StringBuf_Clear(&buf);
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `favorite`='%d', `bound`='%d'",
schema_config.inventory_db, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].favorite, items[i].bound);
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%d', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `favorite`='%d', `bound`='%d', `unique_id`='%"PRIu64"'",
schema_config.inventory_db, items[i].amount, items[i].equip, items[i].identify, items[i].refine, items[i].attribute, items[i].expire_time, items[i].favorite, items[i].bound, items[i].unique_id);
for( j = 0; j < MAX_SLOTS; ++j )
StringBuf_Printf(&buf, ", `card%d`=%hu", j, items[i].card[j]);
StringBuf_Printf(&buf, " WHERE `id`='%d' LIMIT 1", item.id);
@ -837,6 +844,54 @@ int char_inventory_to_sql(const struct item items[], int max, int id) {
return errors;
}
/**
* Returns the correct gender ID for the given character and enum value.
*
* If the per-character sex is defined but not supported by the current packetver, the database entries are corrected.
*
* @param sd Character data, if available.
* @param p Character status.
* @param sex Character sex (database enum)
*
* @retval SEX_MALE if the per-character sex is male
* @retval SEX_FEMALE if the per-character sex is female
* @retval 99 if the per-character sex is not defined or the current PACKETVER doesn't support it.
*/
int char_mmo_gender(const struct char_session_data *sd, const struct mmo_charstatus *p, char sex)
{
#if PACKETVER >= 20141016
(void)sd; (void)p; // Unused
switch (sex) {
case 'M':
return SEX_MALE;
case 'F':
return SEX_FEMALE;
case 'U':
default:
return 99;
}
#else
if (sex == 'M' || sex == 'F') {
if (!sd) {
// sd is not available, there isn't much we can do. Just return and print a warning.
ShowWarning("Character '%s' (CID: %d, AID: %d) has sex '%c', but PACKETVER does not support per-character sex. Defaulting to 'U'.\n",
p->name, p->char_id, p->account_id, sex);
return 99;
}
if ((sex == 'M' && sd->sex == SEX_FEMALE)
|| (sex == 'F' && sd->sex == SEX_MALE)) {
ShowWarning("Changing sex of character '%s' (CID: %d, AID: %d) to 'U' due to incompatible PACKETVER.\n", p->name, p->char_id, p->account_id);
chlogif_parse_ackchangecharsex(p->char_id, sd->sex);
} else {
ShowInfo("Resetting sex of character '%s' (CID: %d, AID: %d) to 'U' due to incompatible PACKETVER.\n", p->name, p->char_id, p->account_id);
}
if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `sex` = 'U' WHERE `char_id` = '%d'", schema_config.char_db, p->char_id)) {
Sql_ShowDebug(sql_handle);
}
}
return 99;
#endif
}
int char_mmo_char_tobuf(uint8* buf, struct mmo_charstatus* p);
@ -847,16 +902,16 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
struct mmo_charstatus p;
int j = 0, i;
char last_map[MAP_NAME_LENGTH_EXT];
char sex[2];
stmt = SqlStmt_Malloc(sql_handle);
if( stmt == NULL )
{
if( stmt == NULL ) {
SqlStmt_ShowDebug(stmt);
return 0;
}
memset(&p, 0, sizeof(p));
for( i = 0; i < MAX_CHARS; i++ ){
for( i = 0; i < MAX_CHARS; i++ ) {
sd->found_char[i] = -1;
sd->unban_time[i] = 0;
}
@ -867,7 +922,7 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
"`clothes_color`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`"
"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`"
" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", schema_config.char_db, sd->account_id, MAX_CHARS)
|| SQL_ERROR == SqlStmt_Execute(stmt)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 0, SQLDT_INT, &p.char_id, 0, NULL, NULL)
@ -910,6 +965,8 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 37, SQLDT_LONG, &p.unban_time, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 38, SQLDT_UCHAR, &p.font, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 39, SQLDT_UINT, &p.uniqueitem_counter, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 40, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 41, SQLDT_UCHAR, &p.hotkey_rowshift, 0, NULL, NULL)
)
{
SqlStmt_ShowDebug(stmt);
@ -922,6 +979,7 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
p.last_point.map = mapindex_name2id(last_map);
sd->found_char[p.slot] = p.char_id;
sd->unban_time[p.slot] = p.unban_time;
p.sex = char_mmo_gender(sd, &p, sex[0]);
j += char_mmo_char_tobuf(WBUFP(buf, j), &p);
// Addon System
@ -954,6 +1012,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
int hotkey_num;
#endif
StringBuf msg_buf;
char sex[2];
memset(p, 0, sizeof(struct mmo_charstatus));
@ -973,7 +1032,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
"`hair_color`,`clothes_color`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
"`unban_time`,`font`,`uniqueitem_counter`"
"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`"
" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
|| SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
|| SQL_ERROR == SqlStmt_Execute(stmt)
@ -1021,10 +1080,10 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 41, SQLDT_STRING, &save_map, sizeof(save_map), NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 42, SQLDT_SHORT, &p->save_point.x, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 43, SQLDT_SHORT, &p->save_point.y, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 44, SQLDT_INT, &p->partner_id, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 45, SQLDT_INT, &p->father, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 46, SQLDT_INT, &p->mother, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 47, SQLDT_INT, &p->child, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 44, SQLDT_UINT32, &p->partner_id, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 45, SQLDT_UINT32, &p->father, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 46, SQLDT_UINT32, &p->mother, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 47, SQLDT_UINT32, &p->child, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 48, SQLDT_INT, &p->fame, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 49, SQLDT_SHORT, &p->rename, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 50, SQLDT_UINT32, &p->delete_date, 0, NULL, NULL)
@ -1033,6 +1092,8 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 53, SQLDT_LONG, &p->unban_time, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 54, SQLDT_UCHAR, &p->font, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 55, SQLDT_UINT, &p->uniqueitem_counter, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 56, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 57, SQLDT_UCHAR, &p->hotkey_rowshift, 0, NULL, NULL)
)
{
SqlStmt_ShowDebug(stmt);
@ -1045,6 +1106,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
SqlStmt_Free(stmt);
return 0;
}
p->sex = char_mmo_gender(NULL, p, sex[0]);
p->last_point.map = mapindex_name2id(last_map);
p->save_point.map = mapindex_name2id(save_map);
@ -1108,7 +1170,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 7, SQLDT_UINT, &tmp_item.expire_time, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 8, SQLDT_CHAR, &tmp_item.favorite, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 9, SQLDT_CHAR, &tmp_item.bound, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt,10, SQLDT_ULONGLONG, &tmp_item.unique_id, 0, NULL, NULL) )
|| SQL_ERROR == SqlStmt_BindColumn(stmt,10, SQLDT_UINT64, &tmp_item.unique_id, 0, NULL, NULL) )
SqlStmt_ShowDebug(stmt);
for( i = 0; i < MAX_SLOTS; ++i )
if( SQL_ERROR == SqlStmt_BindColumn(stmt, 11+i, SQLDT_USHORT, &tmp_item.card[i], 0, NULL, NULL) )
@ -1139,7 +1201,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 6, SQLDT_CHAR, &tmp_item.attribute, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 7, SQLDT_UINT, &tmp_item.expire_time, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 8, SQLDT_CHAR, &tmp_item.bound, 0, NULL, NULL)
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 9, SQLDT_ULONGLONG, &tmp_item.unique_id, 0, NULL, NULL) )
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 9, SQLDT_UINT64, &tmp_item.unique_id, 0, NULL, NULL) )
SqlStmt_ShowDebug(stmt);
for( i = 0; i < MAX_SLOTS; ++i )
if( SQL_ERROR == SqlStmt_BindColumn(stmt, 10+i, SQLDT_USHORT, &tmp_item.card[i], 0, NULL, NULL) )
@ -1221,7 +1283,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
SqlStmt_Free(stmt);
StringBuf_Destroy(&buf);
cp = idb_ensure(char_db_, char_id, char_create_charstatus);
cp = (struct mmo_charstatus *)idb_ensure(char_db_, char_id, char_create_charstatus);
memcpy(cp, p, sizeof(struct mmo_charstatus));
StringBuf_Destroy(&msg_buf);
return 1;
@ -1488,7 +1550,7 @@ int char_delete_char_sql(uint32 char_id){
Sql_GetData(sql_handle, 8, &data, NULL); mother_id = atoi(data);
Sql_GetData(sql_handle, 9, &data, NULL); elemental_id = atoi(data);
Sql_EscapeStringLen(sql_handle, esc_name, name, min(len, NAME_LENGTH));
Sql_EscapeStringLen(sql_handle, esc_name, name, zmin(len, NAME_LENGTH));
Sql_FreeResult(sql_handle);
//check for config char del condition [Lupus]
@ -1575,7 +1637,9 @@ int char_delete_char_sql(uint32 char_id){
Sql_ShowDebug(sql_handle);
/* delete character registry */
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `type`=3 AND `char_id`='%d'", schema_config.reg_db, char_id) )
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `char_id`='%d'", schema_config.char_reg_str_table, char_id) )
Sql_ShowDebug(sql_handle);
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `char_id`='%d'", schema_config.char_reg_num_table, char_id) )
Sql_ShowDebug(sql_handle);
/* delete skills */
@ -1651,16 +1715,16 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
buf = WBUFP(buffer,0);
WBUFL(buf,0) = p->char_id;
WBUFL(buf,4) = min(p->base_exp, INT32_MAX);
WBUFL(buf,4) = umin(p->base_exp, INT32_MAX);
WBUFL(buf,8) = p->zeny;
WBUFL(buf,12) = min(p->job_exp, INT32_MAX);
WBUFL(buf,12) = umin(p->job_exp, INT32_MAX);
WBUFL(buf,16) = p->job_level;
WBUFL(buf,20) = 0; // probably opt1
WBUFL(buf,24) = 0; // probably opt2
WBUFL(buf,28) = p->option;
WBUFL(buf,32) = p->karma;
WBUFL(buf,36) = p->manner;
WBUFW(buf,40) = min(p->status_point, INT16_MAX);
WBUFW(buf,40) = umin(p->status_point, INT16_MAX);
WBUFL(buf,42) = p->hp;
WBUFL(buf,46) = p->max_hp;
offset+=4;
@ -1669,13 +1733,19 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
WBUFW(buf,48) = min(p->max_sp, INT16_MAX);
WBUFW(buf,50) = DEFAULT_WALK_SPEED; // p->speed;
WBUFW(buf,52) = p->class_;
#if PACKETVER >= 20141022
WBUFL(buf,54) = p->hair;
offset+=2;
buf = WBUFP(buffer,offset);
#else
WBUFW(buf,54) = p->hair;
#endif
//When the weapon is sent and your option is riding, the client crashes on login!?
WBUFW(buf,56) = p->option&(0x20|0x80000|0x100000|0x200000|0x400000|0x800000|0x1000000|0x2000000|0x4000000|0x8000000) ? 0 : p->weapon;
WBUFW(buf,58) = p->base_level;
WBUFW(buf,60) = min(p->skill_point, INT16_MAX);
WBUFW(buf,60) = umin(p->skill_point, INT16_MAX);
WBUFW(buf,62) = p->head_bottom;
WBUFW(buf,64) = p->shield;
WBUFW(buf,66) = p->head_top;
@ -1683,12 +1753,12 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
WBUFW(buf,70) = p->hair_color;
WBUFW(buf,72) = p->clothes_color;
memcpy(WBUFP(buf,74), p->name, NAME_LENGTH);
WBUFB(buf,98) = min(p->str, UINT8_MAX);
WBUFB(buf,99) = min(p->agi, UINT8_MAX);
WBUFB(buf,100) = min(p->vit, UINT8_MAX);
WBUFB(buf,101) = min(p->int_, UINT8_MAX);
WBUFB(buf,102) = min(p->dex, UINT8_MAX);
WBUFB(buf,103) = min(p->luk, UINT8_MAX);
WBUFB(buf,98) = (unsigned char)u16min(p->str, UINT8_MAX);
WBUFB(buf,99) = (unsigned char)u16min(p->agi, UINT8_MAX);
WBUFB(buf,100) = (unsigned char)u16min(p->vit, UINT8_MAX);
WBUFB(buf,101) = (unsigned char)u16min(p->int_, UINT8_MAX);
WBUFB(buf,102) = (unsigned char)u16min(p->dex, UINT8_MAX);
WBUFB(buf,103) = (unsigned char)u16min(p->luk, UINT8_MAX);
WBUFW(buf,104) = p->slot;
WBUFW(buf,106) = ( p->rename > 0 ) ? 0 : 1;
offset += 2;
@ -1723,6 +1793,10 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
WBUFL(buf,136) = ( p->rename > 0 ) ? 1 : 0; // (0 = disabled, otherwise displays "Add-Ons" sidebar)
offset += 4;
#endif
#if PACKETVER >= 20141016
WBUFB(buf,140) = p->sex;// sex - (0 = female, 1 = male, 99 = logindefined)
offset += 1;
#endif
#endif
return 106+offset;
@ -1882,7 +1956,7 @@ void char_read_fame_list(void)
smith_fame_list[i].fame = atoi(data);
// name
Sql_GetData(sql_handle, 2, &data, &len);
memcpy(smith_fame_list[i].name, data, min(len, NAME_LENGTH));
memcpy(smith_fame_list[i].name, data, zmin(len, NAME_LENGTH));
}
// Build Alchemist ranking list
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND (`class`='%d' OR `class`='%d' OR `class`='%d' OR `class`='%d' OR `class`='%d' OR `class`='%d') ORDER BY `fame` DESC LIMIT 0,%d", schema_config.char_db, JOB_ALCHEMIST, JOB_CREATOR, JOB_BABY_ALCHEMIST, JOB_GENETIC, JOB_GENETIC_T, JOB_BABY_GENETIC, fame_list_size_chemist) )
@ -1897,7 +1971,7 @@ void char_read_fame_list(void)
chemist_fame_list[i].fame = atoi(data);
// name
Sql_GetData(sql_handle, 2, &data, &len);
memcpy(chemist_fame_list[i].name, data, min(len, NAME_LENGTH));
memcpy(chemist_fame_list[i].name, data, zmin(len, NAME_LENGTH));
}
// Build Taekwon ranking list
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`fame`,`name` FROM `%s` WHERE `fame`>0 AND (`class`='%d') ORDER BY `fame` DESC LIMIT 0,%d", schema_config.char_db, JOB_TAEKWON, fame_list_size_taekwon) )
@ -1912,7 +1986,7 @@ void char_read_fame_list(void)
taekwon_fame_list[i].fame = atoi(data);
// name
Sql_GetData(sql_handle, 2, &data, &len);
memcpy(taekwon_fame_list[i].name, data, min(len, NAME_LENGTH));
memcpy(taekwon_fame_list[i].name, data, zmin(len, NAME_LENGTH));
}
Sql_FreeResult(sql_handle);
}
@ -2047,7 +2121,7 @@ int char_chardb_waiting_disconnect(int tid, unsigned int tick, int id, intptr_t
*/
static int char_online_data_cleanup_sub(DBKey key, DBData *data, va_list ap)
{
struct online_char_data *character= db_data2ptr(data);
struct online_char_data *character= (struct online_char_data *)db_data2ptr(data);
if (character->fd != -1)
return 0; //Character still connected
if (character->server == -2) //Unknown server.. set them offline
@ -2129,7 +2203,8 @@ bool char_checkdb(void){
const char* sqltable[] = {
schema_config.char_db, schema_config.hotkey_db, schema_config.scdata_db, schema_config.cart_db,
schema_config.inventory_db, schema_config.charlog_db, schema_config.storage_db,
schema_config.reg_db, schema_config.skill_db, schema_config.interlog_db, schema_config.memo_db,
schema_config.char_reg_str_table, schema_config.char_reg_num_table, schema_config.acc_reg_str_table,
schema_config.acc_reg_num_table, schema_config.skill_db, schema_config.interlog_db, schema_config.memo_db,
schema_config.guild_db, schema_config.guild_alliance_db, schema_config.guild_castle_db,
schema_config.guild_expulsion_db, schema_config.guild_member_db,
schema_config.guild_skill_db, schema_config.guild_position_db, schema_config.guild_storage_db,
@ -2140,7 +2215,7 @@ bool char_checkdb(void){
};
ShowInfo("Start checking DB integrity\n");
for (i=0; i<ARRAYLENGTH(sqltable); i++){ //check if they all exist and we can acces them in sql-server
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT * from `%s`;", sqltable[i]) )
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT 1 FROM `%s` LIMIT 1;", sqltable[i]) )
return false;
}
//checking char_db
@ -2151,46 +2226,64 @@ bool char_checkdb(void){
"`shield`,`head_top`,`head_mid`,`head_bottom`,`robe`,`last_map`,`last_x`,`last_y`,`save_map`,"
"`save_x`,`save_y`,`partner_id`,`online`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,"
"`moves`,`unban_time`,`font`"
" from `%s`;", schema_config.char_db) ){
#if PACKETVER >= 20141016
",`sex`"
#endif
" FROM `%s` LIMIT 1;", schema_config.char_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking charlog_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `time`,`char_msg`,`account_id`,`char_num`,`name`,"
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hair`,`hair_color`"
" from `%s`;", schema_config.charlog_db) ){
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hair`,`hair_color`"
" FROM `%s` LIMIT 1;", schema_config.charlog_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking reg_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`str`,`value`,`type`,`account_id` from `%s`;", schema_config.reg_db) ){
//checking char_reg_str_table
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`key`,`index`,`value` from `%s` LIMIT 1;", schema_config.char_reg_str_table) ) {
Sql_ShowDebug(sql_handle);
return false;
}
//checking char_reg_num_table
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`key`,`index`,`value` from `%s` LIMIT 1;", schema_config.char_reg_num_table) ) {
Sql_ShowDebug(sql_handle);
return false;
}
//checking global_acc_reg_str_table
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`key`,`index`,`value` from `%s` LIMIT 1;", schema_config.acc_reg_str_table) ) {
Sql_ShowDebug(sql_handle);
return false;
}
//checking global_acc_reg_num_table
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`key`,`index`,`value` from `%s` LIMIT 1;", schema_config.acc_reg_num_table) ) {
Sql_ShowDebug(sql_handle);
return false;
}
//checking hotkey_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`hotkey`,`type`,`itemskill_id`,`skill_lvl`"
" from `%s`;", schema_config.hotkey_db) ){
" FROM `%s` LIMIT 1;", schema_config.hotkey_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking scdata_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`char_id`,`type`,`tick`,`val1`,`val2`,`val3`,`val4`"
" from `%s`;", schema_config.scdata_db) ){
" FROM `%s` LIMIT 1;", schema_config.scdata_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking skill_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`id`,`lv`,`flag` from `%s`;", schema_config.skill_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`id`,`lv`,`flag` FROM `%s` LIMIT 1;", schema_config.skill_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking interlog_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `time`,`log` from `%s`;", schema_config.interlog_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `time`,`log` FROM `%s` LIMIT 1;", schema_config.interlog_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking memo_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `memo_id`,`char_id`,`map`,`x`,`y` from `%s`;", schema_config.memo_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `memo_id`,`char_id`,`map`,`x`,`y` FROM `%s` LIMIT 1;", schema_config.memo_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
@ -2198,12 +2291,12 @@ bool char_checkdb(void){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`name`,`char_id`,`master`,`guild_lv`,"
"`connect_member`,`max_member`,`average_lv`,`exp`,`next_exp`,`skill_point`,`mes1`,`mes2`,"
"`emblem_len`,`emblem_id`,`emblem_data`"
" from `%s`;", schema_config.guild_db) ){
" FROM `%s` LIMIT 1;", schema_config.guild_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_alliance_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`opposition`,`alliance_id`,`name` from `%s`;", schema_config.guild_alliance_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`opposition`,`alliance_id`,`name` FROM `%s` LIMIT 1;", schema_config.guild_alliance_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
@ -2211,46 +2304,46 @@ bool char_checkdb(void){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `castle_id`,`guild_id`,`economy`,`defense`,`triggerE`,"
"`triggerD`,`nextTime`,`payTime`,`createTime`,`visibleC`,`visibleG0`,`visibleG1`,`visibleG2`,"
"`visibleG3`,`visibleG4`,`visibleG5`,`visibleG6`,`visibleG7` "
" from `%s`;", schema_config.guild_castle_db) ){
" FROM `%s` LIMIT 1;", schema_config.guild_castle_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_expulsion_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`account_id`,`name`,`mes` from `%s`;", schema_config.guild_expulsion_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`account_id`,`name`,`mes` FROM `%s` LIMIT 1;", schema_config.guild_expulsion_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_member_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`account_id`,`char_id`,`hair`,"
"`hair_color`,`gender`,`class`,`lv`,`exp`,`exp_payper`,`online`,`position`,`name`"
" from `%s`;", schema_config.guild_member_db) ){
" FROM `%s` LIMIT 1;", schema_config.guild_member_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_skill_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`id`,`lv` from `%s`;", schema_config.guild_skill_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`id`,`lv` FROM `%s` LIMIT 1;", schema_config.guild_skill_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_position_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`position`,`name`,`mode`,`exp_mode` from `%s`;", schema_config.guild_position_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`position`,`name`,`mode`,`exp_mode` FROM `%s` LIMIT 1;", schema_config.guild_position_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking party_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `party_id`,`name`,`exp`,`item`,`leader_id`,`leader_char` from `%s`;", schema_config.party_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `party_id`,`name`,`exp`,`item`,`leader_id`,`leader_char` FROM `%s` LIMIT 1;", schema_config.party_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking pet_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `pet_id`,`class`,`name`,`account_id`,`char_id`,`level`,"
"`egg_id`,`equip`,`intimate`,`hungry`,`rename_flag`,`incubate`"
" from `%s`;", schema_config.pet_db) ){
" FROM `%s` LIMIT 1;", schema_config.pet_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking friend_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`friend_account`,`friend_id` from `%s`;", schema_config.friend_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`friend_account`,`friend_id` FROM `%s` LIMIT 1;", schema_config.friend_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
@ -2258,7 +2351,7 @@ bool char_checkdb(void){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `id`,`send_name`,`send_id`,`dest_name`,`dest_id`,"
"`title`,`message`,`time`,`status`,`zeny`,`nameid`,`amount`,`refine`,`attribute`,`identify`,"
"`card0`,`card1`,`card2`,`card3`,`unique_id`, `bound`"
" from `%s`;", schema_config.mail_db) ){
" FROM `%s` LIMIT 1;", schema_config.mail_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
@ -2266,7 +2359,7 @@ bool char_checkdb(void){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `auction_id`,`seller_id`,`seller_name`,`buyer_id`,`buyer_name`,"
"`price`,`buynow`,`hours`,`timestamp`,`nameid`,`item_name`,`type`,`refine`,`attribute`,`card0`,`card1`,"
"`card2`,`card3`,`unique_id` "
"from `%s`;", schema_config.auction_db) ){
"FROM `%s` LIMIT 1;", schema_config.auction_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
@ -2277,80 +2370,79 @@ bool char_checkdb(void){
}
//checking homunculus_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `homun_id`,`char_id`,`class`,`prev_class`,`name`,`level`,`exp`,`intimacy`,`hunger`,"
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hp`,`max_hp`,`sp`,`max_sp`,`skill_point`,`alive`,`rename_flag`,`vaporize` "
" from `%s`;", schema_config.homunculus_db) ){
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hp`,`max_hp`,`sp`,`max_sp`,`skill_point`,`alive`,`rename_flag`,`vaporize` "
" FROM `%s` LIMIT 1;", schema_config.homunculus_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking skill_homunculus_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `homun_id`,`id`,`lv` from `%s`;", schema_config.skill_homunculus_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `homun_id`,`id`,`lv` FROM `%s` LIMIT 1;", schema_config.skill_homunculus_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking mercenary_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `mer_id`,`char_id`,`class`,`hp`,`sp`,`kill_counter`,`life_time` from `%s`;", schema_config.mercenary_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `mer_id`,`char_id`,`class`,`hp`,`sp`,`kill_counter`,`life_time` FROM `%s` LIMIT 1;", schema_config.mercenary_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking mercenary_owner_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`merc_id`,`arch_calls`,`arch_faith`,"
"`spear_calls`,`spear_faith`,`sword_calls`,`sword_faith`"
" from `%s`;", schema_config.mercenary_owner_db) ){
"`spear_calls`,`spear_faith`,`sword_calls`,`sword_faith`"
" FROM `%s` LIMIT 1;", schema_config.mercenary_owner_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking elemental_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `ele_id`,`char_id`,`class`,`mode`,`hp`,`sp`,`max_hp`,`max_sp`,"
"`atk1`,`atk2`,`matk`,`aspd`,`def`,`mdef`,`flee`,`hit`,`life_time` "
" from `%s`;", schema_config.elemental_db) ){
"`atk1`,`atk2`,`matk`,`aspd`,`def`,`mdef`,`flee`,`hit`,`life_time` "
" FROM `%s` LIMIT 1;", schema_config.elemental_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking ragsrvinfo_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `index`,`name`,`exp`,`jexp`,`drop` from `%s`;", schema_config.ragsrvinfo_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `index`,`name`,`exp`,`jexp`,`drop` FROM `%s` LIMIT 1;", schema_config.ragsrvinfo_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking skillcooldown_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`char_id`,`skill`,`tick` from `%s`;", schema_config.skillcooldown_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`char_id`,`skill`,`tick` FROM `%s` LIMIT 1;", schema_config.skillcooldown_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking bonus_script_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`script`,`tick`,`flag`,`type`,`icon` from `%s`;", schema_config.bonus_script_db) ){
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`script`,`tick`,`flag`,`type`,`icon` FROM `%s` LIMIT 1;", schema_config.bonus_script_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking cart_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `id`,`char_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,"
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" from `%s`;", schema_config.cart_db) ){
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" FROM `%s` LIMIT 1;", schema_config.cart_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking inventory_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `id`,`char_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,"
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`favorite`,`bound`,`unique_id`"
" from `%s`;", schema_config.inventory_db) ){
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`favorite`,`bound`,`unique_id`"
" FROM `%s` LIMIT 1;", schema_config.inventory_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking storage_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `id`,`account_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,"
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" from `%s`;", schema_config.storage_db) ){
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" FROM `%s` LIMIT 1;", schema_config.storage_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
//checking guild_storage_db
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `id`,`guild_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,"
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" from `%s`;", schema_config.guild_storage_db) ){
"`attribute`,`card0`,`card1`,`card2`,`card3`,`expire_time`,`bound`,`unique_id`"
" FROM `%s` LIMIT 1;", schema_config.guild_storage_db) ){
Sql_ShowDebug(sql_handle);
return false;
}
Sql_FreeResult(sql_handle);
ShowInfo("DB integrity check finished with success\n");
return true;
}
@ -2383,8 +2475,6 @@ void char_sql_config_read(const char* cfgName) {
safestrncpy(schema_config.charlog_db, w2, sizeof(schema_config.charlog_db));
else if(!strcmpi(w1,"storage_db"))
safestrncpy(schema_config.storage_db, w2, sizeof(schema_config.storage_db));
else if(!strcmpi(w1,"reg_db"))
safestrncpy(schema_config.reg_db, w2, sizeof(schema_config.reg_db));
else if(!strcmpi(w1,"skill_db"))
safestrncpy(schema_config.skill_db, w2, sizeof(schema_config.skill_db));
else if(!strcmpi(w1,"interlog_db"))
@ -2435,6 +2525,14 @@ void char_sql_config_read(const char* cfgName) {
safestrncpy(schema_config.skillcooldown_db, w2, sizeof(schema_config.skillcooldown_db));
else if(!strcmpi(w1,"bonus_script_db"))
safestrncpy(schema_config.bonus_script_db, w2, sizeof(schema_config.bonus_script_db));
else if(!strcmpi(w1,"char_reg_num_table"))
safestrncpy(schema_config.char_reg_num_table, w2, sizeof(schema_config.char_reg_num_table));
else if(!strcmpi(w1,"char_reg_str_table"))
safestrncpy(schema_config.char_reg_str_table, w2, sizeof(schema_config.char_reg_str_table));
else if(!strcmpi(w1,"acc_reg_str_table"))
safestrncpy(schema_config.acc_reg_str_table, w2, sizeof(schema_config.acc_reg_str_table));
else if(!strcmpi(w1,"acc_reg_num_table"))
safestrncpy(schema_config.acc_reg_num_table, w2, sizeof(schema_config.acc_reg_num_table));
//support the import command, just like any other config
else if(!strcmpi(w1,"import"))
char_sql_config_read(w2);
@ -2454,7 +2552,6 @@ void char_set_default_sql(){
safestrncpy(schema_config.charlog_db,"charlog",sizeof(schema_config.charlog_db));
safestrncpy(schema_config.storage_db,"storage",sizeof(schema_config.storage_db));
safestrncpy(schema_config.interlog_db,"interlog",sizeof(schema_config.interlog_db));
safestrncpy(schema_config.reg_db,"global_reg_value",sizeof(schema_config.reg_db));
safestrncpy(schema_config.skill_db,"skill",sizeof(schema_config.skill_db));
safestrncpy(schema_config.memo_db,"memo",sizeof(schema_config.memo_db));
safestrncpy(schema_config.guild_db,"guild",sizeof(schema_config.guild_db));
@ -2479,6 +2576,10 @@ void char_set_default_sql(){
safestrncpy(schema_config.ragsrvinfo_db,"ragsrvinfo",sizeof(schema_config.ragsrvinfo_db));
safestrncpy(schema_config.skillcooldown_db,"skillcooldown",sizeof(schema_config.skillcooldown_db));
safestrncpy(schema_config.bonus_script_db,"bonus_script",sizeof(schema_config.bonus_script_db));
safestrncpy(schema_config.char_reg_num_table,"char_reg_num",sizeof(schema_config.char_reg_num_table));
safestrncpy(schema_config.char_reg_str_table,"char_reg_str",sizeof(schema_config.char_reg_str_table));
safestrncpy(schema_config.acc_reg_str_table,"acc_reg_str",sizeof(schema_config.acc_reg_str_table));
safestrncpy(schema_config.acc_reg_num_table,"acc_reg_num",sizeof(schema_config.acc_reg_num_table));
}
//set default config
@ -2609,6 +2710,10 @@ bool char_config_read(const char* cfgName, bool normal){
msg_silent = atoi(w2);
if( msg_silent ) /* only bother if its actually enabled */
ShowInfo("Console Silent Setting: %d\n", atoi(w2));
} else if (strcmpi(w1, "console_msg_log") == 0) {
console_msg_log = atoi(w2);
} else if (strcmpi(w1, "console_log_filepath") == 0) {
safestrncpy(console_log_filepath, w2, sizeof(console_log_filepath));
} else if(strcmpi(w1,"stdout_with_ansisequence")==0){
stdout_with_ansisequence = config_switch(w2);
} else if (strcmpi(w1, "char_maintenance") == 0) {
@ -2832,10 +2937,12 @@ int do_init(int argc, char **argv)
runflag = CHARSERVER_ST_STARTING;
mapindex_init();
// Init default value
CHAR_CONF_NAME = "conf/char_athena.conf";
LAN_CONF_NAME = "conf/subnet_athena.conf";
SQL_CONF_NAME = "conf/inter_athena.conf";
MSG_CONF_NAME_EN = "conf/msg_conf/char_msg.conf";
safestrncpy(console_log_filepath, "./log/char-msg_log.log", sizeof(console_log_filepath));
cli_get_options(argc,argv);
@ -2892,7 +2999,7 @@ int do_init(int argc, char **argv)
add_timer_func_list(char_online_data_cleanup, "online_data_cleanup");
add_timer_interval(gettick() + 1000, char_online_data_cleanup, 0, 0, 600 * 1000);
//chek db tables
//check db tables
if(charserv_config.char_check_db && char_checkdb() == 0){
ShowFatalError("char : A tables is missing in sql-server, please fix it, see (sql-files main.sql for structure) \n");
exit(EXIT_FAILURE);

View File

@ -40,7 +40,6 @@ struct Schema_Config {
char charlog_db[DB_NAME_LEN];
char storage_db[DB_NAME_LEN];
char interlog_db[DB_NAME_LEN];
char reg_db[DB_NAME_LEN];
char skill_db[DB_NAME_LEN];
char memo_db[DB_NAME_LEN];
char guild_db[DB_NAME_LEN];
@ -65,6 +64,10 @@ struct Schema_Config {
char ragsrvinfo_db[DB_NAME_LEN];
char elemental_db[DB_NAME_LEN];
char bonus_script_db[DB_NAME_LEN];
char acc_reg_num_table[DB_NAME_LEN];
char acc_reg_str_table[DB_NAME_LEN];
char char_reg_str_table[DB_NAME_LEN];
char char_reg_num_table[DB_NAME_LEN];
};
extern struct Schema_Config schema_config;
@ -219,7 +222,7 @@ extern struct fame_list chemist_fame_list[MAX_FAME_LIST];
extern struct fame_list taekwon_fame_list[MAX_FAME_LIST];
#define DEFAULT_AUTOSAVE_INTERVAL 300*1000
#define MAX_CHAR_BUF 144 //Max size (for WFIFOHEAD calls)
#define MAX_CHAR_BUF 150 //Max size (for WFIFOHEAD calls)
int char_search_mapserver(unsigned short map, uint32 ip, uint16 port);
int char_lan_subnetcheck(uint32 ip);
@ -233,6 +236,7 @@ void char_set_all_offline(int id);
void char_disconnect_player(uint32 account_id);
int char_chardb_waiting_disconnect(int tid, unsigned int tick, int id, intptr_t data);
int char_mmo_gender(const struct char_session_data *sd, const struct mmo_charstatus *p, char sex);
int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p);
int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p);
int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_everything);
@ -249,7 +253,6 @@ int char_child(int parent_id, int child_id);
int char_family(int pl1,int pl2,int pl3);
int char_request_accreg2(uint32 account_id, uint32 char_id);
int char_save_accreg2(unsigned char* buf, int len);
//extern bool char_gm_read;
int char_loadName(uint32 char_id, char* name);

View File

@ -711,7 +711,8 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
//Have to switch over to the DB instance otherwise data won't propagate [Kevin]
cd = (struct mmo_charstatus *)idb_get(char_db_, char_id);
cd->sex = sd->sex;
if (cd->sex == 99)
cd->sex = sd->sex;
if (charserv_config.log_char) {
char esc_name[NAME_LENGTH*2+1];
@ -870,55 +871,54 @@ void chclif_refuse_delchar(int fd, uint8 errCode){
}
int chclif_parse_delchar(int fd,struct char_session_data* sd, int cmd){
if (cmd == 0x68) FIFOSD_CHECK(46)
else if (cmd == 0x1fb) FIFOSD_CHECK(56)
else return 0;
{
char email[40];
int i, ch;
int cid = RFIFOL(fd,2);
if (cmd == 0x68) FIFOSD_CHECK(46)
else if (cmd == 0x1fb) FIFOSD_CHECK(56)
else return 0;
{
char email[40];
int i, ch;
int cid = RFIFOL(fd,2);
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%d (%d)"CL_RESET"\n", sd->account_id, cid);
memcpy(email, RFIFOP(fd,6), 40);
RFIFOSKIP(fd,( cmd == 0x68) ? 46 : 56);
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%d (%d)"CL_RESET"\n", sd->account_id, cid);
memcpy(email, RFIFOP(fd,6), 40);
RFIFOSKIP(fd,( cmd == 0x68) ? 46 : 56);
// Check if e-mail is correct
if(strcmpi(email, sd->email) && //email does not matches and
(
strcmp("a@a.com", sd->email) || //it is not default email, or
(strcmp("a@a.com", email) && strcmp("", email)) //email sent does not matches default
)) { //Fail
chclif_refuse_delchar(fd,0); // 00 = Incorrect Email address
return 1;
}
// Check if e-mail is correct
if(strcmpi(email, sd->email) && //email does not matches and
(strcmp("a@a.com", sd->email) || //it is not default email, or
(strcmp("a@a.com", email) && strcmp("", email)) //email sent does not matches default
))
{ //Fail
chclif_refuse_delchar(fd,0); // 00 = Incorrect Email address
return 1;
}
// check if this char exists
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS )
{ // Such a character does not exist in the account
chclif_refuse_delchar(fd,0);
return 1;
}
// check if this char exists
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS ) { // Such a character does not exist in the account
chclif_refuse_delchar(fd,0);
return 1;
}
// remove char from list and compact it
for(ch = i; ch < MAX_CHARS-1; ch++)
sd->found_char[ch] = sd->found_char[ch+1];
sd->found_char[MAX_CHARS-1] = -1;
// remove char from list and compact it
for(ch = i; ch < MAX_CHARS-1; ch++)
sd->found_char[ch] = sd->found_char[ch+1];
sd->found_char[MAX_CHARS-1] = -1;
/* Delete character */
if(char_delete_char_sql(cid)<0){
//can't delete the char
//either SQL error or can't delete by some CONFIG conditions
//del fail
chclif_refuse_delchar(fd,0);
return 1;
}
/* Char successfully deleted.*/
WFIFOHEAD(fd,2);
WFIFOW(fd,0) = 0x6f;
WFIFOSET(fd,2);
}
return 1;
/* Delete character */
if(char_delete_char_sql(cid)<0){
//can't delete the char
//either SQL error or can't delete by some CONFIG conditions
//del fail
chclif_refuse_delchar(fd,0);
return 1;
}
/* Char successfully deleted.*/
WFIFOHEAD(fd,2);
WFIFOW(fd,0) = 0x6f;
WFIFOSET(fd,2);
}
return 1;
}
// R 0187 <account ID>.l
@ -933,46 +933,45 @@ int chclif_parse_keepalive(int fd){
// R 08fc <char ID>.l <new name>.24B
// R 028d <account ID>.l <char ID>.l <new name>.24B
int chclif_parse_reqrename(int fd, struct char_session_data* sd, int cmd){
int i, cid=0;
char name[NAME_LENGTH];
char esc_name[NAME_LENGTH*2+1];
int i, cid = 0;
char name[NAME_LENGTH];
char esc_name[NAME_LENGTH*2+1];
if(cmd == 0x8fc){
FIFOSD_CHECK(30)
cid =RFIFOL(fd,2);
safestrncpy(name, (char *)RFIFOP(fd,6), NAME_LENGTH);
RFIFOSKIP(fd,30);
}
else if(cmd == 0x28d) {
int aid;
FIFOSD_CHECK(34);
aid = RFIFOL(fd,2);
cid =RFIFOL(fd,6);
safestrncpy(name, (char *)RFIFOP(fd,10), NAME_LENGTH);
RFIFOSKIP(fd,34);
if( aid != sd->account_id )
return 1;
}
if(cmd == 0x8fc){
FIFOSD_CHECK(30)
cid =RFIFOL(fd,2);
safestrncpy(name, (char *)RFIFOP(fd,6), NAME_LENGTH);
RFIFOSKIP(fd,30);
}
else if(cmd == 0x28d) {
int aid;
FIFOSD_CHECK(34);
aid = RFIFOL(fd,2);
cid =RFIFOL(fd,6);
safestrncpy(name, (char *)RFIFOP(fd,10), NAME_LENGTH);
RFIFOSKIP(fd,34);
if( aid != sd->account_id )
return 1;
}
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS )
return 1;
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS )
return 1;
normalize_name(name,TRIM_CHARS);
Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
if( !char_check_char_name(name,esc_name) )
{
i = 1;
safestrncpy(sd->new_name, name, NAME_LENGTH);
}
else
i = 0;
normalize_name(name,TRIM_CHARS);
Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
if( !char_check_char_name(name,esc_name) ) {
i = 1;
safestrncpy(sd->new_name, name, NAME_LENGTH);
}
else
i = 0;
WFIFOHEAD(fd, 4);
WFIFOW(fd,0) = 0x28e;
WFIFOW(fd,2) = i;
WFIFOSET(fd,4);
return 1;
WFIFOHEAD(fd, 4);
WFIFOW(fd,0) = 0x28e;
WFIFOW(fd,2) = i;
WFIFOSET(fd,4);
return 1;
}
@ -1036,61 +1035,61 @@ void chclif_block_character( int fd, struct char_session_data* sd){
// 0x28f <char_id>.L
int chclif_parse_ackrename(int fd, struct char_session_data* sd){
// 0: Successful
// 1: This character's name has already been changed. You cannot change a character's name more than once.
// 2: User information is not correct.
// 3: You have failed to change this character's name.
// 4: Another user is using this character name, so please select another one.
FIFOSD_CHECK(6)
{
int i;
int cid = RFIFOL(fd,2);
RFIFOSKIP(fd,6);
// 0: Successful
// 1: This character's name has already been changed. You cannot change a character's name more than once.
// 2: User information is not correct.
// 3: You have failed to change this character's name.
// 4: Another user is using this character name, so please select another one.
FIFOSD_CHECK(6)
{
int i;
int cid = RFIFOL(fd,2);
RFIFOSKIP(fd,6);
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS )
return 1;
i = char_rename_char_sql(sd, cid);
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
if( i == MAX_CHARS )
return 1;
i = char_rename_char_sql(sd, cid);
WFIFOHEAD(fd, 4);
WFIFOW(fd,0) = 0x290;
WFIFOW(fd,2) = i;
WFIFOSET(fd,4);
}
return 1;
WFIFOHEAD(fd, 4);
WFIFOW(fd,0) = 0x290;
WFIFOW(fd,2) = i;
WFIFOSET(fd,4);
}
return 1;
}
int chclif_ack_captcha(int fd){
WFIFOHEAD(fd,5);
WFIFOW(fd,0) = 0x7e9;
WFIFOW(fd,2) = 5;
WFIFOB(fd,4) = 1;
WFIFOSET(fd,5);
return 1;
WFIFOHEAD(fd,5);
WFIFOW(fd,0) = 0x7e9;
WFIFOW(fd,2) = 5;
WFIFOB(fd,4) = 1;
WFIFOSET(fd,5);
return 1;
}
// R 06C <ErrorCode>B HEADER_HC_REFUSE_ENTER
void chclif_reject(int fd, uint8 errCode){
WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x6c;
WFIFOB(fd,2) = errCode;// rejected from server
WFIFOSET(fd,3);
WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x6c;
WFIFOB(fd,2) = errCode;// rejected from server
WFIFOSET(fd,3);
}
// R 07e5 <?>.w <aid>.l
int chclif_parse_reqcaptcha(int fd){
//FIFOSD_CHECK(8)
RFIFOSKIP(fd,8);
chclif_ack_captcha(fd);
return 1;
//FIFOSD_CHECK(8)
RFIFOSKIP(fd,8);
chclif_ack_captcha(fd);
return 1;
}
// R 07e7 <len>.w <aid>.l <code>.b10 <?>.b14
int chclif_parse_chkcaptcha(int fd){
//FIFOSD_CHECK(32)
RFIFOSKIP(fd,32);
chclif_ack_captcha(fd);
return 1;
//FIFOSD_CHECK(32)
RFIFOSKIP(fd,32);
chclif_ack_captcha(fd);
return 1;
}
/**
@ -1101,15 +1100,13 @@ int chclif_parse_chkcaptcha(int fd){
int chclif_parse(int fd) {
struct char_session_data* sd = (struct char_session_data*)session[fd]->session_data;
uint32 ipl = session[fd]->client_addr;
// disconnect any player if no login-server.
if(login_fd < 0)
set_eof(fd);
if(session[fd]->flag.eof)
{
if( sd != NULL && sd->auth )
{ // already authed client
if(session[fd]->flag.eof) {
if( sd != NULL && sd->auth ) { // already authed client
DBMap *online_char_db = char_get_onlinedb();
struct online_char_data* data = (struct online_char_data*)idb_get(online_char_db, sd->account_id);
if( data != NULL && data->fd == fd)
@ -1121,55 +1118,54 @@ int chclif_parse(int fd) {
return 0;
}
while( RFIFOREST(fd) >= 2 )
{
while( RFIFOREST(fd) >= 2 ) {
int next = 1;
unsigned short cmd;
cmd = RFIFOW(fd,0);
switch( cmd )
{
case 0x65: next=chclif_parse_reqtoconnect(fd,sd,ipl); break;
// char select
case 0x66: next=chclif_parse_charselect(fd,sd,ipl); break;
// createnewchar
case 0x970: next=chclif_parse_createnewchar(fd,sd,cmd); break;
case 0x67: next=chclif_parse_createnewchar(fd,sd,cmd); break;
// delete char
case 0x68: next=chclif_parse_delchar(fd,sd,cmd); break; //
case 0x1fb: next=chclif_parse_delchar(fd,sd,cmd); break; // 2004-04-19aSakexe+ langtype 12 char deletion packet
// client keep-alive packet (every 12 seconds)
case 0x187: next=chclif_parse_keepalive(fd); break;
// char rename
case 0x8fc: next=chclif_parse_reqrename(fd,sd,cmd); break; //request <date/version?>
case 0x28d: next=chclif_parse_reqrename(fd,sd,cmd); break; //request <date/version?>
case 0x28f: next=chclif_parse_ackrename(fd,sd); break; //Confirm change name.
// captcha
case 0x7e5: next=chclif_parse_reqcaptcha(fd); break; // captcha code request (not implemented)
case 0x7e7: next=chclif_parse_chkcaptcha(fd); break; // captcha code check (not implemented)
// deletion timer request
case 0x827: next=chclif_parse_char_delete2_req(fd, sd); break;
// deletion accept request
case 0x829: next=chclif_parse_char_delete2_accept(fd, sd); break;
// deletion cancel request
case 0x82b: next=chclif_parse_char_delete2_cancel(fd, sd); break;
// login as map-server
case 0x2af8: chclif_parse_maplogin(fd); return 0; // avoid processing of followup packets here
//pincode
case 0x8b8: next=chclif_parse_pincode_check( fd, sd ); break; // checks the entered pin
case 0x8c5: next=chclif_parse_reqpincode_window(fd,sd); break; // request for PIN window
case 0x8be: next=chclif_parse_pincode_change( fd, sd ); break; // pincode change request
case 0x8ba: next=chclif_parse_pincode_setnew( fd, sd ); break; // activate PIN system and set first PIN
// character movement request
case 0x8d4: next=chclif_parse_moveCharSlot(fd,sd); break;
case 0x9a1: next=chclif_parse_req_charlist(fd,sd); break;
// unknown packet received
default:
ShowError("parse_char: Received unknown packet "CL_WHITE"0x%x"CL_RESET" from ip '"CL_WHITE"%s"CL_RESET"'! Disconnecting!\n", RFIFOW(fd,0), ip2str(ipl, NULL));
set_eof(fd);
return 0;
switch( cmd ) {
case 0x65: next=chclif_parse_reqtoconnect(fd,sd,ipl); break;
// char select
case 0x66: next=chclif_parse_charselect(fd,sd,ipl); break;
// createnewchar
case 0x970: next=chclif_parse_createnewchar(fd,sd,cmd); break;
case 0x67: next=chclif_parse_createnewchar(fd,sd,cmd); break;
// delete char
case 0x68: next=chclif_parse_delchar(fd,sd,cmd); break; //
case 0x1fb: next=chclif_parse_delchar(fd,sd,cmd); break; // 2004-04-19aSakexe+ langtype 12 char deletion packet
// client keep-alive packet (every 12 seconds)
case 0x187: next=chclif_parse_keepalive(fd); break;
// char rename
case 0x8fc: next=chclif_parse_reqrename(fd,sd,cmd); break; //request <date/version?>
case 0x28d: next=chclif_parse_reqrename(fd,sd,cmd); break; //request <date/version?>
case 0x28f: next=chclif_parse_ackrename(fd,sd); break; //Confirm change name.
// captcha
case 0x7e5: next=chclif_parse_reqcaptcha(fd); break; // captcha code request (not implemented)
case 0x7e7: next=chclif_parse_chkcaptcha(fd); break; // captcha code check (not implemented)
// deletion timer request
case 0x827: next=chclif_parse_char_delete2_req(fd, sd); break;
// deletion accept request
case 0x829: next=chclif_parse_char_delete2_accept(fd, sd); break;
// deletion cancel request
case 0x82b: next=chclif_parse_char_delete2_cancel(fd, sd); break;
// login as map-server
case 0x2af8: chclif_parse_maplogin(fd); return 0; // avoid processing of followup packets here
//pincode
case 0x8b8: next=chclif_parse_pincode_check( fd, sd ); break; // checks the entered pin
case 0x8c5: next=chclif_parse_reqpincode_window(fd,sd); break; // request for PIN window
case 0x8be: next=chclif_parse_pincode_change( fd, sd ); break; // pincode change request
case 0x8ba: next=chclif_parse_pincode_setnew( fd, sd ); break; // activate PIN system and set first PIN
// character movement request
case 0x8d4: next=chclif_parse_moveCharSlot(fd,sd); break;
case 0x9a1: next=chclif_parse_req_charlist(fd,sd); break;
// unknown packet received
default:
ShowError("parse_char: Received unknown packet "CL_WHITE"0x%x"CL_RESET" from ip '"CL_WHITE"%s"CL_RESET"'! Disconnecting!\n", RFIFOW(fd,0), ip2str(ipl, NULL));
set_eof(fd);
return 0;
}
if(next==0) return 0; // avoid processing of followup packets (prev was probably incomplete)
if (next == 0)
return 0; // avoid processing of followup packets (prev was probably incomplete)
}
RFIFOFLUSH(fd);

View File

@ -20,19 +20,17 @@
void chlogif_on_ready(void);
void chlogif_on_disconnect(void);
int chlogif_pincode_notifyLoginPinError( uint32 account_id ){
if (login_fd > 0 && session[login_fd] && !session[login_fd]->flag.eof){
void chlogif_pincode_notifyLoginPinError( uint32 account_id ){
if ( chlogif_isconnected() ){
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x2739;
WFIFOL(login_fd,2) = account_id;
WFIFOSET(login_fd,6);
return 1;
}
return 0;
}
int chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin ){
if (login_fd > 0 && session[login_fd] && !session[login_fd]->flag.eof){
void chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin ){
if ( chlogif_isconnected() ){
int size = 8 + PINCODE_LENGTH+1;
WFIFOHEAD(login_fd,size);
WFIFOW(login_fd,0) = 0x2738;
@ -40,9 +38,7 @@ int chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin ){
WFIFOL(login_fd,4) = account_id;
strncpy( (char*)WFIFOP(login_fd,8), pin, PINCODE_LENGTH+1 );
WFIFOSET(login_fd,size);
return 1;
}
return 0;
}
void chlogif_pincode_start(int fd, struct char_session_data* sd){
@ -86,7 +82,7 @@ void chlogif_pincode_start(int fd, struct char_session_data* sd){
* @see DBApply
*/
static int chlogif_send_acc_tologin_sub(DBKey key, DBData *data, va_list ap) {
struct online_char_data* character = db_data2ptr(data);
struct online_char_data* character = (struct online_char_data*)db_data2ptr(data);
int* i = va_arg(ap, int*);
if(character->server > -1) {
WFIFOL(login_fd,8+(*i)*4) = character->account_id;
@ -122,17 +118,14 @@ int chlogif_send_acc_tologin(int tid, unsigned int tick, int id, intptr_t data)
return 0;
}
int chlogif_send_usercount(int users){
if( login_fd > 0 && session[login_fd] )
{
// send number of user to login server
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x2714;
WFIFOL(login_fd,2) = users;
WFIFOSET(login_fd,6);
return 1;
}
return 0;
void chlogif_send_usercount(int users){
if (!chlogif_isconnected())
return;
// send number of user to login server
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x2714;
WFIFOL(login_fd,2) = users;
WFIFOSET(login_fd,6);
}
@ -164,71 +157,119 @@ int chlogif_broadcast_user_count(int tid, unsigned int tick, int id, intptr_t da
return 0;
}
//Send packet forward to login-server for account saving
int chlogif_save_accreg2(unsigned char* buf, int len){
if (login_fd > 0) {
WFIFOHEAD(login_fd,len+4);
memcpy(WFIFOP(login_fd,4), buf, len);
WFIFOW(login_fd,0) = 0x2728;
WFIFOW(login_fd,2) = len+4;
WFIFOSET(login_fd,len+4);
return 1;
void chlogif_upd_global_accreg(uint32 account_id, uint32 char_id) {
if ( chlogif_isconnected() ){
WFIFOHEAD(login_fd, 60000 + 300);
WFIFOW(login_fd, 0) = 0x2728;
WFIFOW(login_fd, 2) = 14;
WFIFOL(login_fd, 4) = account_id;
WFIFOL(login_fd, 8) = char_id;
WFIFOW(login_fd, 12) = 0; // count
}
return 0;
}
int chlogif_request_accreg2(uint32 account_id, uint32 char_id){
if (login_fd > 0) {
WFIFOHEAD(login_fd,10);
WFIFOW(login_fd,0) = 0x272e;
WFIFOL(login_fd,2) = account_id;
WFIFOL(login_fd,6) = char_id;
WFIFOSET(login_fd,10);
return 1;
void chlogif_prepsend_global_accreg(void) {
if ( chlogif_isconnected() ){
WFIFOSET(login_fd, WFIFOW(login_fd,2));
}
return 0;
}
int chlogif_send_reqaccdata(int fd, struct char_session_data *sd){
//loginif_isconnected
if (login_fd > 0) { // request account data
// request account data
WFIFOHEAD(fd,6);
WFIFOW(fd,0) = 0x2716;
WFIFOL(fd,2) = sd->account_id;
WFIFOSET(fd,6);
return 1;
void chlogif_send_global_accreg(const char *key, unsigned int index, intptr_t val, bool is_string) {
int nlen = WFIFOW(login_fd, 2);
size_t len;
if (!chlogif_isconnected())
return;
len = strlen(key)+1;
WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 32
nlen += 1;
safestrncpy((char*)WFIFOP(login_fd,nlen), key, len);
nlen += len;
WFIFOL(login_fd, nlen) = index;
nlen += 4;
if( is_string ) {
WFIFOB(login_fd, nlen) = val ? 2 : 3;
nlen += 1;
if( val ) {
char *sval = (char*)val;
len = strlen(sval)+1;
WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 254
nlen += 1;
safestrncpy((char*)WFIFOP(login_fd,nlen), sval, len);
nlen += len;
}
} else {
WFIFOB(login_fd, nlen) = val ? 0 : 1;
nlen += 1;
if( val ) {
WFIFOL(login_fd, nlen) = (int)val;
nlen += 4;
}
}
WFIFOW(login_fd,12) += 1;
WFIFOW(login_fd, 2) = nlen;
if( WFIFOW(login_fd, 2) > 60000 ) {
int account_id = WFIFOL(login_fd,4), char_id = WFIFOL(login_fd,8);
chlogif_prepsend_global_accreg();
chlogif_upd_global_accreg(account_id, char_id); // prepare next
}
return 0;
}
int chlogif_send_setacconline(int aid){
//loginif_isconnected
if (login_fd > 0 && !session[login_fd]->flag.eof){
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x272b;
WFIFOL(login_fd,2) = aid;
WFIFOSET(login_fd,6);
return 1;
}
return 0;
void chlogif_request_accreg2(uint32 account_id, uint32 char_id){
if (!chlogif_isconnected())
return;
WFIFOHEAD(login_fd,10);
WFIFOW(login_fd,0) = 0x272e;
WFIFOL(login_fd,2) = account_id;
WFIFOL(login_fd,6) = char_id;
WFIFOSET(login_fd,10);
}
void chlogif_send_reqaccdata(int fd, struct char_session_data *sd){
if (!chlogif_isconnected())
return;
WFIFOHEAD(fd,6);
WFIFOW(fd,0) = 0x2716;
WFIFOL(fd,2) = sd->account_id;
WFIFOSET(fd,6);
}
void chlogif_send_setacconline(int aid){
if (!chlogif_isconnected())
return;
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x272b;
WFIFOL(login_fd,2) = aid;
WFIFOSET(login_fd,6);
}
void chlogif_send_setallaccoffline(int fd){
if (!chlogif_isconnected())
return;
WFIFOHEAD(fd,2);
WFIFOW(fd,0) = 0x2737;
WFIFOSET(fd,2);
}
int chlogif_send_setaccoffline(int fd, int aid){
if (chlogif_isconnected()){
WFIFOHEAD(fd,6);
WFIFOW(fd,0) = 0x272c;
WFIFOL(fd,2) = aid;
WFIFOSET(fd,6);
return 1;
}
return 0;
void chlogif_send_setaccoffline(int fd, int aid){
if (!chlogif_isconnected())
return;
WFIFOHEAD(fd,6);
WFIFOW(fd,0) = 0x272c;
WFIFOL(fd,2) = aid;
WFIFOSET(fd,6);
}
int chlogif_parse_ackconnect(int fd, struct char_session_data* sd){
@ -309,11 +350,11 @@ int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
} else if ( !sd->char_slots )/* no value aka 0 in sql */
sd->char_slots = MIN_CHARS;/* cap to minimum */
safestrncpy(sd->birthdate, (const char*)RFIFOP(fd,52), sizeof(sd->birthdate));
safestrncpy(sd->pincode, (const char*)RFIFOP(fd,63), sizeof(sd->pincode));
sd->pincode_change = (time_t)RFIFOL(fd,68);
sd->isvip = RFIFOB(fd,72);
sd->chars_vip = RFIFOB(fd,73);
sd->chars_billing = RFIFOB(fd,74);
safestrncpy(sd->pincode, (const char*)RFIFOP(fd,63), sizeof(sd->pincode));
sd->pincode_change = (time_t)RFIFOL(fd,68);
sd->isvip = RFIFOB(fd,72);
sd->chars_vip = RFIFOB(fd,73);
sd->chars_billing = RFIFOB(fd,74);
ARR_FIND( 0, ARRAYLENGTH(map_server), server_id, map_server[server_id].fd > 0 && map_server[server_id].map[0] );
// continued from char_auth_ok...
if( server_id == ARRAYLENGTH(map_server) || //server not online, bugreport:2359
@ -340,76 +381,79 @@ int chlogif_parse_keepalive(int fd, struct char_session_data* sd){
return 1;
}
int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd){
/**
* Performs the necessary operations when changing a character's sex, such as
* correcting the job class and unequipping items, and propagating the
* information to the guild data.
*
* @param sex The new sex (SEX_MALE or SEX_FEMALE).
* @param acc The character's account ID.
* @param char_id The character ID.
* @param class_ The character's current job class.
* @param guild_id The character's guild ID.
*/
void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int guild_id)
{
// job modification
if (class_ == JOB_BARD || class_ == JOB_DANCER)
class_ = (sex == SEX_MALE ? JOB_BARD : JOB_DANCER);
else if (class_ == JOB_CLOWN || class_ == JOB_GYPSY)
class_ = (sex == SEX_MALE ? JOB_CLOWN : JOB_GYPSY);
else if (class_ == JOB_BABY_BARD || class_ == JOB_BABY_DANCER)
class_ = (sex == SEX_MALE ? JOB_BABY_BARD : JOB_BABY_DANCER);
else if (class_ == JOB_MINSTREL || class_ == JOB_WANDERER)
class_ = (sex == SEX_MALE ? JOB_MINSTREL : JOB_WANDERER);
else if (class_ == JOB_MINSTREL_T || class_ == JOB_WANDERER_T)
class_ = (sex == SEX_MALE ? JOB_MINSTREL_T : JOB_WANDERER_T);
else if (class_ == JOB_BABY_MINSTREL || class_ == JOB_BABY_WANDERER)
class_ = (sex == SEX_MALE ? JOB_BABY_MINSTREL : JOB_BABY_WANDERER);
else if (class_ == JOB_KAGEROU || class_ == JOB_OBORO)
class_ = (sex == SEX_MALE ? JOB_KAGEROU : JOB_OBORO);
if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `equip` = '0' WHERE `char_id` = '%d'", schema_config.inventory_db, char_id))
Sql_ShowDebug(sql_handle);
if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `class` = '%d', `weapon` = '0', `shield` = '0', `head_top` = '0', `head_mid` = '0', `head_bottom` = '0' WHERE `char_id` = '%d'", schema_config.char_db, class_, char_id))
Sql_ShowDebug(sql_handle);
if (guild_id) // If there is a guild, update the guild_member data [Skotlex]
inter_guild_sex_changed(guild_id, acc, char_id, sex);
}
int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd)
{
if (RFIFOREST(fd) < 7)
return 0;
{
else {
unsigned char buf[7];
int acc = RFIFOL(fd,2);
int sex = RFIFOB(fd,6);
RFIFOSKIP(fd,7);
if( acc > 0 )
{// TODO: Is this even possible?
uint32 char_id[MAX_CHARS];
int class_[MAX_CHARS];
int guild_id[MAX_CHARS];
unsigned char num, i;
char* data;
DBMap* auth_db = char_get_authdb();
if (acc > 0) { // TODO: Is this even possible?
unsigned char i;
int char_id = 0, class_ = 0, guild_id = 0;
DBMap* auth_db = char_get_authdb();
struct auth_node* node = (struct auth_node*)idb_get(auth_db, acc);
if( node != NULL )
SqlStmt *stmt;
if (node != NULL)
node->sex = sex;
// get characters
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`class`,`guild_id` FROM `%s` WHERE `account_id` = '%d'", schema_config.char_db, acc) )
Sql_ShowDebug(sql_handle);
for( i = 0; i < MAX_CHARS && SQL_SUCCESS == Sql_NextRow(sql_handle); ++i )
{
Sql_GetData(sql_handle, 0, &data, NULL); char_id[i] = atoi(data);
Sql_GetData(sql_handle, 1, &data, NULL); class_[i] = atoi(data);
Sql_GetData(sql_handle, 2, &data, NULL); guild_id[i] = atoi(data);
stmt = SqlStmt_Malloc(sql_handle);
if (SQL_ERROR == SqlStmt_Prepare(stmt, "SELECT `char_id`, `class`, `guild_id` FROM `%s` WHERE `account_id` = '%d'", schema_config.char_db, acc) || SqlStmt_Execute(stmt)) {
SqlStmt_ShowDebug(stmt);
SqlStmt_Free(stmt);
}
num = i;
for( i = 0; i < num; ++i )
{
if( class_[i] == JOB_BARD || class_[i] == JOB_DANCER ||
class_[i] == JOB_CLOWN || class_[i] == JOB_GYPSY ||
class_[i] == JOB_BABY_BARD || class_[i] == JOB_BABY_DANCER ||
class_[i] == JOB_MINSTREL || class_[i] == JOB_WANDERER ||
class_[i] == JOB_MINSTREL_T || class_[i] == JOB_WANDERER_T ||
class_[i] == JOB_BABY_MINSTREL || class_[i] == JOB_BABY_WANDERER ||
class_[i] == JOB_KAGEROU || class_[i] == JOB_OBORO )
{
// job modification
if( class_[i] == JOB_BARD || class_[i] == JOB_DANCER )
class_[i] = (sex ? JOB_BARD : JOB_DANCER);
else if( class_[i] == JOB_CLOWN || class_[i] == JOB_GYPSY )
class_[i] = (sex ? JOB_CLOWN : JOB_GYPSY);
else if( class_[i] == JOB_BABY_BARD || class_[i] == JOB_BABY_DANCER )
class_[i] = (sex ? JOB_BABY_BARD : JOB_BABY_DANCER);
else if( class_[i] == JOB_MINSTREL || class_[i] == JOB_WANDERER )
class_[i] = (sex ? JOB_MINSTREL : JOB_WANDERER);
else if( class_[i] == JOB_MINSTREL_T || class_[i] == JOB_WANDERER_T )
class_[i] = (sex ? JOB_MINSTREL_T : JOB_WANDERER_T);
else if( class_[i] == JOB_BABY_MINSTREL || class_[i] == JOB_BABY_WANDERER )
class_[i] = (sex ? JOB_BABY_MINSTREL : JOB_BABY_WANDERER);
else if( class_[i] == JOB_KAGEROU || class_[i] == JOB_OBORO )
class_[i] = (sex ? JOB_KAGEROU : JOB_OBORO);
}
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `class`='%d', `weapon`='0', `shield`='0', `head_top`='0', `head_mid`='0', `head_bottom`='0' WHERE `char_id`='%d'", schema_config.char_db, class_[i], char_id[i]) )
Sql_ShowDebug(sql_handle);
SqlStmt_BindColumn(stmt, 0, SQLDT_INT, &char_id, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 1, SQLDT_SHORT, &class_, 0, NULL, NULL);
SqlStmt_BindColumn(stmt, 2, SQLDT_INT, &guild_id, 0, NULL, NULL);
if( guild_id[i] )// If there is a guild, update the guild_member data [Skotlex]
inter_guild_sex_changed(guild_id[i], acc, char_id[i], sex);
for (i = 0; i < MAX_CHARS && SQL_SUCCESS == SqlStmt_NextRow(stmt); ++i) {
chlogif_parse_change_sex_sub(sex, acc, char_id, class_, guild_id);
}
Sql_FreeResult(sql_handle);
// disconnect player if online on char-server
char_disconnect_player(acc);
SqlStmt_Free(stmt);
}
// notify all mapservers about this change
@ -421,15 +465,60 @@ int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd){
return 1;
}
int chlogif_parse_ackacc2req(int fd, struct char_session_data* sd){
/**
* Changes a character's sex.
* The information is updated on database, and the character is kicked if it
* currently is online.
*
* @param char_id The character's ID.
* @param sex The new sex.
* @retval 0 in case of success.
* @retval 1 in case of failure.
*/
int chlogif_parse_ackchangecharsex(int char_id, int sex)
{
int class_ = 0, guild_id = 0, account_id = 0;
unsigned char buf[7];
char *data;
// get character data
if (SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`class`,`guild_id` FROM `%s` WHERE `char_id` = '%d'", schema_config.char_db, char_id)) {
Sql_ShowDebug(sql_handle);
return 1;
}
if (Sql_NumRows(sql_handle) != 1 || SQL_ERROR == Sql_NextRow(sql_handle)) {
Sql_FreeResult(sql_handle);
return 1;
}
Sql_GetData(sql_handle, 0, &data, NULL); account_id = atoi(data);
Sql_GetData(sql_handle, 1, &data, NULL); class_ = atoi(data);
Sql_GetData(sql_handle, 2, &data, NULL); guild_id = atoi(data);
Sql_FreeResult(sql_handle);
if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `sex` = '%c' WHERE `char_id` = '%d'", schema_config.char_db, sex == SEX_MALE ? 'M' : 'F', char_id)) {
Sql_ShowDebug(sql_handle);
return 1;
}
chlogif_parse_change_sex_sub(sex, account_id, char_id, class_, guild_id);
// disconnect player if online on char-server
char_disconnect_player(account_id);
// notify all mapservers about this change
WBUFW(buf,0) = 0x2b0d;
WBUFL(buf,2) = account_id;
WBUFB(buf,6) = sex;
chmapif_sendall(buf, 7);
return 0;
}
int chlogif_parse_ack_global_accreg(int fd, struct char_session_data* sd){
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{ //Receive account_reg2 registry, forward to map servers.
unsigned char buf[13+ACCOUNT_REG2_NUM*sizeof(struct global_reg)];
memcpy(buf,RFIFOP(fd,0), RFIFOW(fd,2));
WBUFW(buf,0) = 0x3804; //Map server can now receive all kinds of reg values with the same packet. [Skotlex]
chmapif_sendall(buf, WBUFW(buf,2));
else { //Receive account_reg2 registry, forward to map servers.
RFIFOW(fd,0) = 0x3804;
chmapif_sendall(RFIFOP(fd,0), RFIFOW(fd,2));
RFIFOSKIP(fd, RFIFOW(fd,2));
}
return 1;
@ -438,8 +527,7 @@ int chlogif_parse_ackacc2req(int fd, struct char_session_data* sd){
int chlogif_parse_accbannotification(int fd, struct char_session_data* sd){
if (RFIFOREST(fd) < 11)
return 0;
{ // send to all map-servers to disconnect the player
else { // send to all map-servers to disconnect the player
unsigned char buf[11];
WBUFW(buf,0) = 0x2b14;
WBUFL(buf,2) = RFIFOL(fd,2);
@ -456,7 +544,7 @@ int chlogif_parse_accbannotification(int fd, struct char_session_data* sd){
int chlogif_parse_askkick(int fd, struct char_session_data* sd){
if (RFIFOREST(fd) < 6)
return 0;
{
else {
DBMap* online_char_db = char_get_onlinedb();
DBMap* auth_db = char_get_authdb();
int aid = RFIFOL(fd,2);
@ -493,6 +581,10 @@ int chlogif_parse_updip(int fd, struct char_session_data* sd){
unsigned char buf[2];
uint32 new_ip = 0;
/**
* !CHECKME: This is intended? Just tell if there's IP sync request
* without sending current char IP (if changed) to map-server?
**/
WBUFW(buf,0) = 0x2b1e;
chmapif_sendall(buf, 2);
@ -501,8 +593,7 @@ int chlogif_parse_updip(int fd, struct char_session_data* sd){
charserv_config.login_ip = new_ip; //Update login ip, too.
new_ip = host2ip(charserv_config.char_ip_str);
if (new_ip && new_ip != charserv_config.char_ip)
{ //Update ip.
if (new_ip && new_ip != charserv_config.char_ip) { // Char-server IP is updated.
charserv_config.char_ip = new_ip;
ShowInfo("Updating IP for [%s].\n", charserv_config.char_ip_str);
// notify login server about the change
@ -635,37 +726,30 @@ int chlogif_parse(int fd) {
sd = (struct char_session_data*)session[fd]->session_data;
while(RFIFOREST(fd) >= 2) {
int next=1;
// -1: Login server is not connected
// 0: Avoid processing followup packets (prev was probably incomplete) packet
// 1: Continue parsing
int next = 1;
uint16 command = RFIFOW(fd,0);
switch( command )
{
case 0x2743: next = chlogif_parse_vipack(fd); break;
// acknowledgement of connect-to-loginserver request
switch( command ) {
case 0x2711: next = chlogif_parse_ackconnect(fd,sd); break;
// acknowledgement of account authentication request
case 0x2713: next = chlogif_parse_ackaccreq(fd, sd); break;
// account data
case 0x2717: next = chlogif_parse_reqaccdata(fd, sd); break;
// login-server alive packet
case 0x2718: next = chlogif_parse_keepalive(fd, sd); break;
// changesex reply
case 0x2723: next = chlogif_parse_ackchangesex(fd, sd); break;
// reply to an account_reg2 registry request
case 0x2729: next = chlogif_parse_ackacc2req(fd, sd); break;
// State change of account/ban notification (from login-server)
case 0x2731: next = chlogif_parse_accbannotification(fd, sd); break;
// Login server request to kick a character out. [Skotlex]
case 0x2734: next = chlogif_parse_askkick(fd,sd); break;
// ip address update signal from login server
case 0x2735: next = chlogif_parse_updip(fd,sd); break;
// @accinfo result
case 0x2721: next = chlogif_parse_AccInfoAck(fd); break;
case 0x2723: next = chlogif_parse_ackchangesex(fd, sd); break;
case 0x2726: next = chlogif_parse_ack_global_accreg(fd, sd); break;
case 0x2731: next = chlogif_parse_accbannotification(fd, sd); break;
case 0x2734: next = chlogif_parse_askkick(fd,sd); break;
case 0x2735: next = chlogif_parse_updip(fd,sd); break;
case 0x2743: next = chlogif_parse_vipack(fd); break;
default:
ShowError("Unknown packet 0x%04x received from login-server, disconnecting.\n", command);
set_eof(fd);
return 0;
}
if(next==0) return 0; //do not parse next data
if (next == 0)
return 0; //do not parse next data
}
RFIFOFLUSH(fd);

View File

@ -14,24 +14,29 @@
extern "C" {
#endif
int chlogif_pincode_notifyLoginPinError( uint32 account_id );
int chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin );
void chlogif_pincode_notifyLoginPinError( uint32 account_id );
void chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin );
void chlogif_pincode_start(int fd, struct char_session_data* sd);
int chlogif_send_acc_tologin(int tid, unsigned int tick, int id, intptr_t data);
int chlogif_broadcast_user_count(int tid, unsigned int tick, int id, intptr_t data);
int chlogif_send_usercount(int users);
int chlogif_save_accreg2(unsigned char* buf, int len);
int chlogif_request_accreg2(uint32 account_id, uint32 char_id);
int chlogif_send_reqaccdata(int fd, struct char_session_data *sd);
int chlogif_send_setacconline(int aid);
void chlogif_send_usercount(int users);
void chlogif_upd_global_accreg(uint32 account_id, uint32 char_id);
void chlogif_prepsend_global_accreg(void);
void chlogif_send_global_accreg(const char *key, unsigned int index, intptr_t val, bool is_string);
void chlogif_request_accreg2(uint32 account_id, uint32 char_id);
void chlogif_send_reqaccdata(int fd, struct char_session_data *sd);
void chlogif_send_setacconline(int aid);
void chlogif_send_setallaccoffline(int fd);
int chlogif_send_setaccoffline(int fd, int aid);
void chlogif_send_setaccoffline(int fd, int aid);
int chlogif_parse_ackconnect(int fd, struct char_session_data* sd);
int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd);
int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd);
int chlogif_parse_keepalive(int fd, struct char_session_data* sd);
void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int guild_id);
int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd);
int chlogif_parse_ackacc2req(int fd, struct char_session_data* sd);
int chlogif_parse_ackchangecharsex(int char_id, int sex);
int chlogif_parse_ack_global_accreg(int fd, struct char_session_data* sd);
int chlogif_parse_accbannotification(int fd, struct char_session_data* sd);
int chlogif_parse_askkick(int fd, struct char_session_data* sd);
int chlogif_parse_updip(int fd, struct char_session_data* sd);

View File

@ -278,7 +278,7 @@ int chmapif_parse_getmapname(int fd, int id){
int chmapif_parse_askscdata(int fd){
if (RFIFOREST(fd) < 10)
return 0;
{
else {
#ifdef ENABLE_SC_SAVING
int aid, cid;
aid = RFIFOL(fd,2);
@ -351,7 +351,7 @@ int chmapif_parse_getusercount(int fd, int id){
int chmapif_parse_regmapuser(int fd, int id){
if (RFIFOREST(fd) < 6 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{
else {
//TODO: When data mismatches memory, update guild/party online/offline states.
DBMap* online_char_db = char_get_onlinedb();
int i;
@ -361,7 +361,7 @@ int chmapif_parse_regmapuser(int fd, int id){
for(i = 0; i < map_server[id].users; i++) {
int aid = RFIFOL(fd,6+i*8);
int cid = RFIFOL(fd,6+i*8+4);
struct online_char_data* character = idb_ensure(online_char_db, aid, char_create_online_data);
struct online_char_data* character = (struct online_char_data*)idb_ensure(online_char_db, aid, char_create_online_data);
if( character->server > -1 && character->server != id )
{
ShowNotice("Set map user: Character (%d:%d) marked on map server %d, but map server %d claims to have (%d:%d) online!\n",
@ -387,7 +387,7 @@ int chmapif_parse_regmapuser(int fd, int id){
int chmapif_parse_reqsavechar(int fd, int id){
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{
else {
int aid = RFIFOL(fd,4), cid = RFIFOL(fd,8), size = RFIFOW(fd,2);
struct online_char_data* character;
DBMap* online_char_db = char_get_onlinedb();
@ -592,7 +592,7 @@ void chmapif_changemapserv_ack(int fd, bool nok){
int chmapif_parse_reqchangemapserv(int fd){
if (RFIFOREST(fd) < 39)
return 0;
{
else {
int map_id, map_fd = -1;
struct mmo_charstatus* char_data;
struct mmo_charstatus char_dat;
@ -638,7 +638,7 @@ int chmapif_parse_reqchangemapserv(int fd){
node->changing_mapservers = 1;
idb_put(auth_db, aid, node);
data = idb_ensure(online_char_db, aid, char_create_online_data);
data = (struct online_char_data*)idb_ensure(online_char_db, aid, char_create_online_data);
data->char_id = char_data->char_id;
data->server = map_id; //Update server where char is.
@ -662,7 +662,7 @@ int chmapif_parse_reqchangemapserv(int fd){
int chmapif_parse_askrmfriend(int fd){
if (RFIFOREST(fd) < 10)
return 0;
{
else {
uint32 char_id, friend_id;
char_id = RFIFOL(fd,2);
friend_id = RFIFOL(fd,6);
@ -717,7 +717,7 @@ int chmapif_parse_reqnewemail(int fd){
/**
* Forward a change of status for account to login-serv
* @param fd: wich fd to parse from
* @param fd: which fd to parse from
* @return : 0 not enough data received, 1 success
*/
int chmapif_parse_fwlog_changestatus(int fd){
@ -727,17 +727,21 @@ int chmapif_parse_fwlog_changestatus(int fd){
int result = 0; // 0-login-server request done, 1-player not found, 2-gm level too low, 3-login-server offline, 4-current group level > VIP group level
char esc_name[NAME_LENGTH*2+1];
char answer = true;
int aid = RFIFOL(fd,2); // account_id of who ask (-1 if server itself made this request)
const char* name = (char*)RFIFOP(fd,6); // name of the target character
int operation = RFIFOW(fd,30); // type of operation: 1-block, 2-ban, 3-unblock, 4-unban, 5-changesex, 6-vip
int32 timediff = RFIFOL(fd,32);
int val1 = RFIFOL(fd,36);
//int val2 = RFIFOL(fd,40); // Since BankVault is moved out, this value is unused for now
int operation = RFIFOW(fd,30); // type of operation @see enum chrif_req_op
int32 timediff = 0;
int val1 = 0, sex = SEX_MALE;
if (operation == CHRIF_OP_LOGIN_BAN || operation == CHRIF_OP_LOGIN_VIP) {
timediff = RFIFOL(fd, 32);
val1 = RFIFOL(fd, 36);
} else if (operation == CHRIF_OP_CHANGECHARSEX)
sex = RFIFOB(fd, 32);
RFIFOSKIP(fd,44);
Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id` FROM `%s` WHERE `name` = '%s'", schema_config.char_db, esc_name) )
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`, `char_id` FROM `%s` WHERE `name` = '%s'", schema_config.char_db, esc_name) )
Sql_ShowDebug(sql_handle);
else if( Sql_NumRows(sql_handle) == 0 ) {
result = 1; // 1-player not found
@ -746,10 +750,12 @@ int chmapif_parse_fwlog_changestatus(int fd){
Sql_ShowDebug(sql_handle);
result = 1;
} else {
int t_aid; //targit account id
int t_aid; // target account id
int t_cid; // target char id
char* data;
Sql_GetData(sql_handle, 0, &data, NULL); t_aid = atoi(data);
Sql_GetData(sql_handle, 1, &data, NULL); t_cid = atoi(data);
Sql_FreeResult(sql_handle);
if(!chlogif_isconnected())
@ -760,50 +766,54 @@ int chmapif_parse_fwlog_changestatus(int fd){
else {
//! NOTE: See src/char/chrif.h::enum chrif_req_op for the number
switch( operation ) {
case 1: // block
case CHRIF_OP_LOGIN_BLOCK: // block
WFIFOHEAD(login_fd,10);
WFIFOW(login_fd,0) = 0x2724;
WFIFOL(login_fd,2) = t_aid;
WFIFOL(login_fd,6) = 5; // new account status
WFIFOSET(login_fd,10);
break;
case 2: // ban
case CHRIF_OP_LOGIN_BAN: // ban
WFIFOHEAD(login_fd,10);
WFIFOW(login_fd, 0) = 0x2725;
WFIFOL(login_fd, 2) = t_aid;
WFIFOL(login_fd, 6) = timediff;
WFIFOSET(login_fd,10);
break;
case 3: // unblock
case CHRIF_OP_LOGIN_UNBLOCK: // unblock
WFIFOHEAD(login_fd,10);
WFIFOW(login_fd,0) = 0x2724;
WFIFOL(login_fd,2) = t_aid;
WFIFOL(login_fd,6) = 0; // new account status
WFIFOSET(login_fd,10);
break;
case 4: // unban
case CHRIF_OP_LOGIN_UNBAN: // unban
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x272a;
WFIFOL(login_fd,2) = t_aid;
WFIFOSET(login_fd,6);
break;
case 5: // changesex
case CHRIF_OP_LOGIN_CHANGESEX: // changesex
answer = false;
WFIFOHEAD(login_fd,6);
WFIFOW(login_fd,0) = 0x2727;
WFIFOL(login_fd,2) = t_aid;
WFIFOSET(login_fd,6);
break;
case 6:
case CHRIF_OP_LOGIN_VIP: // vip
answer = (val1&4); // vip_req val1=type, &1 login send return, &2 update timestamp, &4 map send answer
chlogif_reqvipdata(t_aid, val1, timediff, fd);
break;
case CHRIF_OP_CHANGECHARSEX: // changecharsex
answer = false;
chlogif_parse_ackchangecharsex(t_cid, sex);
break;
} //end switch operation
} //login is connected
}
// send answer if a player asks, not if the server asks
if( aid != -1 && answer) { // Don't send answer for changesex
if( aid != -1 && answer) { // Don't send answer for changesex/changecharsex
WFIFOHEAD(fd,34);
WFIFOW(fd, 0) = 0x2b0f;
WFIFOL(fd, 2) = aid;
@ -817,7 +827,7 @@ int chmapif_parse_fwlog_changestatus(int fd){
}
/**
* Transmit the acknolegement of divorce of partner_id1 and partner_id2
* Transmit the acknowledgement of divorce of partner_id1 and partner_id2
* Update the list associated and transmit the new ranking
* @param partner_id1: char id1 divorced
* @param partner_id2: char id2 divorced
@ -852,7 +862,7 @@ int chmapif_parse_reqdivorce(int fd){
int chmapif_parse_updmapinfo(int fd){
if( RFIFOREST(fd) < 14 )
return 0;
{
else {
char esc_server_name[sizeof(charserv_config.server_name)*2+1];
Sql_EscapeString(sql_handle, esc_server_name, charserv_config.server_name);
if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` SET `index`='%d',`name`='%s',`exp`='%d',`jexp`='%d',`drop`='%d'",
@ -988,94 +998,98 @@ int chmapif_parse_keepalive(int fd){
* @return : 0 not enough data received, 1 success
*/
int chmapif_parse_reqauth(int fd, int id){
if (RFIFOREST(fd) < 20)
return 0;
if (RFIFOREST(fd) < 20)
return 0;
else {
uint32 account_id;
uint32 char_id;
uint32 login_id1;
unsigned char sex;
uint32 ip;
struct auth_node* node;
struct mmo_charstatus* cd;
struct mmo_charstatus char_dat;
bool autotrade;
{
uint32 account_id;
uint32 char_id;
uint32 login_id1;
unsigned char sex;
uint32 ip;
struct auth_node* node;
struct mmo_charstatus* cd;
struct mmo_charstatus char_dat;
bool autotrade;
DBMap* auth_db = char_get_authdb();
DBMap* char_db_ = char_get_chardb();
DBMap* auth_db = char_get_authdb();
DBMap* char_db_ = char_get_chardb();
account_id = RFIFOL(fd,2);
char_id = RFIFOL(fd,6);
login_id1 = RFIFOL(fd,10);
sex = RFIFOB(fd,14);
ip = ntohl(RFIFOL(fd,15));
autotrade = RFIFOB(fd,19);
RFIFOSKIP(fd,20);
account_id = RFIFOL(fd,2);
char_id = RFIFOL(fd,6);
login_id1 = RFIFOL(fd,10);
sex = RFIFOB(fd,14);
ip = ntohl(RFIFOL(fd,15));
autotrade = RFIFOB(fd,19);
RFIFOSKIP(fd,20);
node = (struct auth_node*)idb_get(auth_db, account_id);
cd = (struct mmo_charstatus*)uidb_get(char_db_,char_id);
if( cd == NULL )
{ //Really shouldn't happen. (or autotrade)
char_mmo_char_fromsql(char_id, &char_dat, true);
cd = (struct mmo_charstatus*)uidb_get(char_db_,char_id);
}
if( runflag == CHARSERVER_ST_RUNNING && autotrade && cd ){
uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
if (cd->sex == 99)
cd->sex = sex;
node = (struct auth_node*)idb_get(auth_db, account_id);
cd = (struct mmo_charstatus*)uidb_get(char_db_,char_id);
if( cd == NULL )
{ //Really shouldn't happen. (or autotrade)
char_mmo_char_fromsql(char_id, &char_dat, true);
cd = (struct mmo_charstatus*)uidb_get(char_db_,char_id);
}
if( runflag == CHARSERVER_ST_RUNNING && autotrade && cd ){
uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
cd->sex = sex;
WFIFOHEAD(fd,mmo_charstatus_len);
WFIFOW(fd,0) = 0x2afd;
WFIFOW(fd,2) = mmo_charstatus_len;
WFIFOL(fd,4) = account_id;
WFIFOL(fd,8) = 0;
WFIFOL(fd,12) = 0;
WFIFOL(fd,16) = 0;
WFIFOL(fd,20) = 0;
WFIFOB(fd,24) = 0;
memcpy(WFIFOP(fd,25), cd, sizeof(struct mmo_charstatus));
WFIFOSET(fd, WFIFOW(fd,2));
WFIFOHEAD(fd,mmo_charstatus_len);
WFIFOW(fd,0) = 0x2afd;
WFIFOW(fd,2) = mmo_charstatus_len;
WFIFOL(fd,4) = account_id;
WFIFOL(fd,8) = 0;
WFIFOL(fd,12) = 0;
WFIFOL(fd,16) = 0;
WFIFOL(fd,20) = 0;
WFIFOB(fd,24) = 0;
memcpy(WFIFOP(fd,25), cd, sizeof(struct mmo_charstatus));
WFIFOSET(fd, WFIFOW(fd,2));
char_set_char_online(id, char_id, account_id);
} else if( runflag == CHARSERVER_ST_RUNNING &&
cd != NULL &&
node != NULL &&
node->account_id == account_id &&
node->char_id == char_id &&
node->login_id1 == login_id1
//&& node->ip == ip
#if PACKETVER < 20141016
&& node->sex == sex
#endif
)
{// auth ok
uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
if (cd->sex == 99)
cd->sex = sex;
char_set_char_online(id, char_id, account_id);
} else if( runflag == CHARSERVER_ST_RUNNING &&
cd != NULL &&
node != NULL &&
node->account_id == account_id &&
node->char_id == char_id &&
node->login_id1 == login_id1 &&
node->sex == sex /*&&
node->ip == ip*/ )
{// auth ok
uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
cd->sex = sex;
WFIFOHEAD(fd,mmo_charstatus_len);
WFIFOW(fd,0) = 0x2afd;
WFIFOW(fd,2) = mmo_charstatus_len;
WFIFOL(fd,4) = account_id;
WFIFOL(fd,8) = node->login_id1;
WFIFOL(fd,12) = node->login_id2;
WFIFOL(fd,16) = (uint32)node->expiration_time; // FIXME: will wrap to negative after "19-Jan-2038, 03:14:07 AM GMT"
WFIFOL(fd,20) = node->group_id;
WFIFOB(fd,24) = node->changing_mapservers;
memcpy(WFIFOP(fd,25), cd, sizeof(struct mmo_charstatus));
WFIFOSET(fd, WFIFOW(fd,2));
WFIFOHEAD(fd,mmo_charstatus_len);
WFIFOW(fd,0) = 0x2afd;
WFIFOW(fd,2) = mmo_charstatus_len;
WFIFOL(fd,4) = account_id;
WFIFOL(fd,8) = node->login_id1;
WFIFOL(fd,12) = node->login_id2;
WFIFOL(fd,16) = (uint32)node->expiration_time; // FIXME: will wrap to negative after "19-Jan-2038, 03:14:07 AM GMT"
WFIFOL(fd,20) = node->group_id;
WFIFOB(fd,24) = node->changing_mapservers;
memcpy(WFIFOP(fd,25), cd, sizeof(struct mmo_charstatus));
WFIFOSET(fd, WFIFOW(fd,2));
// only use the auth once and mark user online
idb_remove(auth_db, account_id);
char_set_char_online(id, char_id, account_id);
} else {// auth failed
WFIFOHEAD(fd,19);
WFIFOW(fd,0) = 0x2b27;
WFIFOL(fd,2) = account_id;
WFIFOL(fd,6) = char_id;
WFIFOL(fd,10) = login_id1;
WFIFOB(fd,14) = sex;
WFIFOL(fd,15) = htonl(ip);
WFIFOSET(fd,19);
}
}
return 1;
// only use the auth once and mark user online
idb_remove(auth_db, account_id);
char_set_char_online(id, char_id, account_id);
} else {// auth failed
WFIFOHEAD(fd,19);
WFIFOW(fd,0) = 0x2b27;
WFIFOL(fd,2) = account_id;
WFIFOL(fd,6) = char_id;
WFIFOL(fd,10) = login_id1;
WFIFOB(fd,14) = sex;
WFIFOL(fd,15) = htonl(ip);
WFIFOSET(fd,19);
}
}
return 1;
}
/**
@ -1085,7 +1099,7 @@ int chmapif_parse_reqauth(int fd, int id){
*/
int chmapif_parse_updmapip(int fd, int id){
if (RFIFOREST(fd) < 6)
return 0;
return 0;
map_server[id].ip = ntohl(RFIFOL(fd, 2));
ShowInfo("Updated IP address of map-server #%d to %d.%d.%d.%d.\n", id, CONVIP(map_server[id].ip));
RFIFOSKIP(fd,6);
@ -1388,8 +1402,8 @@ int chmapif_bonus_script_save(int fd) {
Sql_ShowDebug(sql_handle);
StringBuf_Destroy(&buf);
ShowInfo("Bonus Script saved for CID=%d. Total: %d.\n", cid, count);
}
ShowInfo("Bonus Script saved for CID=%d. Total: %d.\n", cid, count);
RFIFOSKIP(fd,RFIFOW(fd,2));
}
return 1;
@ -1435,7 +1449,6 @@ int chmapif_parse(int fd){
while(RFIFOREST(fd) >= 2){
int next=1;
switch(RFIFOW(fd,0)){
case 0x2736: next=chmapif_parse_updmapip(fd,id); break;
case 0x2afa: next=chmapif_parse_getmapname(fd,id); break;
case 0x2afc: next=chmapif_parse_askscdata(fd); break;
case 0x2afe: next=chmapif_parse_getusercount(fd,id); break; //get nb user
@ -1450,6 +1463,7 @@ int chmapif_parse(int fd){
case 0x2b0e: next=chmapif_parse_fwlog_changestatus(fd); break;
case 0x2b10: next=chmapif_parse_updfamelist(fd); break;
case 0x2b11: next=chmapif_parse_reqdivorce(fd); break;
case 0x2b13: next=chmapif_parse_updmapip(fd,id); break;
case 0x2b15: next=chmapif_parse_req_saveskillcooldown(fd); break;
case 0x2b16: next=chmapif_parse_updmapinfo(fd); break;
case 0x2b17: next=chmapif_parse_setcharoffline(fd); break;

Some files were not shown because too many files have changed in this diff Show More