summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--.gitlab-ci.yml727
-rw-r--r--.travis.yml10
-rw-r--r--3rdparty/libconfig/extra/gen/clangwarnings.patch27
-rw-r--r--3rdparty/libconfig/extra/gen/scanner.l2
-rw-r--r--3rdparty/libconfig/grammar.c926
-rw-r--r--3rdparty/libconfig/grammar.h94
-rw-r--r--3rdparty/libconfig/scanner.c426
-rw-r--r--3rdparty/libconfig/scanner.h106
-rw-r--r--Hercules.xcodeproj/project.pbxproj14
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme2
-rw-r--r--Makefile.in14
-rw-r--r--README.md6
-rw-r--r--conf/char/char-server.conf4
-rw-r--r--conf/map/battle/player.conf5
-rw-r--r--conf/map/help.txt2
-rw-r--r--conf/map/maps.conf7
-rw-r--r--conf/messages.conf3
-rwxr-xr-xconfigure88
-rw-r--r--configure.ac3
-rw-r--r--db/abra_db.txt2
-rw-r--r--db/constants.conf22
-rw-r--r--db/item_db2.conf10
-rw-r--r--db/job_db2.txt2
-rw-r--r--db/map_index.txt5
-rw-r--r--db/mob_db2.conf8
-rw-r--r--db/pre-re/exp.txt4
-rw-r--r--db/pre-re/item_chain.conf2
-rw-r--r--db/pre-re/item_db.conf512
-rw-r--r--db/pre-re/item_group.conf188
-rw-r--r--db/pre-re/item_packages.conf116
-rw-r--r--db/pre-re/job_db.conf48
-rw-r--r--db/pre-re/map_zone_db.conf2
-rw-r--r--db/pre-re/mob_db.conf244
-rw-r--r--db/pre-re/mob_race2_db.txt2
-rw-r--r--db/pre-re/skill_db.conf810
-rw-r--r--db/pre-re/skill_tree.conf90
-rw-r--r--db/quest_db.conf24
-rw-r--r--db/re/exp.txt4
-rw-r--r--db/re/item_chain.conf2
-rw-r--r--db/re/item_db.conf3541
-rw-r--r--db/re/item_group.conf184
-rw-r--r--db/re/item_packages.conf82
-rw-r--r--db/re/job_db.conf48
-rw-r--r--db/re/map_cache.datbin2147147 -> 2124369 bytes
-rw-r--r--db/re/map_zone_db.conf2
-rw-r--r--db/re/mob_db.conf486
-rw-r--r--db/re/mob_race2_db.txt2
-rw-r--r--db/re/skill_db.conf823
-rw-r--r--db/re/skill_tree.conf90
-rw-r--r--db/sc_config.txt4
-rw-r--r--db/skill_changematerial_db.txt2
-rw-r--r--doc/constants.md2312
-rw-r--r--doc/item_db.txt8
-rw-r--r--doc/script_commands.txt98
-rw-r--r--npc/MOTD.txt2
-rw-r--r--npc/airports/airships.txt28
-rw-r--r--npc/battleground/flavius/flavius01.txt36
-rw-r--r--npc/battleground/flavius/flavius02.txt36
-rw-r--r--npc/battleground/kvm/kvm_item_pay.txt2
-rw-r--r--npc/battleground/tierra/tierra01.txt44
-rw-r--r--npc/battleground/tierra/tierra02.txt44
-rw-r--r--npc/cities/aldebaran.txt20
-rw-r--r--npc/cities/ayothaya.txt4
-rw-r--r--npc/cities/einbech.txt4
-rw-r--r--npc/cities/einbroch.txt6
-rw-r--r--npc/cities/geffen.txt12
-rw-r--r--npc/cities/jawaii.txt29
-rw-r--r--npc/cities/lighthalzen.txt34
-rw-r--r--npc/cities/niflheim.txt6
-rw-r--r--npc/cities/prontera.txt2
-rw-r--r--npc/cities/rachel.txt6
-rw-r--r--npc/cities/umbala.txt8
-rw-r--r--npc/custom/battleground/bg_common.txt28
-rw-r--r--npc/custom/battleground/bg_flavius_01.txt6
-rw-r--r--npc/custom/battleground/bg_flavius_02.txt6
-rw-r--r--npc/custom/battleground/bg_kvm01.txt6
-rw-r--r--npc/custom/battleground/bg_kvm02.txt6
-rw-r--r--npc/custom/battleground/bg_kvm03.txt6
-rw-r--r--npc/custom/battleground/bg_tierra_01.txt12
-rw-r--r--npc/custom/battleground/bg_tierra_02.txt12
-rw-r--r--npc/custom/bgqueue/flavius.txt40
-rw-r--r--npc/custom/breeder.txt10
-rw-r--r--npc/custom/etc/bank_kafra.txt2
-rw-r--r--npc/custom/etc/lottery.txt4
-rw-r--r--npc/custom/etc/marriage.txt30
-rw-r--r--npc/custom/etc/monster_arena.txt143
-rw-r--r--npc/custom/etc/morroc_raceway.txt12
-rw-r--r--npc/custom/etc/rpsroulette.txt3
-rw-r--r--npc/custom/etc/shifty_assassin.txt6
-rw-r--r--npc/custom/events/cluckers.txt18
-rw-r--r--npc/custom/events/disguise.txt2
-rw-r--r--npc/custom/events/mushroom_event.txt2
-rw-r--r--npc/custom/events/uneasy_cemetery.txt14
-rw-r--r--npc/custom/events/xmas_rings_event.txt4
-rw-r--r--npc/custom/healer.txt2
-rw-r--r--npc/custom/item_signer.txt2
-rw-r--r--npc/custom/itembind.txt4
-rw-r--r--npc/custom/quests/bandit_beard.txt2
-rw-r--r--npc/custom/quests/elvenear.txt2
-rw-r--r--npc/custom/quests/event_6_new_hats.txt4
-rw-r--r--npc/custom/quests/hunting_missions.txt14
-rw-r--r--npc/custom/quests/may_hats.txt8
-rw-r--r--npc/custom/quests/quest_shop.txt6
-rw-r--r--npc/custom/quests/thq/THQS_ChatingNPC.txt8
-rw-r--r--npc/custom/quests/thq/THQS_GuildNPC.txt8
-rw-r--r--npc/custom/quests/thq/THQS_QuestNPC.txt4
-rw-r--r--npc/custom/quests/thq/THQS_Quests.txt24
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt2
-rw-r--r--npc/custom/stylist.txt4
-rw-r--r--npc/custom/warper.txt6
-rw-r--r--npc/custom/woe_controller.txt10
-rw-r--r--npc/dev/test.txt2
-rw-r--r--npc/events/MemorialDay_2008.txt12
-rw-r--r--npc/events/christmas_2005.txt110
-rw-r--r--npc/events/christmas_2008.txt14
-rw-r--r--npc/events/easter_2008.txt50
-rw-r--r--npc/events/event_skill_reset.txt4
-rw-r--r--npc/events/gdevent_aru.txt18
-rw-r--r--npc/events/gdevent_sch.txt18
-rw-r--r--npc/events/god_se_festival.txt12
-rw-r--r--npc/events/halloween_2006.txt12
-rw-r--r--npc/events/halloween_2009.txt2
-rw-r--r--npc/events/idul_fitri.txt2
-rw-r--r--npc/events/lunar_2008.txt4
-rw-r--r--npc/events/nguild/nguild_dunsw.txt2
-rw-r--r--npc/events/nguild/nguild_ev_agit.txt2
-rw-r--r--npc/events/nguild/nguild_flags.txt4
-rw-r--r--npc/events/nguild/nguild_kafras.txt2
-rw-r--r--npc/events/nguild/nguild_managers.txt4
-rw-r--r--npc/events/nguild/nguild_warper.txt36
-rw-r--r--npc/events/valentinesday_2009.txt10
-rw-r--r--npc/events/valentinesday_2012.txt8
-rw-r--r--npc/instances/EndlessTower.txt14
-rw-r--r--npc/instances/NydhoggsNest.txt12
-rw-r--r--npc/instances/OrcsMemory.txt16
-rw-r--r--npc/instances/SealedShrine.txt34
-rw-r--r--npc/jobs/1-1e/gunslinger.txt2
-rw-r--r--npc/jobs/1-1e/ninja.txt24
-rw-r--r--npc/jobs/1-1e/taekwon.txt2
-rw-r--r--npc/jobs/2-1/assassin.txt32
-rw-r--r--npc/jobs/2-1/blacksmith.txt12
-rw-r--r--npc/jobs/2-1/hunter.txt280
-rw-r--r--npc/jobs/2-1/knight.txt18
-rw-r--r--npc/jobs/2-1/priest.txt34
-rw-r--r--npc/jobs/2-1/wizard.txt18
-rw-r--r--npc/jobs/2-1e/StarGladiator.txt22
-rw-r--r--npc/jobs/2-2/alchemist.txt10
-rw-r--r--npc/jobs/2-2/crusader.txt8
-rw-r--r--npc/jobs/2-2/dancer.txt10
-rw-r--r--npc/jobs/2-2/monk.txt94
-rw-r--r--npc/jobs/2-2/rogue.txt42
-rw-r--r--npc/jobs/2-2/sage.txt50
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt2
-rw-r--r--npc/jobs/valkyrie.txt2
-rw-r--r--npc/kafras/functions_kafras.txt9
-rw-r--r--npc/mapflag/nobranch.txt13
-rw-r--r--npc/mapflag/noicewall.txt3
-rw-r--r--npc/mapflag/nomemo.txt14
-rw-r--r--npc/mapflag/nopvp.txt1
-rw-r--r--npc/mapflag/nosave.txt3
-rw-r--r--npc/mapflag/noteleport.txt9
-rw-r--r--npc/mapflag/partylock.txt3
-rw-r--r--npc/mapflag/zone.txt3
-rw-r--r--npc/merchants/buying_shops.txt2
-rw-r--r--npc/merchants/cashheadgear_dye.txt2
-rw-r--r--npc/merchants/shops.txt24
-rw-r--r--npc/other/CashShop_Functions.txt6
-rw-r--r--npc/other/Global_Functions.txt2
-rw-r--r--npc/other/arena/arena_aco.txt26
-rw-r--r--npc/other/arena/arena_lvl50.txt8
-rw-r--r--npc/other/arena/arena_lvl60.txt8
-rw-r--r--npc/other/arena/arena_lvl70.txt8
-rw-r--r--npc/other/arena/arena_lvl80.txt8
-rw-r--r--npc/other/arena/arena_party.txt12
-rw-r--r--npc/other/arena/arena_point.txt10
-rw-r--r--npc/other/arena/arena_room.txt8
-rw-r--r--npc/other/divorce.txt3
-rw-r--r--npc/other/fortune.txt4
-rw-r--r--npc/other/gm_npcs.txt2
-rw-r--r--npc/other/hugel_bingo.txt4
-rw-r--r--npc/other/marriage.txt24
-rw-r--r--npc/other/monster_race.txt14
-rw-r--r--npc/other/poring_war.txt30
-rw-r--r--npc/other/pvp.txt2
-rw-r--r--npc/other/turbo_track.txt118
-rw-r--r--npc/pre-re/jobs/1-1/acolyte.txt18
-rw-r--r--npc/pre-re/jobs/1-1/archer.txt2
-rw-r--r--npc/pre-re/jobs/1-1/mage.txt12
-rw-r--r--npc/pre-re/jobs/1-1/merchant.txt10
-rw-r--r--npc/pre-re/jobs/1-1/swordman.txt10
-rw-r--r--npc/pre-re/jobs/1-1/thief.txt10
-rw-r--r--npc/pre-re/jobs/1-1e/taekwon.txt4
-rw-r--r--npc/pre-re/jobs/novice/novice.txt32
-rw-r--r--npc/pre-re/quests/collection/quest_goat.txt4
-rw-r--r--npc/pre-re/scripts_jobs.conf2
-rw-r--r--npc/quests/bard_quest.txt10
-rw-r--r--npc/quests/cooking_quest.txt10
-rw-r--r--npc/quests/dandelion_request.txt354
-rw-r--r--npc/quests/doomed_swords.txt16
-rw-r--r--npc/quests/doomed_swords_quest.txt24
-rw-r--r--npc/quests/eye_of_hellion.txt106
-rw-r--r--npc/quests/first_class/tu_acolyte.txt32
-rw-r--r--npc/quests/first_class/tu_archer.txt28
-rw-r--r--npc/quests/first_class/tu_ma_th01.txt16
-rw-r--r--npc/quests/first_class/tu_magician01.txt2
-rw-r--r--npc/quests/first_class/tu_sword.txt28
-rw-r--r--npc/quests/guildrelay.txt98
-rw-r--r--npc/quests/gunslinger_quests.txt44
-rw-r--r--npc/quests/kiel_hyre_quest.txt98
-rw-r--r--npc/quests/lvl4_weapon_quest.txt2
-rw-r--r--npc/quests/monstertamers.txt6
-rw-r--r--npc/quests/newgears/2004_headgears.txt46
-rw-r--r--npc/quests/newgears/2005_headgears.txt36
-rw-r--r--npc/quests/newgears/2006_headgears.txt4
-rw-r--r--npc/quests/newgears/2008_headgears.txt22
-rw-r--r--npc/quests/newgears/2010_headgears.txt48
-rw-r--r--npc/quests/ninja_quests.txt4
-rw-r--r--npc/quests/obb_quest.txt8
-rw-r--r--npc/quests/okolnir.txt18
-rw-r--r--npc/quests/partyrelay.txt50
-rw-r--r--npc/quests/quests_13_1.txt318
-rw-r--r--npc/quests/quests_13_2.txt228
-rw-r--r--npc/quests/quests_airship.txt104
-rw-r--r--npc/quests/quests_alberta.txt16
-rw-r--r--npc/quests/quests_aldebaran.txt4
-rw-r--r--npc/quests/quests_amatsu.txt14
-rw-r--r--npc/quests/quests_ayothaya.txt82
-rw-r--r--npc/quests/quests_comodo.txt4
-rw-r--r--npc/quests/quests_ein.txt96
-rw-r--r--npc/quests/quests_geffen.txt4
-rw-r--r--npc/quests/quests_gonryun.txt6
-rw-r--r--npc/quests/quests_hugel.txt276
-rw-r--r--npc/quests/quests_juperos.txt140
-rw-r--r--npc/quests/quests_lighthalzen.txt262
-rw-r--r--npc/quests/quests_louyang.txt38
-rw-r--r--npc/quests/quests_lutie.txt8
-rw-r--r--npc/quests/quests_morocc.txt268
-rw-r--r--npc/quests/quests_moscovia.txt760
-rw-r--r--npc/quests/quests_nameless.txt392
-rw-r--r--npc/quests/quests_niflheim.txt4
-rw-r--r--npc/quests/quests_prontera.txt98
-rw-r--r--npc/quests/quests_rachel.txt336
-rw-r--r--npc/quests/quests_umbala.txt8
-rw-r--r--npc/quests/quests_veins.txt408
-rw-r--r--npc/quests/seals/brisingamen_seal.txt156
-rw-r--r--npc/quests/seals/god_weapon_creation.txt18
-rw-r--r--npc/quests/seals/megingard_seal.txt17
-rw-r--r--npc/quests/seals/mjolnir_seal.txt112
-rw-r--r--npc/quests/seals/sleipnir_seal.txt12
-rw-r--r--npc/quests/skills/alchemist_skills.txt62
-rw-r--r--npc/quests/skills/assassin_skills.txt8
-rw-r--r--npc/quests/skills/bard_skills.txt26
-rw-r--r--npc/quests/skills/blacksmith_skills.txt22
-rw-r--r--npc/quests/skills/crusader_skills.txt32
-rw-r--r--npc/quests/skills/dancer_skills.txt30
-rw-r--r--npc/quests/skills/hunter_skills.txt4
-rw-r--r--npc/quests/skills/knight_skills.txt2
-rw-r--r--npc/quests/skills/merchant_skills.txt4
-rw-r--r--npc/quests/skills/priest_skills.txt4
-rw-r--r--npc/quests/skills/sage_skills.txt16
-rw-r--r--npc/quests/skills/thief_skills.txt8
-rw-r--r--npc/quests/thana_quest.txt26
-rw-r--r--npc/quests/the_sign_quest.txt237
-rw-r--r--npc/re/cities/dewata.txt4
-rw-r--r--npc/re/cities/dicastes.txt8
-rw-r--r--npc/re/cities/malaya.txt20
-rw-r--r--npc/re/cities/mora.txt12
-rw-r--r--npc/re/events/halloween_2013.txt14
-rw-r--r--npc/re/events/halloween_2014.txt150
-rw-r--r--npc/re/instances/BakonawaLake.txt10
-rw-r--r--npc/re/instances/BangungotHospital.txt18
-rw-r--r--npc/re/instances/BuwayaCave.txt8
-rw-r--r--npc/re/instances/EclageInterior.txt26
-rw-r--r--npc/re/instances/HazyForest.txt16
-rw-r--r--npc/re/instances/MalangdoCulvert.txt20
-rw-r--r--npc/re/instances/OctopusCave.txt729
-rw-r--r--npc/re/instances/OldGlastHeim.txt231
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt18
-rw-r--r--npc/re/instances/ghost_palace.txt37
-rw-r--r--npc/re/instances/octopus_cave.txt701
-rw-r--r--npc/re/instances/saras_memory.txt615
-rw-r--r--npc/re/jobs/1-1/acolyte.txt16
-rw-r--r--npc/re/jobs/1-1/archer.txt2
-rw-r--r--npc/re/jobs/1-1/mage.txt2
-rw-r--r--npc/re/jobs/1-1/thief.txt6
-rw-r--r--npc/re/jobs/1-1e/taekwon.txt4
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt20
-rw-r--r--npc/re/jobs/3-1/archbishop.txt86
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt44
-rw-r--r--npc/re/jobs/3-1/ranger.txt8
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt12
-rw-r--r--npc/re/jobs/3-2/genetic.txt20
-rw-r--r--npc/re/jobs/3-2/minstrel.txt174
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt8
-rw-r--r--npc/re/jobs/3-2/shadow_chaser.txt62
-rw-r--r--npc/re/jobs/3-2/sorcerer.txt12
-rw-r--r--npc/re/jobs/3-2/sura.txt40
-rw-r--r--npc/re/jobs/3-2/wanderer.txt54
-rw-r--r--npc/re/jobs/novice/academy.txt20335
-rw-r--r--npc/re/jobs/novice/novice.txt10
-rw-r--r--npc/re/jobs/novice/supernovice_ex.txt12
-rw-r--r--npc/re/merchants/coin_exchange.txt4
-rw-r--r--npc/re/merchants/diamond.txt12
-rw-r--r--npc/re/merchants/enchan_mal.txt10
-rw-r--r--npc/re/merchants/flute.txt4
-rw-r--r--npc/re/merchants/shops.txt58
-rw-r--r--npc/re/merchants/ticket_refiner.txt2
-rw-r--r--npc/re/mobs/int_land.txt33
-rw-r--r--npc/re/other/dimensional_gap.txt550
-rw-r--r--npc/re/quests/cupet.txt6
-rw-r--r--npc/re/quests/eden/100-110.txt18
-rw-r--r--npc/re/quests/eden/11-25.txt2
-rw-r--r--npc/re/quests/eden/111-120.txt20
-rw-r--r--npc/re/quests/eden/121-130.txt4
-rw-r--r--npc/re/quests/eden/131-140.txt2
-rw-r--r--npc/re/quests/eden/26-40.txt8
-rw-r--r--npc/re/quests/eden/41-55.txt2
-rw-r--r--npc/re/quests/eden/56-70.txt2
-rw-r--r--npc/re/quests/eden/71-85.txt2
-rw-r--r--npc/re/quests/eden/86-90.txt2
-rw-r--r--npc/re/quests/eden/91-99.txt2
-rw-r--r--npc/re/quests/eden/eden_common.txt34
-rw-r--r--npc/re/quests/eden/eden_iro.txt6
-rw-r--r--npc/re/quests/eden/eden_quests.txt28
-rw-r--r--npc/re/quests/eden/eden_service.txt2
-rw-r--r--npc/re/quests/homun_s.txt6
-rw-r--r--npc/re/quests/newgears/2012_headgears.txt24
-rw-r--r--npc/re/quests/quests_aldebaran.txt59
-rw-r--r--npc/re/quests/quests_brasilis.txt130
-rw-r--r--npc/re/quests/quests_dewata.txt30
-rw-r--r--npc/re/quests/quests_dicastes.txt138
-rw-r--r--npc/re/quests/quests_eclage.txt14
-rw-r--r--npc/re/quests/quests_glastheim.txt104
-rw-r--r--npc/re/quests/quests_malangdo.txt324
-rw-r--r--npc/re/quests/quests_malaya.txt110
-rw-r--r--npc/re/quests/quests_mora.txt60
-rw-r--r--npc/re/scripts.conf4
-rw-r--r--npc/re/scripts_jobs.conf2
-rw-r--r--npc/re/scripts_monsters.conf1
-rw-r--r--npc/re/scripts_warps.conf1
-rw-r--r--npc/re/warps/cities/izlude.txt97
-rw-r--r--npc/re/warps/other/dimensional_gap.txt79
-rw-r--r--npc/re/woe-fe/invest_main.txt6
-rw-r--r--npc/warps/dungeons/mosk_dun.txt4
-rw-r--r--npc/woe-fe/agit_main.txt12
-rw-r--r--npc/woe-fe/aldeg_cas01.txt4
-rw-r--r--npc/woe-fe/aldeg_cas02.txt4
-rw-r--r--npc/woe-fe/aldeg_cas03.txt4
-rw-r--r--npc/woe-fe/aldeg_cas04.txt4
-rw-r--r--npc/woe-fe/aldeg_cas05.txt4
-rw-r--r--npc/woe-fe/gefg_cas01.txt4
-rw-r--r--npc/woe-fe/gefg_cas02.txt4
-rw-r--r--npc/woe-fe/gefg_cas03.txt4
-rw-r--r--npc/woe-fe/gefg_cas04.txt4
-rw-r--r--npc/woe-fe/gefg_cas05.txt4
-rw-r--r--npc/woe-fe/payg_cas01.txt4
-rw-r--r--npc/woe-fe/payg_cas02.txt4
-rw-r--r--npc/woe-fe/payg_cas03.txt4
-rw-r--r--npc/woe-fe/payg_cas04.txt4
-rw-r--r--npc/woe-fe/payg_cas05.txt4
-rw-r--r--npc/woe-fe/prtg_cas01.txt4
-rw-r--r--npc/woe-fe/prtg_cas02.txt4
-rw-r--r--npc/woe-fe/prtg_cas03.txt4
-rw-r--r--npc/woe-fe/prtg_cas04.txt4
-rw-r--r--npc/woe-fe/prtg_cas05.txt4
-rw-r--r--npc/woe-fe/trs_rp.txt2
-rw-r--r--npc/woe-se/agit_main_se.txt26
-rw-r--r--sql-files/item_db.sql372
-rw-r--r--sql-files/item_db2.sql2
-rw-r--r--sql-files/item_db_re.sql2343
-rw-r--r--sql-files/main.sql4
-rw-r--r--sql-files/upgrades/2016-10-03--20-27.sql23
-rw-r--r--sql-files/upgrades/index.txt1
-rw-r--r--src/char/Makefile.in6
-rw-r--r--src/char/char.c71
-rw-r--r--src/char/char.h2
-rw-r--r--src/char/geoip.c2
-rw-r--r--src/char/geoip.h2
-rw-r--r--src/char/int_auction.c2
-rw-r--r--src/char/int_auction.h2
-rw-r--r--src/char/int_elemental.h2
-rw-r--r--src/char/int_guild.h2
-rw-r--r--src/char/int_homun.h2
-rw-r--r--src/char/int_mail.c2
-rw-r--r--src/char/int_mail.h2
-rw-r--r--src/char/int_mercenary.h2
-rw-r--r--src/char/int_party.h2
-rw-r--r--src/char/int_pet.h2
-rw-r--r--src/char/int_quest.c4
-rw-r--r--src/char/int_quest.h2
-rw-r--r--src/char/int_storage.c2
-rw-r--r--src/char/int_storage.h2
-rw-r--r--src/char/inter.c3
-rw-r--r--src/char/loginif.c2
-rw-r--r--src/char/loginif.h2
-rw-r--r--src/char/mapif.c2
-rw-r--r--src/char/mapif.h2
-rw-r--r--src/common/HPM.c51
-rw-r--r--src/common/HPMSymbols.inc.h6
-rw-r--r--src/common/HPMi.h1
-rw-r--r--src/common/atomic.h2
-rw-r--r--src/common/cbasetypes.h21
-rw-r--r--src/common/conf.c88
-rw-r--r--src/common/conf.h16
-rw-r--r--src/common/console.c45
-rw-r--r--src/common/core.c39
-rw-r--r--src/common/core.h2
-rw-r--r--src/common/db.c28
-rw-r--r--src/common/db.h19
-rw-r--r--src/common/des.c7
-rw-r--r--src/common/ers.c18
-rw-r--r--src/common/ers.h2
-rw-r--r--src/common/grfio.c24
-rw-r--r--src/common/mapindex.c37
-rw-r--r--src/common/mapindex.h2
-rw-r--r--src/common/memmgr.c2
-rw-r--r--src/common/memmgr.h6
-rw-r--r--src/common/mmo.h4
-rw-r--r--src/common/mutex.c12
-rw-r--r--src/common/nullpo.c2
-rw-r--r--src/common/nullpo.h2
-rw-r--r--src/common/showmsg.c2
-rw-r--r--src/common/showmsg.h2
-rw-r--r--src/common/socket.c44
-rw-r--r--src/common/socket.h2
-rw-r--r--src/common/sql.c35
-rw-r--r--src/common/strlib.c1
-rw-r--r--src/common/sysinfo.c84
-rw-r--r--src/common/timer.c6
-rw-r--r--src/common/timer.h2
-rw-r--r--src/common/utils.c31
-rw-r--r--src/common/utils.h2
-rw-r--r--src/common/winapi.h2
-rw-r--r--src/config/classes/general.h2
-rw-r--r--src/config/const.h2
-rw-r--r--src/config/core.h2
-rw-r--r--src/config/renewal.h2
-rw-r--r--src/config/secure.h2
-rw-r--r--src/login/Makefile.in6
-rw-r--r--src/map/Makefile.in6
-rw-r--r--src/map/atcommand.h2
-rw-r--r--src/map/battle.c85
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/battleground.c12
-rw-r--r--src/map/battleground.h2
-rw-r--r--src/map/buyingstore.c4
-rw-r--r--src/map/buyingstore.h2
-rw-r--r--src/map/chat.c2
-rw-r--r--src/map/chat.h2
-rw-r--r--src/map/chrif.c2
-rw-r--r--src/map/chrif.h2
-rw-r--r--src/map/clif.c466
-rw-r--r--src/map/clif.h7
-rw-r--r--src/map/date.c2
-rw-r--r--src/map/date.h2
-rw-r--r--src/map/duel.c2
-rw-r--r--src/map/duel.h2
-rw-r--r--src/map/elemental.c2
-rw-r--r--src/map/elemental.h2
-rw-r--r--src/map/guild.c2
-rw-r--r--src/map/guild.h2
-rw-r--r--src/map/homunculus.c2
-rw-r--r--src/map/homunculus.h2
-rw-r--r--src/map/instance.c2
-rw-r--r--src/map/instance.h2
-rw-r--r--src/map/intif.c2
-rw-r--r--src/map/intif.h2
-rw-r--r--src/map/itemdb.c31
-rw-r--r--src/map/itemdb.h30
-rw-r--r--src/map/mail.c2
-rw-r--r--src/map/mail.h2
-rw-r--r--src/map/map.c28
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/mercenary.c2
-rw-r--r--src/map/mercenary.h2
-rw-r--r--src/map/mob.c9
-rw-r--r--src/map/mob.h2
-rw-r--r--src/map/npc.c51
-rw-r--r--src/map/npc.h2
-rw-r--r--src/map/npc_chat.c4
-rw-r--r--src/map/packets.h369
-rw-r--r--src/map/party.c16
-rw-r--r--src/map/party.h2
-rw-r--r--src/map/path.c4
-rw-r--r--src/map/path.h2
-rw-r--r--src/map/pc.c51
-rw-r--r--src/map/pc.h2
-rw-r--r--src/map/pc_groups.c9
-rw-r--r--src/map/pc_groups.h2
-rw-r--r--src/map/pet.c28
-rw-r--r--src/map/pet.h2
-rw-r--r--src/map/quest.c13
-rw-r--r--src/map/quest.h2
-rw-r--r--src/map/script.c356
-rw-r--r--src/map/script.h11
-rw-r--r--src/map/searchstore.c69
-rw-r--r--src/map/searchstore.h2
-rw-r--r--src/map/skill.c764
-rw-r--r--src/map/skill.h53
-rw-r--r--src/map/status.c524
-rw-r--r--src/map/status.h34
-rw-r--r--src/map/storage.c55
-rw-r--r--src/map/storage.h2
-rw-r--r--src/map/trade.c26
-rw-r--r--src/map/trade.h2
-rw-r--r--src/map/unit.c121
-rw-r--r--src/map/unit.h2
-rw-r--r--src/map/vending.c39
-rw-r--r--src/map/vending.h2
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc76
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc57
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc15
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc425
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.sources.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc57
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc15
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.Hooks.inc413
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.sources.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc77
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc20
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc571
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.sources.inc1
-rw-r--r--src/plugins/db2sql.c2
-rw-r--r--src/plugins/dbghelpplug.c2
-rw-r--r--src/test/Makefile.in4
-rw-r--r--src/test/test_libconfig.c63
-rw-r--r--src/test/test_spinlock.c14
-rw-r--r--src/tool/Makefile.in4
-rw-r--r--src/tool/mapcache.c2
-rwxr-xr-xtools/HPMHookGen/HPMHookGen.pl3
-rwxr-xr-xtools/ci/retry.sh33
-rwxr-xr-xtools/ci/travis.sh (renamed from travis.sh)66
-rw-r--r--tools/doxygen/Hercules128.pngbin0 -> 19237 bytes
-rw-r--r--tools/doxygen/Hercules48.pngbin0 -> 4954 bytes
-rw-r--r--tools/doxygen/Makefile.in70
-rw-r--r--tools/doxygen/doxygen.conf505
-rw-r--r--tools/doxygen/footer.html21
-rw-r--r--tools/doxygen/header.html55
-rw-r--r--tools/doxygen/layoutFile.xml194
-rw-r--r--tools/doxygen/pages_index.html39
-rw-r--r--tools/doxygen/style.css1440
550 files changed, 32629 insertions, 24596 deletions
diff --git a/.gitignore b/.gitignore
index 8957156d3..1587868fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -104,6 +104,8 @@ Thumbs.db
/tools/*.pdb
/tools/HPMHookGen/Makefile
/tools/HPMHookGen/doxyoutput
+/tools/doxygen/Makefile
+/tools/doxygen/docs
# /vcproj-*
/vcproj-*/*.user
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..bbdc2caae
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,727 @@
+stages:
+ - primary
+ - secondary
+ - platforms
+ - extras
+
+variables: &base_vars
+ # Configure mysql service (https://hub.docker.com/_/mysql/)
+ MYSQL_DATABASE: 'ragnarok'
+ MYSQL_USER: 'ragnarok'
+ MYSQL_PASSWORD: 'ragnarok'
+ MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
+ GIT_DEPTH: '3'
+ DEBIAN_COMMON_PACKAGES: make zlib1g-dev libpcre3-dev git python
+
+.prerequisites: &prerequisites
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mysql:latest
+
+.branch_exceptions: &branch_exceptions
+ only:
+ - branches
+ except:
+ - rathena
+ - coverity_scan
+
+# Compilers
+
+pre_re:clang-3.9:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: clang-3.9 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:clang-3.9:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: clang-3.9 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-4.6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:oldstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-4.6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:oldstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-4.7:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:oldstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.7 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-4.7:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:oldstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.7 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-4.8:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.8 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-4.8:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.8 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-4.9:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.9 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-4.9:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-4.9 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-5:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-5 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-5:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-5 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-6_i386:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: vicamo/debian:sid-i386
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-6_i386:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: primary
+ image: vicamo/debian:sid-i386
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-6_sanitize:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-6_sanitize:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-6_i386_sanitize:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: vicamo/debian:sid-i386
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:gcc-6_i386_sanitize:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: vicamo/debian:sid-i386
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:gcc-6_cov:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 gcovr mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal CFLAGS="-coverage" LDFLAGS="-coverage"
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+ - gcovr -r . --gcov-executable=gcov-6 -o gcov_pre.txt
+ - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_pre.html
+ - cat gcov_pre.txt
+ artifacts:
+ paths:
+ - gcov_pre.*
+ when: on_success
+
+re:gcc-6_cov:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: secondary
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc-6 gcovr mysql-client
+ script:
+ - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot CFLAGS="-coverage" LDFLAGS="-coverage"
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+ - gcovr -r . --gcov-executable=gcov-6 -o gcov_re.txt
+ - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_re.html
+ - cat gcov_re.txt
+ artifacts:
+ paths:
+ - gcov_re.*
+ when: on_success
+
+# Distributions
+
+pre_re:debian-oldstable:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:wheezy
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:debian-oldstable:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:wheezy
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:debian-stable:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:jessie
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:debian-stable:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:jessie
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:debian-testing:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:stretch
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:debian-testing:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:stretch
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:centos-previous:
+ <<: *branch_exceptions
+ stage: platforms
+ image: centos:6
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - yum -y update
+ - yum install -y make mysql-devel pcre-devel git zlib-devel mysql
+ - yum install -y centos-release-scl
+ - yum install -y yum install devtoolset-3-toolchain
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ script:
+ - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot --disable-renewal'
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:centos-previous:
+ <<: *branch_exceptions
+ stage: platforms
+ image: centos:6
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - yum -y update
+ - yum install -y make mysql-devel pcre-devel git zlib-devel mysql
+ - yum install -y centos-release-scl
+ - yum install -y yum install devtoolset-3-toolchain
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ script:
+ - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot'
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:centos-current:
+ <<: *branch_exceptions
+ stage: platforms
+ image: centos:7
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - yum -y update
+ - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:centos-current:
+ <<: *branch_exceptions
+ stage: platforms
+ image: centos:7
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - yum -y update
+ - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:ubuntu-xenial:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: ubuntu:16.04
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:ubuntu-xenial:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: ubuntu:16.04
+ services:
+ - mysql:latest
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+# SQL servers
+
+pre_re:mysql-5.5:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client-5.5
+ services:
+ - mysql:5.5
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:mysql-5.5:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client-5.5
+ services:
+ - mysql:5.5
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:mysql-5.6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client-5.6
+ services:
+ - mysql:5.6
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:mysql-5.6:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client-5.6
+ services:
+ - mysql:5.6
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:mysql-5.7:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ # mysql-client-5.7 is not available
+ INSTALL_PACKAGES: gcc mysql-client
+ services:
+ - mysql:5.7
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+re:mysql-5.7:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:unstable
+ variables:
+ <<: *base_vars
+ # mysql-client-5.7 is not available
+ INSTALL_PACKAGES: gcc mysql-client
+ services:
+ - mysql:5.7
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql
+
+pre_re:mariadb-10:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.0
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mariadb:10.0
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb
+
+re:mariadb-10:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.0
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mariadb:10.0
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb
+
+pre_re:mariadb-latest:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.0
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mariadb:latest
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb
+
+re:mariadb-latest:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.0
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - mariadb:latest
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb
+
+pre_re:percona:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - percona:latest
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona
+
+re:percona:
+ <<: *branch_exceptions
+ stage: platforms
+ image: debian:stable
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mysql-client
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev
+ - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona
+ - ./tools/ci/travis.sh getplugins || true
+ services:
+ - percona:latest
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona
+
+# Documentation
+pages:
+ only:
+ - master
+ stage: extras
+ image: debian:unstable
+ before_script:
+ - echo "Building $CI_BUILD_NAME"
+ - uname -a
+ - ./tools/ci/retry.sh apt-get update
+ - ./tools/ci/retry.sh apt-get install -y -qq gcc $DEBIAN_COMMON_PACKAGES libmysqlclient-dev doxygen graphviz
+ script:
+ - ./configure
+ - make docs
+ - mkdir public
+ - mv tools/doxygen/docs/html public/docs
+ - mv gcov_*.* public/
+ - cp tools/doxygen/pages_index.html public/index.html
+ dependencies:
+ - re:gcc-6_cov
+ - pre_re:gcc-6_cov
+ artifacts:
+ paths:
+ - public
diff --git a/.travis.yml b/.travis.yml
index 62f2f7cbc..28f4387a6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,17 +9,17 @@ addons:
- gcc-6
install:
- - ./travis.sh getplugins || true
+ - ./tools/ci/travis.sh getplugins || true
before_script:
- uname -a
- - ./travis.sh createdb ragnarok root
- - ./travis.sh importdb ragnarok travis
+ - ./tools/ci/travis.sh createdb ragnarok root
+ - ./tools/ci/travis.sh importdb ragnarok travis
- mysql -u root -e "SET PASSWORD FOR 'travis'@'localhost' = PASSWORD('travis');"
script:
- - ./travis.sh build $CONFIGURE_FLAGS
- - ./travis.sh test ragnarok travis travis
+ - ./tools/ci/travis.sh build $CONFIGURE_FLAGS
+ - ./tools/ci/travis.sh test ragnarok travis travis
# We can't use this, unfortunately
# http://github.com/travis-ci/travis-ci/issues/979
diff --git a/3rdparty/libconfig/extra/gen/clangwarnings.patch b/3rdparty/libconfig/extra/gen/clangwarnings.patch
index c3b45ef33..0270dfc44 100644
--- a/3rdparty/libconfig/extra/gen/clangwarnings.patch
+++ b/3rdparty/libconfig/extra/gen/clangwarnings.patch
@@ -2,14 +2,35 @@ diff --git a/grammar.c b/grammar.c
index 3595578..26444f8 100644
--- a/grammar.c
+++ b/grammar.c
-@@ -1211,9 +1211,7 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx,
+@@ -1084,9 +1084,7 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx,
+ YYUSE (scanner);
YYUSE (ctx);
YYUSE (scan_ctx);
-
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-+ YY_SYMBOL_PRINT (yymsg ? yymsg : "Deleting", yytype, yyvaluep, yylocationp);
++ YY_SYMBOL_PRINT (yymsg != NULL ? yymsg : "Deleting", yytype, yyvaluep, yylocationp);
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+diff --git a/scanner.c b/scanner.c
+index 60882db..8b8af33 100644
+--- a/scanner.c
++++ b/scanner.c
+@@ -21,6 +21,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <assert.h>
+
+ /* end standard C headers. */
+
+@@ -1702,6 +1703,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
+ libconfig_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
+ }
+
++ assert(YY_CURRENT_BUFFER != NULL); // Fixes compiler warning -Wnull-dereference on gcc-6 and -O3
++
+ libconfig_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
+ libconfig_yy_load_buffer_state(yyscanner );
}
diff --git a/3rdparty/libconfig/extra/gen/scanner.l b/3rdparty/libconfig/extra/gen/scanner.l
index f717ac273..60ede1ca7 100644
--- a/3rdparty/libconfig/extra/gen/scanner.l
+++ b/3rdparty/libconfig/extra/gen/scanner.l
@@ -88,7 +88,7 @@ static unsigned long long fromhex(const char *s)
true [Tt][Rr][Uu][Ee]
false [Ff][Aa][Ll][Ss][Ee]
-name [A-Za-z0-9\*][-A-Za-z0-9_\*'.]*
+name [A-Za-z0-9\*][-A-Za-z0-9_\*.]*
integer [-+]?[0-9]+
integer64 [-+]?[0-9]+L(L)?
hex 0[Xx][0-9A-Fa-f]+
diff --git a/3rdparty/libconfig/grammar.c b/3rdparty/libconfig/grammar.c
index 6cd6fb722..a1b099678 100644
--- a/3rdparty/libconfig/grammar.c
+++ b/3rdparty/libconfig/grammar.c
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7.12-4996"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -63,14 +63,12 @@
#define yyparse libconfig_yyparse
#define yylex libconfig_yylex
#define yyerror libconfig_yyerror
-#define yylval libconfig_yylval
-#define yychar libconfig_yychar
#define yydebug libconfig_yydebug
#define yynerrs libconfig_yynerrs
+
/* Copy the first part of user declarations. */
-/* Line 371 of yacc.c */
-#line 33 "grammar.y"
+#line 33 "grammar.y" /* yacc.c:339 */
#include <string.h>
#include <stdlib.h>
@@ -122,14 +120,13 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx,
}
-/* Line 371 of yacc.c */
-#line 127 "grammar.c"
+#line 124 "grammar.c" /* yacc.c:339 */
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
+# define YY_NULLPTR nullptr
# else
-# define YY_NULL 0
+# define YY_NULLPTR 0
# endif
# endif
@@ -145,7 +142,7 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx,
by #include "y.tab.h". */
#ifndef YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED
# define YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -153,33 +150,32 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx,
extern int libconfig_yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOK_BOOLEAN = 258,
- TOK_INTEGER = 259,
- TOK_HEX = 260,
- TOK_INTEGER64 = 261,
- TOK_HEX64 = 262,
- TOK_FLOAT = 263,
- TOK_STRING = 264,
- TOK_NAME = 265,
- TOK_EQUALS = 266,
- TOK_NEWLINE = 267,
- TOK_ARRAY_START = 268,
- TOK_ARRAY_END = 269,
- TOK_LIST_START = 270,
- TOK_LIST_END = 271,
- TOK_COMMA = 272,
- TOK_GROUP_START = 273,
- TOK_GROUP_END = 274,
- TOK_SEMICOLON = 275,
- TOK_GARBAGE = 276,
- TOK_ERROR = 277
- };
+ enum yytokentype
+ {
+ TOK_BOOLEAN = 258,
+ TOK_INTEGER = 259,
+ TOK_HEX = 260,
+ TOK_INTEGER64 = 261,
+ TOK_HEX64 = 262,
+ TOK_FLOAT = 263,
+ TOK_STRING = 264,
+ TOK_NAME = 265,
+ TOK_EQUALS = 266,
+ TOK_NEWLINE = 267,
+ TOK_ARRAY_START = 268,
+ TOK_ARRAY_END = 269,
+ TOK_LIST_START = 270,
+ TOK_LIST_END = 271,
+ TOK_COMMA = 272,
+ TOK_GROUP_START = 273,
+ TOK_GROUP_END = 274,
+ TOK_SEMICOLON = 275,
+ TOK_GARBAGE = 276,
+ TOK_ERROR = 277
+ };
#endif
/* Tokens. */
#define TOK_BOOLEAN 258
@@ -203,49 +199,35 @@ extern int libconfig_yydebug;
#define TOK_GARBAGE 276
#define TOK_ERROR 277
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
-/* Line 387 of yacc.c */
-#line 86 "grammar.y"
+#line 86 "grammar.y" /* yacc.c:355 */
int ival;
long long llval;
double fval;
char *sval;
+#line 215 "grammar.c" /* yacc.c:355 */
+};
-/* Line 387 of yacc.c */
-#line 222 "grammar.c"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int libconfig_yyparse (void *YYPARSE_PARAM);
-#else
-int libconfig_yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
int libconfig_yyparse (void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx);
-#else
-int libconfig_yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 390 of yacc.c */
-#line 249 "grammar.c"
+#line 231 "grammar.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -259,11 +241,8 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
#else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -283,8 +262,7 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -306,11 +284,30 @@ typedef short int yytype_int16;
# endif
#endif
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-# define __attribute__(Spec) /* empty */
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@@ -321,25 +318,26 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
#else
-static int
-YYID (yyi)
- int yyi;
+# define YY_INITIAL_VALUE(Value) Value
#endif
-{
- return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -357,8 +355,7 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -370,8 +367,8 @@ YYID (yyi)
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -387,7 +384,7 @@ YYID (yyi)
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -395,15 +392,13 @@ YYID (yyi)
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -413,7 +408,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -438,16 +433,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
#endif
@@ -466,7 +461,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -482,17 +477,19 @@ union yyalloc
#define YYNNTS 23
/* YYNRULES -- Number of rules. */
#define YYNRULES 43
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES 51
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 277
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -526,33 +523,7 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint8 yyprhs[] =
-{
- 0, 0, 3, 4, 6, 8, 11, 12, 14, 15,
- 17, 19, 20, 22, 23, 29, 30, 35, 36, 41,
- 43, 45, 47, 49, 51, 54, 56, 58, 60, 62,
- 64, 66, 68, 70, 74, 77, 78, 80, 82, 86,
- 89, 90, 92, 93
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int8 yyrhs[] =
-{
- 24, 0, -1, -1, 25, -1, 29, -1, 25, 29,
- -1, -1, 25, -1, -1, 20, -1, 17, -1, -1,
- 17, -1, -1, 10, 30, 11, 35, 27, -1, -1,
- 13, 32, 43, 14, -1, -1, 15, 34, 40, 16,
- -1, 37, -1, 31, -1, 33, -1, 44, -1, 9,
- -1, 36, 9, -1, 3, -1, 4, -1, 6, -1,
- 5, -1, 7, -1, 8, -1, 36, -1, 35, -1,
- 38, 17, 35, -1, 38, 28, -1, -1, 39, -1,
- 37, -1, 41, 17, 37, -1, 41, 28, -1, -1,
- 42, -1, -1, 18, 45, 26, 19, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 101, 101, 103, 107, 108, 111, 113, 116, 118,
@@ -577,13 +548,13 @@ static const char *const yytname[] =
"setting_terminator", "comma_optional", "setting", "$@1", "array", "$@2",
"list", "$@3", "value", "string", "simple_value", "value_list_sub",
"value_list", "value_list_optional", "simple_value_list_sub",
- "simple_value_list", "simple_value_list_optional", "group", "$@4", YY_NULL
+ "simple_value_list", "simple_value_list_optional", "group", "$@4", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -592,50 +563,18 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 23, 24, 24, 25, 25, 26, 26, 27, 27,
- 27, 28, 28, 30, 29, 32, 31, 34, 33, 35,
- 35, 35, 35, 36, 36, 37, 37, 37, 37, 37,
- 37, 37, 38, 38, 39, 40, 40, 41, 41, 42,
- 43, 43, 45, 44
-};
+#define YYPACT_NINF -26
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 0, 1, 1, 2, 0, 1, 0, 1,
- 1, 0, 1, 0, 5, 0, 4, 0, 4, 1,
- 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 2, 0, 1, 1, 3, 2,
- 0, 1, 0, 4
-};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-26)))
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 2, 13, 0, 3, 4, 0, 1, 5, 0, 25,
- 26, 28, 27, 29, 30, 23, 15, 17, 42, 20,
- 21, 8, 31, 19, 22, 40, 35, 6, 10, 9,
- 14, 24, 37, 11, 41, 0, 32, 11, 36, 0,
- 7, 0, 12, 39, 16, 12, 34, 18, 43, 38,
- 33
-};
+#define YYTABLE_NINF -1
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int8 yydefgoto[] =
-{
- -1, 2, 3, 41, 30, 43, 4, 5, 19, 25,
- 20, 26, 21, 22, 23, 37, 38, 39, 33, 34,
- 35, 24, 27
-};
+#define yytable_value_is_error(Yytable_value) \
+ 0
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -26
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
static const yytype_int8 yypact[] =
{
2, -26, 10, 2, -26, 5, -26, -26, 0, -26,
@@ -646,7 +585,20 @@ static const yytype_int8 yypact[] =
-26
};
-/* YYPGOTO[NTERM-NUM]. */
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 2, 13, 0, 3, 4, 0, 1, 5, 0, 25,
+ 26, 28, 27, 29, 30, 23, 15, 17, 42, 20,
+ 21, 8, 31, 19, 22, 40, 35, 6, 10, 9,
+ 14, 24, 37, 11, 41, 0, 32, 11, 36, 0,
+ 7, 0, 12, 39, 16, 12, 34, 18, 43, 38,
+ 33
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
-26, -26, 6, -26, -26, -2, -3, -26, -26, -26,
@@ -654,10 +606,17 @@ static const yytype_int8 yypgoto[] =
-26, -26, -26
};
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -1
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ -1, 2, 3, 41, 30, 43, 4, 5, 19, 25,
+ 20, 26, 21, 22, 23, 37, 38, 39, 33, 34,
+ 35, 24, 27
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_uint8 yytable[] =
{
7, 36, 32, 9, 10, 11, 12, 13, 14, 15,
@@ -666,12 +625,6 @@ static const yytype_uint8 yytable[] =
45, 48, 47, 40, 0, 46, 0, 7
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-26)))
-
-#define yytable_value_is_error(Yytable_value) \
- YYID (0)
-
static const yytype_int8 yycheck[] =
{
3, 26, 25, 3, 4, 5, 6, 7, 8, 9,
@@ -680,8 +633,8 @@ static const yytype_int8 yycheck[] =
17, 19, 16, 27, -1, 37, -1, 40
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 10, 24, 25, 29, 30, 0, 29, 11, 3,
@@ -692,30 +645,36 @@ static const yytype_uint8 yystos[] =
35
};
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 23, 24, 24, 25, 25, 26, 26, 27, 27,
+ 27, 28, 28, 30, 29, 32, 31, 34, 33, 35,
+ 35, 35, 35, 36, 36, 37, 37, 37, 37, 37,
+ 37, 37, 38, 38, 39, 40, 40, 41, 41, 42,
+ 43, 43, 45, 44
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 0, 1, 1, 2, 0, 1, 0, 1,
+ 1, 0, 1, 0, 5, 0, 4, 0, 4, 1,
+ 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3, 2, 0, 1, 1, 3, 2,
+ 0, 1, 0, 4
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
#define YYRECOVERING() (!!yyerrstatus)
@@ -732,27 +691,15 @@ do \
else \
{ \
yyerror (scanner, ctx, scan_ctx, YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
+#define YYTERROR 1
+#define YYERRCODE 256
-/* YYLEX -- calling `yylex' with the right arguments. */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, YYLEX_PARAM)
-#else
-# define YYLEX yylex (&yylval, scanner)
-#endif
/* Enable debugging if requested. */
#if YYDEBUG
@@ -762,56 +709,47 @@ while (YYID (0))
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, scanner, ctx, scan_ctx); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, scanner, ctx, scan_ctx); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner, ctx, scan_ctx)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- void *scanner;
- struct parse_context *ctx;
- struct scan_context *scan_ctx;
-#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
- if (!yyvaluep)
- return;
YYUSE (scanner);
YYUSE (ctx);
YYUSE (scan_ctx);
+ if (!yyvaluep)
+ return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
# endif
YYUSE (yytype);
}
@@ -821,25 +759,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner, ctx, scan_ctx)
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, scanner, ctx, scan_ctx)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- void *scanner;
- struct parse_context *ctx;
- struct scan_context *scan_ctx;
-#endif
{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner, ctx, scan_ctx);
YYFPRINTF (yyoutput, ")");
@@ -850,16 +774,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, scanner, ctx, scan_ctx)
| TOP (included). |
`------------------------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -870,52 +786,42 @@ yy_stack_print (yybottom, yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule, void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
-#else
static void
-yy_reduce_print (yyvsp, yyrule, scanner, ctx, scan_ctx)
- YYSTYPE *yyvsp;
- int yyrule;
- void *scanner;
- struct parse_context *ctx;
- struct scan_context *scan_ctx;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
{
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- , scanner, ctx, scan_ctx);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , scanner, ctx, scan_ctx);
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule, scanner, ctx, scan_ctx); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule, scanner, ctx, scan_ctx); \
+} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -929,7 +835,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -952,15 +858,8 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -976,16 +875,8 @@ yystrlen (yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -1015,27 +906,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -1058,11 +949,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULL;
+ const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@@ -1070,10 +961,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- for details. YYERROR is fine as it does not invoke this
- function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
@@ -1123,7 +1010,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -1190,30 +1077,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, scanner, ctx, scan_ctx)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
- void *scanner;
- struct parse_context *ctx;
- struct scan_context *scan_ctx;
-#endif
{
YYUSE (yyvaluep);
YYUSE (scanner);
YYUSE (ctx);
YYUSE (scan_ctx);
+ YY_SYMBOL_PRINT (yymsg != NULL ? yymsg : "Deleting", yytype, yyvaluep, yylocationp);
- YY_SYMBOL_PRINT (yymsg ? yymsg : "Deleting", yytype, yyvaluep, yylocationp);
-
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1223,58 +1098,18 @@ yydestruct (yymsg, yytype, yyvaluep, scanner, ctx, scan_ctx)
| yyparse. |
`----------*/
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
int
yyparse (void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx)
-#else
-int
-yyparse (scanner, ctx, scan_ctx)
- void *scanner;
- struct parse_context *ctx;
- struct scan_context *scan_ctx;
-#endif
-#endif
{
/* The lookahead symbol. */
int yychar;
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
-#else
+/* The semantic value of the lookahead symbol. */
/* Default value used for initialization, for pacifying older GCCs
or non-GCC compilers. */
-static YYSTYPE yyval_default;
-# define YY_INITIAL_VALUE(Value) = Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
+YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
+YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
/* Number of syntax errors so far. */
int yynerrs;
@@ -1284,8 +1119,8 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
int yyerrstatus;
/* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -1353,23 +1188,23 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -1377,22 +1212,22 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -1401,10 +1236,10 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1433,7 +1268,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex (&yylval, scanner);
}
if (yychar <= YYEOF)
@@ -1498,7 +1333,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
+ '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -1512,10 +1347,9 @@ yyreduce:
switch (yyn)
{
case 13:
-/* Line 1802 of yacc.c */
-#line 129 "grammar.y"
+#line 129 "grammar.y" /* yacc.c:1661 */
{
- ctx->setting = config_setting_add(ctx->parent, (yyvsp[(1) - (1)].sval), CONFIG_TYPE_NONE);
+ ctx->setting = config_setting_add(ctx->parent, (yyvsp[0].sval), CONFIG_TYPE_NONE);
if(ctx->setting == NULL)
{
@@ -1527,11 +1361,11 @@ yyreduce:
CAPTURE_PARSE_POS(ctx->setting);
}
}
+#line 1367 "grammar.c" /* yacc.c:1661 */
break;
case 15:
-/* Line 1802 of yacc.c */
-#line 148 "grammar.y"
+#line 148 "grammar.y" /* yacc.c:1661 */
{
if(IN_LIST())
{
@@ -1545,20 +1379,20 @@ yyreduce:
ctx->setting = NULL;
}
}
+#line 1385 "grammar.c" /* yacc.c:1661 */
break;
case 16:
-/* Line 1802 of yacc.c */
-#line 163 "grammar.y"
+#line 163 "grammar.y" /* yacc.c:1661 */
{
if(ctx->parent)
ctx->parent = ctx->parent->parent;
}
+#line 1394 "grammar.c" /* yacc.c:1661 */
break;
case 17:
-/* Line 1802 of yacc.c */
-#line 171 "grammar.y"
+#line 171 "grammar.y" /* yacc.c:1661 */
{
if(IN_LIST())
{
@@ -1572,37 +1406,37 @@ yyreduce:
ctx->setting = NULL;
}
}
+#line 1412 "grammar.c" /* yacc.c:1661 */
break;
case 18:
-/* Line 1802 of yacc.c */
-#line 186 "grammar.y"
+#line 186 "grammar.y" /* yacc.c:1661 */
{
if(ctx->parent)
ctx->parent = ctx->parent->parent;
}
+#line 1421 "grammar.c" /* yacc.c:1661 */
break;
case 23:
-/* Line 1802 of yacc.c */
-#line 200 "grammar.y"
- { parsectx_append_string(ctx, (yyvsp[(1) - (1)].sval)); free((yyvsp[(1) - (1)].sval)); }
+#line 200 "grammar.y" /* yacc.c:1661 */
+ { parsectx_append_string(ctx, (yyvsp[0].sval)); free((yyvsp[0].sval)); }
+#line 1427 "grammar.c" /* yacc.c:1661 */
break;
case 24:
-/* Line 1802 of yacc.c */
-#line 201 "grammar.y"
- { parsectx_append_string(ctx, (yyvsp[(2) - (2)].sval)); free((yyvsp[(2) - (2)].sval)); }
+#line 201 "grammar.y" /* yacc.c:1661 */
+ { parsectx_append_string(ctx, (yyvsp[0].sval)); free((yyvsp[0].sval)); }
+#line 1433 "grammar.c" /* yacc.c:1661 */
break;
case 25:
-/* Line 1802 of yacc.c */
-#line 206 "grammar.y"
+#line 206 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
struct config_setting_t *e = config_setting_set_bool_elem(ctx->parent, -1,
- (int)(yyvsp[(1) - (1)].ival));
+ (int)(yyvsp[0].ival));
if(! e)
{
@@ -1615,17 +1449,17 @@ yyreduce:
}
}
else
- config_setting_set_bool(ctx->setting, (int)(yyvsp[(1) - (1)].ival));
+ config_setting_set_bool(ctx->setting, (int)(yyvsp[0].ival));
}
+#line 1457 "grammar.c" /* yacc.c:1661 */
break;
case 26:
-/* Line 1802 of yacc.c */
-#line 226 "grammar.y"
+#line 226 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
- struct config_setting_t *e = config_setting_set_int_elem(ctx->parent, -1, (yyvsp[(1) - (1)].ival));
+ struct config_setting_t *e = config_setting_set_int_elem(ctx->parent, -1, (yyvsp[0].ival));
if(! e)
{
libconfig_yyerror(scanner, ctx, scan_ctx, err_array_elem_type);
@@ -1639,19 +1473,19 @@ yyreduce:
}
else
{
- config_setting_set_int(ctx->setting, (yyvsp[(1) - (1)].ival));
+ config_setting_set_int(ctx->setting, (yyvsp[0].ival));
config_setting_set_format(ctx->setting, CONFIG_FORMAT_DEFAULT);
}
}
+#line 1483 "grammar.c" /* yacc.c:1661 */
break;
case 27:
-/* Line 1802 of yacc.c */
-#line 248 "grammar.y"
+#line 248 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
- struct config_setting_t *e = config_setting_set_int64_elem(ctx->parent, -1, (yyvsp[(1) - (1)].llval));
+ struct config_setting_t *e = config_setting_set_int64_elem(ctx->parent, -1, (yyvsp[0].llval));
if(! e)
{
libconfig_yyerror(scanner, ctx, scan_ctx, err_array_elem_type);
@@ -1665,19 +1499,19 @@ yyreduce:
}
else
{
- config_setting_set_int64(ctx->setting, (yyvsp[(1) - (1)].llval));
+ config_setting_set_int64(ctx->setting, (yyvsp[0].llval));
config_setting_set_format(ctx->setting, CONFIG_FORMAT_DEFAULT);
}
}
+#line 1509 "grammar.c" /* yacc.c:1661 */
break;
case 28:
-/* Line 1802 of yacc.c */
-#line 270 "grammar.y"
+#line 270 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
- struct config_setting_t *e = config_setting_set_int_elem(ctx->parent, -1, (yyvsp[(1) - (1)].ival));
+ struct config_setting_t *e = config_setting_set_int_elem(ctx->parent, -1, (yyvsp[0].ival));
if(! e)
{
libconfig_yyerror(scanner, ctx, scan_ctx, err_array_elem_type);
@@ -1691,19 +1525,19 @@ yyreduce:
}
else
{
- config_setting_set_int(ctx->setting, (yyvsp[(1) - (1)].ival));
+ config_setting_set_int(ctx->setting, (yyvsp[0].ival));
config_setting_set_format(ctx->setting, CONFIG_FORMAT_HEX);
}
}
+#line 1535 "grammar.c" /* yacc.c:1661 */
break;
case 29:
-/* Line 1802 of yacc.c */
-#line 292 "grammar.y"
+#line 292 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
- struct config_setting_t *e = config_setting_set_int64_elem(ctx->parent, -1, (yyvsp[(1) - (1)].llval));
+ struct config_setting_t *e = config_setting_set_int64_elem(ctx->parent, -1, (yyvsp[0].llval));
if(! e)
{
libconfig_yyerror(scanner, ctx, scan_ctx, err_array_elem_type);
@@ -1717,19 +1551,19 @@ yyreduce:
}
else
{
- config_setting_set_int64(ctx->setting, (yyvsp[(1) - (1)].llval));
+ config_setting_set_int64(ctx->setting, (yyvsp[0].llval));
config_setting_set_format(ctx->setting, CONFIG_FORMAT_HEX);
}
}
+#line 1561 "grammar.c" /* yacc.c:1661 */
break;
case 30:
-/* Line 1802 of yacc.c */
-#line 314 "grammar.y"
+#line 314 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
- struct config_setting_t *e = config_setting_set_float_elem(ctx->parent, -1, (yyvsp[(1) - (1)].fval));
+ struct config_setting_t *e = config_setting_set_float_elem(ctx->parent, -1, (yyvsp[0].fval));
if(! e)
{
libconfig_yyerror(scanner, ctx, scan_ctx, err_array_elem_type);
@@ -1741,13 +1575,13 @@ yyreduce:
}
}
else
- config_setting_set_float(ctx->setting, (yyvsp[(1) - (1)].fval));
+ config_setting_set_float(ctx->setting, (yyvsp[0].fval));
}
+#line 1583 "grammar.c" /* yacc.c:1661 */
break;
case 31:
-/* Line 1802 of yacc.c */
-#line 332 "grammar.y"
+#line 332 "grammar.y" /* yacc.c:1661 */
{
if(IN_ARRAY() || IN_LIST())
{
@@ -1772,11 +1606,11 @@ yyreduce:
_delete(s);
}
}
+#line 1612 "grammar.c" /* yacc.c:1661 */
break;
case 42:
-/* Line 1802 of yacc.c */
-#line 388 "grammar.y"
+#line 388 "grammar.y" /* yacc.c:1661 */
{
if(IN_LIST())
{
@@ -1790,20 +1624,20 @@ yyreduce:
ctx->setting = NULL;
}
}
+#line 1630 "grammar.c" /* yacc.c:1661 */
break;
case 43:
-/* Line 1802 of yacc.c */
-#line 403 "grammar.y"
+#line 403 "grammar.y" /* yacc.c:1661 */
{
if(ctx->parent)
ctx->parent = ctx->parent->parent;
}
+#line 1639 "grammar.c" /* yacc.c:1661 */
break;
-/* Line 1802 of yacc.c */
-#line 1809 "grammar.c"
+#line 1643 "grammar.c" /* yacc.c:1661 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -1825,7 +1659,7 @@ yyreduce:
*++yyvsp = yyval;
- /* Now `shift' the result of the reduction. Determine what state
+ /* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -1840,9 +1674,9 @@ yyreduce:
goto yynewstate;
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -1893,20 +1727,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval, scanner, ctx, scan_ctx);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, scanner, ctx, scan_ctx);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -1925,7 +1759,7 @@ yyerrorlab:
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -1938,29 +1772,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp, scanner, ctx, scan_ctx);
+ yystos[yystate], yyvsp, scanner, ctx, scan_ctx);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -2011,14 +1845,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, scanner, ctx, scan_ctx);
}
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp, scanner, ctx, scan_ctx);
+ yystos[*yyssp], yyvsp, scanner, ctx, scan_ctx);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -2029,11 +1863,7 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
+ return yyresult;
}
-
-
-/* Line 2050 of yacc.c */
-#line 409 "grammar.y"
+#line 409 "grammar.y" /* yacc.c:1906 */
diff --git a/3rdparty/libconfig/grammar.h b/3rdparty/libconfig/grammar.h
index 86b7b65cd..09e7ae0b4 100644
--- a/3rdparty/libconfig/grammar.h
+++ b/3rdparty/libconfig/grammar.h
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,13 +26,13 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED
# define YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -40,33 +40,32 @@
extern int libconfig_yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOK_BOOLEAN = 258,
- TOK_INTEGER = 259,
- TOK_HEX = 260,
- TOK_INTEGER64 = 261,
- TOK_HEX64 = 262,
- TOK_FLOAT = 263,
- TOK_STRING = 264,
- TOK_NAME = 265,
- TOK_EQUALS = 266,
- TOK_NEWLINE = 267,
- TOK_ARRAY_START = 268,
- TOK_ARRAY_END = 269,
- TOK_LIST_START = 270,
- TOK_LIST_END = 271,
- TOK_COMMA = 272,
- TOK_GROUP_START = 273,
- TOK_GROUP_END = 274,
- TOK_SEMICOLON = 275,
- TOK_GARBAGE = 276,
- TOK_ERROR = 277
- };
+ enum yytokentype
+ {
+ TOK_BOOLEAN = 258,
+ TOK_INTEGER = 259,
+ TOK_HEX = 260,
+ TOK_INTEGER64 = 261,
+ TOK_HEX64 = 262,
+ TOK_FLOAT = 263,
+ TOK_STRING = 264,
+ TOK_NAME = 265,
+ TOK_EQUALS = 266,
+ TOK_NEWLINE = 267,
+ TOK_ARRAY_START = 268,
+ TOK_ARRAY_END = 269,
+ TOK_LIST_START = 270,
+ TOK_LIST_END = 271,
+ TOK_COMMA = 272,
+ TOK_GROUP_START = 273,
+ TOK_GROUP_END = 274,
+ TOK_SEMICOLON = 275,
+ TOK_GARBAGE = 276,
+ TOK_ERROR = 277
+ };
#endif
/* Tokens. */
#define TOK_BOOLEAN 258
@@ -90,41 +89,28 @@ extern int libconfig_yydebug;
#define TOK_GARBAGE 276
#define TOK_ERROR 277
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
-/* Line 2060 of yacc.c */
-#line 86 "grammar.y"
+#line 86 "grammar.y" /* yacc.c:1915 */
int ival;
long long llval;
double fval;
char *sval;
+#line 105 "grammar.h" /* yacc.c:1915 */
+};
-/* Line 2060 of yacc.c */
-#line 109 "grammar.h"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int libconfig_yyparse (void *YYPARSE_PARAM);
-#else
-int libconfig_yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
int libconfig_yyparse (void *scanner, struct parse_context *ctx, struct scan_context *scan_ctx);
-#else
-int libconfig_yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_LIBCONFIG_YY_GRAMMAR_H_INCLUDED */
diff --git a/3rdparty/libconfig/scanner.c b/3rdparty/libconfig/scanner.c
index abe173830..8ed08f9b8 100644
--- a/3rdparty/libconfig/scanner.c
+++ b/3rdparty/libconfig/scanner.c
@@ -1,6 +1,6 @@
-#line 2 "scanner.c"
+#line 1 "scanner.c"
-#line 4 "scanner.c"
+#line 3 "scanner.c"
#define YY_INT_ALIGNED short int
@@ -9,7 +9,7 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 0
+#define YY_FLEX_SUBMINOR_VERSION 2
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -21,6 +21,7 @@
#include <string.h>
#include <errno.h>
#include <stdlib.h>
+#include <assert.h>
/* end standard C headers. */
@@ -88,36 +89,22 @@ typedef unsigned int flex_uint32_t;
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
#else
-#define yyconst
+#define yynoreturn
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ * integer in range [0..255] for use as an array index.
*/
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* An opaque pointer. */
#ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -141,20 +128,16 @@ typedef void* yyscan_t;
* definition of BEGIN.
*/
#define BEGIN yyg->yy_start = 1 + 2 *
-
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START ((yyg->yy_start - 1) / 2)
#define YYSTATE YY_START
-
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE libconfig_yyrestart(yyin ,yyscanner )
-
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
@@ -187,7 +170,7 @@ typedef size_t yy_size_t;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
/* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
* access to the local variable yy_act. Since yyless() is a macro, it would break
* existing scanners that call yyless() from OUTSIDE libconfig_yylex.
@@ -223,7 +206,6 @@ typedef size_t yy_size_t;
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -238,12 +220,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -300,36 +282,33 @@ struct yy_buffer_state
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
: NULL)
-
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
-void libconfig_yyrestart (FILE *input_file ,yyscan_t yyscanner );
-void libconfig_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
-void libconfig_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void libconfig_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void libconfig_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-void libconfig_yypop_buffer_state (yyscan_t yyscanner );
-
-static void libconfig_yyensure_buffer_stack (yyscan_t yyscanner );
-static void libconfig_yy_load_buffer_state (yyscan_t yyscanner );
-static void libconfig_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
-
+void libconfig_yyrestart ( FILE *input_file , yyscan_t yyscanner );
+void libconfig_yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
+void libconfig_yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void libconfig_yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void libconfig_yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+void libconfig_yypop_buffer_state ( yyscan_t yyscanner );
+
+static void libconfig_yyensure_buffer_stack ( yyscan_t yyscanner );
+static void libconfig_yy_load_buffer_state ( yyscan_t yyscanner );
+static void libconfig_yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
#define YY_FLUSH_BUFFER libconfig_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
-YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
-void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner );
-void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-void libconfig_yyfree (void * ,yyscan_t yyscanner );
+void *libconfig_yyalloc ( yy_size_t , yyscan_t yyscanner );
+void *libconfig_yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
+void libconfig_yyfree ( void * , yyscan_t yyscanner );
#define yy_new_buffer libconfig_yy_create_buffer
-
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
@@ -339,7 +318,6 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner );
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
-
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
@@ -349,36 +327,30 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner );
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
#define libconfig_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
+typedef flex_uint8_t YY_CHAR;
typedef int yy_state_type;
#define yytext_ptr yytext_r
-static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
-static int yy_get_next_buffer (yyscan_t yyscanner );
-#if defined(__GNUC__) && __GNUC__ >= 3
-__attribute__((__noreturn__))
-#endif
-static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
+static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
+static int yy_get_next_buffer ( yyscan_t yyscanner );
+static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \
- yyleng = (size_t) (yy_cp - yy_bp); \
+ yyleng = (int) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-
#define YY_NUM_RULES 45
#define YY_END_OF_BUFFER 46
/* This struct is not used in this scanner,
@@ -388,7 +360,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[123] =
+static const flex_int16_t yy_accept[123] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46, 44, 25, 24, 24, 5, 44, 40, 41, 37,
@@ -406,22 +378,22 @@ static yyconst flex_int16_t yy_accept[123] =
19, 0
} ;
-static yyconst YY_CHAR yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 4, 5, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 6, 7, 1, 1, 1, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 19, 20, 21,
- 22, 23, 1, 24, 25, 26, 26, 26, 27, 28,
- 29, 29, 29, 29, 29, 30, 29, 29, 29, 29,
- 29, 31, 32, 33, 34, 29, 29, 35, 29, 29,
- 36, 37, 38, 1, 8, 1, 25, 26, 39, 40,
-
- 41, 42, 29, 29, 43, 29, 29, 44, 29, 45,
- 29, 29, 29, 46, 32, 47, 48, 29, 29, 35,
- 29, 29, 49, 1, 50, 1, 1, 1, 1, 1,
+ 1, 2, 1, 6, 7, 1, 1, 1, 1, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 17,
+ 17, 17, 17, 17, 17, 17, 17, 18, 19, 20,
+ 21, 22, 1, 23, 24, 25, 25, 25, 26, 27,
+ 28, 28, 28, 28, 28, 29, 28, 28, 28, 28,
+ 28, 30, 31, 32, 33, 28, 28, 34, 28, 28,
+ 35, 36, 37, 1, 38, 1, 24, 25, 39, 40,
+
+ 41, 42, 28, 28, 43, 28, 28, 44, 28, 45,
+ 28, 28, 28, 46, 31, 47, 48, 28, 28, 34,
+ 28, 28, 49, 1, 50, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -438,35 +410,35 @@ static yyconst YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst YY_CHAR yy_meta[51] =
+static const YY_CHAR yy_meta[51] =
{ 0,
- 1, 1, 1, 1, 1, 2, 1, 3, 1, 1,
- 3, 1, 1, 3, 3, 1, 4, 4, 1, 1,
- 1, 1, 1, 1, 4, 4, 4, 4, 3, 3,
- 3, 3, 3, 3, 3, 1, 2, 1, 4, 4,
+ 1, 1, 1, 1, 1, 2, 1, 1, 1, 3,
+ 1, 1, 3, 3, 1, 4, 4, 1, 1, 1,
+ 1, 1, 1, 4, 4, 4, 4, 3, 3, 3,
+ 3, 3, 3, 3, 1, 2, 1, 3, 4, 4,
4, 4, 3, 3, 3, 3, 3, 3, 1, 1
} ;
-static yyconst flex_uint16_t yy_base[134] =
+static const flex_int16_t yy_base[134] =
{ 0,
0, 49, 49, 50, 48, 49, 50, 51, 244, 243,
248, 251, 245, 251, 251, 251, 243, 251, 251, 0,
- 47, 251, 41, 55, 62, 210, 251, 251, 238, 218,
- 32, 251, 251, 251, 251, 67, 199, 251, 251, 225,
- 0, 251, 64, 0, 251, 61, 234, 216, 236, 234,
- 251, 0, 66, 87, 95, 106, 251, 233, 98, 200,
- 115, 204, 123, 251, 46, 47, 70, 190, 187, 251,
+ 47, 251, 49, 52, 54, 211, 251, 251, 238, 219,
+ 28, 251, 251, 251, 251, 71, 199, 251, 251, 226,
+ 0, 251, 63, 0, 251, 70, 234, 217, 236, 234,
+ 251, 0, 75, 86, 97, 108, 251, 233, 113, 201,
+ 115, 205, 139, 251, 49, 48, 75, 190, 187, 251,
0, 251, 0, 251, 251, 251, 251, 251, 0, 251,
- 251, 219, 198, 251, 117, 142, 166, 57, 113, 120,
- 154, 125, 128, 135, 0, 165, 162, 128, 154, 0,
+ 251, 225, 202, 251, 117, 124, 191, 101, 128, 131,
+ 157, 133, 135, 143, 0, 156, 152, 63, 138, 0,
- 156, 163, 161, 251, 167, 169, 171, 152, 149, 0,
- 126, 251, 174, 0, 0, 119, 117, 85, 119, 94,
- 251, 251, 197, 201, 205, 209, 213, 215, 219, 223,
- 227, 115, 104
+ 145, 171, 159, 251, 173, 175, 177, 140, 81, 0,
+ 123, 251, 179, 0, 0, 105, 96, 79, 109, 140,
+ 251, 251, 196, 200, 204, 208, 212, 214, 218, 222,
+ 226, 78, 75
} ;
-static yyconst flex_int16_t yy_def[134] =
+static const flex_int16_t yy_def[134] =
{ 0,
122, 1, 123, 123, 124, 124, 125, 125, 126, 126,
122, 122, 122, 122, 122, 122, 127, 122, 122, 128,
@@ -485,34 +457,34 @@ static yyconst flex_int16_t yy_def[134] =
122, 122, 122
} ;
-static yyconst flex_uint16_t yy_nxt[302] =
+static const flex_int16_t yy_nxt[302] =
{ 0,
- 12, 13, 14, 15, 15, 16, 17, 12, 18, 19,
- 20, 21, 22, 21, 23, 24, 25, 26, 27, 28,
- 29, 27, 12, 12, 20, 20, 20, 30, 20, 20,
- 20, 20, 31, 20, 20, 32, 12, 33, 20, 20,
+ 12, 13, 14, 15, 15, 16, 17, 18, 19, 20,
+ 21, 22, 21, 23, 24, 25, 26, 27, 28, 29,
+ 27, 12, 12, 20, 20, 20, 30, 20, 20, 20,
+ 20, 31, 20, 20, 32, 12, 33, 12, 20, 20,
20, 30, 20, 20, 20, 20, 31, 20, 34, 35,
- 36, 39, 39, 42, 42, 45, 45, 55, 55, 40,
- 40, 53, 66, 54, 54, 57, 80, 56, 67, 72,
- 58, 67, 37, 89, 89, 97, 59, 66, 60, 60,
- 98, 56, 55, 55, 43, 43, 46, 46, 61, 97,
- 68, 62, 56, 68, 98, 120, 63, 81, 73, 121,
-
- 74, 85, 61, 54, 54, 75, 56, 112, 76, 77,
- 78, 55, 55, 86, 90, 90, 87, 88, 100, 88,
- 120, 56, 89, 89, 91, 119, 92, 86, 93, 89,
- 89, 94, 94, 101, 101, 56, 90, 90, 91, 96,
- 96, 103, 103, 102, 94, 94, 91, 96, 96, 96,
- 96, 94, 94, 92, 110, 92, 118, 102, 103, 103,
- 91, 96, 96, 96, 96, 105, 117, 106, 110, 116,
- 107, 107, 101, 101, 105, 115, 105, 103, 103, 113,
- 113, 114, 102, 113, 113, 107, 107, 107, 107, 115,
- 113, 113, 111, 109, 108, 104, 102, 38, 38, 38,
-
- 38, 41, 41, 41, 41, 44, 44, 44, 44, 47,
- 47, 47, 47, 50, 50, 50, 50, 52, 52, 71,
- 122, 71, 71, 79, 83, 79, 79, 82, 82, 82,
- 82, 99, 69, 95, 52, 51, 51, 49, 84, 83,
+ 36, 39, 39, 42, 42, 45, 45, 66, 40, 40,
+ 53, 57, 54, 54, 55, 55, 58, 59, 72, 60,
+ 60, 37, 67, 66, 56, 80, 67, 97, 112, 61,
+ 98, 100, 62, 43, 43, 46, 46, 63, 110, 56,
+ 55, 55, 97, 68, 61, 98, 73, 68, 74, 85,
+
+ 56, 54, 54, 110, 75, 81, 115, 76, 77, 78,
+ 120, 86, 55, 55, 87, 56, 89, 89, 88, 119,
+ 88, 115, 56, 89, 89, 92, 86, 93, 90, 90,
+ 94, 94, 101, 101, 92, 118, 92, 56, 91, 103,
+ 103, 120, 102, 89, 89, 121, 90, 90, 103, 103,
+ 94, 94, 117, 91, 96, 96, 91, 102, 94, 94,
+ 101, 101, 96, 96, 96, 96, 116, 105, 114, 106,
+ 102, 91, 107, 107, 103, 103, 111, 96, 96, 96,
+ 96, 105, 109, 105, 108, 102, 113, 113, 113, 113,
+ 107, 107, 107, 107, 113, 113, 38, 38, 38, 38,
+
+ 41, 41, 41, 41, 44, 44, 44, 44, 47, 47,
+ 47, 47, 50, 50, 50, 50, 52, 52, 71, 104,
+ 71, 71, 79, 122, 79, 79, 82, 82, 82, 82,
+ 83, 99, 69, 95, 52, 51, 51, 49, 84, 83,
70, 69, 65, 64, 52, 51, 49, 122, 48, 48,
11, 122, 122, 122, 122, 122, 122, 122, 122, 122,
122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
@@ -523,34 +495,34 @@ static yyconst flex_uint16_t yy_nxt[302] =
122
} ;
-static yyconst flex_int16_t yy_chk[302] =
+static const flex_int16_t yy_chk[302] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 3, 4, 5, 6, 7, 8, 23, 23, 3,
- 4, 21, 31, 21, 21, 24, 46, 23, 36, 43,
- 24, 67, 2, 88, 88, 65, 25, 31, 25, 25,
- 66, 23, 53, 53, 5, 6, 7, 8, 25, 65,
- 36, 25, 53, 67, 66, 120, 25, 46, 43, 120,
-
- 43, 54, 25, 54, 54, 43, 53, 133, 43, 43,
- 43, 55, 55, 54, 59, 59, 54, 56, 132, 56,
- 119, 55, 56, 56, 59, 118, 61, 54, 61, 89,
- 89, 61, 61, 85, 85, 55, 90, 90, 59, 63,
- 63, 92, 92, 85, 93, 93, 90, 63, 63, 63,
- 63, 94, 94, 86, 98, 86, 117, 85, 86, 86,
- 90, 63, 63, 63, 63, 91, 116, 91, 98, 111,
- 91, 91, 101, 101, 102, 109, 102, 103, 103, 102,
- 102, 108, 101, 105, 105, 106, 106, 107, 107, 109,
- 113, 113, 99, 97, 96, 87, 101, 123, 123, 123,
-
- 123, 124, 124, 124, 124, 125, 125, 125, 125, 126,
- 126, 126, 126, 127, 127, 127, 127, 128, 128, 129,
- 83, 129, 129, 130, 82, 130, 130, 131, 131, 131,
- 131, 69, 68, 62, 60, 58, 50, 49, 48, 47,
+ 2, 3, 4, 5, 6, 7, 8, 31, 3, 4,
+ 21, 24, 21, 21, 23, 23, 24, 25, 43, 25,
+ 25, 2, 36, 31, 23, 46, 67, 65, 133, 25,
+ 66, 132, 25, 5, 6, 7, 8, 25, 98, 23,
+ 53, 53, 65, 36, 25, 66, 43, 67, 43, 54,
+
+ 53, 54, 54, 98, 43, 46, 109, 43, 43, 43,
+ 119, 54, 55, 55, 54, 53, 88, 88, 56, 118,
+ 56, 109, 55, 56, 56, 61, 54, 61, 59, 59,
+ 61, 61, 85, 85, 86, 117, 86, 55, 59, 86,
+ 86, 120, 85, 89, 89, 120, 90, 90, 92, 92,
+ 93, 93, 116, 59, 63, 63, 90, 85, 94, 94,
+ 101, 101, 63, 63, 63, 63, 111, 91, 108, 91,
+ 101, 90, 91, 91, 103, 103, 99, 63, 63, 63,
+ 63, 102, 97, 102, 96, 101, 102, 102, 105, 105,
+ 106, 106, 107, 107, 113, 113, 123, 123, 123, 123,
+
+ 124, 124, 124, 124, 125, 125, 125, 125, 126, 126,
+ 126, 126, 127, 127, 127, 127, 128, 128, 129, 87,
+ 129, 129, 130, 83, 130, 130, 131, 131, 131, 131,
+ 82, 69, 68, 62, 60, 58, 50, 49, 48, 47,
40, 37, 30, 29, 26, 17, 13, 11, 10, 9,
122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
@@ -562,7 +534,7 @@ static yyconst flex_int16_t yy_chk[302] =
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[46] =
+static const flex_int32_t yy_rule_can_match_eol[46] =
{ 0,
0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -651,8 +623,9 @@ static unsigned long long fromhex(const char *s)
#endif /* __MINGW32__ */
}
+#line 625 "scanner.c"
-#line 656 "scanner.c"
+#line 627 "scanner.c"
#define INITIAL 0
#define COMMENT 1
@@ -675,8 +648,8 @@ struct yyguts_t
size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
- yy_size_t yy_n_chars;
- yy_size_t yyleng_r;
+ int yy_n_chars;
+ int yyleng_r;
char *yy_c_buf_p;
int yy_init;
int yy_start;
@@ -698,7 +671,7 @@ struct yyguts_t
}; /* end struct yyguts_t */
-static int yy_init_globals (yyscan_t yyscanner );
+static int yy_init_globals ( yyscan_t yyscanner );
/* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/
@@ -706,44 +679,44 @@ static int yy_init_globals (yyscan_t yyscanner );
int libconfig_yylex_init (yyscan_t* scanner);
-int libconfig_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
+int libconfig_yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int libconfig_yylex_destroy (yyscan_t yyscanner );
+int libconfig_yylex_destroy ( yyscan_t yyscanner );
-int libconfig_yyget_debug (yyscan_t yyscanner );
+int libconfig_yyget_debug ( yyscan_t yyscanner );
-void libconfig_yyset_debug (int debug_flag ,yyscan_t yyscanner );
+void libconfig_yyset_debug ( int debug_flag , yyscan_t yyscanner );
-YY_EXTRA_TYPE libconfig_yyget_extra (yyscan_t yyscanner );
+YY_EXTRA_TYPE libconfig_yyget_extra ( yyscan_t yyscanner );
-void libconfig_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
+void libconfig_yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
-FILE *libconfig_yyget_in (yyscan_t yyscanner );
+FILE *libconfig_yyget_in ( yyscan_t yyscanner );
-void libconfig_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
+void libconfig_yyset_in ( FILE * _in_str , yyscan_t yyscanner );
-FILE *libconfig_yyget_out (yyscan_t yyscanner );
+FILE *libconfig_yyget_out ( yyscan_t yyscanner );
-void libconfig_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
+void libconfig_yyset_out ( FILE * _out_str , yyscan_t yyscanner );
-yy_size_t libconfig_yyget_leng (yyscan_t yyscanner );
+ int libconfig_yyget_leng ( yyscan_t yyscanner );
-char *libconfig_yyget_text (yyscan_t yyscanner );
+char *libconfig_yyget_text ( yyscan_t yyscanner );
-int libconfig_yyget_lineno (yyscan_t yyscanner );
+int libconfig_yyget_lineno ( yyscan_t yyscanner );
-void libconfig_yyset_lineno (int _line_number ,yyscan_t yyscanner );
+void libconfig_yyset_lineno ( int _line_number , yyscan_t yyscanner );
-int libconfig_yyget_column (yyscan_t yyscanner );
+int libconfig_yyget_column ( yyscan_t yyscanner );
-void libconfig_yyset_column (int _column_no ,yyscan_t yyscanner );
+void libconfig_yyset_column ( int _column_no , yyscan_t yyscanner );
-YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner );
+YYSTYPE * libconfig_yyget_lval ( yyscan_t yyscanner );
-void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
+void libconfig_yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -751,9 +724,9 @@ void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int libconfig_yywrap (yyscan_t yyscanner );
+extern "C" int libconfig_yywrap ( yyscan_t yyscanner );
#else
-extern int libconfig_yywrap (yyscan_t yyscanner );
+extern int libconfig_yywrap ( yyscan_t yyscanner );
#endif
#endif
@@ -762,19 +735,18 @@ extern int libconfig_yywrap (yyscan_t yyscanner );
#endif
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
+static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
+static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
-
#ifdef __cplusplus
-static int yyinput (yyscan_t yyscanner );
+static int yyinput ( yyscan_t yyscanner );
#else
-static int input (yyscan_t yyscanner );
+static int input ( yyscan_t yyscanner );
#endif
#endif
@@ -794,7 +766,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -805,7 +777,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -818,7 +790,7 @@ static int input (yyscan_t yyscanner );
else \
{ \
errno=0; \
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -860,7 +832,7 @@ static int input (yyscan_t yyscanner );
#define YY_DECL_IS_OURS 1
extern int libconfig_yylex \
- (YYSTYPE * yylval_param ,yyscan_t yyscanner);
+ (YYSTYPE * yylval_param , yyscan_t yyscanner);
#define YY_DECL int libconfig_yylex \
(YYSTYPE * yylval_param , yyscan_t yyscanner)
@@ -925,7 +897,7 @@ YY_DECL
#line 103 "scanner.l"
-#line 929 "scanner.c"
+#line 899 "scanner.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -954,9 +926,9 @@ yy_match:
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 123 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_current_state != 122 );
@@ -970,7 +942,7 @@ yy_find_action:
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{
- yy_size_t yyl;
+ int yyl;
for ( yyl = 0; yyl < yyleng; ++yyl )
if ( yytext[yyl] == '\n' )
@@ -1128,7 +1100,9 @@ YY_RULE_SETUP
if(fp)
{
yyin = fp;
- libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner);
+ libconfig_yy_switch_to_buffer(
+ libconfig_yy_create_buffer(yyin, YY_BUF_SIZE, yyscanner),
+ yyscanner);
}
else
{
@@ -1281,8 +1255,8 @@ case YY_STATE_EOF(SCRIPTBLOCK):
yyextra);
if(buf)
{
- libconfig_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner);
- libconfig_yy_switch_to_buffer(buf,yyscanner);
+ libconfig_yy_delete_buffer(YY_CURRENT_BUFFER, yyscanner);
+ libconfig_yy_switch_to_buffer(buf, yyscanner);
}
else
yyterminate();
@@ -1293,7 +1267,7 @@ YY_RULE_SETUP
#line 219 "scanner.l"
ECHO;
YY_BREAK
-#line 1297 "scanner.c"
+#line 1269 "scanner.c"
case YY_END_OF_BUFFER:
{
@@ -1438,7 +1412,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
char *source = yyg->yytext_ptr;
- yy_size_t number_to_move, i;
+ int number_to_move, i;
int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -1467,7 +1441,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
+ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -1480,7 +1454,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
@@ -1494,7 +1468,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
if ( b->yy_is_our_buffer )
{
- yy_size_t new_size = b->yy_buf_size * 2;
+ int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -1503,11 +1477,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- libconfig_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
+ libconfig_yyrealloc((void *) b->yy_ch_buf,(yy_size_t) (b->yy_buf_size + 2) ,yyscanner );
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
+ b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
@@ -1549,10 +1523,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) libconfig_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
+ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) libconfig_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,(yy_size_t) new_size ,yyscanner );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
}
@@ -1589,9 +1563,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 123 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
@@ -1618,9 +1592,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 123 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 122);
(void)yyg;
@@ -1656,7 +1630,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
{ /* need more input */
- yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
+ int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) )
@@ -1680,7 +1654,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
case EOB_ACT_END_OF_FILE:
{
if ( libconfig_yywrap(yyscanner ) )
- return EOF;
+ return 0;
if ( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
@@ -1729,6 +1703,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
libconfig_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
}
+ assert(YY_CURRENT_BUFFER != NULL); // Fixes compiler warning -Wnull-dereference on gcc-6 and -O3
+
libconfig_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
libconfig_yy_load_buffer_state(yyscanner );
}
@@ -1792,12 +1768,12 @@ static void libconfig_yy_load_buffer_state (yyscan_t yyscanner)
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in libconfig_yy_create_buffer()" );
- b->yy_buf_size = (yy_size_t)size;
+ b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) libconfig_yyalloc(b->yy_buf_size + 2 ,yyscanner );
+ b->yy_ch_buf = (char *) libconfig_yyalloc((yy_size_t) (b->yy_buf_size + 2) ,yyscanner );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in libconfig_yy_create_buffer()" );
@@ -1953,7 +1929,7 @@ static void libconfig_yyensure_buffer_stack (yyscan_t yyscanner)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
yyg->yy_buffer_stack = (struct yy_buffer_state**)libconfig_yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
@@ -2000,16 +1976,16 @@ YY_BUFFER_STATE libconfig_yy_scan_buffer (char * base, yy_size_t size , yyscan
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return 0;
+ return NULL;
b = (YY_BUFFER_STATE) libconfig_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in libconfig_yy_scan_buffer()" );
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
+ b->yy_input_file = NULL;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
@@ -2029,10 +2005,10 @@ YY_BUFFER_STATE libconfig_yy_scan_buffer (char * base, yy_size_t size , yyscan
* @note If you want to scan bytes that may contain NUL values, then use
* libconfig_yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
+YY_BUFFER_STATE libconfig_yy_scan_string (const char * yystr , yyscan_t yyscanner)
{
- return libconfig_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
+ return libconfig_yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner);
}
/** Setup the input buffer state to scan the given bytes. The next call to libconfig_yylex() will
@@ -2042,15 +2018,15 @@ YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char * yystr , yyscan_t yyscan
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE libconfig_yy_scan_bytes (const char * yybytes, int _yybytes_len , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
- yy_size_t i;
+ int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
+ n = (yy_size_t) (_yybytes_len + 2);
buf = (char *) libconfig_yyalloc(n ,yyscanner );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in libconfig_yy_scan_bytes()" );
@@ -2076,7 +2052,7 @@ YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy
#define YY_EXIT_FAILURE 2
#endif
-static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
+static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
@@ -2159,7 +2135,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner)
/** Get the length of the current token.
* @param yyscanner The scanner object.
*/
-yy_size_t libconfig_yyget_leng (yyscan_t yyscanner)
+int libconfig_yyget_leng (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyleng;
@@ -2265,9 +2241,7 @@ void libconfig_yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
* the ONLY reentrant function that doesn't take the scanner as the last argument.
* That's why we explicitly handle the declaration, instead of using our macros.
*/
-
int libconfig_yylex_init(yyscan_t* ptr_yy_globals)
-
{
if (ptr_yy_globals == NULL){
errno = EINVAL;
@@ -2294,9 +2268,7 @@ int libconfig_yylex_init(yyscan_t* ptr_yy_globals)
* The user defined value in the first argument will be available to libconfig_yyalloc in
* the yyextra field.
*/
-
int libconfig_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
-
{
struct yyguts_t dummy_yyguts;
@@ -2330,10 +2302,10 @@ static int yy_init_globals (yyscan_t yyscanner)
* This function is called from libconfig_yylex_destroy(), so don't allocate here.
*/
- yyg->yy_buffer_stack = 0;
+ yyg->yy_buffer_stack = NULL;
yyg->yy_buffer_stack_top = 0;
yyg->yy_buffer_stack_max = 0;
- yyg->yy_c_buf_p = (char *) 0;
+ yyg->yy_c_buf_p = NULL;
yyg->yy_init = 0;
yyg->yy_start = 0;
@@ -2346,8 +2318,8 @@ static int yy_init_globals (yyscan_t yyscanner)
yyin = stdin;
yyout = stdout;
#else
- yyin = (FILE *) 0;
- yyout = (FILE *) 0;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
@@ -2391,7 +2363,7 @@ int libconfig_yylex_destroy (yyscan_t yyscanner)
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
+static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
@@ -2403,7 +2375,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
+static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
{
int n;
for ( n = 0; s[n]; ++n )
@@ -2417,7 +2389,7 @@ void *libconfig_yyalloc (yy_size_t size , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
- return (void *) malloc( size );
+ return malloc(size);
}
void *libconfig_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
@@ -2432,7 +2404,7 @@ void *libconfig_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
- return (void *) realloc( (char *) ptr, size );
+ return realloc(ptr, size);
}
void libconfig_yyfree (void * ptr , yyscan_t yyscanner)
diff --git a/3rdparty/libconfig/scanner.h b/3rdparty/libconfig/scanner.h
index ce2f5cc95..c1d295594 100644
--- a/3rdparty/libconfig/scanner.h
+++ b/3rdparty/libconfig/scanner.h
@@ -2,9 +2,9 @@
#define libconfig_yyHEADER_H 1
#define libconfig_yyIN_HEADER 1
-#line 6 "scanner.h"
+#line 5 "scanner.h"
-#line 8 "scanner.h"
+#line 7 "scanner.h"
#define YY_INT_ALIGNED short int
@@ -13,7 +13,7 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 0
+#define YY_FLEX_SUBMINOR_VERSION 2
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -92,25 +92,13 @@ typedef unsigned int flex_uint32_t;
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
#else
-#define yyconst
+#define yynoreturn
#endif
/* An opaque pointer. */
@@ -165,12 +153,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -204,21 +192,21 @@ struct yy_buffer_state
};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-void libconfig_yyrestart (FILE *input_file ,yyscan_t yyscanner );
-void libconfig_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
-void libconfig_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void libconfig_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void libconfig_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-void libconfig_yypop_buffer_state (yyscan_t yyscanner );
+void libconfig_yyrestart ( FILE *input_file , yyscan_t yyscanner );
+void libconfig_yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
+void libconfig_yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void libconfig_yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void libconfig_yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+void libconfig_yypop_buffer_state ( yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
+YY_BUFFER_STATE libconfig_yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
-void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner );
-void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-void libconfig_yyfree (void * ,yyscan_t yyscanner );
+void *libconfig_yyalloc ( yy_size_t , yyscan_t yyscanner );
+void *libconfig_yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
+void libconfig_yyfree ( void * , yyscan_t yyscanner );
#define libconfig_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
@@ -238,44 +226,44 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner );
int libconfig_yylex_init (yyscan_t* scanner);
-int libconfig_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
+int libconfig_yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int libconfig_yylex_destroy (yyscan_t yyscanner );
+int libconfig_yylex_destroy ( yyscan_t yyscanner );
-int libconfig_yyget_debug (yyscan_t yyscanner );
+int libconfig_yyget_debug ( yyscan_t yyscanner );
-void libconfig_yyset_debug (int debug_flag ,yyscan_t yyscanner );
+void libconfig_yyset_debug ( int debug_flag , yyscan_t yyscanner );
-YY_EXTRA_TYPE libconfig_yyget_extra (yyscan_t yyscanner );
+YY_EXTRA_TYPE libconfig_yyget_extra ( yyscan_t yyscanner );
-void libconfig_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
+void libconfig_yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
-FILE *libconfig_yyget_in (yyscan_t yyscanner );
+FILE *libconfig_yyget_in ( yyscan_t yyscanner );
-void libconfig_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
+void libconfig_yyset_in ( FILE * _in_str , yyscan_t yyscanner );
-FILE *libconfig_yyget_out (yyscan_t yyscanner );
+FILE *libconfig_yyget_out ( yyscan_t yyscanner );
-void libconfig_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
+void libconfig_yyset_out ( FILE * _out_str , yyscan_t yyscanner );
-yy_size_t libconfig_yyget_leng (yyscan_t yyscanner );
+ int libconfig_yyget_leng ( yyscan_t yyscanner );
-char *libconfig_yyget_text (yyscan_t yyscanner );
+char *libconfig_yyget_text ( yyscan_t yyscanner );
-int libconfig_yyget_lineno (yyscan_t yyscanner );
+int libconfig_yyget_lineno ( yyscan_t yyscanner );
-void libconfig_yyset_lineno (int _line_number ,yyscan_t yyscanner );
+void libconfig_yyset_lineno ( int _line_number , yyscan_t yyscanner );
-int libconfig_yyget_column (yyscan_t yyscanner );
+int libconfig_yyget_column ( yyscan_t yyscanner );
-void libconfig_yyset_column (int _column_no ,yyscan_t yyscanner );
+void libconfig_yyset_column ( int _column_no , yyscan_t yyscanner );
-YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner );
+YYSTYPE * libconfig_yyget_lval ( yyscan_t yyscanner );
-void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
+void libconfig_yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -283,18 +271,18 @@ void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int libconfig_yywrap (yyscan_t yyscanner );
+extern "C" int libconfig_yywrap ( yyscan_t yyscanner );
#else
-extern int libconfig_yywrap (yyscan_t yyscanner );
+extern int libconfig_yywrap ( yyscan_t yyscanner );
#endif
#endif
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
+static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
+static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
@@ -323,7 +311,7 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#define YY_DECL_IS_OURS 1
extern int libconfig_yylex \
- (YYSTYPE * yylval_param ,yyscan_t yyscanner);
+ (YYSTYPE * yylval_param , yyscan_t yyscanner);
#define YY_DECL int libconfig_yylex \
(YYSTYPE * yylval_param , yyscan_t yyscanner)
@@ -345,6 +333,6 @@ extern int libconfig_yylex \
#line 219 "scanner.l"
-#line 349 "scanner.h"
+#line 336 "scanner.h"
#undef libconfig_yyIN_HEADER
#endif /* libconfig_yyHEADER_H */
diff --git a/Hercules.xcodeproj/project.pbxproj b/Hercules.xcodeproj/project.pbxproj
index 66d46e7f5..fc7aa8dc4 100644
--- a/Hercules.xcodeproj/project.pbxproj
+++ b/Hercules.xcodeproj/project.pbxproj
@@ -1075,7 +1075,7 @@
A56CC652185642B4009EB79C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0710;
+ LastUpgradeCheck = 0800;
ORGANIZATIONNAME = herc.ws;
};
buildConfigurationList = A56CC655185642B4009EB79C /* Build configuration list for PBXProject "Hercules" */;
@@ -1503,13 +1503,18 @@
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)";
COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_FAST_MATH = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -1522,6 +1527,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@@ -1588,19 +1594,25 @@
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_FAST_MATH = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_STRICT_ALIASING = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme
index 8fc8f9cbb..5aa519349 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme
index 6ce9de3a6..52ae334ba 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme
index a62507de0..ce5cd9554 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme
index a64514c1d..40648c0dc 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme
index 603e02228..37f127142 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme
index 82cd4764d..1e14dc985 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme
index 30cc2a2e3..115168afc 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme
index 756fb2794..f437d0718 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme
index 49d1cc5e8..02924f4b2 100644
--- a/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme
+++ b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0710"
+ LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Makefile.in b/Makefile.in
index 46dd17b26..3de5e0bf3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -53,7 +53,7 @@ HAVE_DOXYGEN=@HAVE_DOXYGEN@
MF_TARGETS = Makefile $(addsuffix /Makefile, src/common 3rdparty/mt19937ar \
3rdparty/libconfig src/char src/login src/map src/plugins \
- src/tool src/test tools/HPMHookGen)
+ src/tool src/test tools/HPMHookGen tools/doxygen)
CC = @CC@
export CC
@@ -80,7 +80,7 @@ all: $(ALL_DEPENDS)
sql: $(SQL_DEPENDS)
-$(MF_TARGETS): %: %.in
+$(MF_TARGETS): %: %.in config.status
@echo " CONFIGURE"
@if [ -x config.status ]; then \
echo "Reconfiguring with options: $$(./config.status --config)"; \
@@ -140,6 +140,10 @@ hooks: tools/HPMHookGen/Makefile
@echo " MAKE $@"
@$(MAKE) -C tools/HPMHookGen
+docs: tools/doxygen/Makefile
+ @echo " MAKE $@"
+ @$(MAKE) -C tools/doxygen
+
import: Makefile
@# 1) create conf/import folder
@# 2) add missing files
@@ -158,6 +162,7 @@ clean buildclean: $(MF_TARGETS)
@$(MAKE) -C src/tool $@
@$(MAKE) -C src/test $@
@$(MAKE) -C tools/HPMHookGen $@
+ @$(MAKE) -C tools/doxygen $@
distclean: clean
@-rm -f $(MF_TARGETS) config.status config.log
@@ -196,9 +201,12 @@ help: Makefile
@echo " executables"
@echo "'distclean' - cleans files generated by ./configure"
@echo "'sysinfo' - re-generates the System Info include"
-ifeq ($(HAVE_PERL)$(HAVE_DOXYGEN),yesyes)
+ifeq ($(HAVE_DOXYGEN),yes)
+ @echo "'docs' - Generate the Doxygen source code documentation"
+ifeq ($(HAVE_PERL),yes)
@echo "'hooks' - re-generates the definitions for the HPM"
endif
+endif
@echo "'help' - outputs this message"
#####################################################################
diff --git a/README.md b/README.md
index 561ba45a9..8ade896f0 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,11 @@ Hercules
========
Build Status:
-[![Build Status](https://travis-ci.org/HerculesWS/Hercules.svg)](https://travis-ci.org/HerculesWS/Hercules)
+[![Build Status](https://travis-ci.org/HerculesWS/Hercules.svg?branch=master)](https://travis-ci.org/HerculesWS/Hercules)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/cm9xbwurpbltqjop?svg=true)](https://ci.appveyor.com/project/Haru/hercules)
-[![Coverity Scan Build Status](https://scan.coverity.com/projects/3892/badge.svg)](https://scan.coverity.com/projects/herculesws-hercules)
+[![Coverity Scan Build Status](https://scan.coverity.com/projects/3892/badge.svg)](https://scan.coverity.com/projects/herculesws-hercules)
+[![GitLabl Build Status](https://gitlab.com/HerculesWS/Hercules/badges/master/build.svg)](https://gitlab.com/HerculesWS/Hercules/commits/master)
+[![Coverage Report](https://gitlab.com/HerculesWS/Hercules/badges/master/coverage.svg)](https://gitlab.com/HerculesWS/Hercules/commits/master)
Issues and pull requests:
[![Open Issues](https://img.shields.io/github/issues-raw/HerculesWS/Hercules.svg?label=Open%20Issues)](https://github.com/HerculesWS/Hercules/issues)
diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf
index 4c6ef0348..c512f1fb7 100644
--- a/conf/char/char-server.conf
+++ b/conf/char/char-server.conf
@@ -106,8 +106,8 @@ char_configuration: {
// Start point (Renewal)
start_point_re: {
map: "iz_int"
- x: 97
- y: 90
+ x: 18
+ y: 27
}
// Start point (Pre-Renewal)
start_point_pre: {
diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf
index e478a92a1..39e1d9287 100644
--- a/conf/map/battle/player.conf
+++ b/conf/map/battle/player.conf
@@ -110,9 +110,12 @@ max_parameter: 99
// Same as max_parameter, but for 3rd classes.
max_third_parameter: 130
-// Same as max_parameter, but for extend classes (Ex. Super Novice, Kagero/Oboro, Rebellion).
+// Same as max_parameter, but for extended classes (Ex. Super Novice, Kagero/Oboro, Rebellion).
max_extended_parameter: 125
+// Same as max_parameter, but for summoner class
+max_summoner_parameter: 120
+
// Same as max_parameter, but for baby classes.
max_baby_parameter: 80
diff --git a/conf/map/help.txt b/conf/map/help.txt
index a65c7de70..846c16276 100644
--- a/conf/map/help.txt
+++ b/conf/map/help.txt
@@ -102,7 +102,7 @@ jobchange: "Params: <job name|ID>\n" "Changes your job.\n"
" 23 Super Novice 24 Gunslinger 25 Ninja 4045 Super Baby\n"
"4046 Taekwon 4047 Star Gladiator 4049 Soul Linker 4050 Gangsi\n"
"4051 Death Knight 4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby\n"
- "4211 Kagerou 4212 Oboro 4215 Rebellion\n"
+ "4211 Kagerou 4212 Oboro 4215 Rebellion 4218 Summoner\n"
"----- Baby Novice And Baby 1st Class -----\n"
"4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer\n"
"4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief\n"
diff --git a/conf/map/maps.conf b/conf/map/maps.conf
index dc4798354..0a975d62e 100644
--- a/conf/map/maps.conf
+++ b/conf/map/maps.conf
@@ -1087,7 +1087,7 @@ map_list: (
"moc_prydn2",
// Izlude Novice Academy & Tutorial
- // New Maps added 2013-02-10
+ // New Maps added 2016-09-12
"iz_int",
"iz_int01",
"iz_int02",
@@ -1110,6 +1110,11 @@ map_list: (
"izlude_c",
"izlude_b",
"izlude_a",
+ "int_land",
+ "int_land01",
+ "int_land02",
+ "int_land03",
+ "int_land04",
"prt_fild08d",
"prt_fild08c",
diff --git a/conf/messages.conf b/conf/messages.conf
index b9386b88e..a97a755f7 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -608,8 +608,9 @@
666: Sura T
667: Genetic T
668: Shadow Chaser T
+669: Summoner
-//669-855 FREE (please start using from the top if you need, leave the 669+ range for new jobs)
+//670-855 FREE (please start using from the top if you need, leave the 670+ range for new jobs)
// MvP Tomb
856: Tomb
diff --git a/configure b/configure
index 9b721dec4..46853a217 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac 302aefb.
+# From configure.ac b947fde.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69.
#
@@ -2196,6 +2196,8 @@ ac_config_files="$ac_config_files src/test/Makefile"
ac_config_files="$ac_config_files tools/HPMHookGen/Makefile"
+ac_config_files="$ac_config_files tools/doxygen/Makefile"
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -3452,7 +3454,7 @@ case $host_os in
CYGWIN*)
;;
*)
- if type id >/dev/null 2>&1; then
+ if type id >/dev/null 2>&1 && test -z "$CI"; then
euid="`id -u`"
if test "$euid" == "0"; then
echo ""
@@ -6066,33 +6068,6 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-omit-frame-pointer" >&5
-$as_echo_n "checking whether $CC supports -fno-omit-frame-pointer... " >&6; }
- OLD_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fno-omit-frame-pointer"
- OLD_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -fno-omit-frame-pointer"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo;
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- CFLAGS="$OLD_CFLAGS"
- LDFLAGS="$OLD_LDFLAGS"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
fi
fi
@@ -8242,10 +8217,64 @@ case $enable_debug in
"yes")
CFLAGS="$CFLAGS -g"
CPPFLAGS="$CPPFLAGS -DDEBUG"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-omit-frame-pointer" >&5
+$as_echo_n "checking whether $CC supports -fno-omit-frame-pointer... " >&6; }
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+ OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -fno-omit-frame-pointer"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+ LDFLAGS="$OLD_LDFLAGS"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
;;
"gdb")
CFLAGS="$CFLAGS -ggdb"
CPPFLAGS="$CPPFLAGS -DDEBUG"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-omit-frame-pointer" >&5
+$as_echo_n "checking whether $CC supports -fno-omit-frame-pointer... " >&6; }
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+ OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -fno-omit-frame-pointer"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+ LDFLAGS="$OLD_LDFLAGS"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
;;
esac
@@ -10193,6 +10222,7 @@ do
"src/tool/Makefile") CONFIG_FILES="$CONFIG_FILES src/tool/Makefile" ;;
"src/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/test/Makefile" ;;
"tools/HPMHookGen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/HPMHookGen/Makefile" ;;
+ "tools/doxygen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/doxygen/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/configure.ac b/configure.ac
index e88834722..34cbee61a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,6 +30,7 @@ AC_CONFIG_FILES([src/char/Makefile src/login/Makefile])
AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile src/tool/Makefile])
AC_CONFIG_FILES([src/test/Makefile])
AC_CONFIG_FILES([tools/HPMHookGen/Makefile])
+AC_CONFIG_FILES([tools/doxygen/Makefile])
dnl AC_USE_SYSTEM_EXTENSIONS requires autoconf 2.60 or newer. Fall back to AC_GNU_SOURCE otherwise.
m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
@@ -43,7 +44,7 @@ case $host_os in
CYGWIN*)
;;
*)
- if type id >/dev/null 2>&1; then
+ if type id >/dev/null 2>&1 && test -z "$CI"; then
euid="`id -u`"
if test "$euid" == "0"; then
echo ""
diff --git a/db/abra_db.txt b/db/abra_db.txt
index 2eb770abd..4870c489d 100644
--- a/db/abra_db.txt
+++ b/db/abra_db.txt
@@ -1,4 +1,4 @@
-// Hocus-Pocus (Abrakadabra) Castable Skills Database
+// Hocus-Pocus (Abracadabra) Castable Skills Database
//
// Structure of Database:
// SkillID,DummyName,RequiredHocusPocusLevel,Rate
diff --git a/db/constants.conf b/db/constants.conf
index a044aee7d..09c0fa9e4 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -225,6 +225,8 @@ constants_db: {
Job_Oboro: 4212
Job_Rebellion: 4215
+ Job_Summoner: 4218
+
comment__: "Job masks / Job map_ids"
EAJL_2_1: 0x0100
EAJL_2_2: 0x0200
@@ -248,6 +250,7 @@ constants_db: {
EAJ_GUNSLINGER: 0x0009
EAJ_NINJA: 0x000A
EAJ_GANGSI: 0x000D
+ EAJ_SUMMONER: 0x000E
EAJ_SUPER_NOVICE: 0x0100
EAJ_KNIGHT: 0x0101
@@ -1380,6 +1383,18 @@ constants_db: {
SC_G_LIFEPOTION: 640
SC_MYSTICPOWDER: 641
+ // Summoner
+ SC_SUHIDE: 642
+ SC_SU_STOOP: 643
+ SC_SPRITEMABLE: 644
+ SC_CATNIPPOWDER: 645
+ SC_SV_ROOTTWIST: 646
+ SC_BITESCAR: 647
+ SC_ARCLOUSEDASH: 648
+ SC_TUNAPARTY: 649
+ SC_SHRIMP: 650
+ SC_FRESHSHRIMP: 651
+
comment__: "Emotes"
e_gasp: 0
e_what: 1
@@ -3656,6 +3671,13 @@ constants_db: {
NPC_NAME_HIDDEN: 2
NPC_NAME_UNIQUE: 3
NPC_MAP: 4
+
+ comment__: "getcharid"
+ CHAR_ID_CHAR: 0
+ CHAR_ID_PARTY: 1
+ CHAR_ID_GUILD: 2
+ CHAR_ID_ACCOUNT: 3
+ CHAR_ID_BG: 4
comment__: "sc_start"
SCFLAG_NONE: 0x00
diff --git a/db/item_db2.conf b/db/item_db2.conf
index 8098b4155..e6b467b58 100644
--- a/db/item_db2.conf
+++ b/db/item_db2.conf
@@ -148,7 +148,7 @@ item_db: (
/*
{
Id: 1998
- AegisName: "Jeramiah's_Jur"
+ AegisName: "Jeramiahs_Jur"
Name: "Jeramiah's Jur"
Type: 3
Sell: 10
@@ -158,7 +158,7 @@ item_db: (
/*
{
Id: 1999
- AegisName: "Zed's_Staff"
+ AegisName: "Zeds_Staff"
Name: "Zed's Staff"
Type: 3
Sell: 10
@@ -221,7 +221,7 @@ item_db: (
/*
{
Id: 5136
- AegisName: "Santa's_Hat_"
+ AegisName: "Santas_Hat_"
Name: "Louise's Santa Hat"
Type: 5
Buy: 20
@@ -504,7 +504,7 @@ item_db: (
/*
{
Id: 14466
- AegisName: "Valentine's_Emblem_Box"
+ AegisName: "Valentines_Emblem_Box"
Name: "Valentine's Emblem Box"
Type: 2
Buy: 10
@@ -542,7 +542,7 @@ item_db: (
/*
{
Id: 5817
- AegisName: "Valentine's_Emblem"
+ AegisName: "Valentines_Emblem"
Name: "Valentine's Emblem"
Type: 5
Buy: 10
diff --git a/db/job_db2.txt b/db/job_db2.txt
index c2cc06064..37bb7cca1 100644
--- a/db/job_db2.txt
+++ b/db/job_db2.txt
@@ -289,3 +289,5 @@
4212,5,0,4,0,2,3,0,1,6,0,5,1,2,0,4,6,3,0,1,5,2,0,6,3,4,0,5,0,2,0,1,4,0,5,4,0,3,5,1,0,2,4,1,0,5,6,2,1,0,5
// Rebellion
4215,0,5,0,4,0,3,5,4,2,6,0,0,3,4,0,2,5,4,3,6,0,0,3,5,1,4,2,0,0,6,3,0,5,4,1,0,0,5,0,2,6,0,5,3,4,0,0,0,0,1
+// Summoner
+4218,5,0,3,0,5,3,0,2,4,0,2,4,5,0,2,4,5,0,2,4,5,0,6,3,5,0,2,0,6,0,4,5,0,6,0,4,6,0,2,0,5,4,3,0,5,6,3,2,0,5 \ No newline at end of file
diff --git a/db/map_index.txt b/db/map_index.txt
index 332361071..39f79dcf7 100644
--- a/db/map_index.txt
+++ b/db/map_index.txt
@@ -884,6 +884,11 @@ izlude_d
izlude_c
izlude_b
izlude_a
+int_land
+int_land01
+int_land02
+int_land03
+int_land04
prt_fild08d
prt_fild08c
prt_fild08b
diff --git a/db/mob_db2.conf b/db/mob_db2.conf
index f7b8bd9af..8d3e67904 100644
--- a/db/mob_db2.conf
+++ b/db/mob_db2.conf
@@ -560,9 +560,9 @@ mob_db: (
MvpExp: 0
Drops: {
Rat_Tail: 9000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Feather: 800
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Ora_Ora: 2
RicePouch: 2500
Tarou_Card: 1
@@ -609,7 +609,7 @@ mob_db: (
MvpExp: 0
Drops: {
Claw_Of_Rat: 4656
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Blue_Jewel: 80
Glass_Bead: 110
Lemon: 250
@@ -982,7 +982,7 @@ mob_db: (
Branch_Of_Dead_Tree: 500
Buche_De_Noel: 500
Fire_Cracker_Xmas: 500
- Santa's_Hat_: 500
+ Santas_Hat_: 500
Red_Bag: 500
Sweet_Candy_Striper: 500
Santa_Beard: 500
diff --git a/db/pre-re/exp.txt b/db/pre-re/exp.txt
index 840a216eb..0d4c44d51 100644
--- a/db/pre-re/exp.txt
+++ b/db/pre-re/exp.txt
@@ -7,7 +7,7 @@
//================================
//Base - Normal and Baby Jobs
-99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049:4050:4051:4052,0,9,16,25,36,77,112,153,200,253,320,385,490,585,700,830,970,1120,1260,1420,1620,1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,9174,10425,11748,13967,15775,17678,19677,21773,30543,34212,38065,42102,46323,53026,58419,64041,69892,75973,102468,115254,128692,142784,157528,178184,196300,215198,234879,255341,330188,365914,403224,442116,482590,536948,585191,635278,687211,740988,925400,1473746,1594058,1718928,1848355,1982340,2230113,2386162,2547417,2713878,3206160,3681024,4022472,4377024,4744680,5125440,5767272,6204000,6655464,7121664,7602600,9738720,11649960,13643520,18339300,23836800,35658000,48687000,58135000,99999998,100300002,100600902,100902708,101205414,101509034,101813561,102119002,102425359,102732638,103040840,103349964,103660020,103970998,104282915,104595762,104909549,105224282,105539955,105856574,106174147,106492668,106812152,107132590,107453992,107776356,108099683,108423981,108749258,109075506,109402732,109730946,110060139,110390318,110721493,111053662,111386827,111720986,112056149,112392322,112729499,113067686,113406893,113747119,114088363,114430627,114773918,115118244,115463597,115809993,116157424,116505898,116855416,117205984,117557604,117910275,118264005,118618802,118974658,119331582,119689581,120048655,120408804,120770028,121132344,121495743,121860233,122225815,122592496,122960276,123329155,123699142,124070244,124442453,124815785,125190233,125565805,125942508,126320342,126699307,127079404,127460648,127843032,128226563,128611242,128997076,129384065,129772218,130161535,130552023,130943682,131336513,131730524,132125722,132522099,132919665,133318425,133718382,134119541,134521905,134925472,135330251,135736249,136143467,136551905,136961562,137372455,137784568,138197932,138612532,139028368,139445456,139863795,140283386,140704245,141126355,141549734,141974380,142400310,142827507,143255989,143685754,144116820,144549169,144982818,145417767,145854016,146291581,146730461,147170658,147612171,148055015,148499176,148944668,149391509,149839681,150289202,150740070,151192287,151645868,152100812,152557121,153014794,153473847,153934264,154396078,154859271,155323845,155789814,156257180,156725958,157196133,157667719,158140718,158615145,159091000,159568284,160046996,160527136,161008720,161491749,161976222,162462156,162949549,163438404,163928718,164420509,164913776,165408520,165904741,166402453,166901658,167402372,167904578,168408293,168913516,169420264,169928520,170438301,170949622,171462468,171976854,172492782,173010265,173529306,174049903,174572057,175095783,175621067,176147938,176676383,177206416,177738038,178271249,178806065,179342485,179880511,180420157,180961424,181504312,182048836,182594982,183142764,183692200,184243272,184795997,185350391,185906439,186464155,187023556,187584626,188147381,188711822,189277963,189845805,190415349,190986594,191559555,192134234,192710646,193288775,193868638,194450249,195033610,195618720,196205580,196794204,197384594,197976749,198570686,199166404,199763903,200363199,200964293,201567185,202171889,202778407,203386739,203996900,204608890,205222726,205838392,206455919,207075292,207696526,208319621,208944579,209571414,210200126,210830732,211463232,212097626,212733929,213372142,214012264,214654297,215298271,215944171,216592013,217241796,217893521,218547205,219202846,219860461,220520050,221181612,221845165,222510708,223178240,223847779,224519324,225192890,225868479,226546090,227225739,227907425,228591151,229276930,229964763,230654667,231346640,232040684,232736814,233435031,234135333,234837738,235542262,236248887,236957631,237668509,238381522,239096669,239813967,240533414,241255013,241978778,242704725,243432839,244163135,244895630,245630324,246367216,247106322,247847644,248591196,249336978,250084992,250835252,251587759,252342528,253099560,253858855,254620429,255384298,256150462,256918920,257689674,258462754,259238145,260015863,260795909,261578297,262363044,263150134,263939583,264731408,265525607,266322182,267121148,267922521,268726301,269532488,270341083,271152116,271965590,272781502,273599854,274420645,275243907,276069641,276897846,277728555,278561735,279397419,280235606,281076328,281919554,282765316,283613613,284464446,285317847,286173815,287032351,287893455,288757126,289623397,290492268,291363738,292237841,293114575,293993909,294875907,295760537,296647831,297537789,298430411,299325697,300223679,301124357,302027731,302933833,303842631,304754158,305668412,306585427,307505202,308427738,309353033,310281089,311211937,312145578,313082011,314021268,314963350,315908256,316855987,317806574,318759986,319716286,320675443,321637489,322602423,323570246,324540957,325514589,326491142,327470616,328453042,329438422,330426754,331418039,332412309,333409563,334409803,335413028,336419270,337428528,338440836,339456161,340474535,341495958,342520463,343548016,344578683,345612431,346649260,347689203,348732290,349778492,350827838,351880330,352935968,353994783,355056775,356121945,357190325,358261914,359336713,360414721,361495971,362580463,363668196,364759204,365853485,366951040,368051900,369156067,370263539,371374350,372488466,373605953,374726777,375850972,376978536,378109471,379243808,380381547,381522688,382667264,383815273,384966717,386121628,387280004,388441848,389607189,390776029,391948368,393124205,394303572,395486503,396672963,397862987,399056573,400253754,401454529,402658900,403866897,405078521,406293772,407512649,408735186,409961414,411191300,412424878,413662147,414903139,416147854,417396292,418648485,419904434,421164170,422427661,423694939,424966037,426240955,427519691,428802248,430088655,431378914,432673057,433971084,435272994,436578820,437888561,439202250,440519855,441841408,443166941,444496454,445829946,447167451,448508967,449854496,451204068,452557685,453915378,455277147,456642993,458012946,459387008,460765178,462147489,463533940,464924563,466319359,467718327,469121500,470528878,471940460,473356279,474776366,476200691,477629316,479062209,480499404,481940900,483386728,484836890,486291416,487750308,489213565,490681218,492153269,493629750,495110659,496595998,498085798,499580059,501078814,502582062,504089804,505602071,507118896,508640279,510166219,511696717,513231804,514771514,516315845,517864798,519418405,520976666,522539612,524107245,525679564,527256601,528838388,530424926,532016213,533612283,535213136,536818770,538429251,540044547,541664688,543289709,544919608,546554386,548194042,549838641,551488183,553142668,554802095,556466529,558135971,559810419,561489875,563174337,564863870,566558475,568258151,569962962,571672844,573387862,575108015,576833368,578563856,580299543,582040430,583786581,585537931,587294546,589056423,590823629,592596099,594373896,596157022,597945475,599739320,601538558,603343188,605153210,606968688,608789622,610616013,612447860,614285228,616128116,617976525,619830454,621689968,623555066,625425750,627302018,629183935,631071501,632964715,634863643,636768220,638678509,640594576,642516357,644443914,646377249,648316425,650261378,652212173,654168810,656131352,658099735,660074024,662054283,664040448,666032583,668030687,670034761,672044870,674061012,676083189,678111463,680145836,682186307,684232877,686285609,688344503,690409559,692480779,694558224,696641897,698731860,700828050,702930530,705039366,707154492,709275974,711403810,713538066,715678677,717825706,719979220,722139152,724305568,726478467,728657914,730843909,733036451,735235604,737441306,739653619,741872608,744098273,746330614,748569631,750815324,753067757,755326995,757592972,759865754,762145341,764431796,766725119,769025311,771332371,773646365,775967291,778295214,780630134,782972050,785320964,787676939,790039975,792410136,794787358,797171706,799563243,801961970,804367886,806780992,809201351,811628965,814063896,816506080,818955647,821412532,823876798,826348447,828827478,831313955,833807943,836309377,838818321,841334776,843858806,846390410,848929588,851476406,854030863,856592958,859162756,861740258,864325526,866918498,869519301,872127872,874744273,877368507,880000635,882640660,885288580,887944460,890608299,893280163,895960051,898647962,901343898,904047922,906760098,909480427,912208908,914945541,917690391,920443458,923204805,925974433,928752406,931538660,934333323,937136331,939947748,942767639,945595938,948432775,951278086,954131934,956994319,959865306,962744895,965633150,968530071,971435658,974349975,977273022,980204863,983145499,986094929,989053217,992020428,994996498,997981490,1000975469,1003978435,1006990388,1010011392,1013041447,1016080617,1019128903,1022186304,1025252884,1028328644,1031413647,1034507894,1037611449,1040724312,1043846482,1046978025,1050119004,1053269354,1056429206,1059598493,1062777281,1065965634,1069163551,1072371032,1075588143,1078814882,1082051315,1085297504,1088553451,1091819155,1095094616,1098379962,1101675066,1104980056,1108295059,1111619948,1114954851,1118299768,1121654698,1125019643,1128394730,1131779959,1135175331,1138580845,1141996630,1145422685,1148859012,1152305609,1155762605,1159229871,1162707537,1166195731,1169694323,1173203443,1176723090,1180253265,1183794096,1187345454,1190907469,1194480267,1198063721,1201657960,1205262983,1208878790,1212505509,1216143013,1219791430,1223450888,1227121258,1230802669,1234495121,1238198615,1241913277,1245638981,1249375983,1253124154,1256883494,1260654132,1264436068,1268229430,1272034090,1275850176,1279677817,1283516884,1287367505,1291229681,1295103412,1298988697,1302885665,1306794316,1310714778,1314646923,1318590880,1322546648,1326514355,1330493874,1334485333,1338488860,1342504326,1346531861,1350571463,1354623262,1358687130,1362763193,1366851453,1370952039,1375064948,1379190183,1383327743,1387477756,1391640222,1395815141,1400002642,1404202725,1408415389,1412640635,1416878591,1421129257,1425392633,1429668847,1433957900,1438259791,1442574649,1446902346,1451243137,1455596895,1459963749,1464343697,1468736741,1473143009,1477562500,1481995214,1486441280
+99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049:4050:4051:4052:4218,0,9,16,25,36,77,112,153,200,253,320,385,490,585,700,830,970,1120,1260,1420,1620,1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,9174,10425,11748,13967,15775,17678,19677,21773,30543,34212,38065,42102,46323,53026,58419,64041,69892,75973,102468,115254,128692,142784,157528,178184,196300,215198,234879,255341,330188,365914,403224,442116,482590,536948,585191,635278,687211,740988,925400,1473746,1594058,1718928,1848355,1982340,2230113,2386162,2547417,2713878,3206160,3681024,4022472,4377024,4744680,5125440,5767272,6204000,6655464,7121664,7602600,9738720,11649960,13643520,18339300,23836800,35658000,48687000,58135000,99999998,100300002,100600902,100902708,101205414,101509034,101813561,102119002,102425359,102732638,103040840,103349964,103660020,103970998,104282915,104595762,104909549,105224282,105539955,105856574,106174147,106492668,106812152,107132590,107453992,107776356,108099683,108423981,108749258,109075506,109402732,109730946,110060139,110390318,110721493,111053662,111386827,111720986,112056149,112392322,112729499,113067686,113406893,113747119,114088363,114430627,114773918,115118244,115463597,115809993,116157424,116505898,116855416,117205984,117557604,117910275,118264005,118618802,118974658,119331582,119689581,120048655,120408804,120770028,121132344,121495743,121860233,122225815,122592496,122960276,123329155,123699142,124070244,124442453,124815785,125190233,125565805,125942508,126320342,126699307,127079404,127460648,127843032,128226563,128611242,128997076,129384065,129772218,130161535,130552023,130943682,131336513,131730524,132125722,132522099,132919665,133318425,133718382,134119541,134521905,134925472,135330251,135736249,136143467,136551905,136961562,137372455,137784568,138197932,138612532,139028368,139445456,139863795,140283386,140704245,141126355,141549734,141974380,142400310,142827507,143255989,143685754,144116820,144549169,144982818,145417767,145854016,146291581,146730461,147170658,147612171,148055015,148499176,148944668,149391509,149839681,150289202,150740070,151192287,151645868,152100812,152557121,153014794,153473847,153934264,154396078,154859271,155323845,155789814,156257180,156725958,157196133,157667719,158140718,158615145,159091000,159568284,160046996,160527136,161008720,161491749,161976222,162462156,162949549,163438404,163928718,164420509,164913776,165408520,165904741,166402453,166901658,167402372,167904578,168408293,168913516,169420264,169928520,170438301,170949622,171462468,171976854,172492782,173010265,173529306,174049903,174572057,175095783,175621067,176147938,176676383,177206416,177738038,178271249,178806065,179342485,179880511,180420157,180961424,181504312,182048836,182594982,183142764,183692200,184243272,184795997,185350391,185906439,186464155,187023556,187584626,188147381,188711822,189277963,189845805,190415349,190986594,191559555,192134234,192710646,193288775,193868638,194450249,195033610,195618720,196205580,196794204,197384594,197976749,198570686,199166404,199763903,200363199,200964293,201567185,202171889,202778407,203386739,203996900,204608890,205222726,205838392,206455919,207075292,207696526,208319621,208944579,209571414,210200126,210830732,211463232,212097626,212733929,213372142,214012264,214654297,215298271,215944171,216592013,217241796,217893521,218547205,219202846,219860461,220520050,221181612,221845165,222510708,223178240,223847779,224519324,225192890,225868479,226546090,227225739,227907425,228591151,229276930,229964763,230654667,231346640,232040684,232736814,233435031,234135333,234837738,235542262,236248887,236957631,237668509,238381522,239096669,239813967,240533414,241255013,241978778,242704725,243432839,244163135,244895630,245630324,246367216,247106322,247847644,248591196,249336978,250084992,250835252,251587759,252342528,253099560,253858855,254620429,255384298,256150462,256918920,257689674,258462754,259238145,260015863,260795909,261578297,262363044,263150134,263939583,264731408,265525607,266322182,267121148,267922521,268726301,269532488,270341083,271152116,271965590,272781502,273599854,274420645,275243907,276069641,276897846,277728555,278561735,279397419,280235606,281076328,281919554,282765316,283613613,284464446,285317847,286173815,287032351,287893455,288757126,289623397,290492268,291363738,292237841,293114575,293993909,294875907,295760537,296647831,297537789,298430411,299325697,300223679,301124357,302027731,302933833,303842631,304754158,305668412,306585427,307505202,308427738,309353033,310281089,311211937,312145578,313082011,314021268,314963350,315908256,316855987,317806574,318759986,319716286,320675443,321637489,322602423,323570246,324540957,325514589,326491142,327470616,328453042,329438422,330426754,331418039,332412309,333409563,334409803,335413028,336419270,337428528,338440836,339456161,340474535,341495958,342520463,343548016,344578683,345612431,346649260,347689203,348732290,349778492,350827838,351880330,352935968,353994783,355056775,356121945,357190325,358261914,359336713,360414721,361495971,362580463,363668196,364759204,365853485,366951040,368051900,369156067,370263539,371374350,372488466,373605953,374726777,375850972,376978536,378109471,379243808,380381547,381522688,382667264,383815273,384966717,386121628,387280004,388441848,389607189,390776029,391948368,393124205,394303572,395486503,396672963,397862987,399056573,400253754,401454529,402658900,403866897,405078521,406293772,407512649,408735186,409961414,411191300,412424878,413662147,414903139,416147854,417396292,418648485,419904434,421164170,422427661,423694939,424966037,426240955,427519691,428802248,430088655,431378914,432673057,433971084,435272994,436578820,437888561,439202250,440519855,441841408,443166941,444496454,445829946,447167451,448508967,449854496,451204068,452557685,453915378,455277147,456642993,458012946,459387008,460765178,462147489,463533940,464924563,466319359,467718327,469121500,470528878,471940460,473356279,474776366,476200691,477629316,479062209,480499404,481940900,483386728,484836890,486291416,487750308,489213565,490681218,492153269,493629750,495110659,496595998,498085798,499580059,501078814,502582062,504089804,505602071,507118896,508640279,510166219,511696717,513231804,514771514,516315845,517864798,519418405,520976666,522539612,524107245,525679564,527256601,528838388,530424926,532016213,533612283,535213136,536818770,538429251,540044547,541664688,543289709,544919608,546554386,548194042,549838641,551488183,553142668,554802095,556466529,558135971,559810419,561489875,563174337,564863870,566558475,568258151,569962962,571672844,573387862,575108015,576833368,578563856,580299543,582040430,583786581,585537931,587294546,589056423,590823629,592596099,594373896,596157022,597945475,599739320,601538558,603343188,605153210,606968688,608789622,610616013,612447860,614285228,616128116,617976525,619830454,621689968,623555066,625425750,627302018,629183935,631071501,632964715,634863643,636768220,638678509,640594576,642516357,644443914,646377249,648316425,650261378,652212173,654168810,656131352,658099735,660074024,662054283,664040448,666032583,668030687,670034761,672044870,674061012,676083189,678111463,680145836,682186307,684232877,686285609,688344503,690409559,692480779,694558224,696641897,698731860,700828050,702930530,705039366,707154492,709275974,711403810,713538066,715678677,717825706,719979220,722139152,724305568,726478467,728657914,730843909,733036451,735235604,737441306,739653619,741872608,744098273,746330614,748569631,750815324,753067757,755326995,757592972,759865754,762145341,764431796,766725119,769025311,771332371,773646365,775967291,778295214,780630134,782972050,785320964,787676939,790039975,792410136,794787358,797171706,799563243,801961970,804367886,806780992,809201351,811628965,814063896,816506080,818955647,821412532,823876798,826348447,828827478,831313955,833807943,836309377,838818321,841334776,843858806,846390410,848929588,851476406,854030863,856592958,859162756,861740258,864325526,866918498,869519301,872127872,874744273,877368507,880000635,882640660,885288580,887944460,890608299,893280163,895960051,898647962,901343898,904047922,906760098,909480427,912208908,914945541,917690391,920443458,923204805,925974433,928752406,931538660,934333323,937136331,939947748,942767639,945595938,948432775,951278086,954131934,956994319,959865306,962744895,965633150,968530071,971435658,974349975,977273022,980204863,983145499,986094929,989053217,992020428,994996498,997981490,1000975469,1003978435,1006990388,1010011392,1013041447,1016080617,1019128903,1022186304,1025252884,1028328644,1031413647,1034507894,1037611449,1040724312,1043846482,1046978025,1050119004,1053269354,1056429206,1059598493,1062777281,1065965634,1069163551,1072371032,1075588143,1078814882,1082051315,1085297504,1088553451,1091819155,1095094616,1098379962,1101675066,1104980056,1108295059,1111619948,1114954851,1118299768,1121654698,1125019643,1128394730,1131779959,1135175331,1138580845,1141996630,1145422685,1148859012,1152305609,1155762605,1159229871,1162707537,1166195731,1169694323,1173203443,1176723090,1180253265,1183794096,1187345454,1190907469,1194480267,1198063721,1201657960,1205262983,1208878790,1212505509,1216143013,1219791430,1223450888,1227121258,1230802669,1234495121,1238198615,1241913277,1245638981,1249375983,1253124154,1256883494,1260654132,1264436068,1268229430,1272034090,1275850176,1279677817,1283516884,1287367505,1291229681,1295103412,1298988697,1302885665,1306794316,1310714778,1314646923,1318590880,1322546648,1326514355,1330493874,1334485333,1338488860,1342504326,1346531861,1350571463,1354623262,1358687130,1362763193,1366851453,1370952039,1375064948,1379190183,1383327743,1387477756,1391640222,1395815141,1400002642,1404202725,1408415389,1412640635,1416878591,1421129257,1425392633,1429668847,1433957900,1438259791,1442574649,1446902346,1451243137,1455596895,1459963749,1464343697,1468736741,1473143009,1477562500,1481995214,1486441280
//Base - Trans Jobs
99,4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304206,18516326,19766760,29216160,34949880,40930560,55017900,71510400,106974000,146061000,174405000,343210000,343896395,344584167,345273319,345963849,346655758,347349046,348043745,348739822,349437278,350136145,350836423,351538079,352241147,352945625,353651514,354358813,355067524,355777645,356489178,357202153,357916539,358632367,359349607,360068289,360788415,361509983,362232994,362957448,363683345,364410717,365139532,365869789,366601522,367334729,368069379,368805505,369543105,370282180,371022730,371764755,372508287,373253294,373999776,374747765,375497261,376248232,377000710,377754695,378510187,379267186,380025724,380785769,381547321,382310412,383075010,383841148,384608824,385378039,386148794,386921087,387694920,388470291,389247234,390025716,390805769,391587361,392370524,393155258,393941564,394729440,395518888,396309907,397102529,397896722,398692519,399489886,400288857,401089431,401891608,402695388,403500772,404307759,405116349,405926574,406738402,407551866,408366965,409183699,410002068,410822073,411643713,412466988,413291899,414118477,414946690,415776570,416608118,417441333,418276215,419112765,419950982,420790867,421632450,422475702,423320652,424167270,425015587,425865604,426717320,427570735,428425850,429282696,430141242,431001519,431863495,432727203,433592643,434459814,435328716,436199350,437071747,437945876,438821768,439699392,440578779,441459930,442342844,443227522,444113963,445002168,445892168,446783932,447677492,448572847,449469966,450368880,451269622,452172159,453076492,453982621,454890577,455800361,456711940,457625348,458540582,459457645,460376535,461297285,462219862,463144299,464070564,464998689,465928673,466860517,467794221,468729784,469667239,470606554,471547761,472490859,473435817,474382667,475331409,476282074,477234631,478189080,479145453,480103718,481063907,482026019,482990055,483956015,484923899,485893739,486865502,487839222,488814897,489792529,490772116,491753659,492737158,493722613,494710056,495699455,496690842,497684216,498679579,499676930,500676268,501677595,502680942,503686276,504693631,505703006,506714400,507727815,508743250,509760737,510780244,511801803,512825382,513851013,514878696,515908432,516940219,517974091,519010014,520048022,521088114,522130290,523174551,524220895,525269324,526319837,527372466,528427211,529484040,530542986,531604048,532667226,533732552,534799995,535869586,536941325,538015180,539091184,540169368,541249668,542332149,543416810,544503651,545592673,546683875,547777257,548872820,549970563,551070486,552172590,553276938,554383467,555492240,556603194,557716392,558831834,559949457,561069324,562191436,563315792,564442393,565571238,566702391,567835790,568971432,570109384,571249580,572392084,573536833,574683890,575833257,576984931,578138915,579295207,580453807,581614716,582777934,583943460,585111359,586281567,587454083,588628973,589806234,590985805,592167748,593352064,594538752,595727814,596919248,598113055,599309234,600507851,601708840,602912266,604118064,605326300,606536908,607749954,608965436,610183355,611403711,612626503,613851733,615079399,616309567,617542171,618777212,620014754,621254797,622497277,623742258,624989740,626239723,627492207,628747192,630004678,631264665,632527153,633792206,635059760,636329879,637602499,638877684,640155434,641435750,642718631,644004076,645292087,646582663,647875804,649171510,650469846,651770746,653074276,654380435,655689159,657000513,658314496,659631108,660950349,662272219,663596719,664923912,666253734,667586250,668921395,670259233,671599765,672942926,674288780,675637328,676988569,678342503,679699195,681058580,682420659,683785495,685153025,686523312,687896356,689272159,690650654,692031907,693415982,694802814,696192403,697584750,698979919,700377845,701778593,703182163,704588490,705997638,707409609,708824400,710242014,711662449,713085770,714511913,715940941,717372791,718807527,720245148,721685591,723128920,724575135,726024235,727476285,728931221,730389043,731849815,733313472,734780080,736249637,737722144,739197537,740675944,742157300,743641607,745128864,746619070,748112290,749608525,751107709,752609908,754115120,755623346,757134587,758648841,760166110,761686392,763209753,764736127,766265580,767798111,769333656,770872279,772413980,773958760,775506681,777057681,778611759,780168979,781729277,783292718,784859301,786429026,788001893,789577903,791157055,792739349,794324786,795913429,797505214,799100205,800698403,802299808,803904354,805512172,807123195,808737425,810354861,811975568,813599482,815226666,816857120,818490781,820127712,821767978,823411514,825058321,826708399,828361811,830018494,831678511,833341863,835008550,836678571,838351927,840028618,841708643,843392067,845078826,846768983,848462476,850159367,851859656,853563345,855270432,856980918,858694867,860412215,862133026,863857299,865584972,867316107,869050705,870788766,872530291,874275342,876023856,877775897,879531401,881290432,883052990,884819075,886588687,888361826,890138556,891918814,893702598,895489974,897280940,899075498,900873647,902675388,904480719,906289642,908102219,909918389,911738213,913561693,915388763,917219489,919053935,920892036,922733792,924579267,926428398,928281248,930137754,931997979,933861923,935729651,937601099,939476266,941355216,943237886,945124339,947014576,948908596,950806400,952707988,954613359,956522578,958435580,960352430,962273128,964197673,966126066,968058307,969994395,971934331,973878179,975825939,977777546,979733065,981692496,983655839,985623094,987594324,989569467,991548585,993531679,995518685,997509667,999504689,1001503687,1003506661,1005513675,1007524665,1009539695,1011558765,1013581875,1015609025,1017640215,1019675446,1021714780,1023758155,1025805633,1027857216,1029912903,1031972695,1034036590,1036104654,1038176822,1040253158,1042333663,1044418272,1046507113,1048600123,1050697301,1052798647,1054904226,1057014037,1059128016,1061246228,1063368673,1065495414,1067626387,1069761593,1071901095,1074044894,1076192990,1078345382,1080502006,1082662992,1084828338,1086997916,1089171855,1091350155,1093532816,1095719837,1097911219,1100106962,1102307193,1104511786,1106720739,1108934181,1111151983,1113374275,1115601056,1117832197,1120067827,1122307946,1124552555,1126801652,1129055238,1131313313,1133575877,1135843058,1138114728,1140390888,1142671664,1144956929,1147246812,1149541312,1151840429,1154144035,1156452258,1158765098,1161082556,1163404631,1165731451,1168062888,1170398943,1172739743,1175085161,1177435324,1179790104,1182149629,1184513900,1186882917,1189256679,1191635186,1194018439,1196406438,1198799181,1201196799,1203599162,1206006271,1208418253,1210835109,1213256710,1215683186,1218114535,1220550757,1222991854,1225437824,1227888668,1230344385,1232805105,1235270698,1237741165,1240216634,1242696977,1245182321,1247672668,1250168017,1252668367,1255173720,1257684075,1260199431,1262719790,1265245150,1267775641,1270311134,1272851757,1275397382,1277948137,1280504023,1283065039,1285631185,1288202461,1290778867,1293360404,1295947071,1298538868,1301135924,1303738110,1306345554,1308958257,1311576090,1314199182,1316827532,1319461141,1322100008,1324744133,1327393646,1330048417,1332708446,1335373862,1338044537,1340720598,1343402046,1346088753,1348780846,1351478326,1354181193,1356889575,1359603344,1362322499,1365047170,1367777227,1370512799,1373253758,1376000232,1378752221,1381509725,1384272743,1387041277,1389815326,1392594890,1395380098,1398170820,1400967185,1403769066,1406576590,1409389757,1412208439,1415032764,1417862732,1420698473,1423539856,1426386883,1429239681,1432098122,1434962335,1437832191,1440707819,1443589218,1446476389,1449369331,1452268045,1455172530,1458082787,1460998944,1463920872,1466848700,1469782299,1472721798,1475667197,1478618496,1481575694,1484538793,1487507791,1490482817,1493463743,1496450568,1499443422,1502442304,1505447085,1508457895,1511474732,1514497598,1517526492,1520561541,1523602619,1526649725,1529702988,1532762406,1535827853,1538899456,1541977215,1545061130,1548151202,1551247430,1554349943,1557458611,1560573437,1563694546,1566821940,1569955491,1573095326,1576241446,1579393850,1582552538,1585717640,1588889026,1592066825,1595250908,1598441404,1601638185,1604841379,1608050985,1611267004,1614489436,1617718409,1620953795,1624195721,1627444061,1630698942,1633960235,1637228070,1640502445,1643783362,1647070948,1650365075,1653665743,1656973081,1660286959,1663607507,1666934724,1670268610,1673609166,1676956391,1680310285,1683670849,1687038210,1690412240,1693793069,1697180566,1700574861,1703975953,1707383843,1710798531,1714220145,1717648556,1721083764,1724525899,1727974959,1731430817,1734893600,1738363310,1741839945,1745323635,1748814250,1752311791,1755816386,1759328035,1762846610,1766372239,1769904922,1773444660,1776991451,1780545425,1784106452,1787674663,1791249927,1794832373,1798422002,1802018813,1805622807,1809233983,1812852341,1816478010,1820110861,1823751022,1827398495,1831053278,1834715371,1838384775,1842061490,1845745515,1849436979,1853135754,1856841967,1860555620,1864276711,1868005241,1871741210,1875484618,1879235593,1882994006,1886759987,1890533407,1894314394,1898102947,1901899068,1905702757,1909514140,1913333091,1917159736,1920993949,1924835858,1928685462,1932542761,1936407755,1940280573,1944161087,1948049295,1951945328,1955849184,1959760864,1963680367,1967607694,1971542844,1975485818,1979436744,1983395622,1987362324,1991336977,1995319582,1999310139,2003308648,2007315237,2011329778,2015352399,2019383101,2023421754,2027468487,2031523428,2035586450,2039657552,2043736862,2047824253,2051919851,2056023658,2060135674,2064255898,2068384330,2072521099,2076666076
@@ -16,7 +16,7 @@
10,0:4023,1,10,18,28,40,91,151,205,268,340
//Job - 1st Classes & Baby 1st Classes
-50,1:2:3:4:5:6:4024:4025:4026:4027:4028:4029:4046:4050,1,30,43,58,76,116,180,220,272,336,520,604,699,802,948,1125,1668,1937,2226,3040,3988,5564,6272,7021,9114,11473,15290,16891,18570,23229,28359,36478,39716,43088,52417,62495,78160,84175,90404,107611,125915,153941,191781,204351,248352,286212,386371,409795,482092,509596,519787,530182,540785,551600,562631,573883,585360,597067,609008,621188,633611,646283,659208,672392,685839,699555,713546,727816,742372,757219,772363,787810,803566,819637,836029,852749,869803,887199,904942,923040,941500,960329,979535,999125,1019107,1039489,1060278,1081483,1103112,1125174,1147677,1170630,1194042,1217922,1242280,1267125,1292467,1318316,1344682,1371575,1399006,1426986,1455525,1484635,1514327,1544613,1575505,1607015,1639155,1671938,1705376,1739483,1774272,1809757,1845952,1882871,1920528,1958938,1998116,2038078,2078839,2120415,2162823,2206079,2250200,2295203,2341107,2387929,2435687,2484400,2534087,2584768,2636463,2689192,2742975,2797834,2853790,2910865,2969082,3028463,3089032,3150812,3213828,3278104,3343666,3410539,3478749,3548323,3619289,3691674,3765507,3840817,3917633,3995985,4075904,4157422,4240570,4325381,4411888,4500125,4590127,4681929,4775567,4871078,4968499,5067868,5169225,5272609,5378061,5485622,5595334,5707240,5821384,5937811,6056567,6177698,6301251,6427275,6555820,6686936,6820674,6957087,7096228,7238152,7382914,7530572,7681183,7834806,7991501,8151330,8314356,8480642,8650254,8823258,8999722,9179716,9363310,9550576,9741587,9936418,10135146,10337848,10544604,10755495,10970604,11190015,11413815,11642091,11874932,12112430,12354678,12601771,12853806,13110881,13373098,13640559,13913369,14191636,14475468,14764977,15060276,15361481,15668710,15982083,16301724,16627758,16960312,17299517,17645505,17998413,18358379,18725547,19100058,19482058,19871698,20269131,20674514,21088003,21509763,21939958,22378756,22826330,23282856,23748512,24223481,24707949,25202106,25706147,26220270,26744674,27279566,27825156,28381658,28949290,29528275
+50,1:2:3:4:5:6:4024:4025:4026:4027:4028:4029:4046:4050:4218,1,30,43,58,76,116,180,220,272,336,520,604,699,802,948,1125,1668,1937,2226,3040,3988,5564,6272,7021,9114,11473,15290,16891,18570,23229,28359,36478,39716,43088,52417,62495,78160,84175,90404,107611,125915,153941,191781,204351,248352,286212,386371,409795,482092,509596,519787,530182,540785,551600,562631,573883,585360,597067,609008,621188,633611,646283,659208,672392,685839,699555,713546,727816,742372,757219,772363,787810,803566,819637,836029,852749,869803,887199,904942,923040,941500,960329,979535,999125,1019107,1039489,1060278,1081483,1103112,1125174,1147677,1170630,1194042,1217922,1242280,1267125,1292467,1318316,1344682,1371575,1399006,1426986,1455525,1484635,1514327,1544613,1575505,1607015,1639155,1671938,1705376,1739483,1774272,1809757,1845952,1882871,1920528,1958938,1998116,2038078,2078839,2120415,2162823,2206079,2250200,2295203,2341107,2387929,2435687,2484400,2534087,2584768,2636463,2689192,2742975,2797834,2853790,2910865,2969082,3028463,3089032,3150812,3213828,3278104,3343666,3410539,3478749,3548323,3619289,3691674,3765507,3840817,3917633,3995985,4075904,4157422,4240570,4325381,4411888,4500125,4590127,4681929,4775567,4871078,4968499,5067868,5169225,5272609,5378061,5485622,5595334,5707240,5821384,5937811,6056567,6177698,6301251,6427275,6555820,6686936,6820674,6957087,7096228,7238152,7382914,7530572,7681183,7834806,7991501,8151330,8314356,8480642,8650254,8823258,8999722,9179716,9363310,9550576,9741587,9936418,10135146,10337848,10544604,10755495,10970604,11190015,11413815,11642091,11874932,12112430,12354678,12601771,12853806,13110881,13373098,13640559,13913369,14191636,14475468,14764977,15060276,15361481,15668710,15982083,16301724,16627758,16960312,17299517,17645505,17998413,18358379,18725547,19100058,19482058,19871698,20269131,20674514,21088003,21509763,21939958,22378756,22826330,23282856,23748512,24223481,24707949,25202106,25706147,26220270,26744674,27279566,27825156,28381658,28949290,29528275
//Job - 2nd Classes & Baby 2nd Classes
50,7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4051:4052,1,144,184,284,348,603,887,1096,1598,2540,3676,4290,4946,6679,9492,12770,14344,16005,20642,27434,35108,38577,42206,52708,66971,82688,89544,96669,117821,144921,174201,186677,199584,238617,286366,337147,358435,380376,447685,526989,610246,644736,793535,921810,1106758,1260955,1487304,1557657,1990632,2083386,2125053,2167554,2210905,2255123,2300225,2346229,2393153,2441016,2489836,2539632,2590424,2642232,2695076,2748977,2803956,2860035,2917235,2975579,3035090,3095791,3157706,3220860,3285277,3350982,3418001,3486360,3556087,3627208,3699752,3773746,3849220,3926204,4004728,4084822,4166518,4249848,4334844,4421540,4509970,4600169,4692172,4786015,4881735,4979369,5078956,5180535,5284145,5389827,5497623,5607575,5719726,5834120,5950802,6069817,6191213,6315037,6441337,6570163,6701566,6835597,6972308,7111754,7253988,7399067,7547048,7697988,7851947,8008985,8169164,8332547,8499197,8669180,8842563,9019414,9199802,9383797,9571472,9762901,9958158,10157320,10360466,10567675,10779028,10994608,11214499,11438788,11667563,11900914,12138932,12381710,12629343,12881929,13139567,13402358,13670404,13943811,14222686,14507139,14797281,15093226,15395090,15702991,16017050,16337390,16664137,16997419,17337368,17684115,18037797,18398551,18766522,19141852,19524688,19915181,20313483,20719753,21134146,21556828,21987964,22427722,22876276,23333801,23800475,24276485,24762013,25257251,25762396,26277643,26803196,27339259,27886044,28443764,29012638,29592890,30184747,30788442,31404210,32032293,32672937,33326394,33992921,34672777,35366230,36073555,36795026,37530923,38281541,39047170,39828110,40624673,41437164,42265906,43111221,43973443,44852912,45749969,46664966,47598266,48550228,49521231,50511655,51521888,52552324,53603369,54675434,55768939,56884317,58022001,59182438,60366087,61573408,62804874,64060968,65342186,66649026,67982003,69341638,70728471,72143040,73585899,75057612,76558766,78089941,79651741,81244777,82869669,84527063,86217603,87941950,89700789,91494806,93324702,95191196,97095022,99036922,101017656,103038007,105098766,107200741,109344756,111531644,113762278,116037523,118358268,120725435
diff --git a/db/pre-re/item_chain.conf b/db/pre-re/item_chain.conf
index 892686271..a2e4efff4 100644
--- a/db/pre-re/item_chain.conf
+++ b/db/pre-re/item_chain.conf
@@ -91,7 +91,7 @@ ITMCHAIN_HEAL: {
Novice_Potion: 50
Nice_Sweet_Potato: 50
Candy: 100
- ID528: 200 //Monster's_Feed
+ Monsters_Feed: 200
Popped_Rice: 600
}
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index b61f1ec0e..ed400e270 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -100,7 +100,7 @@ item_db: (
nocart: true/false (boolean, defaults to false)
noselltonpc: true/false (boolean, defaults to false)
nomail: true/false (boolean, defaults to false)
- noauction: true/false (boolean, defaults to false)
+ noauction: true/false (boolean, defaults to false)
nogstorage: true/false (boolean, defaults to false)
partneroverride: true/false (boolean, defaults to false)
}
@@ -387,7 +387,7 @@ item_db: (
},
{
Id: 528
- AegisName: "Monster's_Feed"
+ AegisName: "Monsters_Feed"
Name: "Monster's Feed"
Type: 0
Buy: 60
@@ -510,7 +510,7 @@ item_db: (
},
{
Id: 540
- AegisName: "Falcon's_Feed"
+ AegisName: "Falcons_Feed"
Name: "Falcon Food"
Type: 0
Buy: 2000
@@ -519,7 +519,7 @@ item_db: (
},
{
Id: 541
- AegisName: "Pecopeco's_Feed"
+ AegisName: "Pecopecos_Feed"
Name: "PecoPeco Food"
Type: 0
Buy: 3000
@@ -973,7 +973,7 @@ item_db: (
{
Id: 585
AegisName: "Wurst"
- Name: "Brusti"
+ Name: "Wurst"
Type: 0
Buy: 2
Weight: 40
@@ -981,7 +981,7 @@ item_db: (
},
{
Id: 586
- AegisName: "Mother's_Cake"
+ AegisName: "Mothers_Cake"
Name: "Mother's Cake"
Type: 0
Buy: 20
@@ -1702,6 +1702,7 @@ item_db: (
Dark_Collector: true
Kagerou: true
Rebellion: true
+ Summoner: true
}
EquipLv: 40
BuyingStore: true
@@ -2758,7 +2759,7 @@ item_db: (
},
{
Id: 904
- AegisName: "Scorpion's_Tail"
+ AegisName: "Scorpions_Tail"
Name: "Scorpion Tail"
Type: 3
Buy: 124
@@ -2893,7 +2894,7 @@ item_db: (
},
{
Id: 919
- AegisName: "Animal's_Skin"
+ AegisName: "Animals_Skin"
Name: "Animal Skin"
Type: 3
Buy: 36
@@ -3064,7 +3065,7 @@ item_db: (
},
{
Id: 940
- AegisName: "Grasshopper's_Leg"
+ AegisName: "Grasshoppers_Leg"
Name: "Grasshopper's Leg"
Type: 3
Buy: 36
@@ -3118,7 +3119,7 @@ item_db: (
},
{
Id: 946
- AegisName: "Snail's_Shell"
+ AegisName: "Snails_Shell"
Name: "Snail's Shell"
Type: 3
Buy: 64
@@ -3136,7 +3137,7 @@ item_db: (
},
{
Id: 948
- AegisName: "Bear's_Foot"
+ AegisName: "Bears_Foot"
Name: "Bear's Footskin"
Type: 3
Buy: 174
@@ -3729,7 +3730,7 @@ item_db: (
},
{
Id: 1015
- AegisName: "Thin_N'_Long_Tongue"
+ AegisName: "Thin_N_Long_Tongue"
Name: "Tongue"
Type: 3
Buy: 528
@@ -3846,7 +3847,7 @@ item_db: (
},
{
Id: 1028
- AegisName: "Wild_Boar's_Mane"
+ AegisName: "Wild_Boars_Mane"
Name: "Mane"
Type: 3
Buy: 196
@@ -3855,7 +3856,7 @@ item_db: (
},
{
Id: 1029
- AegisName: "Tiger's_Skin"
+ AegisName: "Tigers_Skin"
Name: "Tiger Skin"
Type: 3
Buy: 548
@@ -3954,7 +3955,7 @@ item_db: (
},
{
Id: 1040
- AegisName: "Elder_Pixie's_Beard"
+ AegisName: "Elder_Pixies_Beard"
Name: "Elder Pixie's Moustache"
Type: 3
Buy: 232
@@ -4322,7 +4323,7 @@ item_db: (
},
{
Id: 1084
- AegisName: "Kapra's_Pass"
+ AegisName: "Kapras_Pass"
Name: "Kafra Pass"
Type: 3
Weight: 10
@@ -7787,7 +7788,7 @@ item_db: (
},
{
Id: 1229
- AegisName: "Mama's_Knife"
+ AegisName: "Mamas_Knife"
Name: "Kitchen Knife"
Type: 4
Buy: 20
@@ -8394,7 +8395,7 @@ item_db: (
},
{
Id: 1249
- AegisName: "Fisherman's_Dagger"
+ AegisName: "Fishermans_Dagger"
Name: "Fisherman's Dagger"
Type: 4
Buy: 10000
@@ -12060,7 +12061,7 @@ item_db: (
},
{
Id: 1469
- AegisName: "Longinus's_Spear"
+ AegisName: "Longinuss_Spear"
Name: "Longinus's Spear"
Type: 4
Buy: 20
@@ -14082,7 +14083,7 @@ item_db: (
},
{
Id: 1558
- AegisName: "Girl's_Diary"
+ AegisName: "Girls_Diary"
Name: "Girl's Diary"
Type: 4
Buy: 1500
@@ -15344,7 +15345,7 @@ item_db: (
},
{
Id: 1621
- AegisName: "Hypnotist's_Staff"
+ AegisName: "Hypnotists_Staff"
Name: "Hypnotist's Staff"
Type: 4
Buy: 43000
@@ -15366,7 +15367,7 @@ item_db: (
},
{
Id: 1622
- AegisName: "Hypnotist's_Staff_"
+ AegisName: "Hypnotists_Staff_"
Name: "Hypnotist's Staff"
Type: 4
Buy: 20
@@ -16175,7 +16176,7 @@ item_db: (
},
{
Id: 1646
- AegisName: "La'cryma_Stick"
+ AegisName: "Lacryma_Stick"
Name: "La'cryma Stick"
Type: 4
Buy: 20
@@ -19540,7 +19541,7 @@ item_db: (
},
{
Id: 1970
- AegisName: "Queen's_Whip"
+ AegisName: "Queens_Whip"
Name: "Queen's Whip"
Type: 4
Buy: 20
@@ -19674,7 +19675,7 @@ item_db: (
},
{
Id: 1976
- AegisName: "Queen's_Whip_"
+ AegisName: "Queens_Whip_"
Name: "Queen's Whip"
Type: 4
Buy: 20
@@ -20389,7 +20390,7 @@ item_db: (
},
{
Id: 2115
- AegisName: "Valkyrja's_Shield"
+ AegisName: "Valkyrjas_Shield"
Name: "Valkyrja's Shield"
Type: 5
Buy: 30000
@@ -20413,7 +20414,7 @@ item_db: (
},
{
Id: 2116
- AegisName: "Angel's_Safeguard"
+ AegisName: "Angels_Safeguard"
Name: "Angelic Guard"
Type: 5
Buy: 10000
@@ -20871,7 +20872,7 @@ item_db: (
},
{
Id: 2137
- AegisName: "Valkyrja's_Shield_C"
+ AegisName: "Valkyrjas_Shield_C"
Name: "Neo Valkyrja's Shield"
Type: 5
Def: 5
@@ -21024,7 +21025,7 @@ item_db: (
},
{
Id: 2205
- AegisName: "Diver's_Goggles"
+ AegisName: "Divers_Goggles"
Name: "Diver Goggles"
Type: 5
Buy: 3500
@@ -21520,7 +21521,7 @@ item_db: (
},
{
Id: 2236
- AegisName: "Santa's_Hat"
+ AegisName: "Santas_Hat"
Name: "Santa Hat"
Type: 5
Buy: 20
@@ -21619,7 +21620,7 @@ item_db: (
},
{
Id: 2244
- AegisName: "Big_Sis'_Ribbon"
+ AegisName: "Big_Sis_Ribbon"
Name: "Big Ribbon"
Type: 5
Buy: 15000
@@ -21667,7 +21668,7 @@ item_db: (
},
{
Id: 2247
- AegisName: "Oldman's_Romance"
+ AegisName: "Oldmans_Romance"
Name: "Romantic Gent"
Type: 5
Buy: 15000
@@ -22539,7 +22540,7 @@ item_db: (
},
{
Id: 2306
- AegisName: "Adventurere's_Suit_"
+ AegisName: "Adventureres_Suit_"
Name: "Adventurer's Suit"
Type: 5
Buy: 1000
@@ -23375,7 +23376,7 @@ item_db: (
},
{
Id: 2353
- AegisName: "Odin's_Blessing"
+ AegisName: "Odins_Blessing"
Name: "Odin's Blessing"
Type: 5
Buy: 30000
@@ -23391,7 +23392,7 @@ item_db: (
},
{
Id: 2354
- AegisName: "Goibne's_Armor"
+ AegisName: "Goibnes_Armor"
Name: "Goibne's Armor"
Type: 5
Buy: 50000
@@ -23410,7 +23411,7 @@ item_db: (
},
{
Id: 2355
- AegisName: "Angel's_Protection"
+ AegisName: "Angels_Protection"
Name: "Angelic Protection"
Type: 5
Buy: 10000
@@ -24342,7 +24343,7 @@ item_db: (
},
{
Id: 2393
- AegisName: "N_Adventurer's_Suit"
+ AegisName: "N_Adventurers_Suit"
Name: "Novice Adventurer's Suit"
Type: 5
Def: 8
@@ -24784,7 +24785,7 @@ item_db: (
},
{
Id: 2418
- AegisName: "Vidar's_Boots"
+ AegisName: "Vidars_Boots"
Name: "Vidar's Boots"
Type: 5
Buy: 30000
@@ -24803,7 +24804,7 @@ item_db: (
},
{
Id: 2419
- AegisName: "Goibne's_Combat_Boots"
+ AegisName: "Goibnes_Combat_Boots"
Name: "Goibne's Greaves"
Type: 5
Buy: 30000
@@ -24823,7 +24824,7 @@ item_db: (
},
{
Id: 2420
- AegisName: "Angel's_Arrival"
+ AegisName: "Angels_Arrival"
Name: "Angel's Reincarnation"
Type: 5
Buy: 10000
@@ -25683,7 +25684,7 @@ item_db: (
},
{
Id: 2511
- AegisName: "Skeleton's_Cape"
+ AegisName: "Skeletons_Cape"
Name: "Skeleton Manteau"
Type: 5
Buy: 5000
@@ -25798,7 +25799,7 @@ item_db: (
},
{
Id: 2517
- AegisName: "Vali's_Manteau"
+ AegisName: "Valis_Manteau"
Name: "Vali's Manteau"
Type: 5
Buy: 30000
@@ -25814,7 +25815,7 @@ item_db: (
},
{
Id: 2518
- AegisName: "Morpheus's_Shawl"
+ AegisName: "Morpheuss_Shawl"
Name: "Morpheus's Shawl"
Type: 5
Buy: 30000
@@ -25833,7 +25834,7 @@ item_db: (
},
{
Id: 2519
- AegisName: "Morrigane's_Manteau"
+ AegisName: "Morriganes_Manteau"
Name: "Morrigane's Manteau"
Type: 5
Buy: 30000
@@ -25852,7 +25853,7 @@ item_db: (
},
{
Id: 2520
- AegisName: "Goibne's_Shoulder_Arms"
+ AegisName: "Goibnes_Shoulder_Arms"
Name: "Goibne's Spaulders"
Type: 5
Buy: 30000
@@ -25872,7 +25873,7 @@ item_db: (
},
{
Id: 2521
- AegisName: "Angel's_Warmth"
+ AegisName: "Angels_Warmth"
Name: "Angelic Cardigan"
Type: 5
Buy: 10000
@@ -26511,7 +26512,7 @@ item_db: (
},
{
Id: 2550
- AegisName: "Fisher's_Muffler"
+ AegisName: "Fishers_Muffler"
Name: "Fisher's Muffler"
Type: 5
Buy: 20
@@ -26869,7 +26870,7 @@ item_db: (
},
{
Id: 2618
- AegisName: "Matyr's_Flea_Guard"
+ AegisName: "Matyrs_Flea_Guard"
Name: "Matyr's Leash"
Type: 5
Buy: 2
@@ -27290,7 +27291,7 @@ item_db: (
},
{
Id: 2642
- AegisName: "Serin's_Gold_Ring"
+ AegisName: "Serins_Gold_Ring"
Name: "Serin's Gold Ring"
Type: 5
Buy: 20
@@ -27309,7 +27310,7 @@ item_db: (
},
{
Id: 2643
- AegisName: "Serin's_Gold_Ring_"
+ AegisName: "Serins_Gold_Ring_"
Name: "Serin's Gold Ring"
Type: 5
Buy: 45000
@@ -27393,7 +27394,7 @@ item_db: (
},
{
Id: 2648
- AegisName: "Morpheus's_Ring"
+ AegisName: "Morpheuss_Ring"
Name: "Morpheus's Ring"
Type: 5
Buy: 30000
@@ -27412,7 +27413,7 @@ item_db: (
},
{
Id: 2649
- AegisName: "Morpheus's_Armlet"
+ AegisName: "Morpheuss_Armlet"
Name: "Morpheus's Bracelet"
Type: 5
Buy: 30000
@@ -27431,7 +27432,7 @@ item_db: (
},
{
Id: 2650
- AegisName: "Morrigane's_Belt"
+ AegisName: "Morriganes_Belt"
Name: "Morrigane's Belt"
Type: 5
Buy: 30000
@@ -27450,7 +27451,7 @@ item_db: (
},
{
Id: 2651
- AegisName: "Morrigane's_Pendant"
+ AegisName: "Morriganes_Pendant"
Name: "Morrigane's Pendant"
Type: 5
Buy: 30000
@@ -27495,7 +27496,7 @@ item_db: (
},
{
Id: 2654
- AegisName: "Shinobi's_Sash"
+ AegisName: "Shinobis_Sash"
Name: "Shinobi Sash"
Type: 5
Buy: 20000
@@ -27806,7 +27807,7 @@ item_db: (
},
{
Id: 2668
- AegisName: "Women's_Glory"
+ AegisName: "Womens_Glory"
Name: "Woman Glory"
Type: 5
Weight: 500
@@ -30195,7 +30196,7 @@ item_db: (
},
{
Id: 2781
- AegisName: "Aumdura's_Grace"
+ AegisName: "Aumduras_Grace"
Name: "Aumdura's Benefit"
Type: 5
Weight: 100
@@ -30625,7 +30626,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_arch02") {
+ if(strcharinfo(PC_MAP)=="job3_arch02") {
bonus2 bAddDefClass,1761,50;
bonus2 bAddDefClass,1762,50;
}
@@ -34064,7 +34065,7 @@ item_db: (
bonus2 bHPLossRate,666,10000;
">
OnUnequipScript: <"
- if((Hp <= 999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) {
+ if((Hp <= 999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) {
heal (1-Hp),0;
}
else {
@@ -35416,7 +35417,7 @@ item_db: (
},
{
Id: 4375
- AegisName: "Orc_Baby_Card"
+ AegisName: "Orc_Baby_Card_Card"
Name: "Orc Baby Card"
Type: 6
Buy: 20
@@ -36421,7 +36422,7 @@ item_db: (
},
{
Id: 4451
- AegisName: "Entweihen_Card"
+ AegisName: "Ant_Buyanne_Card"
Name: "Entweihen Crothen Card"
Type: 6
Buy: 20
@@ -37492,7 +37493,7 @@ item_db: (
},
{
Id: 5012
- AegisName: "Ph.D_Hat"
+ AegisName: "Ph_D_Hat"
Name: "Ph.D Hat"
Type: 5
Buy: 20
@@ -37556,7 +37557,7 @@ item_db: (
},
{
Id: 5016
- AegisName: "Boy's_Cap"
+ AegisName: "Boys_Cap"
Name: "Boy's Cap"
Type: 5
Buy: 20
@@ -38031,7 +38032,7 @@ item_db: (
},
{
Id: 5044
- AegisName: "Devil's_Wing"
+ AegisName: "Devils_Wing"
Name: "Evil Wing Ears"
Type: 5
Buy: 20
@@ -38374,7 +38375,7 @@ item_db: (
},
{
Id: 5068
- AegisName: "Ear_Of_Devil's_Wing"
+ AegisName: "Ear_Of_Devils_Wing"
Name: "Evil Wing Ears"
Type: 5
Buy: 20
@@ -38475,7 +38476,7 @@ item_db: (
},
{
Id: 5074
- AegisName: "Ear_Of_Angel's_Wing"
+ AegisName: "Ear_Of_Angels_Wing"
Name: "Angel Wing Ears"
Type: 5
Buy: 20
@@ -39239,7 +39240,7 @@ item_db: (
},
{
Id: 5126
- AegisName: "Morpheus's_Hood"
+ AegisName: "Morpheuss_Hood"
Name: "Morpheus's Hood"
Type: 5
Buy: 30000
@@ -39256,7 +39257,7 @@ item_db: (
},
{
Id: 5127
- AegisName: "Morrigane's_Helm"
+ AegisName: "Morriganes_Helm"
Name: "Morrigane's Helm"
Type: 5
Buy: 30000
@@ -39276,7 +39277,7 @@ item_db: (
},
{
Id: 5128
- AegisName: "Goibne's_Helmet"
+ AegisName: "Goibnes_Helmet"
Name: "Goibne's Helm"
Type: 5
Buy: 30000
@@ -39436,7 +39437,7 @@ item_db: (
},
{
Id: 5136
- AegisName: "Santa's_Hat_"
+ AegisName: "Santas_Hat_"
Name: "Antonio's Santa Hat"
Type: 5
Buy: 20
@@ -42635,7 +42636,7 @@ item_db: (
},
{
Id: 5307
- AegisName: "Carmen_Miranda's_Hat"
+ AegisName: "Carmen_Mirandas_Hat"
Name: "Carmen Miranda's Hat"
Type: 5
Buy: 20
@@ -43362,7 +43363,7 @@ item_db: (
},
{
Id: 5347
- AegisName: "Ph.D_Hat_"
+ AegisName: "Ph_D_Hat_"
Name: "Ph.D Hat"
Type: 5
Buy: 20
@@ -43378,7 +43379,7 @@ item_db: (
},
{
Id: 5348
- AegisName: "Big_Sis'_Ribbon_"
+ AegisName: "Big_Sis_Ribbon_"
Name: "Big Ribbon"
Type: 5
Buy: 15000
@@ -43395,7 +43396,7 @@ item_db: (
},
{
Id: 5349
- AegisName: "Boy's_Cap_"
+ AegisName: "Boys_Cap_"
Name: "Boy's Cap"
Type: 5
Buy: 20
@@ -44802,7 +44803,7 @@ item_db: (
},
{
Id: 5421
- AegisName: "Ifrit's_Ear"
+ AegisName: "Ifrits_Ear"
Name: "Ears Of Ifrit"
Type: 5
Buy: 20
@@ -45055,7 +45056,7 @@ item_db: (
},
{
Id: 5436
- AegisName: "Bride's_Corolla"
+ AegisName: "Brides_Corolla"
Name: "Bride's Corolla"
Type: 5
Buy: 20
@@ -45856,7 +45857,7 @@ item_db: (
},
{
Id: 5479
- AegisName: "Shaman's_Hair_Ornament"
+ AegisName: "Shamans_Hair_Ornament"
Name: "Shaman's Hair Decoration"
Type: 5
Buy: 20
@@ -46071,7 +46072,7 @@ item_db: (
},
{
Id: 5492
- AegisName: "Boy's_Cap_I"
+ AegisName: "Boys_Cap_I"
Name: "Student Cap"
Type: 5
Def: 5
@@ -46286,7 +46287,7 @@ item_db: (
},
{
Id: 5501
- AegisName: "Pirate's_Pride"
+ AegisName: "Pirates_Pride"
Name: "Pirate's Pride"
Type: 5
Weight: 100
@@ -46309,7 +46310,7 @@ item_db: (
},
{
Id: 5502
- AegisName: "Necromencer's_Hood"
+ AegisName: "Necromencers_Hood"
Name: "Necromancer's Hood"
Type: 5
Weight: 500
@@ -46821,7 +46822,7 @@ item_db: (
},
{
Id: 5529
- AegisName: "Evil's_Bone_Hat"
+ AegisName: "Evils_Bone_Hat"
Name: "Satanic Bone Helm"
Type: 5
Buy: 20
@@ -47688,7 +47689,7 @@ item_db: (
},
{
Id: 5574
- AegisName: "Pencil_in_Mouth"
+ AegisName: "Pencil_In_Mouth"
Name: "Well-Chewed Pencil"
Type: 5
Buy: 20
@@ -47737,7 +47738,7 @@ item_db: (
*/
{
Id: 5577
- AegisName: "Dark_Knight_Mask_"
+ AegisName: "Dark_Knight_MaskB"
Name: "Dark Knight Mask"
Type: 5
Weight: 3000
@@ -47765,7 +47766,7 @@ item_db: (
},
{
Id: 5579
- AegisName: "Wanderer's_Sakkat"
+ AegisName: "Wanderers_Sakkat"
Name: "Wanderer's Sakkat"
Type: 5
Buy: 20
@@ -48017,7 +48018,7 @@ item_db: (
*/
{
Id: 5592
- AegisName: "Sigrun's_Wings"
+ AegisName: "Sigruns_Wing"
Name: "Sigrun's Wings"
Type: 5
Buy: 20
@@ -50555,7 +50556,7 @@ item_db: (
/*
{
Id: 5744
- AegisName: "Capricon_Crown"
+ AegisName: "Capricorn_Crown"
Name: "Capricon Crown"
Type: 5
Buy: 20
@@ -50574,7 +50575,7 @@ item_db: (
/*
{
Id: 5745
- AegisName: "Capricon_Diadem"
+ AegisName: "Capricorn_Diadem"
Name: "Capricon Diadem"
Type: 5
Buy: 20
@@ -51769,7 +51770,7 @@ item_db: (
},
{
Id: 5810
- AegisName: "Ph.D_Hat_V"
+ AegisName: "Ph_D_Hat_V"
Name: "Ph.D Hat V"
Type: 5
Buy: 20
@@ -51821,7 +51822,7 @@ item_db: (
/*
{
Id: 5813
- AegisName: "Red_Ph.D_Hat"
+ AegisName: "Red_Ph_D_Hat"
Name: "Red Ph.D Hat"
Type: 5
Buy: 1000
@@ -53111,7 +53112,7 @@ item_db: (
},
{
Id: 6070
- AegisName: "Shaman's_Old_Paper"
+ AegisName: "Shamans_Old_Paper"
Name: "Shaman's Document"
Type: 3
Weight: 10
@@ -53159,7 +53160,7 @@ item_db: (
},
{
Id: 6073
- AegisName: "Dragon's_Mane"
+ AegisName: "Dragons_Mane"
Name: "Dragon's Mane"
Type: 3
BuyingStore: true
@@ -53175,7 +53176,7 @@ item_db: (
},
{
Id: 6074
- AegisName: "Bazett's_Order"
+ AegisName: "Bazetts_Order"
Name: "Bazett's Order"
Type: 3
Trade: {
@@ -53757,7 +53758,7 @@ item_db: (
},
{
Id: 6124
- AegisName: "Wolf's_Flute"
+ AegisName: "Wolfs_Flute"
Name: "Wolf Flute"
Type: 3
Buy: 10
@@ -56241,7 +56242,7 @@ item_db: (
},
{
Id: 6375
- AegisName: "Amatsu_Bead_!"
+ AegisName: "Amatsu_Bead_"
Name: "Amatsu Bead !"
Type: 3
},
@@ -56412,6 +56413,21 @@ item_db: (
Weight: 10
},
{
+ Id: 6415
+ AegisName: "Strange_Embryo"
+ Name: "Strange Embryo"
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
Id: 6493
AegisName: "Makibishi"
Name: "Makibishi"
@@ -56596,7 +56612,7 @@ item_db: (
},
{
Id: 7017
- AegisName: "Executioner's_Mitten"
+ AegisName: "Executioners_Mitten"
Name: "Executioner's Mitten"
Type: 3
Buy: 4500
@@ -56614,7 +56630,7 @@ item_db: (
},
{
Id: 7019
- AegisName: "Loki's_Whispers"
+ AegisName: "Lokis_Whispers"
Name: "Loki's Whispers"
Type: 3
Buy: 20
@@ -56623,7 +56639,7 @@ item_db: (
},
{
Id: 7020
- AegisName: "Mother's_Nightmare"
+ AegisName: "Mothers_Nightmare"
Name: "Mother's Nightmare"
Type: 3
Buy: 20
@@ -56668,7 +56684,7 @@ item_db: (
},
{
Id: 7025
- AegisName: "Lucifer's_Lament"
+ AegisName: "Lucifers_Lament"
Name: "Lucifer's Lament"
Type: 3
Buy: 30000
@@ -56860,7 +56876,7 @@ item_db: (
},
{
Id: 7047
- AegisName: "Alice's_Apron"
+ AegisName: "Alices_Apron"
Name: "Alice's Apron"
Type: 3
Buy: 2424
@@ -56985,7 +57001,7 @@ item_db: (
},
{
Id: 7062
- AegisName: "Broken_Turtle_Shell"
+ AegisName: "Turtle_Shell_"
Name: "Broken Turtle Shell"
Type: 3
Buy: 280
@@ -57380,7 +57396,7 @@ item_db: (
},
{
Id: 7106
- AegisName: "Goat's_Horn"
+ AegisName: "Goats_Horn"
Name: "Antelope Horn"
Type: 3
Buy: 672
@@ -57389,7 +57405,7 @@ item_db: (
},
{
Id: 7107
- AegisName: "Gaoat's_Skin"
+ AegisName: "Gaoats_Skin"
Name: "Antelope Skin"
Type: 3
Buy: 756
@@ -57452,7 +57468,7 @@ item_db: (
},
{
Id: 7114
- AegisName: "Tutankhamen's_Mask"
+ AegisName: "Tutankhamens_Mask"
Name: "Masque of Tutankhamen"
Type: 3
Buy: 10
@@ -57461,7 +57477,7 @@ item_db: (
},
{
Id: 7115
- AegisName: "Harpy's_Feather"
+ AegisName: "Harpys_Feather"
Name: "Harpy Feather"
Type: 3
Buy: 1142
@@ -57470,7 +57486,7 @@ item_db: (
},
{
Id: 7116
- AegisName: "Harpy's_Claw"
+ AegisName: "Harpys_Claw"
Name: "Harpy Talon"
Type: 3
Buy: 1210
@@ -57533,7 +57549,7 @@ item_db: (
},
{
Id: 7123
- AegisName: "Dragon's_Skin"
+ AegisName: "Dragons_Skin"
Name: "Dragon Skin"
Type: 3
Buy: 1025
@@ -57551,7 +57567,7 @@ item_db: (
},
{
Id: 7125
- AegisName: "Scropion's_Nipper"
+ AegisName: "Scropions_Nipper"
Name: "Scorpion Claw"
Type: 3
Buy: 706
@@ -57812,7 +57828,7 @@ item_db: (
},
{
Id: 7155
- AegisName: "Poison_Toad's_Skin"
+ AegisName: "Poison_Toads_Skin"
Name: "Poisonous Toad Skin"
Type: 3
Buy: 280
@@ -57848,7 +57864,7 @@ item_db: (
},
{
Id: 7159
- AegisName: "Tengu's_Nose"
+ AegisName: "Tengus_Nose"
Name: "Tengu Nose"
Type: 3
Buy: 400
@@ -57857,7 +57873,7 @@ item_db: (
},
{
Id: 7160
- AegisName: "Lord's_Passable_Ticket"
+ AegisName: "Lords_Passable_Ticket"
Name: "Feudal Lord Permit"
Type: 3
Buy: 1
@@ -57866,7 +57882,7 @@ item_db: (
},
{
Id: 7161
- AegisName: "Black_Bear's_Skin"
+ AegisName: "Black_Bears_Skin"
Name: "Black Bear Skin"
Type: 3
Buy: 384
@@ -58004,7 +58020,7 @@ item_db: (
},
{
Id: 7177
- AegisName: "Part_Of_Star's_Sob"
+ AegisName: "Part_Of_Stars_Sob"
Name: "Crumb of Sobbing Starlight"
Type: 3
Trade: {
@@ -58020,7 +58036,7 @@ item_db: (
},
{
Id: 7178
- AegisName: "Star's_Sob"
+ AegisName: "Stars_Sob"
Name: "Sobbing Starlight"
Type: 3
Trade: {
@@ -58043,7 +58059,7 @@ item_db: (
},
{
Id: 7180
- AegisName: "Introduction_Of_Mr.Han"
+ AegisName: "Introduction_Of_Mr_Han"
Name: "Hahn Sukbong's Recommendation"
Type: 3
Weight: 10
@@ -58292,7 +58308,7 @@ item_db: (
},
{
Id: 7209
- AegisName: "Dullahan's_Helm"
+ AegisName: "Dullahans_Helm"
Name: "Helm of Dullahan"
Type: 3
Buy: 1350
@@ -59073,7 +59089,7 @@ item_db: (
},
{
Id: 7304
- AegisName: "Witch's_Spell_Book"
+ AegisName: "Witchs_Spell_Book"
Name: "Witch's Spell Scroll"
Type: 3
Trade: {
@@ -59137,7 +59153,7 @@ item_db: (
},
{
Id: 7308
- AegisName: "Witch's_Potion"
+ AegisName: "Witchs_Potion"
Name: "Witch's Tonic"
Type: 3
Trade: {
@@ -59608,7 +59624,7 @@ item_db: (
},
{
Id: 7351
- AegisName: "Friend's_Diary"
+ AegisName: "Friends_Diary"
Name: "Friend's Diary"
Type: 3
Buy: 20
@@ -60581,7 +60597,7 @@ item_db: (
},
{
Id: 7458
- AegisName: "Baphomet's_Horn"
+ AegisName: "Baphomets_Horn"
Name: "Fortune Horn"
Type: 3
Buy: 2
@@ -61279,7 +61295,7 @@ item_db: (
},
{
Id: 7518
- AegisName: "Women's_Medal"
+ AegisName: "Womens_Medal"
Name: "Women's Medal"
Type: 3
Weight: 10
@@ -62205,7 +62221,7 @@ item_db: (
},
{
Id: 7594
- AegisName: "Sonia's_Letter"
+ AegisName: "Sonias_Letter"
Name: "Sonia's Letter"
Type: 3
Buy: 20
@@ -64729,7 +64745,7 @@ item_db: (
},
{
Id: 7920
- AegisName: "Hero's_Arsenal"
+ AegisName: "Heros_Arsenal"
Name: "He's Arsenal"
Type: 3
},
@@ -64802,7 +64818,7 @@ item_db: (
},
{
Id: 7930
- AegisName: "Cowking's_Nose_Ring"
+ AegisName: "Cowkings_Nose_Ring"
Name: "Devil's Cattle Ring"
Type: 3
Weight: 1000
@@ -65870,7 +65886,7 @@ item_db: (
},
{
Id: 9024
- AegisName: "Bapho_Jr._Egg"
+ AegisName: "Bapho_Jr_Egg"
Name: "Bapho Jr. Egg"
Type: 7
Buy: 20
@@ -66145,7 +66161,7 @@ item_db: (
},
{
Id: 10006
- AegisName: "Queen's_Hair_Ornament"
+ AegisName: "Queens_Hair_Ornament"
Name: "Queen's Hair Ornament"
Type: 8
Buy: 20
@@ -66327,7 +66343,7 @@ item_db: (
},
{
Id: 10032
- AegisName: "Queen's_Coronet"
+ AegisName: "Queens_Coronet"
Name: "Queen's Coronet"
Type: 8
Buy: 20
@@ -67170,6 +67186,16 @@ item_db: (
Script: <" itemheal 0,10; ">
},
{
+ Id: 11602
+ AegisName: "Catnip_Fruit"
+ Name: "Catnip Fruit"
+ Type: 0
+ Buy: 15
+ Weight: 1
+ Upper: 63
+ Script: <" itemheal rand(10, 40), 0; ">
+},
+{
Id: 11701
AegisName: "Girl_Bunch_Of_Flower"
Name: "Girl's Bouquet"
@@ -68872,7 +68898,7 @@ item_db: (
},
{
Id: 12136
- AegisName: "Women's_Bundle"
+ AegisName: "Womens_Bundle"
Name: "Women's Bundle"
Type: 2
Weight: 100
@@ -70176,7 +70202,7 @@ item_db: (
}
Script: <"
input @megaphone$;
- announce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000;
+ announce strcharinfo(PC_NAME) + ": " + @megaphone$,bc_all,0xFF0000;
end;
">
},
@@ -70590,7 +70616,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_rang02") {
+ if(strcharinfo(PC_MAP)=="job3_rang02") {
monster "this",-1,-1,"--ja--",1904,1,"";
}
@@ -71813,7 +71839,7 @@ item_db: (
},
{
Id: 12342
- AegisName: "Manuk's_Opportunity"
+ AegisName: "Manuks_Opportunity"
Name: "Manuk's Opportunity"
Type: 2
Weight: 50
@@ -71834,7 +71860,7 @@ item_db: (
},
{
Id: 12343
- AegisName: "Manuk's_Courage"
+ AegisName: "Manuks_Courage"
Name: "Manuk's Courage"
Type: 2
Weight: 50
@@ -71855,7 +71881,7 @@ item_db: (
},
{
Id: 12344
- AegisName: "Pinguicula's_fruit_Jam"
+ AegisName: "Pinguiculas_fruit_Jam"
Name: "Pinguicula's Fruit Jam"
Type: 2
Weight: 50
@@ -71876,7 +71902,7 @@ item_db: (
},
{
Id: 12345
- AegisName: "Luciola's_Honey_Jam"
+ AegisName: "Luciolas_Honey_Jam"
Name: "Luciola's Honey Jam"
Type: 2
Weight: 50
@@ -71926,7 +71952,7 @@ item_db: (
},
{
Id: 12348
- AegisName: "Manuk's_Faith"
+ AegisName: "Manuks_Faith"
Name: "Manuk's Faith"
Type: 2
Weight: 50
@@ -71947,7 +71973,7 @@ item_db: (
},
{
Id: 12349
- AegisName: "Cornus'_Tears"
+ AegisName: "Cornus_Tears"
Name: "Cornus' Tears"
Type: 2
Weight: 50
@@ -72239,7 +72265,7 @@ item_db: (
},
{
Id: 12370
- AegisName: "Gril's_Naivety"
+ AegisName: "Grils_Naivety"
Name: "Girl's Naivety"
Type: 2
Trade: {
@@ -72285,7 +72311,7 @@ item_db: (
},
{
Id: 12373
- AegisName: "Boy's_Naivety"
+ AegisName: "Boys_Naivety"
Name: "Boy's Pure Heart"
Type: 2
Buy: 20
@@ -72370,7 +72396,7 @@ item_db: (
},
{
Id: 12379
- AegisName: "Pope's_Cookie"
+ AegisName: "Popes_Cookie"
Name: "Pope Cookie"
Type: 2
Buy: 10
@@ -72394,7 +72420,7 @@ item_db: (
Buy: 10
Weight: 10
Script: <"
- if (strcharinfo(3) == "job3_arch02") {
+ if (strcharinfo(PC_MAP) == "job3_arch02") {
mercenary_create VALKYRIE_A, 1800000;
}
@@ -72408,7 +72434,7 @@ item_db: (
Buy: 10
Weight: 10
Script: <"
- if (strcharinfo(3) == "job3_arch02") {
+ if (strcharinfo(PC_MAP) == "job3_arch02") {
mercenary_create VALKYRIE_B, 1800000;
}
@@ -72440,7 +72466,7 @@ item_db: (
noauction: true
}
Script: <"
- //if(strcharinfo(3)=="job3_war02") {
+ //if(strcharinfo(PC_MAP)=="job3_war02") {
// itemskill WL_FROSTMISTY,5;
//}
">
@@ -72461,7 +72487,7 @@ item_db: (
noauction: true
}
Script: <"
- //if(strcharinfo(3)=="job3_war02") {
+ //if(strcharinfo(PC_MAP)=="job3_war02") {
// itemskill WL_CRIMSONROCK,5;
//}
">
@@ -72482,7 +72508,7 @@ item_db: (
noauction: true
}
Script: <"
- //if(strcharinfo(3)=="job3_war02") {
+ //if(strcharinfo(PC_MAP)=="job3_war02") {
// itemskill WL_CHAINLIGHTNING,5;
//}
">
@@ -72503,7 +72529,7 @@ item_db: (
noauction: true
}
Script: <"
- //if(strcharinfo(3)=="job3_war02") {
+ //if(strcharinfo(PC_MAP)=="job3_war02") {
// itemskill WL_EARTHSTRAIN,5;
//}
">
@@ -72528,7 +72554,7 @@ item_db: (
sitting: true
}
Script: <"
- //if(strcharinfo(3)=="job3_rune02") {
+ //if(strcharinfo(PC_MAP)=="job3_rune02") {
// itemskill RK_CRUSHSTRIKE,1;
//}
">
@@ -72553,7 +72579,7 @@ item_db: (
sitting: true
}
Script: <"
- //if(strcharinfo(3)=="job3_rune02") {
+ //if(strcharinfo(PC_MAP)=="job3_rune02") {
// itemskill RK_STORMBLAST,1;
//}
">
@@ -72578,7 +72604,7 @@ item_db: (
sitting: true
}
Script: <"
- //if(strcharinfo(3)=="job3_rune02") {
+ //if(strcharinfo(PC_MAP)=="job3_rune02") {
// itemskill RK_MILLENNIUMSHIELD,1;
//}
">
@@ -72921,7 +72947,7 @@ item_db: (
},
{
Id: 12416
- AegisName: "LUcky_Egg_C3"
+ AegisName: "Lucky_Egg_C3"
Name: "Lucky Egg C3"
Type: 2
Buy: 20
@@ -74512,6 +74538,25 @@ item_db: (
Script: <" packageitem(); ">
},
{
+ Id: 12622
+ AegisName: "Boarding_Halter"
+ Name: "Halter Lead"
+ Type: 11
+ Buy: 20
+ Delay: 3000
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <" setcashmount(); ">
+},
+{
Id: 12701
AegisName: "Old_Blue_Box_F"
Name: "Old Blue Box"
@@ -81479,7 +81524,7 @@ item_db: (
},
{
Id: 13420
- AegisName: "Honglyun's_Sword"
+ AegisName: "Honglyuns_Sword"
Name: "Honglyun's Sword"
Type: 4
Buy: 20
@@ -81758,7 +81803,7 @@ item_db: (
},
{
Id: 13521
- AegisName: "Garment_Card_Scroll_Box"
+ AegisName: "Hood_Card_Scroll_Box"
Name: "Garment Card Pet Egg Scroll Box"
Type: 18
Buy: 20
@@ -81767,7 +81812,7 @@ item_db: (
},
{
Id: 13522
- AegisName: "Shield_Card_Scroll_Box"
+ AegisName: "Hood_Card_Scroll_Box2"
Name: "Shield Card Pet Egg Scroll Box"
Type: 18
Buy: 20
@@ -81794,7 +81839,7 @@ item_db: (
},
{
Id: 13525
- AegisName: "Zeny_Card_Scroll_Box"
+ AegisName: "Zeny_Scroll_Box"
Name: "Zeny Pet Egg Scroll Box"
Type: 18
Buy: 20
@@ -85908,7 +85953,7 @@ item_db: (
},
{
Id: 13896
- AegisName: "Mimic_Scroll_Box5"
+ AegisName: "Mimic_Summon_Box5"
Name: "Mimic Summoning 5 Box"
Type: 18
Buy: 20
@@ -85922,7 +85967,7 @@ item_db: (
},
{
Id: 13897
- AegisName: "Disguise_Croll_Box5"
+ AegisName: "Disguise_Summon_Box5"
Name: "Disguise Summoning 5 Box"
Type: 18
Buy: 20
@@ -85936,7 +85981,7 @@ item_db: (
},
{
Id: 13898
- AegisName: "Alice_Scroll_Box5"
+ AegisName: "Alice_Summon_Box5"
Name: "Alice Summoning 5 Box"
Type: 18
Buy: 20
@@ -85950,7 +85995,7 @@ item_db: (
},
{
Id: 13899
- AegisName: "Mimic_Scroll_Box10"
+ AegisName: "Mimic_Summon_Box10"
Name: "Mimic Summoning 10 Box"
Type: 18
Buy: 20
@@ -85964,7 +86009,7 @@ item_db: (
},
{
Id: 13900
- AegisName: "Disguise_Croll_Box10"
+ AegisName: "Disguise_Summon_Box10"
Name: "Disguise Summoning 10 Box"
Type: 18
Buy: 20
@@ -85978,7 +86023,7 @@ item_db: (
},
{
Id: 13901
- AegisName: "Alice_Scroll_Box10"
+ AegisName: "Alice_Summon_Box10"
Name: "Alice Summoning 10 Box"
Type: 18
Buy: 20
@@ -86159,7 +86204,7 @@ item_db: (
},
{
Id: 13910
- AegisName: "Cook_Box"
+ AegisName: "Brewing_Box"
Name: "XM Brewing Set Box"
Type: 18
Buy: 20
@@ -92013,7 +92058,7 @@ item_db: (
/*
{
Id: 14230
- AegisName: "Note_Headphones_Box"
+ AegisName: "Headphone_Box"
Name: "Note Headphones Box"
Type: 18
Weight: 10
@@ -92023,7 +92068,7 @@ item_db: (
/*
{
Id: 14231
- AegisName: "Novice_Breastplate_Boxes"
+ AegisName: "Novice_Box"
Name: "Novice Breastplate Boxes"
Type: 18
Weight: 10
@@ -92072,7 +92117,7 @@ item_db: (
},
{
Id: 14236
- AegisName: "Steamed_Tongue_Box_20"
+ AegisName: "Str_Dish_Box60"
Name: "Steamed Tongue 20 Box"
Type: 18
Buy: 20
@@ -92081,7 +92126,7 @@ item_db: (
},
{
Id: 14237
- AegisName: "Steamed_Desert_Scorpions_Box_20"
+ AegisName: "Agi_Dish_Box60"
Name: "Steamed Desert Scorpions Box(20)"
Type: 18
Buy: 20
@@ -92090,7 +92135,7 @@ item_db: (
},
{
Id: 14238
- AegisName: "Stew_Of_Immortality_Box_20"
+ AegisName: "Int_Dish_Box60"
Name: "Immortal Stew 20 Box"
Type: 18
Buy: 20
@@ -92099,7 +92144,7 @@ item_db: (
},
{
Id: 14239
- AegisName: "Dragon_Breath_Cocktail_Box_20"
+ AegisName: "Dex_Dish_Box60"
Name: "Dragon Breath Cocktail 20 Box"
Type: 18
Buy: 20
@@ -92108,7 +92153,7 @@ item_db: (
},
{
Id: 14240
- AegisName: "Hwergelmir's_Tonic_Box_20"
+ AegisName: "Luk_Dish_Box60"
Name: "Hwergelmir's Tonic 20 Box"
Type: 18
Buy: 20
@@ -92117,7 +92162,7 @@ item_db: (
},
{
Id: 14241
- AegisName: "Nine_Tail_Dish_Box_20"
+ AegisName: "Vit_Dish_Box60"
Name: "Nine Tail Dish 20 Box"
Type: 18
Buy: 20
@@ -92502,7 +92547,7 @@ item_db: (
},
{
Id: 14274
- AegisName: "Amplification_10_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box"
Name: "Mystical Amplification Scroll 10 Box"
Type: 18
Buy: 20
@@ -92511,7 +92556,7 @@ item_db: (
},
{
Id: 14275
- AegisName: "Amplification_30_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box30"
Name: "Mystical Amplification Scroll 30 Box"
Type: 18
Buy: 20
@@ -92520,7 +92565,7 @@ item_db: (
},
{
Id: 14276
- AegisName: "Amplification_50_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box50"
Name: "Mystical Amplification Scroll 50 Box"
Type: 18
Buy: 20
@@ -92529,7 +92574,7 @@ item_db: (
},
{
Id: 14277
- AegisName: "Quagmire_10_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box"
Name: "Quagmire Scroll 10 Box"
Type: 18
Buy: 20
@@ -92538,7 +92583,7 @@ item_db: (
},
{
Id: 14278
- AegisName: "Quagmire_30_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box30"
Name: "Quagmire Scroll 30 Box"
Type: 18
Buy: 20
@@ -92547,7 +92592,7 @@ item_db: (
},
{
Id: 14279
- AegisName: "Quagmire_50_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box50"
Name: "Quagmire Scroll 50 Box"
Type: 18
Buy: 20
@@ -92595,7 +92640,7 @@ item_db: (
/*
{
Id: 14284
- AegisName: "Muffler_Box"
+ AegisName: "Muffler_C_Box"
Name: "Muffler Box"
Type: 18
Buy: 20
@@ -92606,7 +92651,7 @@ item_db: (
/*
{
Id: 14285
- AegisName: "Balkiriah_Shield_Box"
+ AegisName: "Valkyrjas_Shield_C_Box"
Name: "Balkiriah Shield Box"
Type: 18
Buy: 20
@@ -92617,7 +92662,7 @@ item_db: (
/*
{
Id: 14286
- AegisName: "Skull_Ring_Box"
+ AegisName: "Skul_Ring_C_Box"
Name: "Skull Ring Box"
Type: 18
Buy: 20
@@ -92627,7 +92672,7 @@ item_db: (
*/
{
Id: 14287
- AegisName: "Baricade_Repair_Kit"
+ AegisName: "S_Barricade_Repair_Kit"
Name: "Barricade Repair Kit"
Type: 18
Buy: 20
@@ -92641,7 +92686,7 @@ item_db: (
},
{
Id: 14288
- AegisName: "Guardian_Stone_Repair_Kit"
+ AegisName: "S_Gstone_Repair_Kit"
Name: "Guardian Stone Repair Kit"
Type: 18
Buy: 20
@@ -92720,7 +92765,7 @@ item_db: (
/*
{
Id: 14294
- AegisName: "Mercenary_Contract_Box5"
+ AegisName: "Mercenary_Contract_5Box"
Name: "Mercenary Contract Box 5ea"
Type: 2
Weight: 10
@@ -92730,7 +92775,7 @@ item_db: (
/*
{
Id: 14295
- AegisName: "Mercenary_Contract_Box10"
+ AegisName: "Mercenary_Contract_10Bo"
Name: "Mercenary Contract Box 10ea"
Type: 2
Weight: 10
@@ -92781,7 +92826,7 @@ item_db: (
},
{
Id: 14301
- AegisName: "Ifrit's_Ear_Box"
+ AegisName: "Ifrits_Ear_Box"
Name: "Ears Of Ifrit Box"
Type: 18
Buy: 20
@@ -92809,7 +92854,7 @@ item_db: (
},
{
Id: 14314
- AegisName: "PhreeoniS_Box"
+ AegisName: "Phreeoni_Scroll_Box"
Name: "Phreeoni Scroll Box"
Type: 2
Weight: 10
@@ -92953,7 +92998,7 @@ item_db: (
},
{
Id: 14351
- AegisName: "Tyr's_Blessing20_Box"
+ AegisName: "Tyrs_Blessing20_Box"
Name: "Tyr's Blessing 20 Box"
Type: 18
Buy: 20
@@ -92963,11 +93008,11 @@ item_db: (
noselltonpc: true
nogstorage: true
}
- Script: <" getitem Tyr's_Blessing,20; ">
+ Script: <" getitem Tyrs_Blessing,20; ">
},
{
Id: 14352
- AegisName: "Tyr's_Blessing50_Box"
+ AegisName: "Tyrs_Blessing50_Box"
Name: "Tyr's Blessing 50 Box"
Type: 18
Buy: 20
@@ -92977,7 +93022,7 @@ item_db: (
noselltonpc: true
nogstorage: true
}
- Script: <" getitem Tyr's_Blessing,50; ">
+ Script: <" getitem Tyrs_Blessing,50; ">
},
{
Id: 14359
@@ -93189,7 +93234,7 @@ item_db: (
},
{
Id: 14447
- AegisName: "Pirate's_Pride_Box"
+ AegisName: "Pirates_Pride_Box"
Name: "Pirate's Pride Box"
Type: 18
Buy: 20
@@ -93205,7 +93250,7 @@ item_db: (
},
{
Id: 14448
- AegisName: "Necromencer's_Hood_Box"
+ AegisName: "Necromencers_Hood_Box"
Name: "Necromancer's Hood Box"
Type: 18
Buy: 20
@@ -93370,6 +93415,7 @@ item_db: (
Dark_Collector: true
Kagerou: true
Rebellion: true
+ Summoner: true
}
EquipLv: 40
Script: <" sc_start SC_ATTHASTE_POTION2, 1800000, 0; ">
@@ -93445,7 +93491,7 @@ item_db: (
Name: "Chemical Protection Helm Scroll"
Type: 2
Weight: 10
- Script: <" unitskilluseid getcharid(3),237,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5; ">
},
{
Id: 14518
@@ -93453,7 +93499,7 @@ item_db: (
Name: "Chemical Protection Shield Scrol"
Type: 2
Weight: 10
- Script: <" unitskilluseid getcharid(3),235,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5; ">
},
{
Id: 14519
@@ -93461,7 +93507,7 @@ item_db: (
Name: "Chemical Protection Armor Scroll"
Type: 2
Weight: 10
- Script: <" unitskilluseid getcharid(3),236,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5; ">
},
{
Id: 14520
@@ -93469,7 +93515,7 @@ item_db: (
Name: "Chemical Protection Weapon Scroll"
Type: 2
Weight: 10
- Script: <" unitskilluseid getcharid(3),234,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5; ">
},
{
Id: 14521
@@ -93489,7 +93535,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" unitskilluseid getcharid(3),108,1; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1; ">
},
{
Id: 14522
@@ -94330,7 +94376,7 @@ item_db: (
}
Script: <"
specialeffect2 EF_HASTEUP;
- sc_start2 SC_STEAMPACK, 60000, 20, 25;
+ sc_start2 SC_STEAMPACK, 60000, 20, 25;
">
},
{
@@ -94574,7 +94620,7 @@ item_db: (
},
{
Id: 14601
- AegisName: "Tyr's_Blessing"
+ AegisName: "Tyrs_Blessing"
Name: "Tyr's Blessing"
Type: 2
Weight: 10
@@ -94766,7 +94812,7 @@ item_db: (
},
{
Id: 15001
- AegisName: "Odin's_Blessing_I"
+ AegisName: "Odins_Blessing_I"
Name: "Odin's Blessing"
Type: 5
Def: 10
@@ -94894,6 +94940,62 @@ item_db: (
bonus2 bAddSize,Size_Large,40;
">
},
+{
+ Id: 16030
+ AegisName: "Pilebuncker_S"
+ Name: "Pile Bunker S"
+ Type: 4
+ Weight: 3000
+ Atk: 400
+ Range: 1
+ Slots: 1
+ Job: {
+ Blacksmith: true
+ }
+ Upper: 56
+ Loc: 2
+ WeaponLv: 4
+ EquipLv: 130
+ View: 8
+ Script: <" bonus bAspdRate, (getrefine() / 2); ">
+},
+{
+ Id: 16031
+ AegisName: "Pilebuncker_P"
+ Name: "Pile Bunker P"
+ Type: 4
+ Weight: 4000
+ Atk: 450
+ Range: 1
+ Job: {
+ Blacksmith: true
+ }
+ Upper: 56
+ Loc: 2
+ WeaponLv: 4
+ EquipLv: 130
+ View: 8
+ Script: <" bonus bBaseAtk, (getrefine() * 5); ">
+},
+{
+ Id: 16032
+ AegisName: "Pilebuncker_T"
+ Name: "Pile Bunker T"
+ Type: 4
+ Weight: 3500
+ Atk: 400
+ Range: 1
+ Slots: 1
+ Job: {
+ Blacksmith: true
+ }
+ Upper: 56
+ Loc: 2
+ WeaponLv: 4
+ EquipLv: 130
+ View: 8
+ Script: <" bonus bUseSPrate, - getrefine(); ">
+},
//== More Rental Boxes =====================================
{
@@ -94916,7 +95018,7 @@ item_db: (
},
{
Id: 16135
- AegisName: "Evil's_Bone_Hat_Box"
+ AegisName: "Evils_Bone_Hat_Box"
Name: "Satanic Bone Helm Box"
Type: 18
Buy: 20
@@ -95009,7 +95111,7 @@ item_db: (
*/
/*
Id: 16250
- AegisName: "Valkyrie's_Gift_Bo"
+ AegisName: "Valkyries_Gift_Bo"
},
*/
/*
@@ -95098,7 +95200,7 @@ item_db: (
*/
{
Id: 16304
- AegisName: "Evil_Incarnation"
+ AegisName: "Evil_Incarnation_Disable"
Name: "Evil Incarnation"
Type: 2
Buy: 20
@@ -95200,7 +95302,7 @@ item_db: (
*/
/*
Id: 16423
- AegisName: "Episode_13.1_Key_Package"
+ AegisName: "Episode_13_1_Key_Package"
},
*/
/*
@@ -95339,7 +95441,7 @@ item_db: (
*/
{
Id: 16555
- AegisName: "Premium_Reset_Stone_Box"
+ AegisName: "Pr_Reset_Stone_Box"
Name: "Pr Reset Stone Box"
Type: 2
Buy: 20
@@ -95429,7 +95531,7 @@ item_db: (
*/
{
Id: 16776
- AegisName: "Universal_Catalog_Gold_Box10"
+ AegisName: "Universal_Catalog_Gold_Box10_"
Name: "Universal Catalog Gold 10 Box"
Type: 2
Weight: 10
@@ -95537,7 +95639,7 @@ item_db: (
//== More Bows =============================================
{
Id: 18100
- AegisName: "Shooting_Star"
+ AegisName: "Shooting_Star_C"
Name: "Shooting Star"
Type: 4
Buy: 20
@@ -95956,7 +96058,7 @@ item_db: (
},
{
Id: 19507
- AegisName: "Clear_Sun"
+ AegisName: "Fine_Sun"
Name: "Clear Sun"
Type: 5
Loc: 1024
@@ -95968,7 +96070,7 @@ item_db: (
//== New Etc Items =========================================
{
Id: 22540
- AegisName: "Runstone_Luxanima"
+ AegisName: "Runstone_Lux"
Name: "Lux Anima Rune"
Type: 11
Buy: 2
diff --git a/db/pre-re/item_group.conf b/db/pre-re/item_group.conf
index 63f6efcb0..d2d9c61d8 100644
--- a/db/pre-re/item_group.conf
+++ b/db/pre-re/item_group.conf
@@ -412,7 +412,7 @@ Gift_Box: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- ("Girl's_Diary",2),
+ ("Girls_Diary",2),
"Emperium",
"Steel",
"Old_Blue_Box",
@@ -490,7 +490,7 @@ Gift_Box_1: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Gift_Box_2: (
"Star_Crumb",
@@ -561,7 +561,7 @@ Gift_Box_2: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- ("Girl's_Diary",2),
+ ("Girls_Diary",2),
"Emperium",
"Steel",
"Old_Blue_Box",
@@ -639,7 +639,7 @@ Gift_Box_3: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Gift_Box_4: (
"Star_Crumb",
@@ -710,7 +710,7 @@ Gift_Box_4: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Old_Blue_Box: (
("Guard_",3),
@@ -727,7 +727,7 @@ Old_Blue_Box: (
("Leather_Jacket",3),
("Leather_Jacket_",3),
("Adventure_Suit",3),
- ("Adventurere's_Suit_",3),
+ ("Adventureres_Suit_",3),
("Mantle",3),
("Mantle_",3),
("Coat",3),
@@ -793,7 +793,7 @@ Old_Blue_Box: (
("Flower_Ring",3),
("Diamond_Ring",3),
("Mitten_Of_Presbyter",3),
- ("Matyr's_Flea_Guard",3),
+ ("Matyrs_Flea_Guard",3),
("Belt",3),
("Novice_Armlet",3),
("Katana",3),
@@ -919,7 +919,7 @@ Old_Blue_Box: (
("Book_Of_Mother_Earth",3),
("Book_Of_Blazing_Sun",3),
("Book_Of_Gust_Of_Wind",3),
- ("Girl's_Diary",3),
+ ("Girls_Diary",3),
("Rod",3),
("Rod_",3),
("Wand",3),
@@ -969,7 +969,7 @@ Old_Blue_Box: (
("Whip_",3),
("Sunglasses",3),
("Glasses",3),
- ("Diver's_Goggles",3),
+ ("Divers_Goggles",3),
("Wedding_Veil",3),
("Fancy_Flower",3),
("Ribbon",3),
@@ -995,15 +995,15 @@ Old_Blue_Box: (
("Gemmed_Sallet_",3),
("Circlet",3),
("Circlet_",3),
- ("Santa's_Hat",3),
+ ("Santas_Hat",3),
("One_Eyed_Glass",3),
("Granpa_Beard",3),
("Luxury_Sunglasses",3),
("Spinning_Eyes",3),
- ("Big_Sis'_Ribbon",3),
+ ("Big_Sis_Ribbon",3),
("Sweet_Gents",3),
("Golden_Gear",3),
- ("Oldman's_Romance",3),
+ ("Oldmans_Romance",3),
("Western_Grace",3),
("Fillet",3),
("Holy_Bonnet",3),
@@ -1061,7 +1061,7 @@ Old_Blue_Box: (
("Transparent_Headgear",3),
("Pacifier",3),
("Wig",3),
- ("Queen's_Hair_Ornament",3),
+ ("Queens_Hair_Ornament",3),
("Silk_Ribbon",3),
("Punisher",3),
("Wild_Flower",3),
@@ -1131,7 +1131,7 @@ Old_Blue_Box: (
("Danggie",12),
("Tree_Root",12),
("Reptile_Tongue",12),
- ("Scorpion's_Tail",12),
+ ("Scorpions_Tail",12),
("Stem",12),
("Pointed_Scale",12),
("Resin",12),
@@ -1146,7 +1146,7 @@ Old_Blue_Box: (
("Feather_Of_Birds",12),
("Talon",12),
("Sticky_Webfoot",12),
- ("Animal's_Skin",12),
+ ("Animals_Skin",12),
("Claw_Of_Wolves",12),
("Mushroom_Spore",12),
("Orcish_Cuspid",12),
@@ -1165,15 +1165,15 @@ Old_Blue_Box: (
("Posionous_Canine",12),
("Sticky_Mucus",12),
("Bee_Sting",12),
- ("Grasshopper's_Leg",12),
+ ("Grasshoppers_Leg",12),
("Nose_Ring",12),
("Yoyo_Tail",12),
("Solid_Shell",12),
("Horseshoe",12),
("Raccoon_Leaf",12),
- ("Snail's_Shell",12),
+ ("Snails_Shell",12),
("Horn",12),
- ("Bear's_Foot",12),
+ ("Bears_Foot",12),
("Feather",12),
("Heart_Of_Mermaid",12),
("Fin",12),
@@ -1236,7 +1236,7 @@ Old_Blue_Box: (
("Lizard_Scruff",12),
("Colorful_Shell",12),
("Jaws_Of_Ant",12),
- ("Thin_N'_Long_Tongue",12),
+ ("Thin_N_Long_Tongue",12),
("Rat_Tail",12),
("Moustache_Of_Mole",12),
("Nail_Of_Mole",12),
@@ -1249,8 +1249,8 @@ Old_Blue_Box: (
("Spiderweb",12),
("Acorn",12),
("Porcupine_Spike",12),
- ("Wild_Boar's_Mane",12),
- ("Tiger's_Skin",12),
+ ("Wild_Boars_Mane",12),
+ ("Tigers_Skin",12),
("Limb_Of_Mantis",12),
("Blossom_Of_Maneater",12),
("Root_Of_Maneater",12),
@@ -1260,7 +1260,7 @@ Old_Blue_Box: (
("Dragon_Train",12),
("Petite_DiablOfs_Horn",12),
("Petite_DiablOfs_Wing",12),
- ("Elder_Pixie's_Beard",12),
+ ("Elder_Pixies_Beard",12),
("Lantern",12),
("Short_Leg",12),
("Nail_Of_Orc",12),
@@ -1326,7 +1326,7 @@ Old_Blue_Box: (
("Fang_Of_Garm",12),
("Yarn",12),
("Fine_Grit",12),
- ("Alice's_Apron",12),
+ ("Alices_Apron",12),
("Talon_Of_Griffin",12),
("Stone",12),
("Cyfar",12),
@@ -1353,26 +1353,26 @@ Old_Blue_Box: (
("Old_Magic_Circle",12),
("Sharp_Leaf",12),
("Peco_Wing_Feather",12),
- ("Goat's_Horn",12),
- ("Gaoat's_Skin",12),
+ ("Goats_Horn",12),
+ ("Gaoats_Skin",12),
("Boroken_Shiled_Piece",12),
("Shine_Spear_Blade",12),
("Vroken_Sword",12),
("Smooth_Paper",12),
("Fright_Paper_Blade",12),
("Broken_Pharaoh_Symbol",12),
- ("Tutankhamen's_Mask",12),
- ("Harpy's_Feather",12),
- ("Harpy's_Claw",12),
+ ("Tutankhamens_Mask",12),
+ ("Harpys_Feather",12),
+ ("Harpys_Claw",12),
("Rent_Spell_Book",12),
("Rent_Scroll",12),
("Spawns",12),
("Burning_Horse_Shoe",12),
("Honey_Jar",12),
("Hot_Hair",12),
- ("Dragon's_Skin",12),
+ ("Dragons_Skin",12),
("Sand_Lump",12),
- ("Scropion's_Nipper",12),
+ ("Scropions_Nipper",12),
("Large_Jellopy",12),
("Medicine_Bowl",12),
("Fire_Bottle",12),
@@ -1386,12 +1386,12 @@ Old_Blue_Box: (
("Glossy_Hair",12),
("Old_Japaness_Clothes",12),
("Poison_Powder",12),
- ("Poison_Toad's_Skin",12),
+ ("Poison_Toads_Skin",12),
("Broken_Shuriken",12),
("Black_Mask",12),
("Broken_Wine_Vessel",12),
- ("Tengu's_Nose",12),
- ("Black_Bear's_Skin",12),
+ ("Tengus_Nose",12),
+ ("Black_Bears_Skin",12),
("Cloud_Piece",12),
("Sharp_Feeler",12),
("Hard_Peach",12),
@@ -1426,7 +1426,7 @@ Old_Blue_Box: (
("Black_Kitty_Doll",12),
("Old_Manteau",12),
("Rusty_Cleaver",12),
- ("Dullahan's_Helm",12),
+ ("Dullahans_Helm",12),
("Dullahan_Armor",12),
("Rojerta_Piece",12),
("Hanging_Doll",12),
@@ -1496,7 +1496,7 @@ Old_Blue_Box: (
("Holy_Water",12),
("Panacea",12),
("Royal_Jelly",12),
- ("Monster's_Feed",12),
+ ("Monsters_Feed",12),
("Candy",12),
("Candy_Striper",12),
("Apple_Juice",12),
@@ -1590,7 +1590,7 @@ Old_Blue_Box: (
"Cinquedea",
"Kindling_Dagger",
"Obsidian_Dagger",
- "Fisherman's_Dagger",
+ "Fishermans_Dagger",
"Jujube_Dagger",
"Dragon_Killer",
"Ginnungagap",
@@ -1602,8 +1602,8 @@ Old_Blue_Box: (
"Nail_Of_Loki",
"Bloody_Roar",
"Unholy_Touch",
- "Hypnotist's_Staff",
- "Hypnotist's_Staff_",
+ "Hypnotists_Staff",
+ "Hypnotists_Staff_",
"Staff_Of_Wing",
"Luna_Bow",
"Dragon_Wing",
@@ -1622,7 +1622,7 @@ Old_Blue_Box: (
"Coward",
"Coward_",
"Windhawk",
- "Queen's_Whip",
+ "Queens_Whip",
"Oriental_Lute",
"Diary_Of_Great_Sage",
"Hardback",
@@ -1645,7 +1645,7 @@ Old_Blue_Box: (
"Banana_Hat",
"Wing_Of_Eagle",
"Cursed_Lucky_Brooch",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Hyper_Changer",
"Dark_Crystal_Fragment",
"Long_Limb",
@@ -1699,7 +1699,7 @@ Old_Blue_Box: (
"Thorny_Buckler",
"Orleans_Gown",
"Strong_Shield",
- "Angel's_Arrival",
+ "Angels_Arrival",
"Magni_Cap",
"Censor_Bar",
"Inverse_Scale",
@@ -1744,7 +1744,7 @@ Old_Violet_Box: (
("Novice_Guard",7),
("Cotton_Shirt_",7),
("Leather_Jacket_",7),
- ("Adventurere's_Suit_",7),
+ ("Adventureres_Suit_",7),
("Mantle_",7),
("Coat_",7),
("Mink_Coat",7),
@@ -1791,7 +1791,7 @@ Old_Violet_Box: (
("Flower_Ring",7),
("Diamond_Ring",7),
("Mitten_Of_Presbyter",7),
- ("Matyr's_Flea_Guard",7),
+ ("Matyrs_Flea_Guard",7),
("Belt",7),
("Novice_Armlet",7),
("Katana_",7),
@@ -1865,7 +1865,7 @@ Old_Violet_Box: (
("Book_Of_Mother_Earth",7),
("Book_Of_Blazing_Sun",7),
("Book_Of_Gust_Of_Wind",7),
- ("Girl's_Diary",7),
+ ("Girls_Diary",7),
("Rod_",7),
("Wand_",7),
("Staff_",7),
@@ -1893,7 +1893,7 @@ Old_Violet_Box: (
("Whip_",7),
("Sunglasses",7),
("Glasses",7),
- ("Diver's_Goggles",7),
+ ("Divers_Goggles",7),
("Wedding_Veil",7),
("Fancy_Flower",7),
("Ribbon",7),
@@ -1919,15 +1919,15 @@ Old_Violet_Box: (
("Gemmed_Sallet_",7),
("Circlet",7),
("Circlet_",7),
- ("Santa's_Hat",7),
+ ("Santas_Hat",7),
("One_Eyed_Glass",7),
("Granpa_Beard",7),
("Luxury_Sunglasses",7),
("Spinning_Eyes",7),
- ("Big_Sis'_Ribbon",7),
+ ("Big_Sis_Ribbon",7),
("Sweet_Gents",7),
("Golden_Gear",7),
- ("Oldman's_Romance",7),
+ ("Oldmans_Romance",7),
("Western_Grace",7),
("Fillet",7),
("Holy_Bonnet",7),
@@ -1985,7 +1985,7 @@ Old_Violet_Box: (
("Transparent_Headgear",7),
("Pacifier",7),
("Wig",7),
- ("Queen's_Hair_Ornament",7),
+ ("Queens_Hair_Ornament",7),
("Silk_Ribbon",7),
("Punisher",7),
("Wild_Flower",7),
@@ -2055,7 +2055,7 @@ Old_Violet_Box: (
("Danggie",14),
("Tree_Root",14),
("Reptile_Tongue",14),
- ("Scorpion's_Tail",14),
+ ("Scorpions_Tail",14),
("Stem",14),
("Pointed_Scale",14),
("Resin",14),
@@ -2070,7 +2070,7 @@ Old_Violet_Box: (
("Feather_Of_Birds",14),
("Talon",14),
("Sticky_Webfoot",14),
- ("Animal's_Skin",14),
+ ("Animals_Skin",14),
("Claw_Of_Wolves",14),
("Mushroom_Spore",14),
("Orcish_Cuspid",14),
@@ -2089,15 +2089,15 @@ Old_Violet_Box: (
("Posionous_Canine",14),
("Sticky_Mucus",14),
("Bee_Sting",14),
- ("Grasshopper's_Leg",14),
+ ("Grasshoppers_Leg",14),
("Nose_Ring",14),
("Yoyo_Tail",14),
("Solid_Shell",14),
("Horseshoe",14),
("Raccoon_Leaf",14),
- ("Snail's_Shell",14),
+ ("Snails_Shell",14),
("Horn",14),
- ("Bear's_Foot",14),
+ ("Bears_Foot",14),
("Feather",14),
("Heart_Of_Mermaid",14),
("Fin",14),
@@ -2160,7 +2160,7 @@ Old_Violet_Box: (
("Lizard_Scruff",14),
("Colorful_Shell",14),
("Jaws_Of_Ant",14),
- ("Thin_N'_Long_Tongue",14),
+ ("Thin_N_Long_Tongue",14),
("Rat_Tail",14),
("Moustache_Of_Mole",14),
("Nail_Of_Mole",14),
@@ -2173,8 +2173,8 @@ Old_Violet_Box: (
("Spiderweb",14),
("Acorn",14),
("Porcupine_Spike",14),
- ("Wild_Boar's_Mane",14),
- ("Tiger's_Skin",14),
+ ("Wild_Boars_Mane",14),
+ ("Tigers_Skin",14),
("Limb_Of_Mantis",14),
("Blossom_Of_Maneater",14),
("Root_Of_Maneater",14),
@@ -2184,7 +2184,7 @@ Old_Violet_Box: (
("Dragon_Train",14),
("Petite_DiablOfs_Horn",14),
("Petite_DiablOfs_Wing",14),
- ("Elder_Pixie's_Beard",14),
+ ("Elder_Pixies_Beard",14),
("Lantern",14),
("Short_Leg",14),
("Nail_Of_Orc",14),
@@ -2250,7 +2250,7 @@ Old_Violet_Box: (
("Fang_Of_Garm",14),
("Yarn",14),
("Fine_Grit",14),
- ("Alice's_Apron",14),
+ ("Alices_Apron",14),
("Talon_Of_Griffin",14),
("Stone",14),
("Cyfar",14),
@@ -2277,26 +2277,26 @@ Old_Violet_Box: (
("Old_Magic_Circle",14),
("Sharp_Leaf",14),
("Peco_Wing_Feather",14),
- ("Goat's_Horn",14),
- ("Gaoat's_Skin",14),
+ ("Goats_Horn",14),
+ ("Gaoats_Skin",14),
("Boroken_Shiled_Piece",14),
("Shine_Spear_Blade",14),
("Vroken_Sword",14),
("Smooth_Paper",14),
("Fright_Paper_Blade",14),
("Broken_Pharaoh_Symbol",14),
- ("Tutankhamen's_Mask",14),
- ("Harpy's_Feather",14),
- ("Harpy's_Claw",14),
+ ("Tutankhamens_Mask",14),
+ ("Harpys_Feather",14),
+ ("Harpys_Claw",14),
("Rent_Spell_Book",14),
("Rent_Scroll",14),
("Spawns",14),
("Burning_Horse_Shoe",14),
("Honey_Jar",14),
("Hot_Hair",14),
- ("Dragon's_Skin",14),
+ ("Dragons_Skin",14),
("Sand_Lump",14),
- ("Scropion's_Nipper",14),
+ ("Scropions_Nipper",14),
("Large_Jellopy",14),
("Medicine_Bowl",14),
("Fire_Bottle",14),
@@ -2310,12 +2310,12 @@ Old_Violet_Box: (
("Glossy_Hair",14),
("Old_Japaness_Clothes",14),
("Poison_Powder",14),
- ("Poison_Toad's_Skin",14),
+ ("Poison_Toads_Skin",14),
("Broken_Shuriken",14),
("Black_Mask",14),
("Broken_Wine_Vessel",14),
- ("Tengu's_Nose",14),
- ("Black_Bear's_Skin",14),
+ ("Tengus_Nose",14),
+ ("Black_Bears_Skin",14),
("Cloud_Piece",14),
("Sharp_Feeler",14),
("Hard_Peach",14),
@@ -2350,7 +2350,7 @@ Old_Violet_Box: (
("Black_Kitty_Doll",14),
("Old_Manteau",14),
("Rusty_Cleaver",14),
- ("Dullahan's_Helm",14),
+ ("Dullahans_Helm",14),
("Dullahan_Armor",14),
("Rojerta_Piece",14),
("Hanging_Doll",14),
@@ -2420,7 +2420,7 @@ Old_Violet_Box: (
("Holy_Water",14),
("Panacea",14),
("Royal_Jelly",14),
- ("Monster's_Feed",14),
+ ("Monsters_Feed",14),
("Candy",14),
("Candy_Striper",14),
("Apple_Juice",14),
@@ -2532,7 +2532,7 @@ Old_Violet_Box: (
"Nail_Of_Loki",
"Bloody_Roar",
"Unholy_Touch",
- "Hypnotist's_Staff_",
+ "Hypnotists_Staff_",
"Staff_Of_Wing",
"Luna_Bow",
"Dragon_Wing",
@@ -2550,7 +2550,7 @@ Old_Violet_Box: (
"Legacy_Of_Dragon",
"Coward_",
"Windhawk",
- "Queen's_Whip",
+ "Queens_Whip",
"Oriental_Lute",
"Diary_Of_Great_Sage",
"Hardback",
@@ -2566,7 +2566,7 @@ Old_Violet_Box: (
"Banana_Hat",
"Wing_Of_Eagle",
"Cursed_Lucky_Brooch",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Bloody_Iron_Ball",
"Hyper_Changer",
"Cookbook06",
@@ -2707,7 +2707,7 @@ Set_Of_Taiming_Item: (
"Transparent_Headgear",
"Pacifier",
"Wig",
- "Queen's_Hair_Ornament",
+ "Queens_Hair_Ornament",
"Silk_Ribbon",
"Punisher",
"Wild_Flower",
@@ -2737,7 +2737,7 @@ Accessory_Box: (
("Thimble_Of_Archer",10),
("Rosary",14),
("Ring",10),
- ("Matyr's_Flea_Guard",11),
+ ("Matyrs_Flea_Guard",11),
("Belt",10),
("Brooch",12),
("Nile_Rose_",10),
@@ -2760,7 +2760,7 @@ Accessory_Box: (
("Red_Silk_Seal",2),
"Orleans_Glove",
"Spiritual_Ring",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Hyper_Changer",
("Lesser_Elemental_Ring",9),
"Expert_Ring",
@@ -3100,8 +3100,8 @@ Giftbox_China: (
"Helm_",
"Gemmed_Sallet_",
"Circlet_",
- "Santa's_Hat",
- "Big_Sis'_Ribbon",
+ "Santas_Hat",
+ "Big_Sis_Ribbon",
"Coronet",
"Fillet",
"Snowy_Horn",
@@ -3130,7 +3130,7 @@ Giftbox_China: (
"Viking_Helm",
"Cotton_Shirt_",
"Leather_Jacket_",
- "Adventurere's_Suit_",
+ "Adventureres_Suit_",
"Mantle_",
"Coat_",
"Mink_Coat",
@@ -3328,7 +3328,7 @@ Xmas_Gift: (
("HandMade_Chocolate",18),
("HandMade_Chocolate_",18),
("Chocolate_Drink",18),
- ("Santa's_Hat_",12),
+ ("Santas_Hat_",12),
("Fire_Cracker_Xmas",4),
)
Pierre_Treasurebox: (
@@ -3714,7 +3714,7 @@ Old_C_Album_Garment: (
("Noxious_Card",2),
("Kavac_Card",2),
("Chung_E_Card",2),
- ("Orc_Baby_Card",2),
+ ("Orc_Baby_Card_Card",2),
("Aliot_Card",2),
("Roween_Card",2),
("Salamander_Card",2),
@@ -3892,7 +3892,7 @@ Splendid_Box2: (
/* currently unsupported or unknown ('Mysterious_Egg')
Mysterious_Egg: (
("Lucky_Egg_C2",3),
- ("LUcky_Egg_C3",3),
+ ("Lucky_Egg_C3",3),
("Lucky_Egg_C4",3),
("Lucky_Egg_C5",3),
("Lucky_Egg_C6",3),
@@ -3903,7 +3903,7 @@ Mysterious_Egg: (
High_Weapon_Box: (
("Mail_Breaker",5),
("Weeder_Knife",5),
- ("Mama's_Knife",5),
+ ("Mamas_Knife",5),
("Assasin_Dagger",5),
("Exercise",5),
("Azoth",5),
@@ -3959,7 +3959,7 @@ High_Weapon_Box: (
("Crescent_Scythe",5),
("Bill_Guisarme",5),
("Zephyrus",5),
- ("Longinus's_Spear",5),
+ ("Longinuss_Spear",5),
("Brionac",5),
("Hell_Fire",5),
("Gae_Bolg",5),
@@ -3986,7 +3986,7 @@ High_Weapon_Box: (
("Red_Square_Bag",5),
//unknown/unsupported - ("16010",5),
("Book_Of_The_Apocalypse",5),
- ("Girl's_Diary",5),
+ ("Girls_Diary",5),
("Legacy_Of_Dragon",5),
("Hardback",5),
("Bible_Of_Battlefield",5),
@@ -4009,9 +4009,9 @@ High_Weapon_Box: (
("Bladed_Whip",5),
("Electric_Eel",5),
("Sea_Witch_Foot",5),
- ("Queen's_Whip",5),
+ ("Queens_Whip",5),
("Carrot_Whip",5),
- ("Queen's_Whip_",5),
+ ("Queens_Whip_",5),
("Stem_Of_Nepenthes",5),
"Thorn_Staff",
"Eraser",
@@ -4462,7 +4462,7 @@ Old_Card_Album_: (
"Dimik_Card",
"Archdam_Card",
"Chung_E_Card",
- "Orc_Baby_Card",
+ "Orc_Baby_Card_Card",
("Green_Iguana_Card",3),
"Acidus_Card",
"Acidus__Card",
@@ -4523,7 +4523,7 @@ Old_Card_Album_: (
High_Weapon_Box_: (
("Mail_Breaker",5),
("Weeder_Knife",5),
- ("Mama's_Knife",5),
+ ("Mamas_Knife",5),
("Assasin_Dagger",5),
("Exercise",5),
("Azoth",5),
@@ -4579,7 +4579,7 @@ High_Weapon_Box_: (
("Crescent_Scythe",5),
("Bill_Guisarme",5),
("Zephyrus",5),
- ("Longinus's_Spear",5),
+ ("Longinuss_Spear",5),
("Brionac",5),
("Hell_Fire",5),
("Gae_Bolg",5),
@@ -4606,7 +4606,7 @@ High_Weapon_Box_: (
("Red_Square_Bag",5),
//unknown/unsupported - ("16010",5),
("Book_Of_The_Apocalypse",5),
- ("Girl's_Diary",5),
+ ("Girls_Diary",5),
("Legacy_Of_Dragon",5),
("Hardback",5),
("Bible_Of_Battlefield",5),
@@ -4629,9 +4629,9 @@ High_Weapon_Box_: (
("Bladed_Whip",5),
("Electric_Eel",5),
("Sea_Witch_Foot",5),
- ("Queen's_Whip",5),
+ ("Queens_Whip",5),
("Carrot_Whip",5),
- ("Queen's_Whip_",5),
+ ("Queens_Whip_",5),
("Stem_Of_Nepenthes",5),
"Thorn_Staff",
"Eraser",
diff --git a/db/pre-re/item_packages.conf b/db/pre-re/item_packages.conf
index 3c952e258..8e421be53 100644
--- a/db/pre-re/item_packages.conf
+++ b/db/pre-re/item_packages.conf
@@ -2973,7 +2973,7 @@ Super_Pet_Egg5: {
Named: true
Rate: 230
}
- Zeny_Card_Scroll_Box: {
+ Zeny_Scroll_Box: {
Random: 1
Count: 10
Named: true
@@ -3051,7 +3051,7 @@ Super_Pet_Egg6: {
Named: true
Rate: 230
}
- Zeny_Card_Scroll_Box: {
+ Zeny_Scroll_Box: {
Random: 1
Count: 10
Named: true
@@ -3129,7 +3129,7 @@ Super_Pet_Egg7: {
Named: true
Rate: 230
}
- Zeny_Card_Scroll_Box: {
+ Zeny_Scroll_Box: {
Random: 1
Count: 10
Named: true
@@ -3207,7 +3207,7 @@ Super_Pet_Egg8: {
Named: true
Rate: 230
}
- Zeny_Card_Scroll_Box: {
+ Zeny_Scroll_Box: {
Random: 1
Count: 10
Named: true
@@ -3254,7 +3254,7 @@ Pet_Egg_Scroll_E: {
Named: true
Rate: 10
}
- Zeny_Card_Scroll_Box: {
+ Zeny_Scroll_Box: {
Random: 1
Named: true
Rate: 10
@@ -3855,7 +3855,7 @@ MVP_Hunt_Box: {
Named: true
}
}
-Cook_Box: {
+Brewing_Box: {
Dex_Dish10_: {
Random: 0
Count: 10
@@ -4745,8 +4745,8 @@ July7_Scroll: {
Named: true
Rate: 1
}
-//unsupported/unknown item 'Hair_Of_The_Strong'
-// Hair_Of_The_Strong: {
+//unsupported/unknown item 'C_Hair_Of_The_Strong'
+// C_Hair_Of_The_Strong: {
// Random: 1
// Announce: true
// Named: true
@@ -5283,7 +5283,7 @@ Buddah_Scroll: {
Rate: 1
}
}
-Evil_Incarnation: {
+Evil_Incarnation_Disable: {
Dead_Tree_Branch_Box2: {
Random: 1
Named: true
@@ -5786,13 +5786,13 @@ My_Scroll2: {
}
}
*/
-Premium_Reset_Stone_Box: {
+Pr_Reset_Stone_Box: {
Premium_Reset_Stone: {
Random: 0
}
}
-/* unsupported/unknown item 'FPr_Reset_Stone_Box'
-FPr_Reset_Stone_Box: {
+/* unsupported/unknown item 'FPremium_Reset_Stone_Box'
+FPremium_Reset_Stone_Box: {
Premium_Reset_Stone: {
Random: 0
}
@@ -5881,8 +5881,8 @@ Majestic_Devil_Scroll: {
}
}
*/
-/* unsupported/unknown item 'Life_Ribbon_Box'
-Life_Ribbon_Box: {
+/* unsupported/unknown item 'Ribbon_Of_Life_Box'
+Ribbon_Of_Life_Box: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -5890,8 +5890,8 @@ Life_Ribbon_Box: {
// }
}
*/
-/* unsupported/unknown item 'Life_Ribbon_Box2'
-Life_Ribbon_Box2: {
+/* unsupported/unknown item 'Ribbon_Of_Life_Box2'
+Ribbon_Of_Life_Box2: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -5900,8 +5900,8 @@ Life_Ribbon_Box2: {
// }
}
*/
-/* unsupported/unknown item 'Life_Ribbon_Box3'
-Life_Ribbon_Box3: {
+/* unsupported/unknown item 'Ribbon_Of_Life_Box3'
+Ribbon_Of_Life_Box3: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -6896,8 +6896,8 @@ Pisces_Diadem_Scroll: {
Named: true
Rate: 130
}
-//unsupported/unknown item 'Life_Ribbon_Box3'
-// Life_Ribbon_Box3: {
+//unsupported/unknown item 'Ribbon_Of_Life_Box3'
+// Ribbon_Of_Life_Box3: {
// Random: 1
// Named: true
// Rate: 160
@@ -6920,8 +6920,8 @@ Pisces_Diadem_Scroll: {
}
}
*/
-/* unsupported/unknown item 'Pisces_Diadem_Box'
-Pisces_Diadem_Box: {
+/* unsupported/unknown item 'Pisces_Diadem_Box2'
+Pisces_Diadem_Box2: {
//unsupported/unknown item 'Pisces_Diadem_Scroll'
// Pisces_Diadem_Scroll: {
// Random: 0
@@ -7105,8 +7105,8 @@ Energetic_Pisces_Box: {
// }
}
*/
-/* unsupported/unknown item 'Aries_Scroll'
-Aries_Scroll: {
+/* unsupported/unknown item 'Aries_Scroll_'
+Aries_Scroll_: {
//unsupported/unknown item 'Freyja_Boots'
// Freyja_Boots: {
// Random: 1
@@ -7173,53 +7173,53 @@ Aries_Scroll: {
*/
/* unsupported/unknown item 'Aries_Scroll_Box'
Aries_Scroll_Box: {
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
-//unsupported/unknown item 'Aries_Scroll'
-// Aries_Scroll: {
+//unsupported/unknown item 'Aries_Scroll_'
+// Aries_Scroll_: {
// Random: 0
// Named: true
// }
@@ -7861,7 +7861,7 @@ BR_Independence_Scroll: {
Named: true
Rate: 100
}
- Carmen_Miranda's_Hat: {
+ Carmen_Mirandas_Hat: {
Random: 1
Named: true
Rate: 30
@@ -8305,8 +8305,8 @@ RWC_Super_Scroll: {
// Announce: true
// Rate: 250
// }
-//unsupported/unknown item 'Hair_Of_The_Strong'
-// Hair_Of_The_Strong: {
+//unsupported/unknown item 'C_Hair_Of_The_Strong'
+// C_Hair_Of_The_Strong: {
// Random: 1
// Announce: true
// Rate: 100
@@ -8362,8 +8362,8 @@ RWC_Super_Scroll: {
// }
}
*/
-/* unsupported/unknown item 'Leo_Scroll'
-Leo_Scroll: {
+/* unsupported/unknown item 'Leo_Scroll3'
+Leo_Scroll3: {
Fallen_Bishop_Card: {
Random: 1
Announce: true
@@ -8493,8 +8493,8 @@ Ms_Virgo_Scroll: {
Announce: true
Rate: 300
}
-//unsupported/unknown item 'Life_Ribbon_Box3'
-// Life_Ribbon_Box3: {
+//unsupported/unknown item 'Ribbon_Of_Life_Box3'
+// Ribbon_Of_Life_Box3: {
// Random: 1
// Rate: 800
// }
@@ -9571,7 +9571,7 @@ Wind_Type_Scroll: {
// }
}
*/
-LUcky_Egg_C3: {
+Lucky_Egg_C3: {
Magic_Card_Album: {
Random: 1
Announce: true
@@ -11717,8 +11717,8 @@ Tw_Yellow_Scroll: {
// Random: 1
// Rate: 450
// }
-//unsupported/unknown item 'Life_Ribbon_Box3'
-// Life_Ribbon_Box3: {
+//unsupported/unknown item 'Ribbon_Of_Life_Box3'
+// Ribbon_Of_Life_Box3: {
// Random: 1
// Rate: 1000
// }
@@ -12033,8 +12033,8 @@ Tw_Yellow_Scroll: {
Announce: true
Rate: 25
}
-//unsupported/unknown item 'Devil_Whisper'
-// Devil_Whisper: {
+//unsupported/unknown item 'Evil_Whisper'
+// Evil_Whisper: {
// Random: 1
// Announce: true
// Rate: 40
@@ -12395,8 +12395,8 @@ Tw_Yellow_Scroll: {
// Announce: true
// Rate: 150
// }
-//unsupported/unknown item 'Little_Feather_Hat'
-// Little_Feather_Hat: {
+//unsupported/unknown item 'Little_Fhat'
+// Little_Fhat: {
// Random: 1
// Announce: true
// Rate: 100
diff --git a/db/pre-re/job_db.conf b/db/pre-re/job_db.conf
index 1c8e4ca60..5f5131726 100644
--- a/db/pre-re/job_db.conf
+++ b/db/pre-re/job_db.conf
@@ -1390,3 +1390,51 @@ Expanded_Super_Novice: {
Expanded_Super_Baby: {
Inherit: ("Novice")
}
+// Summoner HP/SP is not known, below table are generated and near to official HP/SP.
+Summoner: {
+ Weight: 20000
+ BaseASPD: {
+ Fist: 45
+ Dagger: 55
+ Rod: 55
+ Book: 43
+ TwoHandRod: 55
+ }
+ HPTable:[ 40, 69, 80, 92, 105, 119, 134, 150, 167, 185, // 1 - 10
+ 204, 224, 245, 268, 291, 315, 341, 367, 395, 423, // 11 - 20
+ 453, 484, 515, 548, 582, 617, 653, 690, 728, 767, // 21 - 30
+ 807, 848, 890, 934, 978, 1023, 1070, 1117, 1166, 1215, // 31 - 40
+ 1266, 1317, 1370, 1424, 1479, 1534, 1591, 1649, 1708, 1768, // 41 - 50
+ 1829, 1891, 1955, 2019, 2084, 2150, 2218, 2286, 2356, 2426, // 51 - 60
+ 2498, 2570, 2644, 2719, 2794, 2871, 2949, 3028, 3108, 3189, // 61 - 70
+ 3271, 3354, 3438, 3523, 3610, 3697, 3785, 3875, 3965, 4056, // 71 - 80
+ 4149, 4242, 4337, 4433, 4529, 4627, 4726, 4826, 4927, 5029, // 81 - 90
+ 5132, 5236, 5341, 5447, 5554, 5662, 5772, 5882, 5993, 6106, // 91 - 100
+ 6219, 6334, 6449, 6566, 6684, 6802, 6922, 7043, 7165, 7288, // 101 - 110
+ 7412, 7537, 7663, 7790, 7918, 8047, 8177, 8309, 8441, 8574, // 111 - 120
+ 8709, 8844, 8981, 9118, 9257, 9397, 9537, 9679, 9822, 9966, // 121 - 130
+ 10111, 10257, 10404, 10552, 10701, 10851, 11002, 11155, 11308, 11462, // 131 - 140
+ 11618, 11774, 11932, 12090, 12250, 12410, 12572, 12735, 12898, 13063, // 141 - 150
+ 13229, 13396, 13564, 13733, 13903, 14074, 14246, 14420, 14594, 14769, // 151 - 160
+ 14946, 15123, 15301, 15481, 15661, 15843, 16026, 16209, 16394, 16580, // 161 - 170
+ 16767, 16955, 17144, 17334, 17525] // 171 - 175
+
+ SPTable:[ 8, 10, 13, 15, 18, 20, 23, 25, 28, 30, // 1 - 10
+ 33, 35, 38, 40, 43, 45, 48, 50, 53, 55, // 11 - 20
+ 58, 60, 63, 65, 68, 70, 73, 75, 78, 80, // 21 - 30
+ 83, 85, 88, 90, 93, 95, 98, 100, 103, 105, // 31 - 40
+ 108, 110, 113, 115, 118, 120, 123, 125, 128, 130, // 41 - 50
+ 133, 135, 138, 140, 143, 145, 148, 150, 153, 155, // 51 - 60
+ 158, 160, 163, 165, 168, 170, 173, 175, 178, 180, // 61 - 70
+ 183, 185, 188, 190, 193, 195, 198, 200, 203, 205, // 71 - 80
+ 208, 210, 213, 215, 218, 220, 223, 225, 228, 230, // 81 - 90
+ 233, 235, 238, 240, 243, 245, 248, 250, 253, 255, // 91 - 100
+ 258, 260, 263, 265, 268, 270, 273, 275, 278, 280, // 101 - 110
+ 283, 285, 288, 290, 293, 295, 298, 300, 303, 305, // 111 - 120
+ 308, 310, 313, 315, 318, 320, 323, 325, 328, 330, // 121 - 130
+ 333, 335, 338, 340, 343, 345, 348, 350, 353, 355, // 131 - 140
+ 358, 360, 363, 365, 368, 370, 373, 375, 378, 380, // 141 - 150
+ 383, 385, 388, 390, 393, 395, 398, 400, 403, 405, // 151 - 160
+ 408, 410, 413, 415, 418, 420, 423, 425, 428, 430, // 161 - 170
+ 433, 435, 438, 440, 443] // 171 - 175
+}
diff --git a/db/pre-re/map_zone_db.conf b/db/pre-re/map_zone_db.conf
index 0a02e9240..cab00bbb9 100644
--- a/db/pre-re/map_zone_db.conf
+++ b/db/pre-re/map_zone_db.conf
@@ -159,6 +159,7 @@ zones: (
BS_GREED: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
@@ -225,6 +226,7 @@ zones: (
CASH_ASSUMPTIO: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
Assumptio_5_Scroll: true
diff --git a/db/pre-re/mob_db.conf b/db/pre-re/mob_db.conf
index 8e5e93465..82501748d 100644
--- a/db/pre-re/mob_db.conf
+++ b/db/pre-re/mob_db.conf
@@ -136,7 +136,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 70
- Scorpion's_Tail: 5500
+ Scorpions_Tail: 5500
Elunium_Stone: 57
Solid_Shell: 210
Fine_Grit: 100
@@ -680,8 +680,8 @@ mob_db: (
Claw_Of_Wolves: 9000
Mantle_: 10
Meat: 650
- Monster's_Feed: 1050
- Animal's_Skin: 5500
+ Monsters_Feed: 1050
+ Animals_Skin: 5500
Strawberry: 600
Wolf_Card: 1
}
@@ -1110,7 +1110,7 @@ mob_db: (
Cobold_Hair: 4000
Oridecon: 500
Elunium: 500
- Executioner's_Mitten: 800
+ Executioners_Mitten: 800
Guh_Moon_Goh_: 300
}
},*/
@@ -1304,7 +1304,7 @@ mob_db: (
Amulet: 20
Ninja_Suit: 1
Adventure_Suit: 100
- Girl's_Diary: 5
+ Girls_Diary: 5
Munak_Card: 1
}
},
@@ -2562,7 +2562,7 @@ mob_db: (
DamageMotion: 540
MvpExp: 0
Drops: {
- Grasshopper's_Leg: 9000
+ Grasshoppers_Leg: 9000
Guitar_Of_Vast_Land: 10
Green_Feeler: 4
Javelin_: 80
@@ -2759,7 +2759,7 @@ mob_db: (
MvpExp: 0
Drops: {
Raccoon_Leaf: 5500
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Sweet_Potato: 800
Cat_Hairband: 1
Raccoondog_Doll: 2
@@ -2858,7 +2858,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 60
- Grasshopper's_Leg: 6500
+ Grasshoppers_Leg: 6500
Scell: 400
Elunium_Stone: 49
Singing_Plant: 20
@@ -2963,9 +2963,9 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 9000
+ Bears_Foot: 9000
Poo_Poo_Hat: 5
- Animal's_Skin: 5000
+ Animals_Skin: 5000
Stuffed_Doll: 80
Sweet_Potato: 1500
Honey: 450
@@ -3065,7 +3065,7 @@ mob_db: (
Candy_Striper: 1000
Red_Herb: 1000
Apple: 1000
- Santa's_Hat: 100
+ Santas_Hat: 100
Apple: 7
Poring__Card: 1
}
@@ -3441,7 +3441,7 @@ mob_db: (
Crystal_Blue: 30
Worm_Peelings: 5500
Garlet: 400
- Monster's_Feed: 500
+ Monsters_Feed: 500
Red_Herb: 650
Insect_Feeler: 450
Earthworm_The_Dude: 20
@@ -4288,11 +4288,11 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Oldman's_Romance: 50
- Grasshopper's_Leg: 8000
+ Oldmans_Romance: 50
+ Grasshoppers_Leg: 8000
Azure_Jewel: 1000
Grasshopper_Doll: 1500
- Angel's_Arrival: 1000
+ Angels_Arrival: 1000
Center_Potion: 700
Guitar_Of_Gentle_Breeze: 10
Vocal_Card: 1
@@ -4342,7 +4342,7 @@ mob_db: (
DamageMotion: 432
MvpExp: 0
Drops: {
- Big_Sis'_Ribbon: 50
+ Big_Sis_Ribbon: 50
Honey: 2000
Bluish_Green_Jewel: 1000
Glass_Bead: 1500
@@ -4399,7 +4399,7 @@ mob_db: (
Snowy_Horn: 200
Unripe_Apple: 50
Scarlet_Jewel: 1000
- Angel's_Safeguard: 1000
+ Angels_Safeguard: 1000
Apple: 8000
Apple: 8000
Apple_Juice: 4000
@@ -4508,7 +4508,7 @@ mob_db: (
Claw_Of_Wolves: 8000
Golden_Jewel: 1500
Star_Dust_Blade: 100
- Angel's_Warmth: 1000
+ Angels_Warmth: 1000
Red_Jewel: 10
Monster_Juice: 50
Vagabond_Wolf_Card: 1
@@ -4564,7 +4564,7 @@ mob_db: (
Glass_Bead: 1500
Four_Leaf_Clover: 30
Rainbow_Carrot: 50
- Angel's_Protection: 1000
+ Angels_Protection: 1000
Eclipse_Card: 1
}
},
@@ -4607,7 +4607,7 @@ mob_db: (
MvpExp: 0
Drops: {
Crystal_Blue: 50
- Snail's_Shell: 9000
+ Snails_Shell: 9000
Garlet: 1200
Shell: 3000
Solid_Shell: 2
@@ -5060,7 +5060,7 @@ mob_db: (
Drops: {
Porcupine_Spike: 9000
Coat_: 5
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Glaive_: 10
Spear_: 15
Pike_: 20
@@ -5107,7 +5107,7 @@ mob_db: (
Acorn: 9000
Hood_: 20
Fluff: 3000
- Animal's_Skin: 2500
+ Animals_Skin: 2500
Sweet_Potato: 500
Sandals_: 25
Strawberry: 600
@@ -5254,8 +5254,8 @@ mob_db: (
MvpExp: 0
Drops: {
Phracon: 85
- Animal's_Skin: 5500
- Adventurere's_Suit_: 80
+ Animals_Skin: 5500
+ Adventureres_Suit_: 80
Meat: 600
Cotton_Shirt: 200
Asura_: 5
@@ -5657,7 +5657,7 @@ mob_db: (
DamageMotion: 432
MvpExp: 12512
MvpDrops: {
- Tiger's_Skin: 5000
+ Tigers_Skin: 5000
Tiger_Footskin: 1000
Flame_Heart: 3000
}
@@ -5961,7 +5961,7 @@ mob_db: (
Drops: {
Great_Nature: 30
Coal: 150
- Elder_Pixie's_Beard: 5500
+ Elder_Pixies_Beard: 5500
Elven_Ears: 1
Cap_: 10
Sparkling_Dust: 100
@@ -7189,9 +7189,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Matyr's_Flea_Guard: 10
- Monster's_Feed: 5000
- Animal's_Skin: 5500
+ Matyrs_Flea_Guard: 10
+ Monsters_Feed: 5000
+ Animals_Skin: 5500
Pet_Food: 400
Elunium_Stone: 100
Grape: 200
@@ -7247,11 +7247,11 @@ mob_db: (
Old_Violet_Box: 2000
}
Drops: {
- Queen's_Hair_Ornament: 500
+ Queens_Hair_Ornament: 500
Safety_Ring: 200
Tiara: 200
Armlet_Of_Obedience: 500
- Mother's_Nightmare: 10
+ Mothers_Nightmare: 10
Elunium: 3500
Dea_Staff: 100
Maya_Card: 1
@@ -7765,7 +7765,7 @@ mob_db: (
}
Drops: {
Broken_Pharaoh_Symbol: 5820
- Tutankhamen's_Mask: 2500
+ Tutankhamens_Mask: 2500
Solar_Sword: 100
Holy_Robe: 150
Gemmed_Crown: 500
@@ -7869,7 +7869,7 @@ mob_db: (
Star_Crumb: 4000
}
Drops: {
- Thin_N'_Long_Tongue: 9700
+ Thin_N_Long_Tongue: 9700
Forturn_Sword: 500
Sucsamad: 150
Jaws_Of_Ant: 5000
@@ -8171,7 +8171,7 @@ mob_db: (
Fine_Sand: 350
Sparkling_Dust: 200
Katar_Of_Thornbush: 1
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Sand_Man_Card: 1
}
},
@@ -8212,7 +8212,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 9000
+ Wild_Boars_Mane: 9000
Grape: 300
Animal_Blood: 2
Eagle_Eyes: 1
@@ -8258,7 +8258,7 @@ mob_db: (
DamageMotion: 576
MvpExp: 0
Drops: {
- Animal's_Skin: 9000
+ Animals_Skin: 9000
Axe_: 100
Meat: 500
Arrow: 1000
@@ -8310,7 +8310,7 @@ mob_db: (
Flame_Heart: 45
Tweezer: 4850
Hammer_Of_Blacksmith: 15
- Scorpion's_Tail: 5000
+ Scorpions_Tail: 5000
Solid_Shell: 3000
White_Herb: 700
Scorpion_King_Card: 1
@@ -8647,9 +8647,9 @@ mob_db: (
MvpExp: 0
Drops: {
Rat_Tail: 9000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Feather: 800
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Ora_Ora: 2
Tarou_Card: 1
}
@@ -9859,12 +9859,12 @@ mob_db: (
DamageMotion: 768
MvpExp: 0
Drops: {
- Executioner's_Mitten: 5
+ Executioners_Mitten: 5
White_Herb: 1800
Rose_Quartz: 1500
Tights_: 8
Earring_: 1
- Queen's_Whip: 100
+ Queens_Whip: 100
Masquerade: 3
Zherlthsh_Card: 1
}
@@ -9910,8 +9910,8 @@ mob_db: (
DamageMotion: 540
MvpExp: 0
Drops: {
- Thin_N'_Long_Tongue: 3880
- Executioner's_Mitten: 3
+ Thin_N_Long_Tongue: 3880
+ Executioners_Mitten: 3
White_Herb: 1800
Crystal_Jewel_: 30
Frozen_Heart: 10
@@ -9960,8 +9960,8 @@ mob_db: (
DamageMotion: 600
MvpExp: 0
Drops: {
- Thin_N'_Long_Tongue: 3880
- Executioner's_Mitten: 4
+ Thin_N_Long_Tongue: 3880
+ Executioners_Mitten: 4
White_Herb: 1800
Oridecon: 150
Electric_Wire: 100
@@ -10012,7 +10012,7 @@ mob_db: (
DamageMotion: 240
MvpExp: 0
Drops: {
- Loki's_Whispers: 1
+ Lokis_Whispers: 1
Biotite: 1500
Slayer_: 70
Bastard_Sword_: 40
@@ -10330,7 +10330,7 @@ mob_db: (
MvpExp: 0
Drops: {
Claw_Of_Rat: 4656
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Blue_Jewel: 80
Glass_Bead: 110
Lemon: 250
@@ -10840,7 +10840,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 6000
+ Wild_Boars_Mane: 6000
Grape: 150
Animal_Blood: 3
Eagle_Eyes: 2
@@ -11476,7 +11476,7 @@ mob_db: (
Yoyo_Tail: 6000
Cacao: 500
Yellow_Herb: 130
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Monkey_Doll: 7
Strawberry: 500
Orange: 1000
@@ -11906,7 +11906,7 @@ mob_db: (
White_Herb: 800
Feather: 1000
Panda_Cap: 1
- Bear's_Foot: 5000
+ Bears_Foot: 5000
White_Jewel: 30
Elunium_Stone: 90
Sasquatch_Card: 1
@@ -12000,7 +12000,7 @@ mob_db: (
Gift_Box: 10
Dirk_: 10
Buckler_: 5
- Santa's_Hat: 10
+ Santas_Hat: 10
Goblin_Card: 1
}
},
@@ -12094,7 +12094,7 @@ mob_db: (
Piece_Of_Cake: 1000
Candy: 5500
Candy_Striper: 5500
- Santa's_Hat: 250
+ Santas_Hat: 250
Antonio_Card: 1
}
},
@@ -12814,8 +12814,8 @@ mob_db: (
Fruit_Shell: 120
Arrow_Of_Shadow: 3000
Rotten_Fish: 35
- Monster's_Feed: 600
- Big_Sis'_Ribbon: 2
+ Monsters_Feed: 600
+ Big_Sis_Ribbon: 2
Wild_Rose_Card: 1
}
},
@@ -13508,7 +13508,7 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Alice's_Apron: 2500
+ Alices_Apron: 2500
Old_Broom: 40
Chrystal_Pumps: 3
Rouge: 30
@@ -13801,7 +13801,7 @@ mob_db: (
Fire_Scroll_1_5: 100
Blue_Potion: 40
Cold_Scroll_1_5: 100
- Ph.D_Hat: 1
+ Ph_D_Hat: 1
Sageworm_Card: 1
}
},
@@ -14166,7 +14166,7 @@ mob_db: (
Oridecon_Stone: 300
Gold: 100
Oridecon: 150
- Queen's_Hair_Ornament: 1
+ Queens_Hair_Ornament: 1
Cookbook10: 2
Maya_Puple_Card: 1
}
@@ -15057,7 +15057,7 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 4550
+ Bears_Foot: 4550
Poo_Poo_Hat: 8
Stuffed_Doll: 120
Honey: 500
@@ -15319,7 +15319,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 3500
+ Wild_Boars_Mane: 3500
Grape: 290
Animal_Blood: 6
Eagle_Eyes: 1
@@ -18110,7 +18110,7 @@ mob_db: (
Drops: {
Fruit_Of_Mastela: 1500
Chrystal_Pumps: 3
- Boy's_Naivety: 1
+ Boys_Naivety: 1
Diamond_Ring: 250
Horn_Of_Succubus: 1
Staff_Of_Soul: 1
@@ -18205,8 +18205,8 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Goat's_Horn: 4559
- Gaoat's_Skin: 2500
+ Goats_Horn: 4559
+ Gaoats_Skin: 2500
Empty_Bottle: 5000
Red_Herb: 500
Blue_Herb: 1000
@@ -18417,8 +18417,8 @@ mob_db: (
DamageMotion: 470
MvpExp: 0
Drops: {
- Harpy's_Feather: 4850
- Harpy's_Claw: 2500
+ Harpys_Feather: 4850
+ Harpys_Claw: 2500
Yellow_Herb: 1500
Yellow_Herb: 800
Izidor: 20
@@ -18661,8 +18661,8 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 5000
- Animal's_Skin: 5000
+ Bears_Foot: 5000
+ Animals_Skin: 5000
Nice_Sweet_Potato: 2500
Grizzly_Card: 1
}
@@ -18804,7 +18804,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Dragon's_Skin: 4074
+ Dragons_Skin: 4074
Dragon_Canine: 5335
Dragon_Train: 3880
Dragon_Scale: 3589
@@ -18851,7 +18851,7 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Dragon's_Skin: 4074
+ Dragons_Skin: 4074
Dragon_Canine: 5335
Dragon_Train: 3880
Dragon_Scale: 3589
@@ -18903,7 +18903,7 @@ mob_db: (
Great_Nature: 2500
Oridecon_Stone: 300
Damascus_: 5
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Fine_Sand: 1200
Sleeper_Card: 1
}
@@ -18948,8 +18948,8 @@ mob_db: (
DamageMotion: 576
MvpExp: 0
Drops: {
- Scropion's_Nipper: 4365
- Scorpion's_Tail: 5500
+ Scropions_Nipper: 4365
+ Scorpions_Tail: 5500
Red_Gemstone: 150
Panacea: 2500
Flame_Heart: 850
@@ -19636,7 +19636,7 @@ mob_db: (
Broken_Shuriken: 5335
Ninja_Suit: 2
Cyfar: 2200
- Shinobi's_Sash: 100
+ Shinobis_Sash: 100
Thief_Clothes_: 1
Black_Mask: 2000
Murasame_: 5
@@ -19680,7 +19680,7 @@ mob_db: (
DamageMotion: 864
MvpExp: 0
Drops: {
- Poison_Toad's_Skin: 5500
+ Poison_Toads_Skin: 5500
Poison_Powder: 2400
Gold_Ring: 4
Green_Herb: 540
@@ -19829,7 +19829,7 @@ mob_db: (
DamageMotion: 672
MvpExp: 0
Drops: {
- Tengu's_Nose: 3500
+ Tengus_Nose: 3500
Broken_Wine_Vessel: 5500
Huuma_Giant_Wheel: 5
Fruit_Of_Mastela: 150
@@ -20366,7 +20366,7 @@ mob_db: (
DamageMotion: 420
MvpExp: 0
Drops: {
- Black_Bear's_Skin: 4462
+ Black_Bears_Skin: 4462
Mystery_Iron_Bit: 3500
Royal_Jelly: 400
Honey: 900
@@ -20426,7 +20426,7 @@ mob_db: (
Taegeuk_Plate: 5820
Sword_Of_Grave_Keeper: 5100
Hell_Fire: 80
- Ph.D_Hat: 80
+ Ph_D_Hat: 80
Gae_Bolg: 500
Pill: 900
Sway_Apron: 2000
@@ -24004,7 +24004,7 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Dullahan's_Helm: 3200
+ Dullahans_Helm: 3200
Dullahan_Armor: 4850
An_Eye_Of_Dullahan: 1
Manteau: 13
@@ -24057,7 +24057,7 @@ mob_db: (
Striped_Socks: 3000
Bat_Cage: 5044
Elunium: 100
- Loki's_Whispers: 1
+ Lokis_Whispers: 1
Lunatic_Brooch: 5
Loli_Ruri_Card: 1
}
@@ -24158,7 +24158,7 @@ mob_db: (
Rusty_Cleaver: 2000
Mr_Scream: 50
Oridecon: 100
- Mama's_Knife: 3
+ Mamas_Knife: 3
Ginnungagap: 1
Bloody_Murderer_Card: 1
}
@@ -29421,7 +29421,7 @@ mob_db: (
MvpExp: 0
Drops: {
Meat: 1000
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Hill_Wind_Card: 1
}
},
@@ -29928,7 +29928,7 @@ mob_db: (
Drops: {
Armlet_Of_Prisoner: 3000
Old_Blue_Box: 50
- La'cryma_Stick: 1
+ Lacryma_Stick: 1
Survival_Rod2_: 5
Guard_: 30
Pair_Of_Red_Ribbon: 1
@@ -30277,7 +30277,7 @@ mob_db: (
Full_Plate_Armor_: 3500
Grave_: 9000
Brionac: 3500
- Longinus's_Spear: 3000
+ Longinuss_Spear: 3000
Dragon_Slayer: 2500
Skewer: 1500
B_Seyren_Card: 1
@@ -30677,7 +30677,7 @@ mob_db: (
Drops: {
Armlet_Of_Prisoner: 2000
Forturn_Sword: 1
- Adventurere's_Suit_: 40
+ Adventureres_Suit_: 40
Gladius_: 10
Chain_Mail_: 2
Ring_Of_Rogue: 2
@@ -31955,9 +31955,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Harpy's_Feather: 4000
- Harpy's_Claw: 3000
- Monster's_Feed: 1000
+ Harpys_Feather: 4000
+ Harpys_Claw: 3000
+ Monsters_Feed: 1000
Blue_Herb: 10
Hill_Wind_Card: 1
}
@@ -32250,7 +32250,7 @@ mob_db: (
Milk: 5000
Milk_Bottle: 200
Bib: 100
- Orc_Baby_Card: 1
+ Orc_Baby_Card_Card: 1
}
},
{
@@ -32295,7 +32295,7 @@ mob_db: (
Reptile_Tongue: 1000
Leaflet_Of_Hinal: 1000
Green_Herb: 1000
- Monster's_Feed: 2000
+ Monsters_Feed: 2000
Aloebera: 10
Green_Herb: 1
Green_Iguana_Card: 1
@@ -32831,7 +32831,7 @@ mob_db: (
Bookclip_In_Memory: 300
Legend_Of_Kafra01: 50
Bloody_Page: 500
- Vidar's_Boots: 10
+ Vidars_Boots: 10
Cookbook08: 2
Cookbook09: 1
Deathword_Card: 1
@@ -33152,7 +33152,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Blue: 10000
Old_Card_Album: 10
- Goibne's_Shoulder_Arms: 1000
+ Goibnes_Shoulder_Arms: 1000
Tha_Odium_Card: 1
}
},
@@ -33206,7 +33206,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Red: 10000
Old_Card_Album: 10
- Goibne's_Combat_Boots: 1000
+ Goibnes_Combat_Boots: 1000
Tha_Despero_Card: 1
}
},
@@ -33260,7 +33260,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Purple: 10000
Old_Card_Album: 10
- Goibne's_Armor: 1000
+ Goibnes_Armor: 1000
Tha_Maero_Card: 1
}
},
@@ -33314,7 +33314,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Green: 10000
Old_Card_Album: 10
- Goibne's_Helmet: 1000
+ Goibnes_Helmet: 1000
Tha_Dolor_Card: 1
}
},
@@ -33369,7 +33369,7 @@ mob_db: (
}
Drops: {
Treasure_Box: 1000
- Morrigane's_Manteau: 1000
+ Morriganes_Manteau: 1000
Piece_Of_Bone_Armor: 5000
Full_Plate_Armor_: 5000
Grave_: 5000
@@ -33666,7 +33666,7 @@ mob_db: (
Drops: {
Strawberry: 2200
Dragon_Canine: 1000
- Dragon's_Skin: 1000
+ Dragons_Skin: 1000
Dragon_Scale: 2000
Dragonball_Red: 800
Flame_Heart: 20
@@ -33915,8 +33915,8 @@ mob_db: (
Crystal_Jewel__: 2000
}
Drops: {
- Morpheus's_Armlet: 1000
- Morpheus's_Ring: 1000
+ Morpheuss_Armlet: 1000
+ Morpheuss_Ring: 1000
Treasure_Box: 5000
Scale_Of_Red_Dragon: 3589
Int_Dish10: 1000
@@ -33970,11 +33970,11 @@ mob_db: (
DamageMotion: 432
MvpExp: 0
Drops: {
- Dragon's_Skin: 4000
+ Dragons_Skin: 4000
Dragon_Canine: 4000
Tri_Headed_Dragon_Head: 3880
- Morpheus's_Hood: 500
- Morrigane's_Helm: 500
+ Morpheuss_Hood: 500
+ Morriganes_Helm: 500
Vit_Dish10: 300
Fricca_Circlet: 500
Hydro_Card: 1
@@ -34553,11 +34553,11 @@ mob_db: (
Drops: {
Pocket_Watch: 3000
Old_Violet_Box: 3000
- Morrigane's_Pendant: 1000
+ Morriganes_Pendant: 1000
Glittering_Clothes: 1000
Survival_Rod_: 500
Counter_Dagger: 500
- Morrigane's_Belt: 1000
+ Morriganes_Belt: 1000
Kiel_Card: 1
}
},
@@ -34608,7 +34608,7 @@ mob_db: (
Screw: 500
Drill_Katar: 5
Elunium: 10
- Vali's_Manteau: 20
+ Valis_Manteau: 20
Alicel_Card: 1
}
},
@@ -34701,9 +34701,9 @@ mob_db: (
MvpExp: 0
Drops: {
Brigan: 4000
- Morpheus's_Shawl: 10
+ Morpheuss_Shawl: 10
Rosary_: 10
- Alice's_Apron: 5
+ Alices_Apron: 5
Imperial_Cooking_Kits: 50
Sway_Apron: 1
Orleans_Server: 5
@@ -35460,7 +35460,7 @@ mob_db: (
Divine_Cross: 25
Rune_Of_Darkness: 1000
Silk_Robe_: 100
- Odin's_Blessing: 100
+ Odins_Blessing: 100
Skeggiold_Card: 1
}
},
@@ -35514,7 +35514,7 @@ mob_db: (
Divine_Cross: 25
Rune_Of_Darkness: 1000
Silk_Robe_: 100
- Odin's_Blessing: 100
+ Odins_Blessing: 100
Skeggiold_Card: 1
}
},
@@ -35945,7 +35945,7 @@ mob_db: (
Drops: {
Valhalla_Flower: 500
Old_Violet_Box: 100
- Valkyrja's_Shield: 500
+ Valkyrjas_Shield: 500
}
},
{
@@ -36777,7 +36777,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Wind_Of_Verdure: 50
Combo_Battle_Glove: 2
Roween_Card: 1
@@ -36825,7 +36825,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Rough_Wind: 10
Ulfhedinn: 5
Galion_Card: 1
@@ -39390,7 +39390,7 @@ mob_db: (
Drops: {
Great_Nature: 30
Coal: 150
- Elder_Pixie's_Beard: 5500
+ Elder_Pixies_Beard: 5500
Elven_Ears: 1
Ribbon: 10
Thorny_Buckler: 3
@@ -40391,7 +40391,7 @@ mob_db: (
Acorn: 9000
Hood_: 20
Fluff: 3000
- Animal's_Skin: 2500
+ Animals_Skin: 2500
Sweet_Potato: 500
Sandals_: 25
Sweet_Bean: 600
@@ -40682,12 +40682,12 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Monster's_Feed: 5000
+ Monsters_Feed: 5000
Tooth_Blade: 10
Wild_Beast_Claw: 10
Skel_Bone: 4500
Well_Dried_Bone: 20
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Pet_Food: 400
Hell_Poodle_Card: 1
}
@@ -44740,7 +44740,7 @@ mob_db: (
Old_Card_Album: 9000
Survival_Rod_: 9000
Agate: 9000
- Entweihen_Card: 1
+ Ant_Buyanne_Card: 1
}
},
{
@@ -47081,7 +47081,7 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Cowking's_Nose_Ring: 10000
+ Cowkings_Nose_Ring: 10000
}
},
{
@@ -47231,8 +47231,8 @@ mob_db: (
DamageMotion: 504
MvpExp: 0
Drops: {
- Dragon's_Mane: 3000
- Dragon's_Skin: 100
+ Dragons_Mane: 3000
+ Dragons_Skin: 100
Dragon_Canine: 100
Dragon_Train: 1000
Dragon_Scale: 1000
@@ -48022,7 +48022,7 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Pope's_Cookie: 5000
+ Popes_Cookie: 5000
}
},
{
@@ -48070,7 +48070,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Pope's_Cookie: 5000
+ Popes_Cookie: 5000
}
},
/*{
@@ -49561,7 +49561,7 @@ mob_db: (
Tooth_Of_Ancient_Fish: 500
Lip_Of_Ancient_Fish: 500
Mistic_Frozen: 5
- Fisherman's_Dagger: 5
+ Fishermans_Dagger: 5
Scalpel: 1
}
},
@@ -49657,7 +49657,7 @@ mob_db: (
Drops: {
Leopard_Skin: 3000
Leopard_Talon: 2000
- Animal's_Skin: 1000
+ Animals_Skin: 1000
Oridecon_Stone: 40
Claw_: 1
}
diff --git a/db/pre-re/mob_race2_db.txt b/db/pre-re/mob_race2_db.txt
index 05f5e421a..410301699 100644
--- a/db/pre-re/mob_race2_db.txt
+++ b/db/pre-re/mob_race2_db.txt
@@ -13,5 +13,5 @@
4,1040,1278,1366,1497,2024
// Guardians
5,1285,1286,1287
-// Ninja Classes (Pirate's_Pride)
+// Ninja Classes (Pirates_Pride)
6,1315,1364,1401,1560
diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf
index a8a58924a..95683a9e0 100644
--- a/db/pre-re/skill_db.conf
+++ b/db/pre-re/skill_db.conf
@@ -21328,7 +21328,7 @@ skill_db: (
Requirements: {
SPCost: 5
Items: {
- Wolf's_Flute: 0
+ Wolfs_Flute: 0
}
}
},
@@ -32172,10 +32172,37 @@ skill_db: (
}
},
{
- Id: 5015
- Name: "SR_FLASHCOMBO_ATK_STEP1"
- Description: "Flash Combo Attack Step 1"
- MaxLevel: 5
+ Id: 5018
+ Name: "SU_BASIC_SKILL"
+ Description: "New Basic Skill"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5019
+ Name: "SU_BITE"
+ Description: "Bite"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 5020
+ Name: "SU_HIDE"
+ Description: "Hide"
+ MaxLevel: 1
Hit: "BDT_SKILL"
SkillType: {
Self: true
@@ -32183,15 +32210,67 @@ skill_db: (
DamageType: {
NoDamage: true
}
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: -1
+ CoolDown: 15000
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: 30
}
},
{
- Id: 5016
- Name: "SR_FLASHCOMBO_ATK_STEP2"
- Description: "Flash Combo Attack Step 2"
- MaxLevel: 5
+ Id: 5021
+ Name: "SU_SCRATCH"
+ Description: "Scratch"
+ MaxLevel: 3
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 10000
+ CoolDown: {
+ Lv1: 3000
+ Lv2: 2000
+ Lv3: 1000
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 5022
+ Name: "SU_STOOP"
+ Description: "Stoop"
+ MaxLevel: 1
Hit: "BDT_SKILL"
SkillType: {
Self: true
@@ -32199,30 +32278,609 @@ skill_db: (
DamageType: {
NoDamage: true
}
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 6000
+ CoolDown: 15000
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: 10
}
},
{
- Id: 5017
- Name: "SR_FLASHCOMBO_ATK_STEP3"
- Description: "Flash Combo Attack Step 3"
+ Id: 5023
+ Name: "SU_LOPE"
+ Description: "Lope"
+ MaxLevel: 3
+ Range: {
+ Lv1: 6
+ Lv2: 10
+ Lv3: 14
+ Lv4: 18
+ Lv5: 22
+ Lv6: 26
+ Lv7: 30
+ Lv8: 34
+ Lv9: 38
+ Lv10: 42
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 2000
+ Lv2: 4000
+ Lv3: 6000
+ Lv4: 8000
+ Lv5: 10000
+ Lv6: 12000
+ Lv7: 14000
+ Lv8: 16000
+ Lv9: 18000
+ Lv10: 20000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 30
+ Lv3: 30
+ Lv4: 30
+ Lv5: 30
+ Lv6: 30
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 5024
+ Name: "SU_SPRITEMABLE"
+ Description: "Spirit Marble"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5025
+ Name: "SU_POWEROFLAND"
+ Description: "Power of Land"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5026
+ Name: "SU_SV_STEMSPEAR"
+ Description: "Silvervine Stem Spear"
MaxLevel: 5
+ Range: 9
Hit: "BDT_SKILL"
SkillType: {
- Self: true
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: {
+ Lv1: "Ele_Earth"
+ Lv2: "Ele_Fire"
+ Lv3: "Ele_Water"
+ Lv4: "Ele_Wind"
+ Lv5: "Ele_Ghost"
+ }
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 40
+ Lv3: 40
+ Lv4: 40
+ Lv5: 40
+ Lv6: 40
+ Lv7: 40
+ Lv8: 40
+ Lv9: 40
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 5027
+ Name: "SU_CN_POWDERING"
+ Description: "Catnip Powdering"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 5
+ Lv4: 5
+ Lv5: 7
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1500
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 4000
+ Lv3: 5000
+ Lv4: 6000
+ Lv5: 7000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 36
+ Lv3: 32
+ Lv4: 28
+ Lv5: 24
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+ Unit: {
+ Id: 0x106
+ Layout: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ }
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 5028
+ Name: "SU_CN_METEOR"
+ Description: "Catnip Meteor"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 5
+ Lv4: 5
+ Lv5: 7
+ }
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ }
+ InterruptCast: true
+ CastTime: 6000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 1500
+ Lv2: 2000
+ Lv3: 2500
+ Lv4: 3000
+ Lv5: 3500
+ }
+ SkillData2: 20000
+ CoolDown: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 4000
+ Lv4: 5000
+ Lv5: 6000
+
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 35
+ Lv3: 50
+ Lv4: 65
+ Lv5: 80
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 1
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 5029
+ Name: "SU_SV_ROOTTWIST"
+ Description: "Silvervine Root Twist"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
}
DamageType: {
NoDamage: true
}
+ InterruptCast: true
+ SkillInstances: 1
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 7000
+ Lv2: 9000
+ Lv3: 11000
+ Lv4: 13000
+ Lv5: 15000
+ Lv6: 17000
+ Lv7: 19000
+ Lv8: 21000
+ Lv9: 23000
+ Lv10: 25000
+ }
+ CoolDown: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+ Unit: {
+ Id: 0x107
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 5030
+ Name: "SU_SV_ROOTTWIST_ATK"
+ Description: "Silver Vine Root Twist Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Poison"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreDefense: true
+ }
+ SkillInstances: 1
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
Requirements: {
SPCost: 1
}
},
{
- Id: 5018
- Name: "SR_FLASHCOMBO_ATK_STEP4"
- Description: "Flash Combo Attack Step 4"
+ Id: 5031
+ Name: "SU_POWEROFLIFE"
+ Description: "Power of Life"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5032
+ Name: "SU_SCAROFTAROU"
+ Description: "Scar of Tarou"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 1000
+ SkillData1: 9000
+ SkillData2: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 14
+ Lv3: 18
+ Lv4: 22
+ Lv5: 26
+ Lv6: 30
+ Lv7: 34
+ Lv8: 38
+ Lv9: 42
+ Lv10: 46
+ }
+ }
+},
+{
+ Id: 5033
+ Name: "SU_PICKYPECK"
+ Description: "Picky Peck"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -5
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 19
+ Lv3: 28
+ Lv4: 37
+ Lv5: 46
+ Lv6: 55
+ Lv7: 64
+ Lv8: 73
+ Lv9: 82
+ Lv10: 91
+ }
+ }
+},
+{
+ Id: 5034
+ Name: "SU_PICKYPECK_DOUBLE_ATK"
+ Description: "Picky Peck Double Attack"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -5
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 5035
+ Name: "SU_ARCLOUSEDASH"
+ Description: "Arclouse Dash"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ CoolDown: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 20
+ Lv3: 28
+ Lv4: 36
+ Lv5: 44
+ Lv6: 52
+ Lv7: 60
+ Lv8: 68
+ Lv9: 76
+ Lv10: 84
+ }
+ }
+},
+{
+ Id: 5036
+ Name: "SU_LUNATICCARROTBEAT"
+ Description: "Lunatic Carrot Beat"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 3000
+ AfterCastActDelay: 1000
+ SkillData1: 1000
+ CoolDown: 8000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 25
+ Lv3: 35
+ Lv4: 45
+ Lv5: 55
+ Lv6: 65
+ Lv7: 75
+ Lv8: 85
+ Lv9: 95
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 5037
+ Name: "SU_POWEROFSEA"
+ Description: "Power of Sea"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5038
+ Name: "SU_TUNABELLY"
+ Description: "Tuna Belly"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 5039
+ Name: "SU_TUNAPARTY"
+ Description: "Tuna Party"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 30000
+ CoolDown: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 5040
+ Name: "SU_BUNCHOFSHRIMP"
+ Description: "Bunch of Shrimp"
MaxLevel: 5
Hit: "BDT_SKILL"
SkillType: {
@@ -32230,10 +32888,122 @@ skill_db: (
}
DamageType: {
NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ CoolDown: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 44
+ Lv2: 48
+ Lv3: 52
+ Lv4: 56
+ Lv5: 60
+ Lv6: 64
+ Lv7: 68
+ Lv8: 72
+ Lv9: 76
+ Lv10: 80
+ }
+ Items: {
+ Prawn: 1
+ }
+
+ }
+},
+{
+ Id: 5041
+ Name: "SU_FRESHSHRIMP"
+ Description: "Fresh Shrimp"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
}
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 120000
+ CoolDown: 7000
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 5042
+ Name: "SU_CN_METEOR_ATK"
+ Description: ""
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 35
+ Lv3: 50
+ Lv4: 65
+ Lv5: 80
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+},
+{
+ Id: 5043
+ Name: "SU_LUNATICCARROTBEAT2"
+ Description: "Lunatic Carrot Beat 2"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
}
+ SkillInfo: {
+ Chorus: true
+ }
+ AttackType: "Weapon"
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
},
{
Id: 8001
@@ -36470,4 +37240,4 @@ skill_db: (
}
NumberOfHits: 0
},
-) \ No newline at end of file
+)
diff --git a/db/pre-re/skill_tree.conf b/db/pre-re/skill_tree.conf
index 805e7929c..00fc6c915 100644
--- a/db/pre-re/skill_tree.conf
+++ b/db/pre-re/skill_tree.conf
@@ -3955,3 +3955,93 @@ Rebellion: {
}
}
}
+
+Summoner: {
+ skills: {
+ SU_BASIC_SKILL: 1
+ SU_BITE: {
+ MaxLevel: 1
+ SU_BASIC_SKILL: 1
+ }
+ SU_HIDE: {
+ MaxLevel: 1
+ SU_BITE: 1
+ }
+ SU_SCRATCH: {
+ MaxLevel: 3
+ SU_HIDE: 1
+ }
+ SU_STOOP: {
+ MaxLevel: 1
+ SU_SCRATCH: 3
+ }
+ SU_LOPE: {
+ MaxLevel: 3
+ SU_STOOP: 1
+ }
+ SU_SPRITEMABLE: {
+ MaxLevel: 1
+ SU_LOPE: 3
+ }
+ SU_POWEROFLAND: {
+ MaxLevel: 1
+ SU_CN_POWDERING: 3
+ }
+ SU_SV_STEMSPEAR: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ SU_CN_POWDERING: {
+ MaxLevel: 5
+ SU_CN_METEOR: 3
+ }
+ SU_CN_METEOR: {
+ MaxLevel: 5
+ SU_SV_ROOTTWIST: 3
+ }
+ SU_SV_ROOTTWIST: {
+ MaxLevel: 5
+ SU_SV_STEMSPEAR: 3
+ }
+ SU_POWEROFLIFE: {
+ MaxLevel: 1
+ SU_LUNATICCARROTBEAT: 3
+ }
+ SU_SCAROFTAROU: {
+ MaxLevel: 5
+ SU_SV_ROOTTWIST: 3
+ }
+ SU_PICKYPECK: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ SU_ARCLOUSEDASH: {
+ MaxLevel: 5
+ SU_PICKYPECK: 3
+ }
+ SU_LUNATICCARROTBEAT: {
+ MaxLevel: 5
+ SU_SCAROFTAROU: 3
+ }
+ SU_POWEROFSEA: {
+ MaxLevel: 1
+ SU_TUNAPARTY: 3
+ }
+ SU_TUNABELLY: {
+ MaxLevel: 5
+ SU_BUNCHOFSHRIMP: 3
+ }
+ SU_TUNAPARTY: {
+ MaxLevel: 5
+ SU_TUNABELLY: 3
+ }
+ SU_BUNCHOFSHRIMP: {
+ MaxLevel: 5
+ SU_FRESHSHRIMP: 3
+ }
+ SU_FRESHSHRIMP: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ }
+}
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 5b99bac25..015692b07 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -4354,10 +4354,12 @@ quest_db: (
{
Id: 7104
Name: "Special task of an assassin guild 4"
+ TimeLimit: 3000
},
{
Id: 7105
Name: "Special task of an assassin guild 4"
+ TimeLimit: 600
},
{
Id: 7106
@@ -4378,6 +4380,13 @@ quest_db: (
{
Id: 7110
Name: "Special task of an assassin guild 9"
+ TimeLimit: 600
+ Targets: (
+ {
+ MobId: 2030
+ Count: 1
+ },
+ )
},
{
Id: 7111
@@ -13971,6 +13980,21 @@ quest_db: (
Name: "The Eye of Hellion"
},
{
+ Id: 21001
+ Name: "Escape the Wreck"
+},
+{
+ Id: 21002
+ Name: "The first battle"
+ Drops: (
+ {
+ ItemId: 6008
+ Rate: 10000
+ MobId: 1002
+ },
+ )
+},
+{
Id: 50000
Name: "Pirate Dagger materials"
},
diff --git a/db/re/exp.txt b/db/re/exp.txt
index c4be1cd07..b26bc7809 100644
--- a/db/re/exp.txt
+++ b/db/re/exp.txt
@@ -7,7 +7,7 @@
//================================
//Base - Normal and Baby Jobs
-99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049:4050:4051:4052,0,350,550,900,1500,2200,3200,3800,4200,4550,5000,5500,6000,6100,6350,6700,7350,8000,8400,8800,9200,9700,10300,11000,11800,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23200,24000,26000,27500,29000,30000,31500,33000,34000,36000,37500,38000,40000,42000,44500,47000,49000,51000,53000,55000,57000,59000,61500,63000,65000,67000,69000,70000,73000,77000,80000,84000,88000,91000,95000,110000,128000,140000,155000,163000,170000,180000,188000,195000,200000,230000,260000,300000,350000,400000,480000,550000,600000,680000,750000,900000,1000000,1200000,1500000,1800000,2100000,2400000,2800000,3300000,4000000,4015999,4032062,4048190,4064382,4080639,4096961,4113348,4129801,4146319,4162904,4179555,4196273,4213057,4229909,4246828,4263815,4280870,4297993,4315184,4332444,4349773,4367171,4384639,4402177,4419785,4437463,4455212,4473032,4490923,4508886,4526921,4545028,4563207,4581459,4599784,4618182,4636654,4655200,4673820,4692515,4711284,4730128,4749048,4768043,4787114,4806262,4825486,4844787,4864165,4883621,4903155,4922767,4942457,4962226,4982074,5002002,5022009,5042096,5062264,5082512,5102841,5123252,5143744,5164318,5184975,5205714,5226536,5247441,5268430,5289503,5310660,5331902,5353229,5374641,5396139,5417723,5439393,5461150,5482994,5504925,5526944,5549051,5571246,5593530,5615903,5638366,5660919,5683562,5706295,5729119,5752035,5775042,5798141,5821333,5844618,5867996,5891467,5915032,5938691,5962445,5986294,6010238,6034278,6058414,6082647,6106977,6131404,6155929,6180552,6205273,6230093,6255013,6280032,6305151,6330371,6355692,6381114,6406638,6432264,6457992,6483823,6509757,6535795,6561937,6588184,6614536,6640993,6667556,6694225,6721001,6747884,6774875,6801974,6829181,6856497,6883922,6911457,6939102,6966858,6994725,7022703,7050793,7078995,7107310,7135738,7164280,7192936,7221707,7250593,7279594,7308712,7337946,7367297,7396765,7426351,7456056,7485879,7515822,7545884,7576067,7606370,7636795,7667341,7698009,7728800,7759714,7790752,7821914,7853201,7884613,7916151,7947815,7979605,8011523,8043568,8075741,8108043,8140474,8173035,8205726,8238548,8271501,8304586,8337803,8371153,8404637,8438255,8472007,8505894,8539917,8574076,8608371,8642804,8677374,8712083,8746930,8781917,8817044,8852311,8887719,8923269,8958961,8994796,9030774,9066896,9103163,9139575,9176132,9212836,9249686,9286684,9323830,9361124,9398568,9436161,9473905,9511800,9549846,9588044,9626395,9664900,9703559,9742372,9781340,9820464,9859745,9899183,9938779,9978533,10018446,10058519,10098752,10139146,10179702,10220420,10261301,10302345,10343553,10384926,10426465,10468170,10510042,10552081,10594288,10636664,10679210,10721926,10764813,10807871,10851101,10894504,10938081,10981832,11025758,11069860,11114138,11158593,11203226,11248038,11293029,11338200,11383552,11429085,11474800,11520698,11566780,11613046,11659497,11706134,11752957,11799968,11847167,11894555,11942132,11989899,12037857,12086007,12134350,12182886,12231616,12280541,12329662,12378980,12428495,12478208,12528120,12578231,12628543,12679056,12729771,12780689,12831811,12883137,12934668,12986406,13038350,13090502,13142863,13195433,13248214,13301206,13354410,13407826,13461456,13515301,13569361,13623637,13678130,13732841,13787771,13842921,13898291,13953883,14009697,14065735,14121997,14178484,14235197,14292137,14349304,14406700,14464326,14522182,14580269,14638589,14697142,14755929,14814951,14874210,14933706,14993440,15053412,15113624,15174077,15234772,15295710,15356892,15418318,15479990,15541909,15604075,15666490,15729155,15792070,15855237,15918657,15982330,16046258,16110442,16174882,16239580,16304537,16369754,16435232,16500972,16566975,16633242,16699774,16766572,16833637,16900969,16968571,17036445,17104588,17173005,17241695,17310661,17379901,17449418,17519214,17589289,17659644,17730281,17801200,17872403,17943892,18015666,18087727,18160077,18232715,18305645,18378865,18452378,18526186,18600289,18674688,18749385,18824380,18899676,18975273,19051172,19127375,19203884,19280698,19357819,19435250,19512989,19591038,19669401,19748076,19827067,19906375,19986000,20065942,20146204,20226787,20307694,20388923,20470478,20552358,20634566,20717103,20799971,20883170,20966701,21050565,21134765,21219301,21304176,21389391,21474948,21560846,21647088,21733675,21820609,21907889,21995518,22083498,22171830,22260516,22349556,22438953,22528706,22618819,22709294,22800130,22891329,22982892,23074822,23167120,23259787,23352825,23446234,23540017,23634174,23728709,23823621,23918913,24014586,24110643,24207085,24303911,24401126,24498729,24596721,24695105,24793883,24893058,24992628,25092597,25192965,25293734,25394907,25496486,25598470,25700862,25803664,25906877,26010502,26114542,26218998,26323872,26429166,26534881,26641018,26747580,26854568,26961984,27069830,27178107,27286819,27395965,27505546,27615566,27726026,27836928,27948274,28060065,28172302,28284989,28398126,28511717,28625761,28740261,28855219,28970639,29086521,29202864,29319673,29436949,29554694,29672911,29791602,29910766,30030407,30150528,30271128,30392210,30513777,30635829,30758369,30881399,31004924,31128942,31253456,31378468,31503980,31629994,31756512,31883536,32011068,32139110,32267664,32396732,32526317,32656419,32787043,32918190,33049861,33182057,33314782,33448039,33581830,33716157,33851018,33986418,34122359,34258847,34395881,34533461,34671592,34810276,34949515,35089312,35229667,35370584,35512064,35654110,35796726,35939913,36083669,36228000,36372910,36518401,36664471,36811127,36958370,37106199,37254622,37403640,37553252,37703463,37854275,38005691,38157712,38310340,38463579,38617432,38771899,38926985,39082689,39239016,39395970,39553549,39711760,39870604,40030084,40190202,40350958,40512361,40674407,40837103,41000450,41164447,41329103,41494418,41660391,41827031,41994337,42162311,42330959,42500281,42670278,42840958,43012321,43184367,43357103,43530530,43704647,43879464,44054979,44231197,44408118,44585750,44764092,44943146,45122914,45303401,45484611,45666548,45849211,46032606,46216736,46401600,46587204,46773550,46960643,47148484,47337075,47526421,47716523,47907387,48099015,48291409,48484571,48678507,48873219,49068710,49264984,49462041,49659885,49858520,50057951,50258181,50459210,50661042,50863681,51067132,51271397,51476478,51682383,51889110,52096665,52305047,52514265,52724318,52935214,53146954,53359537,53572971,53787261,54002406,54218414,54435286,54653026,54871633,55091115,55311477,55532719,55754848,55977864,56201772,56426576,56652279,56878886,57106400,57334822,57564160,57794413,58025586,58257683,58490711,58724671,58959567,59195403,59432182,59669909,59908584,60148215,60388805,60630356,60872874,61116360,61360822,61606264,61852685,62100091,62348489,62597878,62848268,63099657,63352051,63605456,63859874,64115308,64371765,64629247,64887761,65147307,65407893,65669520,65932194,66195917,66460696,66726535,66993438,67261410,67530450,67800566,68071766,68344051,68617420,68891890,69167452,69444122,69721892,70000771,70280767,70561887,70844131,71127500,71412010,71697652,71984434,72272366,72561453,72851698,73143099,73435664,73729402,74024313,74320405,74617685,74916154,75215812,75516667,75818726,76121999,76426484,76732181,77039108,77347256,77656641,77967262,78279129,78592240,78906604,79222230,79539116,79857272,80176696,80497398,80819385,81142657,81467222,81793088,82120256,82448732,82778526,83109637,83442074,83775835,84110931,84447367,84785153,85124288,85464780,85806638,86149862,86494459,86840429,87187789,87536538,87886677,88238222,88591172,88945528,89301305,89658504,90017133,90377199,90738704,91101654,91466057,91831915,92199234,92568024,92938291,93310036,93683267,94057992,94434219,94811948,95191194,95571951,95954234,96338043,96723387,97110272,97498708,97888693,98280245,98673363,99068048,99464315,99862164,100261603,100662641,101065285,101469543,101875416,102282912,102692038,103102802,103515205,103929263,104344975,104762350,105181396,105602112,106024515,106448604,106874396,107301892,107731090,108162006,108594650,109029020,109465134,109902990,110342598,110783964,111227098,111671998,112118682,112567148,113017414,113469479,113923352,114379039,114836550,115295892,115757065,116220086,116684962,117151693,117620296,118090771,118563124,119037366,119513511,119991559,120471520,120953399,121437207,121922950,122410637,122900276,123391866,123885425,124380959,124878477,125377987,125879489,126382999,126888525,127396075,127905649,128417264,128930926,129446645,129964427,130484275,131006202,131530218,132056330,132584546,133114875,133647324,134181910,134718632,135257491,135798510,136341699,136887055,137434597,137984323,138536250,139090393,139646754,140205331,140766142,141329201,141894509,142462082,143031920,143604040,144178440,144755138,145334149,145915473
+99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049:4050:4051:4052:4218,0,350,550,900,1500,2200,3200,3800,4200,4550,5000,5500,6000,6100,6350,6700,7350,8000,8400,8800,9200,9700,10300,11000,11800,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23200,24000,26000,27500,29000,30000,31500,33000,34000,36000,37500,38000,40000,42000,44500,47000,49000,51000,53000,55000,57000,59000,61500,63000,65000,67000,69000,70000,73000,77000,80000,84000,88000,91000,95000,110000,128000,140000,155000,163000,170000,180000,188000,195000,200000,230000,260000,300000,350000,400000,480000,550000,600000,680000,750000,900000,1000000,1200000,1500000,1800000,2100000,2400000,2800000,3300000,4000000,4015999,4032062,4048190,4064382,4080639,4096961,4113348,4129801,4146319,4162904,4179555,4196273,4213057,4229909,4246828,4263815,4280870,4297993,4315184,4332444,4349773,4367171,4384639,4402177,4419785,4437463,4455212,4473032,4490923,4508886,4526921,4545028,4563207,4581459,4599784,4618182,4636654,4655200,4673820,4692515,4711284,4730128,4749048,4768043,4787114,4806262,4825486,4844787,4864165,4883621,4903155,4922767,4942457,4962226,4982074,5002002,5022009,5042096,5062264,5082512,5102841,5123252,5143744,5164318,5184975,5205714,5226536,5247441,5268430,5289503,5310660,5331902,5353229,5374641,5396139,5417723,5439393,5461150,5482994,5504925,5526944,5549051,5571246,5593530,5615903,5638366,5660919,5683562,5706295,5729119,5752035,5775042,5798141,5821333,5844618,5867996,5891467,5915032,5938691,5962445,5986294,6010238,6034278,6058414,6082647,6106977,6131404,6155929,6180552,6205273,6230093,6255013,6280032,6305151,6330371,6355692,6381114,6406638,6432264,6457992,6483823,6509757,6535795,6561937,6588184,6614536,6640993,6667556,6694225,6721001,6747884,6774875,6801974,6829181,6856497,6883922,6911457,6939102,6966858,6994725,7022703,7050793,7078995,7107310,7135738,7164280,7192936,7221707,7250593,7279594,7308712,7337946,7367297,7396765,7426351,7456056,7485879,7515822,7545884,7576067,7606370,7636795,7667341,7698009,7728800,7759714,7790752,7821914,7853201,7884613,7916151,7947815,7979605,8011523,8043568,8075741,8108043,8140474,8173035,8205726,8238548,8271501,8304586,8337803,8371153,8404637,8438255,8472007,8505894,8539917,8574076,8608371,8642804,8677374,8712083,8746930,8781917,8817044,8852311,8887719,8923269,8958961,8994796,9030774,9066896,9103163,9139575,9176132,9212836,9249686,9286684,9323830,9361124,9398568,9436161,9473905,9511800,9549846,9588044,9626395,9664900,9703559,9742372,9781340,9820464,9859745,9899183,9938779,9978533,10018446,10058519,10098752,10139146,10179702,10220420,10261301,10302345,10343553,10384926,10426465,10468170,10510042,10552081,10594288,10636664,10679210,10721926,10764813,10807871,10851101,10894504,10938081,10981832,11025758,11069860,11114138,11158593,11203226,11248038,11293029,11338200,11383552,11429085,11474800,11520698,11566780,11613046,11659497,11706134,11752957,11799968,11847167,11894555,11942132,11989899,12037857,12086007,12134350,12182886,12231616,12280541,12329662,12378980,12428495,12478208,12528120,12578231,12628543,12679056,12729771,12780689,12831811,12883137,12934668,12986406,13038350,13090502,13142863,13195433,13248214,13301206,13354410,13407826,13461456,13515301,13569361,13623637,13678130,13732841,13787771,13842921,13898291,13953883,14009697,14065735,14121997,14178484,14235197,14292137,14349304,14406700,14464326,14522182,14580269,14638589,14697142,14755929,14814951,14874210,14933706,14993440,15053412,15113624,15174077,15234772,15295710,15356892,15418318,15479990,15541909,15604075,15666490,15729155,15792070,15855237,15918657,15982330,16046258,16110442,16174882,16239580,16304537,16369754,16435232,16500972,16566975,16633242,16699774,16766572,16833637,16900969,16968571,17036445,17104588,17173005,17241695,17310661,17379901,17449418,17519214,17589289,17659644,17730281,17801200,17872403,17943892,18015666,18087727,18160077,18232715,18305645,18378865,18452378,18526186,18600289,18674688,18749385,18824380,18899676,18975273,19051172,19127375,19203884,19280698,19357819,19435250,19512989,19591038,19669401,19748076,19827067,19906375,19986000,20065942,20146204,20226787,20307694,20388923,20470478,20552358,20634566,20717103,20799971,20883170,20966701,21050565,21134765,21219301,21304176,21389391,21474948,21560846,21647088,21733675,21820609,21907889,21995518,22083498,22171830,22260516,22349556,22438953,22528706,22618819,22709294,22800130,22891329,22982892,23074822,23167120,23259787,23352825,23446234,23540017,23634174,23728709,23823621,23918913,24014586,24110643,24207085,24303911,24401126,24498729,24596721,24695105,24793883,24893058,24992628,25092597,25192965,25293734,25394907,25496486,25598470,25700862,25803664,25906877,26010502,26114542,26218998,26323872,26429166,26534881,26641018,26747580,26854568,26961984,27069830,27178107,27286819,27395965,27505546,27615566,27726026,27836928,27948274,28060065,28172302,28284989,28398126,28511717,28625761,28740261,28855219,28970639,29086521,29202864,29319673,29436949,29554694,29672911,29791602,29910766,30030407,30150528,30271128,30392210,30513777,30635829,30758369,30881399,31004924,31128942,31253456,31378468,31503980,31629994,31756512,31883536,32011068,32139110,32267664,32396732,32526317,32656419,32787043,32918190,33049861,33182057,33314782,33448039,33581830,33716157,33851018,33986418,34122359,34258847,34395881,34533461,34671592,34810276,34949515,35089312,35229667,35370584,35512064,35654110,35796726,35939913,36083669,36228000,36372910,36518401,36664471,36811127,36958370,37106199,37254622,37403640,37553252,37703463,37854275,38005691,38157712,38310340,38463579,38617432,38771899,38926985,39082689,39239016,39395970,39553549,39711760,39870604,40030084,40190202,40350958,40512361,40674407,40837103,41000450,41164447,41329103,41494418,41660391,41827031,41994337,42162311,42330959,42500281,42670278,42840958,43012321,43184367,43357103,43530530,43704647,43879464,44054979,44231197,44408118,44585750,44764092,44943146,45122914,45303401,45484611,45666548,45849211,46032606,46216736,46401600,46587204,46773550,46960643,47148484,47337075,47526421,47716523,47907387,48099015,48291409,48484571,48678507,48873219,49068710,49264984,49462041,49659885,49858520,50057951,50258181,50459210,50661042,50863681,51067132,51271397,51476478,51682383,51889110,52096665,52305047,52514265,52724318,52935214,53146954,53359537,53572971,53787261,54002406,54218414,54435286,54653026,54871633,55091115,55311477,55532719,55754848,55977864,56201772,56426576,56652279,56878886,57106400,57334822,57564160,57794413,58025586,58257683,58490711,58724671,58959567,59195403,59432182,59669909,59908584,60148215,60388805,60630356,60872874,61116360,61360822,61606264,61852685,62100091,62348489,62597878,62848268,63099657,63352051,63605456,63859874,64115308,64371765,64629247,64887761,65147307,65407893,65669520,65932194,66195917,66460696,66726535,66993438,67261410,67530450,67800566,68071766,68344051,68617420,68891890,69167452,69444122,69721892,70000771,70280767,70561887,70844131,71127500,71412010,71697652,71984434,72272366,72561453,72851698,73143099,73435664,73729402,74024313,74320405,74617685,74916154,75215812,75516667,75818726,76121999,76426484,76732181,77039108,77347256,77656641,77967262,78279129,78592240,78906604,79222230,79539116,79857272,80176696,80497398,80819385,81142657,81467222,81793088,82120256,82448732,82778526,83109637,83442074,83775835,84110931,84447367,84785153,85124288,85464780,85806638,86149862,86494459,86840429,87187789,87536538,87886677,88238222,88591172,88945528,89301305,89658504,90017133,90377199,90738704,91101654,91466057,91831915,92199234,92568024,92938291,93310036,93683267,94057992,94434219,94811948,95191194,95571951,95954234,96338043,96723387,97110272,97498708,97888693,98280245,98673363,99068048,99464315,99862164,100261603,100662641,101065285,101469543,101875416,102282912,102692038,103102802,103515205,103929263,104344975,104762350,105181396,105602112,106024515,106448604,106874396,107301892,107731090,108162006,108594650,109029020,109465134,109902990,110342598,110783964,111227098,111671998,112118682,112567148,113017414,113469479,113923352,114379039,114836550,115295892,115757065,116220086,116684962,117151693,117620296,118090771,118563124,119037366,119513511,119991559,120471520,120953399,121437207,121922950,122410637,122900276,123391866,123885425,124380959,124878477,125377987,125879489,126382999,126888525,127396075,127905649,128417264,128930926,129446645,129964427,130484275,131006202,131530218,132056330,132584546,133114875,133647324,134181910,134718632,135257491,135798510,136341699,136887055,137434597,137984323,138536250,139090393,139646754,140205331,140766142,141329201,141894509,142462082,143031920,143604040,144178440,144755138,145334149,145915473
//Base - Adv Jobs
99,4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,0,420,660,1080,1800,2640,3840,4560,5040,5460,6000,6600,7200,7320,7620,8040,8820,9600,10080,10560,11040,12610,13390,14300,15340,16900,18460,19500,20800,22100,23400,24700,26000,27300,28600,30160,31200,33800,35750,37700,39000,44100,46200,47600,50400,52500,53200,56000,58800,62300,65800,68600,71400,74200,77000,79800,82600,86100,88200,91000,93800,103500,105000,109500,115500,120000,126000,132000,136500,142500,165000,192000,210000,232500,244500,255000,270000,282000,292500,300000,345000,416000,480000,560000,640000,768000,880000,960000,1088000,1200000,1440000,1700000,2040000,2550000,3060000,3570000,4080000,4760000,5610000,6800000,6827199,6854507,6881924,6909451,6937088,6964835,6992693,7020663,7048745,7076939,7105246,7133666,7162200,7190848,7219611,7248489,7277482,7306591,7335816,7365158,7394618,7424196,7453892,7483707,7513641,7543695,7573869,7604164,7634580,7665117,7695777,7726559,7757464,7788493,7819646,7850924,7882327,7913855,7945510,7977291,8009199,8041235,8073399,8105692,8138114,8170666,8203348,8236160,8269104,8302179,8335387,8368728,8402202,8435810,8469552,8503429,8537442,8571591,8605876,8640299,8674859,8709557,8744394,8779371,8814488,8849745,8885143,8920683,8956365,8992189,9028157,9064269,9100525,9136926,9173473,9210166,9247006,9283993,9321128,9358412,9395845,9433427,9471160,9509044,9547079,9585266,9623606,9662099,9700746,9739548,9778505,9817618,9856887,9896314,9935898,9975641,10015543,10055604,10095825,10136207,10176751,10217457,10258326,10299358,10340554,10381915,10423442,10465135,10506995,10549022,10591217,10633581,10676114,10718817,10761691,10804737,10847955,10891346,10934910,10978649,11022563,11066652,11110918,11155361,11199981,11244780,11289758,11334916,11380255,11425775,11471477,11517362,11563430,11609683,11656121,11702744,11749554,11796551,11843736,11891110,11938673,11986427,12034372,12082508,12130837,12179359,12228075,12276986,12326093,12375396,12424896,12474594,12524491,12574588,12624885,12675383,12726083,12776986,12828093,12879404,12930920,12982643,13034572,13086709,13139055,13191610,13244375,13297351,13350539,13403940,13457555,13511384,13565428,13619689,13674167,13728862,13783776,13838910,13894264,13949840,14005638,14061659,14117904,14174374,14231070,14287993,14345144,14402523,14460132,14517971,14576042,14634345,14692881,14751651,14810656,14869897,14929375,14989091,15049046,15109241,15169677,15230354,15291274,15352438,15413846,15475500,15537401,15599549,15661946,15724592,15787489,15850638,15914039,15977694,16041603,16105768,16170190,16234869,16299807,16365005,16430464,16496185,16562168,16628415,16694927,16761705,16828750,16896064,16963647,17031501,17099625,17168021,17236691,17305637,17374857,17444354,17514130,17584185,17654519,17725137,17796035,17867219,17938687,18010441,18082480,18154808,18227426,18300334,18373534,18447027,18520815,18594898,18669276,18743952,18818926,18894200,18969775,19045654,19121835,19198322,19275114,19352213,19429619,19507337,19585364,19663704,19742357,19821324,19900608,19980209,20060127,20140367,20220928,20301810,20383016,20464547,20546405,20628588,20711101,20793943,20877118,20960625,21044465,21128640,21213153,21298003,21383194,21468725,21554597,21640813,21727374,21814282,21901538,21989143,22077099,22165407,22254068,22343083,22432455,22522184,22612271,22702719,22793529,22884700,22976237,23068139,23160411,23253052,23346063,23439447,23533204,23627335,23721844,23816730,23911995,24007642,24103671,24200085,24296883,24394070,24491645,24589609,24687965,24786714,24885859,24985402,25085342,25185682,25286423,25387568,25489116,25591071,25693434,25796206,25899389,26002984,26106994,26211420,26316264,26421527,26527212,26633319,26739851,26846810,26954195,27062011,27170258,27278937,27388050,27497600,27607588,27718016,27828886,27940200,28051959,28164166,28276821,28389925,28503482,28617494,28731962,28846888,28962274,29078121,29194430,29311206,29428449,29546160,29664343,29782999,29902130,30021736,30141821,30262385,30383431,30504964,30626982,30749488,30872484,30995972,31119954,31244432,31369408,31494884,31620861,31747341,31874327,32001823,32129829,32258345,32387375,32516923,32646990,32777576,32908684,33040317,33172475,33305164,33438382,33572133,33706418,33841239,33976603,34112508,34248956,34385950,34523494,34661588,34800232,34939431,35079187,35219502,35360380,35501819,35643825,35786397,35929539,36073256,36217547,36362416,36507863,36653893,36800505,36947704,37095492,37243872,37392845,37542413,37692579,37843348,37994719,38146696,38299280,38452475,38606283,38760707,38915748,39071408,39227691,39384600,39542136,39700302,39859103,40018538,40178608,40339320,40500675,40662676,40825324,40988623,41152576,41317184,41482450,41648375,41814967,41982225,42150150,42318750,42488024,42657973,42828601,42999912,43171909,43344593,43517968,43692037,43866801,44042264,44218430,44395303,44572882,44751169,44930170,45109886,45290325,45471482,45653363,45835975,46019317,46203390,46388203,46573754,46760044,46947081,47134865,47323401,47512691,47702740,47893548,48085119,48277458,48470563,48664443,48859099,49054533,49250747,49447748,49645536,49844115,50043489,50243659,50444632,50646407,50848991,51052385,51256590,51461615,51667459,51874127,52081621,52289943,52499101,52709093,52919925,53131600,53344123,53557497,53771723,53986808,54202752,54419560,54637235,54855782,55075204,55295501,55516679,55738743,55961696,56185539,56410279,56635918,56862460,57089906,57318260,57547530,57777715,58008823,58240856,58473816,58707708,58942535,59178303,59415014,59652673,59891279,60130842,60371360,60612842,60855288,61098706,61343095,61588465,61834814,62082152,62330477,62579794,62830107,63081425,63333746,63587075,63841421,64096782,64353167,64610577,64869014,65128488,65388998,65650552,65913150,66176801,66441503,66707266,66974089,67241980,67510948,67780984,68052104,68324308,68597597,68871986,69147468,69424058,69701748,69980547,70260462,70541502,70823666,71106955,71391376,71676937,71963640,72251490,72540490,72830646,73121966,73414452,73708102,74002932,74298935,74596127,74894508,75194086,75494860,75796839,76100023,76404420,76710029,77016868,77324927,77634223,77944756,78256526,78569550,78883826,79199355,79516145,79834204,80153540,80474146,80796036,81119211,81443680,81769450,82096521,82424901,82754599,83085614,83417954,83751619,84086618,84422958,84760647,85099686,85440082,85781835,86124954,86469447,86815321,87162576,87511221,87861264,88212704,88565550,88919809,89275482,89632577,89991101,90351063,90712463,91075309,91439608,91805361,92172576,92541261,92911424,93283064,93656191,94030811,94406926,94784550,95163685,95544337,95926508,96310213,96695451,97082224,97470547,97860421,98251860,98644858,99039430,99435584,99833321,100232648,100633573,101036105,101440243,101845995,102253370,102662376,103073020,103485310,103899247,104314839,104732093,105151018,105571614,105993897,106417866,106843529,107270896,107699974,108130770,108563285,108997535,109433520,109871248,110310727,110751965,111194970,111639742,112086297,112534635,112984764,113436701,113890444,114346003,114803378,115262583,115723628,116186520,116651260,117117863,117586329,118056667,118528884,119002989,119478997,119956909,120436733,120918476,121402147,121887746,122375288,122864782,123356236,123849658,124345048,124842421,125341787,125843144,126346510,126851891,127359289,127868718,128380188,128893706,129409272,129926902,130446604,130968387,131492250,132018210,132546274,133076450,133608746,134143172,134679733,135218439,135759298,136302326,136847522,137394903,137944468,138496234,139050217,139606417,140164834,140725484,141288382,141853530,142420942,142990620,143562579,144136818,144713355,145292205,145873369,146456861,147042683,147630851,148221363,148814237,149409489,150007118,150607140,151209556,151814382,152421633,153031310,153643429,154257989,154875007,155494500,156116465,156740921,157367883,157997351,158629325,159263837,159900887,160540475,161182633,161827362,162474661,163124546,163777033,164432139,165089864,165750206,166413200,167078844,167747154,168418131,169091791,169768150,170447207,171128980,171813483,172500733,173190730,173883490,174579012,175277315,175978412,176682320,177389040,178098587,178810977,179526210,180244303,180965271,181689115,182415867,183145526,183878092,184613598,185352044,186093446,186837804,187585149,188335482,189088820,189845161,190604538,191366952,192132401,192900919,193672505,194447192,195224978,196005865,196789885,197577037,198367337,199160803,199957432,200757259,201560282,202366518,203175967,203988661,204804600,205623815,206446292,207272062,208101141,208933529,209769259,210608330,211450758,212296544,213145719,213998283,214854270,215713678,216576523,217442822,218312576,219185815,220062539,220942782,221826543,222713838,223604683,224499095,225397072,226298648,227203838,228112643,229025078,229941160,230860904,231784327,232711445,233642273,234576829,235515127,236457168,237402984,238352575,239305974,240263179,241224224,242189108,243157847,244130458,245106973,246087391,247071728,248060002
@@ -23,7 +23,7 @@
10,0:4023,1,4,10,18,28,40,91,151,205,268,340
//Job - 1st Classes & Baby 1st Classes
-50,1:2:3:4:5:6:4024:4025:4026:4027:4028:4029:4046:4050,1,30,60,130,260,460,780,1060,1300,1560,1910,2290,2680,2990,3340,3740,4360,4970,5530,6120,6700,8090,8920,9970,11080,12690,14440,15850,17400,19220,21060,22870,24910,26840,29080,31320,33300,37110,40500,43570,46180,53510,57200,60310,65690,70090,72130,77540,83320,90120,97180,99123,101105,103127,105189,107292,109437,111625,113857,116134,118456,120825,123241,125705,128219,130783,133398,136065,138786,141561,144392,147279,150224,153228,156292,159417,162605,165857,169174,172557,176008,179528,183118,186780,190515,194325,198211,202175,206218,210342,214548,218838,223214,227678,232231,236875,241612,246444,251372,256399,261526,266756,272091,277532,283082,288743,294517,300407,306415,312543,318793,325168,331671,338304,345070,351971,359010,366190,373513,380983,388602,396374,404301,412387,420634,429046,437626,446378,455305,464411,473699,483172,492835,502691,512744,522998,533457,544126,555008,566108,577430,588978,600757,612772,625027,637527,650277,663282,676547,690077,703878,717955,732314,746960,761899,777136,792678,808531,824701,841195,858018,875178,892681,910534,928744,947318,966264,985589,1005300,1025405,1045913,1066831,1088167,1109930,1132128,1154770,1177865,1201422,1225450,1249958,1274957,1300456,1326465,1352994,1380053,1407654,1435807,1464523,1493813,1523689,1554162,1585245,1616949,1649287,1682272,1715917,1750235,1785239,1820943,1857361,1894508,1932398,1971045,2010465,2050674,2091687,2133520,2176190,2219713,2264107,2309389,2355576,2402687,2450740,2499754,2549749,2600743,2652757,2705812,2759928,2815126,2871428,2928856,2987433,3047181,3108124,3170286,3233691,3298364,3364331,3431617,3500249,3570253,3641657,3714490,3788779,3864554,3941845,4020681,4101094,4183115,4266777,4352112,4439154,4527936,4618494,4710863,4805080,4901181,4999204,5099187,5201170,5305193,5411296,5519521,5629911
+50,1:2:3:4:5:6:4024:4025:4026:4027:4028:4029:4046:4050:4218,1,30,60,130,260,460,780,1060,1300,1560,1910,2290,2680,2990,3340,3740,4360,4970,5530,6120,6700,8090,8920,9970,11080,12690,14440,15850,17400,19220,21060,22870,24910,26840,29080,31320,33300,37110,40500,43570,46180,53510,57200,60310,65690,70090,72130,77540,83320,90120,97180,99123,101105,103127,105189,107292,109437,111625,113857,116134,118456,120825,123241,125705,128219,130783,133398,136065,138786,141561,144392,147279,150224,153228,156292,159417,162605,165857,169174,172557,176008,179528,183118,186780,190515,194325,198211,202175,206218,210342,214548,218838,223214,227678,232231,236875,241612,246444,251372,256399,261526,266756,272091,277532,283082,288743,294517,300407,306415,312543,318793,325168,331671,338304,345070,351971,359010,366190,373513,380983,388602,396374,404301,412387,420634,429046,437626,446378,455305,464411,473699,483172,492835,502691,512744,522998,533457,544126,555008,566108,577430,588978,600757,612772,625027,637527,650277,663282,676547,690077,703878,717955,732314,746960,761899,777136,792678,808531,824701,841195,858018,875178,892681,910534,928744,947318,966264,985589,1005300,1025405,1045913,1066831,1088167,1109930,1132128,1154770,1177865,1201422,1225450,1249958,1274957,1300456,1326465,1352994,1380053,1407654,1435807,1464523,1493813,1523689,1554162,1585245,1616949,1649287,1682272,1715917,1750235,1785239,1820943,1857361,1894508,1932398,1971045,2010465,2050674,2091687,2133520,2176190,2219713,2264107,2309389,2355576,2402687,2450740,2499754,2549749,2600743,2652757,2705812,2759928,2815126,2871428,2928856,2987433,3047181,3108124,3170286,3233691,3298364,3364331,3431617,3500249,3570253,3641657,3714490,3788779,3864554,3941845,4020681,4101094,4183115,4266777,4352112,4439154,4527936,4618494,4710863,4805080,4901181,4999204,5099187,5201170,5305193,5411296,5519521,5629911
//Job - 2nd Classes & Baby 2nd Classes
50,7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4051:4052,1,1600,2500,4200,7000,10300,15900,18900,20900,22600,24900,28800,31500,32000,33300,35100,40500,44100,46300,48500,50700,56000,59400,63500,68100,75000,85700,90500,96600,102600,108600,119700,126000,132300,138600,146100,157500,170600,180400,190300,196800,214900,225200,232000,245700,255900,279300,294000,308700,327000,345400,355761,366433,377425,388747,400409,412421,424793,437536,450662,464181,478106,492449,507222,522438,538111,554254,570881,588007,605647,623816,642530,661805,681659,702108,723171,744866,767211,790227,813933,838350,863500,889404,916086,943568,971875,1001031,1031061,1061992,1093851,1126666,1160465,1195278,1231136,1268070,1306112,1345295,1385653,1427222,1470038,1514139,1559563,1606349,1654539,1704175,1755300,1807958,1862196,1918061,1975602,2034870,2095916,2158793,2223556,2290262,2358969,2429738,2502630,2577708,2655039,2734690,2816730,2901231,2988267,3077914,3170251,3265358,3363318,3464217,3568143,3675187,3785442,3899005,4015975,4136454,4260547,4388363,4520013,4655613,4795281,4939139,5087313,5239932,5397129,5559042,5725813,5897587,6074514,6256749,6444451,6637784,6836917,7042024,7253284,7470882,7695008,7925858,8163633,8408541,8660796,8920619,9188237,9463883,9747799,10040232,10341438,10651680,10758196,10865777,10974434,11084178,11195019,11306969,11420038,11534238,11649580,11766075,11883735,12002572,12122597,12243822,12366260,12489922,12614821,12740969,12868378,12997061,13127031,13258301,13390883,13524791,13660038,13796638,13934604,14073949,14214688,14356834,14500402,14645405,14791858,14939776,15089173,15240064,15392464,15546388,15701851,15858869,16017457,16177631,16339407,16502800,16667827,16834505,17002848,17172876,17344604,17518049,17693228,17870160,18048861,18229348,18411641,18595756,18781713,18969528,19159223,19350816,19544323,19739767,19937165,20136535,20337901,20541278,20746690,20954156,21163697,21375332,21589085,21804974,22023023,22243254,22465686,22690342,22917245,23146416,23377879,23611658,23847774,24086251,24327114,24570384,24816087,25064248,25314890,25568038,25823718
diff --git a/db/re/item_chain.conf b/db/re/item_chain.conf
index 892686271..a2e4efff4 100644
--- a/db/re/item_chain.conf
+++ b/db/re/item_chain.conf
@@ -91,7 +91,7 @@ ITMCHAIN_HEAL: {
Novice_Potion: 50
Nice_Sweet_Potato: 50
Candy: 100
- ID528: 200 //Monster's_Feed
+ Monsters_Feed: 200
Popped_Rice: 600
}
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index a8d37ab0f..cac13166d 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -100,7 +100,7 @@ item_db: (
nocart: true/false (boolean, defaults to false)
noselltonpc: true/false (boolean, defaults to false)
nomail: true/false (boolean, defaults to false)
- noauction: true/false (boolean, defaults to false)
+ noauction: true/false (boolean, defaults to false)
nogstorage: true/false (boolean, defaults to false)
partneroverride: true/false (boolean, defaults to false)
}
@@ -388,7 +388,7 @@ item_db: (
},
{
Id: 528
- AegisName: "Monster's_Feed"
+ AegisName: "Monsters_Feed"
Name: "Monster's Feed"
Type: 0
Buy: 60
@@ -511,7 +511,7 @@ item_db: (
},
{
Id: 540
- AegisName: "Falcon's_Feed"
+ AegisName: "Falcons_Feed"
Name: "Falcon Food"
Type: 0
Buy: 2000
@@ -520,7 +520,7 @@ item_db: (
},
{
Id: 541
- AegisName: "Pecopeco's_Feed"
+ AegisName: "Pecopecos_Feed"
Name: "PecoPeco Food"
Type: 0
Buy: 3000
@@ -973,7 +973,7 @@ item_db: (
{
Id: 585
AegisName: "Wurst"
- Name: "Brusti"
+ Name: "Wurst"
Type: 0
Buy: 2
Weight: 40
@@ -981,7 +981,7 @@ item_db: (
},
{
Id: 586
- AegisName: "Mother's_Cake"
+ AegisName: "Mothers_Cake"
Name: "Mother's Cake"
Type: 0
Buy: 20
@@ -1728,6 +1728,7 @@ item_db: (
Dark_Collector: true
Kagerou: true
Rebellion: true
+ Summoner: true
}
EquipLv: 40
BuyingStore: true
@@ -2725,7 +2726,7 @@ item_db: (
},
{
Id: 904
- AegisName: "Scorpion's_Tail"
+ AegisName: "Scorpions_Tail"
Name: "Scorpion Tail"
Buy: 124
Weight: 10
@@ -2845,7 +2846,7 @@ item_db: (
},
{
Id: 919
- AegisName: "Animal's_Skin"
+ AegisName: "Animals_Skin"
Name: "Animal Skin"
Buy: 36
Weight: 10
@@ -2997,7 +2998,7 @@ item_db: (
},
{
Id: 940
- AegisName: "Grasshopper's_Leg"
+ AegisName: "Grasshoppers_Leg"
Name: "Grasshopper's Leg"
Buy: 36
Weight: 10
@@ -3045,7 +3046,7 @@ item_db: (
},
{
Id: 946
- AegisName: "Snail's_Shell"
+ AegisName: "Snails_Shell"
Name: "Snail's Shell"
Buy: 64
Weight: 10
@@ -3061,7 +3062,7 @@ item_db: (
},
{
Id: 948
- AegisName: "Bear's_Foot"
+ AegisName: "Bears_Foot"
Name: "Bear's Footskin"
Buy: 174
Weight: 10
@@ -3588,7 +3589,7 @@ item_db: (
},
{
Id: 1015
- AegisName: "Thin_N'_Long_Tongue"
+ AegisName: "Thin_N_Long_Tongue"
Name: "Tongue"
Buy: 528
Weight: 10
@@ -3692,7 +3693,7 @@ item_db: (
},
{
Id: 1028
- AegisName: "Wild_Boar's_Mane"
+ AegisName: "Wild_Boars_Mane"
Name: "Mane"
Buy: 196
Weight: 10
@@ -3700,7 +3701,7 @@ item_db: (
},
{
Id: 1029
- AegisName: "Tiger's_Skin"
+ AegisName: "Tigers_Skin"
Name: "Tiger Skin"
Buy: 548
Weight: 10
@@ -3788,7 +3789,7 @@ item_db: (
},
{
Id: 1040
- AegisName: "Elder_Pixie's_Beard"
+ AegisName: "Elder_Pixies_Beard"
Name: "Elder Pixie's Moustache"
Buy: 232
Weight: 10
@@ -4112,7 +4113,7 @@ item_db: (
},
{
Id: 1084
- AegisName: "Kapra's_Pass"
+ AegisName: "Kapras_Pass"
Name: "Kafra Pass"
Weight: 10
},
@@ -7726,7 +7727,7 @@ item_db: (
},
{
Id: 1229
- AegisName: "Mama's_Knife"
+ AegisName: "Mamas_Knife"
Name: "Kitchen Knife"
Type: 4
Buy: 20
@@ -8344,7 +8345,7 @@ item_db: (
},
{
Id: 1249
- AegisName: "Fisherman's_Dagger"
+ AegisName: "Fishermans_Dagger"
Name: "Fisherman's Dagger"
Type: 4
Buy: 10000
@@ -9556,7 +9557,7 @@ item_db: (
},
{
Id: 1299
- AegisName: "TE_WoE_Katar"
+ AegisName: "TE_Woe_Katar"
Name: "TE WoE Katar"
Type: 4
Atk: 120
@@ -10065,7 +10066,7 @@ item_db: (
},
{
Id: 1319
- AegisName: "TE_WoE_Axe"
+ AegisName: "TE_Woe_Axe"
Name: "TE WoE Axe"
Type: 4
Buy: 20
@@ -11493,7 +11494,7 @@ item_db: (
},
{
Id: 1399
- AegisName: "TE_WoE_Two_Handed_Axe"
+ AegisName: "TE_Woe_Two_Handed_Axe"
Name: "TE WoE Two-Handed Axe"
Type: 4
Buy: 20
@@ -12468,7 +12469,7 @@ item_db: (
},
{
Id: 1437
- AegisName: "TE_WoE_Pike"
+ AegisName: "TE_Woe_Pike"
Name: "TE WoE Pike"
Type: 4
Buy: 20
@@ -12500,7 +12501,7 @@ item_db: (
},
{
Id: 1438
- AegisName: "Thanatos_Spear"
+ AegisName: "Thanos_Spear"
Name: "Thanatos Spear"
Type: 4
Buy: 20
@@ -12553,7 +12554,7 @@ item_db: (
},
{
Id: 1443
- AegisName: "Crimson_Spear"
+ AegisName: "Scarlet_Spear"
Name: "Crimson Spear"
Type: 4
Buy: 20
@@ -12967,7 +12968,7 @@ item_db: (
},
{
Id: 1469
- AegisName: "Longinus's_Spear"
+ AegisName: "Longinuss_Spear"
Name: "Longinus's Spear"
Type: 4
Buy: 20
@@ -13670,7 +13671,7 @@ item_db: (
},
{
Id: 1495
- AegisName: "TE_WoE_Lance"
+ AegisName: "TE_Woe_Lance"
Name: "TE WoE Lance"
Type: 4
Atk: 150
@@ -13701,7 +13702,7 @@ item_db: (
},
{
Id: 1496
- AegisName: "Thanatos_Long_Spear"
+ AegisName: "Thanos_Long_Spear"
Name: "Thanatos Long Spear"
Type: 4
Buy: 20
@@ -13732,7 +13733,7 @@ item_db: (
},
{
Id: 1498
- AegisName: "Crimson_Lance"
+ AegisName: "Scarlet_Lance"
Name: "Crimson Lance"
Type: 4
Buy: 20
@@ -15265,7 +15266,7 @@ item_db: (
},
{
Id: 1558
- AegisName: "Girl's_Diary"
+ AegisName: "Girls_Diary"
Name: "Girl's Diary"
Type: 4
Buy: 1500
@@ -16178,7 +16179,7 @@ item_db: (
},
{
Id: 1591
- AegisName: "TE_WoE_Book"
+ AegisName: "TE_Woe_Book"
Name: "TE WoE Book"
Type: 4
Buy: 20
@@ -16837,7 +16838,7 @@ item_db: (
},
{
Id: 1621
- AegisName: "Hypnotist's_Staff"
+ AegisName: "Hypnotists_Staff"
Name: "Hypnotist's Staff"
Type: 4
Buy: 43000
@@ -16858,7 +16859,7 @@ item_db: (
},
{
Id: 1622
- AegisName: "Hypnotist's_Staff_"
+ AegisName: "Hypnotists_Staff_"
Name: "Hypnotist's Staff"
Type: 4
Buy: 20
@@ -17667,7 +17668,7 @@ item_db: (
},
{
Id: 1646
- AegisName: "La'cryma_Stick"
+ AegisName: "Lacryma_Stick"
Name: "La'cryma Stick"
Type: 4
Buy: 20
@@ -18179,7 +18180,7 @@ item_db: (
},
{
Id: 1664
- AegisName: "Thorn_Staff_of_Darkness"
+ AegisName: "Thorn_Staff_"
Name: "Thorn Staff of Darkness"
Type: 4
Buy: 20
@@ -18264,7 +18265,7 @@ item_db: (
},
{
Id: 1667
- AegisName: "TE_WoE_Staff"
+ AegisName: "TE_Woe_Staff"
Name: "TE WoE Staff"
Type: 4
Buy: 20
@@ -18325,7 +18326,7 @@ item_db: (
},
{
Id: 1669
- AegisName: "Thanatos_Staff"
+ AegisName: "Thanos_Staff"
Name: "Thanatos Staff"
Type: 4
Buy: 20
@@ -18395,7 +18396,7 @@ item_db: (
},
{
Id: 1671
- AegisName: "Evil_Slayer_Vanquisher_Staff"
+ AegisName: "Staff_Of_Evil_Slayer"
Name: "Evil Slayer Vanquisher Staff"
Type: 4
Buy: 20
@@ -18428,7 +18429,7 @@ item_db: (
},
{
Id: 1680
- AegisName: "Crimson_Rod"
+ AegisName: "Scarlet_Rod"
Name: "Crimson Rod"
Type: 4
Buy: 20
@@ -18457,6 +18458,391 @@ item_db: (
if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }
">
},
+{
+ Id: 1681
+ AegisName: "Short_Foxtail_Staff"
+ Name: "Short Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Atk: 30
+ Range: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 1
+ EquipLv: 1
+ View: 10
+},
+{
+ Id: 1683
+ AegisName: "Enriched_Foxtail_Staff"
+ Name: "Enriched Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 200
+ Atk: 50
+ Matk: 70
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 12
+ View: 10
+ Script: <" bonus bMaxSP, 50; ">
+},
+{
+ Id: 1684
+ AegisName: "Long_Foxtail_Staff"
+ Name: "Long Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 200
+ Atk: 50
+ Range: 2
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 12
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 5;
+ bonus bMaxHP, 200;
+ ">
+},
+{
+ Id: 1685
+ AegisName: "Dragonfly_Sitting_Foxtail_Staff"
+ Name: "Dragonfly Sitting Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 70
+ Matk: 100
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 20
+ View: 10
+ Script: <"
+ bonus bInt, 1;
+ bonus bMaxHP, 100;
+ bonus bMaxSP, 150;
+ ">
+},
+{
+ Id: 1686
+ AegisName: "Large_Foxtail_Staff"
+ Name: "Large Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 70
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 20
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 8;
+ bonus bDex, 1;
+ bonus bMaxHP, 200;
+ bonus bMaxSP, 100;
+ ">
+},
+{
+ Id: 1687
+ AegisName: "Beginner_Foxtail_Staff"
+ Name: "Beginner Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 100
+ Atk: 40
+ Matk: 15
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 1
+ EquipLv: 3
+ View: 10
+ Script: <" bonus bMaxHP, 100; ">
+},
+{
+ Id: 1690
+ AegisName: "Mysterious_Foxtail_Staff"
+ Name: "Mysterious Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 400
+ Atk: 80
+ Matk: 180
+ Range: 1
+ Slots: 3
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 60
+ View: 10
+ Script: <"
+ bonus bMaxSP, 10 * (getrefine() / 3) + 50;
+ bonus bMatk, 10 * (getrefine() / 3);
+ ">
+},
+{
+ Id: 1691
+ AegisName: "Strange_God_Foxtail_Staff"
+ Name: "Strange God Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 500
+ Atk: 100
+ Matk: 240
+ Range: 1
+ Slots: 2
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 3
+ EquipLv: 100
+ View: 10
+ Script: <"
+ bonus bMaxSP, 100;
+ bonus bMatkRate, 2 * (getrefine() / 3);
+ bonus bMaxSPrate, getrefine() / 3;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate,(20 * .@r) + 40;
+ bonus bWeaponMatkRate,(20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1692
+ AegisName: "Magical_Foxtail_Staff"
+ Name: "Magical Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 600
+ Atk: 120
+ Matk: 260
+ Range: 1
+ Slots: 2
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 3
+ EquipLv: 140
+ View: 10
+ Script: <"
+ bonus bMaxSP, 100;
+ bonus bMatkRate, 2 * (getrefine() / 3);
+ bonus bMaxSPrate, getrefine() / 3;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate, (20 * .@r) + 40;
+ bonus bWeaponMatkRate, (20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1693
+ AegisName: "Magical_Yellow_Foxtail_Staff"
+ Name: "Magical Yellow Foxtail Staff"
+ Type: 4
+ Buy: 20
+ Weight: 700
+ Atk: 140
+ Matk: 280
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 4
+ EquipLv: 175
+ View: 10
+ Script: <"
+ bonus bMatkRate, 3 * (getrefine() / 2);
+ bonus4 bAutoSpellOnSkill, SU_FRESHSHRIMP, SU_ARCLOUSEDASH, max(1, getskilllv(SU_ARCLOUSEDASH)), 200;
+ bonus4 bAutoSpellOnSkill, SU_SV_STEMSPEAR, SU_FRESHSHRIMP, max(1, getskilllv(SU_FRESHSHRIMP)), 200;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate, (20 * .@r) + 40;
+ bonus bWeaponMatkRate, (20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1694
+ AegisName: "Foxtail_Model"
+ Name: "Foxtail Model"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 150
+ Range: 1
+ Slots: 3
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 60
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 8;
+ bonus bMaxHP, 100;
+ bonus bDex, (getrefine() / 3) * 2;
+ bonus bMaxSP, (getrefine() / 3) * 10;
+ ">
+},
+{
+ Id: 1695
+ AegisName: "Delicate_Foxtail_Model"
+ Name: "Delicate Foxtail Model"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 195
+ Range: 1
+ Slots: 2
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 3
+ EquipLv: 100
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 8;
+ bonus bMaxHP, 200;
+ bonus bDex, (getrefine() / 3) * 3;
+ bonus bMaxSP, (getrefine() / 3) * 15;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate, (20 * .@r) + 40;
+ bonus bWeaponMatkRate, (20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1696
+ AegisName: "Exquisite_Foxtail_Model"
+ Name: "Exquisite Foxtail Model"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 240
+ Range: 1
+ Slots: 2
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 3
+ EquipLv: 140
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 8;
+ bonus bMaxHPrate, 5;
+ bonus bDex, (getrefine() / 2) * 3;
+ bonus bMaxSP, (getrefine() / 2) * 15;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate, (20 * .@r) + 40;
+ bonus bWeaponMatkRate, (20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1697
+ AegisName: "Exquisite_Yellow_Foxtail_Model"
+ Name: "Exquisite Yellow Foxtail Model"
+ Type: 4
+ Buy: 20
+ Weight: 300
+ Atk: 270
+ Range: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 2
+ WeaponLv: 4
+ EquipLv: 175
+ View: 10
+ Script: <"
+ bonus bLongAtkRate, 9;
+ bonus bMaxHPrate, 7;
+ bonus bLongAtkRate, getrefine() / 2;
+ bonus bMaxSP, (getrefine() / 2) * 20;
+ bonus4 bAutoSpellOnSkill, SU_PICKYPECK, SU_FRESHSHRIMP, max(1, getskilllv(SU_FRESHSHRIMP)), 200;
+ if (getrefine() >= 7) {
+ .@r = min(getrefine(), 10) - 7;
+ bonus bWeaponAtkRate, (20 * .@r) + 40;
+ bonus bWeaponMatkRate, (20 * .@r) + 40;
+ }
+
+ ">
+},
+{
+ Id: 1699
+ AegisName: "Paradise_Foxtail_Staff_I"
+ Name: "Eden Group Foxtail I"
+ Type: 4
+ Buy: 20
+ Atk: 120
+ Matk: 135
+ Range: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 2
+ EquipLv: 26
+ Refine: false
+ View: 10
+ Script: <"
+ bonus bDex, 3;
+ bonus bInt, 3;
+ bonus bLongAtkRate, 5;
+ ">
+},
//== Bows ==================================================
{
@@ -20981,7 +21367,7 @@ item_db: (
},
{
Id: 1834
- AegisName: "TE_WoE_Fist"
+ AegisName: "TE_Woe_Fist"
Name: "TE WoE Fist"
Type: 4
Buy: 20
@@ -21036,7 +21422,7 @@ item_db: (
},
{
Id: 1836
- AegisName: "Thanatos_Knuckles"
+ AegisName: "Thanos_Knuckle"
Name: "Thanatos Knuckles"
Type: 4
Buy: 20
@@ -21065,7 +21451,7 @@ item_db: (
},
{
Id: 1839
- AegisName: "Crimson_Knuckle"
+ AegisName: "Scarlet_Knuckle"
Name: "Crimson Knuckle"
Type: 4
Buy: 20
@@ -21842,7 +22228,7 @@ item_db: (
},
{
Id: 1932
- AegisName: "TE_WoE_Guitar"
+ AegisName: "TE_Woe_Guitar"
Name: "TE WoE Guitar"
Type: 4
Atk: 100
@@ -21872,7 +22258,7 @@ item_db: (
},
{
Id: 1933
- AegisName: "Thanatos_Violin"
+ AegisName: "Thanos_Violin"
Name: "Thanatos Violin"
Type: 4
Buy: 20
@@ -21902,7 +22288,7 @@ item_db: (
},
{
Id: 1934
- AegisName: "Double_Bass"
+ AegisName: "Contabass"
Name: "Double Bass"
Type: 4
Buy: 124000
@@ -21926,9 +22312,9 @@ item_db: (
},
{
Id: 1935
- AegisName: "Ozs_New_Ukulele"
+ AegisName: "Ukulele_Of_Newoz"
Name: "Oz's New Ukulele"
- Type: 5
+ Type: 4
Buy: 124000
Weight: 1000
Atk: 160
@@ -21949,9 +22335,9 @@ item_db: (
},
{
Id: 1936
- AegisName: "Blue_Violin"
+ AegisName: "Ru_Blue_Violin"
Name: "Blue Violin"
- Type: 5
+ Type: 4
Buy: 20
Weight: 1500
Atk: 180
@@ -22025,7 +22411,7 @@ item_db: (
},
{
Id: 1939
- AegisName: "Crimson_Violin"
+ AegisName: "Scarlet_Viollin"
Name: "Crimson Violin"
Type: 4
Buy: 20
@@ -22064,19 +22450,22 @@ item_db: (
EquipLv: 130
View: 13
Script: <"
- bonus bInt,getrefine();
- bonus bDex,getrefine();
- if(getrefine()>4) {
- bonus2 bSkillAtk,WM_REVERBERATION,10;
- bonus2 bVariableCastrate,WM_REVERBERATION,-10;
+ bonus bInt, getrefine();
+ bonus bDex, getrefine();
+ if(getrefine() > 4) {
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 10;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 10;
+ bonus2 bVariableCastrate, WM_REVERBERATION, -10;
}
- if(getrefine()>6) {
- bonus2 bSkillAtk,WM_REVERBERATION,10;
- bonus2 bVariableCastrate,WM_REVERBERATION,-10;
+ if(getrefine() > 6) {
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 10;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 10;
+ bonus2 bVariableCastrate, WM_REVERBERATION, -10;
}
- if(getrefine()>8) {
- bonus2 bSkillAtk,WM_REVERBERATION,20;
- bonus2 bVariableCastrate,WM_REVERBERATION,-20;
+ if(getrefine() > 8) {
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 20;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 20;
+ bonus2 bVariableCastrate, WM_REVERBERATION, -20;
}
">
},
@@ -22455,7 +22844,7 @@ item_db: (
},
{
Id: 1970
- AegisName: "Queen's_Whip"
+ AegisName: "Queens_Whip"
Name: "Queen's Whip"
Type: 4
Buy: 20
@@ -22589,7 +22978,7 @@ item_db: (
},
{
Id: 1976
- AegisName: "Queen's_Whip_"
+ AegisName: "Queens_Whip_"
Name: "Queen's Whip"
Type: 4
Buy: 20
@@ -22898,7 +23287,7 @@ item_db: (
},
{
Id: 1987
- AegisName: "TE_WoE_Rope"
+ AegisName: "TE_Woe_Rope"
Name: "TE WoE Rope"
Type: 4
Atk: 100
@@ -22927,7 +23316,7 @@ item_db: (
},
{
Id: 1988
- AegisName: "Thanatos_Whip"
+ AegisName: "Thanos_Whip"
Name: "Thanatos Whip"
Type: 4
Buy: 20
@@ -22956,9 +23345,9 @@ item_db: (
},
{
Id: 1989
- AegisName: "Rhythmic_Gymnastics_Ribbon"
+ AegisName: "Gymnastics_Ribbon"
Name: "Rhythmic Gymnastics Ribbon"
- Type: 5
+ Type: 4
Buy: 124000
Weight: 300
Atk: 150
@@ -22972,14 +23361,14 @@ item_db: (
Loc: 2
WeaponLv: 3
EquipLv: 130
- View: 13
+ View: 14
Script: <" bonus bAspdRate,20; ">
},
{
Id: 1990
- AegisName: "Bloody_Floral_Decoration_Microphone"
+ AegisName: "Floral_Mic_Of_Igu"
Name: "Bloody Floral Decoration Microphone"
- Type: 5
+ Type: 4
Buy: 124000
Weight: 1000
Atk: 160
@@ -22992,14 +23381,14 @@ item_db: (
Loc: 2
WeaponLv: 4
EquipLv: 130
- View: 13
+ View: 14
Script: <" bonus2 bSkillUseSP,CG_MOONLIT,-20; ">
},
{
Id: 1991
- AegisName: "Blue_Whip"
+ AegisName: "Ru_Blue_Whip"
Name: "Blue Whip"
- Type: 5
+ Type: 4
Buy: 20
Weight: 1500
Atk: 180
@@ -23069,7 +23458,7 @@ item_db: (
},
{
Id: 1995
- AegisName: "Crimson_Wire"
+ AegisName: "Scarlet_Wire"
Name: "Crimson Wire"
Type: 4
Buy: 20
@@ -23787,7 +24176,7 @@ item_db: (
},
{
Id: 2023
- AegisName: "Thanatos_Two-Handed_Staff"
+ AegisName: "Thanos_Rod"
Name: "Thanatos Two-Handed Staff"
Type: 4
Buy: 20
@@ -23824,7 +24213,7 @@ item_db: (
Id: 2024
AegisName: "Infinity_Staff"
Name: "Infinity Staff"
- Type: 5
+ Type: 4
Buy: 20
Weight: 500
Atk: 30
@@ -23851,7 +24240,7 @@ item_db: (
},
{
Id: 2025
- AegisName: "Staff_of_Crimson"
+ AegisName: "Scarlet_Staff"
Name: "Staff of Crimson"
Type: 4
Buy: 20
@@ -24187,7 +24576,7 @@ item_db: (
},
{
Id: 2115
- AegisName: "Valkyrja's_Shield"
+ AegisName: "Valkyrjas_Shield"
Name: "Valkyrja's Shield"
Type: 5
Buy: 30000
@@ -24211,7 +24600,7 @@ item_db: (
},
{
Id: 2116
- AegisName: "Angel's_Safeguard"
+ AegisName: "Angels_Safeguard"
Name: "Angelic Guard"
Type: 5
Buy: 10000
@@ -24734,7 +25123,7 @@ item_db: (
},
{
Id: 2137
- AegisName: "Valkyrja's_Shield_C"
+ AegisName: "Valkyrjas_Shield_C"
Name: "Neo Valkyrja's Shield"
Type: 5
Def: 110
@@ -25180,9 +25569,8 @@ item_db: (
EquipLv: 65
View: 3
Script: <"
- bonus2 bAddRaceTolerance,RC_Undead,5;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,-5;
- bonus2 bAddRaceTolerance,RC_Player,-5;
+ bonus2 bAddRaceTolerance, RC_Undead, 5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, -5;
">
},
{
@@ -25493,7 +25881,7 @@ item_db: (
},
{
Id: 2178
- AegisName: "TE_WoE_Buckler"
+ AegisName: "TE_Woe_Buckler"
Name: "TE WoE Buckler"
Type: 5
Def: 15
@@ -25519,7 +25907,7 @@ item_db: (
},
{
Id: 2179
- AegisName: "TE_WoE_Shield"
+ AegisName: "TE_Woe_Shield"
Name: "TE WoE Shield"
Type: 5
Def: 25
@@ -25549,7 +25937,7 @@ item_db: (
},
{
Id: 2180
- AegisName: "TE_WoE_Magic_Guard"
+ AegisName: "TE_Woe_Magic_Guard"
Name: "TE WoE Magic Guard"
Type: 5
Def: 5
@@ -25623,7 +26011,7 @@ item_db: (
},
{
Id: 2183
- AegisName: "Adv_Angel's_Safeguard"
+ AegisName: "Impr_Angels_Safeguard"
Name: "Advanced Angelic Guard"
Type: 5
Buy: 10000
@@ -25670,7 +26058,7 @@ item_db: (
},
{
Id: 2186
- AegisName: "Revised_Encyclopedia"
+ AegisName: "Encyclopedia_Revision"
Name: "Revised Encyclopedia"
Type: 5
Buy: 20
@@ -25696,7 +26084,7 @@ item_db: (
},
{
Id: 2187
- AegisName: "Gray_Shield"
+ AegisName: "Shield_Of_Gray"
Name: "Gray Shield"
Type: 5
Buy: 20
@@ -25714,7 +26102,7 @@ item_db: (
},
{
Id: 2188
- AegisName: "Svalinn"
+ AegisName: "Svalinn_J"
Name: "Svalinn"
Type: 5
Buy: 20
@@ -25812,7 +26200,7 @@ item_db: (
},
{
Id: 2198
- AegisName: "Laphine_Shield"
+ AegisName: "Lapine_Shield"
Name: "Laphine Shield"
Type: 5
Buy: 20
@@ -25910,7 +26298,7 @@ item_db: (
},
{
Id: 2205
- AegisName: "Diver's_Goggles"
+ AegisName: "Divers_Goggles"
Name: "Diver Goggles"
Type: 5
Buy: 3500
@@ -26409,7 +26797,7 @@ item_db: (
},
{
Id: 2236
- AegisName: "Santa's_Hat"
+ AegisName: "Santas_Hat"
Name: "Santa Hat"
Type: 5
Buy: 20
@@ -26506,7 +26894,7 @@ item_db: (
},
{
Id: 2244
- AegisName: "Big_Sis'_Ribbon"
+ AegisName: "Big_Sis_Ribbon"
Name: "Big Ribbon"
Type: 5
Buy: 15000
@@ -26554,7 +26942,7 @@ item_db: (
},
{
Id: 2247
- AegisName: "Oldman's_Romance"
+ AegisName: "Oldmans_Romance"
Name: "Romantic Gent"
Type: 5
Buy: 15000
@@ -27424,7 +27812,7 @@ item_db: (
},
{
Id: 2306
- AegisName: "Adventurere's_Suit_"
+ AegisName: "Adventureres_Suit_"
Name: "Adventurer's Suit"
Type: 5
Buy: 1000
@@ -28275,7 +28663,7 @@ item_db: (
},
{
Id: 2353
- AegisName: "Odin's_Blessing"
+ AegisName: "Odins_Blessing"
Name: "Odin's Blessing"
Type: 5
Buy: 30000
@@ -28291,7 +28679,7 @@ item_db: (
},
{
Id: 2354
- AegisName: "Goibne's_Armor"
+ AegisName: "Goibnes_Armor"
Name: "Goibne's Armor"
Type: 5
Buy: 50000
@@ -28310,7 +28698,7 @@ item_db: (
},
{
Id: 2355
- AegisName: "Angel's_Protection"
+ AegisName: "Angels_Protection"
Name: "Angelic Protection"
Type: 5
Buy: 10000
@@ -29313,7 +29701,7 @@ item_db: (
},
{
Id: 2393
- AegisName: "N_Adventurer's_Suit"
+ AegisName: "N_Adventurers_Suit"
Name: "Novice Adventurer's Suit"
Type: 5
Def: 45
@@ -29789,7 +30177,7 @@ item_db: (
},
{
Id: 2418
- AegisName: "Vidar's_Boots"
+ AegisName: "Vidars_Boots"
Name: "Vidar's Boots"
Type: 5
Buy: 30000
@@ -29808,7 +30196,7 @@ item_db: (
},
{
Id: 2419
- AegisName: "Goibne's_Combat_Boots"
+ AegisName: "Goibnes_Combat_Boots"
Name: "Goibne's Greaves"
Type: 5
Buy: 30000
@@ -29828,7 +30216,7 @@ item_db: (
},
{
Id: 2420
- AegisName: "Angel's_Arrival"
+ AegisName: "Angels_Arrival"
Name: "Angel's Reincarnation"
Type: 5
Buy: 10000
@@ -31460,7 +31848,7 @@ item_db: (
},
{
Id: 2489
- AegisName: "Vidar's_Boots_"
+ AegisName: "Vidars_Boots_"
Name: "Vidar's Boots"
Type: 5
Buy: 30000
@@ -31509,7 +31897,7 @@ item_db: (
},
{
Id: 2493
- AegisName: "Goibne's_Combat_Boots_"
+ AegisName: "Goibnes_Combat_Boots_"
Name: "Goibne's Greaves"
Type: 5
Buy: 30000
@@ -31568,7 +31956,7 @@ item_db: (
},
{
Id: 2496
- AegisName: "TE_WoE_Shoes"
+ AegisName: "TE_Woe_Shoes"
Name: "TE WoE Shoes"
Type: 5
Def: 5
@@ -31595,7 +31983,7 @@ item_db: (
},
{
Id: 2497
- AegisName: "TE_WoE_Boots"
+ AegisName: "TE_Woe_Boots"
Name: "TE WoE Boots"
Type: 5
Def: 10
@@ -31858,7 +32246,7 @@ item_db: (
},
{
Id: 2511
- AegisName: "Skeleton's_Cape"
+ AegisName: "Skeletons_Cape"
Name: "Skeleton Manteau"
Type: 5
Buy: 5000
@@ -31974,7 +32362,7 @@ item_db: (
},
{
Id: 2517
- AegisName: "Vali's_Manteau"
+ AegisName: "Valis_Manteau"
Name: "Vali's Manteau"
Type: 5
Buy: 30000
@@ -31990,7 +32378,7 @@ item_db: (
},
{
Id: 2518
- AegisName: "Morpheus's_Shawl"
+ AegisName: "Morpheuss_Shawl"
Name: "Morpheus's Shawl"
Type: 5
Buy: 30000
@@ -32009,7 +32397,7 @@ item_db: (
},
{
Id: 2519
- AegisName: "Morrigane's_Manteau"
+ AegisName: "Morriganes_Manteau"
Name: "Morrigane's Manteau"
Type: 5
Buy: 30000
@@ -32028,7 +32416,7 @@ item_db: (
},
{
Id: 2520
- AegisName: "Goibne's_Shoulder_Arms"
+ AegisName: "Goibnes_Shoulder_Arms"
Name: "Goibne's Spaulders"
Type: 5
Buy: 30000
@@ -32048,7 +32436,7 @@ item_db: (
},
{
Id: 2521
- AegisName: "Angel's_Warmth"
+ AegisName: "Angels_Warmth"
Name: "Angelic Cardigan"
Type: 5
Buy: 10000
@@ -32838,7 +33226,7 @@ item_db: (
},
{
Id: 2550
- AegisName: "Fisher's_Muffler"
+ AegisName: "Fishers_Muffler"
Name: "Fisher's Muffler"
Type: 5
Buy: 20
@@ -33733,7 +34121,7 @@ item_db: (
},
{
Id: 2593
- AegisName: "Froid_Manteau"
+ AegisName: "Flow_Manteau"
Name: "Froid Manteau"
Type: 5
Buy: 20
@@ -33770,7 +34158,7 @@ item_db: (
},
{
Id: 2597
- AegisName: "Bloody_Muffler"
+ AegisName: "Scarlet_Poncho"
Name: "Bloody Muffler"
Type: 5
Weight: 500
@@ -33782,7 +34170,7 @@ item_db: (
},
{
Id: 2599
- AegisName: "Goibne's_Shoulder_Arms_"
+ AegisName: "Goibnes_Shoulder_Arms_"
Name: "Goibne's Spaulders"
Type: 5
Buy: 30000
@@ -34036,7 +34424,7 @@ item_db: (
},
{
Id: 2618
- AegisName: "Matyr's_Flea_Guard"
+ AegisName: "Matyrs_Flea_Guard"
Name: "Matyr's Leash"
Type: 5
Buy: 2
@@ -34455,7 +34843,7 @@ item_db: (
},
{
Id: 2642
- AegisName: "Serin's_Gold_Ring"
+ AegisName: "Serins_Gold_Ring"
Name: "Serin's Gold Ring"
Type: 5
Buy: 20
@@ -34474,7 +34862,7 @@ item_db: (
},
{
Id: 2643
- AegisName: "Serin's_Gold_Ring_"
+ AegisName: "Serins_Gold_Ring_"
Name: "Serin's Gold Ring"
Type: 5
Buy: 45000
@@ -34559,7 +34947,7 @@ item_db: (
},
{
Id: 2648
- AegisName: "Morpheus's_Ring"
+ AegisName: "Morpheuss_Ring"
Name: "Morpheus's Ring"
Type: 5
Buy: 30000
@@ -34578,7 +34966,7 @@ item_db: (
},
{
Id: 2649
- AegisName: "Morpheus's_Armlet"
+ AegisName: "Morpheuss_Armlet"
Name: "Morpheus's Bracelet"
Type: 5
Buy: 30000
@@ -34597,7 +34985,7 @@ item_db: (
},
{
Id: 2650
- AegisName: "Morrigane's_Belt"
+ AegisName: "Morriganes_Belt"
Name: "Morrigane's Belt"
Type: 5
Buy: 30000
@@ -34616,7 +35004,7 @@ item_db: (
},
{
Id: 2651
- AegisName: "Morrigane's_Pendant"
+ AegisName: "Morriganes_Pendant"
Name: "Morrigane's Pendant"
Type: 5
Buy: 30000
@@ -34661,7 +35049,7 @@ item_db: (
},
{
Id: 2654
- AegisName: "Shinobi's_Sash"
+ AegisName: "Shinobis_Sash"
Name: "Shinobi Sash"
Type: 5
Buy: 20000
@@ -34956,7 +35344,7 @@ item_db: (
},
{
Id: 2668
- AegisName: "Women's_Glory"
+ AegisName: "Womens_Glory"
Name: "Woman Glory"
Type: 5
Weight: 500
@@ -37505,7 +37893,7 @@ item_db: (
},
{
Id: 2781
- AegisName: "Aumdura's_Grace"
+ AegisName: "Aumduras_Grace"
Name: "Aumdura's Benefit"
Type: 5
Buy: 20
@@ -38030,7 +38418,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_arch02") {
+ if(strcharinfo(PC_MAP)=="job3_arch02") {
bonus2 bAddDefClass,1761,50;
bonus2 bAddDefClass,1762,50;
}
@@ -38661,7 +39049,7 @@ item_db: (
},
{
Id: 2833
- AegisName: "Odin's_Recall"
+ AegisName: "Odins_Recall"
Name: "Odin Recall R"
Type: 5
Loc: 136
@@ -39853,7 +40241,7 @@ item_db: (
},
{
Id: 2900
- AegisName: "Morrigane's_Belt_"
+ AegisName: "Morriganes_Belt_"
Name: "Morrigane's Belt"
Type: 5
Buy: 30000
@@ -39873,7 +40261,7 @@ item_db: (
},
{
Id: 2901
- AegisName: "Morrigane's_Pendant_"
+ AegisName: "Morriganes_Pendant_"
Name: "Morrigane's Pendant"
Type: 5
Buy: 30000
@@ -39893,7 +40281,7 @@ item_db: (
},
{
Id: 2902
- AegisName: "Morpheus's_Ring_"
+ AegisName: "Morpheuss_Ring_"
Name: "Morpheus's Ring"
Type: 5
Buy: 30000
@@ -39910,7 +40298,7 @@ item_db: (
},
{
Id: 2903
- AegisName: "Morpheus's_Armlet_"
+ AegisName: "Morpheuss_Armlet_"
Name: "Morpheus's Bracelet"
Type: 5
Buy: 30000
@@ -40449,7 +40837,7 @@ item_db: (
},
{
Id: 2944
- AegisName: "TE_Ring_of_Protection"
+ AegisName: "TE_Ring_Of_Protection"
Name: "TE Ring of Protection"
Type: 5
Loc: 136
@@ -40637,7 +41025,7 @@ item_db: (
},
{
Id: 2963
- AegisName: "Physical_Enhancer_Ring"
+ AegisName: "Body_Power_Up_Ring"
Name: "Physical Enhancer Ring"
Type: 5
Buy: 20
@@ -40652,7 +41040,7 @@ item_db: (
},
{
Id: 2964
- AegisName: "Magic_Intensifier_Ring"
+ AegisName: "Ring_Of_Spell_Explosion"
Name: "Magic Intensifier Ring"
Type: 5
Buy: 20
@@ -40735,7 +41123,7 @@ item_db: (
},
{
Id: 2981
- AegisName: "Brave_Ring"
+ AegisName: "RingOfHero"
Name: "Brave Ring"
Type: 5
Buy: 20
@@ -40787,7 +41175,7 @@ item_db: (
},
{
Id: 2988
- AegisName: "Ozs_New_Wing_Ring"
+ AegisName: "Winged_Ring_Of_Newoz"
Name: "Oz's New Wing Ring"
Type: 5
Buy: 62000
@@ -40805,9 +41193,9 @@ item_db: (
},
{
Id: 2989
- AegisName: "Bloody_Floral_Decoration_Bracelet"
+ AegisName: "Floral_Bracelet_Of_Igu"
Name: "Bloody Floral Decoration Bracelet"
- Type: 4
+ Type: 5
Buy: 62000
Weight: 100
Slots: 1
@@ -43946,7 +44334,7 @@ item_db: (
bonus2 bHPLossRate,666,10000;
">
OnUnequipScript: <"
- if((Hp<=999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) {
+ if((Hp<=999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) {
heal(1-Hp),0;
}
else {
@@ -46244,7 +46632,7 @@ item_db: (
},
{
Id: 4446
- AegisName: "Enhanced_Skeleton_Card"
+ AegisName: "P_Skeleton_Card"
Name: "Enhanced Skeleton Card"
Type: 6
Buy: 20
@@ -46922,7 +47310,7 @@ item_db: (
else bonus2 bHPLossRate,888,5000;
">
OnUnequipScript: <"
- if((Hp<=999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) {
+ if((Hp<=999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) {
heal(1-Hp),0;
}
else {
@@ -47527,7 +47915,7 @@ item_db: (
},
{
Id: 4546
- AegisName: "Val'khiri_Card"
+ AegisName: "Valkhiri_Card"
Name: "Val'khiri Card"
Type: 6
Buy: 20
@@ -47536,7 +47924,7 @@ item_db: (
},
{
Id: 4547
- AegisName: "Enhanced_Byorgue_Card"
+ AegisName: "Upd_Byorgue_Card"
Name: "Enhanced Byorgue Card"
Type: 6
Buy: 20
@@ -47553,7 +47941,7 @@ item_db: (
},
{
Id: 4548
- AegisName: "Enhanced_Salamander_Card"
+ AegisName: "Upd_Salamander_Card"
Name: "Enhanced Salamander Card"
Type: 6
Buy: 20
@@ -47597,7 +47985,7 @@ item_db: (
},
{
Id: 4551
- AegisName: "Enhanced_Necromancer_Card"
+ AegisName: "Upd_Necromancer_Card"
Name: "Enhanced Necromancer Card"
Type: 6
Buy: 20
@@ -47675,7 +48063,7 @@ item_db: (
},
{
Id: 4557
- AegisName: "Weakened_Fenrir_Card"
+ AegisName: "Fenrir_Card_"
Name: "Weakened Fenrir Card"
Type: 6
Buy: 20
@@ -47687,7 +48075,7 @@ item_db: (
},
{
Id: 4558
- AegisName: "Chun_Tree_Card"
+ AegisName: "Woodie_Card"
Name: "Chun Tree Card"
Type: 6
Buy: 20
@@ -47700,7 +48088,7 @@ item_db: (
},
{
Id: 4559
- AegisName: "Devil_Morocc_Card"
+ AegisName: "M_Morocc_Card"
Name: "Devil Morocc Card"
Type: 6
Buy: 20
@@ -47845,7 +48233,7 @@ item_db: (
},
{
Id: 4568
- AegisName: "Celia_Card"
+ AegisName: "Ceila_Card"
Name: "Celia Card"
Type: 6
Buy: 20
@@ -47929,7 +48317,7 @@ item_db: (
},
{
Id: 4574
- AegisName: "General_Daehyon_Card"
+ AegisName: "Daehyon_Card"
Name: "General Daehyon Card"
Type: 6
Buy: 20
@@ -47943,7 +48331,7 @@ item_db: (
},
{
Id: 4575
- AegisName: "Armed_Guard_Soheon_Card"
+ AegisName: "Soheon_Card"
Name: "Armed Guard Soheon Card"
Type: 6
Buy: 20
@@ -47999,7 +48387,7 @@ item_db: (
},
{
Id: 4578
- AegisName: "Angry_Student_Pyuriel_Card"
+ AegisName: "Pyuriel_Card"
Name: "Angry Student Pyuriel Card"
Type: 6
Buy: 20
@@ -48012,7 +48400,7 @@ item_db: (
},
{
Id: 4579
- AegisName: "Warrior_Lola_Card"
+ AegisName: "Lora_Card"
Name: "Warrior Lola Card"
Type: 6
Buy: 20
@@ -48029,7 +48417,7 @@ item_db: (
},
{
Id: 4580
- AegisName: "Guardian_Kades_Card"
+ AegisName: "Kades_Card"
Name: "Guardian Kades Card"
Type: 6
Buy: 20
@@ -48231,7 +48619,7 @@ item_db: (
},
{
Id: 4596
- AegisName: "Antique_Book_Card"
+ AegisName: "AntiqueBook_Card"
Name: "Antique Book Card"
Type: 6
Buy: 20
@@ -48241,7 +48629,7 @@ item_db: (
},
{
Id: 4597
- AegisName: "Lichtern_Blue_Card"
+ AegisName: "LichternB_Card"
Name: "Lichtern Blue Card"
Type: 6
Buy: 20
@@ -48254,7 +48642,7 @@ item_db: (
},
{
Id: 4598
- AegisName: "Lichtern_Green_Card"
+ AegisName: "LichternY_Card"
Name: "Lichtern Green Card"
Type: 6
Buy: 20
@@ -48267,7 +48655,7 @@ item_db: (
},
{
Id: 4599
- AegisName: "Lichtern_Red_Card"
+ AegisName: "LichternR_Card"
Name: "Lichtern Red Card"
Type: 6
Buy: 20
@@ -48280,7 +48668,7 @@ item_db: (
},
{
Id: 4600
- AegisName: "Lichtern_Yellow_Card"
+ AegisName: "LichternG_Card"
Name: "Lichtern Yellow Card"
Type: 6
Buy: 20
@@ -48309,7 +48697,7 @@ item_db: (
},
{
Id: 4602
- AegisName: "Realized_Amdarais_Card"
+ AegisName: "AmdaraisH_Card"
Name: "Realized Amdarais Card"
Type: 6
Buy: 20
@@ -48325,7 +48713,7 @@ item_db: (
},
{
Id: 4603
- AegisName: "Corruption_Root_Card"
+ AegisName: "CorruptionRoot_Card"
Name: "Corruption Root Card"
Type: 6
Buy: 20
@@ -48340,7 +48728,7 @@ item_db: (
},
{
Id: 4604
- AegisName: "Realized_Corruption_Root_Card"
+ AegisName: "CorruptionRootH_Card"
Name: "Realized Corruption Root Card"
Type: 6
Buy: 20
@@ -48355,7 +48743,7 @@ item_db: (
},
{
Id: 4605
- AegisName: "Agony_Of_Royal_Knight_Card"
+ AegisName: "UndeadKnightM_Card"
Name: "Agony Of Royal Knight Card"
Type: 6
Buy: 20
@@ -48368,7 +48756,7 @@ item_db: (
},
{
Id: 4606
- AegisName: "Grudge_of_Royal_Knight_Card"
+ AegisName: "UndeadKnightF_Card"
Name: "Grudge of Royal Knight Card"
Type: 6
Buy: 20
@@ -48382,7 +48770,7 @@ item_db: (
},
{
Id: 4607
- AegisName: "Faithful_Manager_Card"
+ AegisName: "FaithfulManager_Card"
Name: "Faithful Manager Card"
Type: 6
Buy: 20
@@ -48405,7 +48793,7 @@ item_db: (
},
{
Id: 4608
- AegisName: "White_Knight_Card"
+ AegisName: "White_Knightage_Card"
Name: "White Knight Card"
Type: 6
Buy: 20
@@ -48419,7 +48807,7 @@ item_db: (
},
{
Id: 4609
- AegisName: "Khalitzburg_Knight_Card"
+ AegisName: "Khali_Knightage_Card"
Name: "Khalitzburg Knight Card"
Type: 6
Buy: 20
@@ -48546,7 +48934,7 @@ item_db: (
},
{
Id: 4633
- AegisName: "Enhanced_Archer_Skeleton_Card"
+ AegisName: "P_Archer_Skeleton_Card"
Name: "Enhanced Archer Skeleton Card"
Type: 6
Buy: 20
@@ -48561,7 +48949,7 @@ item_db: (
},
{
Id: 4634
- AegisName: "Enhanced_Soldier_Skeleton_Card"
+ AegisName: "P_Soldier_Skeleton_Card"
Name: "Enhanced Soldier Skeleton Card"
Type: 6
Buy: 20
@@ -48576,7 +48964,7 @@ item_db: (
},
{
Id: 4635
- AegisName: "Enhanced_Amdarais_Card"
+ AegisName: "P_Amdarais_Card"
Name: "Enhanced Amdarais Card"
Type: 6
Buy: 20
@@ -48606,7 +48994,7 @@ item_db: (
},
{
Id: 4637
- AegisName: "Immortal_Corps_Card"
+ AegisName: "Immortal_Corpse_Card"
Name: "Immortal Corps Card"
Type: 6
Buy: 20
@@ -48671,7 +49059,7 @@ item_db: (
},
{
Id: 4642
- AegisName: "Infinite_Toad_Card"
+ AegisName: "Min_Toad_Card"
Name: "Infinite Toad Card"
Type: 6
Buy: 20
@@ -48685,7 +49073,7 @@ item_db: (
},
{
Id: 4643
- AegisName: "Infinite_Vagabond_Wolf_Card"
+ AegisName: "Min_Vagabond_Wolf_Card"
Name: "Infinite Vagabond Wolf Card"
Type: 6
Buy: 20
@@ -48699,7 +49087,7 @@ item_db: (
},
{
Id: 4644
- AegisName: "Infinite_Vocal_Card"
+ AegisName: "Min_Vocal_Card"
Name: "Infinite Vocal Card"
Type: 6
Buy: 20
@@ -48713,7 +49101,7 @@ item_db: (
},
{
Id: 4645
- AegisName: "Infinite_Eclipse_Card"
+ AegisName: "Min_Eclipse_Card"
Name: "Infinite Eclipse Card"
Type: 6
Buy: 20
@@ -48727,7 +49115,7 @@ item_db: (
},
{
Id: 4646
- AegisName: "Infinite_Chimera_Card"
+ AegisName: "Min_Chimera_Card"
Name: "Infinite Chimera Card"
Type: 6
Buy: 20
@@ -48739,7 +49127,7 @@ item_db: (
},
{
Id: 4647
- AegisName: "Infinite_Osiris_Card"
+ AegisName: "Min_Osiris_Card"
Name: "Infinite_Osiris_Card"
Type: 6
Buy: 20
@@ -48749,7 +49137,7 @@ item_db: (
},
{
Id: 4648
- AegisName: "Infinite_Eddga_Card"
+ AegisName: "Min_Eddga_Card"
Name: "Infinite_Eddga_Card"
Type: 6
Buy: 20
@@ -48759,7 +49147,7 @@ item_db: (
},
{
Id: 4649
- AegisName: "Infinite_Phreeoni_Card"
+ AegisName: "Min_Phreeoni_Card"
Name: "Infinite Phreeoni Card"
Type: 6
Buy: 20
@@ -48769,7 +49157,7 @@ item_db: (
},
{
Id: 4650
- AegisName: "Infinite_Orc_Hero_Card"
+ AegisName: "Min_Ork_Hero_Card"
Name: "Infinite Orc Hero Card"
Type: 6
Buy: 20
@@ -48782,7 +49170,7 @@ item_db: (
},
{
Id: 4651
- AegisName: "Infinite_Tao_Gunka_Card"
+ AegisName: "Min_Tao_Gunka_Card"
Name: "Infinite Tao Gunka Card"
Type: 6
Buy: 20
@@ -48795,7 +49183,7 @@ item_db: (
},
{
Id: 4652
- AegisName: "Nightmare_Amon_Ra_Card"
+ AegisName: "N_Amon_Ra_Card"
Name: "Nightmare Amon Ra Card"
Type: 6
Buy: 20
@@ -48810,7 +49198,7 @@ item_db: (
},
{
Id: 4653
- AegisName: "Nightmare_Arclouse_Card"
+ AegisName: "N_Arclouse_Card"
Name: "Nightmare Arclouse Card"
Type: 6
Buy: 20
@@ -48823,7 +49211,7 @@ item_db: (
},
{
Id: 4654
- AegisName: "Nightmare_Mimic_Card"
+ AegisName: "N_Mimic_Card"
Name: "Nightmare Mimic Card"
Type: 6
Buy: 20
@@ -48836,7 +49224,7 @@ item_db: (
},
{
Id: 4655
- AegisName: "Nightmare_Minorous_Card"
+ AegisName: "N_Minorous_Card"
Name: "Nightmare Minorous Card"
Type: 6
Buy: 20
@@ -48849,7 +49237,7 @@ item_db: (
},
{
Id: 4656
- AegisName: "Nightmare_Mummy_Card"
+ AegisName: "N_Mummy_Card"
Name: "Nightmare Mummy Card"
Type: 6
Buy: 20
@@ -48859,7 +49247,7 @@ item_db: (
},
{
Id: 4657
- AegisName: "Nightmare_Ancient_Mummy_Card"
+ AegisName: "N_Ancient_Mummy_Card"
Name: "Nightmare Ancient Mummy Card"
Type: 6
Buy: 20
@@ -48872,7 +49260,7 @@ item_db: (
},
{
Id: 4658
- AegisName: "Nightmare_Verit_Card"
+ AegisName: "N_Verit_Card"
Name: "Nightmare Verit Card"
Type: 6
Buy: 20
@@ -48982,7 +49370,7 @@ item_db: (
},
{
Id: 4666
- AegisName: "Swift_Roda_Frog_Card"
+ AegisName: "Sweet_Rodafrog_Card"
Name: "Swift Roda Frog Card"
Type: 6
Buy: 20
@@ -49032,7 +49420,7 @@ item_db: (
},
{
Id: 4670
- AegisName: "Fruit_Pom_Spider"
+ AegisName: "Fruit_Pom_Spider_Card"
Name: "Fruit Pom Spider"
Type: 6
Buy: 20
@@ -49046,7 +49434,7 @@ item_db: (
},
{
Id: 4671
- AegisName: "Sorcerer_Celia_Card"
+ AegisName: "V_Celia_Card"
Name: "Sorcerer Celia Card"
Type: 6
Buy: 20
@@ -49063,7 +49451,7 @@ item_db: (
},
{
Id: 4672
- AegisName: "Sura_Chen_Card"
+ AegisName: "V_Chen_Card"
Name: "Sura Chen Card"
Type: 6
Buy: 20
@@ -49080,7 +49468,7 @@ item_db: (
},
{
Id: 4673
- AegisName: "Minstrel_Alphoccio_Card"
+ AegisName: "V_Alphoccio_Card"
Name: "Minstrel Alphoccio Card"
Type: 6
Buy: 20
@@ -49097,7 +49485,7 @@ item_db: (
},
{
Id: 4674
- AegisName: "Guillotine_Cross_Eremes_Card"
+ AegisName: "V_Eremes_Card"
Name: "Guillotine Cross Eremes Card"
Type: 6
Buy: 20
@@ -49114,7 +49502,7 @@ item_db: (
},
{
Id: 4675
- AegisName: "Arch_Bishop_Magaleta_Card"
+ AegisName: "V_Magaleta_Card"
Name: "Arch Bishop Magaleta Card"
Type: 6
Buy: 20
@@ -49131,7 +49519,7 @@ item_db: (
},
{
Id: 4676
- AegisName: "Ranger_Cecil_Card"
+ AegisName: "V_Shecil_Card"
Name: "Ranger Cecil Card"
Type: 6
Buy: 20
@@ -49148,7 +49536,7 @@ item_db: (
},
{
Id: 4677
- AegisName: "Mechanic_Howard_Card"
+ AegisName: "V_Harword_Card"
Name: "Merchanic Howard Card"
Type: 6
Buy: 20
@@ -49165,7 +49553,7 @@ item_db: (
},
{
Id: 4678
- AegisName: "Warlock_Kathryne_Card"
+ AegisName: "V_Katrinn_Card"
Name: "Warlock Kathryne Card"
Type: 6
Buy: 20
@@ -49182,7 +49570,7 @@ item_db: (
},
{
Id: 4679
- AegisName: "Rune_Knight_Seyren_Card"
+ AegisName: "V_Seyren_Card"
Name: "Rune Knight Seyren Card"
Type: 6
Buy: 20
@@ -49199,7 +49587,7 @@ item_db: (
},
{
Id: 4680
- AegisName: "Royal_Guard_Randel_Card"
+ AegisName: "V_Randel_Card"
Name: "Royal Guard Randel Card"
Type: 6
Buy: 20
@@ -49216,7 +49604,7 @@ item_db: (
},
{
Id: 4681
- AegisName: "Genetic_Flamel_Card"
+ AegisName: "V_Flamel_Card"
Name: "Genetic Flamel Card"
Type: 6
Buy: 20
@@ -49233,7 +49621,7 @@ item_db: (
},
{
Id: 4682
- AegisName: "Shadow_Chaser_Gertie_Card"
+ AegisName: "V_Gertie_Card"
Name: "Shadow Chaser Gertie Card"
Type: 6
Buy: 20
@@ -49250,7 +49638,7 @@ item_db: (
},
{
Id: 4683
- AegisName: "Wanderer_Trentini_Card"
+ AegisName: "V_Trentini_Card"
Name: "Wanderer Trentini Card"
Type: 6
Buy: 20
@@ -49267,7 +49655,7 @@ item_db: (
},
{
Id: 4684
- AegisName: "True_Eremes_Guile_Card"
+ AegisName: "V_B_Eremes_Card"
Name: "True Eremes Guile Card"
Type: 6
Buy: 20
@@ -49281,7 +49669,7 @@ item_db: (
},
{
Id: 4685
- AegisName: "True_Margaretha_Sorin_Card"
+ AegisName: "V_B_Magaleta_Card"
Name: "True Margaretha Sorin Card"
Type: 6
Buy: 20
@@ -49295,7 +49683,7 @@ item_db: (
},
{
Id: 4686
- AegisName: "True_Kathryne_Keyron_Card"
+ AegisName: "V_B_Katrinn_Card"
Name: "True Kathryne Keyron Card"
Type: 6
Buy: 20
@@ -49309,7 +49697,7 @@ item_db: (
},
{
Id: 4687
- AegisName: "True_Cecil_Damon_Card"
+ AegisName: "V_B_Shecil_Card"
Name: "True Cecil Damon Card"
Type: 6
Buy: 20
@@ -49323,7 +49711,7 @@ item_db: (
},
{
Id: 4688
- AegisName: "True_Howard_Alt-Eisen_Card"
+ AegisName: "V_B_Harword_Card"
Name: "True Howard Alt-Eisen Card"
Type: 6
Buy: 20
@@ -49337,7 +49725,7 @@ item_db: (
},
{
Id: 4689
- AegisName: "True_Seyren_Windsor_Card"
+ AegisName: "V_B_Seyren_Card"
Name: "True Seyren Windsor Card"
Type: 6
Buy: 20
@@ -49351,7 +49739,7 @@ item_db: (
},
{
Id: 4690
- AegisName: "True_Randel_Lawrence_Card"
+ AegisName: "V_B_Randel_Card"
Name: "True Randel Lawrence Card"
Type: 6
Buy: 20
@@ -49365,7 +49753,7 @@ item_db: (
},
{
Id: 4691
- AegisName: "True_Flamel_Emure_Card"
+ AegisName: "V_B_Flamel_Card"
Name: "True Flamel Emure Card"
Type: 6
Buy: 20
@@ -49379,7 +49767,7 @@ item_db: (
},
{
Id: 4692
- AegisName: "True_Celia_Alde_Card"
+ AegisName: "V_B_Celia_Card"
Name: "True Celia Alde Card"
Type: 6
Buy: 20
@@ -49393,7 +49781,7 @@ item_db: (
},
{
Id: 4693
- AegisName: "True_Chen_Liu_Card"
+ AegisName: "V_B_Chen_Card"
Name: "True Chen Liu Card"
Type: 6
Buy: 20
@@ -49407,7 +49795,7 @@ item_db: (
},
{
Id: 4694
- AegisName: "True_Gertie_Card"
+ AegisName: "V_B_Gertie_Card"
Name: "True Gertie Card"
Type: 6
Buy: 20
@@ -49421,7 +49809,7 @@ item_db: (
},
{
Id: 4695
- AegisName: "True_Trentini_Card"
+ AegisName: "V_B_Trentini_Card"
Name: "True Trentini Card"
Type: 6
Buy: 20
@@ -49435,16 +49823,23 @@ item_db: (
},
{
Id: 4696
- AegisName: "True_Alphoccio_Card"
+ AegisName: "V_B_Alphoccio_Card"
Name: "True Alphoccio Card"
Type: 6
Buy: 20
Weight: 10
Loc: 2
Script: <"
- bonus2 bSkillAtk,WM_REVERBERATION,50;
- if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WM_REVERBERATION,50;
- if (getrefine() >= 10) bonus2 bSkillAtk,WM_REVERBERATION,50;
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50;
+ if (getequipweaponlv(EQI_HAND_R) == 4) {
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50;
+ }
+ if (getrefine() >= 10) {
+ bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50;
+ bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50;
+ }
">
},
@@ -51148,7 +51543,7 @@ item_db: (
},
{
Id: 4875
- AegisName: "Bear's_Power"
+ AegisName: "Bears_Power"
Name: "Strength of Bear"
Type: 6
Loc: 1023
@@ -51213,7 +51608,7 @@ item_db: (
},
{
Id: 4882
- AegisName: "ATK_1"
+ AegisName: "Atk1p"
Name: "ATK + 1%"
Type: 6
Loc: 1023
@@ -51221,7 +51616,7 @@ item_db: (
},
{
Id: 4883
- AegisName: "MATK_1"
+ AegisName: "Matk1p"
Name: "MATK + 1%"
Type: 6
Loc: 1023
@@ -51229,7 +51624,7 @@ item_db: (
},
{
Id: 4884
- AegisName: "HIT_1"
+ AegisName: "HIT1"
Name: "HIT + 1"
Type: 6
Loc: 1023
@@ -51237,7 +51632,7 @@ item_db: (
},
{
Id: 4885
- AegisName: "Spell_1"
+ AegisName: "Conjure1"
Name: "Spell 1"
Type: 6
Loc: 1023
@@ -51248,7 +51643,7 @@ item_db: (
},
{
Id: 4886
- AegisName: "Spell_2"
+ AegisName: "Conjure2"
Name: "Spell 2"
Type: 6
Loc: 1023
@@ -51259,7 +51654,7 @@ item_db: (
},
{
Id: 4887
- AegisName: "Spell_3"
+ AegisName: "Conjure3"
Name: "Spell 3"
Type: 6
Loc: 1023
@@ -51270,7 +51665,7 @@ item_db: (
},
{
Id: 4888
- AegisName: "Spell_4"
+ AegisName: "Conjure4"
Name: "Spell 4"
Type: 6
Loc: 1023
@@ -51281,7 +51676,7 @@ item_db: (
},
{
Id: 4889
- AegisName: "Spell_5"
+ AegisName: "Conjure5"
Name: "Spell 5"
Type: 6
Loc: 1023
@@ -51292,7 +51687,7 @@ item_db: (
},
{
Id: 4890
- AegisName: "MDEF_1"
+ AegisName: "Mdef1"
Name: "MDEF+1"
Type: 6
Loc: 1023
@@ -51300,7 +51695,7 @@ item_db: (
},
{
Id: 4891
- AegisName: "MDEF_3"
+ AegisName: "Mdef3"
Name: "MDEF+3"
Type: 6
Loc: 1023
@@ -51308,7 +51703,7 @@ item_db: (
},
{
Id: 4892
- AegisName: "MDEF_5"
+ AegisName: "Mdef5"
Name: "MDEF+5"
Type: 6
Loc: 1023
@@ -51316,7 +51711,7 @@ item_db: (
},
{
Id: 4893
- AegisName: "DEF_15"
+ AegisName: "Def15"
Name: "DEF+15"
Type: 6
Loc: 1023
@@ -51324,7 +51719,7 @@ item_db: (
},
{
Id: 4894
- AegisName: "ATK_4"
+ AegisName: "Atk4p"
Name: "ATK + 4%"
Type: 6
Loc: 1023
@@ -51332,7 +51727,7 @@ item_db: (
},
{
Id: 4895
- AegisName: "ATK_5"
+ AegisName: "Atk5p"
Name: "ATK + 5%"
Type: 6
Loc: 1023
@@ -51340,7 +51735,7 @@ item_db: (
},
{
Id: 4896
- AegisName: "MATK_2"
+ AegisName: "Matk2p"
Name: "MATK + 2%"
Type: 6
Loc: 1023
@@ -51348,7 +51743,7 @@ item_db: (
},
{
Id: 4897
- AegisName: "MATK_3"
+ AegisName: "Matk3p"
Name: "MATK + 3%"
Type: 6
Loc: 1023
@@ -51356,7 +51751,7 @@ item_db: (
},
{
Id: 4898
- AegisName: "MATK_4"
+ AegisName: "Matk4p"
Name: "MATK + 4%"
Type: 6
Loc: 1023
@@ -51364,7 +51759,7 @@ item_db: (
},
{
Id: 4899
- AegisName: "MATK_5"
+ AegisName: "Matk5p"
Name: "MATK + 5%"
Type: 6
Loc: 1023
@@ -51372,7 +51767,7 @@ item_db: (
},
{
Id: 4900
- AegisName: "MHP_5"
+ AegisName: "MHP5"
Name: "MHP+5%"
Type: 6
Loc: 1023
@@ -51380,7 +51775,7 @@ item_db: (
},
{
Id: 4902
- AegisName: "DEF_18"
+ AegisName: "Def18"
Name: "DEF+18"
Type: 6
Loc: 1023
@@ -51388,7 +51783,7 @@ item_db: (
},
{
Id: 4903
- AegisName: "DEF_21"
+ AegisName: "Def21"
Name: "DEF+21"
Type: 6
Loc: 1023
@@ -51396,7 +51791,7 @@ item_db: (
},
{
Id: 4904
- AegisName: "ATK_6"
+ AegisName: "Atk6p"
Name: "ATK+6%"
Type: 6
Loc: 1023
@@ -51404,7 +51799,7 @@ item_db: (
},
{
Id: 4905
- AegisName: "ATK_7"
+ AegisName: "Atk7p"
Name: "ATK+7%"
Type: 6
Loc: 1023
@@ -51412,7 +51807,7 @@ item_db: (
},
{
Id: 4906
- AegisName: "MATK_6"
+ AegisName: "Matk6p"
Name: "MATK+6%"
Type: 6
Loc: 1023
@@ -51420,7 +51815,7 @@ item_db: (
},
{
Id: 4907
- AegisName: "MATK_7"
+ AegisName: "Matk7p"
Name: "MATK+7%"
Type: 6
Loc: 1023
@@ -51428,7 +51823,7 @@ item_db: (
},
{
Id: 4908
- AegisName: "Essence_Of_Evil_Str1"
+ AegisName: "Force1"
Name: "Essence Of Evil STR 1"
Type: 6
Weight: 10
@@ -51441,7 +51836,7 @@ item_db: (
},
{
Id: 4909
- AegisName: "Essence_Of_Evil_Str2"
+ AegisName: "Force2"
Name: "Essence Of Evil STR 2"
Type: 6
Weight: 10
@@ -51454,7 +51849,7 @@ item_db: (
},
{
Id: 4910
- AegisName: "Essence_Of_Evil_Str3"
+ AegisName: "Force3"
Name: "Essence Of Evil STR 3"
Type: 6
Weight: 10
@@ -51467,7 +51862,7 @@ item_db: (
},
{
Id: 4911
- AegisName: "Essence_Of_Evil_Int1"
+ AegisName: "Intellect1"
Name: "Essence Of Evil INT 1"
Type: 6
Weight: 10
@@ -51480,7 +51875,7 @@ item_db: (
},
{
Id: 4912
- AegisName: "Essence_Of_Evil_Int2"
+ AegisName: "Intellect2"
Name: "Essence Of Evil INT 2"
Type: 6
Weight: 10
@@ -51493,7 +51888,7 @@ item_db: (
},
{
Id: 4913
- AegisName: "Essence_Of_Evil_Int3"
+ AegisName: "Intellect3"
Name: "Essence Of Evil INT 3"
Type: 6
Weight: 10
@@ -51506,7 +51901,7 @@ item_db: (
},
{
Id: 4914
- AegisName: "Essence_Of_Evil_Agi1"
+ AegisName: "Swiftness1"
Name: "Essence Of Evil AGI 1"
Type: 6
Weight: 10
@@ -51519,7 +51914,7 @@ item_db: (
},
{
Id: 4915
- AegisName: "Essence_Of_Evil_Agi2"
+ AegisName: "Swiftness2"
Name: "Essence Of Evil AGI 2"
Type: 6
Weight: 10
@@ -51532,7 +51927,7 @@ item_db: (
},
{
Id: 4916
- AegisName: "Essence_Of_Evil_Agi3"
+ AegisName: "Swiftness3"
Name: "Essence Of Evil AGI 3"
Type: 6
Weight: 10
@@ -51545,7 +51940,7 @@ item_db: (
},
{
Id: 4917
- AegisName: "Essence_Of_Evil_Vit1"
+ AegisName: "Tough1"
Name: "Essence Of Evil VIT 1"
Type: 6
Weight: 10
@@ -51559,7 +51954,7 @@ item_db: (
},
{
Id: 4918
- AegisName: "Essence_Of_Evil_Vit2"
+ AegisName: "Tough2"
Name: "Essence Of Evil VIT 2"
Type: 6
Weight: 10
@@ -51573,7 +51968,7 @@ item_db: (
},
{
Id: 4919
- AegisName: "Essence_Of_Evil_Vit3"
+ AegisName: "Tough3"
Name: "Essence Of Evil VIT 3"
Type: 6
Weight: 10
@@ -51587,7 +51982,7 @@ item_db: (
},
{
Id: 4920
- AegisName: "Essence_Of_Evil_Dex1"
+ AegisName: "Artful1"
Name: "Essence Of Evil DEX 1"
Type: 6
Weight: 10
@@ -51600,7 +51995,7 @@ item_db: (
},
{
Id: 4921
- AegisName: "Essence_Of_Evil_Dex2"
+ AegisName: "Artful2"
Name: "Essence Of Evil DEX 2"
Type: 6
Weight: 10
@@ -51613,7 +52008,7 @@ item_db: (
},
{
Id: 4922
- AegisName: "Essence_Of_Evil_Dex3"
+ AegisName: "Artful3"
Name: "Essence Of Evil DEX 3"
Type: 6
Weight: 10
@@ -51626,7 +52021,7 @@ item_db: (
},
{
Id: 4923
- AegisName: "Essence_Of_Evil_Luk1"
+ AegisName: "Fortune1"
Name: "Essence Of Evil LUK 1"
Type: 6
Weight: 10
@@ -51639,7 +52034,7 @@ item_db: (
},
{
Id: 4924
- AegisName: "Essence_Of_Evil_Luk2"
+ AegisName: "Fortune2"
Name: "Essence Of Evil LUK 2"
Type: 6
Weight: 10
@@ -51652,7 +52047,7 @@ item_db: (
},
{
Id: 4925
- AegisName: "Essence_Of_Evil_Luk3"
+ AegisName: "Fortune3"
Name: "Essence Of Evil LUK 3"
Type: 6
Weight: 10
@@ -51689,7 +52084,7 @@ item_db: (
},
{
Id: 4929
- AegisName: "MSP_1"
+ AegisName: "MSP1"
Name: "MSP+1%"
Type: 6
Loc: 1023
@@ -51697,7 +52092,7 @@ item_db: (
},
{
Id: 4930
- AegisName: "Inc_Recovery"
+ AegisName: "HEAL2"
Name: "Increase Recovery"
Type: 6
Loc: 1023
@@ -51705,7 +52100,7 @@ item_db: (
},
{
Id: 4931
- AegisName: "Healing_10"
+ AegisName: "HEALHP1"
Name: "Healing 10"
Type: 6
Loc: 1023
@@ -51713,7 +52108,7 @@ item_db: (
},
{
Id: 4932
- AegisName: "SP_Recovery_1"
+ AegisName: "HEALSP1"
Name: "SP Recovery 1"
Type: 6
Loc: 1023
@@ -51721,7 +52116,7 @@ item_db: (
},
{
Id: 4933
- AegisName: "Neutral1"
+ AegisName: "Tolerance_Not1"
Name: "Neutral Properties Lv1"
Type: 6
Loc: 1023
@@ -51729,7 +52124,7 @@ item_db: (
},
{
Id: 4934
- AegisName: "Neutral2"
+ AegisName: "Tolerance_Not2"
Name: "Neutral Properties Lv2"
Type: 6
Loc: 1023
@@ -51737,7 +52132,7 @@ item_db: (
},
{
Id: 4935
- AegisName: "Neutral3"
+ AegisName: "Tolerance_Not3"
Name: "Neutral Properties Lv3"
Type: 6
Loc: 1023
@@ -51745,7 +52140,7 @@ item_db: (
},
{
Id: 4936
- AegisName: "L_Atk1"
+ AegisName: "ATK_BIG1"
Name: "Large Attack 1"
Type: 6
Loc: 1023
@@ -51753,7 +52148,7 @@ item_db: (
},
{
Id: 4937
- AegisName: "M_Atk1"
+ AegisName: "ATK_MEDIUM1"
Name: "Medium Attack 1"
Type: 6
Loc: 1023
@@ -51761,7 +52156,7 @@ item_db: (
},
{
Id: 4938
- AegisName: "S_Atk1"
+ AegisName: "ATK_SMALL1"
Name: "Small Attack 1"
Type: 6
Loc: 1023
@@ -51793,7 +52188,7 @@ item_db: (
},
{
Id: 4942
- AegisName: "Critical_1"
+ AegisName: "Dodge1"
Name: "Critical Lv1"
Type: 6
Loc: 1023
@@ -51801,7 +52196,7 @@ item_db: (
},
{
Id: 4943
- AegisName: "Shedding2"
+ AegisName: "Dodge2"
Name: "Shedding2Lv"
Type: 6
Loc: 1023
@@ -51809,7 +52204,7 @@ item_db: (
},
{
Id: 4944
- AegisName: "Shedding3"
+ AegisName: "Dodge3"
Name: "Shedding3Lv"
Type: 6
Loc: 1023
@@ -51817,7 +52212,7 @@ item_db: (
},
{
Id: 4945
- AegisName: "Saving1"
+ AegisName: "Thrift1"
Name: "Saving Lv1"
Type: 6
Loc: 1023
@@ -51825,7 +52220,7 @@ item_db: (
},
{
Id: 4946
- AegisName: "Saving2"
+ AegisName: "Thrift2"
Name: "Saving Lv2"
Type: 6
Loc: 1023
@@ -51833,7 +52228,7 @@ item_db: (
},
{
Id: 4947
- AegisName: "Saving3"
+ AegisName: "Thrift3"
Name: "Saving Lv3"
Type: 6
Loc: 1023
@@ -51841,7 +52236,7 @@ item_db: (
},
{
Id: 4948
- AegisName: "Delay1"
+ AegisName: "Skill_Delay1"
Name: "Delay After Skill Lv1"
Type: 6
Loc: 1023
@@ -51849,7 +52244,7 @@ item_db: (
},
{
Id: 4949
- AegisName: "Delay2"
+ AegisName: "Skill_Delay2"
Name: "Delay After Skill Lv2"
Type: 6
Loc: 1023
@@ -51857,7 +52252,7 @@ item_db: (
},
{
Id: 4950
- AegisName: "Delay3"
+ AegisName: "Skill_Delay3"
Name: "Delay After Skill Lv3"
Type: 6
Loc: 1023
@@ -52253,7 +52648,7 @@ item_db: (
},
{
Id: 4992
- AegisName: "HPAbsorb1"
+ AegisName: "HPdrain1"
Name: "HP Absorb 1"
Type: 6
Loc: 1023
@@ -52261,7 +52656,7 @@ item_db: (
},
{
Id: 4993
- AegisName: "SPAbsorb1"
+ AegisName: "SPdrain1"
Name: "SP Absorb 1"
Type: 6
Loc: 1023
@@ -52548,7 +52943,7 @@ item_db: (
},
{
Id: 5012
- AegisName: "Ph.D_Hat"
+ AegisName: "Ph_D_Hat"
Name: "Ph.D Hat"
Type: 5
Buy: 20
@@ -52612,7 +53007,7 @@ item_db: (
},
{
Id: 5016
- AegisName: "Boy's_Cap"
+ AegisName: "Boys_Cap"
Name: "Boy's Cap"
Type: 5
Buy: 20
@@ -53083,7 +53478,7 @@ item_db: (
},
{
Id: 5044
- AegisName: "Devil's_Wing"
+ AegisName: "Devils_Wing"
Name: "Evil Wing Ears"
Type: 5
Buy: 20
@@ -53421,7 +53816,7 @@ item_db: (
},
{
Id: 5068
- AegisName: "Ear_Of_Devil's_Wing"
+ AegisName: "Ear_Of_Devils_Wing"
Name: "Evil Wing Ears"
Type: 5
Buy: 20
@@ -53522,7 +53917,7 @@ item_db: (
},
{
Id: 5074
- AegisName: "Ear_Of_Angel's_Wing"
+ AegisName: "Ear_Of_Angels_Wing"
Name: "Angel Wing Ears"
Type: 5
Buy: 20
@@ -54290,7 +54685,7 @@ item_db: (
},
{
Id: 5126
- AegisName: "Morpheus's_Hood"
+ AegisName: "Morpheuss_Hood"
Name: "Morpheus's Hood"
Type: 5
Buy: 30000
@@ -54307,7 +54702,7 @@ item_db: (
},
{
Id: 5127
- AegisName: "Morrigane's_Helm"
+ AegisName: "Morriganes_Helm"
Name: "Morrigane's Helm"
Type: 5
Buy: 30000
@@ -54327,7 +54722,7 @@ item_db: (
},
{
Id: 5128
- AegisName: "Goibne's_Helmet"
+ AegisName: "Goibnes_Helmet"
Name: "Goibne's Helm"
Type: 5
Buy: 30000
@@ -54482,7 +54877,7 @@ item_db: (
},
{
Id: 5136
- AegisName: "Santa's_Hat_"
+ AegisName: "Santas_Hat_"
Name: "Antonio's Santa Hat"
Type: 5
Buy: 20
@@ -57501,7 +57896,7 @@ item_db: (
},
{
Id: 5307
- AegisName: "Carmen_Miranda's_Hat"
+ AegisName: "Carmen_Mirandas_Hat"
Name: "Carmen Miranda's Hat"
Type: 5
Buy: 20
@@ -58291,7 +58686,7 @@ item_db: (
},
{
Id: 5347
- AegisName: "Ph.D_Hat_"
+ AegisName: "Ph_D_Hat_"
Name: "Ph.D Hat"
Type: 5
Buy: 20
@@ -58307,7 +58702,7 @@ item_db: (
},
{
Id: 5348
- AegisName: "Big_Sis'_Ribbon_"
+ AegisName: "Big_Sis_Ribbon_"
Name: "Big Ribbon"
Type: 5
Buy: 15000
@@ -58324,7 +58719,7 @@ item_db: (
},
{
Id: 5349
- AegisName: "Boy's_Cap_"
+ AegisName: "Boys_Cap_"
Name: "Boy's Cap"
Type: 5
Buy: 20
@@ -59627,7 +60022,7 @@ item_db: (
},
{
Id: 5421
- AegisName: "Ifrit's_Ear"
+ AegisName: "Ifrits_Ear"
Name: "Ifrit's Ears"
Type: 5
Buy: 20
@@ -59870,7 +60265,7 @@ item_db: (
},
{
Id: 5436
- AegisName: "Bride's_Corolla"
+ AegisName: "Brides_Corolla"
Name: "Bride's Corolla"
Type: 5
Buy: 20
@@ -60131,11 +60526,9 @@ item_db: (
noauction: true
}
Script: <"
- bonus bAspdRate,10;
- bonus2 bAddRace,RC_DemiPlayer,5;
- bonus2 bAddRace,RC_Player,5;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
+ bonus bAspdRate, 10;
+ bonus2 bAddRace, RC_DemiPlayer, 5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;
">
},
{
@@ -60160,11 +60553,9 @@ item_db: (
noauction: true
}
Script: <"
- bonus bAspdRate,7;
- bonus2 bAddRace,RC_DemiPlayer,3;
- bonus2 bAddRace,RC_Player,3;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,7;
- bonus2 bAddRaceTolerance,RC_Player,7;
+ bonus bAspdRate, 7;
+ bonus2 bAddRace, RC_DemiPlayer, 3;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 7;
">
},
{
@@ -60189,11 +60580,9 @@ item_db: (
noauction: true
}
Script: <"
- bonus bAspdRate,5;
- bonus2 bAddRace,RC_DemiPlayer,1;
- bonus2 bAddRace,RC_Player,1;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,5;
- bonus2 bAddRaceTolerance,RC_Player,5;
+ bonus bAspdRate, 5;
+ bonus2 bAddRace, RC_DemiPlayer, 1;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;
">
},
{
@@ -60636,7 +61025,7 @@ item_db: (
},
{
Id: 5479
- AegisName: "Shaman's_Hair_Ornament"
+ AegisName: "Shamans_Hair_Ornament"
Name: "Shaman's Hair Decoration"
Type: 5
Buy: 20
@@ -60850,7 +61239,7 @@ item_db: (
},
{
Id: 5492
- AegisName: "Boy's_Cap_I"
+ AegisName: "Boys_Cap_I"
Name: "Student Cap"
Type: 5
Def: 10
@@ -61033,7 +61422,7 @@ item_db: (
},
{
Id: 5501
- AegisName: "Pirate's_Pride"
+ AegisName: "Pirates_Pride"
Name: "Pirate's Pride"
Type: 5
Weight: 100
@@ -61051,7 +61440,7 @@ item_db: (
},
{
Id: 5502
- AegisName: "Necromencer's_Hood"
+ AegisName: "Necromencers_Hood"
Name: "Necromancer's Hood"
Type: 5
Weight: 500
@@ -61508,7 +61897,7 @@ item_db: (
},
{
Id: 5529
- AegisName: "Evil's_Bone_Hat"
+ AegisName: "Evils_Bone_Hat"
Name: "Frost Giant's Skull"
Type: 5
Buy: 20
@@ -62364,7 +62753,7 @@ item_db: (
},
{
Id: 5579
- AegisName: "Wanderer's_Sakkat"
+ AegisName: "Wanderers_Sakkat"
Name: "Wanderer's Sakkat"
Type: 5
Buy: 20
@@ -62398,10 +62787,8 @@ item_db: (
Refine: false
View: 559
Script: <"
- bonus2 bAddRace,RC_DemiPlayer,5;
- bonus2 bAddRace,RC_Player,5;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,5;
- bonus2 bAddRaceTolerance,RC_Player,5;
+ bonus2 bAddRace, RC_DemiPlayer, 5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;
">
},
{
@@ -62615,7 +63002,7 @@ item_db: (
},
{
Id: 5592
- AegisName: "Sigrun's_Wing"
+ AegisName: "Sigruns_Wing"
Name: "Sigrun's Wings"
Type: 5
Buy: 20
@@ -65016,7 +65403,7 @@ item_db: (
},
{
Id: 5744
- AegisName: "Capricon_Crown"
+ AegisName: "Capricorn_Crown"
Name: "Capricorn Crown"
Type: 5
Buy: 20
@@ -65032,7 +65419,7 @@ item_db: (
},
{
Id: 5745
- AegisName: "Capricon_Diadem"
+ AegisName: "Capricorn_Diadem"
Name: "Capricorn Diadem"
Type: 5
Buy: 20
@@ -65557,11 +65944,10 @@ item_db: (
Loc: 256
View: 639
Script: <"
- bonus bAllStats,1;
- bonus bMdef,5;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,2;
- bonus2 bAddRaceTolerance,RC_Player,2;
- bonus2 bAddRaceTolerance,RC_Brute,2;
+ bonus bAllStats, 1;
+ bonus bMdef, 5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 2;
+ bonus2 bAddRaceTolerance, RC_Brute, 2;
">
},
{
@@ -65716,10 +66102,7 @@ item_db: (
Loc: 256
EquipLv: 95
View: 651
- Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
- ">
+ Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; ">
},
{
Id: 5773
@@ -65732,10 +66115,7 @@ item_db: (
Loc: 256
EquipLv: 95
View: 652
- Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
- ">
+ Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; ">
},
{
Id: 5774
@@ -65748,10 +66128,7 @@ item_db: (
Loc: 256
EquipLv: 95
View: 496
- Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
- ">
+ Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; ">
},
{
Id: 5775
@@ -65851,9 +66228,8 @@ item_db: (
Loc: 256
View: 658
Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
- skill WZ_EARTHSPIKE,3;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;
+ skill WZ_EARTHSPIKE, 3;
">
},
{
@@ -66443,7 +66819,7 @@ item_db: (
},
{
Id: 5810
- AegisName: "Ph.D_Hat_V"
+ AegisName: "Ph_D_Hat_V"
Name: "Ph.D Hat V"
Type: 5
Buy: 20
@@ -66502,7 +66878,7 @@ item_db: (
},
{
Id: 5813
- AegisName: "Red_Ph.D_Hat"
+ AegisName: "Red_Ph_D_Hat"
Name: "Red Scholar Hat"
Type: 5
Buy: 1000
@@ -67073,7 +67449,7 @@ item_db: (
},
{
Id: 5855
- AegisName: "Fishing_Rod"
+ AegisName: "Fish_Rod"
Name: "Fishing Rod"
Type: 5
Loc: 136
@@ -67238,7 +67614,7 @@ item_db: (
},
{
Id: 5873
- AegisName: "Helmet_of_Siegfried"
+ AegisName: "Helmet_Of_Siegfried"
Name: "Helmet of Siegfried"
Type: 5
Buy: 20
@@ -67268,7 +67644,7 @@ item_db: (
},
{
Id: 5874
- AegisName: "Circlet_of_Kriemhild"
+ AegisName: "Circlet_Of_Kriemhild"
Name: "Circlet of Kriemhild"
Type: 5
Buy: 20
@@ -67298,7 +67674,7 @@ item_db: (
},
{
Id: 5875
- AegisName: "Diadem_of_Brinhild"
+ AegisName: "Diadem_Of_Bruenhild"
Name: "Diadem of Brinhild"
Type: 5
Buy: 20
@@ -67357,7 +67733,7 @@ item_db: (
},
{
Id: 5890
- AegisName: "Angel_Earrings"
+ AegisName: "Angel_Earing"
Name: "Angel Earrings"
Type: 5
Weight: 100
@@ -67521,14 +67897,14 @@ item_db: (
EquipLv: 100
View: 1126
Script: <"
- bonus2 bSkillAtk,WM_SEVERE_RAINSTORM,15;
+ bonus2 bSkillAtk,WM_SEVERE_RAINSTORM_MELEE,15;
if(getrefine()>6) { bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*4); }
if(getrefine()>8) { bonus2 bSkillUseSP,WM_SEVERE_RAINSTORM,10; }
">
},
{
Id: 5906
- AegisName: "Oni_Horns_"
+ AegisName: "Oni_Horns"
Name: "Oni Horns"
Type: 5
Buy: 20
@@ -67553,7 +67929,7 @@ item_db: (
},
{
Id: 5907
- AegisName: "Sea_Captain_Hat"
+ AegisName: "Sea_Captain_Hat_"
Name: "Sea Captain Hat"
Type: 5
Buy: 20
@@ -67592,7 +67968,7 @@ item_db: (
},
{
Id: 5921
- AegisName: "Fish_Monster's_Grill"
+ AegisName: "Fish_Monsters_Grill"
Name: "Fish Monster's Grill"
Type: 5
Weight: 200
@@ -67603,7 +67979,7 @@ item_db: (
},
{
Id: 5932
- AegisName: "Birdcage_Of_Paradise"
+ AegisName: "Heaven_Cage"
Name: "Birdcage Of Paradise"
Type: 5
Buy: 20
@@ -67646,7 +68022,7 @@ item_db: (
},
{
Id: 5934
- AegisName: "Happy_Balloon"
+ AegisName: "Happy_Balloon_J"
Name: "Happy Balloon"
Type: 5
Weight: 100
@@ -67691,7 +68067,7 @@ item_db: (
},
{
Id: 5966
- AegisName: "Kardui_Ears"
+ AegisName: "KarduiEar"
Name: "Kardui Ears"
Type: 5
Weight: 300
@@ -67712,7 +68088,7 @@ item_db: (
},
{
Id: 5967
- AegisName: "Flying_Galapagos"
+ AegisName: "FlyingGalapago"
Name: "Flying Galapagos"
Type: 5
Weight: 500
@@ -67726,7 +68102,7 @@ item_db: (
},
{
Id: 5968
- AegisName: "Divine_Angel_Nurse_Cap"
+ AegisName: "DVAngelNurseCap"
Name: "Divine Angel Nurse Cap"
Type: 5
Weight: 500
@@ -67745,7 +68121,7 @@ item_db: (
},
{
Id: 5969
- AegisName: "Queen_Anne's_Revenge"
+ AegisName: "QueenAnzRevenge"
Name: "Queen Anne's Revenge"
Type: 5
Weight: 400
@@ -67771,7 +68147,7 @@ item_db: (
},
{
Id: 5970
- AegisName: "Rune_Helm"
+ AegisName: "RuneHelm"
Name: "Rune Helm"
Type: 5
Weight: 3000
@@ -67879,9 +68255,8 @@ item_db: (
{
Id: 6008
AegisName: "Wood"
- Name: "Wood"
+ Name: "Lumber"
Weight: 10
- BuyingStore: true
},
{
Id: 6009
@@ -68498,7 +68873,7 @@ item_db: (
},
{
Id: 6070
- AegisName: "Shaman's_Old_Paper"
+ AegisName: "Shamans_Old_Paper"
Name: "Shaman's Document"
Weight: 10
Trade: {
@@ -68543,13 +68918,13 @@ item_db: (
},
{
Id: 6073
- AegisName: "Dragon's_Mane"
+ AegisName: "Dragons_Mane"
Name: "Dragon's Mane"
BuyingStore: true
},
{
Id: 6074
- AegisName: "Bazett's_Order"
+ AegisName: "Bazetts_Order"
Name: "Bazett's Order"
Trade: {
nodrop: true
@@ -69071,7 +69446,7 @@ item_db: (
},
{
Id: 6124
- AegisName: "Wolf's_Flute"
+ AegisName: "Wolfs_Flute"
Name: "Wolf Flute"
Buy: 10
Trade: {
@@ -71626,7 +72001,7 @@ item_db: (
},
{
Id: 6375
- AegisName: "Amatsu_Bead_!"
+ AegisName: "Amatsu_Bead_"
Name: "Amatsu Bead !"
},
{
@@ -73680,7 +74055,7 @@ item_db: (
},
{
Id: 6593
- AegisName: "Criatura_Hair_Coupon"
+ AegisName: "Cryptura_Hair_Coupon"
Name: "Criatura Hair Coupon"
Trade: {
nodrop: true
@@ -73966,7 +74341,7 @@ item_db: (
},
{
Id: 6671
- AegisName: "Geffen_Magic_Tournament_Coin"
+ AegisName: "Geffen_Magic_Coin"
Name: "Geffen Magic Tournament Coin"
Buy: 10
Trade: {
@@ -73980,7 +74355,7 @@ item_db: (
},
{
Id: 6672
- AegisName: "Gray_Piece"
+ AegisName: "Gray_Shard"
Name: "Gray Piece"
Trade: {
nodrop: true
@@ -73993,7 +74368,7 @@ item_db: (
},
{
Id: 6673
- AegisName: "Ticket_to_Bossnia"
+ AegisName: "Bossnia_Pass"
Name: "Ticket to Bossnia"
Trade: {
nodrop: true
@@ -74008,7 +74383,7 @@ item_db: (
},
{
Id: 6674
- AegisName: "Part_time_Receipt"
+ AegisName: "Daily_Coin"
Name: "Part-time Receipt"
Trade: {
nodrop: true
@@ -74057,21 +74432,21 @@ item_db: (
},
{
Id: 6755
- AegisName: "Contaminated_Magic"
+ AegisName: "Corrupted_Charm"
Name: "Contaminated Magic"
Buy: 20
Weight: 10
},
{
Id: 6804
- AegisName: "Organic_Pumpkin"
+ AegisName: "ORGANIC_PUMPKIN"
Name: "Organic Pumpkin"
Buy: 20
Weight: 10
},
{
Id: 6805
- AegisName: "Inorganic_Pumpkin"
+ AegisName: "INORGANIC_PUMPKIN"
Name: "Inorganic Pumpkin"
Buy: 20
Weight: 10
@@ -74262,7 +74637,7 @@ item_db: (
},
{
Id: 7017
- AegisName: "Executioner's_Mitten"
+ AegisName: "Executioners_Mitten"
Name: "Executioner's Mitten"
Buy: 4500
Weight: 30
@@ -74278,7 +74653,7 @@ item_db: (
},
{
Id: 7019
- AegisName: "Loki's_Whispers"
+ AegisName: "Lokis_Whispers"
Name: "Loki's Whispers"
Buy: 20
Weight: 10
@@ -74286,7 +74661,7 @@ item_db: (
},
{
Id: 7020
- AegisName: "Mother's_Nightmare"
+ AegisName: "Mothers_Nightmare"
Name: "Mother's Nightmare"
Buy: 20
Weight: 10
@@ -74326,7 +74701,7 @@ item_db: (
},
{
Id: 7025
- AegisName: "Lucifer's_Lament"
+ AegisName: "Lucifers_Lament"
Name: "Lucifer's Lament"
Buy: 30000
Weight: 50
@@ -74500,7 +74875,7 @@ item_db: (
},
{
Id: 7047
- AegisName: "Alice's_Apron"
+ AegisName: "Alices_Apron"
Name: "Alice's Apron"
Buy: 2424
Weight: 10
@@ -74632,7 +75007,7 @@ item_db: (
},
{
Id: 7062
- AegisName: "Broken_Turtle_Shell"
+ AegisName: "Turtle_Shell_"
Name: "Broken Turtle Shell"
Buy: 280
Weight: 10
@@ -74963,7 +75338,7 @@ item_db: (
},
{
Id: 7106
- AegisName: "Goat's_Horn"
+ AegisName: "Goats_Horn"
Name: "Antelope Horn"
Buy: 672
Weight: 10
@@ -74971,7 +75346,7 @@ item_db: (
},
{
Id: 7107
- AegisName: "Gaoat's_Skin"
+ AegisName: "Gaoats_Skin"
Name: "Antelope Skin"
Buy: 756
Weight: 10
@@ -75027,7 +75402,7 @@ item_db: (
},
{
Id: 7114
- AegisName: "Tutankhamen's_Mask"
+ AegisName: "Tutankhamens_Mask"
Name: "Masque of Tutankhamen"
Buy: 10
Weight: 10
@@ -75035,7 +75410,7 @@ item_db: (
},
{
Id: 7115
- AegisName: "Harpy's_Feather"
+ AegisName: "Harpys_Feather"
Name: "Harpy Feather"
Buy: 1142
Weight: 10
@@ -75043,7 +75418,7 @@ item_db: (
},
{
Id: 7116
- AegisName: "Harpy's_Claw"
+ AegisName: "Harpys_Claw"
Name: "Harpy Talon"
Buy: 1210
Weight: 10
@@ -75099,7 +75474,7 @@ item_db: (
},
{
Id: 7123
- AegisName: "Dragon's_Skin"
+ AegisName: "Dragons_Skin"
Name: "Dragon Skin"
Buy: 1025
Weight: 10
@@ -75115,7 +75490,7 @@ item_db: (
},
{
Id: 7125
- AegisName: "Scropion's_Nipper"
+ AegisName: "Scropions_Nipper"
Name: "Scorpion Claw"
Buy: 706
Weight: 10
@@ -75345,7 +75720,7 @@ item_db: (
},
{
Id: 7155
- AegisName: "Poison_Toad's_Skin"
+ AegisName: "Poison_Toads_Skin"
Name: "Poisonous Toad Skin"
Buy: 280
Weight: 10
@@ -75377,7 +75752,7 @@ item_db: (
},
{
Id: 7159
- AegisName: "Tengu's_Nose"
+ AegisName: "Tengus_Nose"
Name: "Tengu Nose"
Buy: 400
Weight: 10
@@ -75385,14 +75760,14 @@ item_db: (
},
{
Id: 7160
- AegisName: "Lord's_Passable_Ticket"
+ AegisName: "Lords_Passable_Ticket"
Name: "Feudal Lord Permit"
Weight: 10
BuyingStore: true
},
{
Id: 7161
- AegisName: "Black_Bear's_Skin"
+ AegisName: "Black_Bears_Skin"
Name: "Black Bear Skin"
Buy: 384
Weight: 10
@@ -75517,7 +75892,7 @@ item_db: (
},
{
Id: 7177
- AegisName: "Part_Of_Star's_Sob"
+ AegisName: "Part_Of_Stars_Sob"
Name: "Crumb of Sobbing Starlight"
Trade: {
nodrop: true
@@ -75532,7 +75907,7 @@ item_db: (
},
{
Id: 7178
- AegisName: "Star's_Sob"
+ AegisName: "Stars_Sob"
Name: "Sobbing Starlight"
Trade: {
nodrop: true
@@ -75553,7 +75928,7 @@ item_db: (
},
{
Id: 7180
- AegisName: "Introduction_Of_Mr.Han"
+ AegisName: "Introduction_Of_Mr_Han"
Name: "Hahn Sukbong's Recommendation"
Weight: 10
},
@@ -75781,7 +76156,7 @@ item_db: (
},
{
Id: 7209
- AegisName: "Dullahan's_Helm"
+ AegisName: "Dullahans_Helm"
Name: "Helm of Dullahan"
Buy: 1350
Weight: 10
@@ -76467,7 +76842,7 @@ item_db: (
},
{
Id: 7304
- AegisName: "Witch's_Spell_Book"
+ AegisName: "Witchs_Spell_Book"
Name: "Witch's Spell Scroll"
Trade: {
nodrop: true
@@ -76527,7 +76902,7 @@ item_db: (
},
{
Id: 7308
- AegisName: "Witch's_Potion"
+ AegisName: "Witchs_Potion"
Name: "Witch's Tonic"
Trade: {
nodrop: true
@@ -76956,7 +77331,7 @@ item_db: (
},
{
Id: 7351
- AegisName: "Friend's_Diary"
+ AegisName: "Friends_Diary"
Name: "Friend's Diary"
Buy: 20
Trade: {
@@ -77831,7 +78206,7 @@ item_db: (
},
{
Id: 7458
- AegisName: "Baphomet's_Horn"
+ AegisName: "Baphomets_Horn"
Name: "Fortune Horn"
Buy: 2
Weight: 10
@@ -78469,7 +78844,7 @@ item_db: (
},
{
Id: 7518
- AegisName: "Women's_Medal"
+ AegisName: "Womens_Medal"
Name: "Women's Medal"
Weight: 10
Trade: {
@@ -79310,7 +79685,7 @@ item_db: (
},
{
Id: 7594
- AegisName: "Sonia's_Letter"
+ AegisName: "Sonias_Letter"
Name: "Sonia's Letter"
Buy: 20
Weight: 10
@@ -79728,7 +80103,7 @@ item_db: (
},
{
Id: 7663
- AegisName: "Full_Metal_Jacket"
+ AegisName: "Fullmetal_Jacket_Bullet"
Name: "Full Metal Jacket"
Type: 10
Buy: 200
@@ -79743,7 +80118,7 @@ item_db: (
},
{
Id: 7664
- AegisName: "Projection_Landmines"
+ AegisName: "Mine_Projectile"
Name: "Projection Landmines"
Type: 10
Buy: 450
@@ -81980,7 +82355,7 @@ item_db: (
},
{
Id: 7920
- AegisName: "Hero's_Arsenal"
+ AegisName: "Heros_Arsenal"
Name: "Hero's Arsenal"
Trade: {
nodrop: true
@@ -82085,7 +82460,7 @@ item_db: (
},
{
Id: 7930
- AegisName: "Cowking's_Nose_Ring"
+ AegisName: "Cowkings_Nose_Ring"
Name: "Devil's Cattle Ring"
Weight: 1000
Trade: {
@@ -82863,7 +83238,7 @@ item_db: (
},
{
Id: 9024
- AegisName: "Bapho_Jr._Egg"
+ AegisName: "Bapho_Jr_Egg"
Name: "Bapho Jr. Egg"
Type: 7
Buy: 20
@@ -83184,7 +83559,7 @@ item_db: (
},
{
Id: 10006
- AegisName: "Queen's_Hair_Ornament"
+ AegisName: "Queens_Hair_Ornament"
Name: "Queen's Hair Ornament"
Type: 8
Buy: 20
@@ -83366,7 +83741,7 @@ item_db: (
},
{
Id: 10032
- AegisName: "Queen's_Coronet"
+ AegisName: "Queens_Coronet"
Name: "Queen's Coronet"
Type: 8
Buy: 20
@@ -84608,6 +84983,16 @@ item_db: (
">
},
{
+ Id: 11602
+ AegisName: "Catnip_Fruit"
+ Name: "Catnip Fruit"
+ Type: 0
+ Buy: 15
+ Weight: 1
+ Upper: 63
+ Script: <" itemheal rand(10,40),0; ">
+},
+{
Id: 11701
AegisName: "Girl_Bunch_Of_Flower"
Name: "Girl's Bouquet"
@@ -84717,7 +85102,7 @@ item_db: (
},
{
Id: 11713
- AegisName: "Julia's_Candy"
+ AegisName: "Julias_Candy"
Name: "Julia's Candy"
Type: 0
Weight: 30
@@ -86309,7 +86694,7 @@ item_db: (
},
{
Id: 12136
- AegisName: "Women's_Bundle"
+ AegisName: "Womens_Bundle"
Name: "Women's Bundle"
Type: 2
Weight: 100
@@ -87615,7 +88000,7 @@ item_db: (
}
Script: <"
input @megaphone$;
- announce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000;
+ announce strcharinfo(PC_NAME) + ": " + @megaphone$,bc_all,0xFF0000;
end;
">
},
@@ -88044,7 +88429,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_rang02") {
+ if(strcharinfo(PC_MAP)=="job3_rang02") {
monster "this",-1,-1,"--ja--",1904,1,"";
}
">
@@ -89309,7 +89694,7 @@ item_db: (
},
{
Id: 12342
- AegisName: "Manuk's_Opportunity"
+ AegisName: "Manuks_Opportunity"
Name: "Manuk's Opportunity"
Type: 2
Weight: 50
@@ -89321,7 +89706,7 @@ item_db: (
},
{
Id: 12343
- AegisName: "Manuk's_Courage"
+ AegisName: "Manuks_Courage"
Name: "Manuk's Courage"
Type: 2
Weight: 50
@@ -89333,7 +89718,7 @@ item_db: (
},
{
Id: 12344
- AegisName: "Pinguicula's_fruit_Jam"
+ AegisName: "Pinguiculas_fruit_Jam"
Name: "Pinguicula's Fruit Jam"
Type: 2
Weight: 50
@@ -89345,7 +89730,7 @@ item_db: (
},
{
Id: 12345
- AegisName: "Luciola's_Honey_Jam"
+ AegisName: "Luciolas_Honey_Jam"
Name: "Luciola's Honey Jam"
Type: 2
Weight: 50
@@ -89377,7 +89762,7 @@ item_db: (
},
{
Id: 12348
- AegisName: "Manuk's_Faith"
+ AegisName: "Manuks_Faith"
Name: "Manuk's Faith"
Type: 2
Weight: 50
@@ -89389,7 +89774,7 @@ item_db: (
},
{
Id: 12349
- AegisName: "Cornus'_Tears"
+ AegisName: "Cornus_Tears"
Name: "Cornus' Tears"
Type: 2
Weight: 50
@@ -89656,7 +90041,7 @@ item_db: (
},
{
Id: 12370
- AegisName: "Gril's_Naivety"
+ AegisName: "Grils_Naivety"
Name: "Girl's Naivety"
Type: 2
Trade: {
@@ -89701,7 +90086,7 @@ item_db: (
},
{
Id: 12373
- AegisName: "Boy's_Naivety"
+ AegisName: "Boys_Naivety"
Name: "Boy's Pure Heart"
Type: 2
Buy: 20
@@ -89779,7 +90164,7 @@ item_db: (
},
{
Id: 12379
- AegisName: "Pope's_Cookie"
+ AegisName: "Popes_Cookie"
Name: "Pope Cookie"
Type: 2
Buy: 10
@@ -89803,7 +90188,7 @@ item_db: (
Buy: 10
Weight: 10
Script: <"
- if (strcharinfo(3) == "job3_arch02") {
+ if (strcharinfo(PC_MAP) == "job3_arch02") {
mercenary_create VALKYRIE_A, 1800000;
}
">
@@ -89816,7 +90201,7 @@ item_db: (
Buy: 10
Weight: 10
Script: <"
- if (strcharinfo(3) == "job3_arch02") {
+ if (strcharinfo(PC_MAP) == "job3_arch02") {
mercenary_create VALKYRIE_B, 1800000;
}
">
@@ -89847,7 +90232,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_war02") {
+ if(strcharinfo(PC_MAP)=="job3_war02") {
itemskill WL_FROSTMISTY,5;
}
">
@@ -89868,7 +90253,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_war02") {
+ if(strcharinfo(PC_MAP)=="job3_war02") {
itemskill WL_CRIMSONROCK,5;
}
">
@@ -89889,7 +90274,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_war02") {
+ if(strcharinfo(PC_MAP)=="job3_war02") {
itemskill WL_CHAINLIGHTNING,5;
}
">
@@ -89910,7 +90295,7 @@ item_db: (
noauction: true
}
Script: <"
- if(strcharinfo(3)=="job3_war02") {
+ if(strcharinfo(PC_MAP)=="job3_war02") {
itemskill WL_EARTHSTRAIN,5;
}
">
@@ -89935,7 +90320,7 @@ item_db: (
sitting: true
}
Script: <"
- if(strcharinfo(3)=="job3_rune02") {
+ if(strcharinfo(PC_MAP)=="job3_rune02") {
itemskill RK_CRUSHSTRIKE,1;
}
">
@@ -89960,7 +90345,7 @@ item_db: (
sitting: true
}
Script: <"
- if(strcharinfo(3)=="job3_rune02") {
+ if(strcharinfo(PC_MAP)=="job3_rune02") {
itemskill RK_STORMBLAST,1;
}
">
@@ -89985,7 +90370,7 @@ item_db: (
sitting: true
}
Script: <"
- if(strcharinfo(3)=="job3_rune02") {
+ if(strcharinfo(PC_MAP)=="job3_rune02") {
itemskill RK_MILLENNIUMSHIELD,1;
}
">
@@ -90341,7 +90726,7 @@ item_db: (
},
{
Id: 12416
- AegisName: "LUcky_Egg_C3"
+ AegisName: "Lucky_Egg_C3"
Name: "Thanksgiving Groove Pack"
Type: 2
Buy: 20
@@ -94750,7 +95135,7 @@ item_db: (
},
{
Id: 12806
- AegisName: "Antler_Scaraba_Scroll"
+ AegisName: "Scaraba_Scroll"
Name: "Antler Scaraba Scroll"
Type: 11
Buy: 20
@@ -94887,7 +95272,7 @@ item_db: (
},
{
Id: 12822
- AegisName: "Sungpyun_Box50"
+ AegisName: "Songpyun_Box50"
Name: "Korea Rice Cake 50 Box"
Type: 18
Buy: 20
@@ -94951,7 +95336,7 @@ item_db: (
},
{
Id: 12846
- AegisName: "Little_Unripe_Apple"
+ AegisName: "Unripe_Apple2"
Name: "Little Unripe Apple"
Type: 2
Buy: 10
@@ -95183,6 +95568,7 @@ item_db: (
Dark_Collector: true
Kagerou: true
Rebellion: true
+ Summoner: true
}
EquipLv: 40
Trade: {
@@ -95252,7 +95638,7 @@ item_db: (
nogstorage: true
}
Script: <"
- warp strcharinfo(3),0,0; /* NOTE: Temporary script until we get the correct information. */
+ warp strcharinfo(PC_MAP),0,0; /* NOTE: Temporary script until we get the correct information. */
">
},
{
@@ -99773,7 +100159,7 @@ item_db: (
},
{
Id: 13093
- AegisName: "Thanatos_Dagger"
+ AegisName: "Thanos_Dagger"
Name: "Thanatos Dagger"
Type: 4
Buy: 20
@@ -99813,7 +100199,7 @@ item_db: (
},
{
Id: 13094
- AegisName: "Evil_Slayer_Stabber_Dagger"
+ AegisName: "Dagger_Of_Evil_Slayer"
Name: "Evil Slayer Stabber Dagger"
Type: 4
Buy: 20
@@ -100297,9 +100683,9 @@ item_db: (
},
{
Id: 13120
- AegisName: "Heaven's_Feather_and_Hell's_Fire"
+ AegisName: "H_FEATHER_H_FIRE"
Name: "Heaven's_Feather_&_Hell's_Fire"
- Type: 5
+ Type: 4
Buy: 1250000
Weight: 800
Atk: 150
@@ -100320,9 +100706,9 @@ item_db: (
},
{
Id: 13122
- AegisName: "Altea_and_Ares"
+ AegisName: "ALTAIR_ARES"
Name: "Altea & Ares"
- Type: 5
+ Type: 4
Buy: 1450000
Weight: 1000
Atk: 200
@@ -100342,9 +100728,9 @@ item_db: (
},
{
Id: 13124
- AegisName: "Altea_and_Ares_"
+ AegisName: "ALTAIR_ARES_"
Name: "Altea & Ares"
- Type: 5
+ Type: 4
Buy: 1450000
Weight: 1000
Atk: 200
@@ -100365,7 +100751,7 @@ item_db: (
},
{
Id: 13127
- AegisName: "Crimson_Revolver"
+ AegisName: "Scarlet_Revolver"
Name: "Crimson Revolver"
Type: 4
Buy: 20
@@ -101386,9 +101772,9 @@ item_db: (
},
{
Id: 13189
- AegisName: "Color_Scope"
+ AegisName: "COLORSCOPE"
Name: "Color Scope"
- Type: 5
+ Type: 4
Buy: 1350000
Weight: 1200
Atk: 240
@@ -101408,9 +101794,9 @@ item_db: (
},
{
Id: 13190
- AegisName: "RAG203"
+ AegisName: "RAG203_"
Name: "RAG203"
- Type: 5
+ Type: 4
Buy: 1800000
Weight: 1300
Atk: 260
@@ -101431,9 +101817,9 @@ item_db: (
},
{
Id: 13192
- AegisName: "Death_Fire"
+ AegisName: "DEATHFIRE"
Name: "Death Fire"
- Type: 5
+ Type: 4
Buy: 1250000
Weight: 2000
Atk: 400
@@ -101454,9 +101840,9 @@ item_db: (
},
{
Id: 13193
- AegisName: "Rolling_Thunder"
+ AegisName: "R_THUNDER"
Name: "Rolling Thunder"
- Type: 5
+ Type: 4
Buy: 1350000
Weight: 1800
Atk: 280
@@ -101477,9 +101863,9 @@ item_db: (
},
{
Id: 13194
- AegisName: "Peace_Breaker"
+ AegisName: "P_BREAKER"
Name: "Peace Breaker"
- Type: 5
+ Type: 4
Buy: 1950000
Weight: 1400
Atk: 250
@@ -101499,9 +101885,9 @@ item_db: (
},
{
Id: 13195
- AegisName: "RAG203_"
+ AegisName: "RAG203"
Name: "RAG203"
- Type: 5
+ Type: 4
Buy: 1800000
Weight: 1300
Atk: 260
@@ -101521,9 +101907,9 @@ item_db: (
},
{
Id: 13196
- AegisName: "Peace_Breaker_"
+ AegisName: "P_BREAKER_"
Name: "Peace Breaker"
- Type: 5
+ Type: 4
Buy: 1950000
Weight: 1400
Atk: 250
@@ -101544,9 +101930,9 @@ item_db: (
},
{
Id: 13197
- AegisName: "Mini_Mei"
+ AegisName: "MINIMAY"
Name: "Mini Mei"
- Type: 5
+ Type: 4
Buy: 1600000
Weight: 2500
Atk: 220
@@ -101563,9 +101949,9 @@ item_db: (
},
{
Id: 13198
- AegisName: "Tempest"
+ AegisName: "TEMPEST"
Name: "Tempest"
- Type: 5
+ Type: 4
Buy: 2200000
Weight: 2500
Atk: 250
@@ -101586,9 +101972,9 @@ item_db: (
},
{
Id: 13199
- AegisName: "Tempest_"
+ AegisName: "TEMPEST_"
Name: "Tempest"
- Type: 5
+ Type: 4
Buy: 2200000
Weight: 2500
Atk: 250
@@ -101765,7 +102151,7 @@ item_db: (
},
{
Id: 13210
- AegisName: "Slug_Ammunition_L"
+ AegisName: "Slug_Bullet_1"
Name: "Slug Ammunition L"
Type: 10
Buy: 250
@@ -101781,7 +102167,7 @@ item_db: (
},
{
Id: 13211
- AegisName: "Slug_Ammunition_M"
+ AegisName: "Slug_Bullet_2"
Name: "Slug Ammunition M"
Type: 10
Buy: 500
@@ -101797,7 +102183,7 @@ item_db: (
},
{
Id: 13212
- AegisName: "Slug_Ammunition_H"
+ AegisName: "Slug_Bullet_3"
Name: "Slug Ammunition H"
Type: 10
Buy: 750
@@ -101813,7 +102199,7 @@ item_db: (
},
{
Id: 13213
- AegisName: "Slug_Ammunition_SH"
+ AegisName: "Slug_Bullet_4"
Name: "Slug Ammunition SH"
Type: 10
Buy: 1
@@ -101829,7 +102215,7 @@ item_db: (
},
{
Id: 13214
- AegisName: "Slug_Ammunition_XH"
+ AegisName: "Slug_Bullet_5"
Name: "Slug Ammunition XH"
Type: 10
Buy: 1
@@ -101845,7 +102231,7 @@ item_db: (
},
{
Id: 13215
- AegisName: "Armor_Piercing_Bullet"
+ AegisName: "AP_Ammo"
Name: "Armor-Piercing Bullet"
Type: 10
Buy: 15
@@ -101862,7 +102248,7 @@ item_db: (
},
{
Id: 13216
- AegisName: "Blazing_Bullet"
+ AegisName: "Blaze_Bullet"
Name: "Blazing Bullet"
Type: 10
Buy: 10
@@ -101896,7 +102282,7 @@ item_db: (
},
{
Id: 13218
- AegisName: "Lightning_Bullet"
+ AegisName: "Electric_Shock_Bullet"
Name: "Lightning Bullet"
Type: 10
Buy: 10
@@ -101913,7 +102299,7 @@ item_db: (
},
{
Id: 13219
- AegisName: "Magic_Stone_Bullet"
+ AegisName: "Magical_Stone_Bullet"
Name: "Magic Stone Bullet"
Type: 10
Buy: 10
@@ -101930,7 +102316,7 @@ item_db: (
},
{
Id: 13220
- AegisName: "Purifying_Bullet"
+ AegisName: "Sanctified_Bullet"
Name: "Purifying Bullet"
Type: 10
Buy: 10
@@ -101980,7 +102366,7 @@ item_db: (
},
{
Id: 13223
- AegisName: "Incendiary_Grenade"
+ AegisName: "Flare_Sphere_"
Name: "Incendiary Grenade"
Type: 10
Buy: 15
@@ -101995,7 +102381,7 @@ item_db: (
},
{
Id: 13224
- AegisName: "Lightning_Grenade"
+ AegisName: "Lighting_Sphere_"
Name: "Lightning Grenade"
Type: 10
Buy: 15
@@ -102010,7 +102396,7 @@ item_db: (
},
{
Id: 13225
- AegisName: "Poison_Grenade"
+ AegisName: "Poison_Sphere_"
Name: "Poison Grenade"
Type: 10
Buy: 15
@@ -102028,7 +102414,7 @@ item_db: (
},
{
Id: 13226
- AegisName: "Flash_Grenade"
+ AegisName: "Blind_Sphere_"
Name: "Flash Grenade"
Type: 10
Buy: 15
@@ -102046,7 +102432,7 @@ item_db: (
},
{
Id: 13227
- AegisName: "Cyro_Grenade"
+ AegisName: "Freezing_Sphere_"
Name: "Cyro Grenade"
Type: 10
Buy: 15
@@ -103310,7 +103696,7 @@ item_db: (
},
{
Id: 13327
- AegisName: "Crimson_Huuma_Shuriken"
+ AegisName: "Scarlet_Huuma"
Name: "Crimson Huuma Shuriken"
Type: 4
Buy: 20
@@ -104096,7 +104482,7 @@ item_db: (
},
{
Id: 13420
- AegisName: "Honglyun's_Sword"
+ AegisName: "Honglyuns_Sword"
Name: "Honglyun's Sword"
Type: 4
Buy: 20
@@ -104598,7 +104984,7 @@ item_db: (
},
{
Id: 13441
- AegisName: "Thanatos_Sword"
+ AegisName: "Thanos_Sword"
Name: "Thanatos Sword"
Type: 4
Buy: 10
@@ -104683,7 +105069,7 @@ item_db: (
},
{
Id: 13454
- AegisName: "Crimson_Saber"
+ AegisName: "Scarlet_Saber"
Name: "Crimson Saber"
Type: 4
Buy: 20
@@ -105121,7 +105507,7 @@ item_db: (
},
{
Id: 13521
- AegisName: "Garment_Card_Scroll_Box"
+ AegisName: "Hood_Card_Scroll_Box"
Name: "Garment Card Pet Egg Scroll Box"
Type: 18
Buy: 20
@@ -105139,7 +105525,7 @@ item_db: (
},
{
Id: 13522
- AegisName: "Shield_Card_Scroll_Box"
+ AegisName: "Hood_Card_Scroll_Box2"
Name: "Shield Card Pet Egg Scroll Box"
Type: 18
Buy: 20
@@ -112041,7 +112427,7 @@ item_db: (
},
{
Id: 13896
- AegisName: "Mimic_Scroll_Box5"
+ AegisName: "Mimic_Summon_Box5"
Name: "Mimic Summoning Box(5)"
Type: 18
Buy: 20
@@ -112059,7 +112445,7 @@ item_db: (
},
{
Id: 13897
- AegisName: "Disguise_Scroll_Box5"
+ AegisName: "Disguise_Summon_Box5"
Name: "Disguise Summoning Box(5)"
Type: 18
Buy: 20
@@ -112077,7 +112463,7 @@ item_db: (
},
{
Id: 13898
- AegisName: "Alice_Scroll_Box5"
+ AegisName: "Alice_Summon_Box5"
Name: "Alice Summoning Box(5)"
Type: 18
Buy: 20
@@ -112095,7 +112481,7 @@ item_db: (
},
{
Id: 13899
- AegisName: "Mimic_Scroll_Box10"
+ AegisName: "Mimic_Summon_Box10"
Name: "Mimic Summoning Box(10)"
Type: 18
Buy: 20
@@ -112113,7 +112499,7 @@ item_db: (
},
{
Id: 13900
- AegisName: "Disguise_Scroll_Box10"
+ AegisName: "Disguise_Summon_Box10"
Name: "Disguise Summoning Box(10)"
Type: 18
Buy: 20
@@ -112131,7 +112517,7 @@ item_db: (
},
{
Id: 13901
- AegisName: "Alice_Scroll_Box10"
+ AegisName: "Alice_Summon_Box10"
Name: "Alice Summoning Box(10)"
Type: 18
Buy: 20
@@ -112338,7 +112724,7 @@ item_db: (
},
{
Id: 13911
- AegisName: "Christmas_Pet_Scroll"
+ AegisName: "Xmas_Pet_Scroll"
Name: "Christmas Pet Scroll"
Type: 2
Buy: 20
@@ -112356,7 +112742,7 @@ item_db: (
},
{
Id: 13912
- AegisName: "Pty_Blessing_Box"
+ AegisName: "Party_Blessing_Box"
Name: "Party Blessing 10 Scroll Box"
Type: 18
Buy: 20
@@ -112374,7 +112760,7 @@ item_db: (
},
{
Id: 13913
- AegisName: "Pty_Inc_Agi_Box"
+ AegisName: "Party_Inc_Agi_Box"
Name: "Party Increase Agi 10 Scroll Box"
Type: 18
Buy: 20
@@ -112392,7 +112778,7 @@ item_db: (
},
{
Id: 13914
- AegisName: "Pty_Assumptio_Box"
+ AegisName: "Party_Assumptio_Box"
Name: "Party Assumptio 5 Scroll Box"
Type: 18
Buy: 20
@@ -112590,7 +112976,7 @@ item_db: (
},
{
Id: 13925
- AegisName: "Year_Of_Mouse_Scroll"
+ AegisName: "Lucky_Scroll08"
Name: "Mouse Scroll"
Type: 2
Buy: 20
@@ -112912,7 +113298,7 @@ item_db: (
},
{
Id: 13941
- AegisName: "TW_Valentine_Scroll"
+ AegisName: "Valentine_Scroll_TW"
Name: "Taiwan Valentine Scroll"
Type: 18
Buy: 20
@@ -112983,7 +113369,7 @@ item_db: (
},
{
Id: 13945
- AegisName: "BRO_SM_Package"
+ AegisName: "Br_SwordPackage"
Name: "Brazil Swordsman Package"
Type: 18
Buy: 20
@@ -113001,7 +113387,7 @@ item_db: (
},
{
Id: 13946
- AegisName: "BRO_MG_Package"
+ AegisName: "Br_MagePackage"
Name: "Brazil Magician Package"
Type: 18
Buy: 20
@@ -113019,7 +113405,7 @@ item_db: (
},
{
Id: 13947
- AegisName: "BRO_AC_Package"
+ AegisName: "Br_AcolPackage"
Name: "Brazil Acolyte Package"
Type: 18
Buy: 20
@@ -113037,7 +113423,7 @@ item_db: (
},
{
Id: 13948
- AegisName: "BRO_AR_Package"
+ AegisName: "Br_ArcherPackage"
Name: "Brazil Archer package"
Type: 18
Buy: 20
@@ -113055,7 +113441,7 @@ item_db: (
},
{
Id: 13949
- AegisName: "BRO_MC_Package"
+ AegisName: "Br_MerPackage"
Name: "Brazil Merchant Package"
Type: 18
Buy: 20
@@ -113073,7 +113459,7 @@ item_db: (
},
{
Id: 13950
- AegisName: "BRO_TF_Package"
+ AegisName: "Br_ThiefPackage"
Name: "Brazil Thief Package"
Type: 18
Buy: 20
@@ -118241,7 +118627,7 @@ item_db: (
},
{
Id: 14230
- AegisName: "Note_Headphones_Box"
+ AegisName: "Headphone_Box"
Name: "Note Headphones Box"
Type: 18
Weight: 10
@@ -118258,7 +118644,7 @@ item_db: (
},
{
Id: 14231
- AegisName: "Novice_Breastplate_Boxes"
+ AegisName: "Novice_Box"
Name: "Novice Breastplate Boxes"
Type: 18
Weight: 10
@@ -118346,7 +118732,7 @@ item_db: (
},
{
Id: 14236
- AegisName: "Steamed_Tongue_Box_20"
+ AegisName: "Str_Dish_Box60"
Name: "Steamed Tongue 20 Box"
Type: 18
Buy: 20
@@ -118364,7 +118750,7 @@ item_db: (
},
{
Id: 14237
- AegisName: "Steamed_Desert_Scorpions_Box_20"
+ AegisName: "Agi_Dish_Box60"
Name: "Steamed Desert Scorpions Box(20)"
Type: 18
Buy: 20
@@ -118382,7 +118768,7 @@ item_db: (
},
{
Id: 14238
- AegisName: "Stew_Of_Immortality_Box_20"
+ AegisName: "Int_Dish_Box60"
Name: "Immortal Stew 20 Box"
Type: 18
Buy: 20
@@ -118400,7 +118786,7 @@ item_db: (
},
{
Id: 14239
- AegisName: "Dragon_Breath_Cocktail_Box_20"
+ AegisName: "Dex_Dish_Box60"
Name: "Dragon Breath Cocktail 20 Box"
Type: 18
Buy: 20
@@ -118418,7 +118804,7 @@ item_db: (
},
{
Id: 14240
- AegisName: "Hwergelmir's_Tonic_Box_20"
+ AegisName: "Luk_Dish_Box60"
Name: "Hwergelmir's Tonic 20 Box"
Type: 18
Buy: 20
@@ -118436,7 +118822,7 @@ item_db: (
},
{
Id: 14241
- AegisName: "Nine_Tail_Dish_Box_20"
+ AegisName: "Vit_Dish_Box60"
Name: "Nine Tail Dish 20 Box"
Type: 18
Buy: 20
@@ -119018,7 +119404,7 @@ item_db: (
},
{
Id: 14274
- AegisName: "Amplification_10_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box"
Name: "Mystical Amplification Scroll 10 Box"
Type: 18
Buy: 20
@@ -119036,7 +119422,7 @@ item_db: (
},
{
Id: 14275
- AegisName: "Amplification_30_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box30"
Name: "Mystical Amplification Scroll 30 Box"
Type: 18
Buy: 20
@@ -119054,7 +119440,7 @@ item_db: (
},
{
Id: 14276
- AegisName: "Amplification_50_Scroll_Box2"
+ AegisName: "F_Magic_Scroll_Box50"
Name: "Mystical Amplification Scroll 50 Box"
Type: 18
Buy: 20
@@ -119072,7 +119458,7 @@ item_db: (
},
{
Id: 14277
- AegisName: "Quagmire_10_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box"
Name: "Quagmire Scroll 10 Box"
Type: 18
Buy: 20
@@ -119090,7 +119476,7 @@ item_db: (
},
{
Id: 14278
- AegisName: "Quagmire_30_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box30"
Name: "Quagmire Scroll 30 Box"
Type: 18
Buy: 20
@@ -119108,7 +119494,7 @@ item_db: (
},
{
Id: 14279
- AegisName: "Quagmire_50_Scroll_Box2"
+ AegisName: "F_Quagmire_Scroll_Box50"
Name: "Quagmire Scroll 50 Box"
Type: 18
Buy: 20
@@ -119198,7 +119584,7 @@ item_db: (
},
{
Id: 14284
- AegisName: "Muffler_Box"
+ AegisName: "Muffler_C_Box"
Name: "Muffler Box"
Type: 18
Buy: 20
@@ -119216,7 +119602,7 @@ item_db: (
},
{
Id: 14285
- AegisName: "Balkiriah_Shield_Box"
+ AegisName: "Valkyrjas_Shield_C_Box"
Name: "Balkiriah Shield Box"
Type: 18
Buy: 20
@@ -119234,7 +119620,7 @@ item_db: (
},
{
Id: 14286
- AegisName: "Skull_Ring_Box"
+ AegisName: "Skul_Ring_C_Box"
Name: "Skull Ring Box"
Type: 18
Buy: 20
@@ -119252,7 +119638,7 @@ item_db: (
},
{
Id: 14287
- AegisName: "Baricade_Repair_Kit"
+ AegisName: "S_Barricade_Repair_Kit"
Name: "Barricade Repair Kit"
Type: 18
Buy: 20
@@ -119275,7 +119661,7 @@ item_db: (
},
{
Id: 14288
- AegisName: "Guardian_Stone_Repair_Kit"
+ AegisName: "S_Gstone_Repair_Kit"
Name: "Guardian Stone Repair Kit"
Type: 18
Buy: 20
@@ -119387,7 +119773,7 @@ item_db: (
},
{
Id: 14294
- AegisName: "Mercenary_Contract_Box5"
+ AegisName: "Mercenary_Contract_5Box"
Name: "Mercenary Contract Box 5ea"
Type: 2
Weight: 10
@@ -119404,7 +119790,7 @@ item_db: (
},
{
Id: 14295
- AegisName: "Mercenary_Contract_Box10"
+ AegisName: "Mercenary_Contract_10Bo"
Name: "Mercenary Contract Box 10ea"
Type: 2
Weight: 10
@@ -119492,7 +119878,7 @@ item_db: (
},
{
Id: 14301
- AegisName: "Ifrit's_Ear_Box"
+ AegisName: "Ifrits_Ear_Box"
Name: "Ifrit's Ear Box"
Type: 18
Buy: 20
@@ -119578,7 +119964,7 @@ item_db: (
},
{
Id: 14314
- AegisName: "PhreeoniS_Box"
+ AegisName: "Phreeoni_Scroll_Box"
Name: "Phreeoni Scroll Box"
Type: 2
Buy: 20
@@ -119738,7 +120124,7 @@ item_db: (
},
{
Id: 14351
- AegisName: "Tyr's_Blessing20_Box"
+ AegisName: "Tyrs_Blessing20_Box"
Name: "Tyr's Blessing Box(20)"
Type: 18
Buy: 20
@@ -119752,11 +120138,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" getitem Tyr's_Blessing,20; ">
+ Script: <" getitem Tyrs_Blessing,20; ">
},
{
Id: 14352
- AegisName: "Tyr's_Blessing50_Box"
+ AegisName: "Tyrs_Blessing50_Box"
Name: "Tyr's Blessing Box(50)"
Type: 18
Buy: 20
@@ -119770,7 +120156,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" getitem Tyr's_Blessing,50; ">
+ Script: <" getitem Tyrs_Blessing,50; ">
},
{
Id: 14359
@@ -120049,7 +120435,7 @@ item_db: (
},
{
Id: 14438
- AegisName: "Honglyun's_Sword_Box"
+ AegisName: "Honglyuns_Sword_Box"
Name: "Honglyun's Sword Sword Box"
Type: 18
Buy: 20
@@ -120170,7 +120556,7 @@ item_db: (
},
{
Id: 14447
- AegisName: "Pirate's_Pride_Box"
+ AegisName: "Pirates_Pride_Box"
Name: "Scallywag's Hat Box"
Type: 18
Buy: 20
@@ -120188,7 +120574,7 @@ item_db: (
},
{
Id: 14448
- AegisName: "Necromencer's_Hood_Box"
+ AegisName: "Necromencers_Hood_Box"
Name: "Necromancer Hood Box"
Type: 18
Buy: 20
@@ -120418,6 +120804,7 @@ item_db: (
Dark_Collector: true
Kagerou: true
Rebellion: true
+ Summoner: true
}
Trade: {
nodrop: true
@@ -120563,7 +120950,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(3),237,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5; ">
},
{
Id: 14518
@@ -120580,7 +120967,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(3),235,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5; ">
},
{
Id: 14519
@@ -120597,7 +120984,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(3),236,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5; ">
},
{
Id: 14520
@@ -120614,7 +121001,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(3),234,5; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5; ">
},
{
Id: 14521
@@ -120634,7 +121021,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" unitskilluseid getcharid(3),108,1; ">
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1; ">
},
{
Id: 14522
@@ -121876,7 +122263,7 @@ item_db: (
}
Script: <"
specialeffect2 EF_HASTEUP;
- sc_start2 SC_STEAMPACK, 60000, 20, 25;
+ sc_start2 SC_STEAMPACK, 60000, 20, 25;
">
},
{
@@ -122143,7 +122530,7 @@ item_db: (
},
{
Id: 14601
- AegisName: "Tyr's_Blessing"
+ AegisName: "Tyrs_Blessing"
Name: "Tyr's Blessing"
Type: 2
Weight: 10
@@ -122555,7 +122942,7 @@ item_db: (
},
{
Id: 15001
- AegisName: "Odin's_Blessing_I"
+ AegisName: "Odins_Blessing_I"
Name: "Odin's Blessing"
Type: 5
Def: 10
@@ -123574,7 +123961,7 @@ item_db: (
},
{
Id: 15049
- AegisName: "Invincible_God_Clothes"
+ AegisName: "Armor_Of_Faith"
Name: "Invincible God Clothes"
Type: 5
Buy: 20
@@ -123928,7 +124315,7 @@ item_db: (
},
{
Id: 15068
- AegisName: "Adv_Angel's_Protection"
+ AegisName: "Im_Angels_Protection"
Name: "Advanced Angelic Protection"
Type: 5
Buy: 10000
@@ -123945,7 +124332,7 @@ item_db: (
},
{
Id: 15073
- AegisName: "Anti-Magic_Suit"
+ AegisName: "Anti_Magic_Suit"
Name: "Anti-Magic Suit"
Type: 5
Buy: 20
@@ -123963,7 +124350,7 @@ item_db: (
},
{
Id: 15074
- AegisName: "Geffen_Magic_Robe"
+ AegisName: "Geffen_Mage_Robe"
Name: "Geffen Magic Robe"
Type: 5
Buy: 20
@@ -123982,7 +124369,7 @@ item_db: (
},
{
Id: 15089
- AegisName: "Menswear"
+ AegisName: "Lounge_Suit"
Name: "Menswear"
Type: 4
Buy: 20
@@ -124002,7 +124389,7 @@ item_db: (
},
{
Id: 15090
- AegisName: "Gray_Armor"
+ AegisName: "Armor_Of_Gray"
Name: "Gray Armor"
Type: 5
Weight: 2400
@@ -124051,7 +124438,7 @@ item_db: (
},
{
Id: 15116
- AegisName: "Armor_Of_Airship"
+ AegisName: "Airship_Armor"
Name: "Armor Of Airship"
Type: 5
Buy: 20
@@ -124076,7 +124463,7 @@ item_db: (
},
{
Id: 15117
- AegisName: "Tarlock's_Armor"
+ AegisName: "Felock_Armor"
Name: "Tarlock's Armor"
Type: 5
Buy: 20
@@ -124125,8 +124512,29 @@ item_db: (
">
},
{
+ Id: 15126
+ AegisName: "Female_Poring_Balloon"
+ Name: "Private Doram Suits"
+ Type: 4
+ Buy: 20
+ Weight: 700
+ Def: 80
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 16
+ EquipLv: 100
+ Script: <"
+ bonus bMaxHP, 500;
+ bonus bMaxSP, 100;
+ bonus bDex, getrefine() / 3;
+ bonus bInt, getrefine() / 3;
+ ">
+},
+{
Id: 15128
- AegisName: "Excellion_Suit"
+ AegisName: "Female_Poring_Egg"
Name: "Excellion Suit"
Type: 5
Buy: 20
@@ -124141,8 +124549,29 @@ item_db: (
">
},
{
+ Id: 15129
+ AegisName: "Blue_Bellflower_Hat"
+ Name: "Luxury Doram Suit"
+ Type: 4
+ Buy: 20
+ Weight: 800
+ Def: 100
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 16
+ EquipLv: 140
+ Script: <"
+ bonus bMaxHPrate, 10;
+ bonus bMaxSPrate, 10;
+ bonus bDex, getrefine() / 2;
+ bonus bInt, getrefine() / 2;
+ ">
+},
+{
Id: 15138
- AegisName: "Egir_Armor_K"
+ AegisName: "Aegir_Armor"
Name: "Aegir Armor"
Type: 5
Buy: 200000
@@ -124157,6 +124586,67 @@ item_db: (
bonus bUnbreakableArmor, 0;
">
},
+{
+ Id: 15150
+ AegisName: "White_Shirt"
+ Name: "White Shirt"
+ Type: 5
+ Buy: 20
+ Weight: 50
+ Def: 25
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 16
+ EquipLv: 6
+ Script: <"
+ bonus bMaxHP,70;
+ bonus bFlee,5;
+ ">
+},
+{
+ Id: 15151
+ AegisName: "White_Eco_Shirt"
+ Name: "White Eco-Shirt"
+ Type: 4
+ Buy: 20
+ Weight: 100
+ Def: 40
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 16
+ EquipLv: 15
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bFlee,10;
+ ">
+},
+{
+ Id: 15156
+ AegisName: "Elegant_Doram_Suit"
+ Name: "Elegant Doram Suit"
+ Type: 4
+ Buy: 20
+ Weight: 900
+ Def: 120
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 16
+ EquipLv: 175
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 15;
+ bonus bDex, getrefine();
+ bonus bInt, getrefine();
+ if (getrefine() > 9)
+ bonus bUseSPrate, -5;
+ ">
+},
//== More Maces ============================================
{
@@ -124476,13 +124966,12 @@ item_db: (
EquipLv: 102
View: 8
Script: <"
- if(getrefine()>=6) {
- bonus2 bSkillAtk,GN_CRAZYWEED,20+((getrefine()-5)*2);
- bonus2 bSkillAtk,GN_DEMONIC_FIRE,20+((getrefine()-5)*2);
- }
- else {
- bonus2 bSkillAtk,GN_CRAZYWEED,20;
- bonus2 bSkillAtk,GN_DEMONIC_FIRE,20;
+ if (getrefine() >= 6) {
+ bonus2 bSkillAtk, GN_CRAZYWEED_ATK, 20 + ((getrefine()-5)*2);
+ bonus2 bSkillAtk, GN_DEMONIC_FIRE, 20 + ((getrefine()-5)*2);
+ } else {
+ bonus2 bSkillAtk, GN_CRAZYWEED_ATK, 20;
+ bonus2 bSkillAtk, GN_DEMONIC_FIRE, 20;
}
">
},
@@ -124943,7 +125432,7 @@ item_db: (
},
{
Id: 16027
- AegisName: "Evil_Slayer_Destroyer_Hammer"
+ AegisName: "Hammer_Of_Evil_Slayer"
Name: "Evil Slayer Destroyer Hammer"
Type: 4
Buy: 20
@@ -124976,7 +125465,7 @@ item_db: (
},
{
Id: 16028
- AegisName: "Thanatos_Hammer"
+ AegisName: "Thanos_Hammer"
Name: "Thanatos Hammer"
Type: 4
Buy: 20
@@ -125013,7 +125502,7 @@ item_db: (
},
{
Id: 16030
- AegisName: "Pilebunker_S"
+ AegisName: "Pilebuncker_S"
Name: "Pile Bunker S"
Type: 4
Weight: 3000
@@ -125032,7 +125521,7 @@ item_db: (
},
{
Id: 16031
- AegisName: "Pilebunker_P"
+ AegisName: "Pilebuncker_P"
Name: "Pile Bunker P"
Type: 4
Weight: 4000
@@ -125050,7 +125539,7 @@ item_db: (
},
{
Id: 16032
- AegisName: "Pilebunker_T"
+ AegisName: "Pilebuncker_T"
Name: "Pile Bunker T"
Type: 4
Weight: 3500
@@ -125100,7 +125589,7 @@ item_db: (
},
{
Id: 16040
- AegisName: "Crimson_Mace"
+ AegisName: "Scarlet_Mace"
Name: "Crimson Mace"
Type: 4
Buy: 20
@@ -125217,7 +125706,7 @@ item_db: (
},
{
Id: 16135
- AegisName: "Evil's_Bone_Hat_Box"
+ AegisName: "Evils_Bone_Hat_Box"
Name: "Satanic Bone Helm Box"
Type: 18
Buy: 20
@@ -125746,7 +126235,7 @@ item_db: (
},
{
Id: 16304
- AegisName: "Evil_Incarnation"
+ AegisName: "Evil_Incarnation_Disable"
Name: "Deviling Incarnation Scroll"
Type: 2
Buy: 20
@@ -125987,7 +126476,7 @@ item_db: (
},
{
Id: 16362
- AegisName: "Sigrun's_Wing_Box"
+ AegisName: "Sigruns_Wing_Box"
Name: "Sigrun's Wings Box"
Type: 18
Weight: 10
@@ -126004,7 +126493,7 @@ item_db: (
},
{
Id: 16363
- AegisName: "FSigrun's_Wing_Box"
+ AegisName: "FSigruns_Wing_Box"
Name: "Sigrun's Wings Box"
Type: 18
Weight: 10
@@ -126063,7 +126552,7 @@ item_db: (
},
{
Id: 16374
- AegisName: "BGum_Box_In_Mouth"
+ AegisName: "Mouth_Bubble_Gum_Box"
Name: "Chewing Bubblegum R Box"
Type: 2
Buy: 20
@@ -126682,7 +127171,7 @@ item_db: (
},
{
Id: 16556
- AegisName: "FPr_Reset_Stone_Box"
+ AegisName: "FPremium_Reset_Stone_Box"
Name: "Reset Stone Box"
Type: 2
Buy: 20
@@ -126765,7 +127254,7 @@ item_db: (
},
{
Id: 16569
- AegisName: "Summber_Scroll"
+ AegisName: "Summer_Scroll"
Name: "Komodo Egg"
Type: 2
Buy: 20
@@ -126873,7 +127362,7 @@ item_db: (
},
{
Id: 16638
- AegisName: "Life_Ribbon_Box"
+ AegisName: "Ribbon_Of_Life_Box"
Name: "Ribbon of Life Box"
Type: 2
Buy: 20
@@ -126889,7 +127378,7 @@ item_db: (
},
{
Id: 16639
- AegisName: "Life_Ribbon_Box2"
+ AegisName: "Ribbon_Of_Life_Box2"
Name: "Ribbon of Life Box II"
Type: 2
Buy: 20
@@ -126905,7 +127394,7 @@ item_db: (
},
{
Id: 16640
- AegisName: "Life_Ribbon_Box3"
+ AegisName: "Ribbon_Of_Life_Box3"
Name: "Life Ribbon Box"
Type: 2
Buy: 20
@@ -128069,7 +128558,7 @@ item_db: (
},
{
Id: 17029
- AegisName: "Pisces_Diadem_Box"
+ AegisName: "Pisces_Diadem_Box2"
Name: "Pisces Diadem Box"
Type: 2
Buy: 20
@@ -128101,7 +128590,7 @@ item_db: (
},
{
Id: 17037
- AegisName: "Transbox_Devi"
+ AegisName: "Trans_Box_Devi"
Name: "Transformation Scroll Box(Deviruchi)(10)"
Type: 2
Buy: 20
@@ -128119,7 +128608,7 @@ item_db: (
},
{
Id: 17038
- AegisName: "Transbox_Ray"
+ AegisName: "Trans_Box_Ray_Arch"
Name: "Transformation Scroll Box(Raydric Archer)(10)"
Type: 2
Buy: 20
@@ -128137,7 +128626,7 @@ item_db: (
},
{
Id: 17039
- AegisName: "Transbox_Mavka"
+ AegisName: "Trans_Box_Mavka"
Name: "Transformation Scroll Box(Mavka)(10)"
Type: 2
Buy: 20
@@ -128155,7 +128644,7 @@ item_db: (
},
{
Id: 17040
- AegisName: "Transbox_Marduk"
+ AegisName: "Trans_Box_Marduk"
Name: "Transformation Scroll Box(Manuk)(10)"
Type: 2
Buy: 20
@@ -128173,7 +128662,7 @@ item_db: (
},
{
Id: 17041
- AegisName: "Transbox_Banshee"
+ AegisName: "Trans_Box_Banshee"
Name: "Transformation Scroll Box(Banshee)(10)"
Type: 2
Buy: 20
@@ -128191,7 +128680,7 @@ item_db: (
},
{
Id: 17042
- AegisName: "Transbox_Poring"
+ AegisName: "Trans_Box_Poring"
Name: "Transformation Scroll Box(Poring)(10)"
Type: 18
Buy: 20
@@ -128209,7 +128698,7 @@ item_db: (
},
{
Id: 17043
- AegisName: "Transbox_Golem"
+ AegisName: "Trans_Box_Golem"
Name: "Transformation Scroll Box(Golem)(10)"
Type: 2
Buy: 20
@@ -128227,7 +128716,7 @@ item_db: (
},
{
Id: 17050
- AegisName: "Aries_Scroll"
+ AegisName: "Aries_Scroll_"
Name: "Aries Scroll"
Type: 2
Buy: 20
@@ -128749,7 +129238,7 @@ item_db: (
},
{
Id: 17114
- AegisName: "Horn_Of_Ancient_Box"
+ AegisName: "Horn_Of_The_Ancient_Box"
Name: "Ancient Horns Box"
Type: 18
Buy: 20
@@ -128904,7 +129393,7 @@ item_db: (
},
{
Id: 17140
- AegisName: "Leo_Scroll"
+ AegisName: "Leo_Scroll3"
Name: "Leo Scroll"
Type: 2
Buy: 20
@@ -129240,7 +129729,7 @@ item_db: (
},
{
Id: 17246
- AegisName: "HD_Elunium_Box(30)"
+ AegisName: "HD_Elu_Box30"
Name: "HD Elunium Box(30)"
Type: 18
Buy: 10
@@ -129258,7 +129747,7 @@ item_db: (
},
{
Id: 17247
- AegisName: "HD_Oridecon_Box(30)"
+ AegisName: "HD_Ori_Box30"
Name: "HD Oridecon Box(30)"
Type: 18
Buy: 10
@@ -130072,7 +130561,7 @@ item_db: (
},
{
Id: 18119
- AegisName: "Thanatos_Bow"
+ AegisName: "Thanos_Bow"
Name: "Thanatos Bow"
Type: 4
Buy: 20
@@ -130104,7 +130593,7 @@ item_db: (
},
{
Id: 18120
- AegisName: "Evil_Slayer_Piercer_Bow"
+ AegisName: "Bow_Of_Evil_Slayer"
Name: "Evil Slayer Piercer Bow"
Type: 4
Buy: 20
@@ -130154,7 +130643,7 @@ item_db: (
},
{
Id: 18122
- AegisName: "Giant_Bow"
+ AegisName: "Gigantic_Bow"
Name: "Giant Bow"
Type: 4
Buy: 20
@@ -130178,7 +130667,7 @@ item_db: (
},
{
Id: 18123
- AegisName: "Bow_of_Storms"
+ AegisName: "Bow_Of_Storm"
Name: "Bow of Storms"
Type: 4
Buy: 12400
@@ -130228,7 +130717,7 @@ item_db: (
},
{
Id: 18126
- AegisName: "Blue_Bow"
+ AegisName: "Ru_Blue_Bow"
Name: "Blue Bow"
Type: 4
Buy: 20
@@ -130281,7 +130770,7 @@ item_db: (
},
{
Id: 18130
- AegisName: "Crimson_Bow"
+ AegisName: "Scarlet_Bow"
Name: "Crimson Bow"
Type: 4
Buy: 20
@@ -130600,7 +131089,7 @@ item_db: (
},
{
Id: 18515
- AegisName: "RTC_1st_Helm"
+ AegisName: "RTC_Winner_Headgear"
Name: "RTC winners Pitching"
Type: 5
Buy: 6000
@@ -130617,7 +131106,7 @@ item_db: (
},
{
Id: 18516
- AegisName: "RTC_2nd_Helm"
+ AegisName: "RTC_2nd_Headgear"
Name: "RTC Second Pitching"
Type: 5
Buy: 6000
@@ -130634,7 +131123,7 @@ item_db: (
},
{
Id: 18517
- AegisName: "RTC_3rd_Helm"
+ AegisName: "RTC_3rd_Headgear"
Name: "RTC 3rd Winner Hat"
Type: 5
Buy: 6000
@@ -130651,7 +131140,7 @@ item_db: (
},
{
Id: 18518
- AegisName: "Ear_Of_Angel's_Wing_"
+ AegisName: "Ear_Of_Angels_Wing_"
Name: "Angel Wing Ears"
Type: 5
Buy: 20
@@ -130666,7 +131155,7 @@ item_db: (
},
{
Id: 18519
- AegisName: "Ear_Of_Devil's_Wing_"
+ AegisName: "Ear_Of_Devils_Wing_"
Name: "Wing of Diablo"
Type: 5
Buy: 20
@@ -130984,7 +131473,7 @@ item_db: (
},
{
Id: 18538
- AegisName: "Devil_Whisper"
+ AegisName: "Evil_Whisper"
Name: "Spirit Whispers"
Type: 5
Buy: 20
@@ -131032,7 +131521,7 @@ item_db: (
},
{
Id: 18541
- AegisName: "Little_Feather_Hat"
+ AegisName: "Little_Fhat"
Name: "Little Feather Hat"
Type: 5
Buy: 20
@@ -131145,7 +131634,7 @@ item_db: (
},
{
Id: 18549
- AegisName: "Nabi_Hair_Pin"
+ AegisName: "Butterfly_Hairpin"
Name: "Butterfly Hairpin"
Type: 5
Buy: 20
@@ -131243,7 +131732,7 @@ item_db: (
},
{
Id: 18556
- AegisName: "Angel_Team_Helm"
+ AegisName: "Angel_Helmet"
Name: "Angel's Symbol"
Type: 5
Loc: 512
@@ -131261,7 +131750,7 @@ item_db: (
},
{
Id: 18557
- AegisName: "Devil_Team_Helm"
+ AegisName: "Devil_Helmet"
Name: "Devil's Symbol"
Type: 5
Loc: 512
@@ -132430,10 +132919,9 @@ item_db: (
Refine: false
View: 781
Script: <"
- bonus bMdef,5;
- bonus bMaxHPrate,2;
- bonus2 bAddRace,RC_DemiPlayer,5;
- bonus2 bAddRace,RC_Player,5;
+ bonus bMdef, 5;
+ bonus bMaxHPrate, 2;
+ bonus2 bAddRace, RC_DemiPlayer, 5;
">
},
{
@@ -132466,11 +132954,10 @@ item_db: (
EquipLv: 70
View: 784
Script: <"
- bonus2 bAddRace,RC_DemiPlayer,10;
- bonus2 bAddRace,RC_Player,10;
- bonus2 bAddRace,RC_Demon,10;
- if(getrefine()>6) {
- autobonus "{ bonus bAspdRate,100; }",10,7000,0,"{ specialeffect2 EF_POTION_BERSERK; }";
+ bonus2 bAddRace, RC_DemiPlayer, 10;
+ bonus2 bAddRace, RC_Demon, 10;
+ if(getrefine() > 6) {
+ autobonus "{ bonus bAspdRate, 100; }", 10, 7000, 0, "{ specialeffect2 EF_POTION_BERSERK; }";
}
">
},
@@ -132499,7 +132986,7 @@ item_db: (
},
{
Id: 18632
- AegisName: "Yellow_Poring_Pin"
+ AegisName: "Yellow_Poring_Hairpin"
Name: "Yellow Poring Hairpin"
Type: 5
Buy: 20
@@ -132511,7 +132998,7 @@ item_db: (
},
{
Id: 18633
- AegisName: "Pink_Poring_Pin"
+ AegisName: "Pink_Poring_Hairpin"
Name: "Pink Poring Hairpin"
Type: 5
Buy: 20
@@ -132523,7 +133010,7 @@ item_db: (
},
{
Id: 18634
- AegisName: "Green_Poring_Pin"
+ AegisName: "Green_Poring_Hairpin"
Name: "Green Poring Hairpin"
Type: 5
Buy: 20
@@ -132535,7 +133022,7 @@ item_db: (
},
{
Id: 18635
- AegisName: "Blue_Poring_Pin"
+ AegisName: "Blue_Poring_Hairpin"
Name: "Blue Poring Hairpin"
Type: 5
Buy: 20
@@ -132712,9 +133199,8 @@ item_db: (
Loc: 256
View: 798
Script: <"
- bonus bInt,1;
- bonus2 bAddRace,RC_DemiPlayer,5;
- bonus2 bAddRace,RC_Player,5;
+ bonus bInt, 1;
+ bonus2 bAddRace, RC_DemiPlayer, 5;
">
},
{
@@ -132794,7 +133280,7 @@ item_db: (
},
{
Id: 18652
- AegisName: "Vanargandr_Helm"
+ AegisName: "Vanargand_Helm"
Name: "Vanargand Helm"
Type: 5
Buy: 20
@@ -132811,7 +133297,7 @@ item_db: (
},
{
Id: 18653
- AegisName: "Deviruchi_Headphone"
+ AegisName: "Devi_Headphone"
Name: "Headphones Debiruchi"
Type: 5
Buy: 20
@@ -132845,7 +133331,7 @@ item_db: (
},
{
Id: 18655
- AegisName: "Goedo_Monocle"
+ AegisName: "Lupin_One_Eyed_Glasses"
Name: "Dragonfly Monocle"
Type: 5
Buy: 20
@@ -134036,7 +134522,7 @@ item_db: (
},
{
Id: 18730
- AegisName: "Criatura_Academy_Hat"
+ AegisName: "Cryptura_Academy_Hat"
Name: "Criatura Hat"
Type: 5
Buy: 100
@@ -134052,7 +134538,7 @@ item_db: (
},
{
Id: 18731
- AegisName: "Valkyrie_Headgear"
+ AegisName: "Valkyrie_Outing_Helm"
Name: "Valkyrie Helm"
Type: 5
Buy: 1000
@@ -134070,7 +134556,7 @@ item_db: (
},
{
Id: 18732
- AegisName: "TE_WoE_Cap"
+ AegisName: "TE_Woe_Cap"
Name: "TE WoE Cap"
Type: 5
Def: 5
@@ -134097,7 +134583,7 @@ item_db: (
},
{
Id: 18733
- AegisName: "TE_WoE_Bone_Helm"
+ AegisName: "TE_Woe_Bone_Helm"
Name: "TE WoE Bone Helm"
Type: 5
Def: 10
@@ -134128,11 +134614,10 @@ item_db: (
bonus2 bResEff,Eff_Freeze,25;
bonus bUnbreakableHelm,0;
">
-
},
{
Id: 18734
- AegisName: "TE_WoE_Magic_Eyes"
+ AegisName: "TE_Woe_Magic_Eyes"
Name: "TE WoE Magic Eyes"
Type: 5
Def: 5
@@ -134205,7 +134690,7 @@ item_db: (
},
{
Id: 18740
- AegisName: "Hair_Of_The_Strong"
+ AegisName: "C_Hair_Of_The_Strong"
Name: "RMSC2012 Special Costume"
Type: 5
Buy: 20
@@ -134215,7 +134700,7 @@ item_db: (
},
{
Id: 18741
- AegisName: "C_WillOWisp_Accessory"
+ AegisName: "C_Will_O_Wisp"
Name: "Will O Wisp"
Type: 5
Buy: 20
@@ -134386,7 +134871,7 @@ item_db: (
Name: "Feather Beret"
Type: 5
Buy: 30000
- Weight: 600
+ Weight: 600
Def: 1
Slots: 1
Job: {
@@ -134396,10 +134881,9 @@ item_db: (
Loc: 256
View: 224
Script: <"
- bonus bMdef,1;
- bonus bUnbreakableHelm,0;
- bonus2 bAddRaceTolerance,RC_DemiPlayer,10;
- bonus2 bAddRaceTolerance,RC_Player,10;
+ bonus bMdef, 1;
+ bonus bUnbreakableHelm, 0;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;
">
},
{
@@ -134874,7 +135358,7 @@ item_db: (
},
{
Id: 18779
- AegisName: "RWC_Crown_Of_Victory(1st)"
+ AegisName: "RWC_Champ_Crown_Red"
Name: "RWC Crown Of Victory(1st)"
Type: 5
Slots: 1
@@ -134893,7 +135377,7 @@ item_db: (
},
{
Id: 18780
- AegisName: "RWC_Crown_Of_Victory(2nd)"
+ AegisName: "RWC_Champ_Crown_Blue"
Name: "RWC Crown Of Victory(2nd)"
Type: 5
Slots: 1
@@ -134912,7 +135396,7 @@ item_db: (
},
{
Id: 18781
- AegisName: "RWC_Crown_Of_Victory(3rd)"
+ AegisName: "RWC_Champ_Crown_Black"
Name: "RWC Crown Of Victory(3rd)"
Type: 5
Slots: 1
@@ -134984,7 +135468,7 @@ item_db: (
},
{
Id: 18785
- AegisName: "King_Poring_Hat_"
+ AegisName: "King_Poring_Hat"
Name: "King Poring Hat"
Type: 5
Buy: 20
@@ -135151,7 +135635,7 @@ item_db: (
},
{
Id: 18794
- AegisName: "Plain_Black_Mage_Hat"
+ AegisName: "Ordinary_Black_Mage_Hat"
Name: "Plain Black Mage Hat"
Type: 5
Weight: 200
@@ -135165,19 +135649,21 @@ item_db: (
EquipLv: 100
View: 912
Script: <"
- bonus2 bSkillAtk,WL_CRIMSONROCK,5;
- bonus2 bSkillAtk,WL_JACKFROST,5;
- bonus2 bSkillAtk,WL_EARTHSTRAIN,5;
- bonus2 bSkillAtk,WL_CHAINLIGHTNING,5;
- bonus2 bIgnoreMdefRate,RC_NonBoss,10;
- bonus2 bIgnoreMdefRate,RC_NonBoss,getrefine()*2;
- if(getrefine()>6) {
- bonus2 bSkillAtk,WL_CRIMSONROCK,5;
- bonus2 bSkillAtk,WL_JACKFROST,5;
- bonus2 bSkillAtk,WL_EARTHSTRAIN,5;
- bonus2 bSkillAtk,WL_CHAINLIGHTNING,5;
+ bonus2 bSkillAtk, WL_CRIMSONROCK, 5;
+ bonus2 bSkillAtk, WL_JACKFROST, 5;
+ bonus2 bSkillAtk, WL_EARTHSTRAIN, 5;
+ bonus2 bSkillAtk, WL_CHAINLIGHTNING_ATK, 5;
+ bonus2 bIgnoreMdefRate, RC_NonBoss, 10;
+ bonus2 bIgnoreMdefRate, RC_NonBoss, getrefine() * 2;
+ if (getrefine() > 6) {
+ bonus2 bSkillAtk, WL_CRIMSONROCK, 5;
+ bonus2 bSkillAtk, WL_JACKFROST, 5;
+ bonus2 bSkillAtk, WL_EARTHSTRAIN, 5;
+ bonus2 bSkillAtk, WL_CHAINLIGHTNING_ATK, 5;
+ }
+ if (getrefine() > 8) {
+ bonus bMatkRate, 5;
}
- if(getrefine()>8) { bonus bMatkRate,5; }
">
},
{
@@ -135196,13 +135682,13 @@ item_db: (
View: 913
Script: <"
bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*5);
- if(getrefine()>6) { bonus2 bSkillAtk,WM_SEVERE_RAINSTORM,25; }
+ if(getrefine()>6) { bonus2 bSkillAtk,WM_SEVERE_RAINSTORM_MELEE,25; }
if(getrefine()>8) { bonus bMaxSP,200; }
">
},
{
Id: 18796
- AegisName: "RWC_Crown_Of_Victory(8th)"
+ AegisName: "RWC_Champ_Crown_QF"
Name: "RWC Crown Of Victory(8th)"
Type: 5
Weight: 500
@@ -135708,7 +136194,7 @@ item_db: (
},
{
Id: 18826
- AegisName: "Chun_Tree_Hat"
+ AegisName: "Woodie_Hat"
Name: "Chun Tree Hat"
Type: 5
Buy: 20
@@ -135883,7 +136369,7 @@ item_db: (
},
{
Id: 18835
- AegisName: "RO10th_Anni_Cap"
+ AegisName: "TW_10th_Anni_Hat"
Name: "RO10th Anni Cap"
Type: 5
Weight: 100
@@ -135892,7 +136378,7 @@ item_db: (
},
{
Id: 18836
- AegisName: "Lmt_RO10th_Anni_Cap"
+ AegisName: "TW_10th_Anni_Lmtd_Hat"
Name: "Lmt RO10th Anni Cap"
Type: 5
Weight: 100
@@ -135929,7 +136415,7 @@ item_db: (
},
{
Id: 18839
- AegisName: "Poring_Sunglasses"
+ AegisName: "Poring_Sunglasses_"
Name: "Poring Sunglasses"
Type: 5
Weight: 100
@@ -135945,7 +136431,7 @@ item_db: (
},
{
Id: 18840
- AegisName: "King_Poring_Hat"
+ AegisName: "King_Poring_Hat_" // FIXME: Unknown
Name: "King Poring Hat"
Type: 5
Buy: 20
@@ -136005,9 +136491,8 @@ item_db: (
Loc: 256
View: 957
Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,5;
- bonus2 bAddRaceTolerance,RC_Player,5;
- if (getrefine()>7) { bonus bMaxHPrate,getrefine()-7; }
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;
+ if (getrefine() > 7) { bonus bMaxHPrate, getrefine()-7; }
">
},
{
@@ -136038,9 +136523,9 @@ item_db: (
Refine: false
View: 959
Script: <"
- bonus bUnbreakableHelm,0;
- bonus bMaxSPrate,3;
- autobonus2 "{ bonus2 bAddRaceTolerance,RC_DemiPlayer,100; bonus2 bAddRaceTolerance,RC_Player,100; }",10,3000,BF_WEAPON|BF_MAGIC,"{ specialeffect2 EF_POTION_BERSERK; }";
+ bonus bUnbreakableHelm, 0;
+ bonus bMaxSPrate, 3;
+ autobonus2 "{ bonus2 bAddRaceTolerance, RC_DemiPlayer, 100; }", 10, 3000, BF_WEAPON|BF_MAGIC, "{ specialeffect2 EF_POTION_BERSERK; }";
">
},
{
@@ -136076,7 +136561,7 @@ item_db: (
},
{
Id: 18848
- AegisName: "Fresh_Roses"
+ AegisName: "Lush_Rose"
Name: "Fresh Roses"
Type: 5
Weight: 200
@@ -136087,7 +136572,7 @@ item_db: (
},
{
Id: 18849
- AegisName: "Celine_Ribbon"
+ AegisName: "Celines_Ribbon"
Name: "Celine Ribbon"
Type: 5
Weight: 200
@@ -136121,7 +136606,7 @@ item_db: (
},
{
Id: 18851
- AegisName: "Valentine_Heart"
+ AegisName: "ValentineHeart"
Name: "Valentine Heart"
Type: 5
Loc: 256
@@ -136131,7 +136616,7 @@ item_db: (
},
{
Id: 18852
- AegisName: "Tasty_Strawberry_Hat"
+ AegisName: "Berry_Hat_Decoration"
Name: "Tasty Strawberry Hat"
Type: 5
Buy: 20
@@ -136147,7 +136632,7 @@ item_db: (
},
{
Id: 18853
- AegisName: "Tasty_Strawberry_Hat_"
+ AegisName: "Berry_Hat_Decoration_"
Name: "Tasty Strawberry Hat"
Type: 5
Buy: 20
@@ -136164,7 +136649,7 @@ item_db: (
},
{
Id: 18854
- AegisName: "Yellow_Valentine_Heart"
+ AegisName: "ValentineYellowHeart"
Name: "Yellow Valentine Heart"
Type: 5
Loc: 256
@@ -136277,7 +136762,7 @@ item_db: (
},
{
Id: 18874
- AegisName: "Cyclops_Glasses"
+ AegisName: "One_Eyed_Glass_"
Name: "Cyclops Glasses"
Type: 5
Slots: 1
@@ -136474,13 +136959,12 @@ item_db: (
EquipLv: 10
View: 1018
Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,8;
- bonus2 bAddRaceTolerance,RC_Player,8;
- bonus2 bAddRaceTolerance,RC_Dragon,8;
- bonus2 bAddItemHealRate,517,200;
- if(getrefine()>11) {
- bonus bMaxHPrate,7;
- bonus bMaxSPrate,3;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 8;
+ bonus2 bAddRaceTolerance, RC_Dragon, 8;
+ bonus2 bAddItemHealRate, 517, 200;
+ if(getrefine() > 11) {
+ bonus bMaxHPrate, 7;
+ bonus bMaxSPrate, 3;
}
">
},
@@ -136495,10 +136979,7 @@ item_db: (
EquipLv: 70
Refine: false
View: 1019
- Script: <"
- bonus2 bAddRaceTolerance,RC_DemiPlayer,5;
- bonus2 bAddRaceTolerance,RC_Player,5;
- ">
+ Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; ">
},
{
Id: 18895
@@ -136589,7 +137070,7 @@ item_db: (
},
{
Id: 18908
- AegisName: "Piamette's_Red_Ears"
+ AegisName: "Isabella_Red_Ear"
Name: "Piamette's Red Ears"
Type: 5
Weight: 300
@@ -136606,7 +137087,7 @@ item_db: (
},
{
Id: 18909
- AegisName: "Piamette's_Brown_Ears"
+ AegisName: "Isabella_Brown_Ear"
Name: "Piamette's Brown Ears"
Type: 5
Weight: 300
@@ -136622,7 +137103,7 @@ item_db: (
},
{
Id: 18910
- AegisName: "Piamette's_Blue_Ears"
+ AegisName: "Isabella_Blue_Ear"
Name: "Piamette's Blue Ears"
Type: 5
Weight: 300
@@ -136687,7 +137168,7 @@ item_db: (
},
{
Id: 18914
- AegisName: "Baby_Deviling"
+ AegisName: "Kid_Deviling"
Name: "Baby Deviling"
Type: 5
Weight: 100
@@ -136703,7 +137184,7 @@ item_db: (
},
{
Id: 18915
- AegisName: "Blood_Butterfly_Ears"
+ AegisName: "Blood_Buffterfly"
Name: "Blood Butterfly Ears"
Type: 5
Weight: 100
@@ -136749,7 +137230,7 @@ item_db: (
},
{
Id: 18918
- AegisName: "Cute_Octopus_Balloon"
+ AegisName: "Long_Octopus_Balloon"
Name: "Cute Octopus Balloon"
Type: 5
Weight: 200
@@ -136765,7 +137246,7 @@ item_db: (
},
{
Id: 18921
- AegisName: "C_Tarnished_Lamp"
+ AegisName: "C_Lamp_Of_Alladin"
Name: "Costume Tarnished Lamp"
Type: 5
Weight: 200
@@ -136793,7 +137274,7 @@ item_db: (
},
{
Id: 18934
- AegisName: "Fox_Ears_Drop_Ribbon"
+ AegisName: "Fox_Ears_Bell_Ribbon"
Name: "Fox Ears Drop Ribbon"
Type: 5
Weight: 400
@@ -136804,7 +137285,7 @@ item_db: (
},
{
Id: 18937
- AegisName: "Memories_of_Lover"
+ AegisName: "Memories_Of_Lovers"
Name: "Memories of Lover"
Type: 5
Weight: 100
@@ -136823,7 +137304,7 @@ item_db: (
},
{
Id: 18942
- AegisName: "Knit_Cap_of_Water"
+ AegisName: "Knit_Cap_Of_Water"
Name: "Knit Cap of Water"
Type: 5
Weight: 1000
@@ -136833,7 +137314,7 @@ item_db: (
},
{
Id: 18943
- AegisName: "Silk_Hat_of_Earth"
+ AegisName: "Silk_Hat_Of_Earth"
Name: "Silk Hat of Earth"
Type: 5
Weight: 1000
@@ -136843,7 +137324,7 @@ item_db: (
},
{
Id: 18944
- AegisName: "Deviruchi_Ballon"
+ AegisName: "Deviruchi_Balloon"
Name: "Deviruchi Ballon"
Type: 5
Buy: 20
@@ -136860,7 +137341,7 @@ item_db: (
},
{
Id: 18945
- AegisName: "Super_Cute_Doll_Hat"
+ AegisName: "Tare_Maid_Doll_Hat"
Name: "Super Cute Doll Hat"
Type: 5
Buy: 20
@@ -136881,7 +137362,7 @@ item_db: (
},
{
Id: 18946
- AegisName: "Very_Cute_Doll_Hat"
+ AegisName: "Tare_HSchool_Doll_Hat"
Name: "Very Cute Doll Hat"
Type: 5
Buy: 20
@@ -137005,7 +137486,7 @@ item_db: (
},
{
Id: 19022
- AegisName: "C_Floating_Stone_Of_Intelligence"
+ AegisName: "Floating_Stone_Of_Int"
Name: "Floating Stone Of Intelligence"
Type: 5
Loc: 2048
@@ -137076,7 +137557,7 @@ item_db: (
},
{
Id: 19026
- AegisName: "Egir_Helm_K"
+ AegisName: "Aegir_Helm"
Name: "Aegir Helm"
Type: 5
Buy: 200000
@@ -137182,7 +137663,7 @@ item_db: (
},
{
Id: 19043
- AegisName: "Goibne's_Helmet_"
+ AegisName: "Goibnes_Helmet_"
Name: "Goibne's Helm"
Type: 5
Buy: 30000
@@ -137203,7 +137684,7 @@ item_db: (
},
{
Id: 19044
- AegisName: "Morrigane's_Helm_"
+ AegisName: "Morriganes_Helm_"
Name: "Morrigane's Helm"
Type: 5
Buy: 30000
@@ -137411,7 +137892,7 @@ item_db: (
},
{
Id: 19085
- AegisName: "Sigrun's_Wing_"
+ AegisName: "Sigruns_Wing_"
Name: "Sigrun's Wings"
Type: 5
Buy: 20
@@ -137547,7 +138028,7 @@ item_db: (
},
{
Id: 19507
- AegisName: "Clear_Sun"
+ AegisName: "Fine_Sun"
Name: "Costume Shining Sun"
Type: 5
Buy: 20
@@ -138006,7 +138487,7 @@ item_db: (
},
{
Id: 19543
- AegisName: "C_Oliver_Wolf_Hood"
+ AegisName: "Oliver_Wolf_Hood"
Name: "Costume Oliver Wolf Hood"
Type: 5
Buy: 20
@@ -138029,7 +138510,7 @@ item_db: (
},
{
Id: 19545
- AegisName: "C_Boy's_Cap"
+ AegisName: "C_Boys_Cap"
Name: "Costume Boy's Cap"
Type: 5
Buy: 20
@@ -138193,7 +138674,7 @@ item_db: (
},
{
Id: 19559
- AegisName: "C_Baby Dragon Hat"
+ AegisName: "C_B_Dragon_Hat"
Name: "Costume Baby Dragon Hat"
Type: 5
Buy: 1000
@@ -138202,7 +138683,7 @@ item_db: (
},
{
Id: 19560
- AegisName: "C_Kwati_Hat"
+ AegisName: "C_Quati_Hat"
Name: "Costume Kwati Hat"
Type: 5
Buy: 1000
@@ -138247,7 +138728,7 @@ item_db: (
},
{
Id: 19565
- AegisName: "C_Dynasty_Decoration"
+ AegisName: "C_Chung_Hairband"
Name: "Costume Dynasty Decoration"
Type: 5
Buy: 1000
@@ -138274,7 +138755,7 @@ item_db: (
},
{
Id: 19568
- AegisName: "C_Ancient_Horn"
+ AegisName: "C_Horn_Of_The_Ancient"
Name: "Costume Ancient Horn"
Type: 5
Buy: 1000
@@ -138337,7 +138818,7 @@ item_db: (
},
{
Id: 19575
- AegisName: "C_Ascension_Black_Dragon"
+ AegisName: "C_Rising_Black_Dragon"
Name: "Costume Ascension Black Dragon"
Type: 5
Buy: 1000
@@ -138355,7 +138836,7 @@ item_db: (
},
{
Id: 19577
- AegisName: "C_10th_Poring_Hat"
+ AegisName: "10th_Anni_Poring_Hat"
Name: "Costume 10th Poring Hat"
Type: 5
Buy: 1000
@@ -138365,7 +138846,7 @@ item_db: (
},
{
Id: 19579
- AegisName: "C_Red_Wind_Hat"
+ AegisName: "C_Red_Wing_Hat"
Name: "Costume Red Wind Hat"
Type: 5
Buy: 1000
@@ -138384,7 +138865,7 @@ item_db: (
},
{
Id: 19581
- AegisName: "C_Adventurer's_Hat"
+ AegisName: "C_Adventurers_Hat"
Name: "Costume Adventurer's Hat"
Type: 5
Buy: 1000
@@ -138404,7 +138885,7 @@ item_db: (
},
{
Id: 19583
- AegisName: "C_Zorro_Mask"
+ AegisName: "C_Gangster_Patch"
Name: "Costume Zorro Mask"
Type: 5
Buy: 1000
@@ -138433,7 +138914,7 @@ item_db: (
},
{
Id: 19586
- AegisName: "C_Pink_Bunny_Hair_Band"
+ AegisName: "C_Pink_Bunny_Band_J"
Name: "Costume Pink Bunny Hair Band"
Type: 5
Buy: 100
@@ -138464,7 +138945,7 @@ item_db: (
},
{
Id: 19596
- AegisName: "C_Flapping_Angel_Wing"
+ AegisName: "C_Flying_Angel"
Name: "Costume Flapping Angel Wing"
Type: 5
Loc: 1024
@@ -138480,7 +138961,7 @@ item_db: (
},
{
Id: 19598
- AegisName: "C_Wandering_Wolf_Hat"
+ AegisName: "C_Wondering_Wolf_Helm"
Name: "Costume Wandering Wolf Hat"
Type: 5
Buy: 1000
@@ -138498,7 +138979,7 @@ item_db: (
},
{
Id: 19600
- AegisName: "C_Drooping_Kiehl"
+ AegisName: "Drooping_Kiehl"
Name: "Costume Drooping Kiehl"
Type: 5
Weight: 400
@@ -138509,7 +138990,7 @@ item_db: (
},
{
Id: 19601
- AegisName: "C_Drooping_Aliot"
+ AegisName: "Drooping_Aliot"
Name: "Costume Drooping Aliot"
Type: 5
Weight: 100
@@ -138558,7 +139039,7 @@ item_db: (
},
{
Id: 19607
- AegisName: "C_Chicken_Love_Hat"
+ AegisName: "C_Love_Chick_Hat"
Name: "Costume Chicken Love Hat"
Type: 5
Loc: 1024
@@ -138590,7 +139071,7 @@ item_db: (
},
{
Id: 19611
- AegisName: "C_Peco_Ears"
+ AegisName: "C_Pecopeco_Wing_Ears"
Name: "Costume Peco Ears"
Type: 5
Loc: 2048
@@ -138598,7 +139079,7 @@ item_db: (
},
{
Id: 19612
- AegisName: "C_Note_Headphone"
+ AegisName: "C_Headset_OST"
Name: "Costume Note Headphone"
Type: 5
Loc: 3072
@@ -138630,7 +139111,7 @@ item_db: (
},
{
Id: 19616
- AegisName: "C_Wickebine's_Black_Cat_Ears"
+ AegisName: "C_Wickebines_Black_Cat_Ears"
Name: "Costume Wickebine's Black Cat Ears"
Type: 5
Buy: 1000
@@ -138666,7 +139147,7 @@ item_db: (
},
{
Id: 19621
- AegisName: "C_Evil_Wing_Ears"
+ AegisName: "C_Ear_Of_Devils_Wing"
Name: "Costume Evil Wing Ears"
Type: 5
Loc: 2048
@@ -138690,7 +139171,7 @@ item_db: (
},
{
Id: 19624
- AegisName: "C_Blank_Eyes"
+ AegisName: "C_Round_Eyes"
Name: "Costume Blank Eyes"
Type: 5
Loc: 2048
@@ -138698,7 +139179,7 @@ item_db: (
},
{
Id: 19625
- AegisName: "C_Refined_Bunny_Band"
+ AegisName: "C_Bunny_Band"
Name: "Costume Refined Bunny Band"
Type: 5
Buy: 1000
@@ -138760,7 +139241,7 @@ item_db: (
},
{
Id: 19633
- AegisName: "C_Flower_Band"
+ AegisName: "C_Flower_Hairband"
Name: "Costume Flower Band"
Type: 5
Buy: 1000
@@ -138787,7 +139268,7 @@ item_db: (
},
{
Id: 19636
- AegisName: "C_Clown_Nose"
+ AegisName: "C_Pierrot_Nose"
Name: "Costume Clown Nose"
Type: 5
Buy: 1000
@@ -138813,7 +139294,7 @@ item_db: (
},
{
Id: 19639
- AegisName: "C_Sakkat"
+ AegisName: "C_Sahkkat"
Name: "Costume Sakkat"
Type: 5
Buy: 1000
@@ -138846,7 +139327,7 @@ item_db: (
},
{
Id: 19643
- AegisName: "C_Wickebine_Ears"
+ AegisName: "C_Whikebain_Ears"
Name: "Costume Wickebine Ears"
Type: 5
Loc: 1024
@@ -138862,7 +139343,7 @@ item_db: (
},
{
Id: 19645
- AegisName: "C_Phoenix Crown"
+ AegisName: "C_Chinese_Crown_"
Name: "Costume Phoenix Crown"
Type: 5
Loc: 3072
@@ -138878,7 +139359,7 @@ item_db: (
},
{
Id: 19647
- AegisName: "C_Red_Deviruchi_Hat"
+ AegisName: "C_Red_Deviruchi_Cap"
Name: "Costume Red Deviruchi Hat"
Type: 5
Loc: 1024
@@ -138886,7 +139367,7 @@ item_db: (
},
{
Id: 19648
- AegisName: "C_Autumn_Leaves"
+ AegisName: "C_Fallen_Leaves"
Name: "Costume Autumn Leaves"
Type: 5
Loc: 1024
@@ -138894,7 +139375,7 @@ item_db: (
},
{
Id: 19649
- AegisName: "C_White_Kitten_Ears"
+ AegisName: "C_White_Baby_Cat_Ears"
Name: "Costume White Kitten Ears"
Type: 5
Loc: 1024
@@ -138937,7 +139418,7 @@ item_db: (
},
{
Id: 19654
- AegisName: "C_Master's_Hat"
+ AegisName: "C_J_Captain_Hat"
Name: "Costume Master's Hat"
Type: 5
Loc: 1024
@@ -138979,7 +139460,7 @@ item_db: (
},
{
Id: 19659
- AegisName: "C_Brown Beanie"
+ AegisName: "C_Gray_Fur_Hat"
Name: "Costume Brown Beanie"
Type: 5
Loc: 1024
@@ -139011,7 +139492,7 @@ item_db: (
},
{
Id: 19663
- AegisName: "C_Wish_Lamp"
+ AegisName: "Wishing_Sky_Lantern"
Name: "Costume Wish Lamp"
Type: 5
Loc: 1024
@@ -139059,7 +139540,7 @@ item_db: (
},
{
Id: 19669
- AegisName: "C_Reginrev's_Wings"
+ AegisName: "C_Reginleif_Hairband_"
Name: "Costume Reginrev's Wings"
Type: 5
Loc: 2048
@@ -139099,7 +139580,7 @@ item_db: (
},
{
Id: 19674
- AegisName: "C_Demon_Mask"
+ AegisName: "C_Evil_Mask"
Name: "Costume Demon Mask"
Type: 5
Loc: 6144
@@ -139189,7 +139670,7 @@ item_db: (
},
{
Id: 19685
- AegisName: "C_Shine_Stanta_Poring"
+ AegisName: "C_ShineSantaPoring"
Name: "Costume Shine Stanta Poring"
Type: 5
Loc: 1024
@@ -139197,7 +139678,7 @@ item_db: (
},
{
Id: 19686
- AegisName: "C_Santa_Doll_Headband"
+ AegisName: "C_SantaHairband"
Name: "Costume Santa Doll Headband"
Type: 5
Buy: 1000
@@ -139206,7 +139687,7 @@ item_db: (
},
{
Id: 19687
- AegisName: "C_Fresh_Roses"
+ AegisName: "C_Lush_Rose"
Name: "Costume Fresh Roses"
Type: 5
Buy: 1000
@@ -139215,7 +139696,7 @@ item_db: (
},
{
Id: 19688
- AegisName: "C_Katusa"
+ AegisName: "C_RJC_Katusa"
Name: "Costume Katusa"
Type: 5
Loc: 1024
@@ -139223,7 +139704,7 @@ item_db: (
},
{
Id: 19689
- AegisName: "C_Ati_Atihan"
+ AegisName: "C_Ati_Atihan_Hat"
Name: "Costume Ati Atihan"
Type: 5
Loc: 7168
@@ -139319,7 +139800,7 @@ item_db: (
},
{
Id: 19701
- AegisName: "Costumes_Red_Bonnet"
+ AegisName: "C_Red_Bonnet"
Name: "Costumes Red Bonnet"
Type: 5
Buy: 1000
@@ -139328,7 +139809,7 @@ item_db: (
},
{
Id: 19702
- AegisName: "C_Twin_Pompom_By_JB"
+ AegisName: "C_Santa_Hat_1"
Name: "Costume Twin Pompom By JB"
Type: 5
Buy: 1000
@@ -139373,7 +139854,7 @@ item_db: (
},
{
Id: 19710
- AegisName: "C_Wings_of_Victory"
+ AegisName: "C_Wings_Of_Victory"
Name: "Costume Wings of Victory"
Type: 5
Loc: 1024
@@ -139421,7 +139902,7 @@ item_db: (
},
{
Id: 19717
- AegisName: "C_Pink_Ribbon"
+ AegisName: "C_Ribbon_Pink"
Name: "Costume Pink Ribbon"
Type: 5
Loc: 1024
@@ -139477,7 +139958,7 @@ item_db: (
},
{
Id: 19724
- AegisName: "C_Deprotai_Doll"
+ AegisName: "C_Deprotai_Doll_Hat"
Name: "Costume Deprotai Doll"
Type: 5
Loc: 1024
@@ -139536,7 +140017,7 @@ item_db: (
},
{
Id: 19731
- AegisName: "C_Evolved_Evil_Wing"
+ AegisName: "C_Satanic_Chain"
Name: "Costume Evolved Evil Wing"
Type: 5
Buy: 1000
@@ -139545,7 +140026,7 @@ item_db: (
},
{
Id: 19732
- AegisName: "C_Goblin_Leader_Mask"
+ AegisName: "C_Goblin_Mask_04"
Name: "Costume Goblin Leader Mask"
Type: 5
Buy: 1000
@@ -139599,7 +140080,7 @@ item_db: (
},
{
Id: 19738
- AegisName: "C_Renown_Detective's_Cap"
+ AegisName: "C_Detective_Hat_K"
Name: "Costume Renown Detective's Cap"
Type: 5
Buy: 1000
@@ -139608,7 +140089,7 @@ item_db: (
},
{
Id: 19739
- AegisName: "C_Sleeping_Cat_Hat"
+ AegisName: "C_Sleeping_Kitty_Cat"
Name: "Costume Sleeping Cat Hat"
Type: 5
Buy: 1000
@@ -139650,7 +140131,7 @@ item_db: (
},
{
Id: 19745
- AegisName: "C_Holy Marching_Hat_J"
+ AegisName: "C_Holy_Marching_Hat_J"
Name: "Costume Holy Marching Hat J"
Type: 5
Loc: 1024
@@ -139658,7 +140139,7 @@ item_db: (
},
{
Id: 19746
- AegisName: "C_Executioner_Hood"
+ AegisName: "C_Cap_Of_Blindness"
Name: "Costume Executioner Hood"
Type: 5
Loc: 7168
@@ -139910,7 +140391,7 @@ item_db: (
},
{
Id: 19775
- AegisName: "C_Afro_Wig"
+ AegisName: "C_Marvelous_Wig"
Name: "Costume Afro Wig"
Type: 5
Loc: 1024
@@ -139934,7 +140415,7 @@ item_db: (
},
{
Id: 19778
- AegisName: "C_King_Strawberry"
+ AegisName: "C_King_Berry"
Name: "Costume King Strawberry"
Type: 5
Loc: 1024
@@ -139942,7 +140423,7 @@ item_db: (
},
{
Id: 19779
- AegisName: "C_Persica"
+ AegisName: "C_Persika"
Name: "Costume Persica"
Type: 5
Loc: 1024
@@ -139950,7 +140431,7 @@ item_db: (
},
{
Id: 19780
- AegisName: "C_Knit_Rabbit_Ears"
+ AegisName: "C_Rabbit_Ear_Knit_Hat"
Name: "Costume Knit Rabbit Ears"
Type: 5
Loc: 1024
@@ -139958,7 +140439,7 @@ item_db: (
},
{
Id: 19781
- AegisName: "C_Angel_Wing_Ears"
+ AegisName: "C_Ear_Of_Angels_Wing_"
Name: "Costume Angel Wing Ears"
Type: 5
Loc: 2048
@@ -139966,7 +140447,7 @@ item_db: (
},
{
Id: 19782
- AegisName: "C_Drooping_Cat"
+ AegisName: "C_Drooping_Kitty"
Name: "Costume Drooping Cat"
Type: 5
Loc: 1024
@@ -139974,7 +140455,7 @@ item_db: (
},
{
Id: 19783
- AegisName: "C_Grampa_Beard"
+ AegisName: "C_Granpa_Beard"
Name: "Costume Grampa Beard"
Type: 5
Loc: 4096
@@ -139982,7 +140463,7 @@ item_db: (
},
{
Id: 19784
- AegisName: "C_Morrigane's_Helm"
+ AegisName: "C_Morriganes_Helm"
Name: "Costume Morrigane's Helm"
Type: 5
Loc: 1024
@@ -139990,7 +140471,7 @@ item_db: (
},
{
Id: 19785
- AegisName: "C_Crunch_Toast"
+ AegisName: "C_Well_Baked_Toast"
Name: "Costume Crunch Toast"
Type: 5
Loc: 4096
@@ -139998,7 +140479,7 @@ item_db: (
},
{
Id: 19786
- AegisName: "C_Crown_of_Mistress"
+ AegisName: "C_Mistress_Crown"
Name: "Costume Crown of Mistress"
Type: 5
Loc: 1024
@@ -140032,7 +140513,7 @@ item_db: (
},
{
Id: 19790
- AegisName: "C_Veil"
+ AegisName: "C_Wedding_Veil"
Name: "Costume Veil"
Type: 5
Loc: 1024
@@ -140048,7 +140529,7 @@ item_db: (
},
{
Id: 19792
- AegisName: "C_Poker_Mask"
+ AegisName: "C_Goblin_Mask_01"
Name: "Costume Poker Mask"
Type: 5
Loc: 6144
@@ -140056,7 +140537,7 @@ item_db: (
},
{
Id: 19793
- AegisName: "C_Surprised_Mask"
+ AegisName: "C_Goblin_Mask_02"
Name: "Costume Surprised Mask"
Type: 5
Loc: 6144
@@ -140064,7 +140545,7 @@ item_db: (
},
{
Id: 19794
- AegisName: "C_Annoyed_Mask"
+ AegisName: "C_Goblin_Mask_03"
Name: "Costume Annoyed Mask"
Type: 5
Loc: 6144
@@ -140072,7 +140553,7 @@ item_db: (
},
{
Id: 19795
- AegisName: "C_Grand_Circlet"
+ AegisName: "C_Lord_Circlet"
Name: "Costume Grand Circlet"
Type: 5
Loc: 1024
@@ -140088,7 +140569,7 @@ item_db: (
},
{
Id: 19797
- AegisName: "C_Apple_of_Archer"
+ AegisName: "C_Apple_Of_Archer"
Name: "Costume Apple of Archer"
Type: 5
Loc: 1024
@@ -140096,7 +140577,7 @@ item_db: (
},
{
Id: 19798
- AegisName: "C_Angry_Snarl"
+ AegisName: "C_Angry_Mouth"
Name: "Costume Angry Snarl"
Type: 5
Loc: 4096
@@ -140112,7 +140593,7 @@ item_db: (
},
{
Id: 19800
- AegisName: "C_Carnation_Headband"
+ AegisName: "C_Carnation_Hairband"
Name: "Costume Carnation Headband"
Type: 5
Loc: 1024
@@ -140120,7 +140601,7 @@ item_db: (
},
{
Id: 19801
- AegisName: "C_Fox_Hat"
+ AegisName: "C_Fox_Hat_J"
Name: "Costume Fox Hat"
Type: 5
Loc: 6144
@@ -140192,7 +140673,7 @@ item_db: (
},
{
Id: 19810
- AegisName: "C_Ifrit's_Ear"
+ AegisName: "C_Ifrits_Ear"
Name: "Costume Ifrit's Ear"
Type: 5
Loc: 2048
@@ -140248,7 +140729,7 @@ item_db: (
},
{
Id: 19817
- AegisName: "C_Ifrit's_Breath"
+ AegisName: "C_Ifrits_Breath"
Name: "Costume Ifrit's Breath"
Type: 5
Loc: 4096
@@ -140256,7 +140737,7 @@ item_db: (
},
{
Id: 19818
- AegisName: "C_Drooping_Morocc_Minion"
+ AegisName: "C_Droop_Morocc_Minion"
Name: "Costume Drooping Morocc Minion"
Type: 5
Loc: 1024
@@ -140264,7 +140745,7 @@ item_db: (
},
{
Id: 19820
- AegisName: "C_Necromencer_Hood"
+ AegisName: "C_Bone_Hat"
Name: "Costume Necromencer Hood"
Type: 5
Loc: 3072
@@ -140312,7 +140793,7 @@ item_db: (
},
{
Id: 19826
- AegisName: "C_Ice_Wings_Ears"
+ AegisName: "C_Ice_Wing_Ear"
Name: "Costume Ice Wings Ears"
Type: 5
Loc: 2048
@@ -140370,7 +140851,7 @@ item_db: (
},
{
Id: 19833
- AegisName: "C_Cute_Ribbon"
+ AegisName: "C_Fillet"
Name: "Costume Cute Ribbon"
Type: 5
Loc: 1024
@@ -140394,7 +140875,7 @@ item_db: (
},
{
Id: 19836
- AegisName: "C_Large_Majestic_Horns"
+ AegisName: "C_L_Magestic_Goat"
Name: "Costume Large Majestic Horns"
Type: 5
Loc: 1024
@@ -140410,7 +140891,7 @@ item_db: (
},
{
Id: 19838
- AegisName: "C_Fox_Hatt"
+ AegisName: "C_Fox_Hat"
Name: "Costume Fox Hatt"
Type: 5
Loc: 6144
@@ -140442,7 +140923,7 @@ item_db: (
},
{
Id: 19843
- AegisName: "C_Kitty_Band"
+ AegisName: "C_Cat_Hairband"
Name: "Costume Kitty Band"
Type: 5
Loc: 1024
@@ -140458,7 +140939,7 @@ item_db: (
},
{
Id: 19845
- AegisName: "C_Bao_Bao"
+ AegisName: "C_Hair_Protector"
Name: "Costume Bao Bao"
Type: 5
Loc: 1024
@@ -140466,7 +140947,7 @@ item_db: (
},
{
Id: 19846
- AegisName: "C_Opera_Phantom_Mask"
+ AegisName: "C_Opera_Ghost_Mask"
Name: "Costume Opera Phantom Mask"
Type: 5
Loc: 2048
@@ -140474,7 +140955,7 @@ item_db: (
},
{
Id: 19847
- AegisName: "C_Big_Ribbon"
+ AegisName: "C_Big_Sis_Ribbon"
Name: "Costume Big Ribbon"
Type: 5
Loc: 1024
@@ -140490,7 +140971,7 @@ item_db: (
},
{
Id: 19849
- AegisName: "C_Munak_Hat"
+ AegisName: "C_Munak_Turban"
Name: "Costume Munak Hat"
Type: 5
Loc: 7168
@@ -140506,7 +140987,7 @@ item_db: (
},
{
Id: 19851
- AegisName: "C_Teddybear_Hat"
+ AegisName: "C_Brown_Bear_Cap"
Name: "Costume Teddybear Hat"
Type: 5
Loc: 1024
@@ -140514,7 +140995,7 @@ item_db: (
},
{
Id: 19853
- AegisName: "C_Filir_Wings"
+ AegisName: "C_Filir_Wing"
Name: "Costume Filir Wings"
Type: 5
Loc: 1024
@@ -140540,7 +141021,7 @@ item_db: (
},
{
Id: 19856
- AegisName: "C_Snow_Cone_Hat"
+ AegisName: "C_Iceflake_Hat"
Name: "Costume Snow Cone Hat"
Type: 5
Loc: 1024
@@ -140548,7 +141029,7 @@ item_db: (
},
{
Id: 19857
- AegisName: "C_Crayfish_Hat"
+ AegisName: "C_King_Prawn_Hat"
Name: "Costume Crayfish Hat"
Type: 5
Loc: 1024
@@ -140556,7 +141037,7 @@ item_db: (
},
{
Id: 19858
- AegisName: "C_Smokie_Leaf"
+ AegisName: "C_Leaf_Headgear"
Name: "Costume Smokie Leaf"
Type: 5
Loc: 1024
@@ -140564,7 +141045,7 @@ item_db: (
},
{
Id: 19859
- AegisName: "C_Flying_Angel"
+ AegisName: "C_Flying_Angel_" // FIXME: Unknown
Name: "Costume Flying Angel"
Type: 5
Loc: 1024
@@ -140572,7 +141053,7 @@ item_db: (
},
{
Id: 19860
- AegisName: "C_School_Criatura_Hat"
+ AegisName: "C_Cryptura_Hair_Cap"
Name: "Costume School Criatura Hat"
Type: 5
Loc: 1024
@@ -140580,7 +141061,7 @@ item_db: (
},
{
Id: 19861
- AegisName: "C_Heart_Hairpin"
+ AegisName: "C_Heart_Hair_Pin"
Name: "Costume Heart Hairpin"
Type: 5
Loc: 1024
@@ -140588,7 +141069,7 @@ item_db: (
},
{
Id: 19862
- AegisName: "C_Succubus_Horn"
+ AegisName: "C_Horn_Of_Succubus"
Name: "Costume Succubus Horn"
Type: 5
Loc: 1024
@@ -140596,7 +141077,7 @@ item_db: (
},
{
Id: 19863
- AegisName: "C_Incubus_Horn"
+ AegisName: "C_Inccubus_Horn"
Name: "Costume Incubus Horn"
Type: 5
Loc: 1024
@@ -140604,7 +141085,7 @@ item_db: (
},
{
Id: 19864
- AegisName: "C_Dokebi's_Wig"
+ AegisName: "C_Dokebis_Wig"
Name: "Costume Dokebi's Wig"
Type: 5
Loc: 1024
@@ -140620,7 +141101,7 @@ item_db: (
},
{
Id: 19866
- AegisName: "C_Blue_Pajamas"
+ AegisName: "C_Blue_Pajamas_Hat"
Name: "Costume Blue Pajamas"
Type: 5
Loc: 1024
@@ -140628,7 +141109,7 @@ item_db: (
},
{
Id: 19867
- AegisName: "C_Red_Pajamas"
+ AegisName: "C_Pink_Pajamas_Hat"
Name: "Costume Red Pajamas"
Type: 5
Loc: 1024
@@ -140644,7 +141125,7 @@ item_db: (
},
{
Id: 19869
- AegisName: "C_Antiquity_Helmet"
+ AegisName: "C_Ancient_Civil_Man"
Name: "Costume Antiquity Helmet"
Type: 5
Loc: 1024
@@ -140760,7 +141241,7 @@ item_db: (
},
{
Id: 19884
- AegisName: "C_Vanargand_Helm"
+ AegisName: "C_Vanargandr_Helm"
Name: "Costume Vanargand Helm"
Type: 5
Loc: 1024
@@ -140776,7 +141257,7 @@ item_db: (
},
{
Id: 19886
- AegisName: "C_Purple_Glasses"
+ AegisName: "C_Luxury_Sunglasses"
Name: "Costume Purple Glasses"
Type: 5
Loc: 2048
@@ -140784,7 +141265,7 @@ item_db: (
},
{
Id: 19887
- AegisName: "C_Cyclops_Glasses"
+ AegisName: "C_One_Eyed_Glass"
Name: "Costume Cyclops Glasses"
Type: 5
Loc: 2048
@@ -140800,7 +141281,7 @@ item_db: (
},
{
Id: 19889
- AegisName: "C_Small_Ribbon"
+ AegisName: "C_Pair_Of_Red_Ribbon"
Name: "Costume Small Ribbon"
Type: 5
Loc: 2048
@@ -140848,7 +141329,7 @@ item_db: (
},
{
Id: 19895
- AegisName: "C_Magician's_Night_Cap"
+ AegisName: "C_Magicians_Night_Cap"
Name: "Costume Magician's Night Cap"
Type: 5
Loc: 1024
@@ -140918,7 +141399,7 @@ item_db: (
},
{
Id: 19902
- AegisName: "C_Cigarette"
+ AegisName: "C_Cigar"
Name: "Costume Cigarette"
Type: 5
Loc: 4096
@@ -140926,7 +141407,7 @@ item_db: (
},
{
Id: 19903
- AegisName: "C_Witch's_Pumpkin_Hat"
+ AegisName: "C_Witchs_Hat"
Name: "Costume Witch's Pumpkin Hat"
Type: 5
Loc: 1024
@@ -141015,7 +141496,7 @@ item_db: (
},
{
Id: 19914
- AegisName: "C_Tarlock's_Hat"
+ AegisName: "Felock_Cap"
Name: "Costume Tarlock's Hat"
Type: 5
Loc: 1024
@@ -141031,7 +141512,7 @@ item_db: (
},
{
Id: 19917
- AegisName: "C_Dark_Pumpkin_Hat"
+ AegisName: "C_Gloomy_Pumpkin_Hat"
Name: "Costume Dark Pumpkin Hat"
Type: 5
Loc: 1024
@@ -141049,7 +141530,7 @@ item_db: (
},
{
Id: 19919
- AegisName: "C_Quve_Mask"
+ AegisName: "C_Cube_Mask_"
Name: "Costume Quve Mask"
Type: 5
Loc: 6144
@@ -141058,7 +141539,7 @@ item_db: (
},
{
Id: 19920
- AegisName: "C_Evolved_Whisper_Mask"
+ AegisName: "C_Adv_Whisper_Mask"
Name: "Costume Evolved Whisper Mask"
Type: 5
Loc: 7168
@@ -141067,7 +141548,7 @@ item_db: (
},
{
Id: 19922
- AegisName: "C_Noah's_Hat"
+ AegisName: "C_Noah_Hat"
Name: "Costume Noah's Hat"
Type: 5
Loc: 1024
@@ -141075,7 +141556,7 @@ item_db: (
},
{
Id: 19925
- AegisName: "C_Monocle"
+ AegisName: "C_One_Eyed_Glasses"
Name: "Costume Monocle"
Type: 5
Loc: 2048
@@ -141107,7 +141588,7 @@ item_db: (
},
{
Id: 19931
- AegisName: "C_Lazy_Smokie"
+ AegisName: "C_Lazy_Raccoon"
Name: "Costume Lazy Smokie"
Type: 5
Loc: 1024
@@ -141115,7 +141596,7 @@ item_db: (
},
{
Id: 19932
- AegisName: "C_Model_Training_Hat"
+ AegisName: "C_Cap_Of_Concentration"
Name: "Costume Model Training Hat"
Type: 5
Loc: 1024
@@ -141123,7 +141604,7 @@ item_db: (
},
{
Id: 19934
- AegisName: "C_Flaming_Ten_Gallon_Hat"
+ AegisName: "C_10Gallon_Hat_Of_Flame"
Name: "Costume Flaming Ten Gallon Hat"
Type: 5
Loc: 1024
@@ -141155,7 +141636,7 @@ item_db: (
},
{
Id: 19939
- AegisName: "C_Antlers"
+ AegisName: "C_Antler"
Name: "Costume Antlers"
Type: 5
Loc: 1024
@@ -141163,7 +141644,7 @@ item_db: (
},
{
Id: 19941
- AegisName: "C_Ear_Muffs"
+ AegisName: "C_Ear_Mufs"
Name: "Costume Ear Muffs"
Type: 5
Loc: 1024
@@ -141179,7 +141660,7 @@ item_db: (
},
{
Id: 19952
- AegisName: "C_Bubble_Gum_in_Mouth"
+ AegisName: "C_Bubble_Gum_In_Mouth"
Name: "Costume Bubble Gum in Mouth"
Type: 5
Loc: 4096
@@ -141203,7 +141684,7 @@ item_db: (
},
{
Id: 19955
- AegisName: "C_Mini_Tree"
+ AegisName: "C_Mini_Tree_J"
Name: "Costume Mini Tree"
Type: 5
Loc: 1024
@@ -141219,7 +141700,7 @@ item_db: (
},
{
Id: 19957
- AegisName: "C_Scooter_Hat"
+ AegisName: "C_Scooter_Hat_J"
Name: "Costume Scooter Hat"
Type: 5
Loc: 1024
@@ -141267,7 +141748,7 @@ item_db: (
},
{
Id: 19963
- AegisName: "C_Driver_Band_Red"
+ AegisName: "C_Driver_Band_R"
Name: "Costume Driver Band Red"
Type: 5
Loc: 1024
@@ -141275,7 +141756,7 @@ item_db: (
},
{
Id: 19964
- AegisName: "C_Driver_Band_Yellow"
+ AegisName: "C_Driver_Band_Y"
Name: "Costume Driver Band Yellow"
Type: 5
Loc: 1024
@@ -141291,7 +141772,7 @@ item_db: (
},
{
Id: 19966
- AegisName: "C_Minstrel_Song's_Hat"
+ AegisName: "C_Minstrel_Song_Hat"
Name: "Costume Minstrel Song's Hat"
Type: 5
Loc: 1024
@@ -141347,7 +141828,7 @@ item_db: (
},
{
Id: 19973
- AegisName: "C_Circlet_Of_Bones"
+ AegisName: "C_Circlet_Of_Bone"
Name: "Costume Circlet Of Bones"
Type: 5
Loc: 1024
@@ -141355,7 +141836,7 @@ item_db: (
},
{
Id: 19974
- AegisName: "C_Camouflage_Rabbit_Hood"
+ AegisName: "C_Camouflage_RabbitHood"
Name: "Costume Camouflage Rabbit Hood"
Type: 5
Loc: 1024
@@ -141371,7 +141852,7 @@ item_db: (
},
{
Id: 19977
- AegisName: "C_Golden_Exclamation_Mark"
+ AegisName: "C_Golden_Exclamation"
Name: "Costume Golden Exclamation Mark"
Type: 5
Loc: 1024
@@ -141379,7 +141860,7 @@ item_db: (
},
{
Id: 19978
- AegisName: "C_Silver_Exclamation_Mark"
+ AegisName: "C_Silver_Exclamation"
Name: "Costume Silver Exclamation Mark"
Type: 5
Loc: 1024
@@ -141387,7 +141868,7 @@ item_db: (
},
{
Id: 19979
- AegisName: "C_Golden_Question_Mark"
+ AegisName: "C_Golden_Question"
Name: "Costume Golden Question Mark"
Type: 5
Loc: 1024
@@ -141395,7 +141876,7 @@ item_db: (
},
{
Id: 19980
- AegisName: "C_Silver_Question_Mark"
+ AegisName: "C_Silver_Question"
Name: "Costume Silver Question Mark"
Type: 5
Loc: 1024
@@ -141403,7 +141884,7 @@ item_db: (
},
{
Id: 19982
- AegisName: "C_Santa_Hat"
+ AegisName: "C_Santas_Hat"
Name: "Costume Santa Hat"
Type: 5
Loc: 1024
@@ -141427,7 +141908,7 @@ item_db: (
},
{
Id: 19985
- AegisName: "C_Aura_Quartz"
+ AegisName: "C_Aura_Quartz_Crown"
Name: "Costume Aura Quartz"
Type: 5
Loc: 1024
@@ -141467,7 +141948,7 @@ item_db: (
},
{
Id: 19990
- AegisName: "C_Rabbit_Knit_Hat"
+ AegisName: "C_Snow_Rabbit_Knit_Hat"
Name: "Costume Rabbit Knit Hat"
Type: 5
Loc: 1024
@@ -141499,7 +141980,7 @@ item_db: (
},
{
Id: 19996
- AegisName: "C_Horse_King"
+ AegisName: "Horse_King"
Name: "Costume Horse King"
Type: 5
Loc: 7168
@@ -141531,7 +142012,7 @@ item_db: (
},
{
Id: 19999
- AegisName: "C_Mouse_Hat1"
+ AegisName: "Mouse_Hat1"
Name: "Costume Mouse Hat1"
Type: 5
Loc: 1024
@@ -141547,7 +142028,7 @@ item_db: (
},
{
Id: 20000
- AegisName: "C_Mouse_Hat2"
+ AegisName: "Mouse_Hat2"
Name: "Costume Mouse Hat2"
Type: 5
Loc: 1024
@@ -141563,7 +142044,7 @@ item_db: (
},
{
Id: 20001
- AegisName: "C_Mouse_Hat3"
+ AegisName: "Mouse_Hat3"
Name: "Costume Mouse Hat3"
Type: 5
Loc: 1024
@@ -141579,7 +142060,7 @@ item_db: (
},
{
Id: 20002
- AegisName: "C_Mouse_Hat4"
+ AegisName: "Mouse_Hat4"
Name: "Costume Mouse Hat4"
Type: 5
Loc: 1024
@@ -141595,7 +142076,7 @@ item_db: (
},
{
Id: 20003
- AegisName: "C_Mouse_Hat5"
+ AegisName: "Mouse_Hat5"
Name: "Costume Mouse Hat5"
Type: 5
Loc: 1024
@@ -141659,7 +142140,7 @@ item_db: (
},
{
Id: 20010
- AegisName: "C_Rainbow_Ears_Feather"
+ AegisName: "C_Rainbow_Wing_Ears"
Name: "Costume Rainbow Ears Feather"
Type: 5
Loc: 2048
@@ -141691,7 +142172,7 @@ item_db: (
},
{
Id: 20014
- AegisName: "C_Lincoln_Hat"
+ AegisName: "Lincoln_Hat"
Name: "Costume Lincoln Hat"
Type: 5
Loc: 1024
@@ -141699,7 +142180,7 @@ item_db: (
},
{
Id: 20015
- AegisName: "C_Lincoln_Beard"
+ AegisName: "Lincoln_Beard"
Name: "Costume Lincoln Beard"
Type: 5
Loc: 4096
@@ -141707,7 +142188,7 @@ item_db: (
},
{
Id: 20016
- AegisName: "C_Cool_Dinner_Hat"
+ AegisName: "Lobster_Hat"
Name: "Costume Cool Dinner Hat"
Type: 5
Loc: 1024
@@ -141723,7 +142204,7 @@ item_db: (
},
{
Id: 20019
- AegisName: "C_Artisant_Beret"
+ AegisName: "Beret_Of_Artist"
Name: "Costume Artisant Beret"
Type: 5
Loc: 1024
@@ -141771,7 +142252,7 @@ item_db: (
},
{
Id: 20025
- AegisName: "C_Cow_Hat1"
+ AegisName: "Cow_Hat1"
Name: "Costume Cow Hat1"
Type: 5
Loc: 1024
@@ -141787,7 +142268,7 @@ item_db: (
},
{
Id: 20026
- AegisName: "C_Cow_Hat2"
+ AegisName: "Cow_Hat2"
Name: "Costume Cow Hat2"
Type: 5
Loc: 1024
@@ -141803,7 +142284,7 @@ item_db: (
},
{
Id: 20027
- AegisName: "C_Cow_Hat3"
+ AegisName: "Cow_Hat3"
Name: "Costume Cow Hat3"
Type: 5
Loc: 1024
@@ -141819,7 +142300,7 @@ item_db: (
},
{
Id: 20028
- AegisName: "C_Cow_Hat4"
+ AegisName: "Cow_Hat4"
Name: "Costume Cow Hat4"
Type: 5
Loc: 1024
@@ -141851,7 +142332,7 @@ item_db: (
},
{
Id: 20031
- AegisName: "C_Bunny_Headress"
+ AegisName: "C_Bunny_Head_Dress"
Name: "Costume Bunny Headress"
Type: 5
Loc: 1024
@@ -141867,7 +142348,7 @@ item_db: (
},
{
Id: 20033
- AegisName: "C_Monk_Crown"
+ AegisName: "C_Buddhist_Priest_Crown"
Name: "Costume Monk Crown"
Type: 5
Loc: 1024
@@ -141891,7 +142372,7 @@ item_db: (
},
{
Id: 20036
- AegisName: "C_Crown_of_Victory"
+ AegisName: "C_Sword_Master_Crown"
Name: "Costume Crown of Victory"
Type: 5
Loc: 1024
@@ -141923,7 +142404,7 @@ item_db: (
},
{
Id: 20040
- AegisName: "C_Chung_Hairpin"
+ AegisName: "C_Chung_Hairband_"
Name: "Costume Chung Hairpin"
Type: 5
Loc: 1024
@@ -141955,7 +142436,7 @@ item_db: (
},
{
Id: 20044
- AegisName: "C_Carmen_Miranda's_Hat"
+ AegisName: "C_Carmen_Mirandas_Hat"
Name: "Costume Carmen Miranda's Hat"
Type: 5
Loc: 1024
@@ -141979,7 +142460,7 @@ item_db: (
},
{
Id: 20047
- AegisName: "C_Prayer_Cherry_Blossom"
+ AegisName: "C_Pray_Cherry_Blossom"
Name: "Costume Prayer Cherry Blossom"
Type: 5
Loc: 1024
@@ -141987,7 +142468,7 @@ item_db: (
},
{
Id: 20048
- AegisName: "C_Wind_Prairie"
+ AegisName: "C_Wind_Of_The_Prairie"
Name: "Costume Wind Prairie"
Type: 5
Loc: 1024
@@ -141995,7 +142476,7 @@ item_db: (
},
{
Id: 20049
- AegisName: "C_Giant_Aid_Band"
+ AegisName: "C_Plaster"
Name: "Costume Giant Aid Band"
Type: 5
Loc: 1024
@@ -142003,7 +142484,7 @@ item_db: (
},
{
Id: 20050
- AegisName: "C_Ph.D_Hat"
+ AegisName: "C_Ph_D_Hat"
Name: "Costume Ph.D Hat"
Type: 5
Loc: 1024
@@ -142043,7 +142524,7 @@ item_db: (
},
{
Id: 20054
- AegisName: "C_Pacifier"
+ AegisName: "C_Baby_Pacifier"
Name: "Costume Pacifier"
Type: 5
Loc: 4096
@@ -142059,7 +142540,7 @@ item_db: (
},
{
Id: 20056
- AegisName: "C_Bride's_Corolla"
+ AegisName: "C_Bride_Corolla"
Name: "Costume Bride's Corolla"
Type: 5
Loc: 1024
@@ -142150,7 +142631,7 @@ item_db: (
},
{
Id: 20065
- AegisName: "C_Grand_Peco_Hairband"
+ AegisName: "C_Hairband_Of_Grandpeco"
Name: "Costume Grand Peco Hairband"
Type: 5
Loc: 1024
@@ -142238,7 +142719,7 @@ item_db: (
},
{
Id: 20075
- AegisName: "C_Little_Feather_Hat"
+ AegisName: "C_Little_Fhat"
Name: "Costume Little Feather Hat"
Type: 5
Loc: 1024
@@ -142246,7 +142727,7 @@ item_db: (
},
{
Id: 20076
- AegisName: "C_Idun_Feather_Ears"
+ AegisName: "C_Idun_Wing_Ears"
Name: "Costume Idun Feather Ears"
Type: 5
Loc: 1024
@@ -142254,7 +142735,7 @@ item_db: (
},
{
Id: 20077
- AegisName: "C_Wing_Frame_Sunglasses"
+ AegisName: "C_Wing_Form_Spectacle"
Name: "Costume Wing Frame Sunglasses"
Type: 5
Loc: 2048
@@ -142270,7 +142751,7 @@ item_db: (
},
{
Id: 20079
- AegisName: "C_Forgotten_Angel_Wing"
+ AegisName: "C_Love_Daddy_2013"
Name: "Costume Forgotten Angel Wing"
Type: 5
Loc: 1024
@@ -142278,7 +142759,7 @@ item_db: (
},
{
Id: 20080
- AegisName: "C_Shaman_Hair_Ornament"
+ AegisName: "C_Shamans_Hair_Orna"
Name: "Costume Shaman Hair Ornament"
Type: 5
Loc: 1024
@@ -142310,7 +142791,7 @@ item_db: (
},
{
Id: 20084
- AegisName: "C_Ceremonial_Hat"
+ AegisName: "C_Clover_Coronet"
Name: "Costume Ceremonial Hat"
Type: 5
Loc: 1024
@@ -142318,7 +142799,7 @@ item_db: (
},
{
Id: 20085
- AegisName: "C_St_Patrick's_Hat"
+ AegisName: "C_Clover_Silkhat"
Name: "Costume St Patrick's Hat"
Type: 5
Loc: 1024
@@ -142406,7 +142887,7 @@ item_db: (
},
{
Id: 20092
- AegisName: "C_Sale_Banner"
+ AegisName: "C_Sales_Signboard"
Name: "Costume Sale Banner"
Type: 5
Loc: 1024
@@ -142414,7 +142895,7 @@ item_db: (
},
{
Id: 20093
- AegisName: "C_Wizard_Hat"
+ AegisName: "C_Star_Sparkling"
Name: "Costume Wizard Hat"
Type: 5
Loc: 1024
@@ -142422,7 +142903,7 @@ item_db: (
},
{
Id: 20094
- AegisName: "C_Green_Ribbon"
+ AegisName: "C_Fillet_Green"
Name: "Costume Green Ribbon"
Type: 5
Loc: 1024
@@ -142430,7 +142911,7 @@ item_db: (
},
{
Id: 20095
- AegisName: "C_Red_Ribbon"
+ AegisName: "C_Fillet_Red"
Name: "Costume Red Ribbon"
Type: 5
Loc: 1024
@@ -142438,7 +142919,7 @@ item_db: (
},
{
Id: 20096
- AegisName: "C_Blue_Ribbonn"
+ AegisName: "C_Fillet_Blue"
Name: "Costume Blue Ribbonn"
Type: 5
Loc: 1024
@@ -142446,7 +142927,7 @@ item_db: (
},
{
Id: 20097
- AegisName: "C_White_Ribbon"
+ AegisName: "C_Fillet_White"
Name: "Costume White Ribbon"
Type: 5
Loc: 1024
@@ -142600,7 +143081,7 @@ item_db: (
},
{
Id: 20114
- AegisName: "C_Funeral_Hat"
+ AegisName: "C_Funeral_Costume"
Name: "Costume Funeral Hat"
Type: 5
Loc: 1024
@@ -142616,7 +143097,7 @@ item_db: (
},
{
Id: 20116
- AegisName: "C_Mermaid_Headphones"
+ AegisName: "C_Mermaid_Headphone"
Name: "Costume Mermaid Headphones"
Type: 5
Loc: 2048
@@ -142632,7 +143113,7 @@ item_db: (
},
{
Id: 20118
- AegisName: "C_Cake_Hat"
+ AegisName: "C_Hat_Of_Cake"
Name: "Costume Cake Hat"
Type: 5
Loc: 1024
@@ -142640,7 +143121,7 @@ item_db: (
},
{
Id: 20119
- AegisName: "C_Beanie"
+ AegisName: "C_Fur_Hat"
Name: "Costume Beanie"
Type: 5
Loc: 1024
@@ -142656,7 +143137,7 @@ item_db: (
},
{
Id: 20121
- AegisName: "C_Water_Lily_Hat"
+ AegisName: "C_Lotus_Flower_Hat"
Name: "Costume Water Lily Hat"
Type: 5
Loc: 1024
@@ -142664,7 +143145,7 @@ item_db: (
},
{
Id: 20122
- AegisName: "C_Happy_Summer_Ribbon"
+ AegisName: "Happy_Summer_Ribbon"
Name: "Costume Happy Summer Ribbon"
Type: 5
Loc: 1024
@@ -142720,7 +143201,7 @@ item_db: (
},
{
Id: 20129
- AegisName: "C_Poporing_Cap"
+ AegisName: "C_Poporing_Hat"
Name: "Costume Poporing Cap"
Type: 5
Loc: 1024
@@ -142736,7 +143217,7 @@ item_db: (
},
{
Id: 20131
- AegisName: "C_Clock_Tower_Manager_Incom"
+ AegisName: "C_C_Tower_Manager_Hat"
Name: "Costume Clock Tower Manager Incom"
Type: 5
Loc: 2048
@@ -142752,7 +143233,7 @@ item_db: (
},
{
Id: 20133
- AegisName: "C_Poring_Mascot"
+ AegisName: "C_Poring_Mascot_Costume"
Name: "Costume Poring Mascot"
Type: 5
Loc: 1024
@@ -142760,7 +143241,7 @@ item_db: (
},
{
Id: 20134
- AegisName: "C_White_Helm_Of_Abyss"
+ AegisName: "C_Helm_Of_Abyss_White"
Name: "Costume White Helm Of Abyss"
Type: 5
Loc: 1024
@@ -142892,7 +143373,7 @@ item_db: (
},
{
Id: 20146
- AegisName: "C_Angel_Of_Ghost"
+ AegisName: "C_Angel_Spirit"
Name: "Costume Angel Of Ghost"
Type: 5
Loc: 2048
@@ -142900,7 +143381,7 @@ item_db: (
},
{
Id: 20147
- AegisName: "C_Pigeon_On_Shoulder"
+ AegisName: "C_Bell_Pigeon"
Name: "Costume Pigeon On Shoulder"
Type: 5
Loc: 2048
@@ -142956,7 +143437,7 @@ item_db: (
},
{
Id: 20154
- AegisName: "C_Falling_Maple_leafs"
+ AegisName: "C_Maple_Which_Falls"
Name: "Costume Falling Maple leafs"
Type: 5
Loc: 4096
@@ -142966,7 +143447,7 @@ item_db: (
},
{
Id: 20155
- AegisName: "C_Lady_Feather_Hat"
+ AegisName: "C_Ladys_Feather_Hat"
Name: "Costume Lady Feather Hat"
Type: 5
Loc: 1024
@@ -142974,7 +143455,7 @@ item_db: (
},
{
Id: 20156
- AegisName: "C_Fan_in_Mouth"
+ AegisName: "C_Fan_In_Mouth"
Name: "Costume Fan in Mouth"
Type: 5
Loc: 1024
@@ -142982,7 +143463,7 @@ item_db: (
},
{
Id: 20157
- AegisName: "C_Blue_Fish"
+ AegisName: "C_Fish_On_Head"
Name: "Costume Blue Fish"
Type: 5
Loc: 1024
@@ -142998,7 +143479,7 @@ item_db: (
},
{
Id: 20159
- AegisName: "C_Blue_Hairband"
+ AegisName: "C_Blue_Hair_Band"
Name: "Costume Blue Hairband"
Type: 5
Loc: 1024
@@ -143006,7 +143487,7 @@ item_db: (
},
{
Id: 20160
- AegisName: "C_Magnolia_Hat_J"
+ AegisName: "C_Fried_Egg"
Name: "Costume Magnolia Hat_J"
Type: 5
Loc: 1024
@@ -143014,7 +143495,7 @@ item_db: (
},
{
Id: 20161
- AegisName: "C_Army_Cap"
+ AegisName: "C_Prontera_Army_Cap"
Name: "Costume Army Cap"
Type: 5
Loc: 1024
@@ -143118,7 +143599,7 @@ item_db: (
},
{
Id: 20172
- AegisName: "C_Pumpkin_Hat"
+ AegisName: "C_Pumpkin_Head"
Name: "Costume Pumpkin Hat"
Type: 5
Loc: 1024
@@ -143134,7 +143615,7 @@ item_db: (
},
{
Id: 20174
- AegisName: "C_Orange_Halloween_Hat"
+ AegisName: "C_Halloween_Hat_Orange"
Name: "Costume Orange Halloween Hat"
Type: 5
Loc: 1024
@@ -143150,7 +143631,7 @@ item_db: (
},
{
Id: 20176
- AegisName: "C_Happy_Pierrot_Mask"
+ AegisName: "Happy_Pierrot_Mask"
Name: "Costume Happy Pierrot Mask"
Type: 5
Loc: 6144
@@ -143190,7 +143671,7 @@ item_db: (
},
{
Id: 20180
- AegisName: "C_Western_Grace"
+ AegisName: "C_Westren_Grace"
Name: "Costume Western Grace"
Type: 5
Loc: 1024
@@ -143198,7 +143679,7 @@ item_db: (
},
{
Id: 20181
- AegisName: "C_Mystic_Rose"
+ AegisName: "C_Mistic_Rose"
Name: "Costume Mystic Rose"
Type: 5
Loc: 1024
@@ -143206,7 +143687,7 @@ item_db: (
},
{
Id: 20182
- AegisName: "C_Rainbow_Eggshell"
+ AegisName: "C_Mottled_Egg_Shell"
Name: "Costume Rainbow Eggshell"
Type: 5
Loc: 1024
@@ -143239,7 +143720,7 @@ item_db: (
},
{
Id: 20186
- AegisName: "C_Magni's_Cap"
+ AegisName: "C_Magni_Cap"
Name: "Costume Magni's Cap"
Type: 5
Loc: 1024
@@ -143247,7 +143728,7 @@ item_db: (
},
{
Id: 20187
- AegisName: "C_Fricca's_Circlet"
+ AegisName: "C_Friccas_Circlet"
Name: "Costume Fricca's Circlet"
Type: 5
Loc: 1024
@@ -143255,7 +143736,7 @@ item_db: (
},
{
Id: 20188
- AegisName: "C_Morpheus's_Hood"
+ AegisName: "C_Morpheuss_Hood"
Name: "Costume Morpheus's Hood"
Type: 5
Loc: 1024
@@ -143263,7 +143744,7 @@ item_db: (
},
{
Id: 20189
- AegisName: "C_Goibne's_Helm"
+ AegisName: "C_Goibnes_Helm"
Name: "Costume Goibne's Helm"
Type: 5
Loc: 1024
@@ -143343,7 +143824,7 @@ item_db: (
},
{
Id: 20199
- AegisName: "C_Evil_Marching_Hat"
+ AegisName: "C_Evil_Marcher_Hat"
Name: "Costume Evil Marching Hat"
Type: 5
Loc: 1024
@@ -143351,7 +143832,7 @@ item_db: (
},
{
Id: 20200
- AegisName: "C_Rabbit_Headdress"
+ AegisName: "C_Rabbit_Head_Dress"
Name: "Costume Rabbit Headdress"
Type: 5
Loc: 1024
@@ -143415,7 +143896,7 @@ item_db: (
},
{
Id: 20207
- AegisName: "C_Striped_Hairband"
+ AegisName: "C_Stripe_Band"
Name: "Costume Striped Hairband"
Type: 5
Loc: 1024
@@ -143431,7 +143912,7 @@ item_db: (
},
{
Id: 20209
- AegisName: "C_Mermaid_Bubbles"
+ AegisName: "C_Mermaid_Longing"
Name: "Costume Mermaid Bubbles"
Type: 5
Loc: 1024
@@ -143473,7 +143954,7 @@ item_db: (
},
{
Id: 20212
- AegisName: "C_Loki_&_Nidhoggur_dolls"
+ AegisName: "C_Loki_Nidhogg_Hat"
Name: "Costume Loki & Nidhoggur dolls"
Type: 5
Loc: 1024
@@ -143553,7 +144034,7 @@ item_db: (
},
{
Id: 20222
- AegisName: "C_Blue_Santa_Hat"
+ AegisName: "C_Santa_Hat_2"
Name: "Costume Blue Santa Hat"
Type: 5
Loc: 1024
@@ -143561,7 +144042,7 @@ item_db: (
},
{
Id: 20223
- AegisName: "C_Romantic_Leaf"
+ AegisName: "C_Centimental_Leaf"
Name: "Costume Romantic Leaf"
Type: 5
Loc: 4096
@@ -143577,7 +144058,7 @@ item_db: (
},
{
Id: 20225
- AegisName: "C_Pumpkin_Head"
+ AegisName: "C_Pumpkin_Hat"
Name: "Costume Pumpkin Head"
Type: 5
Loc: 1024
@@ -143585,7 +144066,7 @@ item_db: (
},
{
Id: 20226
- AegisName: "C_Red_Comb"
+ AegisName: "C_Hair_Brush"
Name: "Costume Red Comb"
Type: 5
Loc: 1024
@@ -143633,7 +144114,7 @@ item_db: (
},
{
Id: 20230
- AegisName: "C_Bankruptcy_Mask"
+ AegisName: "C_Mask_Of_Bankrupt"
Name: "Costume Bankruptcy Mask"
Type: 5
Loc: 6144
@@ -143657,7 +144138,7 @@ item_db: (
},
{
Id: 20233
- AegisName: "C_Golden_Statue_of_Baby_Angel"
+ AegisName: "C_Gold_Angel_Sculpture"
Name: "Costume Golden Statue of Baby Angel"
Type: 5
Loc: 1024
@@ -143673,7 +144154,7 @@ item_db: (
},
{
Id: 20235
- AegisName: "C_Frozen_Rose"
+ AegisName: "C_Frozen_Land_Rose"
Name: "Costume Frozen Rose"
Type: 5
Loc: 4096
@@ -143681,7 +144162,7 @@ item_db: (
},
{
Id: 20236
- AegisName: "C_Arc_Angeling_Hat"
+ AegisName: "C_Hellomother_Hat"
Name: "Costume Arc Angeling Hat"
Type: 5
Loc: 1024
@@ -143689,7 +144170,7 @@ item_db: (
},
{
Id: 20237
- AegisName: "C_Pink_Beanie"
+ AegisName: "C_Pink_Fur_Hat"
Name: "Costume Pink Beanie"
Type: 5
Loc: 1024
@@ -143697,7 +144178,7 @@ item_db: (
},
{
Id: 20238
- AegisName: "C_Drooping_Blue_Cat"
+ AegisName: "C_Blue_Drooping_Kitty"
Name: "Costume Drooping Blue Cat"
Type: 5
Loc: 1024
@@ -143713,7 +144194,7 @@ item_db: (
},
{
Id: 20240
- AegisName: "C_Gift_of_Snow"
+ AegisName: "C_Gift_Of_Snow"
Name: "Costume Gift of Snow"
Type: 5
Loc: 4096
@@ -143810,7 +144291,7 @@ item_db: (
},
{
Id: 20252
- AegisName: "C_Mage_Decoration"
+ AegisName: "C_Accessory_of_Ascetic"
Name: "Costume Mage Decoration"
Type: 5
Loc: 1024
@@ -143818,7 +144299,7 @@ item_db: (
},
{
Id: 20253
- AegisName: "C_Drooping_Alicel"
+ AegisName: "C_Droopy_Alice_Doll"
Name: "Costume Drooping Alicel"
Type: 5
Loc: 1024
@@ -143826,7 +144307,7 @@ item_db: (
},
{
Id: 20254
- AegisName: "C_Yellow_Ribbonn"
+ AegisName: "C_Ribbon_Yellow"
Name: "Costume Yellow Ribbonn"
Type: 5
Loc: 1024
@@ -143834,7 +144315,7 @@ item_db: (
},
{
Id: 20255
- AegisName: "C_Love_Cheeks"
+ AegisName: "C_Love_Cheek"
Name: "Costume Love Cheeks"
Type: 5
Loc: 2048
@@ -143842,7 +144323,7 @@ item_db: (
},
{
Id: 20256
- AegisName: "C_Honey_Pancake"
+ AegisName: "C_Honey_Pancakes"
Name: "Costume Honey Pancake"
Type: 5
Loc: 1024
@@ -143858,7 +144339,7 @@ item_db: (
},
{
Id: 20258
- AegisName: "C_Blue_Headdress"
+ AegisName: "C_Blue_Head_Dress"
Name: "Costume Blue Headdress"
Type: 5
Loc: 1024
@@ -143882,7 +144363,7 @@ item_db: (
},
{
Id: 20262
- AegisName: "C_Fox_Ears_Drop_Ribbon"
+ AegisName: "C_Fox_Ears_Bell_Ribbon"
Name: "Costume Fox Ears Drop Ribbon"
Type: 5
Loc: 1024
@@ -143890,7 +144371,7 @@ item_db: (
},
{
Id: 20263
- AegisName: "C_Sleeping_Cat_Hat_J"
+ AegisName: "C_Hat_Of_Drowsy_Cat"
Name: "Costume Sleeping Cat Hat J"
Type: 5
Loc: 1024
@@ -143962,7 +144443,7 @@ item_db: (
},
{
Id: 20272
- AegisName: "C_Unicorn_Horn"
+ AegisName: "C_Snowy_Horn"
Name: "Costume Unicorn Horn"
Type: 5
Loc: 1024
@@ -144010,7 +144491,7 @@ item_db: (
},
{
Id: 20280
- AegisName: "C_Well-Chewed_Pencil"
+ AegisName: "C_Pencil_In_Mouth"
Name: "Costume Well-Chewed Pencil"
Type: 5
Loc: 4096
@@ -144042,7 +144523,7 @@ item_db: (
},
{
Id: 20284
- AegisName: "C_Sakura_Hat"
+ AegisName: "C_Cherry_Blossom_Hat"
Name: "Costume Sakura Hat"
Type: 5
Loc: 1024
@@ -144050,7 +144531,7 @@ item_db: (
},
{
Id: 20285
- AegisName: "C_Dancing_Fallen_Sakura"
+ AegisName: "C_Blossom_Fluttering"
Name: "Costume Dancing Fallen Sakura"
Type: 5
Loc: 4096
@@ -144068,7 +144549,7 @@ item_db: (
},
{
Id: 20287
- AegisName: "C_Mans_Medal(Gold)"
+ AegisName: "C_Mans_Medal_"
Name: "Costume Man's Medal(Gold)"
Type: 5
Loc: 1024
@@ -144140,7 +144621,7 @@ item_db: (
},
{
Id: 20298
- AegisName: "C_Happy_Lunatic_Hanging_Ear"
+ AegisName: "C_Happy_Lunatic_Ear"
Name: "Costume Happy Lunatic Hanging Ear"
Type: 5
Loc: 2048
@@ -144522,7 +145003,7 @@ item_db: (
},
{
Id: 20710
- AegisName: "Modified_Angel's_Cardigan"
+ AegisName: "Impr_Angels_Warmth"
Name: "Modified Angel's Cardigan"
Type: 5
Buy: 20
@@ -144555,7 +145036,7 @@ item_db: (
},
{
Id: 20717
- AegisName: "Gigant_Snake_Skin"
+ AegisName: "FaceWorm_Skin"
Name: "Gigant Snake Skin"
Type: 5
Buy: 20
@@ -144566,7 +145047,7 @@ item_db: (
},
{
Id: 20718
- AegisName: "Gigant_Snake_Skin_"
+ AegisName: "FaceWorm_Skin_"
Name: "Gigant Snake Skin"
Type: 5
Buy: 20
@@ -144578,7 +145059,7 @@ item_db: (
},
{
Id: 20721
- AegisName: "Gray_Cloak"
+ AegisName: "Cloak_Of_Gray"
Name: "Gray Cloak"
Type: 5
Buy: 20
@@ -144592,7 +145073,7 @@ item_db: (
},
{
Id: 20724
- AegisName: "Love_Dad_Wing_2012"
+ AegisName: "Love_Dad_Wings_2012"
Name: "Love Dad Wing 2012"
Type: 5
Weight: 100
@@ -144641,7 +145122,7 @@ item_db: (
},
{
Id: 20725
- AegisName: "Piamette_Ribbon"
+ AegisName: "Ribbon_Piamat"
Name: "Piamette Ribbon"
Type: 5
Slots: 1
@@ -144656,7 +145137,7 @@ item_db: (
},
{
Id: 20727
- AegisName: "C_Brilliant_Golden_Wings"
+ AegisName: "Brilliant_Golden_Wings"
Name: "Brilliant Golden Wings"
Type: 5
Loc: 8192
@@ -144682,7 +145163,7 @@ item_db: (
},
{
Id: 20732
- AegisName: "Physical_Complement_Device"
+ AegisName: "Supplement_Part_Con"
Name: "Physical Complement Device"
Type: 5
Buy: 20
@@ -144702,7 +145183,7 @@ item_db: (
},
{
Id: 20733
- AegisName: "Reinforced_Parts_Engine"
+ AegisName: "Upgrade_Part_Engine"
Name: "Reinforced Parts - Engine"
Type: 5
Buy: 20
@@ -144723,7 +145204,7 @@ item_db: (
},
{
Id: 20737
- AegisName: "C_Kirin_Wings"
+ AegisName: "C_Kirin_Wing"
Name: "Costume Kirin Wings"
Type: 5
Loc: 8192
@@ -144731,7 +145212,7 @@ item_db: (
},
{
Id: 20743
- AegisName: "Manteau_Of_Airship"
+ AegisName: "Airship_Cape"
Name: "Manteau Of Airship"
Type: 5
Buy: 20
@@ -144756,7 +145237,7 @@ item_db: (
},
{
Id: 20744
- AegisName: "Tarlock's_Manteau"
+ AegisName: "Felock_Cape"
Name: "Tarlock's Manteau"
Type: 5
Buy: 20
@@ -144776,7 +145257,7 @@ item_db: (
},
{
Id: 20746
- AegisName: "C_Rudra_Wings"
+ AegisName: "C_Rudra_Wing"
Name: "Costume Rudra Wings"
Type: 5
Loc: 8192
@@ -144784,7 +145265,7 @@ item_db: (
},
{
Id: 20748
- AegisName: "Manteau_of_The_Fallen"
+ AegisName: "Manteau_Of_Fallen"
Name: "Manteau of The Fallen"
Type: 5
Buy: 20
@@ -144808,7 +145289,7 @@ item_db: (
},
{
Id: 20749
- AegisName: "Manteau_of_The_Fallen_"
+ AegisName: "Manteau_Of_Fallen_"
Name: "Manteau of The Fallen"
Type: 5
Buy: 20
@@ -144835,7 +145316,7 @@ item_db: (
},
{
Id: 20756
- AegisName: "Egir_Manteau_K"
+ AegisName: "Aegir_Cloak"
Name: "Aegir Cloak"
Type: 5
Buy: 200000
@@ -144852,7 +145333,7 @@ item_db: (
},
{
Id: 20757
- AegisName: "Heavenly_Wings1"
+ AegisName: "Wing_Of_Happiness"
Name: "Heavenly Wings1"
Type: 5
Def: 10
@@ -144866,7 +145347,7 @@ item_db: (
},
{
Id: 20758
- AegisName: "Heavenly_Wings2"
+ AegisName: "Wing_Of_Happiness_"
Name: "Heavenly Wings2"
Type: 5
Def: 10
@@ -144880,7 +145361,7 @@ item_db: (
},
{
Id: 20761
- AegisName: "C_Wing_of_Happiness"
+ AegisName: "C_Wing_Of_Happiness"
Name: "Costume Wing of Happiness"
Type: 5
Loc: 8192
@@ -144888,7 +145369,7 @@ item_db: (
},
{
Id: 20762
- AegisName: "C_Great_Devil_Wings"
+ AegisName: "C_GreatDevilWing"
Name: "Costume Great Devil Wings"
Type: 5
Loc: 8192
@@ -144966,6 +145447,70 @@ item_db: (
}
">
},
+{
+ Id: 20788
+ AegisName: "Private_Doram_Manteau"
+ Name: "Private Doram Manteau"
+ Type: 5
+ Buy: 20
+ Weight: 300
+ Def: 20
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 4
+ EquipLv: 100
+ Script: <"
+ bonus bFlee,5;
+ bonus2 bSubEle,Ele_Neutral,2;
+ bonus bFlee2,getrefine()/3;
+ ">
+},
+{
+ Id: 20789
+ AegisName: "Luxury_Doram_Manteau"
+ Name: "Luxury Doram Manteau"
+ Type: 5
+ Buy: 20
+ Weight: 400
+ Def: 25
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 4
+ EquipLv: 140
+ Script: <"
+ bonus bFlee, 7;
+ bonus2 bSubEle,Ele_Neutral, 3;
+ bonus bFlee2, getrefine() / 3;
+ bonus bLuk, getrefine() / 3;
+ ">
+},
+{
+ Id: 20790
+ AegisName: "Elegant_Doram_Manteau"
+ Name: "Elegant Doram Manteau"
+ Type: 5
+ Buy: 20
+ Weight: 500
+ Def: 30
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 4
+ EquipLv: 175
+ Script: <"
+ bonus bFlee, 10;
+ bonus2 bSubEle,Ele_Neutral, 5;
+ bonus bFlee2, getrefine() / 2;
+ bonus bInt, getrefine() / 2;
+ bonus bDex, getrefine() / 2;
+ bonus bLuk, getrefine() / 2;
+ ">
+},
//== New Two-Handed Swords =================================
{
@@ -145192,7 +145737,7 @@ item_db: (
},
{
Id: 21009
- AegisName: "Thanatos_Great_Sword"
+ AegisName: "Thanos_Great_Sword"
Name: "Thanatos Great Sword"
Type: 4
Buy: 20
@@ -145223,7 +145768,7 @@ item_db: (
},
{
Id: 21010
- AegisName: "Evil_Slayer_Slasher_Sword"
+ AegisName: "Tw_Sword_Of_Evil_Slayer"
Name: "Evil Slayer Slasher Sword"
Type: 4
Buy: 20
@@ -145248,7 +145793,7 @@ item_db: (
},
{
Id: 21011
- AegisName: "Gigantic_Blade"
+ AegisName: "Giant_Blade"
Name: "Gigantic Blade"
Type: 4
Buy: 20
@@ -145320,7 +145865,7 @@ item_db: (
},
{
Id: 21014
- AegisName: "Infinity_Two-Handed_Sword"
+ AegisName: "Infinity_Two_Hand_Sword"
Name: "Infinity Two-Handed Sword"
Type: 4
Buy: 20
@@ -145349,7 +145894,7 @@ item_db: (
},
{
Id: 21015
- AegisName: "Crimson_Two-Handed_Sword"
+ AegisName: "Scarlet_Twohand_Sword"
Name: "Crimson Two-Handed Sword"
Type: 4
Buy: 20
@@ -145449,7 +145994,7 @@ item_db: (
//== New Shoes =============================================
{
Id: 22000
- AegisName: "Temporal_STR_Boots"
+ AegisName: "Temporal_Str_Boots"
Name: "Temporal STR Boots"
Type: 5
Buy: 20
@@ -145467,7 +146012,7 @@ item_db: (
},
{
Id: 22001
- AegisName: "Temporal_INT_Boots"
+ AegisName: "Temporal_Int_Boots"
Name: "Temporal INT Boots"
Type: 5
Buy: 20
@@ -145488,7 +146033,7 @@ item_db: (
},
{
Id: 22002
- AegisName: "Temporal_AGI_Boots"
+ AegisName: "Temporal_Agi_Boots"
Name: "Temporal AGI Boots"
Type: 5
Buy: 20
@@ -145506,7 +146051,7 @@ item_db: (
},
{
Id: 22003
- AegisName: "Temporal_VIT_Boots"
+ AegisName: "Temporal_Vit_Boots"
Name: "Temporal VIT Boots"
Type: 5
Buy: 20
@@ -145523,7 +146068,7 @@ item_db: (
},
{
Id: 22004
- AegisName: "Temporal_DEX_Boots"
+ AegisName: "Temporal_Dex_Boots"
Name: "Temporal DEX Boots"
Type: 5
Buy: 20
@@ -145544,7 +146089,7 @@ item_db: (
},
{
Id: 22005
- AegisName: "Temporal_LUK_Boots"
+ AegisName: "Temporal_Luk_Boots"
Name: "Temporal LUK Boots"
Type: 5
Buy: 20
@@ -145565,7 +146110,7 @@ item_db: (
},
{
Id: 22006
- AegisName: "Temporal_STR_Boots_"
+ AegisName: "Temporal_Str_Boots_"
Name: "Temporal STR Boots"
Type: 5
Buy: 20
@@ -145584,7 +146129,7 @@ item_db: (
},
{
Id: 22007
- AegisName: "Temporal_VIT_Boots_"
+ AegisName: "Temporal_Vit_Boots_"
Name: "Temporal VIT Boots"
Type: 5
Buy: 20
@@ -145602,7 +146147,7 @@ item_db: (
},
{
Id: 22008
- AegisName: "Temporal_DEX_Boots_"
+ AegisName: "Temporal_Dex_Boots_"
Name: "Temporal DEX Boots"
Type: 5
Buy: 20
@@ -145624,7 +146169,7 @@ item_db: (
},
{
Id: 22009
- AegisName: "Temporal_INT_Boots_"
+ AegisName: "Temporal_Int_Boots_"
Name: "Temporal INT Boots"
Type: 5
Buy: 20
@@ -145646,7 +146191,7 @@ item_db: (
},
{
Id: 22010
- AegisName: "Temporal_AGI_Boots_"
+ AegisName: "Temporal_Agi_Boots_"
Name: "Temporal AGI Boots"
Type: 5
Buy: 20
@@ -145665,7 +146210,7 @@ item_db: (
},
{
Id: 22011
- AegisName: "Temporal_LUK_Boots_"
+ AegisName: "Temporal_Luk_Boots_"
Name: "Temporal LUK Boots"
Type: 5
Buy: 20
@@ -145746,7 +146291,7 @@ item_db: (
},
{
Id: 22015
- AegisName: "Impr_Angel's_Arrival"
+ AegisName: "Impr_Angels_Arrival"
Name: "Advanced Angel's Reincarnation"
Type: 5
Buy: 10000
@@ -145797,7 +146342,7 @@ item_db: (
},
{
Id: 22019
- AegisName: "Immune_Boots"
+ AegisName: "Immuned_Boots"
Name: "Immune Boots"
Type: 5
Buy: 10
@@ -145820,7 +146365,7 @@ item_db: (
},
{
Id: 22033
- AegisName: "Boots_of_Gray"
+ AegisName: "Boots_Of_Gray"
Name: "Boots of Gray"
Type: 5
Buy: 10
@@ -145853,7 +146398,7 @@ item_db: (
},
{
Id: 22035
- AegisName: "Heroic_Nepenthes_Shoes"
+ AegisName: "Vet_Nepen_Heel"
Name: "Heroic Nepenthes Shoes"
Type: 5
Buy: 10
@@ -145866,7 +146411,7 @@ item_db: (
},
{
Id: 22036
- AegisName: "Heroic_Silver_Fox_Leather_Boots"
+ AegisName: "Vet_SliverFox_Boots"
Name: "Heroic Silver Fox Leather Boots"
Type: 5
Buy: 10
@@ -145879,7 +146424,7 @@ item_db: (
},
{
Id: 22037
- AegisName: "Heroic_Ungoliant_Upgrade_Boots"
+ AegisName: "Vet_Ungo_Boots"
Name: "Heroic Ungoliant Upgrade Boots"
Type: 5
Buy: 10
@@ -145942,7 +146487,7 @@ item_db: (
},
{
Id: 22040
- AegisName: "New_Trend_Shoes"
+ AegisName: "Fashion_Shoes"
Name: "New Trend Shoes"
Type: 5
Buy: 10
@@ -145958,7 +146503,7 @@ item_db: (
},
{
Id: 22041
- AegisName: "New_Trend_Shoes_"
+ AegisName: "Fashion_Shoes_"
Name: "New Trend Shoes"
Type: 5
Buy: 10
@@ -145993,7 +146538,7 @@ item_db: (
},
{
Id: 22043
- AegisName: "AGI_Complement"
+ AegisName: "Supplement_Part_Agi"
Name: "AGI Complement"
Type: 5
Buy: 10
@@ -146010,7 +146555,7 @@ item_db: (
},
{
Id: 22044
- AegisName: "Reinforced_Parts_Booster"
+ AegisName: "Upgrade_Part_Booster"
Name: "Reinforced Parts - Booster"
Type: 5
Buy: 10
@@ -146044,7 +146589,7 @@ item_db: (
},
{
Id: 22046
- AegisName: "Boots_of_Airship"
+ AegisName: "Airship_Boots"
Name: "Boots of Airship"
Type: 5
Buy: 20
@@ -146067,7 +146612,7 @@ item_db: (
},
{
Id: 22047
- AegisName: "Tarlock's_Boots"
+ AegisName: "Felock_Boots"
Name: "Tarlock's Boots"
Type: 5
Buy: 20
@@ -146091,7 +146636,7 @@ item_db: (
},
{
Id: 22059
- AegisName: "Egir_Shoes_K"
+ AegisName: "Aegir_Shoes"
Name: "Egir Shoes"
Type: 5
Buy: 200000
@@ -146125,9 +146670,128 @@ item_db: (
autobonus3 "{ }", 1000, 7000, ALL_CATCRY, "{ montransform LOLI_RURI, 420000; }";
">
},
+{
+ Id: 22076
+ AegisName: "Wooden_Slipper"
+ Name: "Wooden Slipper"
+ Type: 4
+ Buy: 20
+ Weight: 50
+ Def: 10
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 64
+ EquipLv: 9
+ Script: <" bonus2 bHPRegenRate,2,10000; ">
+},
+{
+ Id: 22077
+ AegisName: "Red_Eco_Friendly_Shoes"
+ Name: "Red Eco-Friendly Shoes"
+ Type: 4
+ Buy: 20
+ Weight: 100
+ Def: 20
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 64
+ EquipLv: 18
+ Script: <"
+ bonus bCritical,5;
+ bonus2 bHPRegenRate,4,10000;
+ bonus2 bSPRegenRate,1,10000;
+ ">
+},
+{
+ Id: 22083
+ AegisName: "Private_Doram_Shoes"
+ Name: "Private Doram Shoes"
+ Type: 4
+ Buy: 20
+ Weight: 500
+ Def: 25
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 64
+ EquipLv: 100
+ Script: <"
+ bonus bMaxHP, 100;
+ bonus bMaxSP, 50;
+ bonus bHPrecovRate, getrefine() * 10 / 3;
+ bonus bSPrecovRate, getrefine() * 10 / 3;
+ ">
+},
+{
+ Id: 22084
+ AegisName: "Luxury_Doram_Shoes"
+ Name: "Luxury Doram Shoes"
+ Type: 4
+ Buy: 20
+ Weight: 600
+ Def: 30
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 64
+ EquipLv: 140
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMaxSP, 100;
+ bonus bHPrecovRate, 20 * getrefine() / 3;
+ bonus bSPrecovRate, 20 * getrefine() / 3;
+ ">
+},
+{
+ Id: 22085
+ AegisName: "Elegant_Doram_Shoes"
+ Name: "Elegant Doram Shoes"
+ Type: 4
+ Buy: 20
+ Weight: 700
+ Def: 35
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 64
+ EquipLv: 175
+ Script: <"
+ bonus bMaxHPrate, 10;
+ bonus bMaxSPrate, 5;
+ bonus bMaxHP, 100 * getrefine() / 2;
+ bonus bMaxSP, 20 * getrefine() / 2;
+ if ((getrefine() / 2) >= 4)
+ bonus2 bSkillUseSP, SU_LOPE, 5;
+ ">
+},
//== New Etc Items =========================================
{
+ Id: 22508
+ AegisName: "Para_Team_Mark_"
+ Name: "Eden Group Mark"
+ Type: 11
+ Delay: 1200000
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT), "AL_TELEPORT", 3; ">
+},
+{
Id: 22514
AegisName: "Candy_Holder"
Name: "Candy Holder"
@@ -146137,7 +146801,7 @@ item_db: (
},
{
Id: 22515
- AegisName: "Twisted_Key_of_Time"
+ AegisName: "Key_Of_Twisted_Time"
Name: "Twisted Key of Time"
Buy: 10
Weight: 300
@@ -146213,7 +146877,7 @@ item_db: (
},
{
Id: 22679
- AegisName: "Death_Bin"
+ AegisName: "Chest_Of_Death"
Name: "Death Bin"
Type: 18
Buy: 10
@@ -146245,7 +146909,7 @@ item_db: (
},
{
Id: 22737
- AegisName: "Bloody_Cartrige"
+ AegisName: "Bullet_Case_Blood_"
Name: "Bloody Bullet Case"
Type: 2
Buy: 2
@@ -146254,7 +146918,7 @@ item_db: (
},
{
Id: 22738
- AegisName: "Silver_Cartrige"
+ AegisName: "Bullet_Case_Silver_"
Name: "Silver Bullet Case"
Type: 2
Buy: 2
@@ -146263,70 +146927,70 @@ item_db: (
},
{
Id: 22739
- AegisName: "Lightning_Sphere_Pack"
+ AegisName: "Sphere_Case_Wind_"
Name: "Lightning Sphere Pack"
Type: 2
Buy: 2
Weight: 350
- Script: <" getitem Lightning_Grenade, 500; ">
+ Script: <" getitem Lighting_Sphere_, 500; ">
},
{
Id: 22740
- AegisName: "Blind_Sphere_Pack"
+ AegisName: "Sphere_Case_Darkness_"
Name: "Blind Sphere Pack"
Type: 2
Buy: 2
Weight: 350
- Script: <" getitem Flash_Grenade, 500; ">
+ Script: <" getitem Blind_Sphere_, 500; ">
},
{
Id: 22741
- AegisName: "Poison_Sphere_Pack"
+ AegisName: "Sphere_Case_Poison_"
Name: "Poison Sphere Pack"
Type: 2
Buy: 2
Weight: 350
- Script: <" getitem Poison_Grenade, 500; ">
+ Script: <" getitem Poison_Sphere_, 500; ">
},
{
Id: 22742
- AegisName: "Freezing_Sphere_Pack"
+ AegisName: "Sphere_Case_Water_"
Name: "Freezing Sphere Pack"
Type: 2
Buy: 2
Weight: 350
- Script: <" getitem Cyro_Grenade, 500; ">
+ Script: <" getitem Freezing_Sphere_, 500; ">
},
{
Id: 22743
- AegisName: "Flare_Sphere_Pack"
+ AegisName: "Sphere_Case_Fire_"
Name: "Flare Sphere Pack"
Type: 2
Buy: 2
Weight: 350
- Script: <" getitem Incendiary_Grenade, 500; ">
+ Script: <" getitem Flare_Sphere_, 500; ">
},
{
Id: 22744
- AegisName: "Armor_Piercing_Cartrige"
+ AegisName: "Bullet_Case_AP"
Name: "Armor-Piercing Cartrige"
Type: 2
Buy: 2
Weight: 250
- Script: <" getitem Armor_Piercing_Bullet, 500; ">
+ Script: <" getitem AP_Ammo, 500; ">
},
{
Id: 22745
- AegisName: "Incandescence_Shot_Cartridge"
+ AegisName: "Bullet_Case_Blaze"
Name: "Incandescence Shot Cartridge"
Type: 2
Buy: 2
Weight: 250
- Script: <" getitem Blazing_Bullet, 500; ">
+ Script: <" getitem Blaze_Bullet, 500; ">
},
{
Id: 22746
- AegisName: "Glaciation_Shot_Cartridge"
+ AegisName: "Bullet_Case_Fleeze"
Name: "Glaciation Shot Cartridge"
Type: 2
Buy: 2
@@ -146335,30 +146999,30 @@ item_db: (
},
{
Id: 22747
- AegisName: "Dengeki_Shot_Cartridge"
+ AegisName: "Bullet_Case_Electric"
Name: "Dengeki Shot Cartridge"
Type: 2
Buy: 2
Weight: 250
- Script: <" getitem Lightning_Bullet, 500; ">
+ Script: <" getitem Electric_Shock_Bullet, 500; ">
},
{
Id: 22748
- AegisName: "Hearthstone_Shot_Cartridge"
+ AegisName: "Bullet_Case_Stone"
Name: "Hearthstone Shot Cartridge"
Type: 2
Buy: 2
Weight: 250
- Script: <" getitem Magic_Stone_Bullet, 500; ">
+ Script: <" getitem Magical_Stone_Bullet, 500; ">
},
{
Id: 22749
- AegisName: "Purification_Shot_Cartridge"
+ AegisName: "Sanctified_Bullet_Case"
Name: "Purification Shot Cartridge"
Type: 2
Buy: 2
Weight: 250
- Script: <" getitem Purifying_Bullet, 500; ">
+ Script: <" getitem Sanctified_Bullet, 500; ">
},
{
Id: 22777
@@ -146402,7 +147066,7 @@ item_db: (
},
{
Id: 22838
- AegisName: "Pumpkin_Candy_Holder"
+ AegisName: "Something_Candy_Holder"
Name: "Pumpkin Candy Holder"
Type: 2
Buy: 20
@@ -146413,7 +147077,7 @@ item_db: (
//== Shadow Equipments =====================================
{
Id: 24000
- AegisName: "T_STR1_Armor_Shadow"
+ AegisName: "T1_Shadow_Armor"
Name: "T STR1 Armor Shadow"
Type: 5
Buy: 10
@@ -146422,7 +147086,7 @@ item_db: (
},
{
Id: 24001
- AegisName: "T_DEX1_Weapon_Shadow"
+ AegisName: "T1_Shadow_Weapon"
Name: "T DEX1 Weapon Shadow"
Type: 5
Buy: 10
@@ -146431,7 +147095,7 @@ item_db: (
},
{
Id: 24002
- AegisName: "T_LUK1_Shield_Shadow"
+ AegisName: "T1_Shadow_Shield"
Name: "T LUK1 Shield Shadow"
Type: 5
Buy: 10
@@ -146440,7 +147104,7 @@ item_db: (
},
{
Id: 24003
- AegisName: "T_AGI1_Shoes_Shadow"
+ AegisName: "T1_Shadow_Shoes"
Name: "T AGI1 Shoes Shadow"
Type: 5
Buy: 10
@@ -146449,7 +147113,7 @@ item_db: (
},
{
Id: 24004
- AegisName: "T_VIT1_Earrings_Shadow(R)"
+ AegisName: "T1_Shadow_R_Accessory"
Name: "T VIT1 Earrings Shadow(R)"
Type: 5
Buy: 10
@@ -146458,7 +147122,7 @@ item_db: (
},
{
Id: 24005
- AegisName: "T_INT1_Pendant_Shadow(L)"
+ AegisName: "T1_Shadow_L_Accessory"
Name: "T INT1 Pendant Shadow(L)"
Type: 5
Buy: 10
@@ -146467,7 +147131,7 @@ item_db: (
},
{
Id: 24006
- AegisName: "T_STR2_Armor_Shadow"
+ AegisName: "T2_Shadow_Armor"
Name: "T STR2 Armor Shadow"
Type: 5
Buy: 10
@@ -146477,7 +147141,7 @@ item_db: (
},
{
Id: 24007
- AegisName: "T_DEX2_Weapon_Shadow"
+ AegisName: "T2_Shadow_Weapon"
Name: "T DEX2 Weapon Shadow"
Type: 5
Buy: 10
@@ -146487,7 +147151,7 @@ item_db: (
},
{
Id: 24008
- AegisName: "T_LUK2_Shield_Shadow"
+ AegisName: "T2_Shadow_Shield"
Name: "T LUK2 Shield Shadow"
Type: 5
Buy: 10
@@ -146497,7 +147161,7 @@ item_db: (
},
{
Id: 24009
- AegisName: "T_AGI2_Shoes_Shadow"
+ AegisName: "T2_Shadow_Shoes"
Name: "T AGI2 Shoes Shadow"
Type: 5
Buy: 10
@@ -146507,7 +147171,7 @@ item_db: (
},
{
Id: 24010
- AegisName: "T_VIT2_Earrings_Shadow(R)"
+ AegisName: "T2_Shadow_R_Accessory"
Name: "T VIT2 Earrings Shadow(R)"
Type: 5
Buy: 10
@@ -146517,7 +147181,7 @@ item_db: (
},
{
Id: 24011
- AegisName: "T_INT2_Pendant_Shadow(L)"
+ AegisName: "T2_Shadow_L_Accessory"
Name: "T INT2 Pendant Shadow(L)"
Type: 5
Buy: 10
@@ -146600,7 +147264,7 @@ item_db: (
},
{
Id: 24018
- AegisName: "Shadow_Physical_Earring"
+ AegisName: "S_Physical_Earring"
Name: "Shadow Physical Earring"
Type: 5
Buy: 10
@@ -146609,7 +147273,7 @@ item_db: (
},
{
Id: 24019
- AegisName: "Shadow_Physical_Weapon"
+ AegisName: "S_Physical_Weapon"
Name: "Shadow Physical Weapon"
Type: 5
Buy: 10
@@ -146621,7 +147285,7 @@ item_db: (
},
{
Id: 24020
- AegisName: "Shadow_Physical_Pendant"
+ AegisName: "S_Physical_Pendant"
Name: "Shadow Physical Pendant"
Type: 5
Buy: 10
@@ -146633,7 +147297,7 @@ item_db: (
},
{
Id: 24021
- AegisName: "Shadow_Magical_Earring"
+ AegisName: "S_Magical_Earring"
Name: "Shadow Magical Earring"
Type: 5
Buy: 10
@@ -146642,7 +147306,7 @@ item_db: (
},
{
Id: 24022
- AegisName: "Shadow_Magical_Weapon"
+ AegisName: "S_Magical_Weapon"
Name: "Shadow Magical Weapon"
Type: 5
Buy: 10
@@ -146654,7 +147318,7 @@ item_db: (
},
{
Id: 24023
- AegisName: "Shadow_Magical_Pendant"
+ AegisName: "S_Magical_Pendant"
Name: "Shadow Magical Pendant"
Type: 5
Buy: 10
@@ -146666,7 +147330,7 @@ item_db: (
},
{
Id: 24024
- AegisName: "Shadow_Breeze_Armor"
+ AegisName: "S_Breezy_Armor"
Name: "Shadow Breeze Armor"
Type: 5
Buy: 10
@@ -146675,7 +147339,7 @@ item_db: (
},
{
Id: 24025
- AegisName: "Shadow_Champion_Shoes"
+ AegisName: "S_Champion_Shoes"
Name: "Shadow Champion Shoes"
Type: 5
Buy: 10
@@ -146691,7 +147355,7 @@ item_db: (
},
{
Id: 24026
- AegisName: "Shadow_Athena_Shield"
+ AegisName: "S_Athena_Shield"
Name: "Shadow Athena Shield"
Type: 5
Buy: 10
@@ -146700,7 +147364,7 @@ item_db: (
},
{
Id: 24027
- AegisName: "Immune_Shadow_Armor"
+ AegisName: "S_Immune_Armor"
Name: "Immune Shadow Armor"
Type: 5
Buy: 10
@@ -146709,7 +147373,7 @@ item_db: (
},
{
Id: 24028
- AegisName: "Hard_Shadow_Armor"
+ AegisName: "S_Hard_Armor"
Name: "Hard Shadow Armor"
Type: 5
Buy: 10
@@ -146721,7 +147385,7 @@ item_db: (
},
{
Id: 24029
- AegisName: "Ancient_Shadow_Armor"
+ AegisName: "S_Ancient_Armor"
Name: "Ancient Shadow Armor"
Type: 5
Buy: 10
@@ -146730,7 +147394,7 @@ item_db: (
},
{
Id: 24030
- AegisName: "Critital_Shadow_Armor"
+ AegisName: "S_Critical_Armor"
Name: "Critital Shadow Armor"
Type: 5
Buy: 10
@@ -146739,7 +147403,7 @@ item_db: (
},
{
Id: 24031
- AegisName: "King_Bird_Shadow_Weapon"
+ AegisName: "S_Kingbird_Weapon"
Name: "King Bird Shadow Weapon"
Type: 5
Buy: 10
@@ -146751,7 +147415,7 @@ item_db: (
},
{
Id: 24032
- AegisName: "Critical_Hit_Shadow_Weapon"
+ AegisName: "S_Cri_Hit_Weapon"
Name: "Critical Hit Shadow Weapon"
Type: 5
Buy: 10
@@ -146763,7 +147427,7 @@ item_db: (
},
{
Id: 24033
- AegisName: "Healing_Shadow_Weapon"
+ AegisName: "S_Healing_Weapon"
Name: "Healing Shadow Weapon"
Type: 5
Buy: 10
@@ -146773,7 +147437,7 @@ item_db: (
},
{
Id: 24034
- AegisName: "Lucky_Shadow_Weapon"
+ AegisName: "S_Lucky_Weapon"
Name: "Lucky Shadow Weapon"
Type: 5
Buy: 10
@@ -146786,7 +147450,7 @@ item_db: (
},
{
Id: 24035
- AegisName: "Power_Shadow_Earring"
+ AegisName: "S_Power_Earring"
Name: "Power Shadow Earring"
Type: 5
Buy: 10
@@ -146799,7 +147463,7 @@ item_db: (
},
{
Id: 24036
- AegisName: "Intelligent_Shadow_Pendant"
+ AegisName: "S_Int_Pendant"
Name: "Intelligent Shadow Pendant"
Type: 5
Buy: 10
@@ -146812,7 +147476,7 @@ item_db: (
},
{
Id: 24037
- AegisName: "Dexterous_Shadow_Armor"
+ AegisName: "S_Dexterous_Armor"
Name: "Dexterous Shadow Armor"
Type: 5
Buy: 10
@@ -146825,7 +147489,7 @@ item_db: (
},
{
Id: 24038
- AegisName: "Vital_Shadow_Shoes"
+ AegisName: "S_Vital_Shoes"
Name: "Vital Shadow Shoes"
Type: 5
Buy: 10
@@ -146838,7 +147502,7 @@ item_db: (
},
{
Id: 24039
- AegisName: "Athletic_Shadow_Shield"
+ AegisName: "S_Athletic_Shield"
Name: "Athletic Shadow Shield"
Type: 5
Buy: 10
@@ -146851,7 +147515,7 @@ item_db: (
},
{
Id: 24040
- AegisName: "Lucky_Shadow_Armor"
+ AegisName: "S_Lucky_Armor"
Name: "Lucky Shadow Armor"
Type: 5
Buy: 10
@@ -146863,7 +147527,7 @@ item_db: (
},
{
Id: 24041
- AegisName: "Power_Shadow_Pendant"
+ AegisName: "S_Power_Pendant"
Name: "Power Shadow Pendant"
Type: 5
Buy: 10
@@ -146875,7 +147539,7 @@ item_db: (
},
{
Id: 24042
- AegisName: "Intelligent_Shadow_Earring"
+ AegisName: "S_Int_Earring"
Name: "Intelligent Shadow Earring"
Type: 5
Buy: 10
@@ -146887,7 +147551,7 @@ item_db: (
},
{
Id: 24043
- AegisName: "Dexterous_Shadow_Weapon"
+ AegisName: "S_Dexterous_Weapon"
Name: "Dexterous Shadow Weapon"
Type: 5
Buy: 10
@@ -146899,7 +147563,7 @@ item_db: (
},
{
Id: 24044
- AegisName: "Vital_Shadow_Shield"
+ AegisName: "S_Vital_Shield"
Name: "Vital Shadow Shield"
Type: 5
Buy: 10
@@ -146911,7 +147575,7 @@ item_db: (
},
{
Id: 24045
- AegisName: "Athletic_Shadow_Shoes"
+ AegisName: "S_Athletic_Shoes"
Name: "Athletic Shadow Shoes"
Type: 5
Buy: 10
@@ -146923,7 +147587,7 @@ item_db: (
},
{
Id: 24046
- AegisName: "Resist_Spell_Power_Shadow_Pendant"
+ AegisName: "S_Resist_Spell_Pendant"
Name: "Resist Spell Power Shadow Pendant"
Type: 5
Buy: 10
@@ -146932,7 +147596,7 @@ item_db: (
},
{
Id: 24047
- AegisName: "Rapid_Shadow_Pendant"
+ AegisName: "S_Rapid_Pendant"
Name: "Rapid Shadow Pendant"
Type: 5
Buy: 10
@@ -146943,7 +147607,7 @@ item_db: (
},
{
Id: 24048
- AegisName: "Casters_Shadow_Pendant"
+ AegisName: "S_Caster_Pendant"
Name: "Casters Shadow Pendant"
Type: 5
Buy: 10
@@ -146954,7 +147618,7 @@ item_db: (
},
{
Id: 24049
- AegisName: "Hard_Shadow_Earring"
+ AegisName: "S_Hard_Earring"
Name: "Hard Shadow Earring"
Type: 5
Buy: 10
@@ -146966,7 +147630,7 @@ item_db: (
},
{
Id: 24050
- AegisName: "Wise_Shadow_Earring"
+ AegisName: "S_Wise_Earring"
Name: "Wise Shadow Earring"
Type: 5
Buy: 10
@@ -146978,7 +147642,7 @@ item_db: (
},
{
Id: 24051
- AegisName: "Athena_Shadow_Earring"
+ AegisName: "S_Athena_Earring"
Name: "Athena Shadow Earring"
Type: 5
Buy: 10
@@ -146987,7 +147651,7 @@ item_db: (
},
{
Id: 24052
- AegisName: "Cranial_Shadow_Shield"
+ AegisName: "S_Cranial_Shield"
Name: "Cranial Shadow Shield"
Type: 5
Buy: 10
@@ -147000,7 +147664,7 @@ item_db: (
},
{
Id: 24053
- AegisName: "Safeguard_Shadow_Shield"
+ AegisName: "S_Safeguard_Shield"
Name: "Safeguard Shadow Shield"
Type: 5
Buy: 10
@@ -147013,7 +147677,7 @@ item_db: (
},
{
Id: 24054
- AegisName: "Brutal_Shadow_Shield"
+ AegisName: "S_Brutal_Shield"
Name: "Brutal Shadow Shield"
Type: 5
Buy: 10
@@ -147026,7 +147690,7 @@ item_db: (
},
{
Id: 24055
- AegisName: "Gargantua_Shadow_Shield"
+ AegisName: "S_Gargantua_Shield"
Name: "Gargantua Shadow Shield"
Type: 5
Buy: 10
@@ -147039,7 +147703,7 @@ item_db: (
},
{
Id: 24056
- AegisName: "Homer's_Shadow_Shield"
+ AegisName: "S_Homers_Shield"
Name: "Homer's Shadow Shield"
Type: 5
Buy: 10
@@ -147052,7 +147716,7 @@ item_db: (
},
{
Id: 24057
- AegisName: "Dragoon_Shadow_Shield"
+ AegisName: "S_Dragoon_Shield"
Name: "Dragoon Shadow Shield"
Type: 5
Buy: 10
@@ -147065,7 +147729,7 @@ item_db: (
},
{
Id: 24058
- AegisName: "Satanic_Shadow_Shield"
+ AegisName: "S_Satanic_Shield"
Name: "Satanic Shadow Shield"
Type: 5
Buy: 10
@@ -147078,7 +147742,7 @@ item_db: (
},
{
Id: 24059
- AegisName: "Fire_Proof_Shadow_Shield"
+ AegisName: "S_Flameguard_Shield"
Name: "Fire Proof Shadow Shield"
Type: 5
Buy: 10
@@ -147091,7 +147755,7 @@ item_db: (
},
{
Id: 24060
- AegisName: "Requiem_Shadow_Shield"
+ AegisName: "S_Requiem_Shield"
Name: "Requiem Shadow Shield"
Type: 5
Buy: 10
@@ -147104,7 +147768,7 @@ item_db: (
},
{
Id: 24061
- AegisName: "Cadi_Shadow_Shield"
+ AegisName: "S_Cadi_Shield"
Name: "Cadi Shadow Shield"
Type: 5
Buy: 10
@@ -147117,7 +147781,7 @@ item_db: (
},
{
Id: 24062
- AegisName: "Bloody_Shadow_Shoes"
+ AegisName: "S_Bloody_Shoes"
Name: "Bloody Shadow Shoes"
Type: 5
Buy: 10
@@ -147137,7 +147801,7 @@ item_db: (
},
{
Id: 24063
- AegisName: "Liberation_Shadow_Shoes"
+ AegisName: "S_Liberation_Shoes"
Name: "Liberation Shadow Shoes"
Type: 5
Buy: 10
@@ -147157,7 +147821,7 @@ item_db: (
},
{
Id: 24064
- AegisName: "Chemical_Shadow_Shoes"
+ AegisName: "S_Chemical_Shoes"
Name: "Chemical Shadow Shoes"
Type: 5
Buy: 10
@@ -147177,7 +147841,7 @@ item_db: (
},
{
Id: 24065
- AegisName: "Glamorous_Shadow_Shoes"
+ AegisName: "S_Clamorous_Shoes"
Name: "Glamorous Shadow Shoes"
Type: 5
Buy: 10
@@ -147197,7 +147861,7 @@ item_db: (
},
{
Id: 24066
- AegisName: "Insecticide_Shadow_Shoes"
+ AegisName: "S_Insecticide_Shoes"
Name: "Insecticide Shadow Shoes"
Type: 5
Buy: 10
@@ -147217,7 +147881,7 @@ item_db: (
},
{
Id: 24067
- AegisName: "Fisher_Shadow_Shoes"
+ AegisName: "S_Fisher_Shoes"
Name: "Fisher Shadow Shoes"
Type: 5
Buy: 10
@@ -147237,7 +147901,7 @@ item_db: (
},
{
Id: 24068
- AegisName: "Seraphim_Shadow_Shoes"
+ AegisName: "S_Seraphim_Shoes"
Name: "Seraphim Shadow Shoes"
Type: 5
Buy: 10
@@ -147257,7 +147921,7 @@ item_db: (
},
{
Id: 24069
- AegisName: "Beholder_Shadow_Shoes"
+ AegisName: "S_Beholder_Shoes"
Name: "Beholder Shadow Shoes"
Type: 5
Buy: 10
@@ -147277,7 +147941,7 @@ item_db: (
},
{
Id: 24070
- AegisName: "Divine_Shadow_Shoes"
+ AegisName: "S_Divine_Shoes"
Name: "Divine Shadow Shoes"
Type: 5
Buy: 10
@@ -147297,7 +147961,7 @@ item_db: (
},
{
Id: 24071
- AegisName: "Dragoons_Shadow_Shoes"
+ AegisName: "S_Dragoon_Shoes"
Name: "Dragoons Shadow Shoes"
Type: 5
Buy: 10
@@ -147317,7 +147981,7 @@ item_db: (
},
{
Id: 24072
- AegisName: "Large_Shadow_Armor"
+ AegisName: "S_Big_Armor"
Name: "Large Shadow Armor"
Type: 5
Buy: 10
@@ -147330,7 +147994,7 @@ item_db: (
},
{
Id: 24073
- AegisName: "Medium_Shadow_Armor"
+ AegisName: "S_Medium_Armor"
Name: "Medium Shadow Armor"
Type: 5
Buy: 10
@@ -147343,7 +148007,7 @@ item_db: (
},
{
Id: 24074
- AegisName: "Small_Shadow_Armor"
+ AegisName: "S_Small_Armor"
Name: "Small Shadow Armor"
Type: 5
Buy: 10
@@ -147356,7 +148020,7 @@ item_db: (
},
{
Id: 24075
- AegisName: "Large_Shadow_Weapon"
+ AegisName: "S_Big_Weapon"
Name: "Large Shadow Weapon"
Type: 5
Buy: 10
@@ -147369,7 +148033,7 @@ item_db: (
},
{
Id: 24076
- AegisName: "Medium_Shadow_Weapon"
+ AegisName: "S_Medium_Weapon"
Name: "Medium Shadow Weapon"
Type: 5
Buy: 10
@@ -147382,7 +148046,7 @@ item_db: (
},
{
Id: 24077
- AegisName: "Small_Shadow_Weapon"
+ AegisName: "S_Small_Weapon"
Name: "Small Shadow Weapon"
Type: 5
Buy: 10
@@ -147395,7 +148059,7 @@ item_db: (
},
{
Id: 24078
- AegisName: "Spiritual_Shadow_Weapon"
+ AegisName: "S_Spiritual_Weapon"
Name: "Spiritual Shadow Weapon"
Type: 5
Buy: 10
@@ -147407,7 +148071,7 @@ item_db: (
},
{
Id: 24079
- AegisName: "Spiritual_Shadow_Earring"
+ AegisName: "S_Spiritual_Earring"
Name: "Spiritual Shadow Earring"
Type: 5
Buy: 10
@@ -147419,7 +148083,7 @@ item_db: (
},
{
Id: 24080
- AegisName: "Spiritual_Shadow_Pendant"
+ AegisName: "S_Spiritual_Pendent"
Name: "Spiritual Shadow Pendant"
Type: 5
Buy: 10
@@ -147428,7 +148092,7 @@ item_db: (
},
{
Id: 24081
- AegisName: "Malevolent_Shadow_Armor"
+ AegisName: "S_Malicious_Armor"
Name: "Malevolent Shadow Armor"
Type: 5
Buy: 10
@@ -147440,7 +148104,7 @@ item_db: (
},
{
Id: 24082
- AegisName: "Malevolent_Shadow_Shoes"
+ AegisName: "S_Malicious_Shoes"
Name: "Malevolent Shadow Shoes"
Type: 5
Buy: 10
@@ -147449,7 +148113,7 @@ item_db: (
},
{
Id: 24083
- AegisName: "Malevolent_Shadow_Shield"
+ AegisName: "S_Malicious_Shield"
Name: "Malevolent Shadow Shield"
Type: 5
Buy: 10
@@ -147458,7 +148122,7 @@ item_db: (
},
{
Id: 24084
- AegisName: "Gemstone_Shadow_Armor"
+ AegisName: "S_Gemstone_Armor"
Name: "Gemstone Shadow Armor"
Type: 5
Buy: 10
@@ -147467,7 +148131,7 @@ item_db: (
},
{
Id: 24085
- AegisName: "Gemstone_Shadow_Shoes"
+ AegisName: "S_Gemstone_Shoes"
Name: "Gemstone Shadow Shoes"
Type: 5
Buy: 10
@@ -147476,7 +148140,7 @@ item_db: (
},
{
Id: 24086
- AegisName: "Gemstone_Shadow_Shield"
+ AegisName: "S_Gemstone_Shield"
Name: "Gemstone Shadow Shield"
Type: 5
Buy: 10
@@ -147485,7 +148149,7 @@ item_db: (
},
{
Id: 24087
- AegisName: "Gemstone_Shadow_Weapon"
+ AegisName: "S_Gemstone_Weapon"
Name: "Gemstone Shadow Weapon"
Type: 5
Buy: 10
@@ -147494,7 +148158,7 @@ item_db: (
},
{
Id: 24088
- AegisName: "Gemstone_Shadow_Earring"
+ AegisName: "S_Gemstone_Earring"
Name: "Gemstone Shadow Earring"
Type: 5
Buy: 10
@@ -147503,7 +148167,7 @@ item_db: (
},
{
Id: 24089
- AegisName: "Gemstone_Shadow_Pendant"
+ AegisName: "S_Gemstone_Pendent"
Name: "Gemstone Shadow Pendant"
Type: 5
Buy: 10
@@ -147512,7 +148176,7 @@ item_db: (
},
{
Id: 24090
- AegisName: "Stability_Shadow_Shield"
+ AegisName: "S_Stability_Shield"
Name: "Stability Shadow Shield"
Type: 5
Buy: 10
@@ -147531,7 +148195,7 @@ item_db: (
},
{
Id: 24091
- AegisName: "Plasterus_Shadow_Armor"
+ AegisName: "S_Plasterers_Armor"
Name: "Plasterus Shadow Armor"
Type: 5
Buy: 10
@@ -147543,7 +148207,7 @@ item_db: (
},
{
Id: 24092
- AegisName: "Plasterus_Shadow_Shoes"
+ AegisName: "S_Plasterers_Shoes"
Name: "Plasterus Shadow Shoes"
Type: 5
Buy: 10
@@ -147555,7 +148219,7 @@ item_db: (
},
{
Id: 24093
- AegisName: "Insomnia_Shadow_Armor"
+ AegisName: "S_Insomniac_Armor"
Name: "Insomnia Shadow Armor"
Type: 5
Buy: 10
@@ -147567,7 +148231,7 @@ item_db: (
},
{
Id: 24094
- AegisName: "Insomnia_Shadow_Shoes"
+ AegisName: "S_Insomniac_Shoes"
Name: "Insomnia Shadow Shoes"
Type: 5
Buy: 10
@@ -147579,7 +148243,7 @@ item_db: (
},
{
Id: 24095
- AegisName: "Peerless_Shadow_Armor"
+ AegisName: "S_Peerless_Armor"
Name: "Peerless Shadow Armor"
Type: 5
Buy: 10
@@ -147591,7 +148255,7 @@ item_db: (
},
{
Id: 24096
- AegisName: "Peerless_Shadow_Shoes"
+ AegisName: "S_Peerless_Shoes"
Name: "Peerless Shadow Shoes"
Type: 5
Buy: 10
@@ -147603,7 +148267,7 @@ item_db: (
},
{
Id: 24097
- AegisName: "Adurate_Shadow_Armor"
+ AegisName: "S_Adurate_Armor"
Name: "Adurate Shadow Armor"
Type: 5
Buy: 10
@@ -147615,7 +148279,7 @@ item_db: (
},
{
Id: 24098
- AegisName: "Adurate_Shadow_Shoes"
+ AegisName: "S_Adurate_Shoes"
Name: "Adurate Shadow Shoes"
Type: 5
Buy: 10
@@ -147627,7 +148291,7 @@ item_db: (
},
{
Id: 24099
- AegisName: "Freezing_Frozen_Shadow_Weapon"
+ AegisName: "Unfreez_Weapon_S"
Name: "Freezing Frozen Shadow Weapon"
Type: 5
Buy: 10
@@ -147639,7 +148303,7 @@ item_db: (
},
{
Id: 24100
- AegisName: "Freezing_Frozen_Shadow_Earring"
+ AegisName: "Unfreeze_Earing_S"
Name: "Freezing Frozen Shadow Earring"
Type: 5
Buy: 10
@@ -147651,7 +148315,7 @@ item_db: (
},
{
Id: 24101
- AegisName: "Freezing_Frozen_Shadow_Pendant"
+ AegisName: "Unfreeze_Pendent_S"
Name: "Freezing Frozen Shadow Pendant"
Type: 5
Buy: 10
@@ -147663,7 +148327,7 @@ item_db: (
},
{
Id: 24102
- AegisName: "Vitality_Shadow_Earring"
+ AegisName: "Vitality_Earing_S"
Name: "Vitality Shadow Earring"
Type: 5
Buy: 10
@@ -147675,7 +148339,7 @@ item_db: (
},
{
Id: 24103
- AegisName: "Vitality_Shadow_Pendant"
+ AegisName: "Vitality_Pendant_S"
Name: "Vitality Shadow Pendant"
Type: 5
Buy: 10
@@ -147687,7 +148351,7 @@ item_db: (
},
{
Id: 24104
- AegisName: "Neutral_Shadow_Weapon"
+ AegisName: "S_Neutral_Weapon"
Name: "Neutral Shadow Weapon"
Type: 5
Buy: 10
@@ -147699,7 +148363,7 @@ item_db: (
},
{
Id: 24105
- AegisName: "Neutral_Shadow_Earring"
+ AegisName: "S_Neutral_Earring"
Name: "Neutral Shadow Earring"
Type: 5
Buy: 10
@@ -147711,7 +148375,7 @@ item_db: (
},
{
Id: 24106
- AegisName: "Neutral_Shadow_Pendant"
+ AegisName: "S_Neutral_Pendent"
Name: "Neutral Shadow Pendant"
Type: 5
Buy: 10
@@ -147723,7 +148387,7 @@ item_db: (
},
{
Id: 24107
- AegisName: "Frozen_Curse_Shadow_Earring"
+ AegisName: "S_Curse_Lift_Earring"
Name: "Frozen Curse Shadow Earring"
Type: 5
Buy: 10
@@ -147735,7 +148399,7 @@ item_db: (
},
{
Id: 24108
- AegisName: "Frozen_Curse_Shadow_Pendant"
+ AegisName: "S_Curse_Lift_Pendent"
Name: "Frozen Curse Shadow Pendant"
Type: 5
Buy: 10
@@ -147747,7 +148411,7 @@ item_db: (
},
{
Id: 24109
- AegisName: "Caster_Shadow_Earrings"
+ AegisName: "S_Caster_earring"
Name: "Caster Shadow Earrings"
Type: 5
Buy: 10
@@ -147756,7 +148420,7 @@ item_db: (
},
{
Id: 24110
- AegisName: "Caster_Shadow_Weapon"
+ AegisName: "S_Caster_Weapon"
Name: "Caster Shadow Weapon"
Type: 5
Buy: 10
@@ -147767,7 +148431,7 @@ item_db: (
},
{
Id: 24111
- AegisName: "Spell_Flow_Shadow_Shoes"
+ AegisName: "S_Spell_Flow_Shoes"
Name: "Spell Flow Shadow Shoes"
Type: 5
Buy: 10
@@ -147779,7 +148443,7 @@ item_db: (
},
{
Id: 24112
- AegisName: "Spell_Flow_Shadow_Armor"
+ AegisName: "S_Spell_Flow_Armor"
Name: "Spell Flow Shadow Armor"
Type: 5
Buy: 10
@@ -147788,7 +148452,7 @@ item_db: (
},
{
Id: 24113
- AegisName: "Spell_Flow_Shadow_Shield"
+ AegisName: "S_Spell_Flow_Shield"
Name: "Spell Flow Shadow Shield"
Type: 5
Buy: 10
@@ -147800,7 +148464,7 @@ item_db: (
},
{
Id: 24114
- AegisName: "Greed_Shadow_Armor"
+ AegisName: "S_Greed_Armor"
Name: "Greed Shadow Armor"
Type: 5
Buy: 10
@@ -147812,7 +148476,7 @@ item_db: (
},
{
Id: 24115
- AegisName: "Greed_Shadow_Shoes"
+ AegisName: "S_Greed_Shoes"
Name: "Greed Shadow Shoes"
Type: 5
Buy: 10
@@ -147824,7 +148488,7 @@ item_db: (
},
{
Id: 24116
- AegisName: "Greed_Shadow_Shield"
+ AegisName: "S_Greed_Shield"
Name: "Greed Shadow Shield"
Type: 5
Buy: 10
@@ -147836,7 +148500,7 @@ item_db: (
},
{
Id: 24117
- AegisName: "Greed_Shadow_Weapon"
+ AegisName: "S_Greed_Weapon"
Name: "Greed Shadow Weapon"
Type: 5
Buy: 10
@@ -147848,7 +148512,7 @@ item_db: (
},
{
Id: 24118
- AegisName: "Greed_Shadow_Earring"
+ AegisName: "S_Greed_Earring"
Name: "Greed Shadow Earring"
Type: 5
Buy: 10
@@ -147860,7 +148524,7 @@ item_db: (
},
{
Id: 24119
- AegisName: "Greed_Shadow_Pendant"
+ AegisName: "S_Greed_Pendant"
Name: "Greed Shadow Pendant"
Type: 5
Buy: 10
@@ -147872,7 +148536,7 @@ item_db: (
},
{
Id: 24120
- AegisName: "Heal_Shadow_Armor"
+ AegisName: "S_Heal_Armor"
Name: "Heal Shadow Armor"
Type: 5
Buy: 10
@@ -147884,7 +148548,7 @@ item_db: (
},
{
Id: 24121
- AegisName: "Heal_Shadow_Shoes"
+ AegisName: "S_Heal_Shoes"
Name: "Heal Shadow Shoes"
Type: 5
Buy: 10
@@ -147896,7 +148560,7 @@ item_db: (
},
{
Id: 24122
- AegisName: "Heal_Shadow_Shield"
+ AegisName: "S_Heal_Shield"
Name: "Heal Shadow Shield"
Type: 5
Buy: 10
@@ -147908,7 +148572,7 @@ item_db: (
},
{
Id: 24123
- AegisName: "Heal_Shadow_Weapon"
+ AegisName: "S_Heal_Weapon"
Name: "Heal Shadow Weapon"
Type: 5
Buy: 10
@@ -147920,7 +148584,7 @@ item_db: (
},
{
Id: 24124
- AegisName: "Heal_Shadow_Earring"
+ AegisName: "S_Heal_Earring"
Name: "Heal Shadow Earring"
Type: 5
Buy: 10
@@ -147932,7 +148596,7 @@ item_db: (
},
{
Id: 24125
- AegisName: "Heal_Shadow_Pendant"
+ AegisName: "S_Heal_Pendant"
Name: "Heal Shadow Pendant"
Type: 5
Buy: 10
@@ -147944,7 +148608,7 @@ item_db: (
},
{
Id: 24126
- AegisName: "Hiding_Shadow_Armor"
+ AegisName: "S_Hiding_Armor"
Name: "Hiding Shadow Armor"
Type: 5
Buy: 10
@@ -147957,7 +148621,7 @@ item_db: (
},
{
Id: 24127
- AegisName: "Hiding_Shadow_Shoes"
+ AegisName: "S_Hiding_Shoes"
Name: "Hiding Shadow Shoes"
Type: 5
Buy: 10
@@ -147970,7 +148634,7 @@ item_db: (
},
{
Id: 24128
- AegisName: "Hiding_Shadow_Shield"
+ AegisName: "S_Hiding_Shield"
Name: "Hiding Shadow Shield"
Type: 5
Buy: 10
@@ -147983,7 +148647,7 @@ item_db: (
},
{
Id: 24129
- AegisName: "Hiding_Shadow_Weapon"
+ AegisName: "S_Hiding_Weapon"
Name: "Hiding Shadow Weapon"
Type: 5
Buy: 10
@@ -147996,7 +148660,7 @@ item_db: (
},
{
Id: 24130
- AegisName: "Hiding_Shadow_Earring"
+ AegisName: "S_Hiding_Earring"
Name: "Hiding Shadow Earring"
Type: 5
Buy: 10
@@ -148009,7 +148673,7 @@ item_db: (
},
{
Id: 24131
- AegisName: "Hiding_Shadow_Pendant"
+ AegisName: "S_Hiding_Pendant"
Name: "Hiding Shadow Pendant"
Type: 5
Buy: 10
@@ -148022,7 +148686,7 @@ item_db: (
},
{
Id: 24132
- AegisName: "Cloaking_Shadow_Armor"
+ AegisName: "S_Cloaking_Armor"
Name: "Cloaking Shadow Armor"
Type: 5
Buy: 10
@@ -148035,7 +148699,7 @@ item_db: (
},
{
Id: 24133
- AegisName: "Cloaking_Shadow_Shoes"
+ AegisName: "S_Cloaking_Shoes"
Name: "Cloaking Shadow Shoes"
Type: 5
Buy: 10
@@ -148048,7 +148712,7 @@ item_db: (
},
{
Id: 24134
- AegisName: "Cloaking_Shadow_Shield"
+ AegisName: "S_Cloaking_Shield"
Name: "Cloaking Shadow Shield"
Type: 5
Buy: 10
@@ -148061,7 +148725,7 @@ item_db: (
},
{
Id: 24135
- AegisName: "Cloaking_Shadow_Weapon"
+ AegisName: "S_Cloaking_Weapon"
Name: "Cloaking Shadow Weapon"
Type: 5
Buy: 10
@@ -148074,7 +148738,7 @@ item_db: (
},
{
Id: 24136
- AegisName: "Cloaking_Shadow_Earring"
+ AegisName: "S_Cloaking_Earring"
Name: "Cloaking Shadow Earring"
Type: 5
Buy: 10
@@ -148087,7 +148751,7 @@ item_db: (
},
{
Id: 24137
- AegisName: "Cloaking_Shadow_Pendant"
+ AegisName: "S_Cloaking_Pendant"
Name: "Cloaking Shadow Pendant"
Type: 5
Buy: 10
@@ -148100,7 +148764,7 @@ item_db: (
},
{
Id: 24138
- AegisName: "Teleport_Shadow_Armor"
+ AegisName: "S_Teleport_Armor"
Name: "Teleport Shadow Armor"
Type: 5
Buy: 10
@@ -148112,7 +148776,7 @@ item_db: (
},
{
Id: 24139
- AegisName: "Teleport_Shadow_Shoes"
+ AegisName: "S_Teleport_Shoes"
Name: "Teleport Shadow Shoes"
Type: 5
Buy: 10
@@ -148124,7 +148788,7 @@ item_db: (
},
{
Id: 24140
- AegisName: "Teleport_Shadow_Shield"
+ AegisName: "S_Teleport_Shield"
Name: "Teleport Shadow Shield"
Type: 5
Buy: 10
@@ -148136,7 +148800,7 @@ item_db: (
},
{
Id: 24141
- AegisName: "Teleport_Shadow_Weapon"
+ AegisName: "S_Teleport_Weapon"
Name: "Teleport Shadow Weapon"
Type: 5
Buy: 10
@@ -148148,7 +148812,7 @@ item_db: (
},
{
Id: 24142
- AegisName: "Teleport_Shadow_Earring"
+ AegisName: "S_Teleport_Earring"
Name: "Teleport Shadow Earring"
Type: 5
Buy: 10
@@ -148160,7 +148824,7 @@ item_db: (
},
{
Id: 24143
- AegisName: "Teleport_Shadow_Pendant"
+ AegisName: "S_Teleport_Pendant"
Name: "Teleport Shadow Pendant"
Type: 5
Buy: 10
@@ -148172,7 +148836,7 @@ item_db: (
},
{
Id: 24144
- AegisName: "Steal_Shadow_Armor"
+ AegisName: "S_Steal_Armor"
Name: "Steal Shadow Armor"
Type: 5
Buy: 10
@@ -148184,7 +148848,7 @@ item_db: (
},
{
Id: 24145
- AegisName: "Steal_Shadow_Shoes"
+ AegisName: "S_Steal_Shoes"
Name: "Steal Shadow Shoes"
Type: 5
Buy: 10
@@ -148196,7 +148860,7 @@ item_db: (
},
{
Id: 24146
- AegisName: "Steal_Shadow_Shield"
+ AegisName: "S_Steal_Shield"
Name: "Steal Shadow Shield"
Type: 5
Buy: 10
@@ -148208,7 +148872,7 @@ item_db: (
},
{
Id: 24147
- AegisName: "Steal_Shadow_Weapon"
+ AegisName: "S_Steal_Weapon"
Name: "Steal Shadow Weapon"
Type: 5
Buy: 10
@@ -148220,7 +148884,7 @@ item_db: (
},
{
Id: 24148
- AegisName: "Steal_Shadow_Earring"
+ AegisName: "S_Steal_Earring"
Name: "Steal Shadow Earring"
Type: 5
Buy: 10
@@ -148232,7 +148896,7 @@ item_db: (
},
{
Id: 24149
- AegisName: "Steal_Shadow_Pendant"
+ AegisName: "S_Steal_Pendant"
Name: "Steal Shadow Pendant"
Type: 5
Buy: 10
@@ -148244,7 +148908,7 @@ item_db: (
},
{
Id: 24150
- AegisName: "Infinity_Shadow_Earring"
+ AegisName: "S_Infinity_Earring"
Name: "Infinity Shadow Earring"
Type: 5
Buy: 10
@@ -148255,7 +148919,7 @@ item_db: (
},
{
Id: 24151
- AegisName: "Infinity_Shadow_Pendant"
+ AegisName: "S_Infinity_Pendant"
Name: "Infinity Shadow Pendant"
Type: 5
Buy: 10
@@ -148266,7 +148930,7 @@ item_db: (
},
{
Id: 24152
- AegisName: "Solid_Shadow_Weapon"
+ AegisName: "S_Solid_Weapon"
Name: "Solid Shadow Weapon"
Type: 5
Buy: 10
@@ -148275,7 +148939,7 @@ item_db: (
},
{
Id: 24153
- AegisName: "Solid_Shadow_Earring"
+ AegisName: "S_Solid_Earring"
Name: "Solid Shadow Earring"
Type: 5
Buy: 10
@@ -148284,7 +148948,7 @@ item_db: (
},
{
Id: 24154
- AegisName: "Solid_Shadow_Armor"
+ AegisName: "S_Immortal_Armor"
Name: "Solid Shadow Armor"
Type: 5
Buy: 10
@@ -148293,7 +148957,7 @@ item_db: (
},
{
Id: 24155
- AegisName: "Solid_Shadow_Pendant"
+ AegisName: "S_Immortal_Pendant"
Name: "Solid Shadow Pendant"
Type: 5
Buy: 10
@@ -148302,7 +148966,7 @@ item_db: (
},
{
Id: 24156
- AegisName: "Demihuman_Shadow_Weapon"
+ AegisName: "S_Executioner_Weapon"
Name: "Demihuman Shadow Weapon"
Type: 5
Buy: 10
@@ -148311,7 +148975,7 @@ item_db: (
},
{
Id: 24157
- AegisName: "Exorcist_Shadow_Weapon"
+ AegisName: "S_Exorcist_Weapon"
Name: "Exorcist Shadow Weapon"
Type: 5
Buy: 10
@@ -148320,7 +148984,7 @@ item_db: (
},
{
Id: 24158
- AegisName: "Hunting_Shadow_Weapon"
+ AegisName: "S_Hunting_Weapon"
Name: "Hunting Shadow Weapon"
Type: 5
Buy: 10
@@ -148329,7 +148993,7 @@ item_db: (
},
{
Id: 24159
- AegisName: "Insect_Shadow_Weapon"
+ AegisName: "S_Insect_Net_Weapon"
Name: "Insect Shadow Weapon"
Type: 5
Buy: 10
@@ -148338,7 +149002,7 @@ item_db: (
},
{
Id: 24160
- AegisName: "Fishing_Shadow_Weapon"
+ AegisName: "S_Fishing_Weapon"
Name: "Fishing Shadow Weapon"
Type: 5
Buy: 10
@@ -148347,7 +149011,7 @@ item_db: (
},
{
Id: 24161
- AegisName: "Dragon_Killer_Shadow_Weapon"
+ AegisName: "S_Dragon_Killer_Weapon"
Name: "Dragon Killer Shadow Weapon"
Type: 5
Buy: 10
@@ -148356,7 +149020,7 @@ item_db: (
},
{
Id: 24162
- AegisName: "Angelus_Shadow_Weapon"
+ AegisName: "S_Corrupt_Weapon"
Name: "Angelus Shadow Weapon"
Type: 5
Buy: 10
@@ -148365,7 +149029,7 @@ item_db: (
},
{
Id: 24163
- AegisName: "Formless_Shadow_Weapon"
+ AegisName: "S_Vibration_Weapon"
Name: "Formless Shadow Weapon"
Type: 5
Buy: 10
@@ -148374,7 +149038,7 @@ item_db: (
},
{
Id: 24164
- AegisName: "Holy_Water_Shadow_Weapon"
+ AegisName: "S_Holy_Water_Weapon"
Name: "Holy Water Shadow Weapon"
Type: 5
Buy: 10
@@ -148383,7 +149047,7 @@ item_db: (
},
{
Id: 24165
- AegisName: "Plant_Shadow_Weapon"
+ AegisName: "S_Scissors_Weapon"
Name: "Plant Shadow Weapon"
Type: 5
Buy: 10
@@ -148392,7 +149056,7 @@ item_db: (
},
{
Id: 24166
- AegisName: "Penetration_Shadow_Earring"
+ AegisName: "S_Penetration_Earring"
Name: "Penetration Shadow Earring"
Type: 5
Buy: 10
@@ -148401,7 +149065,7 @@ item_db: (
},
{
Id: 24167
- AegisName: "Penetration_Shadow_Pendant"
+ AegisName: "S_Penetration_Pendent"
Name: "Penetration Shadow Pendant"
Type: 5
Buy: 10
@@ -148410,7 +149074,7 @@ item_db: (
},
{
Id: 24168
- AegisName: "Tempest_Shadow_Earring"
+ AegisName: "S_Tempest_Earring"
Name: "Tempest Shadow Earring"
Type: 5
Buy: 10
@@ -148419,7 +149083,7 @@ item_db: (
},
{
Id: 24169
- AegisName: "Tempest_Pendant_Shadow"
+ AegisName: "S_Tempest_Pendent"
Name: "Tempest Pendant Shadow"
Type: 5
Buy: 10
@@ -148428,7 +149092,7 @@ item_db: (
},
{
Id: 24170
- AegisName: "Magic_Executioner_Shadow_Weapon"
+ AegisName: "S_M_Executioner_Weapon"
Name: "Magic Executioner Shadow Weapon"
Type: 5
Buy: 10
@@ -148437,7 +149101,7 @@ item_db: (
},
{
Id: 24171
- AegisName: "Magic_Exorcist_Shadow_Weapon"
+ AegisName: "S_M_Exorcist_Weapon"
Name: "Magic Exorcist Shadow Weapon"
Type: 5
Buy: 10
@@ -148446,7 +149110,7 @@ item_db: (
},
{
Id: 24172
- AegisName: "Magic_Hunting_Shadow_Weapon"
+ AegisName: "S_M_Hunting_Weapon"
Name: "Magic Hunting Shadow Weapon"
Type: 5
Buy: 10
@@ -148455,7 +149119,7 @@ item_db: (
},
{
Id: 24173
- AegisName: "Magic_Insecticide_Shadow_Weapon"
+ AegisName: "S_M_Insect_Net_Weapon"
Name: "Magic Insecticide Shadow Weapon"
Type: 5
Buy: 10
@@ -148464,7 +149128,7 @@ item_db: (
},
{
Id: 24174
- AegisName: "Magic_Fishing_Shadow_Weapon"
+ AegisName: "S_M_Fishing_Weapon"
Name: "Magic Fishing Shadow Weapon"
Type: 5
Buy: 10
@@ -148473,7 +149137,7 @@ item_db: (
},
{
Id: 24175
- AegisName: "Magic_Dragon_Killer_Shadow_Weapon"
+ AegisName: "S_M_Dragon_K_Weapon"
Name: "Magic Dragon Killer Shadow Weapon"
Type: 5
Buy: 10
@@ -148482,7 +149146,7 @@ item_db: (
},
{
Id: 24176
- AegisName: "Magic_Angelus_Shadow_Weapon"
+ AegisName: "S_M_Corrupt_Weapon"
Name: "Magic Angelus Shadow Weapon"
Type: 5
Buy: 10
@@ -148491,7 +149155,7 @@ item_db: (
},
{
Id: 24177
- AegisName: "Magic_Formless_Shadow_Weapon"
+ AegisName: "S_M_Vibration_Weapon"
Name: "Magic Formless Shadow Weapon"
Type: 5
Buy: 10
@@ -148500,7 +149164,7 @@ item_db: (
},
{
Id: 24178
- AegisName: "Magic_Holy_Water_Shadow_Weapon"
+ AegisName: "S_M_Holy_Water_Weapon"
Name: "Magic Holy Water Shadow Weapon"
Type: 5
Buy: 10
@@ -148509,7 +149173,7 @@ item_db: (
},
{
Id: 24179
- AegisName: "Magic_Caesars_Shadow_Weapon"
+ AegisName: "S_M_Scissors_Weapon"
Name: "Magic Caesars Shadow Weapon"
Type: 5
Buy: 10
@@ -148518,7 +149182,7 @@ item_db: (
},
{
Id: 24180
- AegisName: "Bearer's_Shadow_Armor"
+ AegisName: "S_Bearers_Armor"
Name: "Bearer's Shadow Armor"
Type: 5
Buy: 10
@@ -148527,7 +149191,7 @@ item_db: (
},
{
Id: 24181
- AegisName: "Bearer's_Shadow_Shoes"
+ AegisName: "S_Bearers_Shoes"
Name: "Bearer's Shadow Shoes"
Type: 5
Buy: 10
@@ -148536,7 +149200,7 @@ item_db: (
},
{
Id: 24182
- AegisName: "Bearer's_Shadow_Shield"
+ AegisName: "S_Bearers_Shield"
Name: "Bearer's Shadow Shield"
Type: 5
Buy: 10
@@ -148545,7 +149209,7 @@ item_db: (
},
{
Id: 24183
- AegisName: "Bearer's_Shadow_Weapon"
+ AegisName: "S_Bearers_Weapon"
Name: "Bearer's Shadow Weapon"
Type: 5
Buy: 10
@@ -148554,7 +149218,7 @@ item_db: (
},
{
Id: 24184
- AegisName: "Bearer's_Shadow_Earring"
+ AegisName: "S_Bearers_Earring"
Name: "Bearer's Shadow Earring"
Type: 5
Buy: 10
@@ -148563,7 +149227,7 @@ item_db: (
},
{
Id: 24185
- AegisName: "Bearer's_Shadow_Pendant"
+ AegisName: "S_Bearers_Pendent"
Name: "Bearer's Shadow Pendant"
Type: 5
Buy: 10
@@ -148572,7 +149236,7 @@ item_db: (
},
{
Id: 24186
- AegisName: "Basis_Shadow_Armor"
+ AegisName: "S_Basis_Armor"
Name: "Basis Shadow Armor"
Type: 5
Buy: 10
@@ -148584,7 +149248,7 @@ item_db: (
},
{
Id: 24187
- AegisName: "Hallowed_Shadow_Armor"
+ AegisName: "S_Hallowed_Armor"
Name: "Hallowed Shadow Armor"
Type: 5
Buy: 10
@@ -148596,7 +149260,7 @@ item_db: (
},
{
Id: 24188
- AegisName: "Underneith_Shadow_Armor"
+ AegisName: "S_Saharic_Armor"
Name: "Underneith Shadow Armor"
Type: 5
Buy: 10
@@ -148608,7 +149272,7 @@ item_db: (
},
{
Id: 24189
- AegisName: "Underneath_Shadow_Armor"
+ AegisName: "S_Underneath_Armor"
Name: "Underneath Shadow Armor"
Type: 5
Buy: 10
@@ -148620,7 +149284,7 @@ item_db: (
},
{
Id: 24190
- AegisName: "Flame_Shadow_Armor"
+ AegisName: "S_Flam_Armor"
Name: "Flame Shadow Armor"
Type: 5
Buy: 10
@@ -148632,7 +149296,7 @@ item_db: (
},
{
Id: 24191
- AegisName: "Windy_Shadow_Armor"
+ AegisName: "S_Windy_Armor"
Name: "Windy Shadow Armor"
Type: 5
Buy: 10
@@ -148644,7 +149308,7 @@ item_db: (
},
{
Id: 24192
- AegisName: "Envenom_Shadow_Armor"
+ AegisName: "S_Envenom_Armor"
Name: "Envenom Shadow Armor"
Type: 5
Buy: 10
@@ -148656,7 +149320,7 @@ item_db: (
},
{
Id: 24193
- AegisName: "Damned_Shadow_Armor"
+ AegisName: "S_Damned_Armor"
Name: "Damned Shadow Armor"
Type: 5
Buy: 10
@@ -148668,7 +149332,7 @@ item_db: (
},
{
Id: 24194
- AegisName: "Exorcism_Shadow_Armor"
+ AegisName: "S_Geist_Armor"
Name: "Exorcism Shadow Armor"
Type: 5
Buy: 10
@@ -148680,7 +149344,7 @@ item_db: (
},
{
Id: 24195
- AegisName: "Divine_Shadow_Armor"
+ AegisName: "S_Divine_Armor"
Name: "Divine Shadow Armor"
Type: 5
Buy: 10
@@ -148692,7 +149356,7 @@ item_db: (
},
{
Id: 24196
- AegisName: "Hasty_Shadow_Shoes"
+ AegisName: "S_Hasty_Shoes"
Name: "Hasty Shadow Shoes"
Type: 5
Buy: 10
@@ -148701,7 +149365,7 @@ item_db: (
},
{
Id: 24197
- AegisName: "Hasty_Shadow_Armor"
+ AegisName: "S_Hasty_Armor"
Name: "Hasty Shadow Armor"
Type: 5
Buy: 10
@@ -148710,7 +149374,7 @@ item_db: (
},
{
Id: 24198
- AegisName: "Basis_Shadow_Shield"
+ AegisName: "S_Basis_Shield"
Name: "Basis Shadow Shield"
Type: 5
Buy: 10
@@ -148723,7 +149387,7 @@ item_db: (
},
{
Id: 24199
- AegisName: "Hallowed_Shadow_Shield"
+ AegisName: "S_Hallowed_Shield"
Name: "Hallowed Shadow Shield"
Type: 5
Buy: 10
@@ -148736,7 +149400,7 @@ item_db: (
},
{
Id: 24200
- AegisName: "Saharic_Shadow_Shield"
+ AegisName: "S_Saharic_Shield"
Name: "Saharic Shadow Shield"
Type: 5
Buy: 10
@@ -148749,7 +149413,7 @@ item_db: (
},
{
Id: 24201
- AegisName: "Underneath_Shadow_Shield"
+ AegisName: "S_Underneath_Shield"
Name: "Underneath Shadow Shield"
Type: 5
Buy: 10
@@ -148762,7 +149426,7 @@ item_db: (
},
{
Id: 24202
- AegisName: "Flammable_Shadow_Shield"
+ AegisName: "S_Flam_Shield"
Name: "Flammable Shadow Shield"
Type: 5
Buy: 10
@@ -148775,7 +149439,7 @@ item_db: (
},
{
Id: 24203
- AegisName: "Windy_Shadow_Shield"
+ AegisName: "S_Windy_Shield"
Name: "Windy Shadow Shield"
Type: 5
Buy: 10
@@ -148788,7 +149452,7 @@ item_db: (
},
{
Id: 24204
- AegisName: "Envenom_Shadow_Shield"
+ AegisName: "S_Envenom_Shield"
Name: "Envenom Shadow Shield"
Type: 5
Buy: 10
@@ -148801,7 +149465,7 @@ item_db: (
},
{
Id: 24205
- AegisName: "Damned_Shadow_Shield"
+ AegisName: "S_Damned_Shield"
Name: "Damned Shadow Shield"
Type: 5
Buy: 10
@@ -148814,7 +149478,7 @@ item_db: (
},
{
Id: 24206
- AegisName: "Exorcism_Shadow_Shield"
+ AegisName: "S_Geist_Shield"
Name: "Exorcism Shadow Shield"
Type: 5
Buy: 10
@@ -148827,7 +149491,7 @@ item_db: (
},
{
Id: 24207
- AegisName: "Divine_Shadow_Shield"
+ AegisName: "S_Divine_Shield"
Name: "Divine Shadow Shield"
Type: 5
Buy: 10
@@ -148840,7 +149504,7 @@ item_db: (
},
{
Id: 24208
- AegisName: "Expert_Shadow_Shoes"
+ AegisName: "S_Expert_Shoes"
Name: "Expert Shadow Shoes"
Type: 5
Buy: 20
@@ -148851,7 +149515,7 @@ item_db: (
},
{
Id: 24209
- AegisName: "Expert_Shield_Shadow"
+ AegisName: "S_Expert_Shield"
Name: "Expert Shadow Shield"
Type: 5
Buy: 10
@@ -148861,7 +149525,7 @@ item_db: (
},
{
Id: 24210
- AegisName: "Beginner_Shadow_Shoes"
+ AegisName: "S_Beginner_Shoes"
Name: "Beginner Shadow Shoes"
Type: 5
Buy: 20
@@ -148871,7 +149535,7 @@ item_db: (
},
{
Id: 24211
- AegisName: "Beginner_Shadow_Shield"
+ AegisName: "S_Beginner_Shield"
Name: "Beginner Shadow Shield"
Type: 5
Buy: 10
@@ -148881,7 +149545,7 @@ item_db: (
},
{
Id: 24212
- AegisName: "Rookie_Shadow_Shoes"
+ AegisName: "S_Rookie_Shoes"
Name: "Rookie Shadow Shoes"
Type: 5
Buy: 10
@@ -148891,7 +149555,7 @@ item_db: (
},
{
Id: 24213
- AegisName: "Rookie_Shadow_Shield"
+ AegisName: "S_Rookie_Shield"
Name: "Rookie Shadow Shield"
Type: 5
Buy: 10
@@ -148901,7 +149565,7 @@ item_db: (
},
{
Id: 24214
- AegisName: "Advanced_Shadow_Shoes"
+ AegisName: "S_Advanced_Shoes"
Name: "Advanced Shadow Shoes"
Type: 5
Buy: 20
@@ -148911,7 +149575,7 @@ item_db: (
},
{
Id: 24215
- AegisName: "Advanced_Shadow_Shield"
+ AegisName: "S_Advanced_Shield"
Name: "Advanced Shadow Shield"
Type: 5
Buy: 10
@@ -148921,7 +149585,7 @@ item_db: (
},
{
Id: 24216
- AegisName: "Attack_Shadow_Armor"
+ AegisName: "S_Attack_Armor"
Name: "Attack Shadow Armor"
Type: 5
Buy: 10
@@ -148932,7 +149596,7 @@ item_db: (
},
{
Id: 24217
- AegisName: "Blitz_Shadow_Earring"
+ AegisName: "S_Blitz_Earring"
Name: "Blitz Shadow Earring"
Type: 5
Buy: 10
@@ -148944,7 +149608,7 @@ item_db: (
},
{
Id: 24218
- AegisName: "Blitz_Shadow_Pendant"
+ AegisName: "S_Blitz_Pendent"
Name: "Blitz Shadow Pendant"
Type: 5
Buy: 10
@@ -148956,7 +149620,7 @@ item_db: (
},
{
Id: 24219
- AegisName: "Cold_Bolt_Shadow_Armor"
+ AegisName: "S_ColdBolt_Armor"
Name: "Cold Bolt Shadow Armor"
Type: 5
Buy: 10
@@ -148969,7 +149633,7 @@ item_db: (
},
{
Id: 24220
- AegisName: "Fire_Bolt_Shadow_Armor"
+ AegisName: "S_FireBolt_Armor"
Name: "Fire Bolt Shadow Armor"
Type: 5
Buy: 10
@@ -148982,7 +149646,7 @@ item_db: (
},
{
Id: 24221
- AegisName: "Lightning_Bolt_Shadow_Armor"
+ AegisName: "S_LightingBolt_Armor"
Name: "Lightning Bolt Shadow Armor"
Type: 5
Buy: 10
@@ -148995,7 +149659,7 @@ item_db: (
},
{
Id: 24222
- AegisName: "Earth_Spike_Shadow_Armor"
+ AegisName: "S_EarthSpike_Armor"
Name: "Earth Spike Shadow Armor"
Type: 5
Buy: 10
@@ -149008,7 +149672,7 @@ item_db: (
},
{
Id: 24223
- AegisName: "Enhanced_Force_Shadow_Weapon"
+ AegisName: "S_Enhance_Force_Weapon"
Name: "Enhanced Force Shadow Weapon"
Type: 5
Buy: 10
@@ -149022,7 +149686,7 @@ item_db: (
},
{
Id: 24224
- AegisName: "Force_Shadow_Weapon"
+ AegisName: "S_Force_Weapon"
Name: "Force Shadow Weapon"
Type: 5
Buy: 10
@@ -149036,7 +149700,7 @@ item_db: (
},
{
Id: 24225
- AegisName: "Force_Shadow_Earring"
+ AegisName: "S_Force_Earring"
Name: "Force Shadow Earring"
Type: 5
Buy: 10
@@ -149050,7 +149714,7 @@ item_db: (
},
{
Id: 24226
- AegisName: "Force_Shadow_Pendant"
+ AegisName: "S_Force_Pendant"
Name: "Force Shadow Pendant"
Type: 5
Buy: 10
@@ -149064,7 +149728,7 @@ item_db: (
},
{
Id: 24227
- AegisName: "Enhanced_Soul_Shadow_Weapon"
+ AegisName: "S_Enhance_Spirit_Weapon"
Name: "Enhanced Soul Shadow Weapon"
Type: 5
Buy: 10
@@ -149078,7 +149742,7 @@ item_db: (
},
{
Id: 24228
- AegisName: "Soul_Shadow_Weapon"
+ AegisName: "S_Spirit_Weapon"
Name: "Soul Shadow Weapon"
Type: 5
Buy: 10
@@ -149092,7 +149756,7 @@ item_db: (
},
{
Id: 24229
- AegisName: "Soul_Shadow_Earring"
+ AegisName: "S_Spirit_Earring"
Name: "Soul Shadow Earring"
Type: 5
Buy: 10
@@ -149106,7 +149770,7 @@ item_db: (
},
{
Id: 24230
- AegisName: "Soul_Shadow_Pendant"
+ AegisName: "S_Spirit_Pendant"
Name: "Soul Shadow Pendant"
Type: 5
Buy: 10
@@ -149120,7 +149784,7 @@ item_db: (
},
{
Id: 24231
- AegisName: "Blitz_Shadow_Shoes"
+ AegisName: "S_Blitz_Shoes"
Name: "Blitz Shadow Shoes"
Type: 5
Buy: 10
@@ -149134,7 +149798,7 @@ item_db: (
},
{
Id: 24232
- AegisName: "Blitz_Shadow_Shield"
+ AegisName: "S_Blitz_Shield"
Name: "Blitz Shadow Shield"
Type: 5
Buy: 10
@@ -149148,7 +149812,7 @@ item_db: (
},
{
Id: 24233
- AegisName: "Exceeding_Shadow_Weapon"
+ AegisName: "S_Exceed_Weapon"
Name: "Exceeding Shadow Weapon"
Type: 5
Buy: 10
@@ -149162,7 +149826,7 @@ item_db: (
},
{
Id: 24234
- AegisName: "Titan_Shadow_Earring"
+ AegisName: "S_Titan_Earring"
Name: "Titan Shadow Earring"
Type: 5
Buy: 10
@@ -149175,7 +149839,7 @@ item_db: (
},
{
Id: 24235
- AegisName: "Titan_Shadow_Pendant"
+ AegisName: "S_Titan_Pendant"
Name: "Titan Shadow Pendant"
Type: 5
Buy: 10
@@ -149189,7 +149853,7 @@ item_db: (
},
{
Id: 24236
- AegisName: "Boned_Shadow_Earring"
+ AegisName: "S_Boned_Earring"
Name: "Boned Shadow Earring"
Type: 5
Buy: 10
@@ -149202,7 +149866,7 @@ item_db: (
},
{
Id: 24237
- AegisName: "Boned_Shadow_Pendant"
+ AegisName: "S_Boned_Pendant"
Name: "Boned Shadow Pendant"
Type: 5
Buy: 10
@@ -149216,7 +149880,7 @@ item_db: (
},
{
Id: 24238
- AegisName: "Gigantic_Shadow_Earring"
+ AegisName: "S_Gigantic_Earring"
Name: "Gigantic Shadow Earring"
Type: 5
Buy: 10
@@ -149229,7 +149893,7 @@ item_db: (
},
{
Id: 24239
- AegisName: "Gigantic_Shadow_Pendant"
+ AegisName: "S_Gigantic_Pendant"
Name: "Gigantic Shadow Pendant"
Type: 5
Buy: 10
@@ -149243,7 +149907,7 @@ item_db: (
},
{
Id: 24240
- AegisName: "Caster_Shadow_Shoes"
+ AegisName: "S_Caster_Shoes"
Name: "Caster Shadow Shoes"
Type: 5
Buy: 10
@@ -149256,7 +149920,7 @@ item_db: (
},
{
Id: 24241
- AegisName: "Caster_Shadow_Shield"
+ AegisName: "S_Caster_Shield"
Name: "Caster Shadow Shield"
Type: 5
Buy: 10
@@ -149269,7 +149933,7 @@ item_db: (
},
{
Id: 24242
- AegisName: "Caster_Shadow_Armor"
+ AegisName: "S_Caster_Armor"
Name: "Caster Shadow Armor"
Type: 5
Buy: 10
@@ -149282,7 +149946,7 @@ item_db: (
},
{
Id: 24243
- AegisName: "Reload_Shadow_Shoes"
+ AegisName: "S_Reload_Shoes"
Name: "Reload Shadow Shoes"
Type: 5
Buy: 10
@@ -149295,7 +149959,7 @@ item_db: (
},
{
Id: 24244
- AegisName: "Reload_Shadow_Shield"
+ AegisName: "S_Reload_Shield"
Name: "Reload Shadow Shield"
Type: 5
Buy: 10
@@ -149308,7 +149972,7 @@ item_db: (
},
{
Id: 24245
- AegisName: "Reload_Shadow_Armor"
+ AegisName: "S_Reload_Armor"
Name: "Reload Shadow Armor"
Type: 5
Buy: 10
@@ -149319,11 +149983,36 @@ item_db: (
if (getrefine()>=9) { bonus bDelayrate,-1; }
">
},
+//== New Staffs ============================================
+{
+ Id: 26101
+ AegisName: "Paradise_Foxtail_Staff_III"
+ Name: "Eden Group Foxtail Staff III"
+ Type: 4
+ Buy: 20
+ Atk: 150
+ Matk: 195
+ Range: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 7
+ Loc: 2
+ WeaponLv: 3
+ EquipLv: 60
+ Refine: false
+ View: 10
+ Script: <"
+ bonus bDex,5;
+ bonus bInt,5;
+ bonus bLongAtkRate,7;
+ ">
+},
//== New Katars ============================================
{
Id: 28000
- AegisName: "Thanatos_Katar"
+ AegisName: "Thanos_Katar"
Name: "Thanatos Katar"
Type: 4
Buy: 20
@@ -149352,7 +150041,7 @@ item_db: (
},
{
Id: 28001
- AegisName: "Evil_Slayer_Ripper_Katar"
+ AegisName: "Katar_Of_Evil_Slayer"
Name: "Evil Slayer Ripper Katar"
Type: 4
Buy: 20
@@ -149402,7 +150091,7 @@ item_db: (
},
{
Id: 28007
- AegisName: "Crimson_Katar"
+ AegisName: "Scarlet_Katar"
Name: "Crimson Katar"
Type: 4
Buy: 20
@@ -149471,7 +150160,7 @@ item_db: (
//== New Axes ==============================================
{
Id: 28100
- AegisName: "Thanatos_Axe"
+ AegisName: "Thanos_Axe"
Name: "Thanatos Axe"
Type: 4
Buy: 20
@@ -149505,7 +150194,7 @@ item_db: (
},
{
Id: 28101
- AegisName: "Axe_Tornado"
+ AegisName: "Tornado_Axe"
Name: "Axe Tornado"
Type: 4
Buy: 500
@@ -149565,7 +150254,7 @@ item_db: (
},
{
Id: 28106
- AegisName: "Crimson_Two_handed_Axe"
+ AegisName: "Scarlet_Twohand_Axe"
Name: "Crimson Two-handed Axe"
Type: 4
Buy: 20
@@ -149622,7 +150311,7 @@ item_db: (
//== New Grenade Launcher ==================================
{
Id: 28200
- AegisName: "End_Of_The_Horizon"
+ AegisName: "END_OF_HORIZON"
Name: "End Of The Horizon"
Type: 4
Buy: 2700000
@@ -149640,7 +150329,7 @@ item_db: (
},
{
Id: 28201
- AegisName: "South_Cross"
+ AegisName: "Southern_Cross_R"
Name: "Southern Cross"
Type: 4
Buy: 2800000
@@ -149658,7 +150347,7 @@ item_db: (
},
{
Id: 28202
- AegisName: "Southern_Cross_"
+ AegisName: "Southern_Cross_R_"
Name: "Southern Cross"
Type: 4
Buy: 2800000
@@ -149728,7 +150417,7 @@ item_db: (
//== New Accessories =======================================
{
Id: 28306
- AegisName: "Luna's_Blessing"
+ AegisName: "Bless_Of_Moon"
Name: "Luna's Blessing"
Type: 5
Weight: 100
@@ -149743,7 +150432,7 @@ item_db: (
},
{
Id: 28310
- AegisName: "Sarah's_Left_Earring"
+ AegisName: "Earring_Of_Sarah_L"
Name: "Sarah's Left Earring"
Type: 5
Weight: 100
@@ -149764,7 +150453,7 @@ item_db: (
},
{
Id: 28311
- AegisName: "Sarah's_Right_Earring"
+ AegisName: "Earring_Of_Sarah_R"
Name: "Sarah's Right Earring"
Type: 5
Weight: 100
@@ -149799,7 +150488,7 @@ item_db: (
},
{
Id: 28326
- AegisName: "Broken_Chips_01"
+ AegisName: "Broken_Chip_1"
Name: "Broken Chips 01"
Type: 5
Buy: 10
@@ -149811,7 +150500,7 @@ item_db: (
},
{
Id: 28327
- AegisName: "Broken_Chips_02"
+ AegisName: "Broken_Chip_2"
Name: "Broken Chips 02"
Type: 5
Buy: 10
@@ -149823,7 +150512,7 @@ item_db: (
},
{
Id: 28332
- AegisName: "Jewerly_Ring"
+ AegisName: "Jewel_Ring"
Name: "Jewerly Ring"
Type: 5
Buy: 10
@@ -149965,11 +150654,317 @@ item_db: (
bonus bMaxSPrate,3;
">
},
+{
+ Id: 28374
+ AegisName: "Foxtail_Ring"
+ Name: "Foxtail Ring"
+ Type: 4
+ Buy: 20
+ Weight: 100
+ Job: {
+ Summoner: true
+ }
+ Loc: 136
+ EquipLv: 1
+ Refine: false
+ Script: <"
+ bonus2 bExpAddRace,RC_All,5;
+ .@lvl = min(BaseLevel/5,10);
+ bonus bAtk,2*.@lvl;
+ bonus bMatk,2*.@lvl;
+ bonus bMaxHP,10*.@lvl;
+ bonus bMaxSP,5*.@lvl;
+ ">
+},
+{
+ Id: 28380
+ AegisName: "Fresh_Grass_Necklace"
+ Name: "Fresh Grass Necklace"
+ Type: 4
+ Buy: 20
+ Weight: 100
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus bFlee2,5;
+ bonus2 bSkillCooldown,SU_SCAROFTAROU,-5000;
+ ">
+},
+{
+ Id: 28381
+ AegisName: "Cute_Grass_Necklace"
+ Name: "Cute Grass Necklace"
+ Type: 4
+ Buy: 20
+ Weight: 10
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus bHealPower,5;
+ bonus2 bSkillCooldown,SU_TUNAPARTY,-7000;
+ ">
+},
+{
+ Id: 28382
+ AegisName: "Charm_Grass_Necklace"
+ Name: "Charm Grass Necklace"
+ Type: 4
+ Buy: 20
+ Weight: 10
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus bMdef,5;
+ bonus2 bVariableCastrate,SU_CN_METEOR,-1000;
+ ">
+},
+{
+ Id: 28413
+ AegisName: "Lesser_Mackerel_Talisman"
+ Name: "Lesser Mackerel Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <" bonus bVit,1; ">
+},
+{
+ Id: 28414
+ AegisName: "Intermediate_Mackerel_Talisman"
+ Name: "Intermediate Mackerel Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 140
+ Refine: false
+ Script: <" bonus bVit,2; ">
+},
+{
+ Id: 28415
+ AegisName: "Greater_Mackerel_Talisman"
+ Name: "Greater Mackerel Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 175
+ Refine: false
+ Script: <" bonus bVit,3; ">
+},
+{
+ Id: 28416
+ AegisName: "Lesser_Leaf_Talisman"
+ Name: "Lesser Leaf Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <" bonus bInt,1; ">
+},
+{
+ Id: 28417
+ AegisName: "Intermediate_Leaf_Talisman"
+ Name: "Intermediate Leaf Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 140
+ Refine: false
+ Script: <" bonus bInt,2; ">
+},
+{
+ Id: 28418
+ AegisName: "Greater_Leaf_Talisman"
+ Name: "Greater Leaf Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 175
+ Refine: false
+ Script: <" bonus bInt,3; ">
+},
+{
+ Id: 28419
+ AegisName: "Lesser_Rabbit_Talisman"
+ Name: "Lesser Rabbit Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <" bonus bDex,1; ">
+},
+{
+ Id: 28420
+ AegisName: "Intermediate_Rabbit_Talisman"
+ Name: "Intermediate Rabbit Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 140
+ Refine: false
+ Script: <" bonus bDex,2; ">
+},
+{
+ Id: 28421
+ AegisName: "Greater_Rabbit_Talisman"
+ Name: "Greater Rabbit Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 175
+ Refine: false
+ Script: <" bonus bDex,3; ">
+},
+{
+ Id: 28422
+ AegisName: "Shiny_Branch_Talisman"
+ Name: "Shiny Branch Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus2 bVariableCastrate,SU_SV_STEMSPEAR,-50;
+ bonus2 bSkillAtk,SU_SV_STEMSPEAR,(readparam(bInt)/2)+(20 * getskilllv(SU_SV_STEMSPEAR));
+ //Need to confirm damage formula
+ ">
+},
+{
+ Id: 28423
+ AegisName: "Fresh_Tuna_Talisman"
+ Name: "Fresh Tuna Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus2 bSkillCooldown,SU_TUNAPARTY,-5000;
+ bonus3 bAutoSpellWhenHit,SU_TUNAPARTY,max(1,getskilllv(SU_TUNAPARTY)),10;
+ ">
+},
+{
+ Id: 28424
+ AegisName: "Chubby_Worm_Talisman"
+ Name: "Chubby Worm Talisman"
+ Type: 4
+ Buy: 0
+ Weight: 100
+ Def: 1
+ Slots: 1
+ Job: {
+ Summoner: true
+ }
+ Upper: 63
+ Loc: 136
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus2 bVariableCastrate,SU_PICKYPECK,-50;
+ bonus2 bSkillAtk,SU_PICKYPECK,(readparam(bDex)/2)+(20 * getskilllv(SU_PICKYPECK));
+ //Need to confirm damage formula
+ ">
+},
//== New Books =============================================
{
Id: 28604
- AegisName: "Crimson_Bible"
+ AegisName: "Scarlet_Bible"
Name: "Crimson Bible"
Type: 4
Buy: 20
@@ -150086,7 +151081,7 @@ item_db: (
},
{
Id: 28705
- AegisName: "Crimson_Dagger"
+ AegisName: "Scarlet_Dagger"
Name: "Crimson Dagger"
Type: 4
Buy: 20
diff --git a/db/re/item_group.conf b/db/re/item_group.conf
index 5551fe51c..7646059af 100644
--- a/db/re/item_group.conf
+++ b/db/re/item_group.conf
@@ -412,7 +412,7 @@ Gift_Box: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- ("Girl's_Diary",2),
+ ("Girls_Diary",2),
"Emperium",
"Steel",
"Old_Blue_Box",
@@ -490,7 +490,7 @@ Gift_Box_1: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Gift_Box_2: (
"Star_Crumb",
@@ -561,7 +561,7 @@ Gift_Box_2: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- ("Girl's_Diary",2),
+ ("Girls_Diary",2),
"Emperium",
"Steel",
"Old_Blue_Box",
@@ -639,7 +639,7 @@ Gift_Box_3: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Gift_Box_4: (
"Star_Crumb",
@@ -710,7 +710,7 @@ Gift_Box_4: (
"Piece_Of_Cake",
"Old_Violet_Box",
("Gift_Box",19),
- "Girl's_Diary",
+ "Girls_Diary",
)
Old_Blue_Box: (
("Guard_",3),
@@ -727,7 +727,7 @@ Old_Blue_Box: (
("Leather_Jacket",3),
("Leather_Jacket_",3),
("Adventure_Suit",3),
- ("Adventurere's_Suit_",3),
+ ("Adventureres_Suit_",3),
("Mantle",3),
("Mantle_",3),
("Coat",3),
@@ -793,7 +793,7 @@ Old_Blue_Box: (
("Flower_Ring",3),
("Diamond_Ring",3),
("Mitten_Of_Presbyter",3),
- ("Matyr's_Flea_Guard",3),
+ ("Matyrs_Flea_Guard",3),
("Belt",3),
("Novice_Armlet",3),
("Katana",3),
@@ -919,7 +919,7 @@ Old_Blue_Box: (
("Book_Of_Mother_Earth",3),
("Book_Of_Blazing_Sun",3),
("Book_Of_Gust_Of_Wind",3),
- ("Girl's_Diary",3),
+ ("Girls_Diary",3),
("Rod",3),
("Rod_",3),
("Wand",3),
@@ -969,7 +969,7 @@ Old_Blue_Box: (
("Whip_",3),
("Sunglasses",3),
("Glasses",3),
- ("Diver's_Goggles",3),
+ ("Divers_Goggles",3),
("Wedding_Veil",3),
("Fancy_Flower",3),
("Ribbon",3),
@@ -995,15 +995,15 @@ Old_Blue_Box: (
("Gemmed_Sallet_",3),
("Circlet",3),
("Circlet_",3),
- ("Santa's_Hat",3),
+ ("Santas_Hat",3),
("One_Eyed_Glass",3),
("Granpa_Beard",3),
("Luxury_Sunglasses",3),
("Spinning_Eyes",3),
- ("Big_Sis'_Ribbon",3),
+ ("Big_Sis_Ribbon",3),
("Sweet_Gents",3),
("Golden_Gear",3),
- ("Oldman's_Romance",3),
+ ("Oldmans_Romance",3),
("Western_Grace",3),
("Fillet",3),
("Holy_Bonnet",3),
@@ -1061,7 +1061,7 @@ Old_Blue_Box: (
("Transparent_Headgear",3),
("Pacifier",3),
("Wig",3),
- ("Queen's_Hair_Ornament",3),
+ ("Queens_Hair_Ornament",3),
("Silk_Ribbon",3),
("Punisher",3),
("Wild_Flower",3),
@@ -1131,7 +1131,7 @@ Old_Blue_Box: (
("Danggie",12),
("Tree_Root",12),
("Reptile_Tongue",12),
- ("Scorpion's_Tail",12),
+ ("Scorpions_Tail",12),
("Stem",12),
("Pointed_Scale",12),
("Resin",12),
@@ -1146,7 +1146,7 @@ Old_Blue_Box: (
("Feather_Of_Birds",12),
("Talon",12),
("Sticky_Webfoot",12),
- ("Animal's_Skin",12),
+ ("Animals_Skin",12),
("Claw_Of_Wolves",12),
("Mushroom_Spore",12),
("Orcish_Cuspid",12),
@@ -1165,15 +1165,15 @@ Old_Blue_Box: (
("Posionous_Canine",12),
("Sticky_Mucus",12),
("Bee_Sting",12),
- ("Grasshopper's_Leg",12),
+ ("Grasshoppers_Leg",12),
("Nose_Ring",12),
("Yoyo_Tail",12),
("Solid_Shell",12),
("Horseshoe",12),
("Raccoon_Leaf",12),
- ("Snail's_Shell",12),
+ ("Snails_Shell",12),
("Horn",12),
- ("Bear's_Foot",12),
+ ("Bears_Foot",12),
("Feather",12),
("Heart_Of_Mermaid",12),
("Fin",12),
@@ -1236,7 +1236,7 @@ Old_Blue_Box: (
("Lizard_Scruff",12),
("Colorful_Shell",12),
("Jaws_Of_Ant",12),
- ("Thin_N'_Long_Tongue",12),
+ ("Thin_N_Long_Tongue",12),
("Rat_Tail",12),
("Moustache_Of_Mole",12),
("Nail_Of_Mole",12),
@@ -1249,8 +1249,8 @@ Old_Blue_Box: (
("Spiderweb",12),
("Acorn",12),
("Porcupine_Spike",12),
- ("Wild_Boar's_Mane",12),
- ("Tiger's_Skin",12),
+ ("Wild_Boars_Mane",12),
+ ("Tigers_Skin",12),
("Limb_Of_Mantis",12),
("Blossom_Of_Maneater",12),
("Root_Of_Maneater",12),
@@ -1260,7 +1260,7 @@ Old_Blue_Box: (
("Dragon_Train",12),
("Petite_DiablOfs_Horn",12),
("Petite_DiablOfs_Wing",12),
- ("Elder_Pixie's_Beard",12),
+ ("Elder_Pixies_Beard",12),
("Lantern",12),
("Short_Leg",12),
("Nail_Of_Orc",12),
@@ -1326,7 +1326,7 @@ Old_Blue_Box: (
("Fang_Of_Garm",12),
("Yarn",12),
("Fine_Grit",12),
- ("Alice's_Apron",12),
+ ("Alices_Apron",12),
("Talon_Of_Griffin",12),
("Stone",12),
("Cyfar",12),
@@ -1353,26 +1353,26 @@ Old_Blue_Box: (
("Old_Magic_Circle",12),
("Sharp_Leaf",12),
("Peco_Wing_Feather",12),
- ("Goat's_Horn",12),
- ("Gaoat's_Skin",12),
+ ("Goats_Horn",12),
+ ("Gaoats_Skin",12),
("Boroken_Shiled_Piece",12),
("Shine_Spear_Blade",12),
("Vroken_Sword",12),
("Smooth_Paper",12),
("Fright_Paper_Blade",12),
("Broken_Pharaoh_Symbol",12),
- ("Tutankhamen's_Mask",12),
- ("Harpy's_Feather",12),
- ("Harpy's_Claw",12),
+ ("Tutankhamens_Mask",12),
+ ("Harpys_Feather",12),
+ ("Harpys_Claw",12),
("Rent_Spell_Book",12),
("Rent_Scroll",12),
("Spawns",12),
("Burning_Horse_Shoe",12),
("Honey_Jar",12),
("Hot_Hair",12),
- ("Dragon's_Skin",12),
+ ("Dragons_Skin",12),
("Sand_Lump",12),
- ("Scropion's_Nipper",12),
+ ("Scropions_Nipper",12),
("Large_Jellopy",12),
("Medicine_Bowl",12),
("Fire_Bottle",12),
@@ -1386,12 +1386,12 @@ Old_Blue_Box: (
("Glossy_Hair",12),
("Old_Japaness_Clothes",12),
("Poison_Powder",12),
- ("Poison_Toad's_Skin",12),
+ ("Poison_Toads_Skin",12),
("Broken_Shuriken",12),
("Black_Mask",12),
("Broken_Wine_Vessel",12),
- ("Tengu's_Nose",12),
- ("Black_Bear's_Skin",12),
+ ("Tengus_Nose",12),
+ ("Black_Bears_Skin",12),
("Cloud_Piece",12),
("Sharp_Feeler",12),
("Hard_Peach",12),
@@ -1426,7 +1426,7 @@ Old_Blue_Box: (
("Black_Kitty_Doll",12),
("Old_Manteau",12),
("Rusty_Cleaver",12),
- ("Dullahan's_Helm",12),
+ ("Dullahans_Helm",12),
("Dullahan_Armor",12),
("Rojerta_Piece",12),
("Hanging_Doll",12),
@@ -1496,7 +1496,7 @@ Old_Blue_Box: (
("Holy_Water",12),
("Panacea",12),
("Royal_Jelly",12),
- ("Monster's_Feed",12),
+ ("Monsters_Feed",12),
("Candy",12),
("Candy_Striper",12),
("Apple_Juice",12),
@@ -1590,7 +1590,7 @@ Old_Blue_Box: (
"Cinquedea",
"Kindling_Dagger",
"Obsidian_Dagger",
- "Fisherman's_Dagger",
+ "Fishermans_Dagger",
"Jujube_Dagger",
"Dragon_Killer",
"Ginnungagap",
@@ -1602,8 +1602,8 @@ Old_Blue_Box: (
"Nail_Of_Loki",
"Bloody_Roar",
"Unholy_Touch",
- "Hypnotist's_Staff",
- "Hypnotist's_Staff_",
+ "Hypnotists_Staff",
+ "Hypnotists_Staff_",
"Staff_Of_Wing",
"Luna_Bow",
"Dragon_Wing",
@@ -1622,7 +1622,7 @@ Old_Blue_Box: (
"Coward",
"Coward_",
"Windhawk",
- "Queen's_Whip",
+ "Queens_Whip",
"Oriental_Lute",
"Diary_Of_Great_Sage",
"Hardback",
@@ -1645,7 +1645,7 @@ Old_Blue_Box: (
"Banana_Hat",
"Wing_Of_Eagle",
"Cursed_Lucky_Brooch",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Hyper_Changer",
"Dark_Crystal_Fragment",
"Long_Limb",
@@ -1699,7 +1699,7 @@ Old_Blue_Box: (
"Thorny_Buckler",
"Orleans_Gown",
"Strong_Shield",
- "Angel's_Arrival",
+ "Angels_Arrival",
"Magni_Cap",
"Censor_Bar",
"Inverse_Scale",
@@ -1744,7 +1744,7 @@ Old_Violet_Box: (
("Novice_Guard",7),
("Cotton_Shirt_",7),
("Leather_Jacket_",7),
- ("Adventurere's_Suit_",7),
+ ("Adventureres_Suit_",7),
("Mantle_",7),
("Coat_",7),
("Mink_Coat",7),
@@ -1791,7 +1791,7 @@ Old_Violet_Box: (
("Flower_Ring",7),
("Diamond_Ring",7),
("Mitten_Of_Presbyter",7),
- ("Matyr's_Flea_Guard",7),
+ ("Matyrs_Flea_Guard",7),
("Belt",7),
("Novice_Armlet",7),
("Katana_",7),
@@ -1865,7 +1865,7 @@ Old_Violet_Box: (
("Book_Of_Mother_Earth",7),
("Book_Of_Blazing_Sun",7),
("Book_Of_Gust_Of_Wind",7),
- ("Girl's_Diary",7),
+ ("Girls_Diary",7),
("Rod_",7),
("Wand_",7),
("Staff_",7),
@@ -1893,7 +1893,7 @@ Old_Violet_Box: (
("Whip_",7),
("Sunglasses",7),
("Glasses",7),
- ("Diver's_Goggles",7),
+ ("Divers_Goggles",7),
("Wedding_Veil",7),
("Fancy_Flower",7),
("Ribbon",7),
@@ -1919,15 +1919,15 @@ Old_Violet_Box: (
("Gemmed_Sallet_",7),
("Circlet",7),
("Circlet_",7),
- ("Santa's_Hat",7),
+ ("Santas_Hat",7),
("One_Eyed_Glass",7),
("Granpa_Beard",7),
("Luxury_Sunglasses",7),
("Spinning_Eyes",7),
- ("Big_Sis'_Ribbon",7),
+ ("Big_Sis_Ribbon",7),
("Sweet_Gents",7),
("Golden_Gear",7),
- ("Oldman's_Romance",7),
+ ("Oldmans_Romance",7),
("Western_Grace",7),
("Fillet",7),
("Holy_Bonnet",7),
@@ -1985,7 +1985,7 @@ Old_Violet_Box: (
("Transparent_Headgear",7),
("Pacifier",7),
("Wig",7),
- ("Queen's_Hair_Ornament",7),
+ ("Queens_Hair_Ornament",7),
("Silk_Ribbon",7),
("Punisher",7),
("Wild_Flower",7),
@@ -2055,7 +2055,7 @@ Old_Violet_Box: (
("Danggie",14),
("Tree_Root",14),
("Reptile_Tongue",14),
- ("Scorpion's_Tail",14),
+ ("Scorpions_Tail",14),
("Stem",14),
("Pointed_Scale",14),
("Resin",14),
@@ -2070,7 +2070,7 @@ Old_Violet_Box: (
("Feather_Of_Birds",14),
("Talon",14),
("Sticky_Webfoot",14),
- ("Animal's_Skin",14),
+ ("Animals_Skin",14),
("Claw_Of_Wolves",14),
("Mushroom_Spore",14),
("Orcish_Cuspid",14),
@@ -2089,15 +2089,15 @@ Old_Violet_Box: (
("Posionous_Canine",14),
("Sticky_Mucus",14),
("Bee_Sting",14),
- ("Grasshopper's_Leg",14),
+ ("Grasshoppers_Leg",14),
("Nose_Ring",14),
("Yoyo_Tail",14),
("Solid_Shell",14),
("Horseshoe",14),
("Raccoon_Leaf",14),
- ("Snail's_Shell",14),
+ ("Snails_Shell",14),
("Horn",14),
- ("Bear's_Foot",14),
+ ("Bears_Foot",14),
("Feather",14),
("Heart_Of_Mermaid",14),
("Fin",14),
@@ -2160,7 +2160,7 @@ Old_Violet_Box: (
("Lizard_Scruff",14),
("Colorful_Shell",14),
("Jaws_Of_Ant",14),
- ("Thin_N'_Long_Tongue",14),
+ ("Thin_N_Long_Tongue",14),
("Rat_Tail",14),
("Moustache_Of_Mole",14),
("Nail_Of_Mole",14),
@@ -2173,8 +2173,8 @@ Old_Violet_Box: (
("Spiderweb",14),
("Acorn",14),
("Porcupine_Spike",14),
- ("Wild_Boar's_Mane",14),
- ("Tiger's_Skin",14),
+ ("Wild_Boars_Mane",14),
+ ("Tigers_Skin",14),
("Limb_Of_Mantis",14),
("Blossom_Of_Maneater",14),
("Root_Of_Maneater",14),
@@ -2184,7 +2184,7 @@ Old_Violet_Box: (
("Dragon_Train",14),
("Petite_DiablOfs_Horn",14),
("Petite_DiablOfs_Wing",14),
- ("Elder_Pixie's_Beard",14),
+ ("Elder_Pixies_Beard",14),
("Lantern",14),
("Short_Leg",14),
("Nail_Of_Orc",14),
@@ -2250,7 +2250,7 @@ Old_Violet_Box: (
("Fang_Of_Garm",14),
("Yarn",14),
("Fine_Grit",14),
- ("Alice's_Apron",14),
+ ("Alices_Apron",14),
("Talon_Of_Griffin",14),
("Stone",14),
("Cyfar",14),
@@ -2277,26 +2277,26 @@ Old_Violet_Box: (
("Old_Magic_Circle",14),
("Sharp_Leaf",14),
("Peco_Wing_Feather",14),
- ("Goat's_Horn",14),
- ("Gaoat's_Skin",14),
+ ("Goats_Horn",14),
+ ("Gaoats_Skin",14),
("Boroken_Shiled_Piece",14),
("Shine_Spear_Blade",14),
("Vroken_Sword",14),
("Smooth_Paper",14),
("Fright_Paper_Blade",14),
("Broken_Pharaoh_Symbol",14),
- ("Tutankhamen's_Mask",14),
- ("Harpy's_Feather",14),
- ("Harpy's_Claw",14),
+ ("Tutankhamens_Mask",14),
+ ("Harpys_Feather",14),
+ ("Harpys_Claw",14),
("Rent_Spell_Book",14),
("Rent_Scroll",14),
("Spawns",14),
("Burning_Horse_Shoe",14),
("Honey_Jar",14),
("Hot_Hair",14),
- ("Dragon's_Skin",14),
+ ("Dragons_Skin",14),
("Sand_Lump",14),
- ("Scropion's_Nipper",14),
+ ("Scropions_Nipper",14),
("Large_Jellopy",14),
("Medicine_Bowl",14),
("Fire_Bottle",14),
@@ -2310,12 +2310,12 @@ Old_Violet_Box: (
("Glossy_Hair",14),
("Old_Japaness_Clothes",14),
("Poison_Powder",14),
- ("Poison_Toad's_Skin",14),
+ ("Poison_Toads_Skin",14),
("Broken_Shuriken",14),
("Black_Mask",14),
("Broken_Wine_Vessel",14),
- ("Tengu's_Nose",14),
- ("Black_Bear's_Skin",14),
+ ("Tengus_Nose",14),
+ ("Black_Bears_Skin",14),
("Cloud_Piece",14),
("Sharp_Feeler",14),
("Hard_Peach",14),
@@ -2350,7 +2350,7 @@ Old_Violet_Box: (
("Black_Kitty_Doll",14),
("Old_Manteau",14),
("Rusty_Cleaver",14),
- ("Dullahan's_Helm",14),
+ ("Dullahans_Helm",14),
("Dullahan_Armor",14),
("Rojerta_Piece",14),
("Hanging_Doll",14),
@@ -2420,7 +2420,7 @@ Old_Violet_Box: (
("Holy_Water",14),
("Panacea",14),
("Royal_Jelly",14),
- ("Monster's_Feed",14),
+ ("Monsters_Feed",14),
("Candy",14),
("Candy_Striper",14),
("Apple_Juice",14),
@@ -2532,7 +2532,7 @@ Old_Violet_Box: (
"Nail_Of_Loki",
"Bloody_Roar",
"Unholy_Touch",
- "Hypnotist's_Staff_",
+ "Hypnotists_Staff_",
"Staff_Of_Wing",
"Luna_Bow",
"Dragon_Wing",
@@ -2550,7 +2550,7 @@ Old_Violet_Box: (
"Legacy_Of_Dragon",
"Coward_",
"Windhawk",
- "Queen's_Whip",
+ "Queens_Whip",
"Oriental_Lute",
"Diary_Of_Great_Sage",
"Hardback",
@@ -2566,7 +2566,7 @@ Old_Violet_Box: (
"Banana_Hat",
"Wing_Of_Eagle",
"Cursed_Lucky_Brooch",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Bloody_Iron_Ball",
"Hyper_Changer",
"Cookbook06",
@@ -2707,7 +2707,7 @@ Set_Of_Taiming_Item: (
"Transparent_Headgear",
"Pacifier",
"Wig",
- "Queen's_Hair_Ornament",
+ "Queens_Hair_Ornament",
"Silk_Ribbon",
"Punisher",
"Wild_Flower",
@@ -2737,7 +2737,7 @@ Accessory_Box: (
("Thimble_Of_Archer",10),
("Rosary",14),
("Ring",10),
- ("Matyr's_Flea_Guard",11),
+ ("Matyrs_Flea_Guard",11),
("Belt",10),
("Brooch",12),
("Nile_Rose_",10),
@@ -2760,7 +2760,7 @@ Accessory_Box: (
("Red_Silk_Seal",2),
"Orleans_Glove",
"Spiritual_Ring",
- "Shinobi's_Sash",
+ "Shinobis_Sash",
"Hyper_Changer",
("Lesser_Elemental_Ring",9),
"Expert_Ring",
@@ -3100,8 +3100,8 @@ Giftbox_China: (
"Helm_",
"Gemmed_Sallet_",
"Circlet_",
- "Santa's_Hat",
- "Big_Sis'_Ribbon",
+ "Santas_Hat",
+ "Big_Sis_Ribbon",
"Coronet",
"Fillet",
"Snowy_Horn",
@@ -3130,7 +3130,7 @@ Giftbox_China: (
"Viking_Helm",
"Cotton_Shirt_",
"Leather_Jacket_",
- "Adventurere's_Suit_",
+ "Adventureres_Suit_",
"Mantle_",
"Coat_",
"Mink_Coat",
@@ -3334,7 +3334,7 @@ Xmas_Gift: (
("HandMade_Chocolate",18),
("HandMade_Chocolate_",18),
("Chocolate_Drink",18),
- ("Santa's_Hat_",12),
+ ("Santas_Hat_",12),
("Fire_Cracker_Xmas",4),
)
Pierre_Treasurebox: (
@@ -3894,7 +3894,7 @@ Mysterious_Egg: (
High_Weapon_Box: (
("Mail_Breaker",5),
("Weeder_Knife",5),
- ("Mama's_Knife",5),
+ ("Mamas_Knife",5),
("Assasin_Dagger",5),
("Exercise",5),
("Azoth",5),
@@ -3950,7 +3950,7 @@ High_Weapon_Box: (
("Crescent_Scythe",5),
("Bill_Guisarme",5),
("Zephyrus",5),
- ("Longinus's_Spear",5),
+ ("Longinuss_Spear",5),
("Brionac",5),
("Hell_Fire",5),
("Gae_Bolg",5),
@@ -3977,7 +3977,7 @@ High_Weapon_Box: (
("Red_Square_Bag",5),
("Red_Ether_Bag",5),
("Book_Of_The_Apocalypse",5),
- ("Girl's_Diary",5),
+ ("Girls_Diary",5),
("Legacy_Of_Dragon",5),
("Hardback",5),
("Bible_Of_Battlefield",5),
@@ -4000,9 +4000,9 @@ High_Weapon_Box: (
("Bladed_Whip",5),
("Electric_Eel",5),
("Sea_Witch_Foot",5),
- ("Queen's_Whip",5),
+ ("Queens_Whip",5),
("Carrot_Whip",5),
- ("Queen's_Whip_",5),
+ ("Queens_Whip_",5),
("Stem_Of_Nepenthes",5),
"Thorn_Staff",
"Eraser",
@@ -4508,7 +4508,7 @@ Old_Card_Album_: (
High_Weapon_Box_: (
("Mail_Breaker",5),
("Weeder_Knife",5),
- ("Mama's_Knife",5),
+ ("Mamas_Knife",5),
("Assasin_Dagger",5),
("Exercise",5),
("Azoth",5),
@@ -4564,7 +4564,7 @@ High_Weapon_Box_: (
("Crescent_Scythe",5),
("Bill_Guisarme",5),
("Zephyrus",5),
- ("Longinus's_Spear",5),
+ ("Longinuss_Spear",5),
("Brionac",5),
("Hell_Fire",5),
("Gae_Bolg",5),
@@ -4591,7 +4591,7 @@ High_Weapon_Box_: (
("Red_Square_Bag",5),
("Red_Ether_Bag",5),
("Book_Of_The_Apocalypse",5),
- ("Girl's_Diary",5),
+ ("Girls_Diary",5),
("Legacy_Of_Dragon",5),
("Hardback",5),
("Bible_Of_Battlefield",5),
@@ -4614,9 +4614,9 @@ High_Weapon_Box_: (
("Bladed_Whip",5),
("Electric_Eel",5),
("Sea_Witch_Foot",5),
- ("Queen's_Whip",5),
+ ("Queens_Whip",5),
("Carrot_Whip",5),
- ("Queen's_Whip_",5),
+ ("Queens_Whip_",5),
("Stem_Of_Nepenthes",5),
"Thorn_Staff",
"Eraser",
@@ -4796,7 +4796,7 @@ HALLOWEEN_G_BOX: (
"Old_Card_Album",
"Old_Violet_Box"
)
-Pumpkin_Candy_Holder: (
+Something_Candy_Holder: (
("Honey", 3),
("Candy", 7),
("Well_Baked_Cookie", 2),
diff --git a/db/re/item_packages.conf b/db/re/item_packages.conf
index 1a70a63cc..468d47a26 100644
--- a/db/re/item_packages.conf
+++ b/db/re/item_packages.conf
@@ -3870,7 +3870,7 @@ Brewing_Box: {
Named: true
}
}
-Christmas_Pet_Scroll: {
+Xmas_Pet_Scroll: {
Fish_Head_Hat: {
Random: 1
Named: true
@@ -3966,7 +3966,7 @@ Christmas_Pet_Scroll: {
Rate: 50
}
}
-Year_Of_Mouse_Scroll: {
+Lucky_Scroll08: {
Kafra_Card: {
Random: 1
Count: 15
@@ -4058,7 +4058,7 @@ Year_Of_Mouse_Scroll: {
Rate: 110
}
}
-BRO_SM_Package: {
+Br_SwordPackage: {
Plate_Armor_: {
Random: 0
Named: true
@@ -4100,7 +4100,7 @@ BRO_SM_Package: {
Named: true
}
}
-BRO_MG_Package: {
+Br_MagePackage: {
Silk_Robe_: {
Random: 0
Named: true
@@ -4138,7 +4138,7 @@ BRO_MG_Package: {
Named: true
}
}
-BRO_AC_Package: {
+Br_AcolPackage: {
Saint_Robe_: {
Random: 0
Named: true
@@ -4176,7 +4176,7 @@ BRO_AC_Package: {
Named: true
}
}
-BRO_AR_Package: {
+Br_ArcherPackage: {
Tights_: {
Random: 0
Named: true
@@ -4214,7 +4214,7 @@ BRO_AR_Package: {
Named: true
}
}
-BRO_MC_Package: {
+Br_MerPackage: {
Chain_Mail_: {
Random: 0
Named: true
@@ -4252,7 +4252,7 @@ BRO_MC_Package: {
Named: true
}
}
-BRO_TF_Package: {
+Br_ThiefPackage: {
Thief_Clothes_: {
Random: 0
Named: true
@@ -4733,7 +4733,7 @@ July7_Scroll: {
Named: true
Rate: 1
}
- Hair_Of_The_Strong: {
+ C_Hair_Of_The_Strong: {
Random: 1
Announce: true
Named: true
@@ -5259,7 +5259,7 @@ Buddah_Scroll: {
Rate: 1
}
}
-Evil_Incarnation: {
+Evil_Incarnation_Disable: {
Dead_Tree_Branch_Box2: {
Random: 1
Named: true
@@ -5746,8 +5746,8 @@ Pr_Reset_Stone_Box: {
}
}
*/
-/* unsupported/unknown item 'FPr_Reset_Stone_Box'
-FPr_Reset_Stone_Box: {
+/* unsupported/unknown item 'FPremium_Reset_Stone_Box'
+FPremium_Reset_Stone_Box: {
Premium_Reset_Stone: {
Random: 0
}
@@ -5834,8 +5834,8 @@ Majestic_Devil_Scroll: {
Rate: 1
}
}
-/* supported container but with no known entries 'Life_Ribbon_Box'
-Life_Ribbon_Box: {
+/* supported container but with no known entries 'Ribbon_Of_Life_Box'
+Ribbon_Of_Life_Box: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -5843,8 +5843,8 @@ Life_Ribbon_Box: {
// }
}
*/
-/* supported container but with no known entries 'Life_Ribbon_Box2'
-Life_Ribbon_Box2: {
+/* supported container but with no known entries 'Ribbon_Of_Life_Box2'
+Ribbon_Of_Life_Box2: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -5853,8 +5853,8 @@ Life_Ribbon_Box2: {
// }
}
*/
-/* supported container but with no known entries 'Life_Ribbon_Box3'
-Life_Ribbon_Box3: {
+/* supported container but with no known entries 'Ribbon_Of_Life_Box3'
+Ribbon_Of_Life_Box3: {
//unsupported/unknown item 'Life_Ribbon'
// Life_Ribbon: {
// Random: 0
@@ -6742,7 +6742,7 @@ Pisces_Diadem_Scroll: {
Named: true
Rate: 130
}
- Life_Ribbon_Box3: {
+ Ribbon_Of_Life_Box3: {
Random: 1
Named: true
Rate: 160
@@ -6764,7 +6764,7 @@ Pisces_Diadem_Scroll: {
Rate: 70
}
}
-Pisces_Diadem_Box: {
+Pisces_Diadem_Box2: {
Pisces_Diadem_Scroll: {
Random: 0
Named: true
@@ -6923,7 +6923,7 @@ Energetic_Pisces_Box: {
Named: true
}
}
-Aries_Scroll: {
+Aries_Scroll_: {
Freyja_Boots: {
Random: 1
Announce: true
@@ -6987,43 +6987,43 @@ Aries_Scroll: {
}
}
Aries_Scroll_Box: {
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
- Aries_Scroll: {
+ Aries_Scroll_: {
Random: 0
Named: true
}
@@ -7605,7 +7605,7 @@ BR_Independence_Scroll: {
Named: true
Rate: 100
}
- Carmen_Miranda's_Hat: {
+ Carmen_Mirandas_Hat: {
Random: 1
Named: true
Rate: 30
@@ -8014,7 +8014,7 @@ RWC_Super_Scroll: {
Announce: true
Rate: 250
}
- Hair_Of_The_Strong: {
+ C_Hair_Of_The_Strong: {
Random: 1
Announce: true
Rate: 100
@@ -8063,7 +8063,7 @@ RWC_Super_Scroll: {
Rate: 3000
}
}
-Leo_Scroll: {
+Leo_Scroll3: {
Fallen_Bishop_Card: {
Random: 1
Announce: true
@@ -8186,7 +8186,7 @@ Ms_Virgo_Scroll: {
Announce: true
Rate: 300
}
- Life_Ribbon_Box3: {
+ Ribbon_Of_Life_Box3: {
Random: 1
Rate: 800
}
@@ -9215,8 +9215,8 @@ Wind_Type_Scroll: {
}
}
*/
-/* unsupported/unknown item 'LUcky_Egg_C3'
-LUcky_Egg_C3: {
+/* unsupported/unknown item 'Lucky_Egg_C3'
+Lucky_Egg_C3: {
Magic_Card_Album: {
Random: 1
Announce: true
@@ -9538,7 +9538,7 @@ Lucky_Egg_C5: {
}
}
Weather_Report_Box: {
- Clear_Sun: {
+ Fine_Sun: {
Random: 0
}
Rainbow: {
@@ -11200,7 +11200,7 @@ Tw_Yellow_Scroll: {
// Random: 1
// Rate: 450
// }
- Life_Ribbon_Box3: {
+ Ribbon_Of_Life_Box3: {
Random: 1
Rate: 1000
}
@@ -11498,7 +11498,7 @@ Tw_Yellow_Scroll: {
Announce: true
Rate: 25
}
- Devil_Whisper: {
+ Evil_Whisper: {
Random: 1
Announce: true
Rate: 40
@@ -11833,7 +11833,7 @@ Tw_Yellow_Scroll: {
Announce: true
Rate: 150
}
- Little_Feather_Hat: {
+ Little_Fhat: {
Random: 1
Announce: true
Rate: 100
diff --git a/db/re/job_db.conf b/db/re/job_db.conf
index 6c13fd355..4b036ae93 100644
--- a/db/re/job_db.conf
+++ b/db/re/job_db.conf
@@ -1732,3 +1732,51 @@ Expanded_Super_Novice: {
Expanded_Super_Baby: {
Inherit: ("Novice")
}
+// Summoner HP/SP is not known, below table are generated and near to official HP/SP.
+Summoner: {
+ Weight: 20000
+ BaseASPD: {
+ Fist: 45
+ Dagger: 55
+ Rod: 55
+ Book: 43
+ TwoHandRod: 55
+ }
+ HPTable:[ 40, 69, 80, 92, 105, 119, 134, 150, 167, 185, // 1 - 10
+ 204, 224, 245, 268, 291, 315, 341, 367, 395, 423, // 11 - 20
+ 453, 484, 515, 548, 582, 617, 653, 690, 728, 767, // 21 - 30
+ 807, 848, 890, 934, 978, 1023, 1070, 1117, 1166, 1215, // 31 - 40
+ 1266, 1317, 1370, 1424, 1479, 1534, 1591, 1649, 1708, 1768, // 41 - 50
+ 1829, 1891, 1955, 2019, 2084, 2150, 2218, 2286, 2356, 2426, // 51 - 60
+ 2498, 2570, 2644, 2719, 2794, 2871, 2949, 3028, 3108, 3189, // 61 - 70
+ 3271, 3354, 3438, 3523, 3610, 3697, 3785, 3875, 3965, 4056, // 71 - 80
+ 4149, 4242, 4337, 4433, 4529, 4627, 4726, 4826, 4927, 5029, // 81 - 90
+ 5132, 5236, 5341, 5447, 5554, 5662, 5772, 5882, 5993, 6106, // 91 - 100
+ 6219, 6334, 6449, 6566, 6684, 6802, 6922, 7043, 7165, 7288, // 101 - 110
+ 7412, 7537, 7663, 7790, 7918, 8047, 8177, 8309, 8441, 8574, // 111 - 120
+ 8709, 8844, 8981, 9118, 9257, 9397, 9537, 9679, 9822, 9966, // 121 - 130
+ 10111, 10257, 10404, 10552, 10701, 10851, 11002, 11155, 11308, 11462, // 131 - 140
+ 11618, 11774, 11932, 12090, 12250, 12410, 12572, 12735, 12898, 13063, // 141 - 150
+ 13229, 13396, 13564, 13733, 13903, 14074, 14246, 14420, 14594, 14769, // 151 - 160
+ 14946, 15123, 15301, 15481, 15661, 15843, 16026, 16209, 16394, 16580, // 161 - 170
+ 16767, 16955, 17144, 17334, 17525] // 171 - 175
+
+ SPTable:[ 8, 10, 13, 15, 18, 20, 23, 25, 28, 30, // 1 - 10
+ 33, 35, 38, 40, 43, 45, 48, 50, 53, 55, // 11 - 20
+ 58, 60, 63, 65, 68, 70, 73, 75, 78, 80, // 21 - 30
+ 83, 85, 88, 90, 93, 95, 98, 100, 103, 105, // 31 - 40
+ 108, 110, 113, 115, 118, 120, 123, 125, 128, 130, // 41 - 50
+ 133, 135, 138, 140, 143, 145, 148, 150, 153, 155, // 51 - 60
+ 158, 160, 163, 165, 168, 170, 173, 175, 178, 180, // 61 - 70
+ 183, 185, 188, 190, 193, 195, 198, 200, 203, 205, // 71 - 80
+ 208, 210, 213, 215, 218, 220, 223, 225, 228, 230, // 81 - 90
+ 233, 235, 238, 240, 243, 245, 248, 250, 253, 255, // 91 - 100
+ 258, 260, 263, 265, 268, 270, 273, 275, 278, 280, // 101 - 110
+ 283, 285, 288, 290, 293, 295, 298, 300, 303, 305, // 111 - 120
+ 308, 310, 313, 315, 318, 320, 323, 325, 328, 330, // 121 - 130
+ 333, 335, 338, 340, 343, 345, 348, 350, 353, 355, // 131 - 140
+ 358, 360, 363, 365, 368, 370, 373, 375, 378, 380, // 141 - 150
+ 383, 385, 388, 390, 393, 395, 398, 400, 403, 405, // 151 - 160
+ 408, 410, 413, 415, 418, 420, 423, 425, 428, 430, // 161 - 170
+ 433, 435, 438, 440, 443] // 171 - 175
+}
diff --git a/db/re/map_cache.dat b/db/re/map_cache.dat
index 59aa50b20..c678535eb 100644
--- a/db/re/map_cache.dat
+++ b/db/re/map_cache.dat
Binary files differ
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index df223d139..282a85abb 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -193,6 +193,7 @@ zones: (
BS_GREED: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
@@ -292,6 +293,7 @@ zones: (
CASH_ASSUMPTIO: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
Assumptio_5_Scroll: true
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index 5a3275805..caa92b718 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -135,7 +135,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 70
- Scorpion's_Tail: 5500
+ Scorpions_Tail: 5500
Elunium_Stone: 57
Solid_Shell: 210
Fine_Grit: 100
@@ -676,8 +676,8 @@ mob_db: (
Claw_Of_Wolves: 9000
Mantle_: 10
Meat: 650
- Monster's_Feed: 1050
- Animal's_Skin: 5500
+ Monsters_Feed: 1050
+ Animals_Skin: 5500
Strawberry: 600
Wolf_Card: 1
}
@@ -1106,7 +1106,7 @@ mob_db: (
Cobold_Hair: 4000
Oridecon: 500
Elunium: 500
- Executioner's_Mitten: 800
+ Executioners_Mitten: 800
Guh_Moon_Goh_: 300
}
},*/
@@ -1300,7 +1300,7 @@ mob_db: (
Amulet: 20
Ninja_Suit: 1
Adventure_Suit: 100
- Girl's_Diary: 5
+ Girls_Diary: 5
Munak_Card: 1
}
},
@@ -2557,7 +2557,7 @@ mob_db: (
DamageMotion: 540
MvpExp: 0
Drops: {
- Grasshopper's_Leg: 9000
+ Grasshoppers_Leg: 9000
Guitar_Of_Vast_Land: 10
Green_Feeler: 4
Javelin_: 80
@@ -2754,7 +2754,7 @@ mob_db: (
MvpExp: 0
Drops: {
Raccoon_Leaf: 5500
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Sweet_Potato: 800
Cat_Hairband: 1
Raccoondog_Doll: 2
@@ -2853,7 +2853,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 60
- Grasshopper's_Leg: 6500
+ Grasshoppers_Leg: 6500
Scell: 400
Elunium_Stone: 49
Singing_Plant: 20
@@ -2958,9 +2958,9 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 9000
+ Bears_Foot: 9000
Poo_Poo_Hat: 5
- Animal's_Skin: 5000
+ Animals_Skin: 5000
Stuffed_Doll: 80
Sweet_Potato: 1500
Honey: 450
@@ -3060,7 +3060,7 @@ mob_db: (
Candy_Striper: 1000
Red_Herb: 1000
Apple: 1000
- Santa's_Hat: 100
+ Santas_Hat: 100
Apple: 7
Poring__Card: 1
}
@@ -3436,7 +3436,7 @@ mob_db: (
Crystal_Blue: 30
Worm_Peelings: 5500
Garlet: 400
- Monster's_Feed: 500
+ Monsters_Feed: 500
Red_Herb: 650
Insect_Feeler: 450
Earthworm_The_Dude: 20
@@ -4283,11 +4283,11 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Oldman's_Romance: 50
- Grasshopper's_Leg: 8000
+ Oldmans_Romance: 50
+ Grasshoppers_Leg: 8000
Azure_Jewel: 1000
Grasshopper_Doll: 1500
- Angel's_Arrival: 1000
+ Angels_Arrival: 1000
Light_Granule: 500
Guitar_Of_Gentle_Breeze: 10
Vocal_Card: 1
@@ -4337,7 +4337,7 @@ mob_db: (
DamageMotion: 432
MvpExp: 0
Drops: {
- Big_Sis'_Ribbon: 50
+ Big_Sis_Ribbon: 50
Honey: 2000
Bluish_Green_Jewel: 1000
Light_Granule: 500
@@ -4394,7 +4394,7 @@ mob_db: (
Snowy_Horn: 200
Unripe_Apple: 50
Scarlet_Jewel: 1000
- Angel's_Safeguard: 1000
+ Angels_Safeguard: 1000
Light_Granule: 500
Apple: 8000
Apple_Juice: 4000
@@ -4503,7 +4503,7 @@ mob_db: (
Claw_Of_Wolves: 8000
Golden_Jewel: 1500
Star_Dust_Blade: 100
- Angel's_Warmth: 1000
+ Angels_Warmth: 1000
Light_Granule: 500
Monster_Juice: 50
Vagabond_Wolf_Card: 1
@@ -4559,7 +4559,7 @@ mob_db: (
Light_Granule: 500
Four_Leaf_Clover: 30
Rainbow_Carrot: 50
- Angel's_Protection: 1000
+ Angels_Protection: 1000
Eclipse_Card: 1
}
},
@@ -4602,7 +4602,7 @@ mob_db: (
MvpExp: 0
Drops: {
Crystal_Blue: 50
- Snail's_Shell: 9000
+ Snails_Shell: 9000
Garlet: 1200
Shell: 3000
Solid_Shell: 2
@@ -5053,7 +5053,7 @@ mob_db: (
Drops: {
Porcupine_Spike: 9000
Coat_: 5
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Glaive_: 10
Spear_: 15
Pike_: 20
@@ -5100,7 +5100,7 @@ mob_db: (
Acorn: 9000
Hood_: 20
Fluff: 3000
- Animal's_Skin: 2500
+ Animals_Skin: 2500
Sweet_Potato: 500
Sandals_: 25
Strawberry: 600
@@ -5244,8 +5244,8 @@ mob_db: (
MvpExp: 0
Drops: {
Phracon: 85
- Animal's_Skin: 5500
- Adventurere's_Suit_: 80
+ Animals_Skin: 5500
+ Adventureres_Suit_: 80
Wolf_Blood: 2
Cotton_Shirt: 200
Asura_: 5
@@ -5647,7 +5647,7 @@ mob_db: (
DamageMotion: 432
MvpExp: 99000
MvpDrops: {
- Tiger's_Skin: 5000
+ Tigers_Skin: 5000
Tiger_Footskin: 1000
Flame_Heart: 3000
}
@@ -5951,7 +5951,7 @@ mob_db: (
Drops: {
Great_Nature: 30
Coal: 150
- Elder_Pixie's_Beard: 5500
+ Elder_Pixies_Beard: 5500
Elven_Ears: 1
Cap_: 10
Sparkling_Dust: 100
@@ -7176,9 +7176,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Matyr's_Flea_Guard: 10
- Monster's_Feed: 5000
- Animal's_Skin: 5500
+ Matyrs_Flea_Guard: 10
+ Monsters_Feed: 5000
+ Animals_Skin: 5500
Pet_Food: 400
Elunium_Stone: 100
Grape: 200
@@ -7234,11 +7234,11 @@ mob_db: (
Old_Violet_Box: 2000
}
Drops: {
- Queen's_Hair_Ornament: 500
+ Queens_Hair_Ornament: 500
Safety_Ring: 200
Tiara: 200
Armlet_Of_Obedience: 500
- Mother's_Nightmare: 10
+ Mothers_Nightmare: 10
Elunium: 3500
Dea_Staff: 100
Maya_Card: 1
@@ -7752,7 +7752,7 @@ mob_db: (
}
Drops: {
Broken_Pharaoh_Symbol: 5820
- Tutankhamen's_Mask: 2500
+ Tutankhamens_Mask: 2500
Solar_Sword: 100
Holy_Robe: 150
Gemmed_Crown: 500
@@ -7856,7 +7856,7 @@ mob_db: (
Star_Crumb: 4000
}
Drops: {
- Thin_N'_Long_Tongue: 9700
+ Thin_N_Long_Tongue: 9700
Forturn_Sword: 500
Sucsamad: 150
Jaws_Of_Ant: 5000
@@ -8156,7 +8156,7 @@ mob_db: (
Fine_Sand: 350
Sparkling_Dust: 200
Katar_Of_Thornbush: 1
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Sand_Man_Card: 1
}
},
@@ -8197,7 +8197,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 9000
+ Wild_Boars_Mane: 9000
Grape: 300
Animal_Blood: 2
Eagle_Eyes: 1
@@ -8243,7 +8243,7 @@ mob_db: (
DamageMotion: 576
MvpExp: 0
Drops: {
- Animal's_Skin: 9000
+ Animals_Skin: 9000
Axe_: 100
Meat: 500
Savage_Meat: 6
@@ -8295,7 +8295,7 @@ mob_db: (
Flame_Heart: 45
Tweezer: 4850
Hammer_Of_Blacksmith: 15
- Scorpion's_Tail: 5000
+ Scorpions_Tail: 5000
Solid_Shell: 3000
White_Herb: 700
Scorpion_King_Card: 1
@@ -8632,9 +8632,9 @@ mob_db: (
MvpExp: 0
Drops: {
Rat_Tail: 9000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Feather: 800
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Ora_Ora: 2
Tarou_Card: 1
}
@@ -9812,12 +9812,12 @@ mob_db: (
DamageMotion: 768
MvpExp: 0
Drops: {
- Executioner's_Mitten: 5
+ Executioners_Mitten: 5
Black_Butterfly_Mask: 10
Rose_Quartz: 1500
Tights_: 8
Earring_: 1
- Queen's_Whip: 100
+ Queens_Whip: 100
Masquerade: 3
Zherlthsh_Card: 1
}
@@ -9863,8 +9863,8 @@ mob_db: (
DamageMotion: 540
MvpExp: 0
Drops: {
- Thin_N'_Long_Tongue: 3880
- Executioner's_Mitten: 3
+ Thin_N_Long_Tongue: 3880
+ Executioners_Mitten: 3
White_Herb: 1800
Oil_Bottle: 300
Frozen_Heart: 10
@@ -9913,8 +9913,8 @@ mob_db: (
DamageMotion: 600
MvpExp: 0
Drops: {
- Thin_N'_Long_Tongue: 3880
- Executioner's_Mitten: 4
+ Thin_N_Long_Tongue: 3880
+ Executioners_Mitten: 4
White_Herb: 1800
Oridecon: 150
Electric_Wire: 100
@@ -9966,7 +9966,7 @@ mob_db: (
DamageMotion: 240
MvpExp: 0
Drops: {
- Loki's_Whispers: 1
+ Lokis_Whispers: 1
Biotite: 1500
Slayer_: 70
Bastard_Sword_: 40
@@ -10284,7 +10284,7 @@ mob_db: (
MvpExp: 0
Drops: {
Claw_Of_Rat: 4656
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Blue_Jewel: 80
Glass_Bead: 110
Lemon: 250
@@ -10794,7 +10794,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 6000
+ Wild_Boars_Mane: 6000
Grape: 150
Animal_Blood: 3
Eagle_Eyes: 2
@@ -11430,7 +11430,7 @@ mob_db: (
Yoyo_Tail: 6000
Cacao: 500
Yellow_Herb: 130
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Monkey_Doll: 7
Strawberry: 500
Orange: 1000
@@ -11856,7 +11856,7 @@ mob_db: (
White_Herb: 800
Feather: 1000
Panda_Cap: 1
- Bear's_Foot: 5000
+ Bears_Foot: 5000
White_Jewel: 30
Elunium_Stone: 90
Sasquatch_Card: 1
@@ -11950,7 +11950,7 @@ mob_db: (
Gift_Box: 10
Dirk_: 10
Buckler_: 5
- Santa's_Hat: 10
+ Santas_Hat: 10
Goblin_Card: 1
}
},
@@ -12766,8 +12766,8 @@ mob_db: (
Fruit_Shell: 120
Thief_Clothes_: 1
Rotten_Fish: 35
- Monster's_Feed: 600
- Big_Sis'_Ribbon: 2
+ Monsters_Feed: 600
+ Big_Sis_Ribbon: 2
Wild_Rose_Card: 1
}
},
@@ -13460,7 +13460,7 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Alice's_Apron: 2500
+ Alices_Apron: 2500
Old_Broom: 40
Chrystal_Pumps: 3
Rotha_Shield: 2
@@ -13754,7 +13754,7 @@ mob_db: (
Fire_Scroll_1_5: 100
Fashionable_Glasses: 10
Cold_Scroll_1_5: 100
- Ph.D_Hat: 1
+ Ph_D_Hat: 1
Sageworm_Card: 1
}
},
@@ -14121,7 +14121,7 @@ mob_db: (
Oridecon_Stone: 300
Gold: 100
Oridecon: 150
- Queen's_Hair_Ornament: 1
+ Queens_Hair_Ornament: 1
Cookbook10: 2
Maya_Puple_Card: 1
}
@@ -15012,7 +15012,7 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 4550
+ Bears_Foot: 4550
Poo_Poo_Hat: 8
Stuffed_Doll: 120
Honey: 500
@@ -15274,7 +15274,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 3500
+ Wild_Boars_Mane: 3500
Grape: 290
Animal_Blood: 6
Eagle_Eyes: 1
@@ -18069,7 +18069,7 @@ mob_db: (
Drops: {
Fruit_Of_Mastela: 1500
Chrystal_Pumps: 3
- Boy's_Naivety: 1
+ Boys_Naivety: 1
Diamond_Ring: 250
Horn_Of_Succubus: 1
Staff_Of_Soul: 1
@@ -18164,8 +18164,8 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Goat's_Horn: 4559
- Gaoat's_Skin: 2500
+ Goats_Horn: 4559
+ Gaoats_Skin: 2500
Empty_Bottle: 5000
Red_Herb: 500
Blue_Herb: 1000
@@ -18376,8 +18376,8 @@ mob_db: (
DamageMotion: 470
MvpExp: 0
Drops: {
- Harpy's_Feather: 4850
- Harpy's_Claw: 2500
+ Harpys_Feather: 4850
+ Harpys_Claw: 2500
Yellow_Herb: 1500
Yellow_Herb: 800
Izidor: 20
@@ -18620,10 +18620,10 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 5000
- Animal's_Skin: 5000
+ Bears_Foot: 5000
+ Animals_Skin: 5000
Nice_Sweet_Potato: 2500
- Odin's_Blessing: 20
+ Odins_Blessing: 20
Grizzly_Card: 1
}
},
@@ -18764,7 +18764,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Dragon's_Skin: 4074
+ Dragons_Skin: 4074
Dragon_Canine: 5335
Dragon_Train: 3880
Dragon_Scale: 3589
@@ -18811,7 +18811,7 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Dragon's_Skin: 4074
+ Dragons_Skin: 4074
Dragon_Canine: 5335
Dragon_Train: 3880
Dragon_Scale: 3589
@@ -18864,7 +18864,7 @@ mob_db: (
Great_Nature: 2500
Oridecon_Stone: 300
Damascus_: 5
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Fine_Sand: 1200
Sleeper_Card: 1
}
@@ -18909,8 +18909,8 @@ mob_db: (
DamageMotion: 576
MvpExp: 0
Drops: {
- Scropion's_Nipper: 4365
- Scorpion's_Tail: 5500
+ Scropions_Nipper: 4365
+ Scorpions_Tail: 5500
Red_Gemstone: 150
Panacea: 2500
Flame_Heart: 850
@@ -19596,7 +19596,7 @@ mob_db: (
Broken_Shuriken: 5335
Ninja_Suit: 2
Smoke_Powder: 700
- Shinobi's_Sash: 100
+ Shinobis_Sash: 100
Thief_Clothes_: 1
Black_Mask: 2000
Murasame_: 5
@@ -19640,7 +19640,7 @@ mob_db: (
DamageMotion: 864
MvpExp: 0
Drops: {
- Poison_Toad's_Skin: 5500
+ Poison_Toads_Skin: 5500
Poison_Powder: 2400
Gold_Ring: 4
Green_Herb: 540
@@ -19789,7 +19789,7 @@ mob_db: (
DamageMotion: 672
MvpExp: 0
Drops: {
- Tengu's_Nose: 3500
+ Tengus_Nose: 3500
Broken_Wine_Vessel: 5500
Huuma_Giant_Wheel: 5
Fruit_Of_Mastela: 150
@@ -20328,7 +20328,7 @@ mob_db: (
DamageMotion: 420
MvpExp: 0
Drops: {
- Black_Bear's_Skin: 4462
+ Black_Bears_Skin: 4462
Mystery_Iron_Bit: 3500
Royal_Jelly: 400
Honey: 900
@@ -20388,7 +20388,7 @@ mob_db: (
Taegeuk_Plate: 5820
Sword_Of_Grave_Keeper: 5100
Hell_Fire: 80
- Ph.D_Hat: 80
+ Ph_D_Hat: 80
Gae_Bolg: 500
Pill: 900
Sway_Apron: 2000
@@ -23971,7 +23971,7 @@ mob_db: (
DamageMotion: 480
MvpExp: 0
Drops: {
- Dullahan's_Helm: 3200
+ Dullahans_Helm: 3200
Dullahan_Armor: 4850
An_Eye_Of_Dullahan: 1
Manteau: 13
@@ -24025,7 +24025,7 @@ mob_db: (
Striped_Socks: 3000
Bat_Cage: 5044
Elunium: 100
- Loki's_Whispers: 1
+ Lokis_Whispers: 1
Lunatic_Brooch: 5
Sabah_Cloth: 10
Loli_Ruri_Card: 1
@@ -24127,7 +24127,7 @@ mob_db: (
Rusty_Cleaver: 2000
Mr_Scream: 50
Oridecon: 100
- Mama's_Knife: 3
+ Mamas_Knife: 3
Ginnungagap: 1
Bloody_Murderer_Card: 1
}
@@ -29402,7 +29402,7 @@ mob_db: (
MvpExp: 0
Drops: {
Meat: 1000
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Hill_Wind_Card: 1
}
},
@@ -29909,7 +29909,7 @@ mob_db: (
Drops: {
Armlet_Of_Prisoner: 3000
Carnium: 1
- La'cryma_Stick: 100
+ Lacryma_Stick: 100
High_Weapon_Box: 1
Will_Of_Warrior: 200
Pair_Of_Red_Ribbon: 1
@@ -30264,7 +30264,7 @@ mob_db: (
Full_Plate_Armor_: 3500
Grave_: 9000
Brionac: 3500
- Longinus's_Spear: 3000
+ Longinuss_Spear: 3000
Dragon_Slayer: 2500
Skewer: 1500
B_Seyren_Card: 1
@@ -30664,7 +30664,7 @@ mob_db: (
Drops: {
Armlet_Of_Prisoner: 2000
Forturn_Sword: 1
- Adventurere's_Suit_: 40
+ Adventureres_Suit_: 40
Gladius_: 10
Chain_Mail_: 2
Ring_Of_Rogue: 1
@@ -31942,9 +31942,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Harpy's_Feather: 4000
- Harpy's_Claw: 3000
- Monster's_Feed: 1000
+ Harpys_Feather: 4000
+ Harpys_Claw: 3000
+ Monsters_Feed: 1000
Blue_Herb: 10
Hill_Wind_Card: 1
}
@@ -32282,7 +32282,7 @@ mob_db: (
Reptile_Tongue: 1000
Leaflet_Of_Hinal: 1000
Green_Herb: 1000
- Monster's_Feed: 2000
+ Monsters_Feed: 2000
Aloebera: 10
Melon: 500
Green_Iguana_Card: 1
@@ -32816,7 +32816,7 @@ mob_db: (
Bookclip_In_Memory: 300
Legend_Of_Kafra01: 50
Bloody_Page: 500
- Vidar's_Boots: 10
+ Vidars_Boots: 10
Cookbook08: 2
Cookbook09: 1
Deathword_Card: 1
@@ -33137,7 +33137,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Blue: 10000
Old_Card_Album: 10
- Goibne's_Shoulder_Arms: 1000
+ Goibnes_Shoulder_Arms: 1000
Tha_Odium_Card: 1
}
},
@@ -33191,7 +33191,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Red: 10000
Old_Card_Album: 10
- Goibne's_Combat_Boots: 1000
+ Goibnes_Combat_Boots: 1000
Tha_Despero_Card: 1
}
},
@@ -33245,7 +33245,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Purple: 10000
Old_Card_Album: 10
- Goibne's_Armor: 1000
+ Goibnes_Armor: 1000
Tha_Maero_Card: 1
}
},
@@ -33299,7 +33299,7 @@ mob_db: (
Crystal_Jewel__: 100
Piece_Of_Memory_Green: 10000
Old_Card_Album: 10
- Goibne's_Helmet: 1000
+ Goibnes_Helmet: 1000
Tha_Dolor_Card: 1
}
},
@@ -33354,7 +33354,7 @@ mob_db: (
}
Drops: {
Treasure_Box: 1000
- Morrigane's_Manteau: 1000
+ Morriganes_Manteau: 1000
Piece_Of_Bone_Armor: 5000
Full_Plate_Armor_: 5000
Grave_: 5000
@@ -33652,7 +33652,7 @@ mob_db: (
Drops: {
Black_wing_Brooch: 10
Dragon_Canine: 1000
- Dragon's_Skin: 1000
+ Dragons_Skin: 1000
Dragon_Scale: 2000
Dragonball_Red: 800
Flame_Heart: 20
@@ -33902,8 +33902,8 @@ mob_db: (
Crystal_Jewel__: 2000
}
Drops: {
- Morpheus's_Armlet: 1000
- Morpheus's_Ring: 1000
+ Morpheuss_Armlet: 1000
+ Morpheuss_Ring: 1000
Treasure_Box: 5000
Scale_Of_Red_Dragon: 3589
Int_Dish10: 1000
@@ -33957,11 +33957,11 @@ mob_db: (
DamageMotion: 432
MvpExp: 0
Drops: {
- Dragon's_Skin: 4000
+ Dragons_Skin: 4000
Dragon_Canine: 4000
Tri_Headed_Dragon_Head: 3880
- Morpheus's_Hood: 500
- Morrigane's_Helm: 500
+ Morpheuss_Hood: 500
+ Morriganes_Helm: 500
Vit_Dish10: 300
Fricca_Circlet: 500
Hydro_Card: 1
@@ -34545,11 +34545,11 @@ mob_db: (
Drops: {
Pocket_Watch: 3000
Old_Violet_Box: 3000
- Morrigane's_Pendant: 1000
+ Morriganes_Pendant: 1000
Glittering_Clothes: 1000
Survival_Rod_: 500
Counter_Dagger: 500
- Morrigane's_Belt: 1000
+ Morriganes_Belt: 1000
Kiel_Card: 1
}
},
@@ -34600,7 +34600,7 @@ mob_db: (
Smoke_Powder: 200
Drill_Katar: 5
Elunium: 10
- Vali's_Manteau: 20
+ Valis_Manteau: 20
Alicel_Card: 1
}
},
@@ -34693,9 +34693,9 @@ mob_db: (
MvpExp: 0
Drops: {
Brigan: 4000
- Morpheus's_Shawl: 10
+ Morpheuss_Shawl: 10
Rosary_: 10
- Alice's_Apron: 5
+ Alices_Apron: 5
Imperial_Cooking_Kits: 50
Sway_Apron: 1
Orleans_Server: 5
@@ -35458,7 +35458,7 @@ mob_db: (
Divine_Cross: 25
Rune_Of_Darkness: 1000
Silk_Robe_: 100
- Odin's_Blessing: 100
+ Odins_Blessing: 100
Skeggiold_Card: 1
}
},
@@ -35512,7 +35512,7 @@ mob_db: (
Divine_Cross: 25
Rune_Of_Darkness: 1000
Silk_Robe_: 100
- Odin's_Blessing: 100
+ Odins_Blessing: 100
Skeggiold_Card: 1
}
},
@@ -35943,7 +35943,7 @@ mob_db: (
Drops: {
Valhalla_Flower: 160
Old_Violet_Box: 40
- Valkyrja's_Shield: 100
+ Valkyrjas_Shield: 100
}
},
{
@@ -36783,7 +36783,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Wind_Of_Verdure: 50
Combo_Battle_Glove: 2
Roween_Card: 1
@@ -36831,7 +36831,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Rough_Wind: 10
Ulfhedinn: 5
Galion_Card: 1
@@ -39417,7 +39417,7 @@ mob_db: (
Drops: {
Great_Nature: 30
Coal: 150
- Elder_Pixie's_Beard: 5500
+ Elder_Pixies_Beard: 5500
Elven_Ears: 1
Carnium: 10
Thorny_Buckler: 3
@@ -40377,7 +40377,7 @@ mob_db: (
Acorn: 9000
Hood_: 20
Fluff: 3000
- Animal's_Skin: 2500
+ Animals_Skin: 2500
Sweet_Potato: 500
Sandals_: 25
Sweet_Bean: 600
@@ -40671,12 +40671,12 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Monster's_Feed: 5000
+ Monsters_Feed: 5000
Tooth_Blade: 10
Wild_Beast_Claw: 10
Skel_Bone: 4500
Well_Dried_Bone: 20
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Pet_Food: 400
Hell_Poodle_Card: 1
}
@@ -47125,7 +47125,7 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Cowking's_Nose_Ring: 10000
+ Cowkings_Nose_Ring: 10000
}
},
{
@@ -47303,8 +47303,8 @@ mob_db: (
DamageMotion: 504
MvpExp: 0
Drops: {
- Dragon's_Mane: 3000
- Dragon's_Skin: 100
+ Dragons_Mane: 3000
+ Dragons_Skin: 100
Dragon_Canine: 100
Dragon_Train: 1000
Dragon_Scale: 1000
@@ -48120,7 +48120,7 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Pope's_Cookie: 5000
+ Popes_Cookie: 5000
}
},
{
@@ -48168,7 +48168,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Pope's_Cookie: 5000
+ Popes_Cookie: 5000
}
},
{
@@ -49847,7 +49847,7 @@ mob_db: (
Tooth_Of_Ancient_Fish: 500
Lip_Of_Ancient_Fish: 500
Scalpel: 1
- Fisherman's_Dagger: 5
+ Fishermans_Dagger: 5
}
},
{
@@ -49939,7 +49939,7 @@ mob_db: (
Drops: {
Leopard_Skin: 3000
Leopard_Talon: 2000
- Animal's_Skin: 1000
+ Animals_Skin: 1000
Oridecon_Stone: 40
Claw_: 1
}
@@ -50986,7 +50986,7 @@ mob_db: (
DamageMotion: 432
MvpExp: 1005
MvpDrops: {
- Tiger's_Skin: 5000
+ Tigers_Skin: 5000
Tiger_Footskin: 3000
Tiger_Footskin: 3000
}
@@ -51999,7 +51999,7 @@ mob_db: (
Full_Plate_Armor_: 3500
Splendid_Box: 200
Brionac: 3500
- Longinus's_Spear: 3000
+ Longinuss_Spear: 3000
Dragon_Slayer: 2500
Skewer: 1500
}
@@ -54896,7 +54896,7 @@ mob_db: (
Crystal_Blue: 30
Worm_Peelings: 5500
Garlet: 400
- Monster's_Feed: 500
+ Monsters_Feed: 500
Insect_Feeler: 450
Earthworm_The_Dude: 20
Low_Coin_Pocket: 4
@@ -56950,7 +56950,7 @@ mob_db: (
Creeper_Bow: 20
Mental_Stick: 2
Blood_Thirst: 300
- Celia_Card: 1
+ Ceila_Card: 1
}
},
{
@@ -58196,7 +58196,7 @@ mob_db: (
Sg_Weapon_Supply_Box: 6000
Sg_White_Potion_Box: 4000
Sg_Blue_Potion_Box: 2000
- Angry_Student_Pyuriel_Card: 1
+ Pyuriel_Card: 1
}
},
{
@@ -58249,7 +58249,7 @@ mob_db: (
Sg_Weapon_Supply_Box: 100
Sg_White_Potion_Box: 1000
Sg_Blue_Potion_Box: 1000
- Warrior_Lola_Card: 1
+ Lora_Card: 1
}
},
{
@@ -58418,7 +58418,7 @@ mob_db: (
Sg_Weapon_Supply_Box: 6000
Sg_White_Potion_Box: 4000
Sg_Blue_Potion_Box: 2000
- General_Daehyon_Card: 1
+ Daehyon_Card: 1
}
},
{
@@ -58471,7 +58471,7 @@ mob_db: (
Sg_Weapon_Supply_Box: 100
Sg_White_Potion_Box: 1000
Sg_Blue_Potion_Box: 1000
- Armed_Guard_Soheon_Card: 1
+ Soheon_Card: 1
}
},
{
@@ -58530,7 +58530,7 @@ mob_db: (
Sg_Weapon_Supply_Box: 6000
Sg_White_Potion_Box: 4000
Sg_Blue_Potion_Box: 2000
- Guardian_Kades_Card: 1
+ Kades_Card: 1
}
},
{
@@ -60756,7 +60756,7 @@ mob_db: (
Drops: {
Brigan: 2000
Beautiful_Flower: 2000
- Monster's_Feed: 2000
+ Monsters_Feed: 2000
Insideout_Shirt: 200
Engkanto_Card: 1
}
@@ -63299,7 +63299,7 @@ mob_db: (
Bookclip_In_Memory: 1000
Worn_Out_Page: 1000
Snow_Flip: 5
- Antique_Book_Card: 1
+ AntiqueBook_Card: 1
}
},
{
@@ -63350,7 +63350,7 @@ mob_db: (
Sparkling_Dust: 1000
Mistic_Frozen: 20
Snow_Flip: 5
- Lichtern_Blue_Card: 1
+ LichternB_Card: 1
}
},
{
@@ -63401,7 +63401,7 @@ mob_db: (
Sparkling_Dust: 1000
Rough_Wind: 20
Slapping_Herb: 5
- Lichtern_Yellow_Card: 1
+ LichternG_Card: 1 // FIXME: Are the yellow and green intended to be swapped? (see names in the item db)
}
},
{
@@ -63452,7 +63452,7 @@ mob_db: (
Sparkling_Dust: 1000
Flame_Heart: 20
Peony_Mommy: 5
- Lichtern_Red_Card: 1
+ LichternR_Card: 1
}
},
{
@@ -63503,7 +63503,7 @@ mob_db: (
Sparkling_Dust: 1000
Great_Nature: 20
Yggdrasil_Dust: 5
- Lichtern_Green_Card: 1
+ LichternY_Card: 1 // FIXME: Are the yellow and green intended to be swapped? (see names in the item db)
}
},
{
@@ -63554,7 +63554,7 @@ mob_db: (
Alchol: 100
Detrimindexta: 100
Karvodailnirol: 100
- Faithful_Manager_Card: 1
+ FaithfulManager_Card: 1
}
},
// Additional Monsters
@@ -64518,7 +64518,7 @@ mob_db: (
Coagulated_Spell: 10
Sticky_Mucus: 1000
White_Jewel: 500
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
}
},
{
@@ -64569,7 +64569,7 @@ mob_db: (
Coagulated_Spell: 10
Glast_Decayed_Nail: 1000
Glast_Horrendous_Mouth: 1000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
}
},
{
@@ -64619,7 +64619,7 @@ mob_db: (
Glast_Decayed_Nail: 1000
Glast_Horrendous_Mouth: 1000
Old_White_Cloth: 1000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
}
},
{
@@ -64668,7 +64668,7 @@ mob_db: (
Coagulated_Spell: 10
Glast_Decayed_Nail: 1000
Glast_Horrendous_Mouth: 1000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
}
},
{
@@ -64716,7 +64716,7 @@ mob_db: (
Coagulated_Spell: 10
Glast_Decayed_Nail: 1000
Glast_Horrendous_Mouth: 1000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Plate_Armor: 200
}
},
@@ -64765,7 +64765,7 @@ mob_db: (
Coagulated_Spell: 10
Glast_Decayed_Nail: 1000
Glast_Horrendous_Mouth: 1000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Tights: 200
}
},
@@ -64817,7 +64817,7 @@ mob_db: (
Coagulated_Spell: 50
Glast_Decayed_Nail: 3000
Glast_Horrendous_Mouth: 2000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Full_Plate_Armor: 200
}
},
@@ -64869,7 +64869,7 @@ mob_db: (
Coagulated_Spell: 50
Glast_Decayed_Nail: 3000
Glast_Horrendous_Mouth: 2000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Lapier: 300
}
},
@@ -64921,7 +64921,7 @@ mob_db: (
Coagulated_Spell: 50
Glast_Decayed_Nail: 3000
Glast_Horrendous_Mouth: 2000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Brigan: 500
}
},
@@ -64973,9 +64973,9 @@ mob_db: (
Coagulated_Spell: 50
Glast_Decayed_Nail: 5000
Glast_Horrendous_Mouth: 5000
- Contaminated_Magic: 500
+ Corrupted_Charm: 500
Halberd: 200
- Agony_Of_Royal_Knight_Card: 1
+ UndeadKnightM_Card: 1
}
},
{
@@ -65026,8 +65026,8 @@ mob_db: (
Coagulated_Spell: 50
Glast_Decayed_Nail: 5000
Glast_Horrendous_Mouth: 5000
- Contaminated_Magic: 500
- Grudge_of_Royal_Knight_Card: 1
+ Corrupted_Charm: 500
+ UndeadKnightF_Card: 1
}
},
{
@@ -65079,8 +65079,8 @@ mob_db: (
Yggdrasilberry: 10000
Alchemy_Glove: 1000
Will_Of_Darkness_: 10000
- Contaminated_Magic: 500
- Corruption_Root_Card: 1
+ Corrupted_Charm: 500
+ CorruptionRoot_Card: 1
}
},
{
@@ -67332,8 +67332,8 @@ mob_db: (
Claw_Of_Wolves: 9000
Mantle_: 10
Wing_Of_Fly: 650
- Monster's_Feed: 150
- Animal's_Skin: 5500
+ Monsters_Feed: 150
+ Animals_Skin: 5500
Strawberry: 600
Wolf_Card: 1
}
@@ -67479,8 +67479,8 @@ mob_db: (
Fruit_Shell: 120
Thief_Clothes_: 1
Rotten_Fish: 35
- Monster's_Feed: 600
- Big_Sis'_Ribbon: 2
+ Monsters_Feed: 600
+ Big_Sis_Ribbon: 2
Wild_Rose_Card: 1
}
},
@@ -68547,9 +68547,9 @@ mob_db: (
MvpExp: 0
Drops: {
Rat_Tail: 9000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Feather: 800
- Monster's_Feed: 1000
+ Monsters_Feed: 1000
Ora_Ora: 2
Tarou_Card: 1
}
@@ -69325,7 +69325,7 @@ mob_db: (
MvpExp: 0
Drops: {
Raccoon_Leaf: 5500
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Sweet_Potato: 800
Cat_Hairband: 1
Raccoondog_Doll: 2
@@ -69379,7 +69379,7 @@ mob_db: (
Great_Nature: 2500
Oridecon_Stone: 300
Damascus_: 5
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Fine_Sand: 1200
Sleeper_Card: 1
}
@@ -69429,7 +69429,7 @@ mob_db: (
Great_Nature: 2500
Oridecon_Stone: 300
Damascus_: 5
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Fine_Sand: 1200
Sleeper_Card: 1
}
@@ -69829,7 +69829,7 @@ mob_db: (
Broken_Shuriken: 5335
Ninja_Suit: 2
Smoke_Powder: 700
- Shinobi's_Sash: 100
+ Shinobis_Sash: 100
Thief_Clothes_: 1
Black_Mask: 2000
Murasame_: 5
@@ -70128,7 +70128,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 70
- Scorpion's_Tail: 5500
+ Scorpions_Tail: 5500
Elunium_Stone: 57
Solid_Shell: 210
Wing_Of_Fly: 100
@@ -70173,7 +70173,7 @@ mob_db: (
DamageMotion: 576
MvpExp: 0
Drops: {
- Animal's_Skin: 9000
+ Animals_Skin: 9000
Axe_: 100
Meat: 500
Wing_Of_Fly: 1
@@ -70220,7 +70220,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 9000
+ Wild_Boars_Mane: 9000
Grape: 300
Animal_Blood: 2
Eagle_Eyes: 1
@@ -70267,7 +70267,7 @@ mob_db: (
DamageMotion: 384
MvpExp: 0
Drops: {
- Wild_Boar's_Mane: 9000
+ Wild_Boars_Mane: 9000
Grape: 300
Animal_Blood: 2
Eagle_Eyes: 1
@@ -70323,7 +70323,7 @@ mob_db: (
Fine_Sand: 350
Sparkling_Dust: 200
Katar_Of_Thornbush: 1
- Hypnotist's_Staff_: 5
+ Hypnotists_Staff_: 5
Sand_Man_Card: 1
}
},
@@ -70470,7 +70470,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Wind_Of_Verdure: 50
Combo_Battle_Glove: 2
Roween_Card: 1
@@ -70601,7 +70601,7 @@ mob_db: (
DamageMotion: 540
MvpExp: 0
Drops: {
- Grasshopper's_Leg: 9000
+ Grasshoppers_Leg: 9000
Wing_Of_Fly: 10000
Green_Feeler: 4
Javelin_: 80
@@ -71781,7 +71781,7 @@ mob_db: (
DamageMotion: 864
MvpExp: 0
Drops: {
- Poison_Toad's_Skin: 5500
+ Poison_Toads_Skin: 5500
Poison_Powder: 2400
Gold_Ring: 4
Green_Herb: 540
@@ -72029,7 +72029,7 @@ mob_db: (
Tooth_Of_Ancient_Fish: 500
Lip_Of_Ancient_Fish: 500
Scalpel: 1
- Fisherman's_Dagger: 5
+ Fishermans_Dagger: 5
}
},
{
@@ -74218,7 +74218,7 @@ mob_db: (
MvpExp: 0
Drops: {
Boody_Red: 60
- Grasshopper's_Leg: 6500
+ Grasshoppers_Leg: 6500
Scell: 400
Elunium_Stone: 49
Singing_Plant: 20
@@ -75202,7 +75202,7 @@ mob_db: (
Striped_Socks: 3000
Bat_Cage: 5044
Elunium: 100
- Loki's_Whispers: 1
+ Lokis_Whispers: 1
Lunatic_Brooch: 5
Sabah_Cloth: 100
Loli_Ruri_Card: 1
@@ -75486,7 +75486,7 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 4550
+ Bears_Foot: 4550
Poo_Poo_Hat: 8
Stuffed_Doll: 120
Honey: 500
@@ -75680,7 +75680,7 @@ mob_db: (
Drops: {
Great_Nature: 30
Coal: 150
- Elder_Pixie's_Beard: 5500
+ Elder_Pixies_Beard: 5500
Elven_Ears: 1
Carnium: 10
Thorny_Buckler: 3
@@ -76506,9 +76506,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Harpy's_Feather: 4000
- Harpy's_Claw: 3000
- Monster's_Feed: 1000
+ Harpys_Feather: 4000
+ Harpys_Claw: 3000
+ Monsters_Feed: 1000
Blue_Herb: 10
Hill_Wind_Card: 1
}
@@ -76553,9 +76553,9 @@ mob_db: (
DamageMotion: 360
MvpExp: 0
Drops: {
- Harpy's_Feather: 4000
- Harpy's_Claw: 3000
- Monster's_Feed: 1000
+ Harpys_Feather: 4000
+ Harpys_Claw: 3000
+ Monsters_Feed: 1000
Blue_Herb: 10
Hill_Wind_Card: 1
}
@@ -76653,8 +76653,8 @@ mob_db: (
DamageMotion: 470
MvpExp: 0
Drops: {
- Harpy's_Feather: 4850
- Harpy's_Claw: 2500
+ Harpys_Feather: 4850
+ Harpys_Claw: 2500
Yellow_Herb: 1500
Yellow_Herb: 800
Izidor: 20
@@ -76703,8 +76703,8 @@ mob_db: (
DamageMotion: 470
MvpExp: 0
Drops: {
- Harpy's_Feather: 4850
- Harpy's_Claw: 2500
+ Harpys_Feather: 4850
+ Harpys_Claw: 2500
Yellow_Herb: 1500
Yellow_Herb: 800
Izidor: 20
@@ -76753,7 +76753,7 @@ mob_db: (
Reptile_Tongue: 1000
Leaflet_Of_Hinal: 1000
Green_Herb: 1000
- Monster's_Feed: 2000
+ Monsters_Feed: 2000
Aloebera: 10
Melon: 500
Green_Iguana_Card: 1
@@ -77086,8 +77086,8 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Goat's_Horn: 4559
- Gaoat's_Skin: 2500
+ Goats_Horn: 4559
+ Gaoats_Skin: 2500
Empty_Bottle: 5000
Red_Herb: 500
Blue_Herb: 1000
@@ -77134,8 +77134,8 @@ mob_db: (
DamageMotion: 336
MvpExp: 0
Drops: {
- Goat's_Horn: 4559
- Gaoat's_Skin: 2500
+ Goats_Horn: 4559
+ Gaoats_Skin: 2500
Empty_Bottle: 5000
Red_Herb: 500
Blue_Herb: 1000
@@ -77731,7 +77731,7 @@ mob_db: (
MvpExp: 0
Drops: {
Rotten_Meat: 3000
- Animal's_Skin: 3000
+ Animals_Skin: 3000
Rough_Wind: 10
Ulfhedinn: 5
Galion_Card: 1
@@ -78759,8 +78759,8 @@ mob_db: (
DamageMotion: 504
MvpExp: 0
Drops: {
- Dragon's_Mane: 3000
- Dragon's_Skin: 100
+ Dragons_Mane: 3000
+ Dragons_Skin: 100
Dragon_Canine: 100
Dragon_Train: 1000
Dragon_Scale: 1000
@@ -79060,8 +79060,8 @@ mob_db: (
MvpExp: 0
Drops: {
Phracon: 85
- Animal's_Skin: 5500
- Adventurere's_Suit_: 80
+ Animals_Skin: 5500
+ Adventureres_Suit_: 80
Wing_Of_Fly: 200
Cotton_Shirt: 200
Asura_: 5
@@ -79107,8 +79107,8 @@ mob_db: (
MvpExp: 0
Drops: {
Phracon: 85
- Animal's_Skin: 5500
- Adventurere's_Suit_: 80
+ Animals_Skin: 5500
+ Adventureres_Suit_: 80
Wing_Of_Fly: 200
Cotton_Shirt: 200
Asura_: 5
@@ -79210,7 +79210,7 @@ mob_db: (
Bookclip_In_Memory: 300
Legend_Of_Kafra01: 50
Bloody_Page: 500
- Vidar's_Boots: 10
+ Vidars_Boots: 10
Cookbook08: 2
Cookbook09: 1
Deathword_Card: 1
@@ -79262,7 +79262,7 @@ mob_db: (
Bookclip_In_Memory: 300
Legend_Of_Kafra01: 50
Bloody_Page: 500
- Vidar's_Boots: 10
+ Vidars_Boots: 10
Cookbook08: 2
Cookbook09: 1
Deathword_Card: 1
@@ -79314,7 +79314,7 @@ mob_db: (
Bookclip_In_Memory: 300
Legend_Of_Kafra01: 50
Bloody_Page: 500
- Vidar's_Boots: 10
+ Vidars_Boots: 10
Cookbook08: 2
Cookbook09: 1
Deathword_Card: 1
@@ -79693,7 +79693,7 @@ mob_db: (
Drops: {
Acorn: 9000
Fluff: 10000
- Animal's_Skin: 10000
+ Animals_Skin: 10000
Sweet_Potato: 10000
Wing_Of_Fly: 10000
Sandals_: 25
@@ -79739,7 +79739,7 @@ mob_db: (
MvpExp: 0
Drops: {
Fluff: 3333
- Animal's_Skin: 3333
+ Animals_Skin: 3333
Acorn: 10000
Wing_Of_Fly: 2500
Sweet_Potato: 500
@@ -80040,7 +80040,7 @@ mob_db: (
Creeper_Bow: 10
Mental_Stick: 1
Blood_Thirst: 150
- Celia_Card: 1
+ Ceila_Card: 1
}
},
{
@@ -80186,7 +80186,7 @@ mob_db: (
Drops: {
Porcupine_Spike: 9000
Coat_: 5
- Animal's_Skin: 5500
+ Animals_Skin: 5500
Glaive_: 10
Spear_: 15
Pike_: 20
@@ -80480,9 +80480,9 @@ mob_db: (
DamageMotion: 192
MvpExp: 0
Drops: {
- Bear's_Foot: 9000
+ Bears_Foot: 9000
Poo_Poo_Hat: 5
- Animal's_Skin: 5000
+ Animals_Skin: 5000
Wing_Of_Fly: 80
Sweet_Potato: 1500
Honey: 450
@@ -81140,7 +81140,7 @@ mob_db: (
Leaf_Bookmark: 2000
Bookclip_In_Memory: 1000
Worn_Out_Page: 1000
- Antique_Book_Card: 1
+ AntiqueBook_Card: 1
}
},
{
@@ -81189,7 +81189,7 @@ mob_db: (
Leaf_Bookmark: 2000
Bookclip_In_Memory: 1000
Worn_Out_Page: 1000
- Antique_Book_Card: 1
+ AntiqueBook_Card: 1
}
},
{
@@ -81524,7 +81524,7 @@ mob_db: (
MvpExp: 0
Drops: {
Crystal_Blue: 50
- Snail's_Shell: 9000
+ Snails_Shell: 9000
Garlet: 1200
Shell: 3000
Wing_Of_Fly: 2
@@ -81666,9 +81666,9 @@ mob_db: (
MvpExp: 0
Drops: {
Brigan: 4000
- Morpheus's_Shawl: 10
+ Morpheuss_Shawl: 10
Rosary_: 10
- Alice's_Apron: 5
+ Alices_Apron: 5
Imperial_Cooking_Kits: 50
Sway_Apron: 1
Orleans_Server: 5
@@ -81722,7 +81722,7 @@ mob_db: (
Smoke_Powder: 200
Drill_Katar: 5
Elunium: 10
- Vali's_Manteau: 20
+ Valis_Manteau: 20
Alicel_Card: 1
}
},
@@ -81973,8 +81973,8 @@ mob_db: (
White_Herb: 950
Lemon: 160
Elunium_Stone: 100
- Twisted_Key_of_Time: 15
- Twisted_Key_of_Time: 15
+ Key_Of_Twisted_Time: 15
+ Key_Of_Twisted_Time: 15
Big_Ben_Card: 1
}
},
@@ -82024,7 +82024,7 @@ mob_db: (
Skull: 750
Oridecon: 100
Zargon: 750
- Twisted_Key_of_Time: 10
+ Key_Of_Twisted_Time: 10
Big_Bell_Card: 1
}
},
@@ -82069,8 +82069,8 @@ mob_db: (
Steel: 250
Leaflet_Of_Hinal: 425
Memorize_Book: 1
- Twisted_Key_of_Time: 1000
- Twisted_Key_of_Time: 1000
+ Key_Of_Twisted_Time: 1000
+ Key_Of_Twisted_Time: 1000
Time_Keeper_Card: 1
}
},
@@ -82166,7 +82166,7 @@ mob_db: (
Encyclopedia: 5
Wizardy_Staff: 1
Old_Card_Album: 2
- Twisted_Key_of_Time: 1500
+ Key_Of_Twisted_Time: 1500
Elder_Branch: 500
Arc_Elder_Card: 1
}
@@ -82216,11 +82216,11 @@ mob_db: (
Drops: {
Tatters_Clothes: 2500
Soft_Feather: 1000
- Cyclops_Glasses: 1
+ One_Eyed_Glass_: 1
Crystal_Mirror: 1
Pocket_Watch__: 2
Quadrille_: 1
- Menswear: 1
+ Lounge_Suit: 1
Owl_Viscount_Card: 1
}
},
@@ -82272,9 +82272,9 @@ mob_db: (
Soft_Feather: 1500
Kakkung_: 1
Staff_Of_Soul: 1
- Menswear: 3
+ Lounge_Suit: 3
Sword_Stick: 1
- Cyclops_Glasses: 1
+ One_Eyed_Glass_: 1
Owl_Marquees_Card: 1
}
},
@@ -82883,7 +82883,7 @@ mob_db: (
DamageMotion: 420
Drops: {
Decayed_Nail: 3000
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -82927,7 +82927,7 @@ mob_db: (
Drops: {
Mementos: 2500
Worn_Out_Page: 1500
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -82971,7 +82971,7 @@ mob_db: (
Drops: {
Exorcize_Herb: 1000
Withered_Flower: 2500
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83015,7 +83015,7 @@ mob_db: (
Drops: {
Sticky_Mucus: 3000
Horn: 2500
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83058,7 +83058,7 @@ mob_db: (
DamageMotion: 336
Drops: {
Immortal_Heart: 2500
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83101,7 +83101,7 @@ mob_db: (
DamageMotion: 192
Drops: {
Decayed_Nail: 3000
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83145,7 +83145,7 @@ mob_db: (
Drops: {
Horrendous_Mouth: 3500
Sharpened_Cuspid: 2000
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83189,7 +83189,7 @@ mob_db: (
Drops: {
Skel_Bone: 3500
Manacles: 2500
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83233,7 +83233,7 @@ mob_db: (
Drops: {
Realgar_Wine: 1000
Immortal_Heart: 2000
- Gray_Piece: 1000
+ Gray_Shard: 1000
}
},
{
@@ -83277,7 +83277,7 @@ mob_db: (
Drops: {
Realgar_Wine: 5000
Exorcize_Herb: 5000
- Gray_Piece: 1500
+ Gray_Shard: 1500
}
},
{
@@ -83321,7 +83321,7 @@ mob_db: (
Drops: {
Petite_DiablOfs_Horn: 2500
Tendon: 2500
- Gray_Piece: 1500
+ Gray_Shard: 1500
}
},
{
@@ -83366,8 +83366,8 @@ mob_db: (
DamageMotion: 360
Drops: {
Evil_Horn: 2000
- Gray_Piece: 10000
- Gray_Piece: 10000
+ Gray_Shard: 10000
+ Gray_Shard: 10000
}
},
//2960,MM_FLAMECROSS
@@ -83571,10 +83571,10 @@ mob_db: (
Needle_Of_Alarm: 3000
Memorize_Book_: 10
Brigan: 3000
- Twisted_Key_of_Time: 3000
- Cyclops_Glasses: 20
+ Key_Of_Twisted_Time: 3000
+ One_Eyed_Glass_: 20
Quadrille_: 5
- Menswear: 3
+ Lounge_Suit: 3
Timeholder_Card: 1
}
},
@@ -83699,9 +83699,9 @@ mob_db: (
DamageMotion: 0
MvpExp: 0
Drops: {
- Organic_Pumpkin: 5000
- Organic_Pumpkin: 5000
- Organic_Pumpkin: 1000
+ ORGANIC_PUMPKIN: 5000
+ ORGANIC_PUMPKIN: 5000
+ ORGANIC_PUMPKIN: 1000
Cigar: 100
Pumpkin_Head: 1000
Gift_Box_1: 100
@@ -83746,9 +83746,9 @@ mob_db: (
DamageMotion: 0
MvpExp: 0
Drops: {
- Inorganic_Pumpkin: 5000
- Inorganic_Pumpkin: 5000
- Inorganic_Pumpkin: 1000
+ INORGANIC_PUMPKIN: 5000
+ INORGANIC_PUMPKIN: 5000
+ INORGANIC_PUMPKIN: 1000
Cigar: 100
Pumpkin_Head: 1000
Gift_Box_1: 100
diff --git a/db/re/mob_race2_db.txt b/db/re/mob_race2_db.txt
index 97b6d46f1..ac90caf1c 100644
--- a/db/re/mob_race2_db.txt
+++ b/db/re/mob_race2_db.txt
@@ -13,7 +13,7 @@
4,1040,1278,1366,1497,2024
// Guardians
5,1285,1286,1287
-// Ninja Classes (Pirate's_Pride)
+// Ninja Classes (Pirates_Pride)
6,1315,1364,1401,1560
// Scarabas
7,2083,2084,2085,2086,2087,2088,2089,2090,2091,2144,2145
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index c66081fed..8eb2b40fa 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -21919,7 +21919,7 @@ skill_db: (
Requirements: {
SPCost: 5
Items: {
- Wolf's_Flute: 0
+ Wolfs_Flute: 0
}
}
},
@@ -22426,9 +22426,9 @@ skill_db: (
State: "MadoGear"
Items: {
Pilebuncker: 0
- Pilebunker_S: 0
- Pilebunker_P: 0
- Pilebunker_T: 0
+ Pilebuncker_S: 0
+ Pilebuncker_P: 0
+ Pilebuncker_T: 0
}
}
},
@@ -32971,6 +32971,13 @@ skill_db: (
SplashRange: 5
CastTime: 1000
SkillData1: 5000
+ CoolDown: {
+ Lv1: 100000
+ Lv2: 90000
+ Lv3: 80000
+ Lv4: 70000
+ Lv5: 60000
+ }
FixedCastTime: -1
Requirements: {
SPCost: {
@@ -33019,10 +33026,37 @@ skill_db: (
}
},
{
- Id: 5015
- Name: "SR_FLASHCOMBO_ATK_STEP1"
- Description: "Flash Combo Attack Step 1"
- MaxLevel: 5
+ Id: 5018
+ Name: "SU_BASIC_SKILL"
+ Description: "New Basic Skill"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5019
+ Name: "SU_BITE"
+ Description: "Bite"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 5020
+ Name: "SU_HIDE"
+ Description: "Hide"
+ MaxLevel: 1
Hit: "BDT_SKILL"
SkillType: {
Self: true
@@ -33030,15 +33064,67 @@ skill_db: (
DamageType: {
NoDamage: true
}
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: -1
+ CoolDown: 15000
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: 30
}
},
{
- Id: 5016
- Name: "SR_FLASHCOMBO_ATK_STEP2"
- Description: "Flash Combo Attack Step 2"
- MaxLevel: 5
+ Id: 5021
+ Name: "SU_SCRATCH"
+ Description: "Scratch"
+ MaxLevel: 3
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 10000
+ CoolDown: {
+ Lv1: 3000
+ Lv2: 2000
+ Lv3: 1000
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 5022
+ Name: "SU_STOOP"
+ Description: "Stoop"
+ MaxLevel: 1
Hit: "BDT_SKILL"
SkillType: {
Self: true
@@ -33046,30 +33132,609 @@ skill_db: (
DamageType: {
NoDamage: true
}
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 6000
+ CoolDown: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 5023
+ Name: "SU_LOPE"
+ Description: "Lope"
+ MaxLevel: 3
+ Range: {
+ Lv1: 6
+ Lv2: 10
+ Lv3: 14
+ Lv4: 18
+ Lv5: 22
+ Lv6: 26
+ Lv7: 30
+ Lv8: 34
+ Lv9: 38
+ Lv10: 42
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 2000
+ Lv2: 4000
+ Lv3: 6000
+ Lv4: 8000
+ Lv5: 10000
+ Lv6: 12000
+ Lv7: 14000
+ Lv8: 16000
+ Lv9: 18000
+ Lv10: 20000
+ }
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: {
+ Lv1: 30
+ Lv2: 30
+ Lv3: 30
+ Lv4: 30
+ Lv5: 30
+ Lv6: 30
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 30
+ }
}
},
{
- Id: 5017
- Name: "SR_FLASHCOMBO_ATK_STEP3"
- Description: "Flash Combo Attack Step 3"
+ Id: 5024
+ Name: "SU_SPRITEMABLE"
+ Description: "Spirit Marble"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5025
+ Name: "SU_POWEROFLAND"
+ Description: "Power of Land"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5026
+ Name: "SU_SV_STEMSPEAR"
+ Description: "Silvervine Stem Spear"
MaxLevel: 5
+ Range: 9
Hit: "BDT_SKILL"
SkillType: {
- Self: true
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: {
+ Lv1: "Ele_Earth"
+ Lv2: "Ele_Fire"
+ Lv3: "Ele_Water"
+ Lv4: "Ele_Wind"
+ Lv5: "Ele_Ghost"
+ }
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 40
+ Lv3: 40
+ Lv4: 40
+ Lv5: 40
+ Lv6: 40
+ Lv7: 40
+ Lv8: 40
+ Lv9: 40
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 5027
+ Name: "SU_CN_POWDERING"
+ Description: "Catnip Powdering"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
}
DamageType: {
NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 5
+ Lv4: 5
+ Lv5: 7
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1500
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 4000
+ Lv3: 5000
+ Lv4: 6000
+ Lv5: 7000
}
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 36
+ Lv3: 32
+ Lv4: 28
+ Lv5: 24
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+ Unit: {
+ Id: 0x106
+ Layout: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ }
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 5028
+ Name: "SU_CN_METEOR"
+ Description: "Catnip Meteor"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 5
+ Lv4: 5
+ Lv5: 7
+ }
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ }
+ InterruptCast: true
+ CastTime: 6000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 1500
+ Lv2: 2000
+ Lv3: 2500
+ Lv4: 3000
+ Lv5: 3500
+ }
+ SkillData2: 20000
+ CoolDown: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 4000
+ Lv4: 5000
+ Lv5: 6000
+
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 35
+ Lv3: 50
+ Lv4: 65
+ Lv5: 80
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 1
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 5029
+ Name: "SU_SV_ROOTTWIST"
+ Description: "Silvervine Root Twist"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 7000
+ Lv2: 9000
+ Lv3: 11000
+ Lv4: 13000
+ Lv5: 15000
+ Lv6: 17000
+ Lv7: 19000
+ Lv8: 21000
+ Lv9: 23000
+ Lv10: 25000
+ }
+ CoolDown: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+ Unit: {
+ Id: 0x107
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 5030
+ Name: "SU_SV_ROOTTWIST_ATK"
+ Description: "Silver Vine Root Twist Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Poison"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreDefense: true
+ }
+ SkillInstances: 1
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
Requirements: {
SPCost: 1
}
},
{
- Id: 5018
- Name: "SR_FLASHCOMBO_ATK_STEP4"
- Description: "Flash Combo Attack Step 4"
+ Id: 5031
+ Name: "SU_POWEROFLIFE"
+ Description: "Power of Life"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5032
+ Name: "SU_SCAROFTAROU"
+ Description: "Scar of Tarou"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 1000
+ SkillData1: 9000
+ SkillData2: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 14
+ Lv3: 18
+ Lv4: 22
+ Lv5: 26
+ Lv6: 30
+ Lv7: 34
+ Lv8: 38
+ Lv9: 42
+ Lv10: 46
+ }
+ }
+},
+{
+ Id: 5033
+ Name: "SU_PICKYPECK"
+ Description: "Picky Peck"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -5
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 19
+ Lv3: 28
+ Lv4: 37
+ Lv5: 46
+ Lv6: 55
+ Lv7: 64
+ Lv8: 73
+ Lv9: 82
+ Lv10: 91
+ }
+ }
+},
+{
+ Id: 5034
+ Name: "SU_PICKYPECK_DOUBLE_ATK"
+ Description: "Picky Peck Double Attack"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -5
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 5035
+ Name: "SU_ARCLOUSEDASH"
+ Description: "Arclouse Dash"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2500
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ CoolDown: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 20
+ Lv3: 28
+ Lv4: 36
+ Lv5: 44
+ Lv6: 52
+ Lv7: 60
+ Lv8: 68
+ Lv9: 76
+ Lv10: 84
+ }
+ }
+},
+{
+ Id: 5036
+ Name: "SU_LUNATICCARROTBEAT"
+ Description: "Lunatic Carrot Beat"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 3000
+ AfterCastActDelay: 1000
+ SkillData1: 1000
+ CoolDown: 8000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 25
+ Lv3: 35
+ Lv4: 45
+ Lv5: 55
+ Lv6: 65
+ Lv7: 75
+ Lv8: 85
+ Lv9: 95
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 5037
+ Name: "SU_POWEROFSEA"
+ Description: "Power of Sea"
+ MaxLevel: 1
+ NumberOfHits: 0
+},
+{
+ Id: 5038
+ Name: "SU_TUNABELLY"
+ Description: "Tuna Belly"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 5039
+ Name: "SU_TUNAPARTY"
+ Description: "Tuna Party"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 30000
+ CoolDown: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 5040
+ Name: "SU_BUNCHOFSHRIMP"
+ Description: "Bunch of Shrimp"
MaxLevel: 5
Hit: "BDT_SKILL"
SkillType: {
@@ -33077,12 +33742,124 @@ skill_db: (
}
DamageType: {
NoDamage: true
+ SplashArea: true
}
+ SplashRange: -1
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ CoolDown: 10000
+ FixedCastTime: 0
Requirements: {
- SPCost: 1
+ SPCost: {
+ Lv1: 44
+ Lv2: 48
+ Lv3: 52
+ Lv4: 56
+ Lv5: 60
+ Lv6: 64
+ Lv7: 68
+ Lv8: 72
+ Lv9: 76
+ Lv10: 80
+ }
+ Items: {
+ Prawn: 1
+ }
+
}
},
{
+ Id: 5041
+ Name: "SU_FRESHSHRIMP"
+ Description: "Fresh Shrimp"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 120000
+ CoolDown: 7000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 5042
+ Name: "SU_CN_METEOR_ATK"
+ Description: ""
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 35
+ Lv3: 50
+ Lv4: 65
+ Lv5: 80
+ }
+ Items: {
+ Catnip_Fruit: 1
+ }
+ }
+},
+{
+ Id: 5043
+ Name: "SU_LUNATICCARROTBEAT2"
+ Description: "Lunatic Carrot Beat 2"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ AttackType: "Weapon"
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
Id: 8001
Name: "HLIF_HEAL"
Description: "Healing Touch"
@@ -37419,4 +38196,4 @@ skill_db: (
}
NumberOfHits: 0
},
-) \ No newline at end of file
+)
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
index 6e040420b..e9feb2111 100644
--- a/db/re/skill_tree.conf
+++ b/db/re/skill_tree.conf
@@ -3952,3 +3952,93 @@ Rebellion: {
}
}
}
+
+Summoner: {
+ skills: {
+ SU_BASIC_SKILL: 1
+ SU_BITE: {
+ MaxLevel: 1
+ SU_BASIC_SKILL: 1
+ }
+ SU_HIDE: {
+ MaxLevel: 1
+ SU_BITE: 1
+ }
+ SU_SCRATCH: {
+ MaxLevel: 3
+ SU_HIDE: 1
+ }
+ SU_STOOP: {
+ MaxLevel: 1
+ SU_SCRATCH: 3
+ }
+ SU_LOPE: {
+ MaxLevel: 3
+ SU_STOOP: 1
+ }
+ SU_SPRITEMABLE: {
+ MaxLevel: 1
+ SU_LOPE: 3
+ }
+ SU_POWEROFLAND: {
+ MaxLevel: 1
+ SU_CN_POWDERING: 3
+ }
+ SU_SV_STEMSPEAR: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ SU_CN_POWDERING: {
+ MaxLevel: 5
+ SU_CN_METEOR: 3
+ }
+ SU_CN_METEOR: {
+ MaxLevel: 5
+ SU_SV_ROOTTWIST: 3
+ }
+ SU_SV_ROOTTWIST: {
+ MaxLevel: 5
+ SU_SV_STEMSPEAR: 3
+ }
+ SU_POWEROFLIFE: {
+ MaxLevel: 1
+ SU_LUNATICCARROTBEAT: 3
+ }
+ SU_SCAROFTAROU: {
+ MaxLevel: 5
+ SU_SV_ROOTTWIST: 3
+ }
+ SU_PICKYPECK: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ SU_ARCLOUSEDASH: {
+ MaxLevel: 5
+ SU_PICKYPECK: 3
+ }
+ SU_LUNATICCARROTBEAT: {
+ MaxLevel: 5
+ SU_SCAROFTAROU: 3
+ }
+ SU_POWEROFSEA: {
+ MaxLevel: 1
+ SU_TUNAPARTY: 3
+ }
+ SU_TUNABELLY: {
+ MaxLevel: 5
+ SU_BUNCHOFSHRIMP: 3
+ }
+ SU_TUNAPARTY: {
+ MaxLevel: 5
+ SU_TUNABELLY: 3
+ }
+ SU_BUNCHOFSHRIMP: {
+ MaxLevel: 5
+ SU_FRESHSHRIMP: 3
+ }
+ SU_FRESHSHRIMP: {
+ MaxLevel: 5
+ SU_SPRITEMABLE: 1
+ }
+ }
+}
diff --git a/db/sc_config.txt b/db/sc_config.txt
index 104f81102..661e9bb87 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -492,5 +492,9 @@ SC_TIME_ACCESSORY, 463
SC_MAGICAL_FEATHER, 463
SC_BLOSSOM_FLUTTERING, 463
+// Summoner
+SC_SPRITEMABLE, 205
+SC_BITESCAR, 4
+
// Cant Clear
SC_ALL_RIDING, 397
diff --git a/db/skill_changematerial_db.txt b/db/skill_changematerial_db.txt
index 3fb92139e..083b512f4 100644
--- a/db/skill_changematerial_db.txt
+++ b/db/skill_changematerial_db.txt
@@ -48,7 +48,7 @@
1035,1000,8,800,12,200 // Dragon_Canine
1037,800,6,1000 // Dragon_Train
1038,1000,1,1000 // Petite_Dablofs_Horn
-1040,1000,8,800,12,200 // Elder_Pixie's_Beard
+1040,1000,8,800,12,200 // Elder_Pixies_Beard
1041,800,3,1000 // Lantern
1042,800,6,1000 // Short_Leg
1043,800,6,1000 // Nail_Of_Orc
diff --git a/doc/constants.md b/doc/constants.md
index 89d4969c0..208d6dad2 100644
--- a/doc/constants.md
+++ b/doc/constants.md
@@ -170,6 +170,7 @@
- `Job_Kagerou`: 4211
- `Job_Oboro`: 4212
- `Job_Rebellion`: 4215
+- `Job_Summoner`: 4218
### Job masks / Job map_ids
@@ -193,6 +194,7 @@
- `EAJ_GUNSLINGER`: 9
- `EAJ_NINJA`: 10
- `EAJ_GANGSI`: 13
+- `EAJ_SUMMONER`: 14
- `EAJ_SUPER_NOVICE`: 256
- `EAJ_KNIGHT`: 257
- `EAJ_WIZARD`: 258
@@ -1304,6 +1306,16 @@
- `SC_M_LIFEPOTION`: 639
- `SC_G_LIFEPOTION`: 640
- `SC_MYSTICPOWDER`: 641
+- `SC_SUHIDE`: 642
+- `SC_SU_STOOP`: 643
+- `SC_SPRITEMABLE`: 644
+- `SC_CATNIPPOWDER`: 645
+- `SC_SV_ROOTTWIST`: 646
+- `SC_BITESCAR`: 647
+- `SC_ARCLOUSEDASH`: 648
+- `SC_TUNAPARTY`: 649
+- `SC_SHRIMP`: 650
+- `SC_FRESHSHRIMP`: 651
### Emotes
@@ -3571,6 +3583,14 @@
- `NPC_NAME_UNIQUE`: 3
- `NPC_MAP`: 4
+### getcharid
+
+- `CHAR_ID_CHAR`: 0
+- `CHAR_ID_PARTY`: 1
+- `CHAR_ID_GUILD`: 2
+- `CHAR_ID_ACCOUNT`: 3
+- `CHAR_ID_BG`: 4
+
### sc_start
- `SCFLAG_NONE`: 0
@@ -3773,6 +3793,17 @@
- `EQP_SHADOW_ACC_R`: 1048576
- `EQP_SHADOW_ACC_L`: 2097152
+### Navigation constants, use with *navigateto*
+
+- `NAV_NONE`: 0
+- `NAV_AIRSHIP_ONLY`: 1
+- `NAV_SCROLL_ONLY`: 10
+- `NAV_AIRSHIP_AND_SCROLL`: 11
+- `NAV_KAFRA_ONLY`: 100
+- `NAV_KAFRA_AND_AIRSHIP`: 101
+- `NAV_KAFRA_AND_SCROLL`: 110
+- `NAV_ALL`: 111
+
### Renewal
- `RENEWAL`: 1
@@ -4920,10 +4951,32 @@
- `WL_TELEKINESIS_INTENSE`: 5012
- `LG_KINGS_GRACE`: 5013
- `ALL_FULL_THROTTLE`: 5014
-- `SR_FLASHCOMBO_ATK_STEP1`: 5015
-- `SR_FLASHCOMBO_ATK_STEP2`: 5016
-- `SR_FLASHCOMBO_ATK_STEP3`: 5017
-- `SR_FLASHCOMBO_ATK_STEP4`: 5018
+- `SU_BASIC_SKILL`: 5018
+- `SU_BITE`: 5019
+- `SU_HIDE`: 5020
+- `SU_SCRATCH`: 5021
+- `SU_STOOP`: 5022
+- `SU_LOPE`: 5023
+- `SU_SPRITEMABLE`: 5024
+- `SU_POWEROFLAND`: 5025
+- `SU_SV_STEMSPEAR`: 5026
+- `SU_CN_POWDERING`: 5027
+- `SU_CN_METEOR`: 5028
+- `SU_SV_ROOTTWIST`: 5029
+- `SU_SV_ROOTTWIST_ATK`: 5030
+- `SU_POWEROFLIFE`: 5031
+- `SU_SCAROFTAROU`: 5032
+- `SU_PICKYPECK`: 5033
+- `SU_PICKYPECK_DOUBLE_ATK`: 5034
+- `SU_ARCLOUSEDASH`: 5035
+- `SU_LUNATICCARROTBEAT`: 5036
+- `SU_POWEROFSEA`: 5037
+- `SU_TUNABELLY`: 5038
+- `SU_TUNAPARTY`: 5039
+- `SU_BUNCHOFSHRIMP`: 5040
+- `SU_FRESHSHRIMP`: 5041
+- `SU_CN_METEOR_ATK`: 5042
+- `SU_LUNATICCARROTBEAT2`: 5043
## Mobs (db/re/mob_db.txt)
@@ -6670,7 +6723,7 @@
- `Holy_Water`: 523
- `Panacea`: 525
- `Royal_Jelly`: 526
-- `Monster's_Feed`: 528
+- `Monsters_Feed`: 528
- `Candy`: 529
- `Candy_Striper`: 530
- `Apple_Juice`: 531
@@ -6682,8 +6735,8 @@
- `Pet_Food`: 537
- `Well_Baked_Cookie`: 538
- `Piece_Of_Cake`: 539
-- `Falcon's_Feed`: 540
-- `Pecopeco's_Feed`: 541
+- `Falcons_Feed`: 540
+- `Pecopecos_Feed`: 541
- `Festive_Cookie`: 542
- `Festive_Rainbow_Cake`: 543
- `Fish_Slice`: 544
@@ -6728,7 +6781,7 @@
- `KETUPAT_`: 583
- `Fish_Ball_Soup`: 584
- `Wurst`: 585
-- `Mother's_Cake`: 586
+- `Mothers_Cake`: 586
- `Prickly_Fruit_`: 587
- `Spaghetti`: 588
- `Pizza_02`: 589
@@ -6891,7 +6944,7 @@
- `Danggie`: 901
- `Tree_Root`: 902
- `Reptile_Tongue`: 903
-- `Scorpion's_Tail`: 904
+- `Scorpions_Tail`: 904
- `Stem`: 905
- `Pointed_Scale`: 906
- `Resin`: 907
@@ -6906,7 +6959,7 @@
- `Feather_Of_Birds`: 916
- `Talon`: 917
- `Sticky_Webfoot`: 918
-- `Animal's_Skin`: 919
+- `Animals_Skin`: 919
- `Claw_Of_Wolves`: 920
- `Mushroom_Spore`: 921
- `Orcish_Cuspid`: 922
@@ -6925,15 +6978,15 @@
- `Posionous_Canine`: 937
- `Sticky_Mucus`: 938
- `Bee_Sting`: 939
-- `Grasshopper's_Leg`: 940
+- `Grasshoppers_Leg`: 940
- `Nose_Ring`: 941
- `Yoyo_Tail`: 942
- `Solid_Shell`: 943
- `Horseshoe`: 944
- `Raccoon_Leaf`: 945
-- `Snail's_Shell`: 946
+- `Snails_Shell`: 946
- `Horn`: 947
-- `Bear's_Foot`: 948
+- `Bears_Foot`: 948
- `Feather`: 949
- `Heart_Of_Mermaid`: 950
- `Fin`: 951
@@ -6999,7 +7052,7 @@
- `Lizard_Scruff`: 1012
- `Colorful_Shell`: 1013
- `Jaws_Of_Ant`: 1014
-- `Thin_N'_Long_Tongue`: 1015
+- `Thin_N_Long_Tongue`: 1015
- `Rat_Tail`: 1016
- `Moustache_Of_Mole`: 1017
- `Nail_Of_Mole`: 1018
@@ -7012,8 +7065,8 @@
- `Spiderweb`: 1025
- `Acorn`: 1026
- `Porcupine_Spike`: 1027
-- `Wild_Boar's_Mane`: 1028
-- `Tiger's_Skin`: 1029
+- `Wild_Boars_Mane`: 1028
+- `Tigers_Skin`: 1029
- `Tiger_Footskin`: 1030
- `Limb_Of_Mantis`: 1031
- `Blossom_Of_Maneater`: 1032
@@ -7024,7 +7077,7 @@
- `Dragon_Train`: 1037
- `Petite_DiablOfs_Horn`: 1038
- `Petite_DiablOfs_Wing`: 1039
-- `Elder_Pixie's_Beard`: 1040
+- `Elder_Pixies_Beard`: 1040
- `Lantern`: 1041
- `Short_Leg`: 1042
- `Nail_Of_Orc`: 1043
@@ -7068,7 +7121,7 @@
- `Merchant_Box_1`: 1081
- `Merchant_Box_2`: 1082
- `Merchant_Box_3`: 1083
-- `Kapra's_Pass`: 1084
+- `Kapras_Pass`: 1084
- `Mage_Test_2`: 1085
- `Mage_Test_3`: 1086
- `Mage_Test_4`: 1087
@@ -7210,7 +7263,7 @@
- `Damascus_`: 1226
- `Weeder_Knife`: 1227
- `Combat_Knife`: 1228
-- `Mama's_Knife`: 1229
+- `Mamas_Knife`: 1229
- `House_Auger`: 1230
- `Bazerald`: 1231
- `Assasin_Dagger`: 1232
@@ -7230,7 +7283,7 @@
- `Cinquedea_`: 1246
- `Kindling_Dagger`: 1247
- `Obsidian_Dagger`: 1248
-- `Fisherman's_Dagger`: 1249
+- `Fishermans_Dagger`: 1249
- `Jur`: 1250
- `Jur_`: 1251
- `Katar`: 1252
@@ -7280,7 +7333,7 @@
- `Metal_Katar`: 1296
- `Inverse_Scale_`: 1297
- `Shiver_Katar`: 1298
-- `TE_WoE_Katar`: 1299
+- `TE_Woe_Katar`: 1299
- `Axe`: 1301
- `Axe_`: 1302
- `Axe__`: 1303
@@ -7299,7 +7352,7 @@
- `Adventure_Axe`: 1316
- `Academy_Axe`: 1317
- `Dofle_Axe`: 1318
-- `TE_WoE_Axe`: 1319
+- `TE_Woe_Axe`: 1319
- `Ru_Gold_Axe`: 1323
- `Battle_Axe`: 1351
- `Battle_Axe_`: 1352
@@ -7349,7 +7402,7 @@
- `Velum_Guillotine`: 1396
- `Bradium_Stonehammer_`: 1397
- `Metal_Two_Handed_Axe`: 1398
-- `TE_WoE_Two_Handed_Axe`: 1399
+- `TE_Woe_Two_Handed_Axe`: 1399
- `Spear_of_Vicious_Mind`: 1400
- `Javelin`: 1401
- `Javelin_`: 1402
@@ -7387,10 +7440,10 @@
- `P_Sphere1`: 1434
- `Cannon_Spear`: 1435
- `Velum_Spear`: 1436
-- `TE_WoE_Pike`: 1437
-- `Thanatos_Spear`: 1438
+- `TE_Woe_Pike`: 1437
+- `Thanos_Spear`: 1438
- `Ru_Blue_Spear`: 1441
-- `Crimson_Spear`: 1443
+- `Scarlet_Spear`: 1443
- `Lance_of_Vicious_Mind`: 1450
- `Guisarme`: 1451
- `Guisarme_`: 1452
@@ -7410,7 +7463,7 @@
- `Crescent_Scythe`: 1466
- `Bill_Guisarme`: 1467
- `Zephyrus`: 1468
-- `Longinus's_Spear`: 1469
+- `Longinuss_Spear`: 1469
- `Brionac`: 1470
- `Hell_Fire`: 1471
- `Staff_Of_Soul`: 1472
@@ -7436,9 +7489,9 @@
- `Velum_Glaive`: 1492
- `Metal_Lance`: 1493
- `Undine_Spear`: 1494
-- `TE_WoE_Lance`: 1495
-- `Thanatos_Long_Spear`: 1496
-- `Crimson_Lance`: 1498
+- `TE_Woe_Lance`: 1495
+- `Thanos_Long_Spear`: 1496
+- `Scarlet_Lance`: 1498
- `Club`: 1501
- `Club_`: 1502
- `Club__`: 1503
@@ -7496,7 +7549,7 @@
- `Book_Of_Blazing_Sun`: 1555
- `Book_Of_Gust_Of_Wind`: 1556
- `Book_Of_The_Apocalypse`: 1557
-- `Girl's_Diary`: 1558
+- `Girls_Diary`: 1558
- `Legacy_Of_Dragon`: 1559
- `Diary_Of_Great_Sage`: 1560
- `Hardback`: 1561
@@ -7529,7 +7582,7 @@
- `Metal_Book`: 1588
- `Legacy_Of_Dragon_`: 1589
- `Snake_Encyclopedia`: 1590
-- `TE_WoE_Book`: 1591
+- `TE_Woe_Book`: 1591
- `Snake_Encyclopedia_`: 1598
- `Angra_Manyu`: 1599
- `Rod_of_Vicious_Mind`: 1600
@@ -7553,8 +7606,8 @@
- `Survival_Rod_`: 1618
- `Survival_Rod2`: 1619
- `Survival_Rod2_`: 1620
-- `Hypnotist's_Staff`: 1621
-- `Hypnotist's_Staff_`: 1622
+- `Hypnotists_Staff`: 1621
+- `Hypnotists_Staff_`: 1622
- `Mighty_Staff_C`: 1623
- `Lich_Bone_Wand`: 1624
- `Healing_Staff`: 1625
@@ -7578,7 +7631,7 @@
- `Dead_Tree_Cane`: 1643
- `Piercing_Staff_M`: 1644
- `Lich_Bone_Wand_M`: 1645
-- `La'cryma_Stick`: 1646
+- `Lacryma_Stick`: 1646
- `Croce_Staff`: 1647
- `Staff_Of_Bordeaux`: 1648
- `Rafini_Staff`: 1649
@@ -7596,15 +7649,30 @@
- `Mental_Destroyer`: 1661
- `Bone_Wand_`: 1662
- `Staff_Of_Bordeaux_`: 1663
-- `Thorn_Staff_of_Darkness`: 1664
+- `Thorn_Staff_`: 1664
- `Piercing_Staff_`: 1665
- `Healing_Staff_`: 1666
-- `TE_WoE_Staff`: 1667
+- `TE_Woe_Staff`: 1667
- `Sword_Stick`: 1668
-- `Thanatos_Staff`: 1669
+- `Thanos_Staff`: 1669
- `RWC_Memory_Staff`: 1670
-- `Evil_Slayer_Vanquisher_Staff`: 1671
-- `Crimson_Rod`: 1680
+- `Staff_Of_Evil_Slayer`: 1671
+- `Scarlet_Rod`: 1680
+- `Short_Foxtail_Staff`: 1681
+- `Enriched_Foxtail_Staff`: 1683
+- `Long_Foxtail_Staff`: 1684
+- `Dragonfly_Sitting_Foxtail_Staff`: 1685
+- `Large_Foxtail_Staff`: 1686
+- `Beginner_Foxtail_Staff`: 1687
+- `Mysterious_Foxtail_Staff`: 1690
+- `Strange_God_Foxtail_Staff`: 1691
+- `Magical_Foxtail_Staff`: 1692
+- `Magical_Yellow_Foxtail_Staff`: 1693
+- `Foxtail_Model`: 1694
+- `Delicate_Foxtail_Model`: 1695
+- `Exquisite_Foxtail_Model`: 1696
+- `Exquisite_Yellow_Foxtail_Model`: 1697
+- `Paradise_Foxtail_Staff_I`: 1699
- `Bow`: 1701
- `Bow_`: 1702
- `Bow__`: 1703
@@ -7714,10 +7782,10 @@
- `P_Knuckle1`: 1831
- `Velum_Claw`: 1832
- `Claw_Of_Flash`: 1833
-- `TE_WoE_Fist`: 1834
+- `TE_Woe_Fist`: 1834
- `Spartacus`: 1835
-- `Thanatos_Knuckles`: 1836
-- `Crimson_Knuckle`: 1839
+- `Thanos_Knuckle`: 1836
+- `Scarlet_Knuckle`: 1839
- `Violin_of_Vicious_Mind`: 1900
- `Violin`: 1901
- `Violin_`: 1902
@@ -7750,14 +7818,14 @@
- `Guitar_C`: 1929
- `Green_Whistle`: 1930
- `P_String_Inst1`: 1931
-- `TE_WoE_Guitar`: 1932
-- `Thanatos_Violin`: 1933
-- `Double_Bass`: 1934
-- `Ozs_New_Ukulele`: 1935
-- `Blue_Violin`: 1936
+- `TE_Woe_Guitar`: 1932
+- `Thanos_Violin`: 1933
+- `Contabass`: 1934
+- `Ukulele_Of_Newoz`: 1935
+- `Ru_Blue_Violin`: 1936
- `Ru_Gold_Violin`: 1937
- `Infinity_Violin`: 1938
-- `Crimson_Violin`: 1939
+- `Scarlet_Viollin`: 1939
- `Conch_`: 1940
- `Rope`: 1950
- `Rope_`: 1951
@@ -7779,13 +7847,13 @@
- `Whip_Of_Earth`: 1967
- `Jump_Rope`: 1968
- `Bladed_Whip`: 1969
-- `Queen's_Whip`: 1970
+- `Queens_Whip`: 1970
- `Electric_Wire`: 1971
- `Electric_Eel`: 1972
- `Sea_Witch_Foot`: 1973
- `Carrot_Whip`: 1974
- `Queen_Is_Whip`: 1975
-- `Queen's_Whip_`: 1976
+- `Queens_Whip_`: 1976
- `BF_Whip1`: 1977
- `BF_Whip2`: 1978
- `Stem_Of_Nepenthes`: 1979
@@ -7796,14 +7864,14 @@
- `Stem_Whip`: 1984
- `Rosebine`: 1985
- `P_Tail1`: 1986
-- `TE_WoE_Rope`: 1987
-- `Thanatos_Whip`: 1988
-- `Rhythmic_Gymnastics_Ribbon`: 1989
-- `Bloody_Floral_Decoration_Microphone`: 1990
-- `Blue_Whip`: 1991
+- `TE_Woe_Rope`: 1987
+- `Thanos_Whip`: 1988
+- `Gymnastics_Ribbon`: 1989
+- `Floral_Mic_Of_Igu`: 1990
+- `Ru_Blue_Whip`: 1991
- `Ru_Gold_Whip`: 1992
- `Infinity_Wire`: 1994
-- `Crimson_Wire`: 1995
+- `Scarlet_Wire`: 1995
- `Wire_of_Vicious_Mind`: 1996
- `Destruction_Rod`: 2000
- `Divine_Cross`: 2001
@@ -7828,9 +7896,9 @@
- `Jormungand`: 2020
- `Ganbantein`: 2021
- `Staff_Of_Geffen`: 2022
-- `Thanatos_Two-Handed_Staff`: 2023
+- `Thanos_Rod`: 2023
- `Infinity_Staff`: 2024
-- `Staff_of_Crimson`: 2025
+- `Scarlet_Staff`: 2025
- `Staff_of_Vicious_Mind`: 2026
- `Guard`: 2101
- `Guard_`: 2102
@@ -7846,8 +7914,8 @@
- `Novice_Guard`: 2112
- `Novice_Shield`: 2113
- `Stone_Buckler`: 2114
-- `Valkyrja's_Shield`: 2115
-- `Angel's_Safeguard`: 2116
+- `Valkyrjas_Shield`: 2115
+- `Angels_Safeguard`: 2116
- `Arm_Guard`: 2117
- `Arm_Guard_`: 2118
- `Improved_Arm_Guard`: 2119
@@ -7868,7 +7936,7 @@
- `Shield_Of_Naga`: 2134
- `Shadow_Guard`: 2135
- `Cracked_Buckler`: 2136
-- `Valkyrja's_Shield_C`: 2137
+- `Valkyrjas_Shield_C`: 2137
- `Bradium_Shield`: 2138
- `Flame_Thrower`: 2139
- `Energy_Rune_Guard`: 2140
@@ -7909,25 +7977,25 @@
- `Esprit_Shield`: 2175
- `Dark_Book`: 2176
- `Shield_Of_Death`: 2177
-- `TE_WoE_Buckler`: 2178
-- `TE_WoE_Shield`: 2179
-- `TE_WoE_Magic_Guard`: 2180
+- `TE_Woe_Buckler`: 2178
+- `TE_Woe_Shield`: 2179
+- `TE_Woe_Magic_Guard`: 2180
- `Hervor`: 2181
- `Hervor_Alvitr`: 2182
-- `Adv_Angel's_Safeguard`: 2183
+- `Impr_Angels_Safeguard`: 2183
- `Magic_Reflector`: 2185
-- `Revised_Encyclopedia`: 2186
-- `Gray_Shield`: 2187
-- `Svalinn`: 2188
+- `Encyclopedia_Revision`: 2186
+- `Shield_Of_Gray`: 2187
+- `Svalinn_J`: 2188
- `Mad_Bunny`: 2189
- `Ancient_Shield_Of_Aeon`: 2190
-- `Laphine_Shield`: 2198
+- `Lapine_Shield`: 2198
- `Ahura_Mazda`: 2199
- `Sunglasses`: 2201
- `Sunglasses_`: 2202
- `Glasses`: 2203
- `Glasses_`: 2204
-- `Diver's_Goggles`: 2205
+- `Divers_Goggles`: 2205
- `Wedding_Veil`: 2206
- `Fancy_Flower`: 2207
- `Ribbon`: 2208
@@ -7958,7 +8026,7 @@
- `Circlet_`: 2233
- `Tiara`: 2234
- `Crown`: 2235
-- `Santa's_Hat`: 2236
+- `Santas_Hat`: 2236
- `Weird_Goatee`: 2237
- `Weird_Moustache`: 2238
- `One_Eyed_Glass`: 2239
@@ -7966,10 +8034,10 @@
- `Granpa_Beard`: 2241
- `Luxury_Sunglasses`: 2242
- `Spinning_Eyes`: 2243
-- `Big_Sis'_Ribbon`: 2244
+- `Big_Sis_Ribbon`: 2244
- `Sweet_Gents`: 2245
- `Golden_Gear`: 2246
-- `Oldman's_Romance`: 2247
+- `Oldmans_Romance`: 2247
- `Western_Grace`: 2248
- `Coronet`: 2249
- `Fillet`: 2250
@@ -8027,7 +8095,7 @@
- `Leather_Jacket`: 2303
- `Leather_Jacket_`: 2304
- `Adventure_Suit`: 2305
-- `Adventurere's_Suit_`: 2306
+- `Adventureres_Suit_`: 2306
- `Mantle`: 2307
- `Mantle_`: 2308
- `Coat`: 2309
@@ -8074,9 +8142,9 @@
- `Earth_Sprits_Armor`: 2350
- `Earth_Sprits_Armor_`: 2351
- `Novice_Plate`: 2352
-- `Odin's_Blessing`: 2353
-- `Goibne's_Armor`: 2354
-- `Angel's_Protection`: 2355
+- `Odins_Blessing`: 2353
+- `Goibnes_Armor`: 2354
+- `Angels_Protection`: 2355
- `Vestment_Of_Grace`: 2356
- `Valkyrie_Armor`: 2357
- `Dress_Of_Angel`: 2358
@@ -8114,7 +8182,7 @@
- `Improved_Tights`: 2390
- `Life_Link`: 2391
- `Old_Pant`: 2392
-- `N_Adventurer's_Suit`: 2393
+- `N_Adventurers_Suit`: 2393
- `Krieger_Suit1`: 2394
- `Krieger_Suit2`: 2395
- `Krieger_Suit3`: 2396
@@ -8138,9 +8206,9 @@
- `Slipper`: 2415
- `Novice_Shoes`: 2416
- `Fricco_Shoes`: 2417
-- `Vidar's_Boots`: 2418
-- `Goibne's_Combat_Boots`: 2419
-- `Angel's_Arrival`: 2420
+- `Vidars_Boots`: 2418
+- `Goibnes_Combat_Boots`: 2419
+- `Angels_Arrival`: 2420
- `Valkyrie_Shoes`: 2421
- `High_Fashion_Sandals`: 2422
- `Variant_Shoes`: 2423
@@ -8209,14 +8277,14 @@
- `Shadow_Walk_`: 2486
- `Vital_Tree_Shoes_`: 2487
- `Fricco_Shoes_`: 2488
-- `Vidar's_Boots_`: 2489
+- `Vidars_Boots_`: 2489
- `Bangungot_Boots`: 2491
- `Bayani_Bangungot_Boots`: 2492
-- `Goibne's_Combat_Boots_`: 2493
+- `Goibnes_Combat_Boots_`: 2493
- `Chrystal_Pumps_`: 2494
- `Egir_Shoes`: 2495
-- `TE_WoE_Shoes`: 2496
-- `TE_WoE_Boots`: 2497
+- `TE_Woe_Shoes`: 2496
+- `TE_Woe_Boots`: 2497
- `TE_WoE_Magic_Sandal`: 2498
- `Temporal_Boots`: 2499
- `Hood`: 2501
@@ -8229,17 +8297,17 @@
- `Ragamuffin_Cape`: 2508
- `Clack_Of_Servival`: 2509
- `Novice_Hood`: 2510
-- `Skeleton's_Cape`: 2511
+- `Skeletons_Cape`: 2511
- `Novice_Manteau`: 2512
- `Celestial_Robe`: 2513
- `Pauldron`: 2514
- `Wing_Of_Eagle`: 2515
- `Falcon_Robe`: 2516
-- `Vali's_Manteau`: 2517
-- `Morpheus's_Shawl`: 2518
-- `Morrigane's_Manteau`: 2519
-- `Goibne's_Shoulder_Arms`: 2520
-- `Angel's_Warmth`: 2521
+- `Valis_Manteau`: 2517
+- `Morpheuss_Shawl`: 2518
+- `Morriganes_Manteau`: 2519
+- `Goibnes_Shoulder_Arms`: 2520
+- `Angels_Warmth`: 2521
- `Undershirt`: 2522
- `Undershirt_`: 2523
- `Valkyrie_Manteau`: 2524
@@ -8268,7 +8336,7 @@
- `Cheap_Running_Shirts`: 2547
- `Muffler_C`: 2548
- `Krieger_Muffler1`: 2549
-- `Fisher's_Muffler`: 2550
+- `Fishers_Muffler`: 2550
- `Rider_Insignia_M`: 2551
- `Mithril_Magic_Cape_M`: 2552
- `Dragon_Manteau`: 2553
@@ -8311,11 +8379,11 @@
- `Buwaya_Cloth`: 2590
- `Bayani_Buwaya_Cloth`: 2591
- `Boss_Brownie_Manteau`: 2592
-- `Froid_Manteau`: 2593
+- `Flow_Manteau`: 2593
- `Wrapping_Manteau`: 2594
- `Sharel_Manteau`: 2596
-- `Bloody_Muffler`: 2597
-- `Goibne's_Shoulder_Arms_`: 2599
+- `Scarlet_Poncho`: 2597
+- `Goibnes_Shoulder_Arms_`: 2599
- `Ring`: 2601
- `Earring`: 2602
- `Necklace`: 2603
@@ -8332,7 +8400,7 @@
- `Safety_Ring`: 2615
- `Critical_Ring`: 2616
- `Mitten_Of_Presbyter`: 2617
-- `Matyr's_Flea_Guard`: 2618
+- `Matyrs_Flea_Guard`: 2618
- `Thimble_Of_Archer`: 2619
- `Ring_Of_Rogue`: 2620
- `Ring_`: 2621
@@ -8356,19 +8424,19 @@
- `Purification_Sachet`: 2639
- `Kafra_Ring`: 2640
- `Fashionable_Sack`: 2641
-- `Serin's_Gold_Ring`: 2642
-- `Serin's_Gold_Ring_`: 2643
+- `Serins_Gold_Ring`: 2642
+- `Serins_Gold_Ring_`: 2643
- `The_Sign_`: 2644
- `Moonlight_Ring`: 2645
- `Bunch_Of_Carnation`: 2646
- `Nile_Rose`: 2647
-- `Morpheus's_Ring`: 2648
-- `Morpheus's_Armlet`: 2649
-- `Morrigane's_Belt`: 2650
-- `Morrigane's_Pendant`: 2651
+- `Morpheuss_Ring`: 2648
+- `Morpheuss_Armlet`: 2649
+- `Morriganes_Belt`: 2650
+- `Morriganes_Pendant`: 2651
- `Cursed_Lucky_Brooch`: 2652
- `Sacrifice_Ring`: 2653
-- `Shinobi's_Sash`: 2654
+- `Shinobis_Sash`: 2654
- `Bloody_Iron_Ball`: 2655
- `Hyper_Changer`: 2656
- `Lab_Passport`: 2657
@@ -8382,7 +8450,7 @@
- `Ring_Of_Exorcism`: 2665
- `Lamp_Of_Hope`: 2666
- `Glove_Of_Archer`: 2667
-- `Women's_Glory`: 2668
+- `Womens_Glory`: 2668
- `Golden_Necklace_`: 2669
- `Ring_Of_Longing`: 2670
- `Thimble_Of_Archer_`: 2671
@@ -8495,7 +8563,7 @@
- `Shaman_Earing`: 2778
- `Dark_Knight_Belt`: 2779
- `Dark_Knight_Glove`: 2780
-- `Aumdura's_Grace`: 2781
+- `Aumduras_Grace`: 2781
- `Ring_Of_Wise_King`: 2782
- `Eyes_Stone_Ring`: 2783
- `Oh_Holy_Night`: 2784
@@ -8547,7 +8615,7 @@
- `Magingiorde_C`: 2830
- `Brysinggamen_C`: 2831
- `Freyja_Ring`: 2832
-- `Odin's_Recall`: 2833
+- `Odins_Recall`: 2833
- `F_All_In_One_Ring`: 2834
- `F_Critical_Ring_C`: 2835
- `F_Glove_C`: 2836
@@ -8614,10 +8682,10 @@
- `2011RWC_Necklace_J`: 2897
- `Black_Rosary`: 2898
- `Sound_Amplifier`: 2899
-- `Morrigane's_Belt_`: 2900
-- `Morrigane's_Pendant_`: 2901
-- `Morpheus's_Ring_`: 2902
-- `Morpheus's_Armlet_`: 2903
+- `Morriganes_Belt_`: 2900
+- `Morriganes_Pendant_`: 2901
+- `Morpheuss_Ring_`: 2902
+- `Morpheuss_Armlet_`: 2903
- `Naqsh`: 2904
- `Super_Ora_Ora`: 2905
- `Happy_Gauntlet`: 2906
@@ -8647,7 +8715,7 @@
- `Ninja_Manual`: 2940
- `Gunslinger_Manual`: 2941
- `Taekwon_Manual`: 2942
-- `TE_Ring_of_Protection`: 2944
+- `TE_Ring_Of_Protection`: 2944
- `TE_Ring_Of_Rage`: 2945
- `TE_Ring_Of_Defiance`: 2946
- `Silversmith_Bracelet`: 2949
@@ -8658,18 +8726,18 @@
- `Kvasir_Ring_Brown`: 2954
- `Fidelity_Necklace`: 2959
- `Badge_Of_Manny`: 2960
-- `Physical_Enhancer_Ring`: 2963
-- `Magic_Intensifier_Ring`: 2964
+- `Body_Power_Up_Ring`: 2963
+- `Ring_Of_Spell_Explosion`: 2964
- `RWC_2012_Ring`: 2966
- `RWC_2012_Ring_`: 2967
- `RWC_2012_Pendant`: 2968
- `RWC_2012_Pendant_`: 2969
- `Pocket_Watch__`: 2971
-- `Brave_Ring`: 2981
+- `RingOfHero`: 2981
- `Snake_Ring`: 2986
- `Snake_Pendant`: 2987
-- `Ozs_New_Wing_Ring`: 2988
-- `Bloody_Floral_Decoration_Bracelet`: 2989
+- `Winged_Ring_Of_Newoz`: 2988
+- `Floral_Bracelet_Of_Igu`: 2989
- `RWC_Gold_Brooch`: 2997
- `RWC_Silver_Brooch`: 2999
- `Poring_Card`: 4001
@@ -9117,7 +9185,7 @@
- `Aqua_Elemental_Card`: 4443
- `Draco_Card`: 4444
- `Luciola_Vespa_Card`: 4445
-- `Enhanced_Skeleton_Card`: 4446
+- `P_Skeleton_Card`: 4446
- `Centipede_Card`: 4447
- `Cornus_Card`: 4448
- `Dark_Shadow_Card`: 4449
@@ -9217,20 +9285,20 @@
- `SLD_Garm_Card`: 4543
- `SLD_Dark_Snake_Card`: 4544
- `Novice_Poring_Card`: 4545
-- `Val'khiri_Card`: 4546
-- `Enhanced_Byorgue_Card`: 4547
-- `Enhanced_Salamander_Card`: 4548
+- `Valkhiri_Card`: 4546
+- `Upd_Byorgue_Card`: 4547
+- `Upd_Salamander_Card`: 4548
- `Upd_Maya_Puple_Card`: 4549
- `Upd_Bow_Guardian_Card`: 4550
-- `Enhanced_Necromancer_Card`: 4551
+- `Upd_Necromancer_Card`: 4551
- `Manny_Card`: 4552
- `Sid_Card`: 4553
- `Diego_Card`: 4554
- `Scrat_Card`: 4555
- `Fenrir_Card`: 4556
-- `Weakened_Fenrir_Card`: 4557
-- `Chun_Tree_Card`: 4558
-- `Devil_Morocc_Card`: 4559
+- `Fenrir_Card_`: 4557
+- `Woodie_Card`: 4558
+- `M_Morocc_Card`: 4559
- `Clown_Card`: 4560
- `Professor_Card`: 4561
- `Champion_Card`: 4562
@@ -9239,19 +9307,19 @@
- `Paladin_Card`: 4565
- `Gypsy_Card`: 4566
- `Alphoccio_Card`: 4567
-- `Celia_Card`: 4568
+- `Ceila_Card`: 4568
- `Chen_Card`: 4569
- `Flamel_Card`: 4570
- `Gertie_Card`: 4571
- `Randel_Card`: 4572
- `Trentini_Card`: 4573
-- `General_Daehyon_Card`: 4574
-- `Armed_Guard_Soheon_Card`: 4575
+- `Daehyon_Card`: 4574
+- `Soheon_Card`: 4575
- `Gioia_Card`: 4576
- `Elvira_Card`: 4577
-- `Angry_Student_Pyuriel_Card`: 4578
-- `Warrior_Lola_Card`: 4579
-- `Guardian_Kades_Card`: 4580
+- `Pyuriel_Card`: 4578
+- `Lora_Card`: 4579
+- `Kades_Card`: 4580
- `Rudo_Card`: 4581
- `Bungisngis_Card`: 4582
- `Engkanto_Card`: 4583
@@ -9267,20 +9335,20 @@
- `Menblatt_Card`: 4593
- `Petal_Card`: 4594
- `Cenere_Card`: 4595
-- `Antique_Book_Card`: 4596
-- `Lichtern_Blue_Card`: 4597
-- `Lichtern_Green_Card`: 4598
-- `Lichtern_Red_Card`: 4599
-- `Lichtern_Yellow_Card`: 4600
+- `AntiqueBook_Card`: 4596
+- `LichternB_Card`: 4597
+- `LichternY_Card`: 4598
+- `LichternR_Card`: 4599
+- `LichternG_Card`: 4600
- `Amdarais_Card`: 4601
-- `Realized_Amdarais_Card`: 4602
-- `Corruption_Root_Card`: 4603
-- `Realized_Corruption_Root_Card`: 4604
-- `Agony_Of_Royal_Knight_Card`: 4605
-- `Grudge_of_Royal_Knight_Card`: 4606
-- `Faithful_Manager_Card`: 4607
-- `White_Knight_Card`: 4608
-- `Khalitzburg_Knight_Card`: 4609
+- `AmdaraisH_Card`: 4602
+- `CorruptionRoot_Card`: 4603
+- `CorruptionRootH_Card`: 4604
+- `UndeadKnightM_Card`: 4605
+- `UndeadKnightF_Card`: 4606
+- `FaithfulManager_Card`: 4607
+- `White_Knightage_Card`: 4608
+- `Khali_Knightage_Card`: 4609
- `Sarah_Card`: 4610
- `Timeholder_Card`: 4625
- `Big_Ben_Card`: 4626
@@ -9290,32 +9358,32 @@
- `Time_Keeper_Card`: 4630
- `Owl_Viscount_Card`: 4631
- `Owl_Marquees_Card`: 4632
-- `Enhanced_Archer_Skeleton_Card`: 4633
-- `Enhanced_Soldier_Skeleton_Card`: 4634
-- `Enhanced_Amdarais_Card`: 4635
+- `P_Archer_Skeleton_Card`: 4633
+- `P_Soldier_Skeleton_Card`: 4634
+- `P_Amdarais_Card`: 4635
- `Bijou_Card`: 4636
-- `Immortal_Corps_Card`: 4637
+- `Immortal_Corpse_Card`: 4637
- `Watcher_Card`: 4638
- `Taffy_Card`: 4639
- `Frozen_Wolf_Card`: 4640
- `Zombie_Guard_Card`: 4641
-- `Infinite_Toad_Card`: 4642
-- `Infinite_Vagabond_Wolf_Card`: 4643
-- `Infinite_Vocal_Card`: 4644
-- `Infinite_Eclipse_Card`: 4645
-- `Infinite_Chimera_Card`: 4646
-- `Infinite_Osiris_Card`: 4647
-- `Infinite_Eddga_Card`: 4648
-- `Infinite_Phreeoni_Card`: 4649
-- `Infinite_Orc_Hero_Card`: 4650
-- `Infinite_Tao_Gunka_Card`: 4651
-- `Nightmare_Amon_Ra_Card`: 4652
-- `Nightmare_Arclouse_Card`: 4653
-- `Nightmare_Mimic_Card`: 4654
-- `Nightmare_Minorous_Card`: 4655
-- `Nightmare_Mummy_Card`: 4656
-- `Nightmare_Ancient_Mummy_Card`: 4657
-- `Nightmare_Verit_Card`: 4658
+- `Min_Toad_Card`: 4642
+- `Min_Vagabond_Wolf_Card`: 4643
+- `Min_Vocal_Card`: 4644
+- `Min_Eclipse_Card`: 4645
+- `Min_Chimera_Card`: 4646
+- `Min_Osiris_Card`: 4647
+- `Min_Eddga_Card`: 4648
+- `Min_Phreeoni_Card`: 4649
+- `Min_Ork_Hero_Card`: 4650
+- `Min_Tao_Gunka_Card`: 4651
+- `N_Amon_Ra_Card`: 4652
+- `N_Arclouse_Card`: 4653
+- `N_Mimic_Card`: 4654
+- `N_Minorous_Card`: 4655
+- `N_Mummy_Card`: 4656
+- `N_Ancient_Mummy_Card`: 4657
+- `N_Verit_Card`: 4658
- `Eggring_Card`: 4659
- `Scout_Basilisk_Card`: 4660
- `Charge_Basilisk_Card`: 4661
@@ -9323,37 +9391,37 @@
- `Leaf_Lunatic_Card`: 4663
- `Grass_Fabre_Card`: 4664
- `Wild_Hornet_Card`: 4665
-- `Swift_Roda_Frog_Card`: 4666
+- `Sweet_Rodafrog_Card`: 4666
- `Hunter_Wolf_Card`: 4667
- `Trance_Spore_Card`: 4668
- `Jungle_Mandragora_Card`: 4669
-- `Fruit_Pom_Spider`: 4670
-- `Sorcerer_Celia_Card`: 4671
-- `Sura_Chen_Card`: 4672
-- `Minstrel_Alphoccio_Card`: 4673
-- `Guillotine_Cross_Eremes_Card`: 4674
-- `Arch_Bishop_Magaleta_Card`: 4675
-- `Ranger_Cecil_Card`: 4676
-- `Mechanic_Howard_Card`: 4677
-- `Warlock_Kathryne_Card`: 4678
-- `Rune_Knight_Seyren_Card`: 4679
-- `Royal_Guard_Randel_Card`: 4680
-- `Genetic_Flamel_Card`: 4681
-- `Shadow_Chaser_Gertie_Card`: 4682
-- `Wanderer_Trentini_Card`: 4683
-- `True_Eremes_Guile_Card`: 4684
-- `True_Margaretha_Sorin_Card`: 4685
-- `True_Kathryne_Keyron_Card`: 4686
-- `True_Cecil_Damon_Card`: 4687
-- `True_Howard_Alt-Eisen_Card`: 4688
-- `True_Seyren_Windsor_Card`: 4689
-- `True_Randel_Lawrence_Card`: 4690
-- `True_Flamel_Emure_Card`: 4691
-- `True_Celia_Alde_Card`: 4692
-- `True_Chen_Liu_Card`: 4693
-- `True_Gertie_Card`: 4694
-- `True_Trentini_Card`: 4695
-- `True_Alphoccio_Card`: 4696
+- `Fruit_Pom_Spider_Card`: 4670
+- `V_Celia_Card`: 4671
+- `V_Chen_Card`: 4672
+- `V_Alphoccio_Card`: 4673
+- `V_Eremes_Card`: 4674
+- `V_Magaleta_Card`: 4675
+- `V_Shecil_Card`: 4676
+- `V_Harword_Card`: 4677
+- `V_Katrinn_Card`: 4678
+- `V_Seyren_Card`: 4679
+- `V_Randel_Card`: 4680
+- `V_Flamel_Card`: 4681
+- `V_Gertie_Card`: 4682
+- `V_Trentini_Card`: 4683
+- `V_B_Eremes_Card`: 4684
+- `V_B_Magaleta_Card`: 4685
+- `V_B_Katrinn_Card`: 4686
+- `V_B_Shecil_Card`: 4687
+- `V_B_Harword_Card`: 4688
+- `V_B_Seyren_Card`: 4689
+- `V_B_Randel_Card`: 4690
+- `V_B_Flamel_Card`: 4691
+- `V_B_Celia_Card`: 4692
+- `V_B_Chen_Card`: 4693
+- `V_B_Gertie_Card`: 4694
+- `V_B_Trentini_Card`: 4695
+- `V_B_Alphoccio_Card`: 4696
- `Strength1`: 4700
- `Strength2`: 4701
- `Strength3`: 4702
@@ -9528,81 +9596,81 @@
- `SP75`: 4871
- `Attack_Delay_2`: 4872
- `Attack_Delay_3`: 4873
-- `Bear's_Power`: 4875
+- `Bears_Power`: 4875
- `Runaway_Magic`: 4876
- `Speed_Of_Light`: 4877
- `Muscle_Fool`: 4878
- `Hawkeye`: 4879
- `Lucky_Day`: 4880
- `Attack_Delay_4`: 4881
-- `ATK_1`: 4882
-- `MATK_1`: 4883
-- `HIT_1`: 4884
-- `Spell_1`: 4885
-- `Spell_2`: 4886
-- `Spell_3`: 4887
-- `Spell_4`: 4888
-- `Spell_5`: 4889
-- `MDEF_1`: 4890
-- `MDEF_3`: 4891
-- `MDEF_5`: 4892
-- `DEF_15`: 4893
-- `ATK_4`: 4894
-- `ATK_5`: 4895
-- `MATK_2`: 4896
-- `MATK_3`: 4897
-- `MATK_4`: 4898
-- `MATK_5`: 4899
-- `MHP_5`: 4900
-- `DEF_18`: 4902
-- `DEF_21`: 4903
-- `ATK_6`: 4904
-- `ATK_7`: 4905
-- `MATK_6`: 4906
-- `MATK_7`: 4907
-- `Essence_Of_Evil_Str1`: 4908
-- `Essence_Of_Evil_Str2`: 4909
-- `Essence_Of_Evil_Str3`: 4910
-- `Essence_Of_Evil_Int1`: 4911
-- `Essence_Of_Evil_Int2`: 4912
-- `Essence_Of_Evil_Int3`: 4913
-- `Essence_Of_Evil_Agi1`: 4914
-- `Essence_Of_Evil_Agi2`: 4915
-- `Essence_Of_Evil_Agi3`: 4916
-- `Essence_Of_Evil_Vit1`: 4917
-- `Essence_Of_Evil_Vit2`: 4918
-- `Essence_Of_Evil_Vit3`: 4919
-- `Essence_Of_Evil_Dex1`: 4920
-- `Essence_Of_Evil_Dex2`: 4921
-- `Essence_Of_Evil_Dex3`: 4922
-- `Essence_Of_Evil_Luk1`: 4923
-- `Essence_Of_Evil_Luk2`: 4924
-- `Essence_Of_Evil_Luk3`: 4925
+- `Atk1p`: 4882
+- `Matk1p`: 4883
+- `HIT1`: 4884
+- `Conjure1`: 4885
+- `Conjure2`: 4886
+- `Conjure3`: 4887
+- `Conjure4`: 4888
+- `Conjure5`: 4889
+- `Mdef1`: 4890
+- `Mdef3`: 4891
+- `Mdef5`: 4892
+- `Def15`: 4893
+- `Atk4p`: 4894
+- `Atk5p`: 4895
+- `Matk2p`: 4896
+- `Matk3p`: 4897
+- `Matk4p`: 4898
+- `Matk5p`: 4899
+- `MHP5`: 4900
+- `Def18`: 4902
+- `Def21`: 4903
+- `Atk6p`: 4904
+- `Atk7p`: 4905
+- `Matk6p`: 4906
+- `Matk7p`: 4907
+- `Force1`: 4908
+- `Force2`: 4909
+- `Force3`: 4910
+- `Intellect1`: 4911
+- `Intellect2`: 4912
+- `Intellect3`: 4913
+- `Swiftness1`: 4914
+- `Swiftness2`: 4915
+- `Swiftness3`: 4916
+- `Tough1`: 4917
+- `Tough2`: 4918
+- `Tough3`: 4919
+- `Artful1`: 4920
+- `Artful2`: 4921
+- `Artful3`: 4922
+- `Fortune1`: 4923
+- `Fortune2`: 4924
+- `Fortune3`: 4925
- `Critical1`: 4926
- `HP50`: 4927
- `SP10`: 4928
-- `MSP_1`: 4929
-- `Inc_Recovery`: 4930
-- `Healing_10`: 4931
-- `SP_Recovery_1`: 4932
-- `Neutral1`: 4933
-- `Neutral2`: 4934
-- `Neutral3`: 4935
-- `L_Atk1`: 4936
-- `M_Atk1`: 4937
-- `S_Atk1`: 4938
+- `MSP1`: 4929
+- `HEAL2`: 4930
+- `HEALHP1`: 4931
+- `HEALSP1`: 4932
+- `Tolerance_Not1`: 4933
+- `Tolerance_Not2`: 4934
+- `Tolerance_Not3`: 4935
+- `ATK_BIG1`: 4936
+- `ATK_MEDIUM1`: 4937
+- `ATK_SMALL1`: 4938
- `Critical2`: 4939
- `Critical3`: 4940
- `Critical4`: 4941
-- `Critical_1`: 4942
-- `Shedding2`: 4943
-- `Shedding3`: 4944
-- `Saving1`: 4945
-- `Saving2`: 4946
-- `Saving3`: 4947
-- `Delay1`: 4948
-- `Delay2`: 4949
-- `Delay3`: 4950
+- `Dodge1`: 4942
+- `Dodge2`: 4943
+- `Dodge3`: 4944
+- `Thrift1`: 4945
+- `Thrift2`: 4946
+- `Thrift3`: 4947
+- `Skill_Delay1`: 4948
+- `Skill_Delay2`: 4949
+- `Skill_Delay3`: 4950
- `Darkness_Drop`: 4951
- `Fire_Drop`: 4952
- `Water_Drop`: 4953
@@ -9644,8 +9712,8 @@
- `Auxiliary_Reactor_MaxSP`: 4989
- `Auxiliary_Reactor_Frozen`: 4990
- `Auxiliary_Reactor_ASPD`: 4991
-- `HPAbsorb1`: 4992
-- `SPAbsorb1`: 4993
+- `HPdrain1`: 4992
+- `SPdrain1`: 4993
- `Rune_Of_Might1`: 4994
- `Rune_Of_Might2`: 4995
- `Rune_Of_Might3`: 4996
@@ -9663,11 +9731,11 @@
- `Safety_Helmet`: 5009
- `Indian_Hair_Piece`: 5010
- `Antenna`: 5011
-- `Ph.D_Hat`: 5012
+- `Ph_D_Hat`: 5012
- `Horn_Of_Lord_Kaho`: 5013
- `Fin_Helm`: 5014
- `Egg_Shell`: 5015
-- `Boy's_Cap`: 5016
+- `Boys_Cap`: 5016
- `Bone_Helm`: 5017
- `Feather_Bonnet`: 5018
- `Corsair`: 5019
@@ -9695,7 +9763,7 @@
- `Heart_Hair_Pin`: 5041
- `Hair_Protector`: 5042
- `Opera_Ghost_Mask`: 5043
-- `Devil's_Wing`: 5044
+- `Devils_Wing`: 5044
- `Magician_Hat`: 5045
- `Bongun_Hat`: 5046
- `Fashion_Sunglass`: 5047
@@ -9719,13 +9787,13 @@
- `Fish_On_Head`: 5065
- `Horn_Of_Succubus`: 5066
- `Sombrero`: 5067
-- `Ear_Of_Devil's_Wing`: 5068
+- `Ear_Of_Devils_Wing`: 5068
- `Mask_Of_Fox`: 5069
- `Headband_Of_Power`: 5070
- `Indian_Headband`: 5071
- `Inccubus_Horn`: 5072
- `Cap_Of_Concentration`: 5073
-- `Ear_Of_Angel's_Wing`: 5074
+- `Ear_Of_Angels_Wing`: 5074
- `Cowboy_Hat`: 5075
- `Fur_Hat`: 5076
- `Tulip_Hairpin`: 5077
@@ -9777,9 +9845,9 @@
- `Ulle_Cap`: 5123
- `Fricca_Circlet`: 5124
- `Kiss_Of_Angel`: 5125
-- `Morpheus's_Hood`: 5126
-- `Morrigane's_Helm`: 5127
-- `Goibne's_Helmet`: 5128
+- `Morpheuss_Hood`: 5126
+- `Morriganes_Helm`: 5127
+- `Goibnes_Helmet`: 5128
- `Bird_Nest`: 5129
- `Lion_Mask`: 5130
- `Close_Helmet`: 5131
@@ -9787,7 +9855,7 @@
- `Sheep_Hat`: 5133
- `Pumpkin_Hat`: 5134
- `Cyclops_Visor`: 5135
-- `Santa's_Hat_`: 5136
+- `Santas_Hat_`: 5136
- `Alice_Doll`: 5137
- `Magic_Eyes`: 5138
- `Hibiscus`: 5139
@@ -9958,7 +10026,7 @@
- `Cap_Of_Blindness`: 5304
- `Pirate_Dagger`: 5305
- `Freyja_Crown`: 5306
-- `Carmen_Miranda's_Hat`: 5307
+- `Carmen_Mirandas_Hat`: 5307
- `Brazilian_Flag_Hat`: 5308
- `Mahican`: 5309
- `Bulb_Hairband`: 5310
@@ -9998,9 +10066,9 @@
- `Binit_Doll_Hat`: 5344
- `Debril_Doll_Hat`: 5345
- `Gf_Recruiter_Hat`: 5346
-- `Ph.D_Hat_`: 5347
-- `Big_Sis'_Ribbon_`: 5348
-- `Boy's_Cap_`: 5349
+- `Ph_D_Hat_`: 5347
+- `Big_Sis_Ribbon_`: 5348
+- `Boys_Cap_`: 5349
- `Pirate_Bandana_`: 5350
- `Sunflower_`: 5351
- `Poporing_Cap`: 5352
@@ -10072,7 +10140,7 @@
- `Soldier_Hat`: 5418
- `Evolved_Leaf`: 5419
- `Mask_Of_Ifrit`: 5420
-- `Ifrit's_Ear`: 5421
+- `Ifrits_Ear`: 5421
- `Linguistic_Book_Cap`: 5422
- `Lovecap_China`: 5423
- `Fanta_Orange_Can`: 5424
@@ -10087,7 +10155,7 @@
- `Golden_Wreath`: 5433
- `Cola_Can`: 5434
- `Coke_Hat`: 5435
-- `Bride's_Corolla`: 5436
+- `Brides_Corolla`: 5436
- `Flower_Of_Fairy`: 5437
- `Fillet_Green`: 5438
- `Fillet_Red`: 5439
@@ -10130,7 +10198,7 @@
- `Hairband_Of_Grandpeco`: 5476
- `Bro_Flag`: 5477
- `Classic_Hat`: 5478
-- `Shaman's_Hair_Ornament`: 5479
+- `Shamans_Hair_Ornament`: 5479
- `Bizofnil_Wing_Deco`: 5480
- `Hermose_Cap`: 5481
- `Dark_Knight_Mask`: 5482
@@ -10143,7 +10211,7 @@
- `Love_Daddy`: 5489
- `Anubis_Helm`: 5490
- `Hat_Of_Outlaw`: 5491
-- `Boy's_Cap_I`: 5492
+- `Boys_Cap_I`: 5492
- `Ulle_Cap_I`: 5493
- `Spinx_Helm_I`: 5494
- `Power_Of_Thor`: 5495
@@ -10152,8 +10220,8 @@
- `Wondering_Wolf_Helm`: 5498
- `Pizza_Hat`: 5499
- `Icecream_Hat`: 5500
-- `Pirate's_Pride`: 5501
-- `Necromencer's_Hood`: 5502
+- `Pirates_Pride`: 5501
+- `Necromencers_Hood`: 5502
- `Rabbit_Magic_Hat`: 5503
- `China_Wedding_Veil`: 5504
- `Asara_Fairy_Hat`: 5505
@@ -10180,7 +10248,7 @@
- `Lady_Tanee_Doll`: 5526
- `Lunatic_Hat`: 5527
- `King_Frog_Hat`: 5528
-- `Evil's_Bone_Hat`: 5529
+- `Evils_Bone_Hat`: 5529
- `Raven_Cap`: 5530
- `B_Dragon_Hat`: 5531
- `Pirate_Dagger_J`: 5532
@@ -10230,7 +10298,7 @@
- `Japan_Winecup`: 5576
- `Dark_Knight_MaskB`: 5577
- `Voyage_Hat`: 5578
-- `Wanderer's_Sakkat`: 5579
+- `Wanderers_Sakkat`: 5579
- `Red_Beret`: 5580
- `Cancer_Diadem`: 5581
- `Cancer_Crown`: 5582
@@ -10243,7 +10311,7 @@
- `Leo_Diadem`: 5589
- `K_Poring_Cake_Cap`: 5590
- `Desert_Prince`: 5591
-- `Sigrun's_Wing`: 5592
+- `Sigruns_Wing`: 5592
- `K_Rabbit_Bonnet`: 5593
- `Donut_In_Mouth`: 5594
- `Eye_Of_Juno`: 5595
@@ -10395,8 +10463,8 @@
- `Im_Egg_Shell_Hat`: 5741
- `Rudolf_Santa_Hat`: 5742
- `Orange_Stem_Hat`: 5743
-- `Capricon_Crown`: 5744
-- `Capricon_Diadem`: 5745
+- `Capricorn_Crown`: 5744
+- `Capricorn_Diadem`: 5745
- `Rune_Circlet`: 5746
- `Mitra`: 5747
- `Sniper_Goggle`: 5748
@@ -10461,10 +10529,10 @@
- `October_Fest_Cap`: 5807
- `Diabolus_Helmet`: 5808
- `Boom_Boom_Hat`: 5809
-- `Ph.D_Hat_V`: 5810
+- `Ph_D_Hat_V`: 5810
- `Santa_Beard`: 5811
- `Hat_Of_Expert`: 5812
-- `Red_Ph.D_Hat`: 5813
+- `Red_Ph_D_Hat`: 5813
- `Ati_Atihan_Hat3`: 5814
- `Cowboy_Hat_J`: 5815
- `Classic_Hat_J`: 5816
@@ -10504,7 +10572,7 @@
- `Golden_Savage_Hat`: 5850
- `Summer_Knight`: 5851
- `Easter_Egg_Shell`: 5852
-- `Fishing_Rod`: 5855
+- `Fish_Rod`: 5855
- `Passion_FB_Hat`: 5856
- `Cool_FB_Hat`: 5857
- `Victory_FB_Hat`: 5858
@@ -10514,11 +10582,11 @@
- `Mimic_Egg_Shell`: 5869
- `Bunny_Egg_Shell`: 5870
- `Picky_Egg_Shell`: 5871
-- `Helmet_of_Siegfried`: 5873
-- `Circlet_of_Kriemhild`: 5874
-- `Diadem_of_Brinhild`: 5875
+- `Helmet_Of_Siegfried`: 5873
+- `Circlet_Of_Kriemhild`: 5874
+- `Diadem_Of_Bruenhild`: 5875
- `Weissbier_Hat`: 5881
-- `Angel_Earrings`: 5890
+- `Angel_Earing`: 5890
- `Black_Cat_Hat`: 5891
- `Ascendant_Crown_`: 5897
- `Autumn_Headband`: 5898
@@ -10526,20 +10594,20 @@
- `Divine_Guard_Hat_`: 5900
- `Inconspicuous_Hat_`: 5904
- `Lyrica_Hat_`: 5905
-- `Oni_Horns_`: 5906
-- `Sea_Captain_Hat`: 5907
+- `Oni_Horns`: 5906
+- `Sea_Captain_Hat_`: 5907
- `Gambler_Seal`: 5918
-- `Fish_Monster's_Grill`: 5921
-- `Birdcage_Of_Paradise`: 5932
+- `Fish_Monsters_Grill`: 5921
+- `Heaven_Cage`: 5932
- `Crow_Tengu_Mask`: 5933
-- `Happy_Balloon`: 5934
+- `Happy_Balloon_J`: 5934
- `Joystick_Hat`: 5941
- `Lovegame_Hat`: 5942
-- `Kardui_Ears`: 5966
-- `Flying_Galapagos`: 5967
-- `Divine_Angel_Nurse_Cap`: 5968
-- `Queen_Anne's_Revenge`: 5969
-- `Rune_Helm`: 5970
+- `KarduiEar`: 5966
+- `FlyingGalapago`: 5967
+- `DVAngelNurseCap`: 5968
+- `QueenAnzRevenge`: 5969
+- `RuneHelm`: 5970
- `Dark_Ashes`: 6000
- `Essence_Of_Fire`: 6001
- `Token_Of_Apostle`: 6002
@@ -10609,11 +10677,11 @@
- `Moon_Cake20`: 6067
- `Rabbit_Skin`: 6068
- `ABUNDANCE`: 6069
-- `Shaman's_Old_Paper`: 6070
+- `Shamans_Old_Paper`: 6070
- `Broken_Sword`: 6071
- `Wing_Of_Bizofnil`: 6072
-- `Dragon's_Mane`: 6073
-- `Bazett's_Order`: 6074
+- `Dragons_Mane`: 6073
+- `Bazetts_Order`: 6074
- `Crystalized_Teardrop`: 6075
- `Portable_Toolbox`: 6076
- `Rough_Mineral`: 6077
@@ -10663,7 +10731,7 @@
- `Makeover_Brush`: 6121
- `Paint_Brush`: 6122
- `Surface_Paint`: 6123
-- `Wolf's_Flute`: 6124
+- `Wolfs_Flute`: 6124
- `Lucky_Box`: 6125
- `Happy_Box`: 6126
- `Purification_Stone`: 6127
@@ -10908,7 +10976,7 @@
- `Amatsu_Bead_Jam`: 6372
- `Amatsu_Bead_Bo`: 6373
- `Amatsu_Bead_Ree`: 6374
-- `Amatsu_Bead_!`: 6375
+- `Amatsu_Bead_`: 6375
- `KVM_Badge`: 6376
- `Buy_Market_Permit`: 6377
- `Winning_Mark`: 6378
@@ -11106,7 +11174,7 @@
- `Guarantee_Armor_12Up`: 6585
- `Captured_Book`: 6586
- `Small_Wooden_Chest`: 6592
-- `Criatura_Hair_Coupon`: 6593
+- `Cryptura_Hair_Coupon`: 6593
- `Magic_Bronze_Bullion`: 6594
- `Hammer_Of_Velund`: 6595
- `Anvil_Of_Velund`: 6596
@@ -11142,16 +11210,16 @@
- `Memory_Of_Jack`: 6657
- `Halloween_Coin`: 6658
- `RWC_Inicializer`: 6665
-- `Geffen_Magic_Tournament_Coin`: 6671
-- `Gray_Piece`: 6672
-- `Ticket_to_Bossnia`: 6673
-- `Part_time_Receipt`: 6674
+- `Geffen_Magic_Coin`: 6671
+- `Gray_Shard`: 6672
+- `Bossnia_Pass`: 6673
+- `Daily_Coin`: 6674
- `XMAS_Cookie`: 6681
- `Bag_Of_Selling_Goods`: 6682
- `Lovely_Stick`: 6712
-- `Contaminated_Magic`: 6755
-- `Organic_Pumpkin`: 6804
-- `Inorganic_Pumpkin`: 6805
+- `Corrupted_Charm`: 6755
+- `ORGANIC_PUMPKIN`: 6804
+- `INORGANIC_PUMPKIN`: 6805
- `Solo_Troops_Badge`: 6821
- `Sacred_Rosary`: 6913
- `Black_Soul`: 6914
@@ -11172,15 +11240,15 @@
- `Old_Portrait`: 7014
- `Bookclip_In_Memory`: 7015
- `Spoon_Stub`: 7016
-- `Executioner's_Mitten`: 7017
+- `Executioners_Mitten`: 7017
- `Young_Twig`: 7018
-- `Loki's_Whispers`: 7019
-- `Mother's_Nightmare`: 7020
+- `Lokis_Whispers`: 7019
+- `Mothers_Nightmare`: 7020
- `Foolishness_Of_Blind`: 7021
- `Old_Hilt`: 7022
- `Blade_Lost_In_Darkness`: 7023
- `Bloody_Edge`: 7024
-- `Lucifer's_Lament`: 7025
+- `Lucifers_Lament`: 7025
- `Key_Of_Clock_Tower`: 7026
- `Underground_Key`: 7027
- `Invite_For_Duel`: 7028
@@ -11202,7 +11270,7 @@
- `Vigorgra`: 7044
- `Magic_Paint`: 7045
- `Cart_Parts`: 7046
-- `Alice's_Apron`: 7047
+- `Alices_Apron`: 7047
- `Talon_Of_Griffin`: 7048
- `Stone`: 7049
- `Cotton_Mat`: 7050
@@ -11217,7 +11285,7 @@
- `Cargo_Free_Ticket`: 7059
- `Warp_Free_Ticket`: 7060
- `Cart_Free_Ticket`: 7061
-- `Broken_Turtle_Shell`: 7062
+- `Turtle_Shell_`: 7062
- `Soft_Feather`: 7063
- `Dragon_Fly_Wing`: 7064
- `Sea_Otter_Leather`: 7065
@@ -11261,26 +11329,26 @@
- `Unknown_Liquid_Bottle`: 7103
- `Fake_Angel_Wing`: 7104
- `Fake_Angel_Loop`: 7105
-- `Goat's_Horn`: 7106
-- `Gaoat's_Skin`: 7107
+- `Goats_Horn`: 7106
+- `Gaoats_Skin`: 7107
- `Boroken_Shiled_Piece`: 7108
- `Shine_Spear_Blade`: 7109
- `Vroken_Sword`: 7110
- `Smooth_Paper`: 7111
- `Fright_Paper_Blade`: 7112
- `Broken_Pharaoh_Symbol`: 7113
-- `Tutankhamen's_Mask`: 7114
-- `Harpy's_Feather`: 7115
-- `Harpy's_Claw`: 7116
+- `Tutankhamens_Mask`: 7114
+- `Harpys_Feather`: 7115
+- `Harpys_Claw`: 7116
- `Rent_Spell_Book`: 7117
- `Rent_Scroll`: 7118
- `Spawns`: 7119
- `Burning_Horse_Shoe`: 7120
- `Honey_Jar`: 7121
- `Hot_Hair`: 7122
-- `Dragon's_Skin`: 7123
+- `Dragons_Skin`: 7123
- `Sand_Lump`: 7124
-- `Scropion's_Nipper`: 7125
+- `Scropions_Nipper`: 7125
- `Large_Jellopy`: 7126
- `Alcol_Create_Book`: 7127
- `FireBottle_Create_Book`: 7128
@@ -11310,13 +11378,13 @@
- `Glossy_Hair`: 7152
- `Old_Japaness_Clothes`: 7153
- `Poison_Powder`: 7154
-- `Poison_Toad's_Skin`: 7155
+- `Poison_Toads_Skin`: 7155
- `Broken_Shuriken`: 7156
- `Black_Mask`: 7157
- `Broken_Wine_Vessel`: 7158
-- `Tengu's_Nose`: 7159
-- `Lord's_Passable_Ticket`: 7160
-- `Black_Bear's_Skin`: 7161
+- `Tengus_Nose`: 7159
+- `Lords_Passable_Ticket`: 7160
+- `Black_Bears_Skin`: 7161
- `Cloud_Piece`: 7162
- `Sharp_Feeler`: 7163
- `Hard_Peach`: 7164
@@ -11332,10 +11400,10 @@
- `Packing_Ribbon`: 7174
- `Packing_Paper`: 7175
- `XMAS_Coupon`: 7176
-- `Part_Of_Star's_Sob`: 7177
-- `Star's_Sob`: 7178
+- `Part_Of_Stars_Sob`: 7177
+- `Stars_Sob`: 7178
- `Donation_Card`: 7179
-- `Introduction_Of_Mr.Han`: 7180
+- `Introduction_Of_Mr_Han`: 7180
- `Receipt_01`: 7181
- `Cacao`: 7182
- `Sister_Letter`: 7183
@@ -11364,7 +11432,7 @@
- `Black_Kitty_Doll`: 7206
- `Old_Manteau`: 7207
- `Rusty_Cleaver`: 7208
-- `Dullahan's_Helm`: 7209
+- `Dullahans_Helm`: 7209
- `Dullahan_Armor`: 7210
- `Rojerta_Piece`: 7211
- `Hanging_Doll`: 7212
@@ -11459,11 +11527,11 @@
- `Sword_Accessory`: 7301
- `KRATHONG`: 7302
- `Bag_Of_Rice`: 7303
-- `Witch's_Spell_Book`: 7304
+- `Witchs_Spell_Book`: 7304
- `Authority_Of_Nine_World`: 7305
- `Fragment_Of_Soul`: 7306
- `Whisper_Of_Soul`: 7307
-- `Witch's_Potion`: 7308
+- `Witchs_Potion`: 7308
- `Wing_Of_Crow`: 7309
- `Free_Peco_Ticket`: 7310
- `Free_Flying_Ship_Ticket`: 7311
@@ -11505,7 +11573,7 @@
- `Indication_Of_Member01`: 7348
- `Indication_Of_Member02`: 7349
- `Pass`: 7350
-- `Friend's_Diary`: 7351
+- `Friends_Diary`: 7351
- `Transparent_Plate01`: 7352
- `Transparent_Plate02`: 7353
- `Transparent_Plate03`: 7354
@@ -11612,7 +11680,7 @@
- `Hot_Sauce`: 7455
- `Red_Spice`: 7456
- `Cooking_Oil`: 7457
-- `Baphomet's_Horn`: 7458
+- `Baphomets_Horn`: 7458
- `RAMADAN_`: 7459
- `Niflheim_Ticket`: 7460
- `BlueCard_A`: 7461
@@ -11672,7 +11740,7 @@
- `Marvelous_Medal`: 7515
- `Green_Key_Card`: 7516
- `Gold_Coin_`: 7517
-- `Women's_Medal`: 7518
+- `Womens_Medal`: 7518
- `Money_Envelope`: 7519
- `Chinese_Scroll`: 7520
- `Flame_Stone`: 7521
@@ -11748,7 +11816,7 @@
- `Moon_Cake12`: 7591
- `Moon_Cake13`: 7592
- `Moon_Cake14`: 7593
-- `Sonia's_Letter`: 7594
+- `Sonias_Letter`: 7594
- `Unique_Sword`: 7595
- `Unique_Shield`: 7596
- `Magic_Stone`: 7597
@@ -11799,8 +11867,8 @@
- `Snake_Bookmark`: 7648
- `Big_Luk_Bookmark`: 7649
- `Mystery_Egg`: 7651
-- `Full_Metal_Jacket`: 7663
-- `Projection_Landmines`: 7664
+- `Fullmetal_Jacket_Bullet`: 7663
+- `Mine_Projectile`: 7664
- `Dragon_Tail_Missile`: 7665
- `Dragon_Spirit`: 7701
- `Special_Cogwheel`: 7702
@@ -12019,7 +12087,7 @@
- `Magic_Potion`: 7917
- `Particle_Of_Memory`: 7918
- `Festival_Ticket`: 7919
-- `Hero's_Arsenal`: 7920
+- `Heros_Arsenal`: 7920
- `Essence_Of_Dragon`: 7921
- `RWC_Ticket`: 7922
- `KRATHONG_`: 7923
@@ -12029,7 +12097,7 @@
- `Candle_TW`: 7927
- `Brazilian_Flag_`: 7928
- `Golden_Coin_`: 7929
-- `Cowking's_Nose_Ring`: 7930
+- `Cowkings_Nose_Ring`: 7930
- `Poison_Kit`: 7931
- `Poison_Herb_Nerium`: 7932
- `Poison_Herb_Rantana`: 7933
@@ -12122,7 +12190,7 @@
- `Isis_Egg`: 9021
- `Green_Petite_Egg`: 9022
- `Deviruchi_Egg`: 9023
-- `Bapho_Jr._Egg`: 9024
+- `Bapho_Jr_Egg`: 9024
- `Bongun_Egg`: 9025
- `Zherlthsh_Egg`: 9026
- `Alice_Egg`: 9027
@@ -12166,7 +12234,7 @@
- `Transparent_Headgear`: 10003
- `Pacifier`: 10004
- `Wig`: 10005
-- `Queen's_Hair_Ornament`: 10006
+- `Queens_Hair_Ornament`: 10006
- `Silk_Ribbon`: 10007
- `Punisher`: 10008
- `Wild_Flower`: 10009
@@ -12192,7 +12260,7 @@
- `Jade_Trinket`: 10029
- `Summer_Fan`: 10030
- `Death_Coil`: 10031
-- `Queen's_Coronet`: 10032
+- `Queens_Coronet`: 10032
- `Apro_Hair`: 10033
- `Ball_Mask`: 10034
- `Windup_Spring`: 10035
@@ -12322,6 +12390,7 @@
- `Trance_Candy_B`: 11593
- `Trance_Candy_Y`: 11594
- `Trance_Candy_G`: 11595
+- `Catnip_Fruit`: 11602
- `Girl_Bunch_Of_Flower`: 11701
- `Moon_Cookie`: 11702
- `Mysterious_Blood`: 11703
@@ -12334,7 +12403,7 @@
- `Sakura_Mist`: 11710
- `Sakura_Milk_Tea`: 11711
- `First_Leaf_Tea`: 11712
-- `Julia's_Candy`: 11713
+- `Julias_Candy`: 11713
- `Fruit_Salad`: 11715
- `Shepherd_Salad`: 11716
- `Yogurt`: 11717
@@ -12476,7 +12545,7 @@
- `Ice_Cream_`: 12133
- `Red_Envelope`: 12134
- `Green_Ale`: 12135
-- `Women's_Bundle`: 12136
+- `Womens_Bundle`: 12136
- `1st_Stage_Prize`: 12137
- `2nd_Stage_Prize`: 12138
- `3rd_Stage_Prize`: 12139
@@ -12679,14 +12748,14 @@
- `Cherish_Box_Ori`: 12339
- `Mysterious_Rice_Powder`: 12340
- `Special_Alloy_Trap_Box`: 12341
-- `Manuk's_Opportunity`: 12342
-- `Manuk's_Courage`: 12343
-- `Pinguicula's_fruit_Jam`: 12344
-- `Luciola's_Honey_Jam`: 12345
+- `Manuks_Opportunity`: 12342
+- `Manuks_Courage`: 12343
+- `Pinguiculas_fruit_Jam`: 12344
+- `Luciolas_Honey_Jam`: 12345
- `Unripe_Acorn`: 12346
- `Acorn_Jelly`: 12347
-- `Manuk's_Faith`: 12348
-- `Cornus'_Tears`: 12349
+- `Manuks_Faith`: 12348
+- `Cornus_Tears`: 12349
- `Angeling_Potion`: 12350
- `Shout_Megaphone`: 12351
- `Dun_Tele_Scroll3`: 12352
@@ -12707,16 +12776,16 @@
- `Luxury_Whisky_Bottle`: 12367
- `Splendid_Mirror`: 12368
- `Oilpalm_Coconut`: 12369
-- `Gril's_Naivety`: 12370
+- `Grils_Naivety`: 12370
- `Magical_Lithography`: 12371
- `Hell_Contract`: 12372
-- `Boy's_Naivety`: 12373
+- `Boys_Naivety`: 12373
- `Flaming_Ice`: 12374
- `Acaraje`: 12375
- `Mysterious_Can2`: 12376
- `Mysterious_PET_Bottle2`: 12377
- `2009_Rice_Cake_Soup`: 12378
-- `Pope's_Cookie`: 12379
+- `Popes_Cookie`: 12379
- `Desert_Wolf_Babe_Scroll`: 12380
- `ValkyrieA_Scroll`: 12381
- `ValkyrieB_Scroll`: 12382
@@ -12753,7 +12822,7 @@
- `PCBang_Coupon_Box2`: 12413
- `Guarana_Candy`: 12414
- `Siege_Teleport_Scroll2`: 12415
-- `LUcky_Egg_C3`: 12416
+- `Lucky_Egg_C3`: 12416
- `Boost500`: 12417
- `Full_SwingK`: 12418
- `Mana_Plus`: 12419
@@ -13130,7 +13199,7 @@
- `Ktullanux_Scroll`: 12800
- `Eddga_Scroll`: 12801
- `Mystic_Powder`: 12805
-- `Antler_Scaraba_Scroll`: 12806
+- `Scaraba_Scroll`: 12806
- `Mercenary_Casting_`: 12807
- `Mother_Love_Box`: 12808
- `Level_Up_Box`: 12809
@@ -13142,12 +13211,12 @@
- `Zherlthsh_Tck_Box_`: 12819
- `Mao_Guai_Scroll`: 12820
- `Loli_Ruri_Scroll`: 12821
-- `Sungpyun_Box50`: 12822
+- `Songpyun_Box50`: 12822
- `Sedora_Scroll`: 12823
- `Chepet_Scroll`: 12824
- `Potion_Box`: 12831
- `WOB_Amatsu`: 12845
-- `Little_Unripe_Apple`: 12846
+- `Unripe_Apple2`: 12846
- `Old_Equipment_Box`: 12847
- `Falcon_Flute`: 12848
- `Combination_Kit`: 12849
@@ -13354,8 +13423,8 @@
- `TE_Woe_Knife`: 13083
- `Goldsmithing_Dagger`: 13086
- `RWC_Memory_Knife`: 13092
-- `Thanatos_Dagger`: 13093
-- `Evil_Slayer_Stabber_Dagger`: 13094
+- `Thanos_Dagger`: 13093
+- `Dagger_Of_Evil_Slayer`: 13094
- `Six_Shooter`: 13100
- `Six_Shooter_`: 13101
- `Crimson_Bolt`: 13102
@@ -13374,10 +13443,10 @@
- `Upg_Revolver`: 13115
- `Novice_Revolver`: 13116
- `TE_Woe_Pistol`: 13117
-- `Heaven's_Feather_and_Hell's_Fire`: 13120
-- `Altea_and_Ares`: 13122
-- `Altea_and_Ares_`: 13124
-- `Crimson_Revolver`: 13127
+- `H_FEATHER_H_FIRE`: 13120
+- `ALTAIR_ARES`: 13122
+- `ALTAIR_ARES_`: 13124
+- `Scarlet_Revolver`: 13127
- `Revolver_of_Vicious_Mind`: 13128
- `Branch`: 13150
- `The_Cyclone`: 13151
@@ -13417,16 +13486,16 @@
- `TE_Woe_Gatling`: 13185
- `TE_Woe_Shotgun`: 13186
- `TE_Woe_Grenade`: 13187
-- `Color_Scope`: 13189
-- `RAG203`: 13190
-- `Death_Fire`: 13192
-- `Rolling_Thunder`: 13193
-- `Peace_Breaker`: 13194
-- `RAG203_`: 13195
-- `Peace_Breaker_`: 13196
-- `Mini_Mei`: 13197
-- `Tempest`: 13198
-- `Tempest_`: 13199
+- `COLORSCOPE`: 13189
+- `RAG203_`: 13190
+- `DEATHFIRE`: 13192
+- `R_THUNDER`: 13193
+- `P_BREAKER`: 13194
+- `RAG203`: 13195
+- `P_BREAKER_`: 13196
+- `MINIMAY`: 13197
+- `TEMPEST`: 13198
+- `TEMPEST_`: 13199
- `Bullet`: 13200
- `Silver_Bullet`: 13201
- `Shell_Of_Blood`: 13202
@@ -13436,24 +13505,24 @@
- `Blind_Sphere`: 13206
- `Freezing_Sphere`: 13207
- `Gong_Bug`: 13208
-- `Slug_Ammunition_L`: 13210
-- `Slug_Ammunition_M`: 13211
-- `Slug_Ammunition_H`: 13212
-- `Slug_Ammunition_SH`: 13213
-- `Slug_Ammunition_XH`: 13214
-- `Armor_Piercing_Bullet`: 13215
-- `Blazing_Bullet`: 13216
+- `Slug_Bullet_1`: 13210
+- `Slug_Bullet_2`: 13211
+- `Slug_Bullet_3`: 13212
+- `Slug_Bullet_4`: 13213
+- `Slug_Bullet_5`: 13214
+- `AP_Ammo`: 13215
+- `Blaze_Bullet`: 13216
- `Freezing_Bullet`: 13217
-- `Lightning_Bullet`: 13218
-- `Magic_Stone_Bullet`: 13219
-- `Purifying_Bullet`: 13220
+- `Electric_Shock_Bullet`: 13218
+- `Magical_Stone_Bullet`: 13219
+- `Sanctified_Bullet`: 13220
- `Silver_Bullet_`: 13221
- `Shell_Of_Blood_`: 13222
-- `Incendiary_Grenade`: 13223
-- `Lightning_Grenade`: 13224
-- `Poison_Grenade`: 13225
-- `Flash_Grenade`: 13226
-- `Cyro_Grenade`: 13227
+- `Flare_Sphere_`: 13223
+- `Lighting_Sphere_`: 13224
+- `Poison_Sphere_`: 13225
+- `Blind_Sphere_`: 13226
+- `Freezing_Sphere_`: 13227
- `Shuriken`: 13250
- `Nimbus_Shuriken`: 13251
- `Flash_Shuriken`: 13252
@@ -13518,7 +13587,7 @@
- `Huuma_Thunderstorm`: 13315
- `Upg_Huuma_Shuriken`: 13316
- `TE_Woe_Huuma`: 13317
-- `Crimson_Huuma_Shuriken`: 13327
+- `Scarlet_Huuma`: 13327
- `Huuma_Shuriken_of_Vicious_Mind`: 13328
- `Cutlas_`: 13400
- `Excalibur_C`: 13401
@@ -13540,7 +13609,7 @@
- `Krieger_Onehand_Sword2`: 13417
- `Krieger_Onehand_Sword3`: 13418
- `Holy_Saber`: 13419
-- `Honglyun's_Sword`: 13420
+- `Honglyuns_Sword`: 13420
- `Ruber`: 13421
- `Flamberge_C`: 13422
- `P_Sabre1`: 13423
@@ -13558,10 +13627,10 @@
- `Magical_Blade`: 13438
- `TE_Woe_Sword`: 13439
- `Ceremonial_Sword`: 13440
-- `Thanatos_Sword`: 13441
+- `Thanos_Sword`: 13441
- `Old_Parasol`: 13442
- `Pala`: 13444
-- `Crimson_Saber`: 13454
+- `Scarlet_Saber`: 13454
- `Saber_of_Vicious_Mind`: 13455
- `Insurance60_Package`: 13500
- `Assorted_Scroll_Box`: 13501
@@ -13584,8 +13653,8 @@
- `Weapon_Card_Scroll_Box`: 13518
- `Armor_Card_Scroll_Box`: 13519
- `Helmet_Card_Scroll_Box`: 13520
-- `Garment_Card_Scroll_Box`: 13521
-- `Shield_Card_Scroll_Box`: 13522
+- `Hood_Card_Scroll_Box`: 13521
+- `Hood_Card_Scroll_Box2`: 13522
- `Shoes_Card_Scroll_Box`: 13523
- `Accy_Card_Scroll_Box`: 13524
- `Zeny_Scroll_Box`: 13525
@@ -13957,12 +14026,12 @@
- `Wind_Converter_Box`: 13893
- `Earth_Converter_Box`: 13894
- `Starter_Pack`: 13895
-- `Mimic_Scroll_Box5`: 13896
-- `Disguise_Scroll_Box5`: 13897
-- `Alice_Scroll_Box5`: 13898
-- `Mimic_Scroll_Box10`: 13899
-- `Disguise_Scroll_Box10`: 13900
-- `Alice_Scroll_Box10`: 13901
+- `Mimic_Summon_Box5`: 13896
+- `Disguise_Summon_Box5`: 13897
+- `Alice_Summon_Box5`: 13898
+- `Mimic_Summon_Box10`: 13899
+- `Disguise_Summon_Box10`: 13900
+- `Alice_Summon_Box10`: 13901
- `Fish_Head_Hat_Box`: 13902
- `Santa_Poring_Hat_Box`: 13903
- `Bell_Ribbon_Box`: 13904
@@ -13972,10 +14041,10 @@
- `Deviruchi_Set_Box`: 13908
- `MVP_Hunt_Box`: 13909
- `Brewing_Box`: 13910
-- `Christmas_Pet_Scroll`: 13911
-- `Pty_Blessing_Box`: 13912
-- `Pty_Inc_Agi_Box`: 13913
-- `Pty_Assumptio_Box`: 13914
+- `Xmas_Pet_Scroll`: 13911
+- `Party_Blessing_Box`: 13912
+- `Party_Inc_Agi_Box`: 13913
+- `Party_Assumptio_Box`: 13914
- `Love_Angel_Box`: 13915
- `Squirrel_Box`: 13916
- `Gogo_Box`: 13917
@@ -13986,7 +14055,7 @@
- `Rabbit_Ear_Hat_Box`: 13922
- `Darkness_Helm_Box`: 13923
- `L_Orc_Hero_Helm_Box`: 13924
-- `Year_Of_Mouse_Scroll`: 13925
+- `Lucky_Scroll08`: 13925
- `Crusader_Card_Box`: 13926
- `Alchemist_Card_Box`: 13927
- `Rogue_Card_Box`: 13928
@@ -14002,16 +14071,16 @@
- `Twin_Ribbon_Box`: 13938
- `Diadem_Box`: 13939
- `Siege_Tele_Scroll_Box`: 13940
-- `TW_Valentine_Scroll`: 13941
+- `Valentine_Scroll_TW`: 13941
- `Love_Angel_Box_1m`: 13942
- `Squirrel_Box_1m`: 13943
- `Gogo_Box_1m`: 13944
-- `BRO_SM_Package`: 13945
-- `BRO_MG_Package`: 13946
-- `BRO_AC_Package`: 13947
-- `BRO_AR_Package`: 13948
-- `BRO_MC_Package`: 13949
-- `BRO_TF_Package`: 13950
+- `Br_SwordPackage`: 13945
+- `Br_MagePackage`: 13946
+- `Br_AcolPackage`: 13947
+- `Br_ArcherPackage`: 13948
+- `Br_MerPackage`: 13949
+- `Br_ThiefPackage`: 13950
- `Wasteland_Outlaw_Box`: 13951
- `Lever_Action_Rifle_Box`: 13952
- `All_In_One_Ring_Box`: 13953
@@ -14291,18 +14360,18 @@
- `Healing_Staff_Box`: 14227
- `Praxinus_Box`: 14228
- `Cherry_Blossom_Scroll`: 14229
-- `Note_Headphones_Box`: 14230
-- `Novice_Breastplate_Boxes`: 14231
+- `Headphone_Box`: 14230
+- `Novice_Box`: 14231
- `Yggdrasilberry_Box_`: 14232
- `Dead_Tree_Branch_Box1`: 14233
- `Dead_Tree_Branch_Box2`: 14234
- `Field_Manual_Box_2`: 14235
-- `Steamed_Tongue_Box_20`: 14236
-- `Steamed_Desert_Scorpions_Box_20`: 14237
-- `Stew_Of_Immortality_Box_20`: 14238
-- `Dragon_Breath_Cocktail_Box_20`: 14239
-- `Hwergelmir's_Tonic_Box_20`: 14240
-- `Nine_Tail_Dish_Box_20`: 14241
+- `Str_Dish_Box60`: 14236
+- `Agi_Dish_Box60`: 14237
+- `Int_Dish_Box60`: 14238
+- `Dex_Dish_Box60`: 14239
+- `Luk_Dish_Box60`: 14240
+- `Vit_Dish_Box60`: 14241
- `Beholder_Ring_Box`: 14242
- `Hallow_Ring_Box`: 14243
- `Clamorous_Ring_Box`: 14244
@@ -14335,38 +14404,38 @@
- `Kid_Magic_Powder_Box4`: 14271
- `Magic_Magic_Powder_Box4`: 14272
- `JJangu_Magic_Powder_Box4`: 14273
-- `Amplification_10_Scroll_Box2`: 14274
-- `Amplification_30_Scroll_Box2`: 14275
-- `Amplification_50_Scroll_Box2`: 14276
-- `Quagmire_10_Scroll_Box2`: 14277
-- `Quagmire_30_Scroll_Box2`: 14278
-- `Quagmire_50_Scroll_Box2`: 14279
+- `F_Magic_Scroll_Box`: 14274
+- `F_Magic_Scroll_Box30`: 14275
+- `F_Magic_Scroll_Box50`: 14276
+- `F_Quagmire_Scroll_Box`: 14277
+- `F_Quagmire_Scroll_Box30`: 14278
+- `F_Quagmire_Scroll_Box50`: 14279
- `Healing_Staff_Box2`: 14280
- `Praccsinos_Box`: 14281
- `Emperium_Box`: 14282
- `Marriage_Covenant_Box`: 14283
-- `Muffler_Box`: 14284
-- `Balkiriah_Shield_Box`: 14285
-- `Skull_Ring_Box`: 14286
-- `Baricade_Repair_Kit`: 14287
-- `Guardian_Stone_Repair_Kit`: 14288
+- `Muffler_C_Box`: 14284
+- `Valkyrjas_Shield_C_Box`: 14285
+- `Skul_Ring_C_Box`: 14286
+- `S_Barricade_Repair_Kit`: 14287
+- `S_Gstone_Repair_Kit`: 14288
- `Cloth_Dye_Coupon_Box`: 14289
- `Cloth_Dye_Coupon2_Box`: 14290
- `Cloth_Dye_Coupon3_Box`: 14291
- `Cloth_Dye_Coupon4_Box`: 14292
- `Mercenary_Contract_Box`: 14293
-- `Mercenary_Contract_Box5`: 14294
-- `Mercenary_Contract_Box10`: 14295
+- `Mercenary_Contract_5Box`: 14294
+- `Mercenary_Contract_10Bo`: 14295
- `Angel_Scroll`: 14296
- `Devil_Scroll`: 14297
- `Surprise_Scroll`: 14298
- `Mask_Of_Ifrit_Box`: 14300
-- `Ifrit's_Ear_Box`: 14301
+- `Ifrits_Ear_Box`: 14301
- `Scuba_Mask_Box`: 14304
- `RWC_Special_Scroll`: 14306
- `RWC_Limited_Scroll`: 14307
- `Ardor_Scroll`: 14308
-- `PhreeoniS_Box`: 14314
+- `Phreeoni_Scroll_Box`: 14314
- `GhostringS_Box`: 14315
- `July7_Scroll`: 14316
- `Bacsojin_Scroll`: 14317
@@ -14375,8 +14444,8 @@
- `Animal_Scroll`: 14345
- `Mental_Potion20_Box`: 14349
- `Mental_Potion50_Box`: 14350
-- `Tyr's_Blessing20_Box`: 14351
-- `Tyr's_Blessing50_Box`: 14352
+- `Tyrs_Blessing20_Box`: 14351
+- `Tyrs_Blessing50_Box`: 14352
- `TaogunkaS_Box`: 14359
- `MistressS_Box`: 14360
- `Orc_HeroS_Box`: 14361
@@ -14396,15 +14465,15 @@
- `Almighty_Charm_Box`: 14393
- `Xmas_Scroll`: 14407
- `New_Year_Scroll`: 14408
-- `Honglyun's_Sword_Box`: 14438
+- `Honglyuns_Sword_Box`: 14438
- `Power_Of_Thor_Box`: 14439
- `Dice_Hat_Box`: 14440
- `King_Tiger_Doll_Hat_Box`: 14441
- `Wondering_Wolf_Helm_Box`: 14442
- `Pizza_Hat_Box`: 14443
- `Icecream_Hat_Box`: 14444
-- `Pirate's_Pride_Box`: 14447
-- `Necromencer's_Hood_Box`: 14448
+- `Pirates_Pride_Box`: 14447
+- `Necromencers_Hood_Box`: 14448
- `Rabbit_Magic_Hat_Box`: 14459
- `China_Wedding_Veil_Box`: 14460
- `Asara_Fairy_Hat_Box`: 14461
@@ -14509,7 +14578,7 @@
- `GhostringS`: 14598
- `Greed_Scroll_C`: 14599
- `Mental_Potion`: 14600
-- `Tyr's_Blessing`: 14601
+- `Tyrs_Blessing`: 14601
- `TaogunkaS`: 14602
- `MistressS`: 14603
- `Orc_HeroS`: 14604
@@ -14531,7 +14600,7 @@
- `Cup_Of_Boza`: 14674
- `Cup_Of_Mintlemon`: 14680
- `Bone_Plate`: 15000
-- `Odin's_Blessing_I`: 15001
+- `Odins_Blessing_I`: 15001
- `Rune_Plate`: 15002
- `Freyja_SRobe7`: 15003
- `Freyja_SRobe30`: 15004
@@ -14579,7 +14648,7 @@
- `Siege_Plate`: 15046
- `Siege_Suits`: 15047
- `Siege_Robe`: 15048
-- `Invincible_God_Clothes`: 15049
+- `Armor_Of_Faith`: 15049
- `Armor_Of_Sanctity`: 15050
- `Bakonawa_Armor`: 15051
- `Bayani_Bakonawa_Armor`: 15052
@@ -14597,17 +14666,22 @@
- `TE_Woe_Mage_Coat`: 15064
- `Engraved_Armor`: 15066
- `Rune_Suit`: 15067
-- `Adv_Angel's_Protection`: 15068
-- `Anti-Magic_Suit`: 15073
-- `Geffen_Magic_Robe`: 15074
-- `Menswear`: 15089
-- `Gray_Armor`: 15090
+- `Im_Angels_Protection`: 15068
+- `Anti_Magic_Suit`: 15073
+- `Geffen_Mage_Robe`: 15074
+- `Lounge_Suit`: 15089
+- `Armor_Of_Gray`: 15090
- `Gray_Robe`: 15091
-- `Armor_Of_Airship`: 15116
-- `Tarlock's_Armor`: 15117
+- `Airship_Armor`: 15116
+- `Felock_Armor`: 15117
- `Whikebain_Suit`: 15123
-- `Excellion_Suit`: 15128
-- `Egir_Armor_K`: 15138
+- `Female_Poring_Balloon`: 15126
+- `Female_Poring_Egg`: 15128
+- `Blue_Bellflower_Hat`: 15129
+- `Aegir_Armor`: 15138
+- `White_Shirt`: 15150
+- `White_Eco_Shirt`: 15151
+- `Elegant_Doram_Suit`: 15156
- `Erde`: 16000
- `Red_Square_Bag`: 16001
- `Stunner_C`: 16002
@@ -14635,18 +14709,18 @@
- `Quadrille_`: 16024
- `TE_Woe_Mace`: 16025
- `RWC_Memory_Mace`: 16026
-- `Evil_Slayer_Destroyer_Hammer`: 16027
-- `Thanatos_Hammer`: 16028
-- `Pilebunker_S`: 16030
-- `Pilebunker_P`: 16031
-- `Pilebunker_T`: 16032
+- `Hammer_Of_Evil_Slayer`: 16027
+- `Thanos_Hammer`: 16028
+- `Pilebuncker_S`: 16030
+- `Pilebuncker_P`: 16031
+- `Pilebuncker_T`: 16032
- `Spoon`: 16039
-- `Crimson_Mace`: 16040
+- `Scarlet_Mace`: 16040
- `Mace_of_Vicious_Mind`: 16041
- `Lady_Tanee_Doll_Box`: 16131
- `Lunatic_Hat_Box`: 16132
- `King_Frog_Hat_Box`: 16134
-- `Evil's_Bone_Hat_Box`: 16135
+- `Evils_Bone_Hat_Box`: 16135
- `Raven_Cap_Box`: 16185
- `B_Dragon_Hat_Box`: 16186
- `Quati_Hat_Box`: 16192
@@ -14680,7 +14754,7 @@
- `HD_Carnium_Box10`: 16261
- `Cancer_Diadem_Box`: 16269
- `Cancer_Crown_Box`: 16270
-- `Evil_Incarnation`: 16304
+- `Evil_Incarnation_Disable`: 16304
- `Upg_Guard_Box`: 16305
- `F_Upg_Guard_Box`: 16306
- `Upg_Buckler_Box`: 16307
@@ -14696,12 +14770,12 @@
- `F_Leo_Diadem_Box`: 16346
- `Desert_Prince_Box`: 16360
- `FDesert_Prince_Box`: 16361
-- `Sigrun's_Wing_Box`: 16362
-- `FSigrun's_Wing_Box`: 16363
+- `Sigruns_Wing_Box`: 16362
+- `FSigruns_Wing_Box`: 16363
- `Virgo_Crown_Box`: 16368
- `Tw_Aug_Scroll`: 16371
- `F_Clover_Box_Mouth`: 16372
-- `BGum_Box_In_Mouth`: 16374
+- `Mouth_Bubble_Gum_Box`: 16374
- `WoE_Teleport_Scroll_100_Box`: 16381
- `F_Clover_Box_Mouth2`: 16385
- `F_Clover_Box_Mouth4`: 16386
@@ -14751,7 +14825,7 @@
- `Sagittarius_Crown_Box`: 16548
- `Sagittarius_Diadem_Box`: 16549
- `Pr_Reset_Stone_Box`: 16555
-- `FPr_Reset_Stone_Box`: 16556
+- `FPremium_Reset_Stone_Box`: 16556
- `CP_Helm_Scroll10`: 16557
- `CP_Shield_Scroll10`: 16558
- `CP_Armor_Scroll10`: 16559
@@ -14762,7 +14836,7 @@
- `Capricorn_Crown_Box`: 16565
- `Capricorn_Diadem_Box`: 16567
- `FCapricorn_Diadem_Box`: 16568
-- `Summber_Scroll`: 16569
+- `Summer_Scroll`: 16569
- `Illusion_Nothing`: 16576
- `Dragon_Captain`: 16577
- `Red_Bunny_Band_Box`: 16582
@@ -14775,9 +14849,9 @@
- `F_Blue_Arara_Hat_Box`: 16602
- `Yellow_Bunnyband_Box`: 16619
- `Aributa_Scroll`: 16631
-- `Life_Ribbon_Box`: 16638
-- `Life_Ribbon_Box2`: 16639
-- `Life_Ribbon_Box3`: 16640
+- `Ribbon_Of_Life_Box`: 16638
+- `Ribbon_Of_Life_Box2`: 16639
+- `Ribbon_Of_Life_Box3`: 16640
- `Flame_Light`: 16652
- `BM75_10Box`: 16653
- `Valiant_Will`: 16654
@@ -14870,18 +14944,18 @@
- `Lovely_Aquarius_Box`: 17025
- `Boitata_Scroll`: 17026
- `Pisces_Diadem_Scroll`: 17028
-- `Pisces_Diadem_Box`: 17029
+- `Pisces_Diadem_Box2`: 17029
- `St_Pat_Hat_box`: 17030
- `Energetic_Pisces_Scroll`: 17035
- `Energetic_Pisces_Box`: 17036
-- `Transbox_Devi`: 17037
-- `Transbox_Ray`: 17038
-- `Transbox_Mavka`: 17039
-- `Transbox_Marduk`: 17040
-- `Transbox_Banshee`: 17041
-- `Transbox_Poring`: 17042
-- `Transbox_Golem`: 17043
-- `Aries_Scroll`: 17050
+- `Trans_Box_Devi`: 17037
+- `Trans_Box_Ray_Arch`: 17038
+- `Trans_Box_Mavka`: 17039
+- `Trans_Box_Marduk`: 17040
+- `Trans_Box_Banshee`: 17041
+- `Trans_Box_Poring`: 17042
+- `Trans_Box_Golem`: 17043
+- `Aries_Scroll_`: 17050
- `Aries_Scroll_Box`: 17051
- `Holy_Mom_Blaze_Box`: 17052
- `Wiz_Card_Album`: 17056
@@ -14931,7 +15005,7 @@
- `Capri_Scroll`: 17109
- `Aquarius_Scroll`: 17110
- `Pisces_Scroll`: 17113
-- `Horn_Of_Ancient_Box`: 17114
+- `Horn_Of_The_Ancient_Box`: 17114
- `Sprout_Hat_Box`: 17115
- `Mercury_Helm_Box`: 17116
- `ASPD_Potion_Box10`: 17118
@@ -14946,7 +15020,7 @@
- `RWC_Scroll`: 17134
- `Ms_Cancer_Scroll`: 17138
- `RWC_Super_Scroll`: 17139
-- `Leo_Scroll`: 17140
+- `Leo_Scroll3`: 17140
- `Ms_Virgo_Scroll`: 17141
- `Ms_Scorpio_Scroll`: 17143
- `Dep_Alice_Hat_Box`: 17146
@@ -14981,8 +15055,8 @@
- `Horned_Scroll`: 17239
- `Mercury_Scroll`: 17240
- `Idn_Independ_Scroll`: 17245
-- `HD_Elunium_Box(30)`: 17246
-- `HD_Oridecon_Box(30)`: 17247
+- `HD_Elu_Box30`: 17246
+- `HD_Ori_Box30`: 17247
- `C_Wing_Of_Fly_3Day_Box`: 17251
- `RWC_2012_Set_Box`: 17252
- `RWC_2012_Ring_Box`: 17253
@@ -15020,15 +15094,15 @@
- `Metal_Bow`: 18116
- `Royal_Bow`: 18117
- `TE_Woe_Bow`: 18118
-- `Thanatos_Bow`: 18119
-- `Evil_Slayer_Piercer_Bow`: 18120
+- `Thanos_Bow`: 18119
+- `Bow_Of_Evil_Slayer`: 18120
- `Bow_of_Vicious_Mind`: 18121
-- `Giant_Bow`: 18122
-- `Bow_of_Storms`: 18123
+- `Gigantic_Bow`: 18122
+- `Bow_Of_Storm`: 18123
- `Half_BF_Bow1`: 18124
-- `Blue_Bow`: 18126
+- `Ru_Blue_Bow`: 18126
- `Infinity_Bow`: 18128
-- `Crimson_Bow`: 18130
+- `Scarlet_Bow`: 18130
- `Cheer_Scarf6`: 18500
- `Cheer_Scarf8`: 18501
- `Cheer_Scarf10`: 18502
@@ -15044,11 +15118,11 @@
- `Juho_Necktie`: 18512
- `Shining_Sunflower`: 18513
- `Para_Team_Hat2`: 18514
-- `RTC_1st_Helm`: 18515
-- `RTC_2nd_Helm`: 18516
-- `RTC_3rd_Helm`: 18517
-- `Ear_Of_Angel's_Wing_`: 18518
-- `Ear_Of_Devil's_Wing_`: 18519
+- `RTC_Winner_Headgear`: 18515
+- `RTC_2nd_Headgear`: 18516
+- `RTC_3rd_Headgear`: 18517
+- `Ear_Of_Angels_Wing_`: 18518
+- `Ear_Of_Devils_Wing_`: 18519
- `Jaty_C`: 18520
- `Lucky_Clover`: 18521
- `Evil_Marcher_Hat`: 18522
@@ -15067,10 +15141,10 @@
- `Pumpkin_Hat_2010`: 18535
- `Foxtail`: 18536
- `Malangdo_Hat`: 18537
-- `Devil_Whisper`: 18538
+- `Evil_Whisper`: 18538
- `Skull_Cap`: 18539
- `Evil_Mask`: 18540
-- `Little_Feather_Hat`: 18541
+- `Little_Fhat`: 18541
- `All_Love_Guard`: 18542
- `Witchs_Hat`: 18543
- `Blrabbit_Hband`: 18544
@@ -15078,15 +15152,15 @@
- `Lover_In_Mouth`: 18546
- `Campus_Festival`: 18547
- `Tiny_Hat`: 18548
-- `Nabi_Hair_Pin`: 18549
+- `Butterfly_Hairpin`: 18549
- `Asgard_Blessing`: 18550
- `Galaxy_Circlet`: 18551
- `Proba_Angel_Blessing`: 18552
- `Mini_Tree`: 18553
- `King_Prawn_Hat`: 18554
- `General_Helmet`: 18555
-- `Angel_Team_Helm`: 18556
-- `Devil_Team_Helm`: 18557
+- `Angel_Helmet`: 18556
+- `Devil_Helmet`: 18557
- `Sinsuncho_Hat`: 18558
- `Fafnir_Skin`: 18559
- `Fafnir_Mask`: 18560
@@ -15161,10 +15235,10 @@
- `B_Desert_Wolf_Hat`: 18629
- `Dep_Alice_Hat`: 18630
- `Ribbon_Chef_Hat`: 18631
-- `Yellow_Poring_Pin`: 18632
-- `Pink_Poring_Pin`: 18633
-- `Green_Poring_Pin`: 18634
-- `Blue_Poring_Pin`: 18635
+- `Yellow_Poring_Hairpin`: 18632
+- `Pink_Poring_Hairpin`: 18633
+- `Green_Poring_Hairpin`: 18634
+- `Blue_Poring_Hairpin`: 18635
- `Bridal_Ribbon`: 18636
- `Ancient_Admiral_Helm`: 18637
- `Citron_Hat`: 18638
@@ -15181,10 +15255,10 @@
- `Lude_Mask`: 18649
- `RWC_Shouting_Mouth`: 18650
- `Ignis_Cap`: 18651
-- `Vanargandr_Helm`: 18652
-- `Deviruchi_Headphone`: 18653
+- `Vanargand_Helm`: 18652
+- `Devi_Headphone`: 18653
- `SS_Bandana`: 18654
-- `Goedo_Monocle`: 18655
+- `Lupin_One_Eyed_Glasses`: 18655
- `Wit_Pumpkin_Hat`: 18656
- `Pegasus_Wing_Ears`: 18657
- `Holy_Santa_Beard`: 18658
@@ -15258,16 +15332,16 @@
- `Sedora_Hat`: 18727
- `Egir_Helm`: 18728
- `MVP_Basketball`: 18729
-- `Criatura_Academy_Hat`: 18730
-- `Valkyrie_Headgear`: 18731
-- `TE_WoE_Cap`: 18732
-- `TE_WoE_Bone_Helm`: 18733
-- `TE_WoE_Magic_Eyes`: 18734
+- `Cryptura_Academy_Hat`: 18730
+- `Valkyrie_Outing_Helm`: 18731
+- `TE_Woe_Cap`: 18732
+- `TE_Woe_Bone_Helm`: 18733
+- `TE_Woe_Magic_Eyes`: 18734
- `Censor_Bar_`: 18736
- `Fortier_Mask`: 18737
- `Carnation_Hairband`: 18739
-- `Hair_Of_The_Strong`: 18740
-- `C_WillOWisp_Accessory`: 18741
+- `C_Hair_Of_The_Strong`: 18740
+- `C_Will_O_Wisp`: 18741
- `C_MoonStar_Accessory`: 18742
- `C_Spirit_Of_Chung_E`: 18743
- `C_World_Star`: 18744
@@ -15304,13 +15378,13 @@
- `Improved_Kiss_Of_Angel`: 18776
- `Aladdin_Lamp`: 18777
- `Pink_Bunny_Hair_Band`: 18778
-- `RWC_Crown_Of_Victory(1st)`: 18779
-- `RWC_Crown_Of_Victory(2nd)`: 18780
-- `RWC_Crown_Of_Victory(3rd)`: 18781
+- `RWC_Champ_Crown_Red`: 18779
+- `RWC_Champ_Crown_Blue`: 18780
+- `RWC_Champ_Crown_Black`: 18781
- `Butterfly_Wing_Ear_J`: 18782
- `Rose_Corolla`: 18783
- `Elder_Devil_Horns_`: 18784
-- `King_Poring_Hat_`: 18785
+- `King_Poring_Hat`: 18785
- `Anemos_Mask`: 18786
- `Goaltender_Mask`: 18787
- `Starlight_Scope`: 18788
@@ -15319,9 +15393,9 @@
- `Shrine_Maiden_Hat`: 18791
- `Indonesian_Id_Sakkat`: 18792
- `Sorc_Night_Cap`: 18793
-- `Plain_Black_Mage_Hat`: 18794
+- `Ordinary_Black_Mage_Hat`: 18794
- `Night_Sparrow_Hat`: 18795
-- `RWC_Crown_Of_Victory(8th)`: 18796
+- `RWC_Champ_Crown_QF`: 18796
- `Deep_Angel_Hairband`: 18797
- `Pink_Angel_Hairband`: 18798
- `Mask_of_Nero`: 18799
@@ -15350,7 +15424,7 @@
- `Imperial_Feather`: 18823
- `Mask_Of_Bankrupt`: 18824
- `Bankruptcy_Of_Heart_`: 18825
-- `Chun_Tree_Hat`: 18826
+- `Woodie_Hat`: 18826
- `Valkyrie_Circlet`: 18827
- `2012RMSCNO1`: 18828
- `2012RMSCNO2`: 18829
@@ -15359,11 +15433,11 @@
- `Rolf_Von_Gigue_666`: 18832
- `Marin_Crown`: 18833
- `Sakura_Hairband`: 18834
-- `RO10th_Anni_Cap`: 18835
-- `Lmt_RO10th_Anni_Cap`: 18836
+- `TW_10th_Anni_Hat`: 18835
+- `TW_10th_Anni_Lmtd_Hat`: 18836
- `Cheering_Whistle`: 18837
-- `Poring_Sunglasses`: 18839
-- `King_Poring_Hat`: 18840
+- `Poring_Sunglasses_`: 18839
+- `King_Poring_Hat_`: 18840
- `Small_Poring_Band`: 18841
- `Hat_Of_Girl`: 18842
- `Small_Deviling_Hat`: 18843
@@ -15371,13 +15445,13 @@
- `Banshee_Master_Kiss`: 18845
- `Seagod_Protector`: 18846
- `Jolly_Roger`: 18847
-- `Fresh_Roses`: 18848
-- `Celine_Ribbon`: 18849
+- `Lush_Rose`: 18848
+- `Celines_Ribbon`: 18849
- `Polar_Bear_Cap`: 18850
-- `Valentine_Heart`: 18851
-- `Tasty_Strawberry_Hat`: 18852
-- `Tasty_Strawberry_Hat_`: 18853
-- `Yellow_Valentine_Heart`: 18854
+- `ValentineHeart`: 18851
+- `Berry_Hat_Decoration`: 18852
+- `Berry_Hat_Decoration_`: 18853
+- `ValentineYellowHeart`: 18854
- `Aviator_Hat`: 18855
- `Pink_Angeling_Bubble`: 18858
- `Angeling_Bubble`: 18859
@@ -15386,7 +15460,7 @@
- `Very_Sweet_Candy`: 18871
- `Snake_Hat`: 18872
- `Sweet_Valentine_Out`: 18873
-- `Cyclops_Glasses`: 18874
+- `One_Eyed_Glass_`: 18874
- `Angry_Scorpion_Hat`: 18879
- `Advanced_Jao_King_Hat`: 18880
- `Jejecap`: 18885
@@ -15405,27 +15479,27 @@
- `Yggdrasil_Herald_Crown`: 18898
- `Weisswurst`: 18900
- `Seppl_Hat`: 18901
-- `Piamette's_Red_Ears`: 18908
-- `Piamette's_Brown_Ears`: 18909
-- `Piamette's_Blue_Ears`: 18910
+- `Isabella_Red_Ear`: 18908
+- `Isabella_Brown_Ear`: 18909
+- `Isabella_Blue_Ear`: 18910
- `Red_Flower_Hat`: 18911
- `Bell_Pigeon`: 18912
- `Gossip_Raven`: 18913
-- `Baby_Deviling`: 18914
-- `Blood_Butterfly_Ears`: 18915
+- `Kid_Deviling`: 18914
+- `Blood_Buffterfly`: 18915
- `Bear_Balloon`: 18916
- `LoveLove_Balloon`: 18917
-- `Cute_Octopus_Balloon`: 18918
-- `C_Tarnished_Lamp`: 18921
+- `Long_Octopus_Balloon`: 18918
+- `C_Lamp_Of_Alladin`: 18921
- `Elephant_Model_Hat`: 18929
-- `Fox_Ears_Drop_Ribbon`: 18934
-- `Memories_of_Lover`: 18937
+- `Fox_Ears_Bell_Ribbon`: 18934
+- `Memories_Of_Lovers`: 18937
- `Astro_Circle`: 18938
-- `Knit_Cap_of_Water`: 18942
-- `Silk_Hat_of_Earth`: 18943
-- `Deviruchi_Ballon`: 18944
-- `Super_Cute_Doll_Hat`: 18945
-- `Very_Cute_Doll_Hat`: 18946
+- `Knit_Cap_Of_Water`: 18942
+- `Silk_Hat_Of_Earth`: 18943
+- `Deviruchi_Balloon`: 18944
+- `Tare_Maid_Doll_Hat`: 18945
+- `Tare_HSchool_Doll_Hat`: 18946
- `Boss_Beret`: 18969
- `Riot_Chip`: 18997
- `Gravekeeper_Blinker`: 19014
@@ -15433,19 +15507,19 @@
- `Elemental_Crown`: 19019
- `Survive_Circlet`: 19020
- `Gigant_Helm`: 19021
-- `C_Floating_Stone_Of_Intelligence`: 19022
+- `Floating_Stone_Of_Int`: 19022
- `Queen_Scaraba_Crown`: 19023
- `Protect_Feathers`: 19024
- `Puppy_Ears_Hat_`: 19025
-- `Egir_Helm_K`: 19026
+- `Aegir_Helm`: 19026
- `Type_10_Glasses`: 19027
- `Devils_Minion`: 19028
- `Alice_Friesinger_Hat_69`: 19029
- `Fallen_Angel_Blessing`: 19031
- `Black_Fairy_Ears`: 19041
- `Maneater_Flower_Hat_`: 19042
-- `Goibne's_Helmet_`: 19043
-- `Morrigane's_Helm_`: 19044
+- `Goibnes_Helmet_`: 19043
+- `Morriganes_Helm_`: 19044
- `Blue_Ears_Accessory`: 19045
- `Poisonous_Man`: 19046
- `Angeling_Furhat`: 19047
@@ -15453,7 +15527,7 @@
- `Fighter_Moon_Cat_Hat`: 19053
- `Nettie_Heart_Bubblegum`: 19080
- `Faceworm_Egg_Shell`: 19081
-- `Sigrun's_Wing_`: 19085
+- `Sigruns_Wing_`: 19085
- `Robo_Eye_`: 19086
- `Angel_Spirit_`: 19087
- `T_Mr_Smile`: 19500
@@ -15463,7 +15537,7 @@
- `T_Sunglasses`: 19504
- `T_Cigarette`: 19505
- `T_Valkyrie_Feather_Band`: 19506
-- `Clear_Sun`: 19507
+- `Fine_Sun`: 19507
- `T_Gemmed_Sallet`: 19508
- `Butterfly_Wing_Ear`: 19509
- `Nut_On_Head`: 19510
@@ -15499,9 +15573,9 @@
- `C_Rabbit_Earplug`: 19540
- `C_Romantic_White_Flower`: 19541
- `C_Devil_Whisper`: 19542
-- `C_Oliver_Wolf_Hood`: 19543
+- `Oliver_Wolf_Hood`: 19543
- `C_Tare_Neko_Cru`: 19544
-- `C_Boy's_Cap`: 19545
+- `C_Boys_Cap`: 19545
- `C_Valkyrie_Helm`: 19546
- `C_Deviruchi_Cap`: 19547
- `C_Frog_Cap`: 19548
@@ -15515,112 +15589,112 @@
- `C_Kabuki_Mask`: 19556
- `C_Ayothaya_Hat`: 19557
- `C_Raven_Cap`: 19558
-- `C_Baby Dragon Hat`: 19559
-- `C_Kwati_Hat`: 19560
+- `C_B_Dragon_Hat`: 19559
+- `C_Quati_Hat`: 19560
- `C_Tucan_Hat`: 19561
- `C_Jaguar_Mask`: 19562
- `C_Dragon_Arhat_Mask`: 19563
- `C_Tiger_Arhat_Mask`: 19564
-- `C_Dynasty_Decoration`: 19565
+- `C_Chung_Hairband`: 19565
- `C_Samurai_Mask`: 19566
- `C_Hatah_Black`: 19567
-- `C_Ancient_Horn`: 19568
+- `C_Horn_Of_The_Ancient`: 19568
- `C_Sprout_Hat`: 19569
- `C_Mercury_Helm`: 19570
- `C_White_Musang_Hat`: 19571
- `C_Black_Musang_Hat`: 19572
- `C_Heart_Wing_Hairband`: 19573
- `C_Lord_of_Death`: 19574
-- `C_Ascension_Black_Dragon`: 19575
+- `C_Rising_Black_Dragon`: 19575
- `C_Tare_Pope`: 19576
-- `C_10th_Poring_Hat`: 19577
-- `C_Red_Wind_Hat`: 19579
+- `10th_Anni_Poring_Hat`: 19577
+- `C_Red_Wing_Hat`: 19579
- `C_Sphinx_Helm`: 19580
-- `C_Adventurer's_Hat`: 19581
+- `C_Adventurers_Hat`: 19581
- `C_Cowboy_Hat`: 19582
-- `C_Zorro_Mask`: 19583
+- `C_Gangster_Patch`: 19583
- `C_Dagger_In_Mouth`: 19584
- `C_Feather_Beret`: 19585
-- `C_Pink_Bunny_Hair_Band`: 19586
+- `C_Pink_Bunny_Band_J`: 19586
- `C_King_Poring_Hat`: 19587
- `C_Fallen_Angel_Lost_J`: 19589
-- `C_Flapping_Angel_Wing`: 19596
+- `C_Flying_Angel`: 19596
- `C_Magic_Eyes`: 19597
-- `C_Wandering_Wolf_Hat`: 19598
+- `C_Wondering_Wolf_Helm`: 19598
- `C_Imp_Hat`: 19599
-- `C_Drooping_Kiehl`: 19600
-- `C_Drooping_Aliot`: 19601
+- `Drooping_Kiehl`: 19600
+- `Drooping_Aliot`: 19601
- `C_Invisible_Cap`: 19602
- `C_Invisible_Sunglasses`: 19603
- `C_Invisible_Mask`: 19604
- `C_Gang_Scarf`: 19605
- `C_Ninja_Scroll`: 19606
-- `C_Chicken_Love_Hat`: 19607
+- `C_Love_Chick_Hat`: 19607
- `C_Chick_Hat`: 19608
- `C_Red_Glasses`: 19609
- `C_Whisper_Mask`: 19610
-- `C_Peco_Ears`: 19611
-- `C_Note_Headphone`: 19612
+- `C_Pecopeco_Wing_Ears`: 19611
+- `C_Headset_OST`: 19612
- `C_Valkyrie_Feather_Band`: 19613
- `C_Super_Novice_Hat`: 19614
- `C_Loki_Mask`: 19615
-- `C_Wickebine's_Black_Cat_Ears`: 19616
+- `C_Wickebines_Black_Cat_Ears`: 19616
- `C_Puppy_Headband`: 19617
- `C_Corsair`: 19619
- `C_Detective_Hat`: 19620
-- `C_Evil_Wing_Ears`: 19621
+- `C_Ear_Of_Devils_Wing`: 19621
- `C_Crescent_Hairpin`: 19622
- `C_Bijofnil_Wings`: 19623
-- `C_Blank_Eyes`: 19624
-- `C_Refined_Bunny_Band`: 19625
+- `C_Round_Eyes`: 19624
+- `C_Bunny_Band`: 19625
- `C_Satellite_Hairband`: 19627
- `C_Headset`: 19628
- `C_Tiara`: 19629
- `C_Crown`: 19630
- `C_Poring_Fedora_Hat`: 19631
- `C_Hat`: 19632
-- `C_Flower_Band`: 19633
+- `C_Flower_Hairband`: 19633
- `C_Flu_Mask`: 19634
- `C_Mini_Propeller`: 19635
-- `C_Clown_Nose`: 19636
+- `C_Pierrot_Nose`: 19636
- `C_Nurse_Cap`: 19637
- `C_Mr_Smile`: 19638
-- `C_Sakkat`: 19639
+- `C_Sahkkat`: 19639
- `C_Charming_Ribbon`: 19640
- `C_Helm_of_Darkness`: 19641
- `C_Moonlight_Flower_Hat`: 19642
-- `C_Wickebine_Ears`: 19643
+- `C_Whikebain_Ears`: 19643
- `C_Takius_Blindfold`: 19644
-- `C_Phoenix Crown`: 19645
+- `C_Chinese_Crown_`: 19645
- `C_Ramen_Hat`: 19646
-- `C_Red_Deviruchi_Hat`: 19647
-- `C_Autumn_Leaves`: 19648
-- `C_White_Kitten_Ears`: 19649
+- `C_Red_Deviruchi_Cap`: 19647
+- `C_Fallen_Leaves`: 19648
+- `C_White_Baby_Cat_Ears`: 19649
- `C_Rainbow_Feather_Deco`: 19650
- `C_RWC_Shouting_Mouth`: 19651
- `C_Rabbit_Magic_Hat`: 19652
- `C_Marcher_Hat`: 19653
-- `C_Master's_Hat`: 19654
+- `C_J_Captain_Hat`: 19654
- `C_Tiraya_Bonnet`: 19655
- `C_Minstrel_Hat`: 19656
- `C_Captain_Hat`: 19657
- `C_Vacation_Hat`: 19658
-- `C_Brown Beanie`: 19659
+- `C_Gray_Fur_Hat`: 19659
- `C_Coppola`: 19660
- `C_Sweet_Bonnet`: 19661
- `C_Magician_Hat`: 19662
-- `C_Wish_Lamp`: 19663
+- `Wishing_Sky_Lantern`: 19663
- `C_Campus_Festival`: 19664
- `C_Poring_Cake_Hat`: 19665
- `C_Cookie_Hat`: 19666
- `C_Dragon_Helm`: 19667
- `C_Wind_Milestone`: 19668
-- `C_Reginrev's_Wings`: 19669
+- `C_Reginleif_Hairband_`: 19669
- `C_Southern_Cross`: 19670
- `C_Piggie_Bank`: 19671
- `C_Poring_Letter`: 19672
- `C_Benevolent_Guardian`: 19673
-- `C_Demon_Mask`: 19674
+- `C_Evil_Mask`: 19674
- `C_Jumping_Poring`: 19675
- `C_Rainbow_Poring_Hat`: 19676
- `C_Soulless_Wing`: 19677
@@ -15631,11 +15705,11 @@
- `C_Santa_Poring_Hat`: 19682
- `C_Sweet_Candy`: 19683
- `C_Happy_Wig`: 19684
-- `C_Shine_Stanta_Poring`: 19685
-- `C_Santa_Doll_Headband`: 19686
-- `C_Fresh_Roses`: 19687
-- `C_Katusa`: 19688
-- `C_Ati_Atihan`: 19689
+- `C_ShineSantaPoring`: 19685
+- `C_SantaHairband`: 19686
+- `C_Lush_Rose`: 19687
+- `C_RJC_Katusa`: 19688
+- `C_Ati_Atihan_Hat`: 19689
- `C_Dark_Snake_Lord_Hat_J`: 19690
- `C_Blue_Ribbon`: 19691
- `C_Antique_Pipe_J`: 19692
@@ -15647,47 +15721,47 @@
- `C_Bf_Recruiter_Hat`: 19698
- `C_Gf_Recruiter_Hat`: 19699
- `C_RWC_Champ_Crown_2nd`: 19700
-- `Costumes_Red_Bonnet`: 19701
-- `C_Twin_Pompom_By_JB`: 19702
+- `C_Red_Bonnet`: 19701
+- `C_Santa_Hat_1`: 19702
- `C_Red_Dress_Hat`: 19706
- `C_Polar_Bear_Cap`: 19707
- `C_Withe_Snake_Hat`: 19708
- `C_Yellow_Ribbon`: 19709
-- `C_Wings_of_Victory`: 19710
+- `C_Wings_Of_Victory`: 19710
- `C_Little_Angel_Doll`: 19712
- `C_Lucky_Clover`: 19713
- `C_Lady_Tanee_Doll`: 19714
- `C_Scarf`: 19715
- `C_Alice_Doll`: 19716
-- `C_Pink_Ribbon`: 19717
+- `C_Ribbon_Pink`: 19717
- `C_Gothic_Head_Dress`: 19718
- `C_Coronet`: 19719
- `C_Romantic_Gent`: 19720
- `C_Darkness_Helm`: 19721
- `C_Black_Glasses`: 19722
- `C_Sacred_Torch_Coronet`: 19723
-- `C_Deprotai_Doll`: 19724
+- `C_Deprotai_Doll_Hat`: 19724
- `C_Bread_Bag2`: 19725
- `C_Scarlet_Rose`: 19726
- `C_Deviling_Hat`: 19727
- `C_Tare_Zonda`: 19728
- `C_Neko_Mimi_Kafra`: 19729
- `C_Snake_Hat`: 19730
-- `C_Evolved_Evil_Wing`: 19731
-- `C_Goblin_Leader_Mask`: 19732
+- `C_Satanic_Chain`: 19731
+- `C_Goblin_Mask_04`: 19732
- `C_Panda_Cap`: 19733
- `C_Binoculars`: 19734
- `C_Fin_Helm`: 19735
- `C_Gas_Mask`: 19736
- `C_Corsair_K`: 19737
-- `C_Renown_Detective's_Cap`: 19738
-- `C_Sleeping_Cat_Hat`: 19739
+- `C_Detective_Hat_K`: 19738
+- `C_Sleeping_Kitty_Cat`: 19739
- `C_Majestic_Devil_Horns`: 19741
- `C_Small_Golden_Wings`: 19742
- `C_Anubis_Helm_J`: 19743
- `C_Black_Tail_Ribbon`: 19744
-- `C_Holy Marching_Hat_J`: 19745
-- `C_Executioner_Hood`: 19746
+- `C_Holy_Marching_Hat_J`: 19745
+- `C_Cap_Of_Blindness`: 19746
- `C_Tha_Despero_Mask_J`: 19747
- `C_Diadem`: 19748
- `C_Gold_Spirit_Chain`: 19749
@@ -15716,33 +15790,33 @@
- `C_Honeybee_Hat`: 19772
- `C_Angeling_Hairpin`: 19773
- `C_Emperor_Wreath_J`: 19774
-- `C_Afro_Wig`: 19775
+- `C_Marvelous_Wig`: 19775
- `C_Tomboy_Fairy`: 19776
- `C_Twinkle_Little_Star`: 19777
-- `C_King_Strawberry`: 19778
-- `C_Persica`: 19779
-- `C_Knit_Rabbit_Ears`: 19780
-- `C_Angel_Wing_Ears`: 19781
-- `C_Drooping_Cat`: 19782
-- `C_Grampa_Beard`: 19783
-- `C_Morrigane's_Helm`: 19784
-- `C_Crunch_Toast`: 19785
-- `C_Crown_of_Mistress`: 19786
+- `C_King_Berry`: 19778
+- `C_Persika`: 19779
+- `C_Rabbit_Ear_Knit_Hat`: 19780
+- `C_Ear_Of_Angels_Wing_`: 19781
+- `C_Drooping_Kitty`: 19782
+- `C_Granpa_Beard`: 19783
+- `C_Morriganes_Helm`: 19784
+- `C_Well_Baked_Toast`: 19785
+- `C_Mistress_Crown`: 19786
- `C_Devoted_Eyes`: 19787
- `C_Heart_Eyepatch`: 19788
- `C_Sweet_Gents`: 19789
-- `C_Veil`: 19790
+- `C_Wedding_Veil`: 19790
- `C_Alarm_Mask`: 19791
-- `C_Poker_Mask`: 19792
-- `C_Surprised_Mask`: 19793
-- `C_Annoyed_Mask`: 19794
-- `C_Grand_Circlet`: 19795
+- `C_Goblin_Mask_01`: 19792
+- `C_Goblin_Mask_02`: 19793
+- `C_Goblin_Mask_03`: 19794
+- `C_Lord_Circlet`: 19795
- `C_Bone_Helm`: 19796
-- `C_Apple_of_Archer`: 19797
-- `C_Angry_Snarl`: 19798
+- `C_Apple_Of_Archer`: 19797
+- `C_Angry_Mouth`: 19798
- `C_Golden_Gear`: 19799
-- `C_Carnation_Headband`: 19800
-- `C_Fox_Hat`: 19801
+- `C_Carnation_Hairband`: 19800
+- `C_Fox_Hat_J`: 19801
- `C_Drooping_Nine_Tail`: 19802
- `C_Pinwheel_Cap`: 19803
- `C_Red_Vane_Hairpin`: 19804
@@ -15751,62 +15825,62 @@
- `C_Majestic_Helmet`: 19807
- `C_Blazing_Sun`: 19808
- `C_Purple_Cowboy_Hat`: 19809
-- `C_Ifrit's_Ear`: 19810
+- `C_Ifrits_Ear`: 19810
- `C_Beer_Cap`: 19811
- `C_Large_Hibiscus`: 19812
- `C_Icecream_Hat`: 19813
- `C_Shiny_Wig`: 19814
- `C_Lolita_Ten_Gallon_Hat`: 19815
- `C_Pecopeco_Cap`: 19816
-- `C_Ifrit's_Breath`: 19817
-- `C_Drooping_Morocc_Minion`: 19818
-- `C_Necromencer_Hood`: 19820
+- `C_Ifrits_Breath`: 19817
+- `C_Droop_Morocc_Minion`: 19818
+- `C_Bone_Hat`: 19820
- `C_Hyegun_Hat`: 19821
- `C_Yellow_Bandana`: 19822
- `C_White_Cat_Hood`: 19823
- `C_Evil_Druid_Hat`: 19824
- `C_Vicious_Stop_Bandage`: 19825
-- `C_Ice_Wings_Ears`: 19826
+- `C_Ice_Wing_Ear`: 19826
- `C_Amistr_Cap`: 19827
- `C_Fedora`: 19828
- `C_Straw_Hat`: 19829
- `C_Sunglasses`: 19830
- `C_Filir_Hat`: 19831
- `C_Poring_Hat`: 19832
-- `C_Cute_Ribbon`: 19833
+- `C_Fillet`: 19833
- `C_Baseball_Cap`: 19834
- `C_Lif_Doll_Hat`: 19835
-- `C_Large_Majestic_Horns`: 19836
+- `C_L_Magestic_Goat`: 19836
- `C_Asara_Fairy_Hat`: 19837
-- `C_Fox_Hatt`: 19838
+- `C_Fox_Hat`: 19838
- `C_Vanilmirth_Hat`: 19839
- `C_Dragonhelm_Copper`: 19841
- `C_Puppy_Hat`: 19842
-- `C_Kitty_Band`: 19843
+- `C_Cat_Hairband`: 19843
- `C_Turban`: 19844
-- `C_Bao_Bao`: 19845
-- `C_Opera_Phantom_Mask`: 19846
-- `C_Big_Ribbon`: 19847
+- `C_Hair_Protector`: 19845
+- `C_Opera_Ghost_Mask`: 19846
+- `C_Big_Sis_Ribbon`: 19847
- `C_Angeling_Hat`: 19848
-- `C_Munak_Hat`: 19849
+- `C_Munak_Turban`: 19849
- `C_Bongun_Hat`: 19850
-- `C_Teddybear_Hat`: 19851
-- `C_Filir_Wings`: 19853
+- `C_Brown_Bear_Cap`: 19851
+- `C_Filir_Wing`: 19853
- `C_Happy_Summer_Wig`: 19855
-- `C_Snow_Cone_Hat`: 19856
-- `C_Crayfish_Hat`: 19857
-- `C_Smokie_Leaf`: 19858
-- `C_Flying_Angel`: 19859
-- `C_School_Criatura_Hat`: 19860
-- `C_Heart_Hairpin`: 19861
-- `C_Succubus_Horn`: 19862
-- `C_Incubus_Horn`: 19863
-- `C_Dokebi's_Wig`: 19864
+- `C_Iceflake_Hat`: 19856
+- `C_King_Prawn_Hat`: 19857
+- `C_Leaf_Headgear`: 19858
+- `C_Flying_Angel_`: 19859
+- `C_Cryptura_Hair_Cap`: 19860
+- `C_Heart_Hair_Pin`: 19861
+- `C_Horn_Of_Succubus`: 19862
+- `C_Inccubus_Horn`: 19863
+- `C_Dokebis_Wig`: 19864
- `C_Joker_Jester`: 19865
-- `C_Blue_Pajamas`: 19866
-- `C_Red_Pajamas`: 19867
+- `C_Blue_Pajamas_Hat`: 19866
+- `C_Pink_Pajamas_Hat`: 19867
- `C_Showy_High_Cap`: 19868
-- `C_Antiquity_Helmet`: 19869
+- `C_Ancient_Civil_Man`: 19869
- `C_Music_Decoration`: 19871
- `C_Carnival_Hat`: 19873
- `C_Carnival_Circlet`: 19874
@@ -15819,26 +15893,26 @@
- `C_Pretty_Rabbit_Hood`: 19881
- `C_Flowerpot_Mask`: 19882
- `C_Piamette_Hood`: 19883
-- `C_Vanargand_Helm`: 19884
+- `C_Vanargandr_Helm`: 19884
- `C_Blinker`: 19885
-- `C_Purple_Glasses`: 19886
-- `C_Cyclops_Glasses`: 19887
+- `C_Luxury_Sunglasses`: 19886
+- `C_One_Eyed_Glass`: 19887
- `C_Glasses`: 19888
-- `C_Small_Ribbon`: 19889
+- `C_Pair_Of_Red_Ribbon`: 19889
- `C_Mage_Hat`: 19890
- `C_Magnolia_Hat`: 19891
- `C_Night_Sparrow_Hat`: 19892
- `C_Ordinary_Black_Magician_Hat`: 19893
- `C_Shrine_Maiden_Hat`: 19894
-- `C_Magician's_Night_Cap`: 19895
+- `C_Magicians_Night_Cap`: 19895
- `C_PRO_10th_Cap`: 19896
- `C_RPC13_1ST_Wreath`: 19897
- `C_RPC13_2ND_Wreath`: 19898
- `C_RPC13_3RD_Wreath`: 19899
- `C_Cool_Pirate_Eyepatch`: 19900
- `C_Orc_Helm`: 19901
-- `C_Cigarette`: 19902
-- `C_Witch's_Pumpkin_Hat`: 19903
+- `C_Cigar`: 19902
+- `C_Witchs_Hat`: 19903
- `C_Skull_Cap`: 19904
- `C_Secret_Society_Hood`: 19905
- `C_Screw_stuck_in_head`: 19906
@@ -15849,126 +15923,126 @@
- `C_Triangle_Roof_Hat`: 19911
- `C_Cat_Eye`: 19912
- `C_Poo_Poo_Hat`: 19913
-- `C_Tarlock's_Hat`: 19914
+- `Felock_Cap`: 19914
- `C_Black_Cat_Hat`: 19916
-- `C_Dark_Pumpkin_Hat`: 19917
+- `C_Gloomy_Pumpkin_Hat`: 19917
- `C_Lude_Mask`: 19918
-- `C_Quve_Mask`: 19919
-- `C_Evolved_Whisper_Mask`: 19920
-- `C_Noah's_Hat`: 19922
-- `C_Monocle`: 19925
+- `C_Cube_Mask_`: 19919
+- `C_Adv_Whisper_Mask`: 19920
+- `C_Noah_Hat`: 19922
+- `C_One_Eyed_Glasses`: 19925
- `C_Gothic_Heart_Wing`: 19928
- `C_Classical_Ribbon`: 19929
- `C_Angel_Mini_Silk_Hat`: 19930
-- `C_Lazy_Smokie`: 19931
-- `C_Model_Training_Hat`: 19932
-- `C_Flaming_Ten_Gallon_Hat`: 19934
+- `C_Lazy_Raccoon`: 19931
+- `C_Cap_Of_Concentration`: 19932
+- `C_10Gallon_Hat_Of_Flame`: 19934
- `C_Hunting_Cap_Of_Gust`: 19935
- `C_Knit_Cap_Of_Water`: 19936
- `C_Love_Bunny_Hood`: 19938
-- `C_Antlers`: 19939
-- `C_Ear_Muffs`: 19941
+- `C_Antler`: 19939
+- `C_Ear_Mufs`: 19941
- `C_RWC2013_Japan_Hat`: 19949
-- `C_Bubble_Gum_in_Mouth`: 19952
+- `C_Bubble_Gum_In_Mouth`: 19952
- `C_Parade_Cap`: 19953
- `C_3D_Glasses`: 19954
-- `C_Mini_Tree`: 19955
+- `C_Mini_Tree_J`: 19955
- `C_Soldier_Hat`: 19956
-- `C_Scooter_Hat`: 19957
+- `C_Scooter_Hat_J`: 19957
- `C_Choir_Hat`: 19958
- `C_Drooping_Argiope`: 19959
- `C_Chain_Puppet`: 19960
- `C_Rune_Circlet`: 19961
- `C_Mitra`: 19962
-- `C_Driver_Band_Red`: 19963
-- `C_Driver_Band_Yellow`: 19964
+- `C_Driver_Band_R`: 19963
+- `C_Driver_Band_Y`: 19964
- `C_Shadow_Handicraft`: 19965
-- `C_Minstrel_Song's_Hat`: 19966
+- `C_Minstrel_Song_Hat`: 19966
- `C_Midas_Whisper`: 19967
- `C_Magic_Stone_Hat`: 19968
- `C_Blazing_Soul`: 19969
- `C_Wind_Whisper`: 19970
- `C_Dying_Swan`: 19971
- `C_Protect_Of_Crown`: 19972
-- `C_Circlet_Of_Bones`: 19973
-- `C_Camouflage_Rabbit_Hood`: 19974
+- `C_Circlet_Of_Bone`: 19973
+- `C_Camouflage_RabbitHood`: 19974
- `C_Cat_Santa_Hat`: 19976
-- `C_Golden_Exclamation_Mark`: 19977
-- `C_Silver_Exclamation_Mark`: 19978
-- `C_Golden_Question_Mark`: 19979
-- `C_Silver_Question_Mark`: 19980
-- `C_Santa_Hat`: 19982
+- `C_Golden_Exclamation`: 19977
+- `C_Silver_Exclamation`: 19978
+- `C_Golden_Question`: 19979
+- `C_Silver_Question`: 19980
+- `C_Santas_Hat`: 19982
- `C_Flower_Hairpin`: 19983
- `C_Winter_Hat`: 19984
-- `C_Aura_Quartz`: 19985
+- `C_Aura_Quartz_Crown`: 19985
- `C_Lunatic_Hat`: 19986
- `C_Blue_Fur_Hat`: 19987
- `C_Elder_Crown`: 19988
- `C_Mouton_Life`: 19989
-- `C_Rabbit_Knit_Hat`: 19990
+- `C_Snow_Rabbit_Knit_Hat`: 19990
- `C_Galanthus_Guard`: 19991
- `C_Chilly_Breath`: 19992
- `C_saLUsalo_Hat`: 19994
-- `C_Horse_King`: 19996
+- `Horse_King`: 19996
- `C_Bomb_Hat`: 19997
- `C_Dragon_Turtle_Hat`: 19998
-- `C_Mouse_Hat1`: 19999
-- `C_Mouse_Hat2`: 20000
-- `C_Mouse_Hat3`: 20001
-- `C_Mouse_Hat4`: 20002
-- `C_Mouse_Hat5`: 20003
+- `Mouse_Hat1`: 19999
+- `Mouse_Hat2`: 20000
+- `Mouse_Hat3`: 20001
+- `Mouse_Hat4`: 20002
+- `Mouse_Hat5`: 20003
- `C_Big_Golden_Bell`: 20004
- `C_Sigrun_Wing`: 20005
- `C_Dark_Knight_Mask`: 20006
- `C_Horned_Hat`: 20007
- `C_Dragon_General_Helm`: 20008
- `C_Dragon_Skull_Hat`: 20009
-- `C_Rainbow_Ears_Feather`: 20010
+- `C_Rainbow_Wing_Ears`: 20010
- `C_Lightning_Speed`: 20011
- `C_Double_Horn_Helm`: 20012
- `C_Chef_Hat`: 20013
-- `C_Lincoln_Hat`: 20014
-- `C_Lincoln_Beard`: 20015
-- `C_Cool_Dinner_Hat`: 20016
+- `Lincoln_Hat`: 20014
+- `Lincoln_Beard`: 20015
+- `Lobster_Hat`: 20016
- `C_Marionette_Doll`: 20017
-- `C_Artisant_Beret`: 20019
+- `Beret_Of_Artist`: 20019
- `C_Zaha_Doll_Hat`: 20020
- `C_Heart_Ribbon_Hairband`: 20021
- `C_Love_Fragment`: 20022
- `C_Red_Beret`: 20023
- `C_Orange_Ribbon`: 20024
-- `C_Cow_Hat1`: 20025
-- `C_Cow_Hat2`: 20026
-- `C_Cow_Hat3`: 20027
-- `C_Cow_Hat4`: 20028
+- `Cow_Hat1`: 20025
+- `Cow_Hat2`: 20026
+- `Cow_Hat3`: 20027
+- `Cow_Hat4`: 20028
- `C_Donut_in_Mouth`: 20029
- `C_Choco_Donut_in_Mouth`: 20030
-- `C_Bunny_Headress`: 20031
+- `C_Bunny_Head_Dress`: 20031
- `C_Firinto_Scarf`: 20032
-- `C_Monk_Crown`: 20033
+- `C_Buddhist_Priest_Crown`: 20033
- `C_Jack_Castle_Bat`: 20034
- `C_Miracle_Blue_Rose`: 20035
-- `C_Crown_of_Victory`: 20036
+- `C_Sword_Master_Crown`: 20036
- `C_Owlduke_Silk_Hat`: 20037
- `C_Alphonse_Helm`: 20038
- `C_Butterfly_Wing_Ears`: 20039
-- `C_Chung_Hairpin`: 20040
+- `C_Chung_Hairband_`: 20040
- `C_Rose_Headband`: 20041
- `C_Hermos_Cap`: 20042
- `C_Cherryblossom_in_Mouth`: 20043
-- `C_Carmen_Miranda's_Hat`: 20044
+- `C_Carmen_Mirandas_Hat`: 20044
- `C_Samambaia`: 20045
- `C_Blue_Ribbon_Band`: 20046
-- `C_Prayer_Cherry_Blossom`: 20047
-- `C_Wind_Prairie`: 20048
-- `C_Giant_Aid_Band`: 20049
-- `C_Ph.D_Hat`: 20050
+- `C_Pray_Cherry_Blossom`: 20047
+- `C_Wind_Of_The_Prairie`: 20048
+- `C_Plaster`: 20049
+- `C_Ph_D_Hat`: 20050
- `C_Stop_Post`: 20051
- `C_AFK_Hat`: 20052
- `C_WKing_Tiger_Doll_Hat`: 20053
-- `C_Pacifier`: 20054
+- `C_Baby_Pacifier`: 20054
- `C_Ghost_Bandana`: 20055
-- `C_Bride's_Corolla`: 20056
+- `C_Bride_Corolla`: 20056
- `C_Feather_Bonnet`: 20057
- `C_Hot_Blood_Headband`: 20058
- `C_Welding_Mask`: 20059
@@ -15977,7 +16051,7 @@
- `C_Angel_Stair`: 20062
- `C_Yellow_Brain_Hat`: 20063
- `C_Blue_Brain_Hat`: 20064
-- `C_Grand_Peco_Hairband`: 20065
+- `C_Hairband_Of_Grandpeco`: 20065
- `C_Pecopeco_Hairband`: 20066
- `C_White_Rabbit_Headband`: 20067
- `C_Black_Rabbit_Headband`: 20068
@@ -15986,29 +16060,29 @@
- `C_Worg_In_Mouth`: 20071
- `C_Hair_Band`: 20073
- `C_Biretta`: 20074
-- `C_Little_Feather_Hat`: 20075
-- `C_Idun_Feather_Ears`: 20076
-- `C_Wing_Frame_Sunglasses`: 20077
+- `C_Little_Fhat`: 20075
+- `C_Idun_Wing_Ears`: 20076
+- `C_Wing_Form_Spectacle`: 20077
- `C_White_Feather`: 20078
-- `C_Forgotten_Angel_Wing`: 20079
-- `C_Shaman_Hair_Ornament`: 20080
+- `C_Love_Daddy_2013`: 20079
+- `C_Shamans_Hair_Orna`: 20080
- `C_Metal_Dragon_Helm`: 20081
- `C_Metal_Dragon_Hat`: 20082
- `C_Mythlit_Hat`: 20083
-- `C_Ceremonial_Hat`: 20084
-- `C_St_Patrick's_Hat`: 20085
+- `C_Clover_Coronet`: 20084
+- `C_Clover_Silkhat`: 20085
- `C_Dragon_Cintamani_Hat1`: 20086
- `C_Dragon_Cintamani_Hat2`: 20087
- `C_Dragon_Cintamani_Hat3`: 20088
- `C_Dragon_Cintamani_Hat4`: 20089
- `C_Egg_Shell`: 20090
- `C_Smoking_Pipe`: 20091
-- `C_Sale_Banner`: 20092
-- `C_Wizard_Hat`: 20093
-- `C_Green_Ribbon`: 20094
-- `C_Red_Ribbon`: 20095
-- `C_Blue_Ribbonn`: 20096
-- `C_White_Ribbon`: 20097
+- `C_Sales_Signboard`: 20092
+- `C_Star_Sparkling`: 20093
+- `C_Fillet_Green`: 20094
+- `C_Fillet_Red`: 20095
+- `C_Fillet_Blue`: 20096
+- `C_Fillet_White`: 20097
- `C_Vampire_Hairband`: 20098
- `C_Ljosalfar`: 20099
- `C_Volume_Fhat`: 20100
@@ -16025,27 +16099,27 @@
- `C_Coiledup_Snake_Hat2`: 20111
- `C_Aqua_Ten_Gallon_Hat`: 20112
- `C_Star_Reading_Hat`: 20113
-- `C_Funeral_Hat`: 20114
+- `C_Funeral_Costume`: 20114
- `C_Under_Rim_Glasses`: 20115
-- `C_Mermaid_Headphones`: 20116
+- `C_Mermaid_Headphone`: 20116
- `C_Raspberry_Mousse_Hat`: 20117
-- `C_Cake_Hat`: 20118
-- `C_Beanie`: 20119
+- `C_Hat_Of_Cake`: 20118
+- `C_Fur_Hat`: 20119
- `C_Antenna`: 20120
-- `C_Water_Lily_Hat`: 20121
-- `C_Happy_Summer_Ribbon`: 20122
+- `C_Lotus_Flower_Hat`: 20121
+- `Happy_Summer_Ribbon`: 20122
- `C_Eagle_Eyes`: 20123
- `C_Masquerade`: 20124
- `C_Mini_Glasses`: 20125
- `C_Odium_Thanatos_Mask`: 20126
- `C_Abysmal_Knight_Helm`: 20127
- `C_Remover_Hat`: 20128
-- `C_Poporing_Cap`: 20129
+- `C_Poporing_Hat`: 20129
- `C_Whisper_Tall_Hat`: 20130
-- `C_Clock_Tower_Manager_Incom`: 20131
+- `C_C_Tower_Manager_Hat`: 20131
- `C_Subject_Aura`: 20132
-- `C_Poring_Mascot`: 20133
-- `C_White_Helm_Of_Abyss`: 20134
+- `C_Poring_Mascot_Costume`: 20133
+- `C_Helm_Of_Abyss_White`: 20134
- `C_12th_Anniversary_Crown`: 20135
- `C_12th_Anniversary_Fairy_Ears`: 20136
- `C_Bomb_Wick`: 20137
@@ -16057,22 +16131,22 @@
- `C_Candy_Cane_In_Mouth`: 20143
- `C_Ancient_Elven_Ear`: 20144
- `C_Robo_Eye`: 20145
-- `C_Angel_Of_Ghost`: 20146
-- `C_Pigeon_On_Shoulder`: 20147
+- `C_Angel_Spirit`: 20146
+- `C_Bell_Pigeon`: 20147
- `C_Musketeer_Hat`: 20148
- `C_Hexagon_Glasses`: 20149
- `C_Wind_Fan`: 20150
- `C_Poison_Spore_Hat`: 20151
- `C_Straw_Rice_Bag`: 20152
- `C_Monochrome_Cap`: 20153
-- `C_Falling_Maple_leafs`: 20154
-- `C_Lady_Feather_Hat`: 20155
-- `C_Fan_in_Mouth`: 20156
-- `C_Blue_Fish`: 20157
+- `C_Maple_Which_Falls`: 20154
+- `C_Ladys_Feather_Hat`: 20155
+- `C_Fan_In_Mouth`: 20156
+- `C_Fish_On_Head`: 20157
- `C_Circlet`: 20158
-- `C_Blue_Hairband`: 20159
-- `C_Magnolia_Hat_J`: 20160
-- `C_Army_Cap`: 20161
+- `C_Blue_Hair_Band`: 20159
+- `C_Fried_Egg`: 20160
+- `C_Prontera_Army_Cap`: 20161
- `C_Lamb_Hat1`: 20162
- `C_Lamb_Hat2`: 20163
- `C_Duneyrr_Hat`: 20164
@@ -16083,24 +16157,24 @@
- `C_Long_Tongue`: 20169
- `C_Brown_Deviruchi_Cap`: 20170
- `C_Sepia_Cap`: 20171
-- `C_Pumpkin_Hat`: 20172
+- `C_Pumpkin_Head`: 20172
- `C_Lude_Hood`: 20173
-- `C_Orange_Halloween_Hat`: 20174
+- `C_Halloween_Hat_Orange`: 20174
- `C_Diabolic_Headphone`: 20175
-- `C_Happy_Pierrot_Mask`: 20176
+- `Happy_Pierrot_Mask`: 20176
- `C_Drooping_Dorasuke`: 20177
- `C_Puppy_Love`: 20178
- `C_Monkey_Fur_Hat`: 20179
-- `C_Western_Grace`: 20180
-- `C_Mystic_Rose`: 20181
-- `C_Rainbow_Eggshell`: 20182
+- `C_Westren_Grace`: 20180
+- `C_Mistic_Rose`: 20181
+- `C_Mottled_Egg_Shell`: 20182
- `C_There_Is_Something`: 20183
- `C_Party_Hat`: 20184
- `C_Fashionable_Glasses`: 20185
-- `C_Magni's_Cap`: 20186
-- `C_Fricca's_Circlet`: 20187
-- `C_Morpheus's_Hood`: 20188
-- `C_Goibne's_Helm`: 20189
+- `C_Magni_Cap`: 20186
+- `C_Friccas_Circlet`: 20187
+- `C_Morpheuss_Hood`: 20188
+- `C_Goibnes_Helm`: 20189
- `C_Chick_Hat_J`: 20190
- `C_Black_Cat_Ears_Beret`: 20191
- `C_Green_Foxtail`: 20192
@@ -16110,20 +16184,20 @@
- `C_Leopard_Ear_Hat`: 20196
- `C_Amistr_Beret`: 20197
- `C_Misty_Ears`: 20198
-- `C_Evil_Marching_Hat`: 20199
-- `C_Rabbit_Headdress`: 20200
+- `C_Evil_Marcher_Hat`: 20199
+- `C_Rabbit_Head_Dress`: 20200
- `C_Banshee_Master_Kiss`: 20201
- `C_Deviruchi_Balloon`: 20202
- `C_Bandana`: 20203
- `C_Hunting_Cap`: 20204
- `C_Fancy_Flower`: 20205
- `C_Chicken_Hat1`: 20206
-- `C_Striped_Hairband`: 20207
+- `C_Stripe_Band`: 20207
- `C_Necktie`: 20208
-- `C_Mermaid_Bubbles`: 20209
+- `C_Mermaid_Longing`: 20209
- `C_Chicken_Hat2`: 20210
- `C_Chicken_Hat3`: 20211
-- `C_Loki_&_Nidhoggur_dolls`: 20212
+- `C_Loki_Nidhogg_Hat`: 20212
- `C_Robot_Eyes`: 20213
- `C_Evil_Marcher_Hat_J`: 20214
- `C_Black_Devil_Mask`: 20215
@@ -16133,25 +16207,25 @@
- `C_Angel_Marcher_Hat`: 20219
- `C_Dark_Night_Veil`: 20220
- `C_Ifrit_Eyes`: 20221
-- `C_Blue_Santa_Hat`: 20222
-- `C_Romantic_Leaf`: 20223
+- `C_Santa_Hat_2`: 20222
+- `C_Centimental_Leaf`: 20223
- `C_Red_Tailed_Ribbon`: 20224
-- `C_Pumpkin_Head`: 20225
-- `C_Red_Comb`: 20226
+- `C_Pumpkin_Hat`: 20225
+- `C_Hair_Brush`: 20226
- `C_Husky_Hat`: 20227
- `C_Piggie_Bank_J`: 20228
- `C_New_Year_Hairpin`: 20229
-- `C_Bankruptcy_Mask`: 20230
+- `C_Mask_Of_Bankrupt`: 20230
- `C_Snowman_Hat`: 20231
- `C_Celines_Ribbon`: 20232
-- `C_Golden_Statue_of_Baby_Angel`: 20233
+- `C_Gold_Angel_Sculpture`: 20233
- `C_Baphomet_Hat`: 20234
-- `C_Frozen_Rose`: 20235
-- `C_Arc_Angeling_Hat`: 20236
-- `C_Pink_Beanie`: 20237
-- `C_Drooping_Blue_Cat`: 20238
+- `C_Frozen_Land_Rose`: 20235
+- `C_Hellomother_Hat`: 20236
+- `C_Pink_Fur_Hat`: 20237
+- `C_Blue_Drooping_Kitty`: 20238
- `C_Large_Ribbon_Muffler`: 20239
-- `C_Gift_of_Snow`: 20240
+- `C_Gift_Of_Snow`: 20240
- `C_Eclipse_Hat`: 20241
- `C_Snownow_Hat`: 20242
- `C_Choco_Mint_Bonnet`: 20243
@@ -16163,17 +16237,17 @@
- `C_Red_Strong_Hair`: 20249
- `C_White_Strong_Hair`: 20250
- `C_Rose_Cascade`: 20251
-- `C_Mage_Decoration`: 20252
-- `C_Drooping_Alicel`: 20253
-- `C_Yellow_Ribbonn`: 20254
-- `C_Love_Cheeks`: 20255
-- `C_Honey_Pancake`: 20256
+- `C_Accessory_of_Ascetic`: 20252
+- `C_Droopy_Alice_Doll`: 20253
+- `C_Ribbon_Yellow`: 20254
+- `C_Love_Cheek`: 20255
+- `C_Honey_Pancakes`: 20256
- `C_Black_Rabbit_Bonnet`: 20257
-- `C_Blue_Headdress`: 20258
+- `C_Blue_Head_Dress`: 20258
- `C_Pink_Clover`: 20259
- `C_Stardust`: 20260
-- `C_Fox_Ears_Drop_Ribbon`: 20262
-- `C_Sleeping_Cat_Hat_J`: 20263
+- `C_Fox_Ears_Bell_Ribbon`: 20262
+- `C_Hat_Of_Drowsy_Cat`: 20263
- `C_Blood_Sucker`: 20264
- `C_Bird_Nest_Hat`: 20265
- `C_Secret_Zipper`: 20266
@@ -16182,20 +16256,20 @@
- `C_White_Fox_Ear_Ribbon`: 20269
- `C_Gryphon_Wing_Ears`: 20270
- `C_Sunflower`: 20271
-- `C_Unicorn_Horn`: 20272
+- `C_Snowy_Horn`: 20272
- `C_Soft_Sheep_Hat`: 20273
- `C_Polar_Bear_Cap_J`: 20274
- `C_Balloon_Hat`: 20277
- `C_Mans_Medal`: 20278
- `C_Cheering_Whistle`: 20279
-- `C_Well-Chewed_Pencil`: 20280
+- `C_Pencil_In_Mouth`: 20280
- `C_Kindergarten_Hat`: 20281
- `C_White_Student_Cap`: 20282
- `C_Over_Protector`: 20283
-- `C_Sakura_Hat`: 20284
-- `C_Dancing_Fallen_Sakura`: 20285
+- `C_Cherry_Blossom_Hat`: 20284
+- `C_Blossom_Fluttering`: 20285
- `C_Under_Rim_Glasses_Red`: 20286
-- `C_Mans_Medal(Gold)`: 20287
+- `C_Mans_Medal_`: 20287
- `C_Bijou_Hat`: 20288
- `C_Helm_of_Thoth`: 20291
- `C_Black_Ramen_Hat`: 20292
@@ -16204,7 +16278,7 @@
- `C_Poring_Sunglasses`: 20295
- `C_Yoyo_Hat`: 20296
- `C_Cactus_Hat`: 20297
-- `C_Happy_Lunatic_Hanging_Ear`: 20298
+- `C_Happy_Lunatic_Ear`: 20298
- `C_Face_Crusher`: 20299
- `C_Hill_Wind_Mask`: 20300
- `C_Golden_Savage_Hat`: 20301
@@ -16235,34 +16309,37 @@
- `Amistr_Bag`: 20706
- `Kirin_Wing`: 20707
- `Mana_Manteau`: 20709
-- `Modified_Angel's_Cardigan`: 20710
+- `Impr_Angels_Warmth`: 20710
- `Manteau_Of_Diego`: 20711
-- `Gigant_Snake_Skin`: 20717
-- `Gigant_Snake_Skin_`: 20718
-- `Gray_Cloak`: 20721
-- `Love_Dad_Wing_2012`: 20724
-- `Piamette_Ribbon`: 20725
-- `C_Brilliant_Golden_Wings`: 20727
+- `FaceWorm_Skin`: 20717
+- `FaceWorm_Skin_`: 20718
+- `Cloak_Of_Gray`: 20721
+- `Love_Dad_Wings_2012`: 20724
+- `Ribbon_Piamat`: 20725
+- `Brilliant_Golden_Wings`: 20727
- `Hood_of_Loyal`: 20730
-- `Physical_Complement_Device`: 20732
-- `Reinforced_Parts_Engine`: 20733
-- `C_Kirin_Wings`: 20737
-- `Manteau_Of_Airship`: 20743
-- `Tarlock's_Manteau`: 20744
-- `C_Rudra_Wings`: 20746
-- `Manteau_of_The_Fallen`: 20748
-- `Manteau_of_The_Fallen_`: 20749
-- `Egir_Manteau_K`: 20756
-- `Heavenly_Wings1`: 20757
-- `Heavenly_Wings2`: 20758
-- `C_Wing_of_Happiness`: 20761
-- `C_Great_Devil_Wings`: 20762
+- `Supplement_Part_Con`: 20732
+- `Upgrade_Part_Engine`: 20733
+- `C_Kirin_Wing`: 20737
+- `Airship_Cape`: 20743
+- `Felock_Cape`: 20744
+- `C_Rudra_Wing`: 20746
+- `Manteau_Of_Fallen`: 20748
+- `Manteau_Of_Fallen_`: 20749
+- `Aegir_Cloak`: 20756
+- `Wing_Of_Happiness`: 20757
+- `Wing_Of_Happiness_`: 20758
+- `C_Wing_Of_Happiness`: 20761
+- `C_GreatDevilWing`: 20762
- `C_Amistr_Bag`: 20763
- `C_Fallen_Angel_Wing`: 20764
- `C_Archangel_Wing`: 20765
- `Arch_Angel_Wing`: 20768
- `Excellion_Wing`: 20773
- `Crimson_Stole`: 20778
+- `Private_Doram_Manteau`: 20788
+- `Luxury_Doram_Manteau`: 20789
+- `Elegant_Doram_Manteau`: 20790
- `Upg_Twohand_Sword`: 21000
- `Velum_Claymore`: 21001
- `Velum_Katzbalger`: 21002
@@ -16272,346 +16349,353 @@
- `TE_Woe_Two_Hand_Sword`: 21006
- `Heavy_Sword`: 21007
- `Small_Karasuma`: 21008
-- `Thanatos_Great_Sword`: 21009
-- `Evil_Slayer_Slasher_Sword`: 21010
-- `Gigantic_Blade`: 21011
+- `Thanos_Great_Sword`: 21009
+- `Tw_Sword_Of_Evil_Slayer`: 21010
+- `Giant_Blade`: 21011
- `Mashirubeken`: 21012
- `Companion_Cavalry_Sword`: 21013
-- `Infinity_Two-Handed_Sword`: 21014
-- `Crimson_Two-Handed_Sword`: 21015
+- `Infinity_Two_Hand_Sword`: 21014
+- `Scarlet_Twohand_Sword`: 21015
- `Two_Handed_Sword_of_Vicious_Mind`: 21016
- `Lindy_Hop`: 21018
- `Onimaru`: 21019
-- `Temporal_STR_Boots`: 22000
-- `Temporal_INT_Boots`: 22001
-- `Temporal_AGI_Boots`: 22002
-- `Temporal_VIT_Boots`: 22003
-- `Temporal_DEX_Boots`: 22004
-- `Temporal_LUK_Boots`: 22005
-- `Temporal_STR_Boots_`: 22006
-- `Temporal_VIT_Boots_`: 22007
-- `Temporal_DEX_Boots_`: 22008
-- `Temporal_INT_Boots_`: 22009
-- `Temporal_AGI_Boots_`: 22010
-- `Temporal_LUK_Boots_`: 22011
+- `Temporal_Str_Boots`: 22000
+- `Temporal_Int_Boots`: 22001
+- `Temporal_Agi_Boots`: 22002
+- `Temporal_Vit_Boots`: 22003
+- `Temporal_Dex_Boots`: 22004
+- `Temporal_Luk_Boots`: 22005
+- `Temporal_Str_Boots_`: 22006
+- `Temporal_Vit_Boots_`: 22007
+- `Temporal_Dex_Boots_`: 22008
+- `Temporal_Int_Boots_`: 22009
+- `Temporal_Agi_Boots_`: 22010
+- `Temporal_Luk_Boots_`: 22011
- `Mana_Boots`: 22012
- `Enhanced_Variant_Shoes`: 22014
-- `Impr_Angel's_Arrival`: 22015
+- `Impr_Angels_Arrival`: 22015
- `Assassin_Shoes`: 22016
- `Shoes_Of_Wise_Man`: 22018
-- `Immune_Boots`: 22019
-- `Boots_of_Gray`: 22033
+- `Immuned_Boots`: 22019
+- `Boots_Of_Gray`: 22033
- `Crimson_Gaiter`: 22034
-- `Heroic_Nepenthes_Shoes`: 22035
-- `Heroic_Silver_Fox_Leather_Boots`: 22036
-- `Heroic_Ungoliant_Upgrade_Boots`: 22037
+- `Vet_Nepen_Heel`: 22035
+- `Vet_SliverFox_Boots`: 22036
+- `Vet_Ungo_Boots`: 22037
- `Shoes_of_Hope`: 22038
- `Elemental_Boots`: 22039
-- `New_Trend_Shoes`: 22040
-- `New_Trend_Shoes_`: 22041
+- `Fashion_Shoes`: 22040
+- `Fashion_Shoes_`: 22041
- `Terraria`: 22042
-- `AGI_Complement`: 22043
-- `Reinforced_Parts_Booster`: 22044
+- `Supplement_Part_Agi`: 22043
+- `Upgrade_Part_Booster`: 22044
- `Beach_Sandals`: 22045
-- `Boots_of_Airship`: 22046
-- `Tarlock's_Boots`: 22047
-- `Egir_Shoes_K`: 22059
+- `Airship_Boots`: 22046
+- `Felock_Boots`: 22047
+- `Aegir_Shoes`: 22059
- `Witch_Shoes`: 22067
+- `Wooden_Slipper`: 22076
+- `Red_Eco_Friendly_Shoes`: 22077
+- `Private_Doram_Shoes`: 22083
+- `Luxury_Doram_Shoes`: 22084
+- `Elegant_Doram_Shoes`: 22085
+- `Para_Team_Mark_`: 22508
- `Candy_Holder`: 22514
-- `Twisted_Key_of_Time`: 22515
+- `Key_Of_Twisted_Time`: 22515
- `Runstone_Lux`: 22540
- `HALLOWEEN_G_BOX`: 22669
- `DARK_INVITATION`: 22670
- `Mysterious_Scroll`: 22675
- `Hangul_Day_Event_Box`: 22676
-- `Death_Bin`: 22679
+- `Chest_Of_Death`: 22679
- `Solo_Christmas_Gift`: 22685
- `Solo_Cookie`: 22686
-- `Bloody_Cartrige`: 22737
-- `Silver_Cartrige`: 22738
-- `Lightning_Sphere_Pack`: 22739
-- `Blind_Sphere_Pack`: 22740
-- `Poison_Sphere_Pack`: 22741
-- `Freezing_Sphere_Pack`: 22742
-- `Flare_Sphere_Pack`: 22743
-- `Armor_Piercing_Cartrige`: 22744
-- `Incandescence_Shot_Cartridge`: 22745
-- `Glaciation_Shot_Cartridge`: 22746
-- `Dengeki_Shot_Cartridge`: 22747
-- `Hearthstone_Shot_Cartridge`: 22748
-- `Purification_Shot_Cartridge`: 22749
+- `Bullet_Case_Blood_`: 22737
+- `Bullet_Case_Silver_`: 22738
+- `Sphere_Case_Wind_`: 22739
+- `Sphere_Case_Darkness_`: 22740
+- `Sphere_Case_Poison_`: 22741
+- `Sphere_Case_Water_`: 22742
+- `Sphere_Case_Fire_`: 22743
+- `Bullet_Case_AP`: 22744
+- `Bullet_Case_Blaze`: 22745
+- `Bullet_Case_Fleeze`: 22746
+- `Bullet_Case_Electric`: 22747
+- `Bullet_Case_Stone`: 22748
+- `Sanctified_Bullet_Case`: 22749
- `Buff_Gift_Set`: 22777
- `Integer_Time`: 22837
-- `Pumpkin_Candy_Holder`: 22838
-- `T_STR1_Armor_Shadow`: 24000
-- `T_DEX1_Weapon_Shadow`: 24001
-- `T_LUK1_Shield_Shadow`: 24002
-- `T_AGI1_Shoes_Shadow`: 24003
-- `T_VIT1_Earrings_Shadow(R)`: 24004
-- `T_INT1_Pendant_Shadow(L)`: 24005
-- `T_STR2_Armor_Shadow`: 24006
-- `T_DEX2_Weapon_Shadow`: 24007
-- `T_LUK2_Shield_Shadow`: 24008
-- `T_AGI2_Shoes_Shadow`: 24009
-- `T_VIT2_Earrings_Shadow(R)`: 24010
-- `T_INT2_Pendant_Shadow(L)`: 24011
+- `Something_Candy_Holder`: 22838
+- `T1_Shadow_Armor`: 24000
+- `T1_Shadow_Weapon`: 24001
+- `T1_Shadow_Shield`: 24002
+- `T1_Shadow_Shoes`: 24003
+- `T1_Shadow_R_Accessory`: 24004
+- `T1_Shadow_L_Accessory`: 24005
+- `T2_Shadow_Armor`: 24006
+- `T2_Shadow_Weapon`: 24007
+- `T2_Shadow_Shield`: 24008
+- `T2_Shadow_Shoes`: 24009
+- `T2_Shadow_R_Accessory`: 24010
+- `T2_Shadow_L_Accessory`: 24011
- `S_Promotion_Weapon`: 24012
- `S_Promotion_Armor`: 24013
- `S_Promotion_Shoes`: 24014
- `S_Promotion_Shield`: 24015
- `S_Promotion_Earring`: 24016
- `S_Promotion_Pendant`: 24017
-- `Shadow_Physical_Earring`: 24018
-- `Shadow_Physical_Weapon`: 24019
-- `Shadow_Physical_Pendant`: 24020
-- `Shadow_Magical_Earring`: 24021
-- `Shadow_Magical_Weapon`: 24022
-- `Shadow_Magical_Pendant`: 24023
-- `Shadow_Breeze_Armor`: 24024
-- `Shadow_Champion_Shoes`: 24025
-- `Shadow_Athena_Shield`: 24026
-- `Immune_Shadow_Armor`: 24027
-- `Hard_Shadow_Armor`: 24028
-- `Ancient_Shadow_Armor`: 24029
-- `Critital_Shadow_Armor`: 24030
-- `King_Bird_Shadow_Weapon`: 24031
-- `Critical_Hit_Shadow_Weapon`: 24032
-- `Healing_Shadow_Weapon`: 24033
-- `Lucky_Shadow_Weapon`: 24034
-- `Power_Shadow_Earring`: 24035
-- `Intelligent_Shadow_Pendant`: 24036
-- `Dexterous_Shadow_Armor`: 24037
-- `Vital_Shadow_Shoes`: 24038
-- `Athletic_Shadow_Shield`: 24039
-- `Lucky_Shadow_Armor`: 24040
-- `Power_Shadow_Pendant`: 24041
-- `Intelligent_Shadow_Earring`: 24042
-- `Dexterous_Shadow_Weapon`: 24043
-- `Vital_Shadow_Shield`: 24044
-- `Athletic_Shadow_Shoes`: 24045
-- `Resist_Spell_Power_Shadow_Pendant`: 24046
-- `Rapid_Shadow_Pendant`: 24047
-- `Casters_Shadow_Pendant`: 24048
-- `Hard_Shadow_Earring`: 24049
-- `Wise_Shadow_Earring`: 24050
-- `Athena_Shadow_Earring`: 24051
-- `Cranial_Shadow_Shield`: 24052
-- `Safeguard_Shadow_Shield`: 24053
-- `Brutal_Shadow_Shield`: 24054
-- `Gargantua_Shadow_Shield`: 24055
-- `Homer's_Shadow_Shield`: 24056
-- `Dragoon_Shadow_Shield`: 24057
-- `Satanic_Shadow_Shield`: 24058
-- `Fire_Proof_Shadow_Shield`: 24059
-- `Requiem_Shadow_Shield`: 24060
-- `Cadi_Shadow_Shield`: 24061
-- `Bloody_Shadow_Shoes`: 24062
-- `Liberation_Shadow_Shoes`: 24063
-- `Chemical_Shadow_Shoes`: 24064
-- `Glamorous_Shadow_Shoes`: 24065
-- `Insecticide_Shadow_Shoes`: 24066
-- `Fisher_Shadow_Shoes`: 24067
-- `Seraphim_Shadow_Shoes`: 24068
-- `Beholder_Shadow_Shoes`: 24069
-- `Divine_Shadow_Shoes`: 24070
-- `Dragoons_Shadow_Shoes`: 24071
-- `Large_Shadow_Armor`: 24072
-- `Medium_Shadow_Armor`: 24073
-- `Small_Shadow_Armor`: 24074
-- `Large_Shadow_Weapon`: 24075
-- `Medium_Shadow_Weapon`: 24076
-- `Small_Shadow_Weapon`: 24077
-- `Spiritual_Shadow_Weapon`: 24078
-- `Spiritual_Shadow_Earring`: 24079
-- `Spiritual_Shadow_Pendant`: 24080
-- `Malevolent_Shadow_Armor`: 24081
-- `Malevolent_Shadow_Shoes`: 24082
-- `Malevolent_Shadow_Shield`: 24083
-- `Gemstone_Shadow_Armor`: 24084
-- `Gemstone_Shadow_Shoes`: 24085
-- `Gemstone_Shadow_Shield`: 24086
-- `Gemstone_Shadow_Weapon`: 24087
-- `Gemstone_Shadow_Earring`: 24088
-- `Gemstone_Shadow_Pendant`: 24089
-- `Stability_Shadow_Shield`: 24090
-- `Plasterus_Shadow_Armor`: 24091
-- `Plasterus_Shadow_Shoes`: 24092
-- `Insomnia_Shadow_Armor`: 24093
-- `Insomnia_Shadow_Shoes`: 24094
-- `Peerless_Shadow_Armor`: 24095
-- `Peerless_Shadow_Shoes`: 24096
-- `Adurate_Shadow_Armor`: 24097
-- `Adurate_Shadow_Shoes`: 24098
-- `Freezing_Frozen_Shadow_Weapon`: 24099
-- `Freezing_Frozen_Shadow_Earring`: 24100
-- `Freezing_Frozen_Shadow_Pendant`: 24101
-- `Vitality_Shadow_Earring`: 24102
-- `Vitality_Shadow_Pendant`: 24103
-- `Neutral_Shadow_Weapon`: 24104
-- `Neutral_Shadow_Earring`: 24105
-- `Neutral_Shadow_Pendant`: 24106
-- `Frozen_Curse_Shadow_Earring`: 24107
-- `Frozen_Curse_Shadow_Pendant`: 24108
-- `Caster_Shadow_Earrings`: 24109
-- `Caster_Shadow_Weapon`: 24110
-- `Spell_Flow_Shadow_Shoes`: 24111
-- `Spell_Flow_Shadow_Armor`: 24112
-- `Spell_Flow_Shadow_Shield`: 24113
-- `Greed_Shadow_Armor`: 24114
-- `Greed_Shadow_Shoes`: 24115
-- `Greed_Shadow_Shield`: 24116
-- `Greed_Shadow_Weapon`: 24117
-- `Greed_Shadow_Earring`: 24118
-- `Greed_Shadow_Pendant`: 24119
-- `Heal_Shadow_Armor`: 24120
-- `Heal_Shadow_Shoes`: 24121
-- `Heal_Shadow_Shield`: 24122
-- `Heal_Shadow_Weapon`: 24123
-- `Heal_Shadow_Earring`: 24124
-- `Heal_Shadow_Pendant`: 24125
-- `Hiding_Shadow_Armor`: 24126
-- `Hiding_Shadow_Shoes`: 24127
-- `Hiding_Shadow_Shield`: 24128
-- `Hiding_Shadow_Weapon`: 24129
-- `Hiding_Shadow_Earring`: 24130
-- `Hiding_Shadow_Pendant`: 24131
-- `Cloaking_Shadow_Armor`: 24132
-- `Cloaking_Shadow_Shoes`: 24133
-- `Cloaking_Shadow_Shield`: 24134
-- `Cloaking_Shadow_Weapon`: 24135
-- `Cloaking_Shadow_Earring`: 24136
-- `Cloaking_Shadow_Pendant`: 24137
-- `Teleport_Shadow_Armor`: 24138
-- `Teleport_Shadow_Shoes`: 24139
-- `Teleport_Shadow_Shield`: 24140
-- `Teleport_Shadow_Weapon`: 24141
-- `Teleport_Shadow_Earring`: 24142
-- `Teleport_Shadow_Pendant`: 24143
-- `Steal_Shadow_Armor`: 24144
-- `Steal_Shadow_Shoes`: 24145
-- `Steal_Shadow_Shield`: 24146
-- `Steal_Shadow_Weapon`: 24147
-- `Steal_Shadow_Earring`: 24148
-- `Steal_Shadow_Pendant`: 24149
-- `Infinity_Shadow_Earring`: 24150
-- `Infinity_Shadow_Pendant`: 24151
-- `Solid_Shadow_Weapon`: 24152
-- `Solid_Shadow_Earring`: 24153
-- `Solid_Shadow_Armor`: 24154
-- `Solid_Shadow_Pendant`: 24155
-- `Demihuman_Shadow_Weapon`: 24156
-- `Exorcist_Shadow_Weapon`: 24157
-- `Hunting_Shadow_Weapon`: 24158
-- `Insect_Shadow_Weapon`: 24159
-- `Fishing_Shadow_Weapon`: 24160
-- `Dragon_Killer_Shadow_Weapon`: 24161
-- `Angelus_Shadow_Weapon`: 24162
-- `Formless_Shadow_Weapon`: 24163
-- `Holy_Water_Shadow_Weapon`: 24164
-- `Plant_Shadow_Weapon`: 24165
-- `Penetration_Shadow_Earring`: 24166
-- `Penetration_Shadow_Pendant`: 24167
-- `Tempest_Shadow_Earring`: 24168
-- `Tempest_Pendant_Shadow`: 24169
-- `Magic_Executioner_Shadow_Weapon`: 24170
-- `Magic_Exorcist_Shadow_Weapon`: 24171
-- `Magic_Hunting_Shadow_Weapon`: 24172
-- `Magic_Insecticide_Shadow_Weapon`: 24173
-- `Magic_Fishing_Shadow_Weapon`: 24174
-- `Magic_Dragon_Killer_Shadow_Weapon`: 24175
-- `Magic_Angelus_Shadow_Weapon`: 24176
-- `Magic_Formless_Shadow_Weapon`: 24177
-- `Magic_Holy_Water_Shadow_Weapon`: 24178
-- `Magic_Caesars_Shadow_Weapon`: 24179
-- `Bearer's_Shadow_Armor`: 24180
-- `Bearer's_Shadow_Shoes`: 24181
-- `Bearer's_Shadow_Shield`: 24182
-- `Bearer's_Shadow_Weapon`: 24183
-- `Bearer's_Shadow_Earring`: 24184
-- `Bearer's_Shadow_Pendant`: 24185
-- `Basis_Shadow_Armor`: 24186
-- `Hallowed_Shadow_Armor`: 24187
-- `Underneith_Shadow_Armor`: 24188
-- `Underneath_Shadow_Armor`: 24189
-- `Flame_Shadow_Armor`: 24190
-- `Windy_Shadow_Armor`: 24191
-- `Envenom_Shadow_Armor`: 24192
-- `Damned_Shadow_Armor`: 24193
-- `Exorcism_Shadow_Armor`: 24194
-- `Divine_Shadow_Armor`: 24195
-- `Hasty_Shadow_Shoes`: 24196
-- `Hasty_Shadow_Armor`: 24197
-- `Basis_Shadow_Shield`: 24198
-- `Hallowed_Shadow_Shield`: 24199
-- `Saharic_Shadow_Shield`: 24200
-- `Underneath_Shadow_Shield`: 24201
-- `Flammable_Shadow_Shield`: 24202
-- `Windy_Shadow_Shield`: 24203
-- `Envenom_Shadow_Shield`: 24204
-- `Damned_Shadow_Shield`: 24205
-- `Exorcism_Shadow_Shield`: 24206
-- `Divine_Shadow_Shield`: 24207
-- `Expert_Shadow_Shoes`: 24208
-- `Expert_Shield_Shadow`: 24209
-- `Beginner_Shadow_Shoes`: 24210
-- `Beginner_Shadow_Shield`: 24211
-- `Rookie_Shadow_Shoes`: 24212
-- `Rookie_Shadow_Shield`: 24213
-- `Advanced_Shadow_Shoes`: 24214
-- `Advanced_Shadow_Shield`: 24215
-- `Attack_Shadow_Armor`: 24216
-- `Blitz_Shadow_Earring`: 24217
-- `Blitz_Shadow_Pendant`: 24218
-- `Cold_Bolt_Shadow_Armor`: 24219
-- `Fire_Bolt_Shadow_Armor`: 24220
-- `Lightning_Bolt_Shadow_Armor`: 24221
-- `Earth_Spike_Shadow_Armor`: 24222
-- `Enhanced_Force_Shadow_Weapon`: 24223
-- `Force_Shadow_Weapon`: 24224
-- `Force_Shadow_Earring`: 24225
-- `Force_Shadow_Pendant`: 24226
-- `Enhanced_Soul_Shadow_Weapon`: 24227
-- `Soul_Shadow_Weapon`: 24228
-- `Soul_Shadow_Earring`: 24229
-- `Soul_Shadow_Pendant`: 24230
-- `Blitz_Shadow_Shoes`: 24231
-- `Blitz_Shadow_Shield`: 24232
-- `Exceeding_Shadow_Weapon`: 24233
-- `Titan_Shadow_Earring`: 24234
-- `Titan_Shadow_Pendant`: 24235
-- `Boned_Shadow_Earring`: 24236
-- `Boned_Shadow_Pendant`: 24237
-- `Gigantic_Shadow_Earring`: 24238
-- `Gigantic_Shadow_Pendant`: 24239
-- `Caster_Shadow_Shoes`: 24240
-- `Caster_Shadow_Shield`: 24241
-- `Caster_Shadow_Armor`: 24242
-- `Reload_Shadow_Shoes`: 24243
-- `Reload_Shadow_Shield`: 24244
-- `Reload_Shadow_Armor`: 24245
-- `Thanatos_Katar`: 28000
-- `Evil_Slayer_Ripper_Katar`: 28001
+- `S_Physical_Earring`: 24018
+- `S_Physical_Weapon`: 24019
+- `S_Physical_Pendant`: 24020
+- `S_Magical_Earring`: 24021
+- `S_Magical_Weapon`: 24022
+- `S_Magical_Pendant`: 24023
+- `S_Breezy_Armor`: 24024
+- `S_Champion_Shoes`: 24025
+- `S_Athena_Shield`: 24026
+- `S_Immune_Armor`: 24027
+- `S_Hard_Armor`: 24028
+- `S_Ancient_Armor`: 24029
+- `S_Critical_Armor`: 24030
+- `S_Kingbird_Weapon`: 24031
+- `S_Cri_Hit_Weapon`: 24032
+- `S_Healing_Weapon`: 24033
+- `S_Lucky_Weapon`: 24034
+- `S_Power_Earring`: 24035
+- `S_Int_Pendant`: 24036
+- `S_Dexterous_Armor`: 24037
+- `S_Vital_Shoes`: 24038
+- `S_Athletic_Shield`: 24039
+- `S_Lucky_Armor`: 24040
+- `S_Power_Pendant`: 24041
+- `S_Int_Earring`: 24042
+- `S_Dexterous_Weapon`: 24043
+- `S_Vital_Shield`: 24044
+- `S_Athletic_Shoes`: 24045
+- `S_Resist_Spell_Pendant`: 24046
+- `S_Rapid_Pendant`: 24047
+- `S_Caster_Pendant`: 24048
+- `S_Hard_Earring`: 24049
+- `S_Wise_Earring`: 24050
+- `S_Athena_Earring`: 24051
+- `S_Cranial_Shield`: 24052
+- `S_Safeguard_Shield`: 24053
+- `S_Brutal_Shield`: 24054
+- `S_Gargantua_Shield`: 24055
+- `S_Homers_Shield`: 24056
+- `S_Dragoon_Shield`: 24057
+- `S_Satanic_Shield`: 24058
+- `S_Flameguard_Shield`: 24059
+- `S_Requiem_Shield`: 24060
+- `S_Cadi_Shield`: 24061
+- `S_Bloody_Shoes`: 24062
+- `S_Liberation_Shoes`: 24063
+- `S_Chemical_Shoes`: 24064
+- `S_Clamorous_Shoes`: 24065
+- `S_Insecticide_Shoes`: 24066
+- `S_Fisher_Shoes`: 24067
+- `S_Seraphim_Shoes`: 24068
+- `S_Beholder_Shoes`: 24069
+- `S_Divine_Shoes`: 24070
+- `S_Dragoon_Shoes`: 24071
+- `S_Big_Armor`: 24072
+- `S_Medium_Armor`: 24073
+- `S_Small_Armor`: 24074
+- `S_Big_Weapon`: 24075
+- `S_Medium_Weapon`: 24076
+- `S_Small_Weapon`: 24077
+- `S_Spiritual_Weapon`: 24078
+- `S_Spiritual_Earring`: 24079
+- `S_Spiritual_Pendent`: 24080
+- `S_Malicious_Armor`: 24081
+- `S_Malicious_Shoes`: 24082
+- `S_Malicious_Shield`: 24083
+- `S_Gemstone_Armor`: 24084
+- `S_Gemstone_Shoes`: 24085
+- `S_Gemstone_Shield`: 24086
+- `S_Gemstone_Weapon`: 24087
+- `S_Gemstone_Earring`: 24088
+- `S_Gemstone_Pendent`: 24089
+- `S_Stability_Shield`: 24090
+- `S_Plasterers_Armor`: 24091
+- `S_Plasterers_Shoes`: 24092
+- `S_Insomniac_Armor`: 24093
+- `S_Insomniac_Shoes`: 24094
+- `S_Peerless_Armor`: 24095
+- `S_Peerless_Shoes`: 24096
+- `S_Adurate_Armor`: 24097
+- `S_Adurate_Shoes`: 24098
+- `Unfreez_Weapon_S`: 24099
+- `Unfreeze_Earing_S`: 24100
+- `Unfreeze_Pendent_S`: 24101
+- `Vitality_Earing_S`: 24102
+- `Vitality_Pendant_S`: 24103
+- `S_Neutral_Weapon`: 24104
+- `S_Neutral_Earring`: 24105
+- `S_Neutral_Pendent`: 24106
+- `S_Curse_Lift_Earring`: 24107
+- `S_Curse_Lift_Pendent`: 24108
+- `S_Caster_earring`: 24109
+- `S_Caster_Weapon`: 24110
+- `S_Spell_Flow_Shoes`: 24111
+- `S_Spell_Flow_Armor`: 24112
+- `S_Spell_Flow_Shield`: 24113
+- `S_Greed_Armor`: 24114
+- `S_Greed_Shoes`: 24115
+- `S_Greed_Shield`: 24116
+- `S_Greed_Weapon`: 24117
+- `S_Greed_Earring`: 24118
+- `S_Greed_Pendant`: 24119
+- `S_Heal_Armor`: 24120
+- `S_Heal_Shoes`: 24121
+- `S_Heal_Shield`: 24122
+- `S_Heal_Weapon`: 24123
+- `S_Heal_Earring`: 24124
+- `S_Heal_Pendant`: 24125
+- `S_Hiding_Armor`: 24126
+- `S_Hiding_Shoes`: 24127
+- `S_Hiding_Shield`: 24128
+- `S_Hiding_Weapon`: 24129
+- `S_Hiding_Earring`: 24130
+- `S_Hiding_Pendant`: 24131
+- `S_Cloaking_Armor`: 24132
+- `S_Cloaking_Shoes`: 24133
+- `S_Cloaking_Shield`: 24134
+- `S_Cloaking_Weapon`: 24135
+- `S_Cloaking_Earring`: 24136
+- `S_Cloaking_Pendant`: 24137
+- `S_Teleport_Armor`: 24138
+- `S_Teleport_Shoes`: 24139
+- `S_Teleport_Shield`: 24140
+- `S_Teleport_Weapon`: 24141
+- `S_Teleport_Earring`: 24142
+- `S_Teleport_Pendant`: 24143
+- `S_Steal_Armor`: 24144
+- `S_Steal_Shoes`: 24145
+- `S_Steal_Shield`: 24146
+- `S_Steal_Weapon`: 24147
+- `S_Steal_Earring`: 24148
+- `S_Steal_Pendant`: 24149
+- `S_Infinity_Earring`: 24150
+- `S_Infinity_Pendant`: 24151
+- `S_Solid_Weapon`: 24152
+- `S_Solid_Earring`: 24153
+- `S_Immortal_Armor`: 24154
+- `S_Immortal_Pendant`: 24155
+- `S_Executioner_Weapon`: 24156
+- `S_Exorcist_Weapon`: 24157
+- `S_Hunting_Weapon`: 24158
+- `S_Insect_Net_Weapon`: 24159
+- `S_Fishing_Weapon`: 24160
+- `S_Dragon_Killer_Weapon`: 24161
+- `S_Corrupt_Weapon`: 24162
+- `S_Vibration_Weapon`: 24163
+- `S_Holy_Water_Weapon`: 24164
+- `S_Scissors_Weapon`: 24165
+- `S_Penetration_Earring`: 24166
+- `S_Penetration_Pendent`: 24167
+- `S_Tempest_Earring`: 24168
+- `S_Tempest_Pendent`: 24169
+- `S_M_Executioner_Weapon`: 24170
+- `S_M_Exorcist_Weapon`: 24171
+- `S_M_Hunting_Weapon`: 24172
+- `S_M_Insect_Net_Weapon`: 24173
+- `S_M_Fishing_Weapon`: 24174
+- `S_M_Dragon_K_Weapon`: 24175
+- `S_M_Corrupt_Weapon`: 24176
+- `S_M_Vibration_Weapon`: 24177
+- `S_M_Holy_Water_Weapon`: 24178
+- `S_M_Scissors_Weapon`: 24179
+- `S_Bearers_Armor`: 24180
+- `S_Bearers_Shoes`: 24181
+- `S_Bearers_Shield`: 24182
+- `S_Bearers_Weapon`: 24183
+- `S_Bearers_Earring`: 24184
+- `S_Bearers_Pendent`: 24185
+- `S_Basis_Armor`: 24186
+- `S_Hallowed_Armor`: 24187
+- `S_Saharic_Armor`: 24188
+- `S_Underneath_Armor`: 24189
+- `S_Flam_Armor`: 24190
+- `S_Windy_Armor`: 24191
+- `S_Envenom_Armor`: 24192
+- `S_Damned_Armor`: 24193
+- `S_Geist_Armor`: 24194
+- `S_Divine_Armor`: 24195
+- `S_Hasty_Shoes`: 24196
+- `S_Hasty_Armor`: 24197
+- `S_Basis_Shield`: 24198
+- `S_Hallowed_Shield`: 24199
+- `S_Saharic_Shield`: 24200
+- `S_Underneath_Shield`: 24201
+- `S_Flam_Shield`: 24202
+- `S_Windy_Shield`: 24203
+- `S_Envenom_Shield`: 24204
+- `S_Damned_Shield`: 24205
+- `S_Geist_Shield`: 24206
+- `S_Divine_Shield`: 24207
+- `S_Expert_Shoes`: 24208
+- `S_Expert_Shield`: 24209
+- `S_Beginner_Shoes`: 24210
+- `S_Beginner_Shield`: 24211
+- `S_Rookie_Shoes`: 24212
+- `S_Rookie_Shield`: 24213
+- `S_Advanced_Shoes`: 24214
+- `S_Advanced_Shield`: 24215
+- `S_Attack_Armor`: 24216
+- `S_Blitz_Earring`: 24217
+- `S_Blitz_Pendent`: 24218
+- `S_ColdBolt_Armor`: 24219
+- `S_FireBolt_Armor`: 24220
+- `S_LightingBolt_Armor`: 24221
+- `S_EarthSpike_Armor`: 24222
+- `S_Enhance_Force_Weapon`: 24223
+- `S_Force_Weapon`: 24224
+- `S_Force_Earring`: 24225
+- `S_Force_Pendant`: 24226
+- `S_Enhance_Spirit_Weapon`: 24227
+- `S_Spirit_Weapon`: 24228
+- `S_Spirit_Earring`: 24229
+- `S_Spirit_Pendant`: 24230
+- `S_Blitz_Shoes`: 24231
+- `S_Blitz_Shield`: 24232
+- `S_Exceed_Weapon`: 24233
+- `S_Titan_Earring`: 24234
+- `S_Titan_Pendant`: 24235
+- `S_Boned_Earring`: 24236
+- `S_Boned_Pendant`: 24237
+- `S_Gigantic_Earring`: 24238
+- `S_Gigantic_Pendant`: 24239
+- `S_Caster_Shoes`: 24240
+- `S_Caster_Shield`: 24241
+- `S_Caster_Armor`: 24242
+- `S_Reload_Shoes`: 24243
+- `S_Reload_Shield`: 24244
+- `S_Reload_Armor`: 24245
+- `Paradise_Foxtail_Staff_III`: 26101
+- `Thanos_Katar`: 28000
+- `Katar_Of_Evil_Slayer`: 28001
- `Half_BF_Katar2`: 28002
-- `Crimson_Katar`: 28007
+- `Scarlet_Katar`: 28007
- `Katar_of_Vicious_Mind`: 28008
- `Juliette_de_Rachel`: 28010
-- `Thanatos_Axe`: 28100
-- `Axe_Tornado`: 28101
+- `Thanos_Axe`: 28100
+- `Tornado_Axe`: 28101
- `Infinity_Two_handed_Axe`: 28105
-- `Crimson_Two_handed_Axe`: 28106
+- `Scarlet_Twohand_Axe`: 28106
- `Two_Handed_Axe_of_Vicious_Mind`: 28107
-- `End_Of_The_Horizon`: 28200
-- `South_Cross`: 28201
-- `Southern_Cross_`: 28202
+- `END_OF_HORIZON`: 28200
+- `Southern_Cross_R`: 28201
+- `Southern_Cross_R_`: 28202
- `Half_BF_Rifle1`: 28203
- `Half_BF_Shotgun1`: 28204
-- `Luna's_Blessing`: 28306
-- `Sarah's_Left_Earring`: 28310
-- `Sarah's_Right_Earring`: 28311
+- `Bless_Of_Moon`: 28306
+- `Earring_Of_Sarah_L`: 28310
+- `Earring_Of_Sarah_R`: 28311
- `Desperation_of_Assassin`: 28320
-- `Broken_Chips_01`: 28326
-- `Broken_Chips_02`: 28327
-- `Jewerly_Ring`: 28332
+- `Broken_Chip_1`: 28326
+- `Broken_Chip_2`: 28327
+- `Jewel_Ring`: 28332
- `Gold_PC_Room_Ring`: 28333
- `Str_Gloves`: 28362
- `Agi_Gloves`: 28363
@@ -16620,11 +16704,27 @@
- `Dex_Gloves`: 28366
- `Luk_Gloves`: 28367
- `Imperial_Ring`: 28372
-- `Crimson_Bible`: 28604
+- `Foxtail_Ring`: 28374
+- `Fresh_Grass_Necklace`: 28380
+- `Cute_Grass_Necklace`: 28381
+- `Charm_Grass_Necklace`: 28382
+- `Lesser_Mackerel_Talisman`: 28413
+- `Intermediate_Mackerel_Talisman`: 28414
+- `Greater_Mackerel_Talisman`: 28415
+- `Lesser_Leaf_Talisman`: 28416
+- `Intermediate_Leaf_Talisman`: 28417
+- `Greater_Leaf_Talisman`: 28418
+- `Lesser_Rabbit_Talisman`: 28419
+- `Intermediate_Rabbit_Talisman`: 28420
+- `Greater_Rabbit_Talisman`: 28421
+- `Shiny_Branch_Talisman`: 28422
+- `Fresh_Tuna_Talisman`: 28423
+- `Chubby_Worm_Talisman`: 28424
+- `Scarlet_Bible`: 28604
- `Book_of_Vicious_Mind`: 28605
- `Infinity_Dagger`: 28703
- `Twilight_Desert_`: 28704
-- `Crimson_Dagger`: 28705
+- `Scarlet_Dagger`: 28705
- `Dagger_of_Vicious_Mind`: 28706
- `Praetorian_Shield`: 28900
- `Cursed_Mad_Bunny`: 28901
diff --git a/doc/item_db.txt b/doc/item_db.txt
index 7e637c3c8..6ffc8a52b 100644
--- a/doc/item_db.txt
+++ b/doc/item_db.txt
@@ -45,7 +45,7 @@ item_db: (
Rogue: true/false (boolean, defaults to false)
Alchemist: true/false (boolean, defaults to false)
Bard: true/false (boolean, defaults to false)
- Gunslinger: true/false (boolean, defaults to false)
+ Gunslinger: true/false (boolean, defaults to false)
Ninja: true/false (boolean, defaults to false)
Taekwon: true/false (boolean, defaults to false)
Star_Gladiator: true/false (boolean, defaults to false)
@@ -55,6 +55,7 @@ item_db: (
Dark_Collector: true/false (boolean, defaults to false)
Kagerou: true/false (boolean, defaults to false)
Rebellion: true/false (boolean, defaults to false)
+ Summoner: true/false (boolean, defaults to false)
}
Job: Job mask (alternate synxtax, int, defaults to all jobs = 0xFFFFFFFF)
Upper: Upper mask (int, defaults to any = 0x3f)
@@ -104,8 +105,8 @@ item_db: (
Id: Item id
-AegisName: Server name to reference the item in scripts and lookups,
- should use no spaces.
+AegisName: Server name to reference the item in scripts and lookups.
+ Allowed characters: [A-Za-z0-9_]
Name: Name in English for displaying as output for @ and script commands.
@@ -179,6 +180,7 @@ Job: Job restrictions. If this block is omitted, item can be equipped by all cl
Dark Collector (2^28): 0x10000000
Kagerou/Oboro (2^29): 0x20000000
Rebellion (2^30): 0x40000000
+ Summoner (2^31): 0x80000000
Some other commonly used values:
All except novice: 0xFFFFFFFE
All (default value): 0xFFFFFFFF
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 9ac287d19..82471aed8 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -2466,11 +2466,11 @@ or, if a character name is specified, of that player.
Type is the kind of associated ID number required:
- 0 - Character ID number.
- 1 - Party ID number.
- 2 - Guild ID number.
- 3 - Account ID number.
- 4 - Battle ground ID
+(0) CHAR_ID_CHAR - Character ID number.
+(1) CHAR_ID_PARTY - Party ID number.
+(2) CHAR_ID_GUILD - Guild ID number.
+(3) CHAR_ID_ACCOUNT - Account ID number.
+(4) CHAR_ID_BG - Battle ground ID
For most purposes other than printing it, a number is better to have than
a name (people do horrifying things to their character names).
@@ -2479,12 +2479,12 @@ If the character is not in a party or not in a guild, the function will
return 0 if guild or party number is requested. If a name is specified and
the character is not found, 0 is returned.
-If getcharid(0) returns a zero, the script got called not by a character
+If getcharid(CHAR_ID_CHAR) returns a zero, the script got called not by a character
and doesn't have an attached RID. Note that this will cause the map server
to print "player not attached!" error messages, so it is preferred to use
playerattached() to check for the character attached to the script.
- if (getcharid(2) == 0)
+ if (getcharid(CHAR_ID_GUILD) == 0)
mes("Only members of a guild are allowed here!");
---------------------------------------
@@ -2588,7 +2588,7 @@ return 7 in this case.
Example 1: list party member names
// get the party member names
- getpartymember(getcharid(1), 0);
+ getpartymember(getcharid(CHAR_ID_PARTY), 0);
// It's a good idea to copy the global temporary $@partymember*****
// variables to your own scope variables because if you have pauses in
@@ -2610,8 +2610,8 @@ Example 2: check party count (with a next() pause), before warping to event
.register_num = 5; // How many party members are required?
// get the charID and accountID of character's party members
- getpartymember(getcharid(1), 1);
- getpartymember(getcharid(1), 2);
+ getpartymember(getcharid(CHAR_ID_PARTY), 1);
+ getpartymember(getcharid(CHAR_ID_PARTY), 2);
if ($@partymembercount != .register_num) {
mes("Please form a party of "+ .register_num +" to continue");
@@ -2645,7 +2645,7 @@ Example 2: check party count (with a next() pause), before warping to event
// party. To prevent this, we call getpartymember again and compare
// with the original values.
- getpartymember(getcharid(1), 1);
+ getpartymember(getcharid(CHAR_ID_PARTY), 1);
if ($@partymembercount != .register_num) {
mes("You've made changes to your party !");
close();
@@ -2658,7 +2658,7 @@ Example 2: check party count (with a next() pause), before warping to event
}
// Finally, it's safe to start the event!
- warpparty("event_map", 0, 0, getcharid(1));
+ warpparty("event_map", 0, 0, getcharid(CHAR_ID_PARTY));
---------------------------------------
@@ -3377,7 +3377,7 @@ guild.
Maybe you want to make a room only guild masters can enter:
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
if (.@GID == 0) {
mes("Sorry you are not in a guild");
close();
@@ -3476,7 +3476,7 @@ Returns the amount of characters from the specified guild on the given map.
Example:
- mes("You have "+getmapguildusers("prontera", getcharid(2))+" guild members in Prontera.");
+ mes("You have "+getmapguildusers("prontera", getcharid(CHAR_ID_GUILD))+" guild members in Prontera.");
---------------------------------------
@@ -4251,8 +4251,8 @@ See also warp().
*warpparty("<to_mapname>", <x>, <y>, <party_id>, {"<from_mapname>"})
Warps a party to specified map and coordinate given the party ID, which
-you can get with getcharid(1). You can also request another party id given
-a member's name with getcharid(1, <player_name>).
+you can get with getcharid(CHAR_ID_PARTY). You can also request another party id given
+a member's name with getcharid(CHAR_ID_PARTY, <player_name>).
You can use the following "map names" for special warping behavior:
Random: All party members are randomly warped in their current map
@@ -4273,7 +4273,7 @@ Example:
mes("[Party Warper]");
mes("Here you go!");
close2();
- .@id = getcharid(1);
+ .@id = getcharid(CHAR_ID_PARTY);
warpparty("prontera", 150, 100, .@id);
close();
@@ -4282,7 +4282,7 @@ Example:
*warpchar("<mapname>", <x>, <y>, <char_id>)
Warps another player to specified map and coordinate given the char id,
-which you can get with getcharid(0, <player_name>). Obviously this is
+which you can get with getcharid(CHAR_ID_CHAR, <player_name>). Obviously this is
useless if you want to warp the same player that is executing this script,
unless it's some kind of "chosen" script.
@@ -4295,8 +4295,8 @@ Example:
*warpguild("<mapname>", <x>, <y>, <guild_id>)
Warps a guild to specified map and coordinate given the guild id, which
-you can get with getcharid(2). You can also request another guild id given
-the member's name with getcharid(2, <player_name>).
+you can get with getcharid(CHAR_ID_GUILD). You can also request another guild id given
+the member's name with getcharid(CHAR_ID_GUILD, <player_name>).
You can use the following "map names" for special warping behavior:
Random: All guild members are randomly warped in their current map
@@ -4611,6 +4611,7 @@ Here are the possible look types:
10 - LOOK_BODY Body(N/A)
11 - LOOK_FLOOR FLOOR(N/A)
12 - LOOK_ROBE Robe
+ 13 - LOOK_BODY2 Body style
Whatever 'shoes' means is anyone's guess, ask Gravity - the client does
nothing with this value. It still wants it from the server though, so it
@@ -4748,7 +4749,7 @@ like this. Careful, minor magic ahead.
// item. Only an existing character's name may be there.
// Let's assume our character is 'Adam' and find his ID.
- .@charid = getcharid(0, "Adam");
+ .@charid = getcharid(CHAR_ID_CHAR, "Adam");
// Now we split the character ID number into two portions with a
// binary shift operation. If you don't understand what this does,
@@ -5927,10 +5928,10 @@ Examples:
// This will make Aaron follow Bullah, when both of these characters are
// online.
- pcfollow(getcharid(3, "Aaron"), getcharid(3, "Bullah"));
+ pcfollow(getcharid(CHAR_ID_ACCOUNT, "Aaron"), getcharid(CHAR_ID_ACCOUNT, "Bullah"));
// Makes Aaron stop following whoever he is following.
- pcstopfollow(getcharid(3, "Aaron"));
+ pcstopfollow(getcharid(CHAR_ID_ACCOUNT, "Aaron"));
---------------------------------------
@@ -5944,10 +5945,10 @@ player if zero is supplied.
Examples:
// Prevents the current char from moving away.
- pcblockmove(getcharid(3), true);
+ pcblockmove(getcharid(CHAR_ID_ACCOUNT), true);
// Enables the current char to move again.
- pcblockmove(getcharid(3), false);
+ pcblockmove(getcharid(CHAR_ID_ACCOUNT), false);
---------------------------------------
@@ -6008,7 +6009,7 @@ For example:
// We'll make a poring which will automatically attack invoking player:
.@mobGID = monster("prontera", 150, 150, "Poring", PORING, 1); // PORING is defined in the mob db and its value is 1002
- unitattack(.@mobGID, getcharid(3)); // Attacker GID, attacked GID
+ unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Attacker GID, attacked GID
The way you can get the GID of more than only one monster is looping
through all the summons to get their individual GIDs and do whatever you
@@ -6298,7 +6299,7 @@ Examples:
unitwalk(.GID, 150, 150);
//NPC will move towards the attached player.
- unitwalk(.GID, getcharid(3));//a player's GID is their account ID
+ unitwalk(.GID, getcharid(CHAR_ID_ACCOUNT));//a player's GID is their account ID
---------------------------------------
@@ -7229,6 +7230,39 @@ Example:
movenpc("Bugga", 100, 20);
---------------------------------------
+
+*navigateto("<map>"{,<x>,<y>,<flag>,<hide_window>,<monster_id>,<char_id>});
+
+Generates a navigation for attached or specified character. Requires client
+2011-10-10aRagEXE or newer.
+
+The flag specifies how the client will calculate the specific route.
+
+Valid flags are:
+ NAV_NONE - No services
+ NAV_AIRSHIP_ONLY - Airship only
+ NAV_SCROLL_ONLY - Scroll only
+ NAV_AIRSHIP_AND_SCROLL - Airship and Scroll
+ NAV_KAFRA_ONLY - Kafra only
+ NAV_KAFRA_AND_AIRSHIP - Kafra and Airship
+ NAV_KAFRA_AND_SCROLL - Kafra and Scroll
+ NAV_ALL - All services
+
+When flag is not specified, the default value is NAV_KAFRA_AND_AIRSHIP.
+
+The hide_window specifies whether to display (0) or hide (1) the navigation window.
+By default the window is hidden.
+
+You can specify the monster_id in combination with a mapname to make the
+navigation system tell you, that you have reached the desired mob.
+
+Note:
+The client requires custom monster spawns be in the navigation file
+for using the embedded client Navigation feature to work properly. In this
+instance sending the player to the map where the monster spawns is a simpler
+solution rather than sending the map and the monster_id.
+
+---------------------------------------
//=====================================
6 - Other Commands
//=====================================
@@ -8511,7 +8545,7 @@ ID this command returns.
Example:
// Store the Party ID of the invoking character.
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
// Attempt to create an instance using that party ID.
.@id = instance_create("Endless Tower", .@party_id);
@@ -8654,7 +8688,7 @@ max - maximum level of all characters in the party (default is max
Example:
-if (instance_check_party(getcharid(1), 2, 2, 149)) {
+if (instance_check_party(getcharid(CHAR_ID_PARTY), 2, 2, 149)) {
mes("Your party meets the Memorial Dungeon requirements.");
mes("All online members are between levels 1-150 and at least two are online.");
close();
@@ -8675,7 +8709,7 @@ min - minimum level of all characters in the guild (default is 1).
max - maximum level of all characters in the guild (default is max level in conf).
Example:
- if (instance_check_guild(getcharid(2), 2, 1, 150)) {
+ if (instance_check_guild(getcharid(CHAR_ID_GUILD), 2, 1, 150)) {
mes("Your guild meets the Memorial Dungeon requirements.");
mes("All online members are between levels 1-150 and at least two are online.");
close();
@@ -8899,10 +8933,10 @@ Example:
*bg_team_setxy(<Battle Group ID>, <x>, <y>)
Update the respawn point of the given battle group to x, y on the same
-map. The <Battle Group ID> can be retrieved using getcharid(4).
+map. The <Battle Group ID> can be retrieved using getcharid(CHAR_ID_BG).
Example:
- bg_team_setxy(getcharid(4), 56, 212);
+ bg_team_setxy(getcharid(CHAR_ID_BG), 56, 212);
mapannounce("bat_a01", "Group [1] has taken the work shop, and will now respawn there.", bc_map, 0xFFCE00);
end;
diff --git a/npc/MOTD.txt b/npc/MOTD.txt
index 1e5912f4a..280ac8854 100644
--- a/npc/MOTD.txt
+++ b/npc/MOTD.txt
@@ -29,6 +29,6 @@
// run when any character logs in, attached to them.
- script HerculesMOTD FAKE_NPC,{
- message strcharinfo(0),"Welcome to Hercules! Enjoy! Please report any bugs you find.";
+ message strcharinfo(PC_NAME),"Welcome to Hercules! Enjoy! Please report any bugs you find.";
end;
}
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt
index 677ab9da2..9653b9394 100644
--- a/npc/airports/airships.txt
+++ b/npc/airports/airships.txt
@@ -1186,8 +1186,8 @@ airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{
mesf("However, ^ff0000%s^000000,\r"
"you made the new top record\r"
"this time. Congratulations!",
- strcharinfo(0));
- $050320_minus1_typing$ = strcharinfo(0);
+ strcharinfo(PC_NAME));
+ $050320_minus1_typing$ = strcharinfo(PC_NAME);
$050320_ein_typing = .@tasoo;
close;
}
@@ -1389,7 +1389,7 @@ function script applegamble {
mes(.@n$);
mesf("I got a ^0000FF%d^000000 and a ^0000FF%d^000000.", .@table1, .@table2);
mesf("That's a total of ^0000FF%d^000000.", .@tablesub);
- mesf("^FF0000%s^000000, now it's your turn.", strcharinfo(0));
+ mesf("^FF0000%s^000000, now it's your turn.", strcharinfo(PC_NAME));
next;
select("Cast Dice.");
mes("^3355FF*Rolling and rumbling*^000000");
@@ -1405,21 +1405,21 @@ function script applegamble {
next;
mes(.@n$);
mesf("^FF0000%s^000000, you have ^FF0000%d^000000 and ^FF0000%d^000000. The total is ^FF0000%d^000000.",
- strcharinfo(0), .@player1, .@player2, .@playersub);
+ strcharinfo(PC_NAME), .@player1, .@player2, .@playersub);
next;
mes(.@n$);
if(.@playersub == .@tablesub) {
mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. "
"We are making an even game. Would you like to cast dice again?",
- .@tablesub, strcharinfo(0), .@playersub);
+ .@tablesub, strcharinfo(PC_NAME), .@playersub);
} else if (.@playersub > .@tablesub) {
mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. "
"^FF0000%s^000000, you are currently winning this game. Would you like to cast dice again?",
- .@tablesub, strcharinfo(0), .@playersub, strcharinfo(0));
+ .@tablesub, strcharinfo(PC_NAME), .@playersub, strcharinfo(PC_NAME));
} else if(.@tablesub > .@playersub) {
mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. "
"I am winning this game. Would you like to cast dice again?",
- .@tablesub, strcharinfo(0), .@playersub);
+ .@tablesub, strcharinfo(PC_NAME), .@playersub);
}
next;
switch (select("Cast dice.", "Cancel.")) {
@@ -1432,14 +1432,14 @@ function script applegamble {
if (.@playertotal > 12) {
mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. "
"You lost this game. I am sorry but please try again.",
- strcharinfo(0), .@player3, .@playertotal);
+ strcharinfo(PC_NAME), .@player3, .@playertotal);
close;
}
else if (.@playertotal < .@tablesub) {
mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. "
"Even though you casted dice again, still your total is smaller than mine. "
"You lost the game. I am sorry and please try again.",
- strcharinfo(0), .@player3, .@playertotal);
+ strcharinfo(PC_NAME), .@player3, .@playertotal);
close;
}
else if (.@playertotal == .@tablesub) {
@@ -1447,7 +1447,7 @@ function script applegamble {
mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. "
"I don't want to take any risk, let's end this game in a draw. "
"Let's play again some other time~",
- strcharinfo(0), .@player3, .@playertotal);
+ strcharinfo(PC_NAME), .@player3, .@playertotal);
close2;
getitem Apple,.@amount;
end;
@@ -1456,7 +1456,7 @@ function script applegamble {
else {
mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. "
"Now it is my turn.",
- strcharinfo(0), .@player3, .@playertotal);
+ strcharinfo(PC_NAME), .@player3, .@playertotal);
}
break;
case 2:
@@ -1504,7 +1504,7 @@ function script applegamble {
mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. "
"With total ^FF0000%d^000000 you won this game, ^FF0000%s^000000. Let me give you my apples. "
"It was a great game and I hope we will play again some other time.",
- .@table3, .@tabletotal, .@playertotal, strcharinfo(0));
+ .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME));
close2;
getitem Apple,.@giveapple;
end;
@@ -1513,7 +1513,7 @@ function script applegamble {
mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. "
"With total ^FF0000%d^000000 this game came out even, ^FF0000%s^000000. "
"Let me give you your apple back. It was a great game and I hope we will play again some other time.",
- .@table3, .@tabletotal, .@playertotal, strcharinfo(0));
+ .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME));
close2;
getitem Apple,.@amount;
end;
@@ -1521,7 +1521,7 @@ function script applegamble {
else if (.@playertotal < .@tabletotal) {
mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. "
"With total ^FF0000%d^000000 you lost this game, ^FF0000%s^000000. I am sorry but please try again.",
- .@table3, .@tabletotal, .@playertotal, strcharinfo(0));
+ .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME));
close;
}
}
diff --git a/npc/battleground/flavius/flavius01.txt b/npc/battleground/flavius/flavius01.txt
index 62c11135f..8370f1e53 100644
--- a/npc/battleground/flavius/flavius01.txt
+++ b/npc/battleground/flavius/flavius01.txt
@@ -405,7 +405,7 @@ OnTouch:
}
bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
- if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG1_Victory == 1) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -413,7 +413,7 @@ bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -421,7 +421,7 @@ bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -457,7 +457,7 @@ OnInit:
}
bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
- if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG1_Victory == 2) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -465,7 +465,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -473,7 +473,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -483,7 +483,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -491,7 +491,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -590,7 +590,7 @@ bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; }
bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
.@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1;
- if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -598,7 +598,7 @@ bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -606,7 +606,7 @@ bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -668,13 +668,13 @@ OnInit:
bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
.@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1;
- if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -682,7 +682,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -694,7 +694,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -702,7 +702,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -716,7 +716,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -724,7 +724,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
diff --git a/npc/battleground/flavius/flavius02.txt b/npc/battleground/flavius/flavius02.txt
index 0686d7957..232dd7e39 100644
--- a/npc/battleground/flavius/flavius02.txt
+++ b/npc/battleground/flavius/flavius02.txt
@@ -405,7 +405,7 @@ OnTouch:
}
bat_b02,10,294,3 script Guillaume Vintenar#b02_a 4_M_RASWORD,{
- if ($@FlaviusBG2_id1 == getcharid(4)) {
+ if ($@FlaviusBG2_id1 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG2_Victory == 1) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -413,7 +413,7 @@ bat_b02,10,294,3 script Guillaume Vintenar#b02_a 4_M_RASWORD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -421,7 +421,7 @@ bat_b02,10,294,3 script Guillaume Vintenar#b02_a 4_M_RASWORD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -457,7 +457,7 @@ OnInit:
}
bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{
- if ($@FlaviusBG2_id2 == getcharid(4)) {
+ if ($@FlaviusBG2_id2 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG2_Victory == 2) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -465,7 +465,7 @@ bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -473,7 +473,7 @@ bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -483,7 +483,7 @@ bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -491,7 +491,7 @@ bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -590,7 +590,7 @@ bat_b02,389,16,3 script Croix Camp#flag42 1_FLAG_EAGLE,{ end; }
bat_b02,10,294,3 script Vintenar#bat_b02_aover 4_M_KY_HEAD,{
.@A_B_gap = $@Guill_ScoreBG2 - $@Croix_ScoreBG2;
- if ($@FlaviusBG2_id1 == getcharid(4)) {
+ if ($@FlaviusBG2_id1 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
@@ -598,7 +598,7 @@ bat_b02,10,294,3 script Vintenar#bat_b02_aover 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -606,7 +606,7 @@ bat_b02,10,294,3 script Vintenar#bat_b02_aover 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -668,13 +668,13 @@ OnInit:
bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
.@A_B_gap = $@Guill_ScoreBG2 - $@Croix_ScoreBG2;
- if ($@FlaviusBG2_id2 == getcharid(4)) {
+ if ($@FlaviusBG2_id2 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
.@your_medal = countitem(BF_Badge2);
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -682,7 +682,7 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -694,7 +694,7 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 2) {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -702,7 +702,7 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s. Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -716,7 +716,7 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,9;
}
@@ -724,7 +724,7 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge2,.@medal_gap;
}
diff --git a/npc/battleground/kvm/kvm_item_pay.txt b/npc/battleground/kvm/kvm_item_pay.txt
index 92771f14b..f9dac0766 100644
--- a/npc/battleground/kvm/kvm_item_pay.txt
+++ b/npc/battleground/kvm/kvm_item_pay.txt
@@ -65,7 +65,7 @@ bat_room,151,144,3 script KVM Logistic Officer#a 4_M_JOB_KNIGHT2,{
"be reversed. Please be carefull.");
mes("Select the next step please.");
next;
- .@name$ = strcharinfo(0);
+ .@name$ = strcharinfo(PC_NAME);
switch(select("Read the KVM Catalogue.", "Purchase KVM Items.", "Confirm KVM Points.", "Explanation of KVM Rewards.", "Explanation of KVM Points.")) {
case 1:
mes("[Logistics]");
diff --git a/npc/battleground/tierra/tierra01.txt b/npc/battleground/tierra/tierra01.txt
index ff5c578ef..22a612c81 100644
--- a/npc/battleground/tierra/tierra01.txt
+++ b/npc/battleground/tierra/tierra01.txt
@@ -267,8 +267,8 @@ OnKill:
OnMyMobDead:
if (mobcount("bat_a01","OBJ#bat_a01_n::OnMyMobDead") < 17) {
- bg_team_setxy getcharid(4),56,212;
- if (getcharid(4) == $@TierraBG1_id1) {
+ bg_team_setxy getcharid(CHAR_ID_BG),56,212;
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
donpcevent "NOBJ_mob#bat_a01_a::OnEnable";
mapannounce("bat_a01", _("Guillaume captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00");
}
@@ -313,7 +313,7 @@ OnMyMobDead:
}
bat_a01,185,270,1 script Guillaume Blacksmith#a01 4_M_REPAIR,{
- if (getcharid(4) == $@TierraBG1_id1) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
mes("[Guillaume Blacksmith]");
mes("We are in urgency! The Barricade has been destroyed!");
mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
@@ -397,7 +397,7 @@ OnInit:
}
bat_a01,170,121,5 script Croix Blacksmith#bat_a01 4_M_REPAIR,{
- if (getcharid(4) == $@TierraBG1_id2) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) {
mes("[Croix Blacksmith]");
mes("We are in urgency! The Barricade has been destroyed!");
mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
@@ -622,28 +622,28 @@ OnTouch:
bat_a01,194,267,0 script barri_warp_up#bat_a01_a FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG1_id1)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1)
warp "bat_a01",194,261;
end;
}
bat_a01,194,265,0 script barri_warp_down#bat_a01a FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG1_id1)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1)
warp "bat_a01",194,270;
end;
}
bat_a01,177,130,0 script barri_warp_up#bat_a01_b FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG1_id2)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2)
warp "bat_a01",178,125;
end;
}
bat_a01,177,128,0 script barri_warp_down#bat_a01b FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG1_id2)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2)
warp "bat_a01",178,134;
end;
}
@@ -695,7 +695,7 @@ bat_a01,357,74,3 script Croix Camp#flag8 1_FLAG_EAGLE,{ end; }
bat_a01,348,74,3 script Croix Camp#flag9 1_FLAG_EAGLE,{ end; }
bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{
- if (getcharid(4) == $@TierraBG1_id1) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
if ($@TierraBG1_Victory == 1) {
.@your_medal = countitem(BF_Badge1);
.@medal_gap = 500 - .@your_medal;
@@ -703,7 +703,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -711,7 +711,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -765,7 +765,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -773,7 +773,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign of victory.", strcharinfo(0));
+ mesf("%s, it's a sign of victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -789,7 +789,7 @@ OnInit:
}
bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
- if (getcharid(4) == $@TierraBG1_id2) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) {
if ($@TierraBG1_Victory == 2) {
.@your_medal = countitem(BF_Badge1);
.@medal_gap = 500 - .@your_medal;
@@ -797,7 +797,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -805,7 +805,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -815,7 +815,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 0) {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -823,7 +823,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -837,7 +837,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 0) {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -845,7 +845,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -859,7 +859,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -867,7 +867,7 @@ bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
diff --git a/npc/battleground/tierra/tierra02.txt b/npc/battleground/tierra/tierra02.txt
index 04d7c69e7..a54935089 100644
--- a/npc/battleground/tierra/tierra02.txt
+++ b/npc/battleground/tierra/tierra02.txt
@@ -267,8 +267,8 @@ OnKill:
OnMyMobDead:
if (mobcount("bat_a02","OBJ#bat_a02_n::OnMyMobDead") < 17) {
- bg_team_setxy getcharid(4),56,212;
- if (getcharid(4) == $@TierraBG2_id1) {
+ bg_team_setxy getcharid(CHAR_ID_BG),56,212;
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) {
donpcevent "NOBJ_mob#bat_a02_a::OnEnable";
mapannounce("bat_a02", _("Guillaume captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00");
}
@@ -313,7 +313,7 @@ OnMyMobDead:
}
bat_a02,185,270,1 script Guillaume Blacksmith#a02 4_M_REPAIR,{
- if (getcharid(4) == $@TierraBG2_id1) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) {
mes("[Guillaume Blacksmith]");
mes("We are in urgency! The Barricade has been destroyed!");
mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
@@ -397,7 +397,7 @@ OnInit:
}
bat_a02,170,121,5 script Croix Blacksmith#bat_a02 4_M_REPAIR,{
- if (getcharid(4) == $@TierraBG2_id2) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) {
mes("[Croix Blacksmith]");
mes("We are in urgency! The Barricade has been destroyed!");
mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
@@ -622,28 +622,28 @@ OnTouch:
bat_a02,194,267,0 script barri_warp_up#bat_a02_a FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG2_id1)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1)
warp "bat_a02",194,261;
end;
}
bat_a02,194,265,0 script barri_warp_down#bat_a02a FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG2_id1)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1)
warp "bat_a02",194,270;
end;
}
bat_a02,177,130,0 script barri_warp_up#bat_a02_b FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG2_id2)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2)
warp "bat_a02",178,125;
end;
}
bat_a02,177,128,0 script barri_warp_down#bat_a02b FAKE_NPC,7,0,{
OnTouch:
- if (getcharid(4) == $@TierraBG2_id2)
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2)
warp "bat_a02",178,134;
end;
}
@@ -695,7 +695,7 @@ bat_a02,357,74,3 script Croix Camp#flag18 1_FLAG_EAGLE,{ end; }
bat_a02,348,74,3 script Croix Camp#flag19 1_FLAG_EAGLE,{ end; }
bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{
- if (getcharid(4) == $@TierraBG2_id1) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) {
if ($@TierraBG2_Victory == 1) {
.@your_medal = countitem(BF_Badge1);
.@medal_gap = 500 - .@your_medal;
@@ -703,7 +703,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -711,7 +711,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -765,7 +765,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -773,7 +773,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{
mes("[Axl Rose]");
mes("Blessed Guillaume!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign of victory.", strcharinfo(0));
+ mesf("%s, it's a sign of victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -789,7 +789,7 @@ OnInit:
}
bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
- if (getcharid(4) == $@TierraBG2_id2) {
+ if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) {
if ($@TierraBG2_Victory == 2) {
.@your_medal = countitem(BF_Badge1);
.@medal_gap = 500 - .@your_medal;
@@ -797,7 +797,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -805,7 +805,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
@@ -815,7 +815,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 0) {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -823,7 +823,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -837,7 +837,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
.@medal_gap = 500 - .@your_medal;
if (.@medal_gap > 0) {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -845,7 +845,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
}
else {
mes("[Swandery]");
- mesf("Oh, %s Don't be sad.", strcharinfo(0));
+ mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
mes("Even though we didn't win, we did our best.");
mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
close2;
@@ -859,7 +859,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,3;
}
@@ -867,7 +867,7 @@ bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{
mes("[Swandery]");
mes("Blessed Croix!");
mes("Let's enjoy our glorious victory!");
- mesf("%s, it's a sign reflecting victory.", strcharinfo(0));
+ mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
close2;
getitem BF_Badge1,.@medal_gap;
}
diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt
index e7ebe9141..f2820b3b0 100644
--- a/npc/cities/aldebaran.txt
+++ b/npc/cities/aldebaran.txt
@@ -777,7 +777,7 @@ aldeba_in,84,166,4 script Kafra Service#alde 4_F_KAFRA1,{
mes "Due to a change in customer support policy, we no longer accept Kafra Passes. However, we are offering refunds for our customers who still possess these passes.";
next;
if (select("Sell Kafra Pass", "Alright, bye~") == 1) {
- if (countitem(Kapra's_Pass) == 0) {
+ if (countitem(Kapras_Pass) == 0) {
mes "[Kafra Pavianne]";
mes "I'm sorry,";
mes "but you don't";
@@ -787,27 +787,27 @@ aldeba_in,84,166,4 script Kafra Service#alde 4_F_KAFRA1,{
end;
}
else {
- .@kafrapassmoney = countitem(Kapra's_Pass)*2000;
+ .@kafrapassmoney = countitem(Kapras_Pass)*2000;
mes "[Kafra Pavianne]";
mes "Let's see...";
- if (countitem(Kapra's_Pass) == 1) {
+ if (countitem(Kapras_Pass) == 1) {
mes "You have 1 Kafra Pass.";
mes "You can sell that pass to us for 2000 zeny. Would you like to sell this Kafra Pass back to the Kafra Corporation?";
}
else {
- mes "You have "+ countitem(Kapra's_Pass) +" Kafra Passes.";
+ mes "You have "+ countitem(Kapras_Pass) +" Kafra Passes.";
mes "If you want to sell them to us, you will receive "+ .@kafrapassmoney +" zeny. Would you like to sell these back to the Kafra Corporation?";
}
next;
if (select("Yes", "No") == 1) {
- if (countitem(Kapra's_Pass) == 0) {
+ if (countitem(Kapras_Pass) == 0) {
mes "[Kafra Pavianne]";
mes "I'm sorry, but you don't have any Kafra Passes.";
close2;
cutin "",255;
end;
}
- delitem Kapra's_Pass,countitem(Kapra's_Pass);
+ delitem Kapras_Pass,countitem(Kapras_Pass);
Zeny += .@kafrapassmoney;
mes "[Kafra Pavianne]";
mes "Thank you.";
@@ -906,12 +906,12 @@ aldeba_in,24,245,4 script Kafra Jasmine#alde 4_F_KAFRA3,{
next;
switch(select("What?! I can't believe that!", "Ahh~ Shut Up!", "Your service is great!")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What?!";
mes "I can't";
mes "believe that!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "FIVE THOUSAND AND EIGHT HUNDRED YEARS?! THAT'S INSANE!";
next;
mes "[Kafra Jasmine]";
@@ -1058,7 +1058,7 @@ aldeba_in,91,244,4 script Kafra Service#4alde 4_F_KAFRA6,{
aldeba_in,79,161,6 script Kafra#04 4_F_KAFRA3,{
cutin "kafra_03",2;
mes "[Kafra]";
- mes "Welcome, ^6666FF" + strcharinfo(0) + "^000000. This is where you can trade in your special reserve points for useful items and cool prizes.";
+ mes "Welcome, ^6666FF" + strcharinfo(PC_NAME) + "^000000. This is where you can trade in your special reserve points for useful items and cool prizes.";
next;
mes "[Kafra]";
mes "Each Kafra will allow you to trade in reserve points of varying amounts. I can trade in reserve points starting from ^2222FF100 pts up to 3000 pts^000000.";
@@ -1142,7 +1142,7 @@ aldeba_in,79,161,6 script Kafra#04 4_F_KAFRA3,{
aldeba_in,88,161,3 script Kafra#05 4_F_KAFRA3,{
cutin "kafra_03",2;
mes "[Kafra]";
- mes "Welcome ^5577FF"+strcharinfo(0)+"^000000. We are currently having a special event for our customers.";
+ mes "Welcome ^5577FF"+strcharinfo(PC_NAME)+"^000000. We are currently having a special event for our customers.";
mes "You can get free gifts by using your ^FF5533special reserve points^000000 in the ^3355FFSpecial Kafra Gift Event^000000!!";
next;
mes "[Kafra]";
diff --git a/npc/cities/ayothaya.txt b/npc/cities/ayothaya.txt
index 45f2d025f..79e3f8c13 100644
--- a/npc/cities/ayothaya.txt
+++ b/npc/cities/ayothaya.txt
@@ -167,7 +167,7 @@ ayothaya,171,152,5 script Girl#Lalitha 4_F_THAIAYO,{
mes "You know, like the dresses and jewelry that ladies wear in other countries, whether or not the men are good looking, what kind of songs you have, what kind of girls that guys over there like...";
emotion e_what;
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes ".........";
next;
mes "[Lalitha]";
@@ -196,7 +196,7 @@ ayothaya,171,152,5 script Girl#Lalitha 4_F_THAIAYO,{
mes "my Black Knight is~";
emotion e_lv;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't you mean...";
mes "Knight in shining armor";
mes "riding a white horse?";
diff --git a/npc/cities/einbech.txt b/npc/cities/einbech.txt
index 20d4725b4..33ba55ee0 100644
--- a/npc/cities/einbech.txt
+++ b/npc/cities/einbech.txt
@@ -469,7 +469,7 @@ ein_in01,277,95,7 script Ryan Danger#air#einbech 4_M_EINMAN,{
mes "clothes? I'll buy you whatever";
mes "you want, it's on me! C'mon~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "N-no...!";
mes "I-I-I-I...";
mes "^666666(This is the";
@@ -489,7 +489,7 @@ ein_in01,277,95,7 script Ryan Danger#air#einbech 4_M_EINMAN,{
mes "Or am I?";
mes "Bwahahahaha!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(Th-this guy";
mes "must be drunk out";
mes "of his freakin' mind!)";
diff --git a/npc/cities/einbroch.txt b/npc/cities/einbroch.txt
index 741d5b27a..c16dbfeff 100644
--- a/npc/cities/einbroch.txt
+++ b/npc/cities/einbroch.txt
@@ -338,7 +338,7 @@ einbroch,40,116,1 script Airship Engineer#ein-1 4_M_EINMAN,{
next;
switch(select("Ah~", "Uh huh...")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah~";
mes "I see, so you're";
mes "working on restoring";
@@ -352,7 +352,7 @@ einbroch,40,116,1 script Airship Engineer#ein-1 4_M_EINMAN,{
mes "fixing up Burielle...";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Uh huh...";
mes "Right. For a second";
mes "there, I thought you were";
@@ -360,7 +360,7 @@ einbroch,40,116,1 script Airship Engineer#ein-1 4_M_EINMAN,{
mes "then I also assumed that you";
mes "weren't, you know, a nutcase.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, did you say,";
mes "''prettiest model?''";
mes "All Airships look the";
diff --git a/npc/cities/geffen.txt b/npc/cities/geffen.txt
index 4df978a0d..7f299dfa2 100644
--- a/npc/cities/geffen.txt
+++ b/npc/cities/geffen.txt
@@ -497,7 +497,7 @@ geffen_in,22,125,1 script Crumpler 1_M_HOF,{
mes "IT BUUUURNS!";
close;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No...";
mes "I can only use";
mes "my powers for good.";
@@ -629,9 +629,9 @@ geffen_in,27,134,5 script Waitress#elen 4_F_02,{
next;
mes "[Elenore]";
if (Sex == SEX_MALE)
- mes "Tell me, have you ever heard of "+strcharinfo(0)+"? He's supposed to be the suavest hero around!";
+ mes "Tell me, have you ever heard of "+strcharinfo(PC_NAME)+"? He's supposed to be the suavest hero around!";
else
- mes "Have you ever heard of "+strcharinfo(0)+"? People say she's one of the prettiest girls in all of Rune-Midgard!";
+ mes "Have you ever heard of "+strcharinfo(PC_NAME)+"? People say she's one of the prettiest girls in all of Rune-Midgard!";
break;
case 4:
switch(rand(1,2)) {
@@ -667,7 +667,7 @@ geffen_in,27,134,5 script Waitress#elen 4_F_02,{
mes "[William's Spirit]";
mes "^990000Hey you sex crazed bastard!! Stop looking at my daughter like that before I rip out your eyes, and eat them with pasta!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
if (Sex == SEX_MALE) {
mes "Huh...?";
mes "C-come again?";
@@ -676,7 +676,7 @@ geffen_in,27,134,5 script Waitress#elen 4_F_02,{
mes "Huh...?";
mes "Oh, Dad must have possessed me again. It happens to me and my sister all the time.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No kidding?";
mes "Huh. Total bummer.";
next;
@@ -783,7 +783,7 @@ geffen_in,70,67,3 script Waitress#elise 4_F_01,{
mes "[William's Spirit]";
mes "^990000Stay away from my daughter, or I'll beat your brains out, punk! Elisa's gonna marry a doctor! Or a lawyer!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
if (Sex == SEX_MALE) {
mes "Y-y-y-yes, sir!";
next;
diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
index c1e199ea1..e308d9f73 100644
--- a/npc/cities/jawaii.txt
+++ b/npc/cities/jawaii.txt
@@ -849,7 +849,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
}
mes "....Hmm...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey...!";
mes "Bartender...";
mes "Gimmie one more.";
@@ -859,10 +859,10 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "It's on me.";
mes "Have a drink.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you.";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
while (1) {
@@ -876,7 +876,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "had enough to drink.";
mes "Are you sure you'll be okay?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Bartender,";
mes "I'm so depressed";
mes "because of...";
@@ -889,11 +889,11 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "a ^0000FF'Special J&Z'^000000 for you.";
mes "And this is on me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you...";
mes "So much...";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
if (Zeny > 99) Zeny -= 100;
@@ -1010,7 +1010,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "^3355FFYou slowly drank some";
mes "of your Gunslinger drink.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeeehaw~!";
mes "I'm a cowboy hero!";
mes "Bang Bang Bang!";
@@ -1036,7 +1036,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "with a luxurious, sweet and";
mes "sour flavor.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aaaaaahhhhhh~!";
mes "This drink is really good!";
specialeffect2 EF_SANCTUARY;
@@ -1087,7 +1087,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
break;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Master...";
mes "One more please...";
next;
@@ -1099,11 +1099,11 @@ S_KillChar:
mes "[Bartender]";
mes "It's on me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you...";
mes "Mr. Bartender...";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
if (Zeny > 99) Zeny -= 100;
@@ -1148,14 +1148,15 @@ jawaii_in,43,115,0 script Customer#jaw_1 4W_M_01,{
next;
mes "^3355FFHe ordered a JJ special for me.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Damn...!";
mes "Damn! I will be";
mes "the one who laughs last!";
next;
mes "^3355FFYou drank to your fill.^000000";
- close;
- percentheal -100,0;
+ close2;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
+ end;
}
mes "[Buchi]";
mes "You look happy...";
diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt
index 6ba3babbd..3cbe900c3 100644
--- a/npc/cities/lighthalzen.txt
+++ b/npc/cities/lighthalzen.txt
@@ -102,7 +102,7 @@ lighthalzen,261,112,3 script Ruth#zen4 4_F_LGTGIRL,{
mes "happiness. Oh, I love";
mes "you so much, Oyoung.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Whoa...";
mes "This couple is";
mes "really headed for";
@@ -126,7 +126,7 @@ lighthalzen,259,108,7 script Oyoung#zen14 4_M_LGTMAN,{
mes "they got vitamin deficiency.";
mes "I better take care of that~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Sweet Sister!";
mes "I don't know what's";
mes "more mind boggling--";
@@ -1049,7 +1049,7 @@ OnTouch:
emotion e_heh;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here you go,";
mes "take this.";
Zeny -= 50;
@@ -1087,16 +1087,16 @@ OnTouch:
mes "with reality. Like the stars that are always there, but not visible";
mes "during the day, we'll always have hope, even if we can't see it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
@@ -1138,16 +1138,16 @@ OnTouch:
mes "you can be someone else's";
mes "miracle. Isn't that wonderful?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
@@ -1206,16 +1206,16 @@ OnTouch:
mes "you a hero. Fighting with anger";
mes "born of frustration will make you a bully. Know the difference.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
emotion e_dots,1;
mes ". . . . . . . . . . . .";
mes ". . . . . . . . . . . .";
@@ -1229,7 +1229,7 @@ OnTouch:
close;
}
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...";
mes "......";
close;
@@ -1401,14 +1401,14 @@ lhz_in01,124,28,3 script Ellette#tre 1_F_01,{
mes "[Ellette]";
mes "...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me.";
next;
mes "[Ellette]";
mes "...";
mes "......";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hello?";
next;
mes "[Ellette]";
@@ -2762,7 +2762,7 @@ lhz_in02,267,22,1 script Shop Assistant#cobo 4_F_02,{
mes "membership fee that's waived when you spend a certain amount every";
mes "month in our store. If you invite your friends, you'll receive spe--";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "N-no thank you!";
mes "I'm not interested!";
close;
@@ -3004,7 +3004,7 @@ OnTouch:
if (Sex == SEX_MALE) {
mes "^3355FF*Click*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the...?";
mes "That sound. Did...";
mes "Did someone just";
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt
index 6b35ae2e7..92e57f434 100644
--- a/npc/cities/niflheim.txt
+++ b/npc/cities/niflheim.txt
@@ -50,7 +50,7 @@ niflheim,52,147,3 script Keedz#nif 4_M_NFDEADSWDMAN,{
niflheim,195,211,6 script Gigantia#nif 4_M_NFDEADSWDMAN,3,3,{
if (isequipped(5038) || isequipped(2257) || isequipped(2256)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What's up?";
next;
mes "[Gigantia]";
@@ -88,7 +88,7 @@ nif_in,16,27,1 script Undead Chicken#nif 4_NFCOCK,{
mes "[Undead Chicken]";
mes "I lived a peaceful life as a normal chicken. But then came the day I was tragically killed and eaten by humans. Well... Heh heh~! Now it's my turn! *Cackles*";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ouch...!";
mes "A chicken...";
mes "It bit me!";
@@ -110,7 +110,7 @@ nif_in,16,30,4 script Undead Familiar#nif 4_NFBAT,{
mes "always tasty...! I think I'll just";
mes "take a liiittle sip.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ow! My vein!";
mes "Did you just";
mes "suck my blood?!";
diff --git a/npc/cities/prontera.txt b/npc/cities/prontera.txt
index 9c0fb6af5..bbe6716e7 100644
--- a/npc/cities/prontera.txt
+++ b/npc/cities/prontera.txt
@@ -640,7 +640,7 @@ prt_church,103,76,0 script Garnet#pront 1_F_02,{
next;
break;
case 7:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Alright, I've";
mes "heard enough.";
close2;
diff --git a/npc/cities/rachel.txt b/npc/cities/rachel.txt
index 9299febee..ecd410ab1 100644
--- a/npc/cities/rachel.txt
+++ b/npc/cities/rachel.txt
@@ -39,7 +39,7 @@
//== Set 1 =================================================
ice_dun04,33,166,3 script Frozen Boy 4_M_FROZEN,{
cutin "ra_sboy.bmp",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This boy must be the one who Ktullanux tried to protect.";
next;
mes "- The boy was frozen inside a giant ice pole, and he looks as if he is in sleep rather than dead. -";
@@ -52,7 +52,7 @@ ice_dun04,33,166,3 script Frozen Boy 4_M_FROZEN,{
mes "- You wondered why a young boy had to be confined within this isolated cave, -";
mes "- you instinctively knew that no mage in this world would be able to release him from the ice pole.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What happened to this boy?";
close2;
cutin "",255;
@@ -349,7 +349,7 @@ rachel,197,137,3 script Bard#aru 1_M_BARD,{
mes "Yes, I'm talking about the pope~";
mes "Pope, yeah~ Pope, yeah~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You must be off your";
mes "rocker singing that";
mes "kind of song here";
diff --git a/npc/cities/umbala.txt b/npc/cities/umbala.txt
index 11cfdb6fd..a8127c372 100644
--- a/npc/cities/umbala.txt
+++ b/npc/cities/umbala.txt
@@ -1021,16 +1021,16 @@ umbala,140,197,1 script Bungee Jump FAKE_NPC,0,0,{
OnTouch:
switch(rand(1,3)) {
case 1:
- percentheal -100,0;
- mapannounce "umbala","Bungee Jump: "+strcharinfo(0)+" : Kyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~~~~~~~",bc_map;
+ Hp = 1;
+ mapannounce "umbala","Bungee Jump: "+strcharinfo(PC_NAME)+" : Kyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~~~~~~~",bc_map;
end;
case 2:
percentheal -50,0;
- mapannounce "umbala","Bungee Jump: "+strcharinfo(0)+" : Wooooooaaaaaaaaaaaaaahhhhhhhhhhhh~~~~~~!",bc_map;
+ mapannounce "umbala","Bungee Jump: "+strcharinfo(PC_NAME)+" : Wooooooaaaaaaaaaaaaaahhhhhhhhhhhh~~~~~~!",bc_map;
end;
case 3:
if (rand(1,2) == 2) {
- percentheal -99,0;
+ Hp = 1;
warp "nif_in",69,15;
}
end;
diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt
index b6404d57d..7ba3eecb0 100644
--- a/npc/custom/battleground/bg_common.txt
+++ b/npc/custom/battleground/bg_common.txt
@@ -204,7 +204,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -274,7 +274,7 @@ bat_room,156,121,1 script Tierra Valley Officer#2 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -344,7 +344,7 @@ bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -414,7 +414,7 @@ bat_room,164,121,1 script Tierra Valley Officer#4 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -485,7 +485,7 @@ bat_room,172,178,5 script Flavius Officer#1 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -556,7 +556,7 @@ bat_room,172,121,1 script Flavius Officer#2 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -627,7 +627,7 @@ bat_room,148,178,5 script Flavius Officer#3 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -698,7 +698,7 @@ bat_room,148,121,1 script Flavius Officer#4 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -766,7 +766,7 @@ bat_room,140,178,5 script KVM [80-99] Officer#1 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -834,7 +834,7 @@ bat_room,140,121,1 script KVM [80-99] Officer#2 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -902,7 +902,7 @@ bat_room,132,178,5 script KVM [60-79] Officer#1 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -970,7 +970,7 @@ bat_room,132,121,1 script KVM [60-79] Officer#2 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -1038,7 +1038,7 @@ bat_room,124,178,5 script KVM [1-59] Officer#1 4_M_KY_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
@@ -1106,7 +1106,7 @@ bat_room,124,121,1 script KVM [1-59] Officer#2 4_M_CRU_KNT,{
close;
}
- mes "Hello " + strcharinfo(0) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
+ mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!";
next;
if( select("I want to join your army!", "End Conversation") == 2 )
close;
diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt
index 33c662d93..0520902ba 100644
--- a/npc/custom/battleground/bg_flavius_01.txt
+++ b/npc/custom/battleground/bg_flavius_01.txt
@@ -276,7 +276,7 @@ bat_b01,390,13,5 script Guillaume Vintenar#fl1 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
set .@reward, 9;
} else {
@@ -305,12 +305,12 @@ bat_b01,10,293,5 script Croix Vintenar#fl1 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
set .@reward, 9;
} else {
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt
index eef7cf308..da6c9cfef 100644
--- a/npc/custom/battleground/bg_flavius_02.txt
+++ b/npc/custom/battleground/bg_flavius_02.txt
@@ -276,7 +276,7 @@ bat_b02,390,13,5 script Guillaume Vintenar#fl2 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
set .@reward, 9;
} else {
@@ -305,12 +305,12 @@ bat_b02,10,293,5 script Croix Vintenar#fl2 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
set .@reward, 9;
} else {
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt
index a4bd65e43..c27e042a2 100644
--- a/npc/custom/battleground/bg_kvm01.txt
+++ b/npc/custom/battleground/bg_kvm01.txt
@@ -317,7 +317,7 @@ bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
@@ -353,12 +353,12 @@ bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt
index 833a33747..cd13241cb 100644
--- a/npc/custom/battleground/bg_kvm02.txt
+++ b/npc/custom/battleground/bg_kvm02.txt
@@ -317,7 +317,7 @@ bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
@@ -353,12 +353,12 @@ bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt
index 9ca29deaf..3ec87355e 100644
--- a/npc/custom/battleground/bg_kvm03.txt
+++ b/npc/custom/battleground/bg_kvm03.txt
@@ -317,7 +317,7 @@ bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 0;
@@ -353,12 +353,12 @@ bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 0;
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "Please don't forget this battle. We can win the next.";
close2;
diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt
index 05b48c63e..56a505356 100644
--- a/npc/custom/battleground/bg_tierra_01.txt
+++ b/npc/custom/battleground/bg_tierra_01.txt
@@ -99,13 +99,13 @@ OnReadyCheck:
end;
OnNeutralBreak:
- if( getcharid(4) == $@TierraBG1_id1 )
+ if( getcharid(CHAR_ID_BG) == $@TierraBG1_id1 )
{
mapannounce "bat_a01","Guillaume obtained a neurality banner, so they have an advantage.",1,0x0000FF;
bg_team_setxy $@TierraBG1_id2,42,16;
areawarp "bat_a01",52,208,61,217,"bat_a01",42,16;
}
- else if( getcharid(4) == $@TierraBG1_id2 )
+ else if( getcharid(CHAR_ID_BG) == $@TierraBG1_id2 )
{
mapannounce "bat_a01","Croix obtained a neutrality banner, so they have an advantage.",1,0xFF0000;
bg_team_setxy $@TierraBG1_id1,50,374;
@@ -113,7 +113,7 @@ OnNeutralBreak:
}
else end;
- set .Neutral_Base, getcharid(4);
+ set .Neutral_Base, getcharid(CHAR_ID_BG);
bg_team_setxy .Neutral_Base,56,212;
if( .Guardian_1 == 0 )
@@ -326,12 +326,12 @@ bat_a01,45,19,3 script Croix Vintenar#tv1 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
@@ -355,7 +355,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#tv1 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt
index b3b6cff21..e0f1b402a 100644
--- a/npc/custom/battleground/bg_tierra_02.txt
+++ b/npc/custom/battleground/bg_tierra_02.txt
@@ -99,13 +99,13 @@ OnReadyCheck:
end;
OnNeutralBreak:
- if( getcharid(4) == $@TierraBG2_id1 )
+ if( getcharid(CHAR_ID_BG) == $@TierraBG2_id1 )
{
mapannounce "bat_a02","Guillaume obtained a neurality banner, so they have an advantage.",1,0x0000FF;
bg_team_setxy $@TierraBG2_id2,42,16;
areawarp "bat_a02",52,208,61,217,"bat_a02",42,16;
}
- else if( getcharid(4) == $@TierraBG2_id2 )
+ else if( getcharid(CHAR_ID_BG) == $@TierraBG2_id2 )
{
mapannounce "bat_a02","Croix obtained a neutrality banner, so they have an advantage.",1,0xFF0000;
bg_team_setxy $@TierraBG2_id1,50,374;
@@ -113,7 +113,7 @@ OnNeutralBreak:
}
else end;
- set .Neutral_Base, getcharid(4);
+ set .Neutral_Base, getcharid(CHAR_ID_BG);
bg_team_setxy .Neutral_Base,56,212;
if( .Guardian_1 == 0 )
@@ -326,12 +326,12 @@ bat_a02,45,19,3 script Croix Vintenar#tv2 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
+ mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
@@ -355,7 +355,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#tv2 4_M_KY_HEAD,{
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
+ mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory";
close2;
} else {
set .@reward, 1;
diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt
index 8fac6a76b..d959253f3 100644
--- a/npc/custom/bgqueue/flavius.txt
+++ b/npc/custom/bgqueue/flavius.txt
@@ -170,12 +170,12 @@ OnReset:
end;
OnCroixQuit:
- queueremove($@Croix_QueueBG1,getcharid(3));
+ queueremove($@Croix_QueueBG1,getcharid(CHAR_ID_ACCOUNT));
callsub L_OnPlayerQuit;
end;
OnGuillaumeQuit:
- queueremove($@Guill_QueueBG1,getcharid(3));
+ queueremove($@Guill_QueueBG1,getcharid(CHAR_ID_ACCOUNT));
callsub L_OnPlayerQuit;
end;
@@ -437,7 +437,7 @@ OnTouch:
}
bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
- if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG1_Victory == 1) {
set .@your_medal,countitem(BF_Badge2);
set .@medal_gap,500 - .@your_medal;
@@ -445,7 +445,7 @@ bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
mes "[Axl Rose]";
mes "Blessed Guillaume!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,9;
}
@@ -453,7 +453,7 @@ bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
mes "[Axl Rose]";
mes "Blessed Guillaume!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -489,7 +489,7 @@ OnInit:
}
bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
- if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) {
if ($@FlaviusBG1_Victory == 2) {
set .@your_medal,countitem(BF_Badge2);
set .@medal_gap,500 - .@your_medal;
@@ -497,7 +497,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
mes "[Swandery]";
mes "Blessed Croix!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,9;
}
@@ -505,7 +505,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
mes "[Swandery]";
mes "Blessed Croix!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -515,7 +515,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
set .@medal_gap,500 - .@your_medal;
if (.@medal_gap > 2) {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -523,7 +523,7 @@ bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
}
else {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -623,7 +623,7 @@ bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; }
bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
- if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
set .@your_medal,countitem(BF_Badge2);
set .@medal_gap,500 - .@your_medal;
@@ -631,7 +631,7 @@ bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
mes "[Axl Rose]";
mes "Blessed Guillaume!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,9;
}
@@ -639,7 +639,7 @@ bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
mes "[Axl Rose]";
mes "Blessed Guillaume!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,.@medal_gap;
}
@@ -701,13 +701,13 @@ OnInit:
bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
- if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) {
if (.@A_B_gap > 0) {
set .@your_medal,countitem(BF_Badge2);
set .@medal_gap,500 - .@your_medal;
if (.@medal_gap > 2) {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -715,7 +715,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
}
else {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -727,7 +727,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
set .@medal_gap,500 - .@your_medal;
if (.@medal_gap > 2) {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -735,7 +735,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
}
else {
mes "[Swandery]";
- mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
close2;
@@ -749,7 +749,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croix!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,9;
}
@@ -757,7 +757,7 @@ bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
mes "[Swandery]";
mes "Blessed Croix!";
mes "Let's enjoy our glorious victory!";
- mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory.";
close2;
getitem BF_Badge2,.@medal_gap;
}
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
index 35cd63dc2..555fd4c93 100644
--- a/npc/custom/breeder.txt
+++ b/npc/custom/breeder.txt
@@ -14,18 +14,18 @@ prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
/* TODO: This can be optimized with just setmount(), as it can
auto-detect the proper mount for the class/skills. */
if (hascashmount()) {
- message strcharinfo(0),"You must first remove your mount.";
+ message strcharinfo(PC_NAME),"You must first remove your mount.";
end;
- } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(Wolf's_Flute)) {
+ } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(Wolfs_Flute)) {
if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) {
if (select(" ~ Falcon", " ~ Warg") == 1)
setfalcon;
else
- getitem Wolf's_Flute, 1;
+ getitem Wolfs_Flute, 1;
specialeffect2 EF_TEIHIT3;
close;
} else {
- getitem Wolf's_Flute,1;
+ getitem Wolfs_Flute,1;
}
} else if ((eaclass()&EAJ_THIRDMASK) == EAJ_MECHANIC && !checkcart() && getskilllv(MC_PUSHCART)) {
if (!checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) {
@@ -48,7 +48,7 @@ prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
} else if (checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) {
setmount(MOUNT_MADO);
} else {
- message strcharinfo(0),"You do not meet requirements to rent.";
+ message strcharinfo(PC_NAME),"You do not meet requirements to rent.";
end;
}
specialeffect2 EF_TEIHIT3;
diff --git a/npc/custom/etc/bank_kafra.txt b/npc/custom/etc/bank_kafra.txt
index c4e16a9ec..375a9f611 100644
--- a/npc/custom/etc/bank_kafra.txt
+++ b/npc/custom/etc/bank_kafra.txt
@@ -20,7 +20,7 @@
- script Bank Clerk::bankg 4_M_ZONDAOYAJI,{
mes"[Maniss]";
- mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";
+ mes strcharinfo(PC_NAME)+", welcome to the 2nd Bank of Prontera!";
set @kb_int,(gettime(GETTIME_MONTH)*31)+gettime(GETTIME_DAYOFMONTH); //today's number
set @income,0;
diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt
index 13d60ec2f..421fccc78 100644
--- a/npc/custom/etc/lottery.txt
+++ b/npc/custom/etc/lottery.txt
@@ -293,7 +293,7 @@ LWinBig:
mes "Jackpot!";
mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
Zeny += $L_Prize_Money;
- announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
+ announce "Lottery: " + strcharinfo(PC_NAME) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
set #LID,0;
close;
@@ -303,7 +303,7 @@ LWinSmall:
mes "You have matched at least 4 numbers!";
mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
Zeny += $L_Prize_Money_Small;
- announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
+ announce "Lottery: " + strcharinfo(PC_NAME) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
set #LID,0;
close;
diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt
index 2af343023..4e521ec55 100644
--- a/npc/custom/etc/marriage.txt
+++ b/npc/custom/etc/marriage.txt
@@ -82,11 +82,11 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
close;
} // End official iRO dialog
- if (strcharinfo(0) == $wed_groom$) {
+ if (strcharinfo(PC_NAME) == $wed_groom$) {
SF_Groom();
end;
}
- if (strcharinfo(0) == $wed_bride$) {
+ if (strcharinfo(PC_NAME) == $wed_bride$) {
SF_Bride();
end;
}
@@ -102,11 +102,11 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
mes "I am going to wed "+$wed_groom$+" and "+$wed_bride$+", do you have an objection to it?";
if (select("Sorry, please go on.","Yes, I actually do.") == 2) {
//Abort
- npctalk "Ladies and gentlemen, "+strcharinfo(0)+" has an objection to the wedding!";
+ npctalk "Ladies and gentlemen, "+strcharinfo(PC_NAME)+" has an objection to the wedding!";
SF_wed_end();
mes "Why should they not be wed?";
input $@msg$;
- npctalk strcharinfo(0)+"'s objection is: "+$@msg$;
+ npctalk strcharinfo(PC_NAME)+"'s objection is: "+$@msg$;
emotion e_sob;
mes "I see...";
} else
@@ -319,7 +319,7 @@ function SF_StartCeremony {
set $wed_bride_progress,5;
set $wed_groom_progress,5;
set $@msg$,$wed_groom$;
- if (strcharinfo(0) == $wed_groom$)
+ if (strcharinfo(PC_NAME) == $wed_groom$)
set $@msg$,$wed_bride$;
if (marriage($@msg$) == 0) {
next;
@@ -531,7 +531,7 @@ function SF_Register {
}
function SF_WedProgress {
- if (strcharinfo(0) == $wed_groom$) {
+ if (strcharinfo(PC_NAME) == $wed_groom$) {
mes "["+@name$+"]";
if ($wed_bride_progress > 0)
mes "The Priest will handle the rest of the ceremony.";
@@ -539,7 +539,7 @@ function SF_WedProgress {
mes "Tell your bride to register, what is taking so long? Time is running out.";
close;
}
- if (strcharinfo(0) == $wed_bride$) {
+ if (strcharinfo(PC_NAME) == $wed_bride$) {
mes "["+@name$+"]";
if ($wed_groom_progress > 0)
mes "The Priest will handle the rest of the ceremony.";
@@ -720,16 +720,16 @@ function SF_TryRegister {
sc_start SC_WEDDING,3600000,1; //Start Wedding Effect (SC_WEDDING)
if (@bride) {
set $wed_bride_progress,1;
- set $wed_bride$,strcharinfo(0);
+ set $wed_bride$,strcharinfo(PC_NAME);
$wed_bride_sex = Sex;
if ($@wedding_effect == 1) //Store account id for effect.
- set $wedding_effect_id, getcharid(3);
+ set $wedding_effect_id, getcharid(CHAR_ID_ACCOUNT);
} else {
set $wed_groom_progress,1;
- set $wed_groom$,strcharinfo(0);
+ set $wed_groom$,strcharinfo(PC_NAME);
$wed_groom_sex = Sex;
if ($@wedding_effect == 2) //Store account id for effect.
- set $wedding_effect_id, getcharid(3);
+ set $wedding_effect_id, getcharid(CHAR_ID_ACCOUNT);
}
}
@@ -867,7 +867,7 @@ prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{
}
mes "["+@name$+"]";
set $@divorcee,getpartnerid();
- set $@divorcer$,strcharinfo(0);
+ set $@divorcer$,strcharinfo(PC_NAME);
set $@divorce_progress,1;
initnpctimer;
mes "Very well, get your partner to confirm, and I will collect the fee for filing the divorce then.";
@@ -877,12 +877,12 @@ prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{
end;
function SF_InProgress {
- if (strcharinfo(0) == $@divorcer$) {
+ if (strcharinfo(PC_NAME) == $@divorcer$) {
mes "["+@name$+"]";
mes "...I am still waiting for your partner to confirm the divorce procedure.";
close;
}
- if (getcharid(0) != $@divorcee) {
+ if (getcharid(CHAR_ID_CHAR) != $@divorcee) {
mes "["+@name$+"]";
mes "I am in the progress of divorcing "+$@divorcer$+".";
mes "Do you know who the spouse is?";
@@ -912,7 +912,7 @@ function SF_InProgress {
close;
}
Zeny -= $@wed_divorce_fee;
- announce $@divorcer$+" has just divorced "+strcharinfo(0)+"...", 8;
+ announce $@divorcer$+" has just divorced "+strcharinfo(PC_NAME)+"...", 8;
mes "["+@name$+"]";
mes "Your divorce has been filed. You are no longer wed.";
emotion e_sob;
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index 3a25679aa..db4c37b73 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -71,27 +71,27 @@ L_Info:
// Monster Summon Function //
function script monstersummon {
// 1. ---Change to Add Monsters--- //
- if (#monster == 10) summon strcharinfo(0) + "'s Poring",1002, "OnPoringKilled";
- if (#monster == 20) summon strcharinfo(0) + "'s Fabre",1007, "OnFaberKilled";
- if (#monster == 30) summon strcharinfo(0) + "'s Lunatic",1063, "OnLunaticKilled";
- if (#monster == 31) summon strcharinfo(0) + "'s Drops",1113, "OnDropsKilled";
- if (#monster == 32) summon strcharinfo(0) + "'s Picky",1049, "OnPickyKilled";
- if (#monster == 40) summon strcharinfo(0) + "'s ChonChon",1011, "OnChonChonKilled";
- if (#monster == 41) summon strcharinfo(0) + "'s Super Picky",1050, "OnSPickyKilled";
- if (#monster == 42) summon strcharinfo(0) + "'s Willow",1010, "OnWillowKilled";
- if (#monster == 50) summon strcharinfo(0) + "'s Roda Frog",1012, "OnRodaKilled";
- if (#monster == 51) summon strcharinfo(0) + "'s Condor",1009, "OnCondorKilled";
- if (#monster == 60) summon strcharinfo(0) + "'s Thief Bug Larva",1051, "OnThiefKilled";
- if (#monster == 70) summon strcharinfo(0) + "'s Savage Babe",1167, "OnSavageKilled";
- if (#monster == 80) summon strcharinfo(0) + "'s Familiar",1005, "OnFamiliarKilled";
- if (#monster == 81) summon strcharinfo(0) + "'s Hornet",1004, "OnHornetKilled";
- if (#monster == 90) summon strcharinfo(0) + "'s Desert Wolf Puppy",1107, "OnPuppyKilled";
- if (#monster == 91) summon strcharinfo(0) + "'s Spore",1014, "OnSporeKilled";
- if (#monster == 92) summon strcharinfo(0) + "'s Rocker",1052, "OnRockerKilled";
- if (#monster == 100) summon strcharinfo(0) + "'s Skeleton",1076, "OnSkeletonKilled";
- if (#monster == 101) summon strcharinfo(0) + "'s Plankton",1161, "OnPlanktonKilled";
- if (#monster == 102) summon strcharinfo(0) + "'s Antonio",1247, "OnAntonioKilled";
- if (#monster == 103) summon strcharinfo(0) + "'s Thief Bug Female",1053, "OnThiefFemaleKilled";
+ if (#monster == 10) summon strcharinfo(PC_NAME) + "'s Poring",1002, "OnPoringKilled";
+ if (#monster == 20) summon strcharinfo(PC_NAME) + "'s Fabre",1007, "OnFaberKilled";
+ if (#monster == 30) summon strcharinfo(PC_NAME) + "'s Lunatic",1063, "OnLunaticKilled";
+ if (#monster == 31) summon strcharinfo(PC_NAME) + "'s Drops",1113, "OnDropsKilled";
+ if (#monster == 32) summon strcharinfo(PC_NAME) + "'s Picky",1049, "OnPickyKilled";
+ if (#monster == 40) summon strcharinfo(PC_NAME) + "'s ChonChon",1011, "OnChonChonKilled";
+ if (#monster == 41) summon strcharinfo(PC_NAME) + "'s Super Picky",1050, "OnSPickyKilled";
+ if (#monster == 42) summon strcharinfo(PC_NAME) + "'s Willow",1010, "OnWillowKilled";
+ if (#monster == 50) summon strcharinfo(PC_NAME) + "'s Roda Frog",1012, "OnRodaKilled";
+ if (#monster == 51) summon strcharinfo(PC_NAME) + "'s Condor",1009, "OnCondorKilled";
+ if (#monster == 60) summon strcharinfo(PC_NAME) + "'s Thief Bug Larva",1051, "OnThiefKilled";
+ if (#monster == 70) summon strcharinfo(PC_NAME) + "'s Savage Babe",1167, "OnSavageKilled";
+ if (#monster == 80) summon strcharinfo(PC_NAME) + "'s Familiar",1005, "OnFamiliarKilled";
+ if (#monster == 81) summon strcharinfo(PC_NAME) + "'s Hornet",1004, "OnHornetKilled";
+ if (#monster == 90) summon strcharinfo(PC_NAME) + "'s Desert Wolf Puppy",1107, "OnPuppyKilled";
+ if (#monster == 91) summon strcharinfo(PC_NAME) + "'s Spore",1014, "OnSporeKilled";
+ if (#monster == 92) summon strcharinfo(PC_NAME) + "'s Rocker",1052, "OnRockerKilled";
+ if (#monster == 100) summon strcharinfo(PC_NAME) + "'s Skeleton",1076, "OnSkeletonKilled";
+ if (#monster == 101) summon strcharinfo(PC_NAME) + "'s Plankton",1161, "OnPlanktonKilled";
+ if (#monster == 102) summon strcharinfo(PC_NAME) + "'s Antonio",1247, "OnAntonioKilled";
+ if (#monster == 103) summon strcharinfo(PC_NAME) + "'s Thief Bug Female",1053, "OnThiefFemaleKilled";
close;
}
@@ -146,46 +146,46 @@ L_Start:
// Special Summons //
Special1:
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
- summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
+ summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled";
close;
Special2:
- summon strcharinfo(0) + "'s Mastering",1090, "OnSpecialKilled";
+ summon strcharinfo(PC_NAME) + "'s Mastering",1090, "OnSpecialKilled";
close;
Special3:
- summon strcharinfo(0) + "'s Eclipse",1093, "OnSpecialKilled";
+ summon strcharinfo(PC_NAME) + "'s Eclipse",1093, "OnSpecialKilled";
close;
Special4:
- summon strcharinfo(0) + "'s Dragon Fly",1091, "OnSpecialKilled";
+ summon strcharinfo(PC_NAME) + "'s Dragon Fly",1091, "OnSpecialKilled";
close;
Special5:
- summon strcharinfo(0) + "'s Toad",1089, "OnSpecialKilled";
+ summon strcharinfo(PC_NAME) + "'s Toad",1089, "OnSpecialKilled";
close;
L_Exit:
@@ -222,7 +222,7 @@ L_High:
close2;
savepoint "gon_test",56,99;
set @battle,1;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",72,87;
end;
@@ -230,7 +230,7 @@ L_4to6:
close2;
savepoint "gon_test",56,99;
set @battle,1;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",57,86;
end;
@@ -238,7 +238,7 @@ L_1to3:
close2;
savepoint "gon_test",56,99;
set @battle,1;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",43,87;
end;
@@ -246,7 +246,7 @@ L_Exit:
close2;
savepoint "prontera",149,186;
set @battle,0;
- atcommand strcharinfo(0) + "@option 0 0 0";
+ atcommand strcharinfo(PC_NAME) + "@option 0 0 0";
warp "prontera",149,186;
end;
@@ -254,7 +254,7 @@ L_Spec:
close2;
savepoint "gon_test",56,99;
set @battle,0;
- atcommand strcharinfo(0) + "@option 0 0 0";
+ atcommand strcharinfo(PC_NAME) + "@option 0 0 0";
warp "gon_test",57,99;
end;
@@ -296,7 +296,7 @@ gon_test,52,103,6 script Monster Trainer 4_M_BARBER,{
close;
L_Mon:
- mes "Welcome back, " + strcharinfo(0) + ".";
+ mes "Welcome back, " + strcharinfo(PC_NAME) + ".";
mes "Your monster has " + #monpoints + " exp points.";
next;
if (@fighting == 1) goto L_Heal;
@@ -712,10 +712,10 @@ gon_test,56,91,6 script OnSpecialKilled FAKE_NPC,{
}
function script duelkill {
- if (strcharinfo(0) == $@duelist1$ || strcharinfo(0) == $@duelist2$) goto L_Heal;
+ if (strcharinfo(PC_NAME) == $@duelist1$ || strcharinfo(PC_NAME) == $@duelist2$) goto L_Heal;
end;
L_Heal:
- announce strcharinfo(0) + " won the Duel",1;
+ announce strcharinfo(PC_NAME) + " won the Duel",1;
set @fighting,0;
set #heal,0;
set @healing,0;
@@ -723,8 +723,9 @@ L_Heal:
}
function script illegalkill {
- announce "Illegal Kill by " + strcharinfo(0) + " Detected",1;
- percentheal -100,-100;
+ announce "Illegal Kill by " + strcharinfo(PC_NAME) + " Detected",1;
+ Sp = 0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
@@ -790,10 +791,10 @@ gon_test,58,103,5 script Duel Master#01 4_F_03,{
if (#monster > 79 && #monster < 90) set $@monster1,8;
if (#monster > 89 && #monster < 100) set $@monster1,9;
if (#monster > 99 && #monster < 110) set $@monster1,10;
- set $@duelist1$,strcharinfo(0);
+ set $@duelist1$,strcharinfo(PC_NAME);
set @battle,1;
- announce strcharinfo(0) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ announce strcharinfo(PC_NAME) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1;
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",49,5;
close;
@@ -818,10 +819,10 @@ L_Duel2:
if (#monster > 79 && #monster < 90) set $@monster2,8;
if (#monster > 89 && #monster < 100) set $@monster2,9;
if (#monster > 99 && #monster < 110) set $@monster2,10;
- set $@duelist2$,strcharinfo(0);
+ set $@duelist2$,strcharinfo(PC_NAME);
set @battle,1;
- announce strcharinfo(0) + " [Monster Level: " + $@monster2 + "] has joined the duel",1;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ announce strcharinfo(PC_NAME) + " [Monster Level: " + $@monster2 + "] has joined the duel",1;
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",49,5;
close;
@@ -834,7 +835,7 @@ L_Dueling:
L_Spec:
set @battle,0;
- atcommand strcharinfo(0) + "@option 64 0 64";
+ atcommand strcharinfo(PC_NAME) + "@option 64 0 64";
warp "gon_test",49,5;
close;
@@ -863,11 +864,11 @@ gon_test,42,8,5 script Duel Master#02 4_F_03,{
close;
L_Leave:
- if ($@duelist1$ == strcharinfo(0)) goto L_Leave1;
- if ($@duelist2$ == strcharinfo(0)) goto L_Leave2;
+ if ($@duelist1$ == strcharinfo(PC_NAME)) goto L_Leave1;
+ if ($@duelist2$ == strcharinfo(PC_NAME)) goto L_Leave2;
L_Leave3:
- atcommand strcharinfo(0) + "@option 0 0 0";
+ atcommand strcharinfo(PC_NAME) + "@option 0 0 0";
set @battle,0;
warp "gon_test",57,99;
close;
@@ -876,14 +877,14 @@ L_Leave1:
set $@duelist1$,$@duelist2$;
set $@monster1,$@monster2;
set $@duel,$@duel-1;
- announce strcharinfo(0) + " stopped dueling",1;
+ announce strcharinfo(PC_NAME) + " stopped dueling",1;
goto L_Leave3;
L_Leave2:
set $@duelist2$,"";
set $@monster2,0;
set $@duel,$@duel-1;
- announce strcharinfo(0) + " stopped dueling",1;
+ announce strcharinfo(PC_NAME) + " stopped dueling",1;
goto L_Leave3;
}
diff --git a/npc/custom/etc/morroc_raceway.txt b/npc/custom/etc/morroc_raceway.txt
index 87f91ff7e..745b1d779 100644
--- a/npc/custom/etc/morroc_raceway.txt
+++ b/npc/custom/etc/morroc_raceway.txt
@@ -74,7 +74,7 @@ L_Menu:
addtimer 2000, "Starter::OnCount2000";
addtimer 3000, "Starter::OnCount3000";
addtimer 4000, "Starter::OnCount4000";
- announce strcharinfo(0) + "Started a countdown",1;
+ announce strcharinfo(PC_NAME) + "Started a countdown",1;
announce "Get ready to race!",1;
close;
@@ -135,7 +135,7 @@ pvp_y_1-5,73,247,5 script Check Point 2 HIDDEN_NPC,6,6,{
OnTouch:
if (@race != 1) goto L_Miss;
set @race,2;
- announce "[" + strcharinfo(0) +"] has reached Checkpoint [1]",1;
+ announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [1]",1;
end;
L_Miss:
mes "You have missed a Checkpoint. Please go back.";
@@ -148,7 +148,7 @@ pvp_y_1-5,77,44,5 script Check Point 3 HIDDEN_NPC,6,6,{
OnTouch:
if (@race != 2) goto L_Miss;
set @race,3;
- announce "[" + strcharinfo(0) +"] has reached Checkpoint [2]",1;
+ announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [2]",1;
end;
L_Miss:
mes "You have missed a Checkpoint. Please go back.";
@@ -161,7 +161,7 @@ pvp_y_1-5,249,60,5 script Check Point 4 HIDDEN_NPC,6,6,{
OnTouch:
if (@race != 3) goto L_Miss;
set @race,4;
- announce "[" + strcharinfo(0) +"] has reached Checkpoint [3]",1;
+ announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [3]",1;
end;
L_Miss:
mes "You have missed a Checkpoint. Please go back.";
@@ -174,7 +174,7 @@ pvp_y_1-5,255,256,5 script Check Point 5 HIDDEN_NPC,6,6,{
OnTouch:
if (@race != 4) goto L_Miss;
set @race,5;
- announce "[" + strcharinfo(0) +"] has reached Checkpoint [4]",1;
+ announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [4]",1;
end;
L_Miss:
mes "You have missed a Checkpoint. Please go back.";
@@ -189,7 +189,7 @@ OnTouch:
if (@race != 5) goto L_Miss;
set @race,6;
set $@position,$@position+1;
- announce "[" + strcharinfo(0) +"] has reached The Finish line! [Position: " + $@position + "]",1;
+ announce "[" + strcharinfo(PC_NAME) +"] has reached The Finish line! [Position: " + $@position + "]",1;
end;
L_Miss:
mes "You have missed a Checkpoint. Please go back.";
diff --git a/npc/custom/etc/rpsroulette.txt b/npc/custom/etc/rpsroulette.txt
index e0f8b8952..331c0f0af 100644
--- a/npc/custom/etc/rpsroulette.txt
+++ b/npc/custom/etc/rpsroulette.txt
@@ -96,7 +96,8 @@ cmd_in02,182,126,2 script Crazy Boris 4_M_03,{
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
mes "You're dead!";
emotion e_gg;
- percentheal -100,-100;
+ Sp = 0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
close;
}
specialeffect EF_SUI_EXPLOSION;
diff --git a/npc/custom/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt
index ccc9810c3..4acf7c8ac 100644
--- a/npc/custom/etc/shifty_assassin.txt
+++ b/npc/custom/etc/shifty_assassin.txt
@@ -116,7 +116,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
set #ninjasr,@number-@ninjasurvived;
mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
- announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
+ announce @name$+" has survived " + strcharinfo(PC_NAME) +"'s Ninja attack.",8;
close;
}
// SUCCESSFUL ATTACK //
@@ -127,8 +127,8 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
set #ninjasr,@number-@ninjasurvived;
mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
- atcommand strcharinfo(0) + "@kill "+@name$;
- announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",bc_npc;
+ atcommand strcharinfo(PC_NAME) + "@kill "+@name$;
+ announce @name$+" has been assassinated by " + strcharinfo(PC_NAME) +"'s Ninjas.",bc_npc;
close;
case 3:
mes "[Shifty Assassin]";
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt
index 2388d239d..fbdbbed3f 100644
--- a/npc/custom/events/cluckers.txt
+++ b/npc/custom/events/cluckers.txt
@@ -23,30 +23,30 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
if (.startcluck) {
specialeffect2 2;
switch(rand(15)) {
- case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
+ case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 1: npctalk "Cluuuuuck!~"; break;
- case 2: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break;
+ case 2: unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; break;
case 3: sc_start SC_FREEZE,10000,0; break;
- case 4: npctalk "CLUUUUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
+ case 4: npctalk "CLUUUUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 5: sc_start SC_SLEEP,10000,0; break;
case 6: sc_start SC_STONE,10000,0; emotion 29; break;
- case 7: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
- case 8: npctalk "Cluck! CLUUUCK!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
+ case 7: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break;
+ case 8: npctalk "Cluck! CLUUUCK!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 9: sc_start SC_STUN,10000,0; break;
case 10: sc_start SC_SLEEP,10000,0; emotion 29; break;
case 11: npctalk "Cluck! Cluck!"; break;
case 12: sc_start SC_STUN,10000,0; break;
- case 13: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break;
+ case 13: unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; break;
default:
if (rand(50) < 4) {
npctalk "WOOF!...........";
specialeffect2 72;
- announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " squeezed out the prize! Well done!",0;
+ announce "[Cluck! Cluck! Boom!] " + strcharinfo(PC_NAME) + " squeezed out the prize! Well done!",0;
getitem $cluck_item_id,$cluck_item_amount;
set .startcluck,0;
} else {
npctalk "Cluck! CLUUUCK!!";
- unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1;
+ unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1;
}
break;
}
@@ -54,7 +54,7 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
}
mes "[Cluckers]";
if (getgmlevel() >= .@GMAccess) {
- mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(0) + ", Wanna play today?~^000000";
+ mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(PC_NAME) + ", Wanna play today?~^000000";
mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000";
next;
while(1) switch(select("Start Event", "Check Prize", "Set Prize", "Not today Cluckers")) {
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index 476a21f27..cd44d1767 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -233,7 +233,7 @@ iCorrect:
deletepset 1;
activatepset 1;
getitem .Prize,.PrizeAmt;
- announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
+ announce strcharinfo(PC_NAME)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
if (.RoundCount>=.Rounds) {
setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
set .RoundCount,0; set .Change,0; set .EventON,0;
diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt
index 6a8cbc59d..b9c54c09e 100644
--- a/npc/custom/events/mushroom_event.txt
+++ b/npc/custom/events/mushroom_event.txt
@@ -51,7 +51,7 @@ OnMinute10: // Start time (every hour)
OnMobKilled:
set .Spawn, .Spawn - 1;
getitem .Prize, .Amount;
- if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
+ if (.Spawn) announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
else {
announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
set .status,0;
diff --git a/npc/custom/events/uneasy_cemetery.txt b/npc/custom/events/uneasy_cemetery.txt
index 72ae51fc2..a2e746f20 100644
--- a/npc/custom/events/uneasy_cemetery.txt
+++ b/npc/custom/events/uneasy_cemetery.txt
@@ -44,7 +44,7 @@ OnZombieDead:
set $@UNEASY_MOB,$@UNEASY_MOB-1;
if ($@UNEASY_MOB>0) end;
set $UNEASY_DL,0;
- set $UNEASY_H$,strcharinfo(0);
+ set $UNEASY_H$,strcharinfo(PC_NAME);
if (Sex == SEX_MALE)
mapannounce "prontera","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0;
else
@@ -70,15 +70,15 @@ prontera,257,313,5 script Mother Mathana 1_F_PRIEST,{
mes "[Mother Mathana]";
if ($UNEASY_DL <= 0) goto L_Undead_Walk;
mes "I'm afraid there's something wrong with our old cemetery...";
- if ($UNEASY_H$==strcharinfo(0)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!";
- if ($UNEASY_H$!=strcharinfo(0)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!";
+ if ($UNEASY_H$==strcharinfo(PC_NAME)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!";
+ if ($UNEASY_H$!=strcharinfo(PC_NAME)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!";
emotion 0;
close;
L_Undead_Walk:
if ($UNEASY_DL == 0) mes "THEY could return tomorrow's night again!";
- if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(0)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!";
- if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(0)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!";
+ if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(PC_NAME)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!";
+ if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(PC_NAME)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!";
mes "To calm down the restless cemetery, we should pour all these graves with the Holy Water. But our sisters and broters have run out of it.";
mes "Could you supply us with Holy Water?";
next;
@@ -91,12 +91,12 @@ L_Undead_Walk:
if ($UNEASY_BL > 0) {
mes "[Mother Mathana]";
- mes "Thank you, good "+strcharinfo(0)+", but we still need " + $UNEASY_BL + " more Holy Water bottles.";
+ mes "Thank you, good "+strcharinfo(PC_NAME)+", but we still need " + $UNEASY_BL + " more Holy Water bottles.";
close;
}
//set quiet days!!! no more undead for this period!
set $UNEASY_DL,5+((0-$UNEASY_BL)/30);
- set $UNEASY_H$,strcharinfo(0);
+ set $UNEASY_H$,strcharinfo(PC_NAME);
mes "[Mother Mathana]";
mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!";
next;
diff --git a/npc/custom/events/xmas_rings_event.txt b/npc/custom/events/xmas_rings_event.txt
index d76c0a784..05e4f40f6 100644
--- a/npc/custom/events/xmas_rings_event.txt
+++ b/npc/custom/events/xmas_rings_event.txt
@@ -128,7 +128,7 @@ louyang,224,249,4 script Sneewy 4_F_KID3,{
}
set Q_XMSRINGS,2;
delitem 644,4;
- getnameditem 2637,strcharinfo(0);
+ getnameditem 2637,strcharinfo(PC_NAME);
emotion e_kis2;
mes "Thank you! Here's my li'l something for you!";
next;
@@ -178,7 +178,7 @@ izlu2dun,133,160,2 script Snoowy 4_F_06,{
}
set Q_XMSRINGS,3;
delitem 644,3;
- getnameditem 2636,strcharinfo(0);
+ getnameditem 2636,strcharinfo(PC_NAME);
emotion e_kis;
mes "Thaank yoouu! Have this magic ring!";
close;
diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt
index 22b505741..97c4e7284 100644
--- a/npc/custom/healer.txt
+++ b/npc/custom/healer.txt
@@ -20,7 +20,7 @@
if (@HD > gettimetick(2)) end;
if (.@price) {
- message strcharinfo(0),"Healing costs "+.@price+" Zeny.";
+ message strcharinfo(PC_NAME),"Healing costs "+.@price+" Zeny.";
if (Zeny < .@price) end;
if(select("^0055FFHeal^000000", "^777777Cancel^000000") == 2) close;
Zeny -= .@price;
diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt
index 7e90542b1..a0097bb55 100644
--- a/npc/custom/item_signer.txt
+++ b/npc/custom/item_signer.txt
@@ -126,7 +126,7 @@ prt_in,24,61,7 script Perchik 1_M_01,{
delitem2 .@id,1,1,.@ref,0,.@slot[0],.@slot[1],.@slot[2],.@slot[3];
mes "Done!";
emotion e_proud;
- getitem2 .@id,1,1,.@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
+ getitem2 .@id,1,1,.@ref,0,254,0,getcharid(CHAR_ID_CHAR)&0xffff,(getcharid(CHAR_ID_CHAR)>>16)&0xffff;
equip .@id;
close;
}
diff --git a/npc/custom/itembind.txt b/npc/custom/itembind.txt
index d39bfe802..8c51ad24d 100644
--- a/npc/custom/itembind.txt
+++ b/npc/custom/itembind.txt
@@ -25,7 +25,7 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
}
mes "What kind of bind?";
.@boundtype = 1 << (select("Account", "Guild", "Character")-1);
- if(.@boundtype == 2 && (!getcharid(2) || getguildmaster(getcharid(2)) != strcharinfo(0))) {
+ if(.@boundtype == 2 && (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))) {
mes "In order for me to bind an item to a guild you must be the master of one.";
close;
}
@@ -92,7 +92,7 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
next;
for(.@i = 0; .@i < getarraysize(@bound_items); .@i++) {
if(@inventorylist_id[.@item] == @bound_items[.@i] &&
- (!getcharid(2) || getguildmaster(getcharid(2)) != strcharinfo(0))
+ (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))
) {
mes "I will only unbind guild bound items that the guild master requests.";
close;
diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt
index fa1e61eac..9f9e509f4 100644
--- a/npc/custom/quests/bandit_beard.txt
+++ b/npc/custom/quests/bandit_beard.txt
@@ -70,7 +70,7 @@ L_MAKE:
mes "[Bearded Man]";
mes "Let's make you your beard!";
next;
- if(countitem(Flexible_String) < 1 || countitem(Animal's_Skin) < 1 || countitem(Black_Dyestuffs) < 1 || countitem(Granpa_Beard) < 1 ||
+ if(countitem(Flexible_String) < 1 || countitem(Animals_Skin) < 1 || countitem(Black_Dyestuffs) < 1 || countitem(Granpa_Beard) < 1 ||
countitem(Sticky_Mucus) < 100 || countitem(Counteragent) < 1 || countitem(Crystal_Jewel_) < 1) goto L_NOITEMS;
delitem 7200, 1;
delitem 919, 1;
diff --git a/npc/custom/quests/elvenear.txt b/npc/custom/quests/elvenear.txt
index dca4fdfd8..02e650e78 100644
--- a/npc/custom/quests/elvenear.txt
+++ b/npc/custom/quests/elvenear.txt
@@ -36,7 +36,7 @@ geffen,127,49,5 script Elven Ears Quest 4_M_02,{
mes "[Elven Ears quest]";
mes "Good good, let me just check";
next;
- if (countitem(Cat_Hairband)<1 || countitem(Elder_Pixie's_Beard)<20 || countitem(Animal's_Skin)<20) {
+ if (countitem(Cat_Hairband) < 1 || countitem(Elder_Pixies_Beard) < 20 || countitem(Animals_Skin) < 20) {
mes "[Elven Ears Quest]";
mes "You don't have the requirements.";
mes "Please come back another time...";
diff --git a/npc/custom/quests/event_6_new_hats.txt b/npc/custom/quests/event_6_new_hats.txt
index 593293a69..50110ff52 100644
--- a/npc/custom/quests/event_6_new_hats.txt
+++ b/npc/custom/quests/event_6_new_hats.txt
@@ -194,13 +194,13 @@ prt_in,53,56,5 script Jac 1_M_PAY_ELDER,{
mes "Oh, dear. You need 10 Steels...";
close;
}
- if (countitem(Bear's_Foot) < 200) {
+ if (countitem(Bears_Foot) < 200) {
mes "[Jac]";
mes "Oh, dear. You need 200 Bear Footskins...";
close;
}
delitem Steel,10;//Items: Steel,
- delitem Bear's_Foot,200; //Items: Bears Footskin,
+ delitem Bears_Foot,200; //Items: Bears Footskin,
mes "[Jac]";
mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Panda Hat for you right away. Please Wait a Moment.";
next;
diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt
index ad18a73f5..611bdd480 100644
--- a/npc/custom/quests/hunting_missions.txt
+++ b/npc/custom/quests/hunting_missions.txt
@@ -24,7 +24,7 @@
prontera,152,187,6 script Hunting Missions 4_F_EDEN_MASTER,{
function Chk; function Cm;
mes "[Hunting Missions]";
- mes "Hello, "+strcharinfo(0)+"!";
+ mes "Hello, "+strcharinfo(PC_NAME)+"!";
if (!#Mission_Delay) {
next;
mes "[Hunting Missions]";
@@ -50,7 +50,7 @@ function Chk; function Cm;
mes "You've started a mission";
mes "on another character.";
if ( !@hm_char_del_check ) {
- if ( !query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(3) +" )", .@dummy ) ) {
+ if ( !query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(CHAR_ID_ACCOUNT) +" )", .@dummy ) ) {
next;
mes "[Hunting Missions]";
mes "I can't seem to find any records";
@@ -198,8 +198,8 @@ Mission_Status:
set #Mission_Count,0;
if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
set Mission_Total, Mission_Total+1;
- if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(0)+",'Mission_Total','0',1)");
- else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(0)+" AND `key` = 'Mission_Total'");
+ if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(CHAR_ID_CHAR)+",'Mission_Total','0',1)");
+ else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(CHAR_ID_CHAR)+" AND `key` = 'Mission_Total'");
close;
Mission_Info:
@@ -258,7 +258,7 @@ OnBuyItem:
close;
OnNPCKillEvent:
- if (!getcharid(1) || !.Party) {
+ if (!getcharid(CHAR_ID_PARTY) || !.Party) {
if (!#Mission_Count || !Mission0) end;
for (set .@i, 0; .@i<.Quests; set .@i,.@i+1) {
if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) {
@@ -271,8 +271,8 @@ OnNPCKillEvent:
} else if (.Party) {
set .@mob, killedrid;
getmapxy(.@map1$, .@x1, .@y1, UNITTYPE_PC);
- getpartymember getcharid(1),1;
- getpartymember getcharid(1),2;
+ getpartymember getcharid(CHAR_ID_PARTY),1;
+ getpartymember getcharid(CHAR_ID_PARTY),2;
for(set .@i,0; .@i<$@partymembercount; set .@i,.@i+1) {
if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
attachrid $@partymemberaid[.@i];
diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt
index beea787a1..a1864f96f 100644
--- a/npc/custom/quests/may_hats.txt
+++ b/npc/custom/quests/may_hats.txt
@@ -62,10 +62,10 @@ gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
next;
if (select("Yeah.", "Nay." != 1))
break;
- if(countitem(Tiger_Mask) < 1 || countitem(Tiger_Footskin) < 10 || countitem(Tiger's_Skin) < 30 || countitem(Tiger_Skin_Panties) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
+ if(countitem(Tiger_Mask) < 1 || countitem(Tiger_Footskin) < 10 || countitem(Tigers_Skin) < 30 || countitem(Tiger_Skin_Panties) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger_Footskin, Tiger_Panty,
delitem Tiger_Mask,1;//Items: Tiger_Mask,
- delitem Tiger_Footskin,10;//Items: Tiger's_Footskin,
- delitem Tiger's_Skin,30;//Items: Tiger_Skin,
+ delitem Tiger_Footskin,10;//Items: Tiger_Footskin,
+ delitem Tigers_Skin,30;//Items: Tiger_Skin,
delitem Tiger_Skin_Panties,300;//Items: Tiger_Panty,
getitem Lion_Mask,1;//Items: Lion_Mask,
mes "[Yakima]";
@@ -95,7 +95,7 @@ gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
delitem Manteau_,2;//Items: Manteau_,
delitem Skul_Ring,3;//Items: Skull_Ring,
delitem Old_Manteau,10;//Items: Old_Manteau,
- getitem Skeleton's_Cape,1;//Items: Skeleton_Manteau,
+ getitem Skeletons_Cape,1;//Items: Skeleton_Manteau,
mes "[Yakima]";
mes "Thank you very very much!";
mes callfunc("F_Bye");
diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt
index 2db3b069a..f96b4cb75 100644
--- a/npc/custom/quests/quest_shop.txt
+++ b/npc/custom/quests/quest_shop.txt
@@ -96,7 +96,7 @@ OnMenu:
}
deletearray @i[0],getarraysize(@i);
if (.Shops$[.@i] == "") {
- message strcharinfo(0),"An error has occurred.";
+ message strcharinfo(PC_NAME),"An error has occurred.";
end;
}
dispbottom "Select one item at a time.";
@@ -110,7 +110,7 @@ OnBuyItem:
copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0]));
set .@q[2],.@q[1]*.@q[3];
if (!.@q[2] || .@q[2] > 30000) {
- message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+".";
+ message strcharinfo(PC_NAME),"You can't purchase that many "+getitemname(.@q[0])+".";
end;
}
mes "[Quest Shop]";
@@ -143,7 +143,7 @@ OnBuyItem:
if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1]*.@q[1];
getitem .@q[0],.@q[2];
- if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
+ if (.Announce) announce strcharinfo(PC_NAME)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
specialeffect2 EF_FLOWERLEAF;
close;
case 2:
diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt
index 24e3f7410..2ea65e3c9 100644
--- a/npc/custom/quests/thq/THQS_ChatingNPC.txt
+++ b/npc/custom/quests/thq/THQS_ChatingNPC.txt
@@ -66,11 +66,11 @@ N_Member:
mes "Well unless you are reading the code :)";
close;
N_Chat1:
- mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+".";
+ mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(PC_NAME)+".";
mes "Did you hear about that brave man that went into Glast Heim alone?! He must be crazy.";
close;
N_Chat2:
- mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest.";
+ mes ""+strcharinfo(PC_NAME)+" don't you have something better you could be doing? Like a quest.";
close;
}
//another usless member
@@ -82,12 +82,12 @@ yuno_in01,25,162,6 script Female Wizard 2_F_MAGICMASTER,{
N_Member:
set @temp,rand(2);
if (@temp == 1) goto N_Chat;
- mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+".";
+ mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(PC_NAME)+".";
mes "Did you hear about that goat man running around in the trees?";
mes " ";
mes "Aperently his name is Baphomet and he has been runing around the Forest Maze out side of prontera for quite some time now.";
close;
N_Chat:
- mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest.";
+ mes ""+strcharinfo(PC_NAME)+" don't you have something better you could be doing? Like a quest.";
close;
}
diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt
index 05379e345..5a7c4883b 100644
--- a/npc/custom/quests/thq/THQS_GuildNPC.txt
+++ b/npc/custom/quests/thq/THQS_GuildNPC.txt
@@ -20,7 +20,7 @@ yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{
if (Event_THQS==1)
goto N_AlreadyReg;
mes "[Keegan]";
- mes "Well "+strcharinfo(0)+" if you want to be a Treasure Hunter first you must.";
+ mes "Well "+strcharinfo(PC_NAME)+" if you want to be a Treasure Hunter first you must.";
mes " ";
mes "^FF00001.^000000 You well be changed ^FF000025,000z^000000 for basic training and your proof of being a member.";
mes " ";
@@ -49,13 +49,13 @@ yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{
if (Event_THQS!=1)
goto A_NeedReg;
mes "[Keegan]";
- mes "Well "+strcharinfo(0)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there.";
+ mes "Well "+strcharinfo(PC_NAME)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there.";
close;
case 3:
if (Event_THQS!=1)
goto N_NeedMem;
mes "[Keegan]";
- mes "Yes "+strcharinfo(0)+" I will take you to our shop right away!";
+ mes "Yes "+strcharinfo(PC_NAME)+" I will take you to our shop right away!";
next;
warp "prt_in",166,171;
close;
@@ -66,7 +66,7 @@ yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{
}
N_NoZeny:
mes "[Keegan]";
- mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(0)+". Please come back when you do.";
+ mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(PC_NAME)+". Please come back when you do.";
close;
N_AlreadyReg:
mes "[Keegan]";
diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt
index 606559e74..1bbe8fd7a 100644
--- a/npc/custom/quests/thq/THQS_QuestNPC.txt
+++ b/npc/custom/quests/thq/THQS_QuestNPC.txt
@@ -18,11 +18,11 @@
yuno_in01,112,151,6 script Quest Manager 1_M_SIZ,{
mes "[Guy]";
- mes "Welcome to the Treasure Hunters Guild "+strcharinfo(0)+".";
+ mes "Welcome to the Treasure Hunters Guild "+strcharinfo(PC_NAME)+".";
next;
if (On_Quest == 0) goto N_NewQuest;
mes "[Guy]";
- mes "Look " +strcharinfo(0)+ ", you can only 1 quest at a time, you should finish the quest unless you have given up.";
+ mes "Look " +strcharinfo(PC_NAME)+ ", you can only 1 quest at a time, you should finish the quest unless you have given up.";
mes "Giving up will cost you ^FF00002500z^000000.";
next;
if (select("No, never would I leave a quest!", "Yah I'm pathetic... Pay 2500z") == 1) {
diff --git a/npc/custom/quests/thq/THQS_Quests.txt b/npc/custom/quests/thq/THQS_Quests.txt
index 55037eb5c..c0eb1427a 100644
--- a/npc/custom/quests/thq/THQS_Quests.txt
+++ b/npc/custom/quests/thq/THQS_Quests.txt
@@ -228,7 +228,7 @@ N_QuestStart:
///////Job list 3///////
//3-1;
moc_fild04,208,322,6 script Clark 1_M_YOUNGKNIGHT,{
- if (three_qset == 1 && countitem(Elder_Pixie's_Beard) > 29) goto N_QuestComp;
+ if (three_qset == 1 && countitem(Elder_Pixies_Beard) > 29) goto N_QuestComp;
if (three_qset == 1) goto N_QuestStart;
mes "[Clark]";
mes "Love to chat, but I'm waiting for someone.";
@@ -433,7 +433,7 @@ N_QuestComp:
mes "[Czhore]";
mes "Thank god!";
mes " ";
- mes "I'm so happy to see one of these Emperiums! Thank you "+strcharinfo(0)+".";
+ mes "I'm so happy to see one of these Emperiums! Thank you "+strcharinfo(PC_NAME)+".";
next;
mes "[Czhore]";
mes "Here have these 2 Treasure Tokens.";
@@ -456,7 +456,7 @@ N_QuestStart:
///////Job list 5///////
//5-1;
prt_maze01,18,184,6 script Lithin#01 4_M_CRU_OLD,{
- if (five_qset == 1 && countitem(Wild_Boar's_Mane) > 14) goto N_QuestComp;
+ if (five_qset == 1 && countitem(Wild_Boars_Mane) > 14) goto N_QuestComp;
if (five_qset == 1) goto N_QuestStart;
mes "[Lithin]";
mes "Well hello.";
@@ -668,7 +668,7 @@ prontera,123,208,6 script Little Girl#thq 4_F_KID3,{
if (seven_qset == 1) goto N_QuestStart;
if (eight_qset == 1) goto N_QuestStart2;
mes "[Girl]";
- mes "Hello mister "+strcharinfo(0)+".";
+ mes "Hello mister "+strcharinfo(PC_NAME)+".";
close;
N_QuestComp:
mes "[Girl]";
@@ -694,7 +694,7 @@ alberta,101,84,6 script Charles 1_M_02,{
if (seven_qset == 2 && countitem(Merchant_Box_2) > 0) goto N_QuestComp;
if (seven_qset == 2) goto N_QuestStart;
mes "[Charles]";
- mes "Hello "+strcharinfo(0)+" welcome to Alberta.";
+ mes "Hello "+strcharinfo(PC_NAME)+" welcome to Alberta.";
close;
N_QuestComp:
mes "[Charles]";
@@ -782,7 +782,7 @@ morocc,165,55,6 script Klye 1_M_02,{
if (eight_qset == 2 && countitem(Merchant_Box_1) > 0) goto N_QuestComp;
if (eight_qset == 2) goto N_QuestStart;
mes "[Klye]";
- mes "Hello "+strcharinfo(0)+".";
+ mes "Hello "+strcharinfo(PC_NAME)+".";
close;
N_QuestComp:
mes "[Klye]";
@@ -858,7 +858,7 @@ geffen_in,168,124,6 script Mage 1_M_02,{
if (nine_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp;
if (nine_qset == 1) goto N_QuestStart;
mes "[Mage]";
- mes "Hello "+strcharinfo(0)+" welcome to the Mage Guild.";
+ mes "Hello "+strcharinfo(PC_NAME)+" welcome to the Mage Guild.";
close;
N_QuestComp:
mes "[Mage]";
@@ -873,7 +873,7 @@ N_QuestComp:
close;
N_QuestStart:
mes "[Mage]";
- mes "Hello "+strcharinfo(0)+", Where is my box of Toad Tounges?.";
+ mes "Hello "+strcharinfo(PC_NAME)+", Where is my box of Toad Tounges?.";
close;
}
//9-2;
@@ -955,7 +955,7 @@ morocc,193,51,6 script Kreg 1_M_02,{
if (ten_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp;
if (ten_qset == 1) goto N_QuestStart;
mes "[Kreg]";
- mes "Hello "+strcharinfo(0)+" welcome to Morroc.";
+ mes "Hello "+strcharinfo(PC_NAME)+" welcome to Morroc.";
close;
N_QuestComp:
mes "[Kreg]";
@@ -975,7 +975,7 @@ N_QuestStart:
}
//10-2;
pay_fild10,145,252,6 script Man#02 2_M_DYEINGER,{
- if (ten_qset == 2 && countitem(Tiger's_Skin) > 0) goto N_QuestComp;
+ if (ten_qset == 2 && countitem(Tigers_Skin) > 0) goto N_QuestComp;
if (ten_qset == 2) goto N_QuestStart;
mes "[Man]";
mes "Sorry I'm waiting for someone, you will have to come back later";
@@ -995,12 +995,12 @@ N_QuestStart:
mes "[Man]";
mes "Tony the Tiger is on Crack! He must be stoped, KILL HIM!";
mes " ";
- mes "Bring me back 1 Tiger's_Skin!";
+ mes "Bring me back 1 Tiger's Skin!";
close;
}
//10-3;
cmd_fild08,328,349,4 script Caral 2_M_SWORDMASTER,{
- if (ten_qset == 3 && countitem(Thin_N'_Long_Tongue) > 0) goto N_QuestComp;
+ if (ten_qset == 3 && countitem(Thin_N_Long_Tongue) > 0) goto N_QuestComp;
if (ten_qset == 3) goto N_QuestStart;
mes "[Caral]";
mes "Sorry I'm waiting for someone, you will have to come back later.";
diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt
index 9883950a1..c85a9c9fe 100644
--- a/npc/custom/quests/thq/THQS_TTShop.txt
+++ b/npc/custom/quests/thq/THQS_TTShop.txt
@@ -154,7 +154,7 @@ function script ths_menu_weapons {
// Main script
prt_in,164,174,1 script Treasure Hunter's Shop 1_M_YOUNGKNIGHT,{
mes "[Ash]";
- mes "Ahh, "+strcharinfo(0)+"! Welcome to the Offical Treasure Hunter's Guild Shop.";
+ mes "Ahh, "+strcharinfo(PC_NAME)+"! Welcome to the Offical Treasure Hunter's Guild Shop.";
mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
next;
switch( select("How does this place work?","What do you have in stock?","Nevermind") ) {
diff --git a/npc/custom/stylist.txt b/npc/custom/stylist.txt
index 37661ccb9..0ee7d8822 100644
--- a/npc/custom/stylist.txt
+++ b/npc/custom/stylist.txt
@@ -19,12 +19,12 @@ prontera,170,180,1 script Stylist#custom_stylist 2_M_DYEINGER,{
set .@style,1;
while(1) {
setlook .@Look[.@s], .@style;
- message strcharinfo(0),"This is style #"+.@style+".";
+ message strcharinfo(PC_NAME),"This is style #"+.@style+".";
set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
switch(select(.@menu$)) {
case 1: set .@style, ((.@style!=.@styles[.@s])?.@style+1:1); break;
case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s]); break;
- case 3: message strcharinfo(0),"Choose a style between 1 - "+.@styles[.@s]+".";
+ case 3: message strcharinfo(PC_NAME),"Choose a style between 1 - "+.@styles[.@s]+".";
input .@style,0,.@styles[.@s];
if (!.@style) set .@style, rand(1,.@styles[.@s]);
break;
diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt
index d240a2730..70bab9400 100644
--- a/npc/custom/warper.txt
+++ b/npc/custom/warper.txt
@@ -35,7 +35,7 @@ menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
" ~ Special Areas",Special;
if (lastwarp$ == "")
- message strcharinfo(0),"You haven't warped anywhere yet.";
+ message strcharinfo(PC_NAME),"You haven't warped anywhere yet.";
else
warp lastwarp$,lastwarpx,lastwarpy;
end;
@@ -92,7 +92,7 @@ function Pick {
.@map$ = getarg(0)+((.@i<10)?"0":"")+.@i;
}
if (.@warp_block & (1<<.@select)) {
- message strcharinfo(0),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
+ message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
end;
}
.@x = @c[.@i*2];
@@ -107,7 +107,7 @@ function Restrict {
for (.@i = 1; .@i < getargcount(); .@i++)
@warp_block = @warp_block | (1<<getarg(.@i));
} else {
- message strcharinfo(0),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
+ message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal.";
end;
}
}
diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt
index b0836820f..14e288be7 100644
--- a/npc/custom/woe_controller.txt
+++ b/npc/custom/woe_controller.txt
@@ -192,13 +192,13 @@ OnReward:
return;
OnPCLoadMapEvent:
- if (!compare(strcharinfo(3),"g_cas")) end;
- if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) {
- if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end;
+ if (!compare(strcharinfo(PC_MAP),"g_cas")) end;
+ if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(PC_MAP),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(PC_MAP))))) {
+ if (getcharid(CHAR_ID_GUILD) && getcastledata(strcharinfo(PC_MAP),1) == getcharid(CHAR_ID_GUILD)) end;
sleep2 1000;
- message strcharinfo(0), getcastlename(strcharinfo(3))+" is currently inactive.";
+ message strcharinfo(PC_NAME), getcastlename(strcharinfo(PC_MAP))+" is currently inactive.";
sleep2 5000;
- if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0;
+ if (compare(strcharinfo(PC_MAP),"g_cas")) warp "SavePoint",0,0;
}
end;
diff --git a/npc/dev/test.txt b/npc/dev/test.txt
index ee2bda259..b711a0a28 100644
--- a/npc/dev/test.txt
+++ b/npc/dev/test.txt
@@ -606,7 +606,7 @@ function script HerculesSelfTestHelper {
callsub(OnCheck, "'PORING' mob ID", PORING, 1002);
callsub(OnCheck, "'NV_BASIC' skill ID", NV_BASIC, 1);
callsub(OnCheck, "'Red_Potion' item ID", Red_Potion, 501);
- callsub(OnCheck, "'Monster's_Feed' item ID", Monster's_Feed, 528);
+ callsub(OnCheck, "'Monsters_Feed' item ID", Monsters_Feed, 528);
// setd/getd
diff --git a/npc/events/MemorialDay_2008.txt b/npc/events/MemorialDay_2008.txt
index cf4e54430..41ff5b610 100644
--- a/npc/events/MemorialDay_2008.txt
+++ b/npc/events/MemorialDay_2008.txt
@@ -51,7 +51,7 @@ prontera,182,214,4 script Lauds#Memorial 1_M_MERCHANT,{
mes "[Mad Sago Lauds]";
mes "Where is your towel!?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "My what?";
next;
mes "[Mad Sago Lauds]";
@@ -107,7 +107,7 @@ prontera,182,214,4 script Lauds#Memorial 1_M_MERCHANT,{
delitem 1059,30;
delitem 914,20;
getitem 6025,1;
- getnameditem 6025," + strcharinfo(0) + ";
+ getnameditem 6025," + strcharinfo(PC_NAME) + ";
Memorial08 = 2;
close;
}
@@ -200,11 +200,11 @@ prontera,182,214,4 script Lauds#Memorial 1_M_MERCHANT,{
//== Memorial Plaque =======================================
prontera,153,286,4 script Memorial Plaque#Memorial 4_BOARD3,{
if (Memorial08 < 8) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "- It's a dusty old plaque.-";
close;
} else if (Memorial08 == 8) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "- It's a dusty old plaque.-";
mes "'This must be what Lauds was talking about.'";
mes "'Let's dust it off with the towel.'";
@@ -339,7 +339,7 @@ prontera,150,270,4 script Grast#Memorial 4_M_HUMERCHANT,{
next;
mes "[Grast]";
mes "If I provide you all materials, however, I won't have to thank you for your service.";
- mes "It's your call, " + strcharinfo(0) + ".";
+ mes "It's your call, " + strcharinfo(PC_NAME) + ".";
next;
if (select("I'll gather the rest.", "Give me the materials.") == 2) {
goto L_GiveUp;
@@ -357,7 +357,7 @@ prontera,150,270,4 script Grast#Memorial 4_M_HUMERCHANT,{
mes "[Grast]";
mes "You see, I have two different gifts in my each hand.";
mes "A best thing would be giving you both of them, but...";
- mes "How do you like to test your luck, " + strcharinfo(0) + "?";
+ mes "How do you like to test your luck, " + strcharinfo(PC_NAME) + "?";
next;
mes "[Grast]";
mes "Okay, which hand would you like to pick?";
diff --git a/npc/events/christmas_2005.txt b/npc/events/christmas_2005.txt
index db2423e8f..0a631cfb6 100644
--- a/npc/events/christmas_2005.txt
+++ b/npc/events/christmas_2005.txt
@@ -64,7 +64,7 @@ xmas_in,89,92,5 script Louise Kim#designer 4_F_06,{
mes "";
emotion e_lv;
next;
- if (countitem(Santa's_Hat) > 0) {
+ if (countitem(Santas_Hat) > 0) {
if (select("Here.", "It's ok.") == 1) {
mes "[Designer Louise Kim]";
mes "Nice choice!!";
@@ -160,11 +160,11 @@ xmas_in,89,92,5 script Louise Kim#designer 4_F_06,{
mes "~Who would be happier than~";
mes "~being with Louise.~";
emotion e_ho;
- delitem Santa's_Hat,1;
+ delitem Santas_Hat,1;
delitem Cactus_Needle,1;
delitem Holy_Water,10;
delitem Rosary,1;
- getitem Santa's_Hat_,1;
+ getitem Santas_Hat_,1;
close;
}
else {
@@ -256,7 +256,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
mes "and tell him about our plan.";
mes "On a way back, bring as many phalanges as you can. ";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Alright,sir!!!";
next;
mes "[Enjoy]";
@@ -272,7 +272,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
mes "We are not being jealous,";
mes "It's just not right leading a loose life!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Let's punish!!!!!!!!!!!!!!!!!!!!!!!!!!!";
christ_solo05 = 1;
close;
@@ -336,7 +336,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
mes "Fine!!";
mes "You are all ready!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait!!";
mes "Where's other people??";
next;
@@ -352,7 +352,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
donpcevent "Mas#mas02::OnCommandOn";
donpcevent "Event#event02::OnCommandOn";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh.. Yup!!!";
next;
mes "[Enjoy]";
@@ -416,32 +416,32 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
donpcevent "Mas#mas02::OnCommandOff";
donpcevent "Event#event02::OnCommandOff";
close2;
- mapannounce "prontera", "Single soldiers "+ strcharinfo(0) +"'s sorrow spread all over the town.",bc_map,0x66FFCC;
- monster "prontera",155,300,""+ strcharinfo(0) +"'s anguish",1062,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",156,300,""+ strcharinfo(0) +"'s jealousy",1062,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",157,300,""+ strcharinfo(0) +"'s despair",1062,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",158,300,""+ strcharinfo(0) +"'s frustration",1062,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",154,300,""+ strcharinfo(0) +"'s bombing",1062,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",158,299,""+ strcharinfo(0) +"'s grudge",1246,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",157,299,""+ strcharinfo(0) +"'s curse",1246,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",156,299,""+ strcharinfo(0) +"'s anger",1246,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",155,299,""+ strcharinfo(0) +"'s grief",1246,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",154,299,""+ strcharinfo(0) +"'s hatred",1246,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",158,298,""+ strcharinfo(0) +"'s a bitter taste of solo",1245,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",157,298,""+ strcharinfo(0) +"'s couple punisher",1245,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",156,298,""+ strcharinfo(0) +"'s loneliness",1245,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",155,298,""+ strcharinfo(0) +"'s sobbing",1245,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",154,298,""+ strcharinfo(0) +"'s darkness",1245,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",158,297,""+ strcharinfo(0) +"'s depression",1244,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",157,297,""+ strcharinfo(0) +"'s estrangement",1244,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",156,297,""+ strcharinfo(0) +"'s nightmare",1244,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",155,297,""+ strcharinfo(0) +"'s wail",1244,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",154,297,""+ strcharinfo(0) +"'s whisper",1244,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",158,296,""+ strcharinfo(0) +"'s regret",1588,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",157,296,""+ strcharinfo(0) +"'s shadow",1588,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",156,296,""+ strcharinfo(0) +"'s couplebreaker",1588,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",155,296,""+ strcharinfo(0) +"'s sadness",1588,1,"Enjoy#enjoy::OnMyMobDead";
- monster "prontera",154,296,""+ strcharinfo(0) +"'s symbol of brokenheart",1588,1,"Enjoy#enjoy::OnMyMobDead";
+ mapannounce "prontera", "Single soldiers "+ strcharinfo(PC_NAME) +"'s sorrow spread all over the town.",bc_map,0x66FFCC;
+ monster "prontera",155,300,""+ strcharinfo(PC_NAME) +"'s anguish",1062,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",156,300,""+ strcharinfo(PC_NAME) +"'s jealousy",1062,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",157,300,""+ strcharinfo(PC_NAME) +"'s despair",1062,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",158,300,""+ strcharinfo(PC_NAME) +"'s frustration",1062,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",154,300,""+ strcharinfo(PC_NAME) +"'s bombing",1062,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",158,299,""+ strcharinfo(PC_NAME) +"'s grudge",1246,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",157,299,""+ strcharinfo(PC_NAME) +"'s curse",1246,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",156,299,""+ strcharinfo(PC_NAME) +"'s anger",1246,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",155,299,""+ strcharinfo(PC_NAME) +"'s grief",1246,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",154,299,""+ strcharinfo(PC_NAME) +"'s hatred",1246,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",158,298,""+ strcharinfo(PC_NAME) +"'s a bitter taste of solo",1245,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",157,298,""+ strcharinfo(PC_NAME) +"'s couple punisher",1245,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",156,298,""+ strcharinfo(PC_NAME) +"'s loneliness",1245,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",155,298,""+ strcharinfo(PC_NAME) +"'s sobbing",1245,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",154,298,""+ strcharinfo(PC_NAME) +"'s darkness",1245,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",158,297,""+ strcharinfo(PC_NAME) +"'s depression",1244,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",157,297,""+ strcharinfo(PC_NAME) +"'s estrangement",1244,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",156,297,""+ strcharinfo(PC_NAME) +"'s nightmare",1244,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",155,297,""+ strcharinfo(PC_NAME) +"'s wail",1244,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",154,297,""+ strcharinfo(PC_NAME) +"'s whisper",1244,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",158,296,""+ strcharinfo(PC_NAME) +"'s regret",1588,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",157,296,""+ strcharinfo(PC_NAME) +"'s shadow",1588,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",156,296,""+ strcharinfo(PC_NAME) +"'s couplebreaker",1588,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",155,296,""+ strcharinfo(PC_NAME) +"'s sadness",1588,1,"Enjoy#enjoy::OnMyMobDead";
+ monster "prontera",154,296,""+ strcharinfo(PC_NAME) +"'s symbol of brokenheart",1588,1,"Enjoy#enjoy::OnMyMobDead";
donpcevent "Enjoy#enjoy::OnCommandGo";
end;
}
@@ -607,7 +607,7 @@ prontera,188,177,4 script Happymerry#happymerry 4_M_LGTMAN,{
mes "I hate christmas~!";
emotion e_sob;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are...you...?";
next;
mes "[Happymerry]";
@@ -618,7 +618,7 @@ prontera,188,177,4 script Happymerry#happymerry 4_M_LGTMAN,{
mes "Blessing? Gloria~~?!";
mes "Couples~~duh~!!!!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You seem to be the right one!!!";
mes "Enjoy is waiting for you.";
mes "let's go!!!";
@@ -637,7 +637,7 @@ prontera,188,177,4 script Happymerry#happymerry 4_M_LGTMAN,{
mes "So,where is Enjoy?";
mes "Where is he?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "He's waiting for you!";
mes "Go ahead~";
mes "I'll follow you after contacting others.";
@@ -689,7 +689,7 @@ prontera,62,339,3 script Christ#christ 4_M_PECOKNIGHT,{
mes "Only thing I need is this chubby Pecopeco~!";
mes "";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Um...";
next;
mes "[Christ]";
@@ -706,14 +706,14 @@ prontera,62,339,3 script Christ#christ 4_M_PECOKNIGHT,{
mes "I'm not gonna be lonely~";
mes "No I won't!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually Enjoy told me...";
next;
mes "[Christ]";
mes "Huh? What did you say?";
mes "Enjoy? You know him? Then,you must be the one whom Happymerry sent!?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes~ Happymerry sent me...";
next;
mes "[Christ]";
@@ -783,7 +783,7 @@ prontera,163,66,7 script Mas#mas 4_M_ALCHE_A,{
mes "No time to waste~~";
mes "Let's dig herbs.......";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey~are you ok? Are you Mas?";
next;
mes "[Mas]";
@@ -794,7 +794,7 @@ prontera,163,66,7 script Mas#mas 4_M_ALCHE_A,{
mes "Never mind!! What am I thinking?!!";
mes "Get away~I have dig herbs~";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Mas!!";
mes "Are you ok?!";
mes "Christ sent me.";
@@ -809,7 +809,7 @@ prontera,163,66,7 script Mas#mas 4_M_ALCHE_A,{
mes "[Mas]";
mes "...Are going with me?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No~~";
mes "I have something left to do.";
mes "I have to tell others about this.";
@@ -854,14 +854,14 @@ prontera,35,209,5 script Event#event 4_M_SITDOWN,{
mes "[Event]";
mes "........................";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Are... you...?";
next;
mes "[Event]";
mes "...I love you too~!!!";
emotion e_omg,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "(Oh,my..)";
next;
mes "[Event]";
@@ -875,7 +875,7 @@ prontera,35,209,5 script Event#event 4_M_SITDOWN,{
//Emotion "Event#event" ET_KIK
emotion e_kis;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Mas sent me here.";
mes "You know about Enjoy's plan, right?";
mes "...Are you listening?";
@@ -896,7 +896,7 @@ prontera,35,209,5 script Event#event 4_M_SITDOWN,{
mes "-and packed his stuff and bowed to Kafra.-";
mes "";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Finally!!! Done telling everyone!!";
mes "Now I should get my ^0000FFBranch of Dead Tree^000000s packed up";
mes "and go punish singles!!!";
@@ -914,7 +914,7 @@ prontera,35,209,5 script Event#event 4_M_SITDOWN,{
mes "-He talked to his right hand-";
mes "-and packed his stuff and bowed to Kafra.-";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Finally!!! Done telling everyone!!";
mes "Now I should get my things packed up";
mes "and go punish singles!!!";
@@ -929,7 +929,7 @@ prontera,35,209,5 script Event#event 4_M_SITDOWN,{
mes "...I love you too~!!!";
emotion e_omg,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "(Oh.my~)";
next;
mes "[Event]";
@@ -1055,7 +1055,7 @@ prontera,156,242,0 script Oholy#pron::OholyDup 1_F_PRIEST,{
next;
mes "[Oholy]";
mes "Well, please bring me back";
- mes "Christmas carol music book, "+ strcharinfo(0) +".";
+ mes "Christmas carol music book, "+ strcharinfo(PC_NAME) +".";
mes "That little devil will be still";
mes "in the town because it only happened a few minutes ago.";
next;
@@ -1168,7 +1168,7 @@ prontera,156,242,0 script Oholy#pron::OholyDup 1_F_PRIEST,{
mes "-You started humming then,-";
mes "-began to sing the next phase-";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "~Soon the snowflackes will fall~";
mes "~and tomorrow you'll see~";
mes "~Every wish, one and all,~";
@@ -1370,7 +1370,7 @@ prontera,156,242,0 script Oholy#pron::OholyDup 1_F_PRIEST,{
emotion e_heh;
delitem Worn_Out_Page,1;
christ_carol05 = 3;
- getitem Santa's_Hat,1;
+ getitem Santas_Hat,1;
close;
}
}
@@ -1414,7 +1414,7 @@ function script F_carol_devi {
mes "soul and be bound in a beneficial contract with me?";
emotion e_kis;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, you! Deviruchi!!!";
mes "What a brat!!! Gotcha!";
next;
@@ -1437,7 +1437,7 @@ function script F_carol_devi {
enablenpc getarg(1);
disablenpc getarg(0);
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Rudolph... If... Foggy...";
mes "Sledge... Reindeer...";
mes "Hmm, I think I got what I need.";
@@ -1505,7 +1505,7 @@ function script F_carol_devi {
mes "soul and be bound in a beneficial contract with me?";
emotion e_omg;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, you! Deviruchi!!!";
mes "What a brat!!! Gotcha!";
next;
@@ -1535,7 +1535,7 @@ function script F_carol_devi2 {
mes "soul and be bound in a beneficial contract with me?";
emotion e_omg;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, you! Deviruchi!!!";
mes "What a brat!!! Gotcha!";
next;
diff --git a/npc/events/christmas_2008.txt b/npc/events/christmas_2008.txt
index 64f3efa93..6d8621545 100644
--- a/npc/events/christmas_2008.txt
+++ b/npc/events/christmas_2008.txt
@@ -159,7 +159,7 @@ prontera,226,306,4 script Caroller#iROxmas08 1_F_PRIEST,{
next;
emotion e_heh;
delitem 6092,6;
- getnameditem 12354,"+strcharinfo(0)+";
+ getnameditem 12354,"+strcharinfo(PC_NAME)+";
mes "[Caroller]";
mes "Let's care about others around you on this Christmas season!";
close;
@@ -213,7 +213,7 @@ prontera,226,306,4 script Caroller#iROxmas08 1_F_PRIEST,{
mes "[Caroller]";
mes "And just stay there, every Christmas, for your whole life?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? What do you mean?";
next;
mes "[Caroller]";
@@ -441,7 +441,7 @@ prontera,226,306,4 script Caroller#iROxmas08 1_F_PRIEST,{
next;
emotion e_ok;
getitem 2784,1;
- getnameditem 12354,"+strcharinfo(0)+";
+ getnameditem 12354,"+strcharinfo(PC_NAME)+";
delitem 1019,10;
delitem 1005,1;
delitem 7312,1;
@@ -577,21 +577,21 @@ prontera,226,306,4 script Caroller#iROxmas08 1_F_PRIEST,{
next;
switch(select("Poring", "Angeling", "Ghostring")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...I choose Poring!";
.@SantaCardP = 1;
next;
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...I choose Angeling!";
.@SantaCardP = 2;
next;
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...I choose Ghostring!";
.@SantaCardP = 3;
next;
@@ -634,7 +634,7 @@ prontera,226,306,4 script Caroller#iROxmas08 1_F_PRIEST,{
}
}
if (.@SantaCardWins < 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is just luck.";
mes "Let me try again!!";
next;
diff --git a/npc/events/easter_2008.txt b/npc/events/easter_2008.txt
index 5a28cd0bf..4d914ebcb 100644
--- a/npc/events/easter_2008.txt
+++ b/npc/events/easter_2008.txt
@@ -597,7 +597,7 @@ morocc,131,26,5 script Secret Corps#egg 4_M_MASKMAN,{
mes "back with good news.";
mes "So did it work?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Actually...";
mes "Nothing happened....";
next;
@@ -650,7 +650,7 @@ morocc,131,26,5 script Secret Corps#egg 4_M_MASKMAN,{
pay_dun00,22,127,0 script Trace#egg1 CLEAR_NPC,{
if (easter2008 == 5) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well...";
mes "This is the place";
mes "the Corps Member";
@@ -659,21 +659,21 @@ pay_dun00,22,127,0 script Trace#egg1 CLEAR_NPC,{
mes "these Holy Eggs.";
next;
if (countitem(Holy_Egg) > 32) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here we go...";
mes "Will this really bring";
mes "this ancient hero";
mes "back to life? I'm...";
mes "I'm kind of scared!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333*Whew!*^000000 Nothing happened!";
mes "I guess I better go back to";
mes "that Corps Member and let";
@@ -684,7 +684,7 @@ pay_dun00,22,127,0 script Trace#egg1 CLEAR_NPC,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Where did I put";
mes "those 33 Holy Eggs";
mes "that I needed for this?";
@@ -692,7 +692,7 @@ pay_dun00,22,127,0 script Trace#egg1 CLEAR_NPC,{
}
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something";
mes "here, but I can't tell";
mes "for sure what it was...";
@@ -702,7 +702,7 @@ pay_dun00,22,127,0 script Trace#egg1 CLEAR_NPC,{
iz_dun02,340,346,0 script Trace#egg CLEAR_NPC,{
if (easter2008 == 6) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well...";
mes "This is the place";
mes "the Corps Member";
@@ -711,21 +711,21 @@ iz_dun02,340,346,0 script Trace#egg CLEAR_NPC,{
mes "these Holy Eggs.";
next;
if (countitem(Holy_Egg) > 32) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here we go...";
mes "Will this really bring";
mes "this ancient hero";
mes "back to life? I'm...";
mes "I'm kind of scared!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333*Whew!*^000000 Nothing happened!";
mes "I guess I better go back to";
mes "that Corps Member and let";
@@ -736,7 +736,7 @@ iz_dun02,340,346,0 script Trace#egg CLEAR_NPC,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Where did I put";
mes "those 33 Holy Eggs";
mes "that I needed for this?";
@@ -744,7 +744,7 @@ iz_dun02,340,346,0 script Trace#egg CLEAR_NPC,{
}
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something";
mes "here, but I can't tell";
mes "for sure what it was...";
@@ -754,7 +754,7 @@ iz_dun02,340,346,0 script Trace#egg CLEAR_NPC,{
mjo_dun03,308,256,0 script Trace#egg2 CLEAR_NPC,{
if (easter2008 == 7) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well...";
mes "This is the place";
mes "the Corps Member";
@@ -763,21 +763,21 @@ mjo_dun03,308,256,0 script Trace#egg2 CLEAR_NPC,{
mes "these Holy Eggs.";
next;
if (countitem(Holy_Egg) > 32) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here we go...";
mes "Will this really bring";
mes "this ancient hero";
mes "back to life? I'm...";
mes "I'm kind of scared!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333*Whew!*^000000 Nothing happened!";
mes "I guess I better go back to";
mes "that Corps Member and let";
@@ -788,7 +788,7 @@ mjo_dun03,308,256,0 script Trace#egg2 CLEAR_NPC,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Where did I put";
mes "those 33 Holy Eggs";
mes "that I needed for this?";
@@ -796,7 +796,7 @@ mjo_dun03,308,256,0 script Trace#egg2 CLEAR_NPC,{
}
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something";
mes "here, but I can't tell";
mes "for sure what it was...";
@@ -806,7 +806,7 @@ mjo_dun03,308,256,0 script Trace#egg2 CLEAR_NPC,{
gl_prison,157,176,0 script Trace#egg3 CLEAR_NPC,{
if (easter2008 == 8) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well...";
mes "This is the place";
mes "the Corps Member";
@@ -815,21 +815,21 @@ gl_prison,157,176,0 script Trace#egg3 CLEAR_NPC,{
mes "these Holy Eggs.";
next;
if (countitem(Holy_Egg) > 32) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here we go...";
mes "Will this really bring";
mes "this ancient hero";
mes "back to life? I'm...";
mes "I'm kind of scared!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
mes "...............................";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333*Whew!*^000000 Nothing happened!";
mes "I guess I better go back to";
mes "that Corps Member and let";
@@ -840,7 +840,7 @@ gl_prison,157,176,0 script Trace#egg3 CLEAR_NPC,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Where did I put";
mes "those 33 Holy Eggs";
mes "that I needed for this?";
@@ -848,7 +848,7 @@ gl_prison,157,176,0 script Trace#egg3 CLEAR_NPC,{
}
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something";
mes "here, but I can't tell";
mes "for sure what it was...";
diff --git a/npc/events/event_skill_reset.txt b/npc/events/event_skill_reset.txt
index 406cc1afe..0f01a3b98 100644
--- a/npc/events/event_skill_reset.txt
+++ b/npc/events/event_skill_reset.txt
@@ -72,7 +72,7 @@ yuno,138,187,4 script Hypnotist Teacher 4_F_TELEPORTER,{
close;
}
mes "Hello, I am the Skill Resetter.";
- mes "Your name is ^0080FF"+strcharinfo(0)+"^000000.";
+ mes "Your name is ^0080FF"+strcharinfo(PC_NAME)+"^000000.";
mes "How can I help you?";
next;
switch (select("^009500Information about Reset skills.^000000","^00B6FFReset skills.^000000","^000088Nevermind^000000")) {
@@ -96,7 +96,7 @@ yuno,138,187,4 script Hypnotist Teacher 4_F_TELEPORTER,{
mes "Before skill reset in starting.";
mes "You shall have to first tell me your Base Level.";
next;
- mes "^D5A500[" + strcharinfo(0) + "]^000000";
+ mes "^D5A500[" + strcharinfo(PC_NAME) + "]^000000";
mes "My Base level is ^AA00AALevel " + BaseLevel + "BaseLv.^000000";
next;
@zeny = BaseLevel*20000;
diff --git a/npc/events/gdevent_aru.txt b/npc/events/gdevent_aru.txt
index ba7564fff..898880d02 100644
--- a/npc/events/gdevent_aru.txt
+++ b/npc/events/gdevent_aru.txt
@@ -79,13 +79,13 @@ OnMyMobDead:
}
arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
- if (getcharid(2) == 0) {
+ if (getcharid(CHAR_ID_GUILD) == 0) {
mes "[Dwarf]";
mes "Hey did you see an ugly Goblin come by? He stole something from me!";
close;
}
.@chk_urquest = questprogress(2143,PLAYTIME);
- .@chk_yourgdname$ = getguildname(getcharid(2));
+ .@chk_yourgdname$ = getguildname(getcharid(CHAR_ID_GUILD));
if ($@gdeventv_a1 == 0) {
if ($@gdevents_a$ == "") {
$@gdeventv_a1 = 1;
@@ -123,7 +123,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -138,7 +138,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -255,7 +255,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -270,7 +270,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -398,7 +398,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -413,7 +413,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -521,7 +521,7 @@ arug_que01,100,81,3 script Pierrot Pier#aru_gd 4_M_PIERROT,{
mes "- and come back later. -";
close;
}
- if (strcharinfo(0) == getguildmaster(getcharid(2))) {
+ if (strcharinfo(PC_NAME) == getguildmaster(getcharid(CHAR_ID_GUILD))) {
if ($@gdeventv_a2 == 0) {
.@que_2143 = questprogress(2143,PLAYTIME);
if (!.@que_2143) {
diff --git a/npc/events/gdevent_sch.txt b/npc/events/gdevent_sch.txt
index 4660e4598..e04a28075 100644
--- a/npc/events/gdevent_sch.txt
+++ b/npc/events/gdevent_sch.txt
@@ -79,13 +79,13 @@ OnMyMobDead:
}
schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
- if (getcharid(2) == 0) {
+ if (getcharid(CHAR_ID_GUILD) == 0) {
mes "[Dwarf]";
mes "Hey did you see an ugly Goblin come by? He stole something from me!";
close;
}
.@chk_urquest = questprogress(2143,PLAYTIME);
- .@chk_yourgdname$ = getguildname(getcharid(2));
+ .@chk_yourgdname$ = getguildname(getcharid(CHAR_ID_GUILD));
if ($@gdeventv_s1 == 0) {
if ($@gdevents_s$ == "") {
$@gdeventv_s1 = 1;
@@ -123,7 +123,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -138,7 +138,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -255,7 +255,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -270,7 +270,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -397,7 +397,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "I can't live without it...";
next;
if (countitem(Pickaxe) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this the pickaxe that you've been looking for?";
next;
mes "[Morestone]";
@@ -412,7 +412,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
mes "You are great! What guild are you from?";
mes "Could it be Gravity or Mercury?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am a member of the ^3131FF"+.@chk_yourgdname$+"^.";
next;
mes "[Morestone]";
@@ -520,7 +520,7 @@ schg_que01,100,81,3 script Pierrot Pier#sch_gd 4_M_PIERROT,{
mes "- and come back later. -";
close;
}
- if (strcharinfo(0) == getguildmaster(getcharid(2))) {
+ if (strcharinfo(PC_NAME) == getguildmaster(getcharid(CHAR_ID_GUILD))) {
if ($@gdeventv_s2 == 0) {
.@que_2143 = questprogress(2143,PLAYTIME);
if (!.@que_2143) {
diff --git a/npc/events/god_se_festival.txt b/npc/events/god_se_festival.txt
index 50c11cd8c..7c0523cf5 100644
--- a/npc/events/god_se_festival.txt
+++ b/npc/events/god_se_festival.txt
@@ -66,13 +66,13 @@ yuno,1,1,0 script Festival Manager#gq_fes0 4_F_HUGIRL,{
}
yuno,118,192,5 script Rmimi Ravies#gq_fes01 4_F_HUGIRL,{
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
if (countitem(Valkyrie_Gift) > 0) {
mes "[Rmimi Ravies]";
mes "This is the flower.";
mes "This is just a formality, but let me check your qualifications.";
next;
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[Rmimi Ravies]";
mes "Your qualification is verified as a Guild master.";
next;
@@ -141,7 +141,7 @@ yuno,118,192,5 script Rmimi Ravies#gq_fes01 4_F_HUGIRL,{
mes "[Rmimi Ravies]";
mes "Have a good time.";
donpcevent "Rmimi Ravies#gq_fes01::OnStart";
- announce "["+ strcharinfo(0) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Juno'.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Juno'.",bc_all,"0x70dbdb";
close;
}
else {
@@ -442,13 +442,13 @@ rachel,1,1,0 script Festival Manager#gq_fes2 4_F_HUGIRL,{
}
rachel,132,117,3 script Rhehe Ravies#gq_fes03 4_F_HUGIRL,{
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
if (countitem(Valkyrie_Gift) > 0) {
mes "[Rhehe Ravies]";
mes "A flower!!";
mes "Shall we proceed?";
next;
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[Rhehe Ravies]";
mes "Eeeeh, so young and yet you're a guild master? Your guildsmen must be jealous.";
next;
@@ -521,7 +521,7 @@ rachel,132,117,3 script Rhehe Ravies#gq_fes03 4_F_HUGIRL,{
mes "[Rhehe Ravies]";
mes "I hope you enjoy yourself!";
donpcevent "Rhehe Ravies#gq_fes03::OnStart";
- announce "["+ strcharinfo(0) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Rachel'.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Rachel'.",bc_all,"0x70dbdb";
close;
}
else {
diff --git a/npc/events/halloween_2006.txt b/npc/events/halloween_2006.txt
index 8c7b4dcbf..101434be3 100644
--- a/npc/events/halloween_2006.txt
+++ b/npc/events/halloween_2006.txt
@@ -80,7 +80,7 @@ prontera,164,69,3 script Cool Devi#06_hw 4_DEVIRUCHI,{
mes "I just can guess what he will say next. So what do you say?";
next;
if (select("What will he say?", "I also know about it.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What will he say?";
next;
mes "[Cool Devi]";
@@ -96,7 +96,7 @@ prontera,164,69,3 script Cool Devi#06_hw 4_DEVIRUCHI,{
mes "Why don't you give him back the 'Pumpkin Mojo'.";
mes "Don't worry he will compensate you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Compensate?With what?";
next;
mes "[Cool Devi]";
@@ -235,7 +235,7 @@ prontera,164,69,3 script Cool Devi#06_hw 4_DEVIRUCHI,{
mes "Why don't you give him back the 'Pumpkin Mojo'.";
mes "Don't worry he will compensate you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Compensate? With what?";
next;
mes "[Cool Devi]";
@@ -296,7 +296,7 @@ geffen,145,132,3 script Hoirin#06_hw 4_F_NOVICE,{
mes "You'll get addicted to it.";
mes "Don't be surprised after trying it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......................";
mes "You seem to be such a passionate person.";
mes "So, what's the ingredient anyway.?";
@@ -470,7 +470,7 @@ nif_in,19,32,3 script Deviruchi#06_hw 4_DEVIRUCHI,{
mes "[Deviruchi]";
mes "Says she..Huh?!!Me?!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Poor Devi~";
mes "You shouldn't have lied~";
mes "Wish you a luck.";
@@ -679,7 +679,7 @@ nif_fild01,167,113,3 script Masta's chicken#06_hw01 4_NFCOCK,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hm...I must have misspelled.";
close;
}
diff --git a/npc/events/halloween_2009.txt b/npc/events/halloween_2009.txt
index ac2b0d39d..e71abeaef 100644
--- a/npc/events/halloween_2009.txt
+++ b/npc/events/halloween_2009.txt
@@ -261,7 +261,7 @@ prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 4_M_KID1,2,2
mes "[Halloween Wizard]";
mes "Which town do you want to play a trick on?";
next;
- getmapxy(.@mapname$, .@mapx, .@mapy, UNITTYPE_PC, strcharinfo(0));
+ getmapxy(.@mapname$, .@mapx, .@mapy, UNITTYPE_PC, strcharinfo(PC_NAME));
if (.@mapname$ == "prontera") {
switch(select("Geffen", "Payon", "Alberta", "Aldebaran")) {
case 1:
diff --git a/npc/events/idul_fitri.txt b/npc/events/idul_fitri.txt
index a403d6b96..50996c07d 100644
--- a/npc/events/idul_fitri.txt
+++ b/npc/events/idul_fitri.txt
@@ -40,7 +40,7 @@ prontera,146,92,3 script Cellerb 1_M_MERCHANT,{
specialeffect EF_SANDMAN;
close;
}
- mes "Haii......^FF8800"+strcharinfo(0)+"^000000!!";
+ mes "Haii......^FF8800"+strcharinfo(PC_NAME)+"^000000!!";
mes "First day of Idul Fitri has arrived.";
mes "Congratulation celebrate him.";
mes "There is event special today.";
diff --git a/npc/events/lunar_2008.txt b/npc/events/lunar_2008.txt
index 1a7703055..7a560e58a 100644
--- a/npc/events/lunar_2008.txt
+++ b/npc/events/lunar_2008.txt
@@ -70,7 +70,7 @@ payon_in01,193,30,4 script Rice Mill Grandma#rat 1_F_ORIENT_04,{
next;
if (select("Of course.", "I don't even know you.") == 1) {
lunar_rat = 1;
- mes "[" + strcharinfo(0)+"]";
+ mes "[" + strcharinfo(PC_NAME)+"]";
mes "Of course.";
mes "What can I do?";
next;
@@ -83,7 +83,7 @@ payon_in01,193,30,4 script Rice Mill Grandma#rat 1_F_ORIENT_04,{
mes "nasty little moles.";
next;
select("Not a problem.");
- mes "[" + strcharinfo(0)+"]";
+ mes "[" + strcharinfo(PC_NAME)+"]";
mes "Not a problem.";
mes "I'll catch those animals,";
mes "and bring back any Rice";
diff --git a/npc/events/nguild/nguild_dunsw.txt b/npc/events/nguild/nguild_dunsw.txt
index 23cd8ec8c..291b08db3 100644
--- a/npc/events/nguild/nguild_dunsw.txt
+++ b/npc/events/nguild/nguild_dunsw.txt
@@ -49,7 +49,7 @@ function script F_GldDunSw {
next;
if (select("Pull.", "Do not.") == 1) {
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
warp "gld_dun"+getarg(1),getarg(2),getarg(3);
end;
}
diff --git a/npc/events/nguild/nguild_ev_agit.txt b/npc/events/nguild/nguild_ev_agit.txt
index cbf6aec3c..99545bfff 100644
--- a/npc/events/nguild/nguild_ev_agit.txt
+++ b/npc/events/nguild/nguild_ev_agit.txt
@@ -67,7 +67,7 @@ function script F_AgitBreak {
.@map$ = getarg(0);
.@castle$ = getarg(1);
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
if (.@GID <= 0) return;
.@Economy = getcastledata(.@map$,2) - 5;
diff --git a/npc/events/nguild/nguild_flags.txt b/npc/events/nguild/nguild_flags.txt
index d2a753003..999f79dca 100644
--- a/npc/events/nguild/nguild_flags.txt
+++ b/npc/events/nguild/nguild_flags.txt
@@ -53,12 +53,12 @@ function script F_Flags {
return;
}
else {
- if (getcharid(2) == .@GID && getarg(4) == 1) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID && getarg(4) == 1) {
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if (select("Return to the guild castle.", "Quit.") == 1) {
- if (getcharid(2) == getcastledata(getarg(1),1))
+ if (getcharid(CHAR_ID_GUILD) == getcastledata(getarg(1),1))
warp getarg(1),getarg(2),getarg(3);
}
return;
diff --git a/npc/events/nguild/nguild_kafras.txt b/npc/events/nguild/nguild_kafras.txt
index 66c53ff2d..8b448bbe3 100644
--- a/npc/events/nguild/nguild_kafras.txt
+++ b/npc/events/nguild/nguild_kafras.txt
@@ -39,7 +39,7 @@
function script F_GKafra {
cutin "kafra_01",2;
@GID = getcastledata(getarg(0),1);
- if (getcharid(2) == @GID && getgdskilllv(@GID,10001)) goto L_StartG;
+ if (getcharid(CHAR_ID_GUILD) == @GID && getgdskilllv(@GID,10001)) goto L_StartG;
mes "[Kafra Service]";
mes "I am contracted to provide service only for the ^ff0000" + getguildname(@GID) + "^000000 Guild. Please use another Kafra Corporation staff member around here. I am Sorry for your inconvenience.";
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt
index 21b1e4b86..1d9b56966 100644
--- a/npc/events/nguild/nguild_managers.txt
+++ b/npc/events/nguild/nguild_managers.txt
@@ -47,12 +47,12 @@ function script F_GldManager {
mes "I am waiting for my master. Brave adventurer, follow your destiny!";
return;
}
- if (getcharid(2) != @GID){
+ if (getcharid(CHAR_ID_GUILD) != @GID){
mes "I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command! Hey! Your not even a part of the guild!!";
mes "Where are the guardians? Destroy these intruders!";
return;
}
- if (strcharinfo(0) != getguildmaster(@GID)){
+ if (strcharinfo(PC_NAME) != getguildmaster(@GID)){
mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only";
return 0;
}
diff --git a/npc/events/nguild/nguild_warper.txt b/npc/events/nguild/nguild_warper.txt
index 94f65e546..a2e2faed1 100644
--- a/npc/events/nguild/nguild_warper.txt
+++ b/npc/events/nguild/nguild_warper.txt
@@ -42,24 +42,24 @@
prontera,146,163,6 script Novice Castles 4_F_NOVICE,{
mes "[Cita]";
- if (!getcharid(2)) {
+ if (!getcharid(CHAR_ID_GUILD)) {
mes "^FF0000You have to enter a guild to be able to hit Emperium!^000000";
- } else if (getgdskilllv(getcharid(2),10013) ||
- (getgdskilllv(getcharid(2),10000) +
- getgdskilllv(getcharid(2),10001) +
- getgdskilllv(getcharid(2),10002) +
- getgdskilllv(getcharid(2),10003) +
- getgdskilllv(getcharid(2),10004) +
- getgdskilllv(getcharid(2),10005) +
- getgdskilllv(getcharid(2),10006) +
- getgdskilllv(getcharid(2),10007) +
- getgdskilllv(getcharid(2),10008) +
- getgdskilllv(getcharid(2),10009) +
- getgdskilllv(getcharid(2),10010) +
- getgdskilllv(getcharid(2),10011) +
- getgdskilllv(getcharid(2),10012) +
- getgdskilllv(getcharid(2),10013) +
- getgdskilllv(getcharid(2),10014) > 9)
+ } else if (getgdskilllv(getcharid(CHAR_ID_GUILD),10013) ||
+ (getgdskilllv(getcharid(CHAR_ID_GUILD),10000) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10001) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10002) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10003) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10004) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10005) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10006) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10007) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10008) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10009) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10010) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10011) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10012) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10013) +
+ getgdskilllv(getcharid(CHAR_ID_GUILD),10014) > 9)
) {
mes "I see... your guild has Emergency Call mastered.";
mes "You cannot enter the Novice Castle area.";
@@ -96,7 +96,7 @@ prontera,146,163,6 script Novice Castles 4_F_NOVICE,{
n_castle,102,107,5 script Cita 4_F_NOVICE,{
mes "[Cita]";
- mes "Hello, "+ strcharinfo(0) +". Can I help you?";
+ mes "Hello, "+ strcharinfo(PC_NAME) +". Can I help you?";
next;
if (select("Warp me to Prontera!","Cancel") == 1) {
warp "prontera",155,177+rand(5);
diff --git a/npc/events/valentinesday_2009.txt b/npc/events/valentinesday_2009.txt
index 6b964d42c..1151a08fb 100644
--- a/npc/events/valentinesday_2009.txt
+++ b/npc/events/valentinesday_2009.txt
@@ -161,7 +161,7 @@ prontera,164,174,4 script Trader#Val09 1_M_MERCHANT,{
delitem 7174,1;
delitem 7948,1;
Zeny -= 500;
- getnameditem 12744,strcharinfo(0);
+ getnameditem 12744,strcharinfo(PC_NAME);
mes "[Marco Bassinio]";
mes "Happy Valentine's Day!";
mes "Valentine's the reason I came back.";
@@ -397,9 +397,9 @@ prontera,154,185,5 script Event Ring Maker#Val09 4_F_KAFRA7,{
Zeny -= 1000;
iROval09ring = 1;
if (Sex == SEX_MALE) {
- getnameditem 12742,strcharinfo(0);
+ getnameditem 12742,strcharinfo(PC_NAME);
} else {
- getnameditem 12743,strcharinfo(0);
+ getnameditem 12743,strcharinfo(PC_NAME);
}
mes "[Event Ring Maker]";
mes "Here, the most precious ring in the world!";
@@ -477,7 +477,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 4_F_KAFRA5,{
Val09Rings += .@input;
if (Val09Rings > $Val09votes_M) {
$Val09votes_M = Val09Rings;
- $Val09name_M$ = strcharinfo(0);
+ $Val09name_M$ = strcharinfo(PC_NAME);
}
next;
break;
@@ -505,7 +505,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 4_F_KAFRA5,{
Val09Rings += .@input;
if (Val09Rings > $Val09votes_F) {
$Val09votes_F = Val09Rings;
- $Val09name_F$ = strcharinfo(0);
+ $Val09name_F$ = strcharinfo(PC_NAME);
}
next;
break;
diff --git a/npc/events/valentinesday_2012.txt b/npc/events/valentinesday_2012.txt
index e0ef97b67..0b240180f 100644
--- a/npc/events/valentinesday_2012.txt
+++ b/npc/events/valentinesday_2012.txt
@@ -40,7 +40,7 @@ mosk_in,21,246,5 script Pinkamenia 1_F_LIBRARYGIRL,{
setarray .@SweetsID[0],538,558,539,573,559,560,12062,596,597,12414,12319;
setarray .@SweetsCost[0],1,2,5,10,10,10,15,15,15,20,20;
mes .@n$;
- mes "Hello "+strcharinfo(0)+", do";
+ mes "Hello "+strcharinfo(PC_NAME)+", do";
mes "you want to buy some items?";
mes "You'll have to give me Love";
mes "Flowers for them, of course!";
@@ -99,7 +99,7 @@ mosk_in,21,246,5 script Pinkamenia 1_F_LIBRARYGIRL,{
close;
} else if (BaseLevel >= 45) {
mes .@n$;
- mes "Hello "+strcharinfo(0)+", it's";
+ mes "Hello "+strcharinfo(PC_NAME)+", it's";
mes "Valentine's Day and we";
mes "love to deliver sweet";
mes "chocolates.";
@@ -116,7 +116,7 @@ mosk_in,21,246,5 script Pinkamenia 1_F_LIBRARYGIRL,{
close;
}
mes .@n$;
- mes "Hello "+strcharinfo(0)+"!";
+ mes "Hello "+strcharinfo(PC_NAME)+"!";
close;
OnInit:
@@ -171,7 +171,7 @@ mosk_in,21,244,3 script Baker Extraordinaire 4_M_NOVELIST,{
}
} else {
mes .@n$;
- mes "Hello, "+strcharinfo(0)+"!";
+ mes "Hello, "+strcharinfo(PC_NAME)+"!";
close;
}
}
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index 52c558a2a..e6947d2a4 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -54,7 +54,7 @@ alberta,214,77,6 script Captain Janssen 4_M_SEAMAN,{
mes "Sigh... I don't know if I can ever go back to sailing the sea...";
close;
}
- .@name$ = strcharinfo(0);
+ .@name$ = strcharinfo(PC_NAME);
if (in_102tower == 1) {
mes "^0000ffLooking incredibly excited, the old man ran into the marine shop hurriedly ordering goods. You don't have anything better to do, so you decide to ask him why he is in such a rush.^000000";
next;
@@ -209,7 +209,7 @@ alberta,214,77,6 script Captain Janssen 4_M_SEAMAN,{
e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Endless Tower";
@@ -221,7 +221,7 @@ e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{
close;
}
if (!.@etower_timer) {
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";
next;
switch(select("Generate dungeon "+.@md_name$, "Enter the dungeon", "Return to Alberta", "Cancel")) {
@@ -229,7 +229,7 @@ e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{
.@instance = instance_create(.@md_name$,.@party_id);
if (.@instance < 0) {
mes "Party Name: "+.@p_name$;
- mes "Party Leader: "+strcharinfo(0);
+ mes "Party Leader: "+strcharinfo(PC_NAME);
mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
close;
}
@@ -312,7 +312,7 @@ L_Enter:
mes "The party leader did not generate the dungeon yet.";
close;
} else {
- mapannounce "e_tower", strcharinfo(0)+" of the party, " +getarg(3)+", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
+ mapannounce "e_tower", strcharinfo(PC_NAME)+" of the party, " +getarg(3)+", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
if (getarg(1)) {
etower_timer = gettimetick(2);
setquest 60200;
@@ -329,7 +329,7 @@ L_Enter:
e_tower,30,30,2 script Huge Vortex CLEAR_NPC,2,2,{
end;
OnTouch:
- mapannounce "e_tower","[ " + strcharinfo(0) + " ], seems to be engulfed by a huge vortex",bc_map,"0x00ff99",FW_NORMAL,12;
+ mapannounce "e_tower","[ " + strcharinfo(PC_NAME) + " ], seems to be engulfed by a huge vortex",bc_map,"0x00ff99",FW_NORMAL,12;
warp "alberta",223,36;
end;
}
@@ -1209,7 +1209,7 @@ function script F_Tower_Warp {
close;
}
delitem Dark_Ashes,.@i;
- mapannounce instance_mapname("1@tower"), strcharinfo(0)+". You will be warped to the "+.@level$[.@i]+" Level.",bc_map,"0x00ff99";
+ mapannounce instance_mapname("1@tower"), strcharinfo(PC_NAME)+". You will be warped to the "+.@level$[.@i]+" Level.",bc_map,"0x00ff99";
warp instance_mapname(.@map$[.@i]),52,354;
close;
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt
index 9e49bd9e9..bad1aacec 100644
--- a/npc/instances/NydhoggsNest.txt
+++ b/npc/instances/NydhoggsNest.txt
@@ -104,7 +104,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{
}
} else if (ins_nyd == 131 || ins_nyd == 132 || ins_nyd > 199) {
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Nidhoggur's Nest";
.@ins_nyd_check = questprogress(3135,PLAYTIME); // 3 Day cooldown
@@ -124,7 +124,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{
mes "And only 1 representative of you needs to talk to me, so don't annoy me...";
close;
}
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "[Yggdrasil Gatekeeper]";
mes "The loyal servants of the Guardian... what can I do for you?";
next;
@@ -224,7 +224,7 @@ L_Enter:
mes "You did not request for entrance. Please let your leader request entrance.";
close;
} else {
- mapannounce "nyd_dun02", getpartyname(getcharid(1))+"'s party member "+strcharinfo(0)+" has entered Nidhoggur's Nest.",bc_map,"0x00ff99";
+ mapannounce "nyd_dun02", getpartyname(getcharid(CHAR_ID_PARTY))+"'s party member "+strcharinfo(PC_NAME)+" has entered Nidhoggur's Nest.",bc_map,"0x00ff99";
if (!questprogress(3135)) setquest 3135;
if (!questprogress(3136)) setquest 3136;
warp "1@nyd",32,37;
@@ -427,7 +427,7 @@ mid_camp,271,299,3 script Historian Magnifier#edq 4_M_SAGE_C,3,3,{
prt_in,171,94,3 script Assistant Naomi#edq 4_F_HUWOMAN,3,3,{
mes "[Assistant Naomi]";
- .@name$ = strcharinfo(0);
+ .@name$ = strcharinfo(PC_NAME);
if (ins_nyd == 3) {
mes "The doctor never ever tries to come back, and there're too many things to do... How can I do it all...";
next;
@@ -1608,7 +1608,7 @@ OnTouch_:
mes "I thank you deeply for your decision. I will use what is left of my powers to open up the path towards the Guardian's Nest.";
next;
mes "[World Tree Yggdrasil]";
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms of the Sanctuary will start immediately.";
next;
mes "[World Tree Yggdrasil]";
@@ -1860,7 +1860,7 @@ OnTouch:
2@nyd,199,268,0 script nyd_2f_boss_enter FAKE_NPC,8,8,{
OnTouch_:
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnEnable";
disablenpc instance_npcname("nyd_2f_boss_enter");
end;
diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt
index 9965fafd8..48412a631 100644
--- a/npc/instances/OrcsMemory.txt
+++ b/npc/instances/OrcsMemory.txt
@@ -39,7 +39,7 @@
//== Entrance ==============================================
gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Orc's Memory";
@@ -62,7 +62,7 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{
close;
// Fall through to access the dungeon
} else { // !.@orctime
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?";
next;
switch(select("Reserve the "+.@md_name$, "Enter the Dungeon", "Cancel")) {
@@ -70,7 +70,7 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{
.@instance = instance_create(.@md_name$,.@party_id);
if (.@instance < 0) {
mes "Party Name: "+.@p_name$;
- mes "Party Leader: "+strcharinfo(0);
+ mes "Party Leader: "+strcharinfo(PC_NAME);
mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
close;
}
@@ -108,7 +108,7 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{
close;
}
- mapannounce "gef_fild10", strcharinfo(0) + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99";
+ mapannounce "gef_fild10", strcharinfo(PC_NAME) + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99";
if (!questprogress(12059)) setquest 12059;
warp "1@orcs",179,15;
end;
@@ -684,7 +684,7 @@ OnTimer23910:
}
2@orcs,26,164,0 script Torch#1-1 CLEAR_NPC,{
- if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
+ if(getpartyleader(getcharid(CHAR_ID_PARTY),2) != getcharid(CHAR_ID_CHAR)) end;
progressbar "ffff00",5;
setarray .@id[0], atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),0)), atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),2));
if (.@id[1] == 4)
@@ -876,9 +876,9 @@ OnTouch:
if (yong_odun < 2) {
mes "[Kruger]";
mes "*Coughing*";
- mes ""+strcharinfo(0)+", it's you...";
+ mes ""+strcharinfo(PC_NAME)+", it's you...";
next;
- mes "["+strcharinfo(0)+"] ";
+ mes "["+strcharinfo(PC_NAME)+"] ";
mes "Don't move! You are wounded!";
next;
mes "[Kruger]";
@@ -886,7 +886,7 @@ OnTouch:
mes "....";
mes "The Shaman? What about the Shaman?";
next;
- mes "["+strcharinfo(0)+"] ";
+ mes "["+strcharinfo(PC_NAME)+"] ";
mes "The Shaman's dead now. Who was that Shaman really?";
next;
mes "Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face.";
diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt
index cbb8d20b5..90efe6f5c 100644
--- a/npc/instances/SealedShrine.txt
+++ b/npc/instances/SealedShrine.txt
@@ -105,7 +105,7 @@ monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{
case 2:
if (BaseLevel >= 75) {
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
mes "[Friar Patrick]";
mes "Do you mean you'll go to the shrine and reseal Baphomet?";
@@ -117,10 +117,10 @@ monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{
//.@ins_bapho_check2 = questprogress(3045,PLAYTIME);
if (!.@ins_bapho_check) {
- if (getpartyleader(.@party_id,2) == getcharid(0) && instance_check_party(.@party_id,2,75)) {
+ if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR) && instance_check_party(.@party_id,2,75)) {
mes "[Friar Patrick]";
mes "Party name is "+getpartyname(.@party_id)+"...";
- mes "Name of the leader is "+strcharinfo(0)+"...";
+ mes "Name of the leader is "+strcharinfo(PC_NAME)+"...";
.@instance = instance_create("Sealed Catacomb",.@party_id);
if (.@instance < 0) {
mes "Umm... But it seems that there is a problem here... I'll check quickly. Please wait.";
@@ -238,7 +238,7 @@ monk_test,306,151,3 script Grave of Baphomet#edq HIDDEN_NPC,{
mes "It's cold to the touch. It doesn't respond.";
close;
} else {
- mapannounce "monk_test","[" + strcharinfo(0) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99";
+ mapannounce "monk_test","[" + strcharinfo(PC_NAME) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99";
setquest 3040;
warp "1@cata",100,224;
end;
@@ -491,7 +491,7 @@ OnMyMobDead:
//== Soul of hero near the north grave =====================
1@cata,141,221,0 script Gravestone# CLEAR_NPC,3,3,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
if ('ins_baphomet == 0) {
mes "The gravestone is trembling...";
next;
@@ -548,7 +548,7 @@ OnMyMobDead:
mes "If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up.";
close;
}
- else if (('ins_baphomet == 2) && (getpartyleader(.@party_id,2) == getcharid(0))) {
+ else if (('ins_baphomet == 2) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
mes "[Voice of the Gravestone]";
mes "Did you find the pendant?";
next;
@@ -598,7 +598,7 @@ OnInstanceInit: // Temporary fix for @reloadscript.
}
1@cata,176,119,4 script Ancient Hero's Soul#1F 4_M_CHAMPSOUL,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
cutin "ins_cata_champ_n",2;
if ('ins_baphomet == 2) {
mes "[Ancient Hero's Soul]";
@@ -660,7 +660,7 @@ OnInstanceInit: // Temporary fix for @reloadscript.
break;
case 3:
++.@ins_baphomet_1f_3;
- if (getpartyleader(.@party_id,2) == getcharid(0)) {
+ if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
mes "[Ancient Hero's Soul]";
mes "You look like the leader of this party. You need to go and get ^0000FF10 Essence of Fire^000000 from the torches.";
next;
@@ -712,7 +712,7 @@ OnInstanceInit: // Temporary fix for @reloadscript.
}
if (.@exitloop) break;
}
- if (getpartyleader(.@party_id,2) == getcharid(0)) {
+ if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
mes "[Ancient Hero's Soul]";
mes "To remind you again, I must be substantialized within the next hour. So everyone, finish your work within that time!";
'ins_baphomet = 3;
@@ -729,7 +729,7 @@ OnInstanceInit: // Temporary fix for @reloadscript.
cutin "",255;
end;
}
- else if (('ins_baphomet == 3) && (getpartyleader(.@party_id,2) == getcharid(0))) {
+ else if (('ins_baphomet == 3) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
cutin "ins_cata_champ_n",2;
mes "[Ancient Hero's Soul]";
mes "Did you get 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000?";
@@ -766,7 +766,7 @@ OnInstanceInit: // Temporary fix for @reloadscript.
cutin "",255;
end;
}
- else if (('ins_baphomet == 4) && (getpartyleader(.@party_id,2) == getcharid(0))) {
+ else if (('ins_baphomet == 4) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
cutin "ins_cata_champ_n",2;
mes "[Ancient Hero's Soul]";
mes "Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000.";
@@ -843,7 +843,7 @@ OnInstanceInit:
'ins_baphomet = 2;
mes "A small object is shining under a leaning grave.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I think this is the pendant...";
close;
}
@@ -886,8 +886,8 @@ OnInstanceInit:
//== Bobbing Torches =======================================
- script Bobbing Torch#SS FAKE_NPC,{
- .@party_id = getcharid(1);
- if (getpartyleader(.@party_id,2) == getcharid(0)) {
+ .@party_id = getcharid(CHAR_ID_PARTY);
+ if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
if (('ins_baphomet == 3) && (countitem(Essence_Of_Fire) < 11)) {
mes "A huge torch appearing as if it can burn everything is bobbing up and down in front of me.";
next;
@@ -1124,8 +1124,8 @@ OnInstanceInit:
2@cata,35,109,0 duplicate(Magical Seal#SS) Magical Seal#10 CLEAR_NPC
2@cata,79,65,0 script The Main Altar#ss CLEAR_NPC,{
- .@party_id = getcharid(1);
- if (('ins_baphomet == 5) && (getpartyleader(.@party_id,2) == getcharid(0))) {
+ .@party_id = getcharid(CHAR_ID_PARTY);
+ if (('ins_baphomet == 5) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
mes "An evil power, too terrible to describe, lies under the great altar radiating a violet color.";
next;
mes "Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within.";
@@ -1134,7 +1134,7 @@ OnInstanceInit:
next;
specialeffect EF_METEORSTORM;
specialeffect EF_METEORSTORM;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Watch out! Something... Something is coming.";
'ins_baphomet = 6;
donpcevent instance_npcname("ins_2f_hero_broad")+"::OnEnable";
diff --git a/npc/jobs/1-1e/gunslinger.txt b/npc/jobs/1-1e/gunslinger.txt
index 45172b32c..1369a209b 100644
--- a/npc/jobs/1-1e/gunslinger.txt
+++ b/npc/jobs/1-1e/gunslinger.txt
@@ -231,7 +231,7 @@ payon,184,65,3 script Wise Bull Horn 4_M_LGTGRAND,{
mes "What business has";
mes "brought you before me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. Miller sent me to";
mes "deliver this letter to you.";
mes "Actually, I'm interested in";
diff --git a/npc/jobs/1-1e/ninja.txt b/npc/jobs/1-1e/ninja.txt
index 34620e26c..762f94b4b 100644
--- a/npc/jobs/1-1e/ninja.txt
+++ b/npc/jobs/1-1e/ninja.txt
@@ -115,7 +115,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
if (NINJ_Q == 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me.";
mes "H-hello?";
next;
@@ -123,7 +123,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "...............................";
mes "How did you do that?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do what? I didn't";
mes "do anything, I don't think...";
next;
@@ -134,7 +134,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Ah, now I get it. Wildcat Joe";
mes "must have sent you to kill me! I won't fall for your tricks! Die!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "W-wait! I-I don't even";
mes "know who Wildcat Joe is!";
mes "Calm down, there's no";
@@ -147,7 +147,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "You've got some talent,";
mes "I'll give you that.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............................";
mes "I came here hoping";
mes "to change my job";
@@ -262,7 +262,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Please get those";
mes "as quickly as you can!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? That's funny,";
mes "Wildcat Joe actually";
mes "asked me to gather";
@@ -403,7 +403,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "buildings in my hometown";
mes "are tiny in comparison...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, are you from";
mes "Amatsu? I'm looking";
mes "for someone named";
@@ -416,7 +416,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "minerals. Tell me, why are";
mes "you looking for this Wildcat Joe?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I need to deliver";
mes "this letter to him and";
mes "get his response so that";
@@ -429,7 +429,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "in this town. Though, he prefers to be called ''Red Leopard Joe,''";
mes "instead of ''Wildcat Joe.''";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I really want to help you";
mes "find him, but first I need";
mes "to find the minerals that";
@@ -474,13 +474,13 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "help you now. Here,";
mes "let me see that letter.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?????!!";
next;
mes "[Suspicious Man]";
mes "Why? Didn't you bring Cougar's letter for me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you...";
mes "Are you Wildcat Joe?";
next;
@@ -506,7 +506,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "shadows is really our";
mes "ultimate power.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I see...";
mes "...........";
next;
@@ -532,7 +532,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "Ninja, even if I did trick you";
mes "just earlier. Heh heh heh!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
mes "............";
diff --git a/npc/jobs/1-1e/taekwon.txt b/npc/jobs/1-1e/taekwon.txt
index 382f45a9a..80f3ba0ea 100644
--- a/npc/jobs/1-1e/taekwon.txt
+++ b/npc/jobs/1-1e/taekwon.txt
@@ -424,7 +424,7 @@
mes "[Phoenix]";
mes "Very well. I wish you luck.";
mes "I hope to see you again";
- mes "sometime, "+strcharinfo(0)+".";
+ mes "sometime, "+strcharinfo(PC_NAME)+".";
close;
}
mes "[Phoenix]";
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt
index 4ab4bd68b..fcc1c4c98 100644
--- a/npc/jobs/2-1/assassin.txt
+++ b/npc/jobs/2-1/assassin.txt
@@ -220,7 +220,7 @@ in_moc_16,19,33,1 script Guildsman#asn 1_M_JOBTESTER,{
mes "Wasn't your name, umm, I remember 'cause it sounded funny to me...";
next;
mes "[Assassin Expert 'Huey']";
- mes ":+:" + strcharinfo(0) + ":+:, right? No wait, just "+ strcharinfo(0) +". Yeah, how's it goin'?";
+ mes ":+:" + strcharinfo(PC_NAME) + ":+:, right? No wait, just "+ strcharinfo(PC_NAME) +". Yeah, how's it goin'?";
next;
mes "[Assassin Expert 'Huey']";
mes "Unfortunately, I don't have any requests for you at this time from the guild. Just keep focusing on your training. Till then, see ya.";
@@ -531,7 +531,7 @@ OnTouch:
mes "[Assassin 'Khai']";
mes "Let's see.";
mes "Your name is";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "Job level " + JobLevel + "...";
next;
if (JobLevel > 48) {
@@ -610,7 +610,7 @@ OnTouch:
mes "Fill out the application form with your name and job level.";
next;
mes "[Assassin 'Khai']";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
mes "That's your name?";
mes "It sounds funny.";
mes "Let's see... Job Level " + JobLevel + "...";
@@ -1103,7 +1103,7 @@ OnStartArena:
warpwaitingpc "in_moc_16", 66, 151;
attachrid($@warpwaitingpc[0]);
if (ASSIN_Q2 < 5) {
- warpchar "in_moc_16",20,145,getcharid(0);
+ warpchar "in_moc_16",20,145,getcharid(CHAR_ID_CHAR);
end;
}
donpcevent "Beholder#ASNTEST::OnEnable";
@@ -1130,7 +1130,7 @@ OnTouch:
}
if (ASSIN_Q == 1 && ASSIN_Q2 == 5) {
mes "[Barcardi]";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "You passed the test..?";
next;
mes "[Barcardi]";
@@ -1275,7 +1275,7 @@ OnMyMobDead:
end;
OnMyMobDead2:
- mapannounce "in_moc_16",strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map;
+ mapannounce "in_moc_16",strcharinfo(PC_NAME) + "! You made a mistake! I'm bringing you back!",bc_map;
ASSIN_Q = 2;
warp "in_moc_16",19,161;
donpcevent "Beholder#ASNTEST::OnReset";
@@ -1347,7 +1347,7 @@ OnTimer187000:
in_moc_16,68,158,0 script 01_1::SinTrap FAKE_NPC,0,0,{
OnTouch:
if (getvariableofnpc(.DisableTraps,"Beholder#ASNTEST") < 1) {
- mapannounce "in_moc_16",strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map;
+ mapannounce "in_moc_16",strcharinfo(PC_NAME) + ", you're trapped. You will be sent back.",bc_map;
ASSIN_Q = 2;
warp "in_moc_16",19,161;
donpcevent "Beholder#ASNTEST::OnResetMob";
@@ -1515,7 +1515,7 @@ OnTouch:
mes "[Thomas]";
mes "Oh hey, don't forget to save your respawn point in town.";
close2;
- mapannounce "in_moc_16",strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map;
+ mapannounce "in_moc_16",strcharinfo(PC_NAME) + " got scared and quit the test...Who's Next?!",bc_map;
ASSIN_Q = 0;
ASSIN_Q2 = 0;
ASSIN_Q3 = 0;
@@ -1600,7 +1600,7 @@ OnTouch:
changequest 8005,8006;
}
else {
- mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map;
+ mapannounce "in_moc_16",strcharinfo(PC_NAME)+" has entered 'Guildmaster's room.'",bc_map;
savepoint "in_moc_16",181,183;
donpcevent "Guildmaster#ASN1::OnCast";
warp "in_moc_16",167,113;
@@ -1931,9 +1931,9 @@ OnTouch:
mes "Please give me";
mes "one second...";
next;
- mapannounce "in_moc_16","Those involved with the testing of " + strcharinfo(0) + ", please gather before me.",bc_map;
+ mapannounce "in_moc_16","Those involved with the testing of " + strcharinfo(PC_NAME) + ", please gather before me.",bc_map;
mes "[Guildmaster]";
- mes "Those involved with the testing of " + strcharinfo(0) + ", please gather before me.";
+ mes "Those involved with the testing of " + strcharinfo(PC_NAME) + ", please gather before me.";
next;
mes "[Guildmaster]";
mes "They will";
@@ -1950,12 +1950,12 @@ OnTouch:
mes "I am here.";
next;
mes "[Guildmaster]";
- mes "I would like to listen to your opinion of " + strcharinfo(0) + " for the job change test.";
+ mes "I would like to listen to your opinion of " + strcharinfo(PC_NAME) + " for the job change test.";
next;
mes "[The Anonymous One]";
mes "Ah yeah...";
mes "I think";
- mes ""+ strcharinfo(0) +"";
+ mes ""+ strcharinfo(PC_NAME) +"";
mes "is decent.";
next;
mes "[Guildmaster]";
@@ -1976,7 +1976,7 @@ OnTouch:
}
else {
mes "[Huey]";
- mes "Although "+ strcharinfo(0) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(0) +" has the stuff.";
+ mes "Although "+ strcharinfo(PC_NAME) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(PC_NAME) +" has the stuff.";
next;
mes "[Huey]";
mes "If it's alright with you, I'd like to get back to my job.";
@@ -1997,7 +1997,7 @@ OnTouch:
next;
mes "[Guildmaster]";
mes "Hmm...";
- mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(0) +" as well...";
+ mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(PC_NAME) +" as well...";
next;
switch(ASSIN_Q) {
case 8:
@@ -2117,7 +2117,7 @@ OnTouch:
mes "Upon receiving this token, Huey will promote you to an Assassin.";
next;
mes "[Guildmaster]";
- mes "You, " + strcharinfo(0) + ", have chosen to live as an Assassin. May you learn our ways and be an honorable example to others.";
+ mes "You, " + strcharinfo(PC_NAME) + ", have chosen to live as an Assassin. May you learn our ways and be an honorable example to others.";
savepoint "morocc",100,100;
getitem Frozen_Heart,1;
changequest 8006,8007;
diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt
index 5531c87ae..8b1c9e9d3 100644
--- a/npc/jobs/2-1/blacksmith.txt
+++ b/npc/jobs/2-1/blacksmith.txt
@@ -589,7 +589,7 @@ ein_in01,201,27,3 script Guildsman#alberta 1_M_SMITH,{
case 3: setarray .@items[0], 1003,1, 935,2, 990,2, 1119,1, 6; changequest 2002,2005; break;
//Iron_Ore, Eye_Bandage, Blue_Gemstone, Arbalest
case 4: setarray .@items[0], 1002,1, 2212,1, 717,2, 1713,1, 7; changequest 2002,2006; break;
- //Iron, Green_Herb, Animal's_Skin, Ring_Pommel_Saber
+ //Iron, Green_Herb, Animals_Skin, Ring_Pommel_Saber
default: setarray .@items[0], 998,1, 511,1, 919,2, 1122,1, 8; changequest 2002,2007; break;
}
BSMITH_Q = .@items[8];
@@ -987,7 +987,7 @@ geffen,46,164,1 script Baisulist#BLS 1_F_04,{
mes "Here it is.";
mes "Thank you so much!";
mes "Oh, and good luck~";
- mapannounce "geffen","Hey, " +strcharinfo(0)+ ", thank you so much for the delivery~",bc_map;
+ mapannounce "geffen","Hey, " +strcharinfo(PC_NAME)+ ", thank you so much for the delivery~",bc_map;
close;
}
else if (BSMITH_Q == 14) {
@@ -1080,7 +1080,7 @@ morocc,27,112,4 script Wickebine#BLS 4_F_JOB_ASSASSIN,{
mes "Here's the receipt.";
mes "I think you did";
mes "a good job.";
- mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map;
+ mapannounce "morocc","Thanks for delivering, " + strcharinfo(PC_NAME) + "~!",bc_map;
close2;
cutin "Job_Black_hucke02",255;
end;
@@ -1171,7 +1171,7 @@ lighthalzen,209,80,4 script Krongast#BLS 4_M_JOB_KNIGHT2,{
mes "your receipt.";
mes "Thank you for";
mes "your business!";
- mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map;
+ mapannounce "lighthalzen",strcharinfo(PC_NAME)+"... Thank you for the delivery.",bc_map;
close;
}
else if (BSMITH_Q == 14) {
@@ -1246,7 +1246,7 @@ payon,214,79,4 script Talpiz#BLS 1_M_ORIENT01,{
mes "your receipt.";
mes "I really appreciate";
mes "your hard work.";
- mapannounce "payon","Thanks, " +strcharinfo(0)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map;
+ mapannounce "payon","Thanks, " +strcharinfo(PC_NAME)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map;
close;
}
else if (BSMITH_Q == 14) {
@@ -1342,7 +1342,7 @@ hugel,168,183,1 script Bismarc#BLS 2_M_THIEFMASTER,{
mes "your receipt.";
mes "T-take it...!";
mes "It's yours!";
- mapannounce "hugel","Thanks, " +strcharinfo(0)+ ", for the delivery. You saved my life...",bc_map;
+ mapannounce "hugel","Thanks, " +strcharinfo(PC_NAME)+ ", for the delivery. You saved my life...",bc_map;
close;
}
else if (BSMITH_Q == 14) {
diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt
index 20ab68dbe..76b3c4b39 100644
--- a/npc/jobs/2-1/hunter.txt
+++ b/npc/jobs/2-1/hunter.txt
@@ -132,7 +132,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 4_F_JOB_HUNTER,{
}
else if (BaseJob == Job_Hunter) {
mes "[Hunter Sherin]";
- mes "Oh~ " + strcharinfo(0) + "!!";
+ mes "Oh~ " + strcharinfo(PC_NAME) + "!!";
mes "Long time no see~ What brings you here? Did your Falcon run away or something?";
next;
mes "[Hunter Sherin]";
@@ -460,13 +460,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 4_F_JOB_HUNTER,{
hu_in01,382,382,4 script Guild Receptionist#hnt 4_M_JOB_HUNTER,{
if (HNTR_Q == 2) {
mes "[Guild Receptionist]";
- mes "Greetings. They call me... ^660000The Demon Hunter^000000. I am the one in charge of processing applications. Your name is ... " + strcharinfo(0) + ", correct?";
+ mes "Greetings. They call me... ^660000The Demon Hunter^000000. I am the one in charge of processing applications. Your name is ... " + strcharinfo(PC_NAME) + ", correct?";
next;
.@selection = select("Yes, that is correct.", "Nope~~(heeheehee)");
if (.@selection == 2) {
mes "[Demon Hunter]";
mes "Hey, stop messing around.";
- mes "Your name is " + strcharinfo(0) + ", right?";
+ mes "Your name is " + strcharinfo(PC_NAME) + ", right?";
next;
if (select("Yes...", "Hehehe. I keep telling you, it's not~~") == 1) {
mes "[Demon Hunter]";
@@ -495,13 +495,13 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 4_M_JOB_HUNTER,{
case 1: setarray .@items[0], (RENEWAL?928:7030),5, 1019,5, 509,3, 3; changequest 4001,4002; break;
//Bill_Of_Birds, Skel_Bone, Green_Herb
case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; changequest 4001,4003; break;
- //Colorful_Shell/Posionous_Canine, Animal's_Skin, Red_Herb
+ //Colorful_Shell/Posionous_Canine, Animals_Skin, Red_Herb
case 3: setarray .@items[0], (RENEWAL?1013:937),3, 919,3, 507,5, 5; changequest 4001,4004; break;
//Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff
case 4: setarray .@items[0], (RENEWAL?947:1021),3, (RENEWAL?7033:7032),3, 914,10, 6; changequest 4001,4005; break;
//Shell, Worm_Peelings, Yellow_Herb
case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; changequest 4001,4006; break;
- //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot
+ //Tooth_Of_Bat, Sticky_Mucus, Bears_Foot
case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; changequest 4001,4007; break;
//Porcupine_Spike, Yoyo_Tail, Acorn
case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; changequest 4001,4008; break;
@@ -525,13 +525,13 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 4_M_JOB_HUNTER,{
case 3: setarray .@items[0], (RENEWAL?928:7030),5, 1019,5, 509,3, 10; break;
//Bill_Of_Birds, Skel_Bone, Green_Herb
case 4: setarray .@items[0], 925,3, 932,5, 511,3, 10; break;
- //Colorful_Shell/Posionous_Canine, Animal's_Skin, Red_Herb
+ //Colorful_Shell/Posionous_Canine, Animals_Skin, Red_Herb
case 5: setarray .@items[0], (RENEWAL?1013:937),3, 919,3, 507,5, 10; break;
//Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff
case 6: setarray .@items[0], (RENEWAL?947:1021),3, (RENEWAL?7033:7032),3, 914,10, 10; break;
//Shell, Worm_Peelings, Yellow_Herb
case 7: setarray .@items[0], 935,9, 955,9, 508,9, 11; break;
- //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot
+ //Tooth_Of_Bat, Sticky_Mucus, Bears_Foot
case 8: setarray .@items[0], 913,3, 938,1, 948,1, 11; break;
//Porcupine_Spike, Yoyo_Tail, Acorn
case 9: setarray .@items[0], 1027,2, 942,1, 1026,1, 11; break;
@@ -990,7 +990,7 @@ OnTouch:
mes "Okay. Do your best and become a great Hunter. Please enter the waiting room. If someone is already taking the test, you must wait until that person is done.";
close;
case 2:
- mapannounce "job_hunte",strcharinfo(0)+ " has resigned. Next person, please enter.",bc_map;
+ mapannounce "job_hunte",strcharinfo(PC_NAME)+ " has resigned. Next person, please enter.",bc_map;
mes "[Guide]";
mes "Very well. I'll send you to Payon. Hope to see you next time. Don't forget to save when you leave.";
// donpcevent "Waiting Room#hnt::OnStart";
@@ -1093,7 +1093,7 @@ OnMyMobDead:
end;
OnMyMobDead2:
- mapannounce "job_hunte",strcharinfo(0)+ "!! You made a mistake...Please try again.",bc_map;
+ mapannounce "job_hunte",strcharinfo(PC_NAME)+ "!! You made a mistake...Please try again.",bc_map;
HNTR_Q = 13;
warp "job_hunte",176,22;
donpcevent "Manager#hnt::OnReset";
@@ -1254,137 +1254,137 @@ job_hunte,52,140,0 script 1-1::HntTrap FAKE_NPC,0,1,{
OnTouch:
switch(rand(200)) {
default:
- case 1: mapannounce "job_hunte",strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break;
- case 2: mapannounce "job_hunte",strcharinfo(0) + ", yes you! Go back and start over!",bc_map; break;
- case 3: mapannounce "job_hunte",strcharinfo(0) + " has failed!...well...you will if you don't start over...",bc_map; break;
- case 4: mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; break;
- case 5: mapannounce "job_hunte",strcharinfo(0) + ", you have blundered into a trap. I'm sorry, but for now, YOU LOSE.",bc_map; break;
- case 6: mapannounce "job_hunte",strcharinfo(0) + ", what are you doing!? Go back and do it again!",bc_map; break;
- case 7: mapannounce "job_hunte",strcharinfo(0) + ", come on! You can do better then this!! Try again!",bc_map; break;
- case 8: mapannounce "job_hunte",strcharinfo(0) + ", has fallen into a trap...again. But don't worry, you're getting better.",bc_map; break;
- case 9: mapannounce "job_hunte",strcharinfo(0) + ", fail, fail, fail... Go back to where you started!",bc_map; break;
- case 10: mapannounce "job_hunte",strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break;
- case 11: mapannounce "job_hunte",strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break;
- case 12: mapannounce "job_hunte",strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break;
- case 13: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break;
- case 14: mapannounce "job_hunte",strcharinfo(0) + ". G'day mate, welcome to the land down under. As a present, I'll send you to the starting point...",bc_map; break;
- case 15: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break;
- case 16: mapannounce "job_hunte",strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break;
- case 17: mapannounce "job_hunte",strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break;
- case 18: mapannounce "job_hunte","Alas, " + strcharinfo(0) + ", you have fallen prey to the most feared of traps. The dreaded stink bomb! Run run run awaaaaaay!",bc_map; break;
- case 19: mapannounce "job_hunte",strcharinfo(0) + " had too much prune juice to drink today. Back to the starting point~",bc_map; break;
- case 20: mapannounce "job_hunte","No.... " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break;
- case 21: mapannounce "job_hunte","Meow *pounce* look my kitties we'll have some" + strcharinfo(0) + "stew. Back to the starting point if you don't want to become stew!",bc_map; break;
- case 22: mapannounce "job_hunte","Sorry " + strcharinfo(0) + ", but you've actually found a BAD secret. You will be returned to the starting point.",bc_map; break;
- case 23: mapannounce "job_hunte",strcharinfo(0) + ", silly Archer...your tenacity is touching. But it's back to the start for you...",bc_map; break;
- case 24: mapannounce "job_hunte",strcharinfo(0) + ", you've fallen and you can't get up. You'll be carried back to the starting point.",bc_map; break;
- case 25: mapannounce "job_hunte","Skip a turn " + strcharinfo(0) + ", go back to start.",bc_map; break;
- case 26: mapannounce "job_hunte",strcharinfo(0) + ", nya nya, heh heh heh. You will be returned to the starting point.",bc_map; break;
- case 27: mapannounce "job_hunte","Practice is over " + strcharinfo(0) + ". This time show me for real.",bc_map; break;
- case 28: mapannounce "job_hunte",strcharinfo(0) + ", this is a Poring jellopy raid...Get out! Start from the beginning if you wish to continue.",bc_map; break;
- case 29: mapannounce "job_hunte","Disconnected from server. " + strcharinfo(0) + ", you have to start over.",bc_map; break;
- case 30: mapannounce "job_hunte",strcharinfo(0) + ", what does this button do...oops! I'm afraid you have to start over.",bc_map; break;
- case 31: mapannounce "job_hunte",strcharinfo(0) + ", you have entered the bonus round! Aaaand, you lost. You will be returned to the starting point.",bc_map; break;
- case 32: mapannounce "job_hunte","Oh, no " + strcharinfo(0) + ", you've stepped on a hive of bees. You narrowly escaped, all the way back to the beginning.",bc_map; break;
- case 33: mapannounce "job_hunte",strcharinfo(0) + ", wait wait. That's a trap! Oh wait, that's dog. . . .",bc_map; break;
- case 34: mapannounce "job_hunte","Stop " + strcharinfo(0) + "! For stepping on that trap, I shall punish you!",bc_map; break;
- case 35: mapannounce "job_hunte",strcharinfo(0) + ", I'll be back. . . I hope you will too.",bc_map; break;
- case 36: mapannounce "job_hunte",strcharinfo(0) + ", Come with me if you want to live. . to the starting point.",bc_map; break;
- case 37: mapannounce "job_hunte",strcharinfo(0) + ", my... precious! Go back to the starting point.",bc_map; break;
- case 38: mapannounce "job_hunte","Follow the yellow brick road... No wait, " + strcharinfo(0) + "!! Not that way...Back to the starting point it is.",bc_map; break;
- case 39: mapannounce "job_hunte",strcharinfo(0) + ", you've really go to get the hang of this 'in tune with nature' thing. Now, you're lost!",bc_map; break;
- case 40: mapannounce "job_hunte",strcharinfo(0) + ", it's only a story...not real. But you will be returned to the starting point.",bc_map; break;
- case 41: mapannounce "job_hunte",strcharinfo(0) + ", you have fallen into a trap. And the trap...has fallen into you. Returning you to the starting point.",bc_map; break;
- case 42: mapannounce "job_hunte","Fear not " + strcharinfo(0) + ", for you too, shall learn the powers of the dark side. You will now be returned to the starting point.",bc_map; break;
- case 43: mapannounce "job_hunte",strcharinfo(0) + ", fell into a trap. Quite easily too, I'm afraid. But this hero won't be beaten that easily!",bc_map; break;
+ case 1: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break;
+ case 2: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", yes you! Go back and start over!",bc_map; break;
+ case 3: mapannounce "job_hunte",strcharinfo(PC_NAME) + " has failed!...well...you will if you don't start over...",bc_map; break;
+ case 4: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", has failed me! Go back to where you started!",bc_map; break;
+ case 5: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you have blundered into a trap. I'm sorry, but for now, YOU LOSE.",bc_map; break;
+ case 6: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", what are you doing!? Go back and do it again!",bc_map; break;
+ case 7: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", come on! You can do better then this!! Try again!",bc_map; break;
+ case 8: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", has fallen into a trap...again. But don't worry, you're getting better.",bc_map; break;
+ case 9: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", fail, fail, fail... Go back to where you started!",bc_map; break;
+ case 10: mapannounce "job_hunte",strcharinfo(PC_NAME) + "... aww~ Try again! You can do it!",bc_map; break;
+ case 11: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break;
+ case 12: mapannounce "job_hunte",strcharinfo(PC_NAME) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break;
+ case 13: mapannounce "job_hunte","I put a spell on you " + strcharinfo(PC_NAME) + " and now you're mine! Go start over now.",bc_map; break;
+ case 14: mapannounce "job_hunte",strcharinfo(PC_NAME) + ". G'day mate, welcome to the land down under. As a present, I'll send you to the starting point...",bc_map; break;
+ case 15: mapannounce "job_hunte","That's my nest " + strcharinfo(PC_NAME) + "! dont step there, squawk~ Start over.",bc_map; break;
+ case 16: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", another archer down. 3 more to go!",bc_map; break;
+ case 17: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", have you got what it takes? Then try again.",bc_map; break;
+ case 18: mapannounce "job_hunte","Alas, " + strcharinfo(PC_NAME) + ", you have fallen prey to the most feared of traps. The dreaded stink bomb! Run run run awaaaaaay!",bc_map; break;
+ case 19: mapannounce "job_hunte",strcharinfo(PC_NAME) + " had too much prune juice to drink today. Back to the starting point~",bc_map; break;
+ case 20: mapannounce "job_hunte","No.... " + strcharinfo(PC_NAME) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break;
+ case 21: mapannounce "job_hunte","Meow *pounce* look my kitties we'll have some" + strcharinfo(PC_NAME) + "stew. Back to the starting point if you don't want to become stew!",bc_map; break;
+ case 22: mapannounce "job_hunte","Sorry " + strcharinfo(PC_NAME) + ", but you've actually found a BAD secret. You will be returned to the starting point.",bc_map; break;
+ case 23: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", silly Archer...your tenacity is touching. But it's back to the start for you...",bc_map; break;
+ case 24: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you've fallen and you can't get up. You'll be carried back to the starting point.",bc_map; break;
+ case 25: mapannounce "job_hunte","Skip a turn " + strcharinfo(PC_NAME) + ", go back to start.",bc_map; break;
+ case 26: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", nya nya, heh heh heh. You will be returned to the starting point.",bc_map; break;
+ case 27: mapannounce "job_hunte","Practice is over " + strcharinfo(PC_NAME) + ". This time show me for real.",bc_map; break;
+ case 28: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", this is a Poring jellopy raid...Get out! Start from the beginning if you wish to continue.",bc_map; break;
+ case 29: mapannounce "job_hunte","Disconnected from server. " + strcharinfo(PC_NAME) + ", you have to start over.",bc_map; break;
+ case 30: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", what does this button do...oops! I'm afraid you have to start over.",bc_map; break;
+ case 31: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you have entered the bonus round! Aaaand, you lost. You will be returned to the starting point.",bc_map; break;
+ case 32: mapannounce "job_hunte","Oh, no " + strcharinfo(PC_NAME) + ", you've stepped on a hive of bees. You narrowly escaped, all the way back to the beginning.",bc_map; break;
+ case 33: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", wait wait. That's a trap! Oh wait, that's dog. . . .",bc_map; break;
+ case 34: mapannounce "job_hunte","Stop " + strcharinfo(PC_NAME) + "! For stepping on that trap, I shall punish you!",bc_map; break;
+ case 35: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I'll be back. . . I hope you will too.",bc_map; break;
+ case 36: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", Come with me if you want to live. . to the starting point.",bc_map; break;
+ case 37: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", my... precious! Go back to the starting point.",bc_map; break;
+ case 38: mapannounce "job_hunte","Follow the yellow brick road... No wait, " + strcharinfo(PC_NAME) + "!! Not that way...Back to the starting point it is.",bc_map; break;
+ case 39: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you've really go to get the hang of this 'in tune with nature' thing. Now, you're lost!",bc_map; break;
+ case 40: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", it's only a story...not real. But you will be returned to the starting point.",bc_map; break;
+ case 41: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you have fallen into a trap. And the trap...has fallen into you. Returning you to the starting point.",bc_map; break;
+ case 42: mapannounce "job_hunte","Fear not " + strcharinfo(PC_NAME) + ", for you too, shall learn the powers of the dark side. You will now be returned to the starting point.",bc_map; break;
+ case 43: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", fell into a trap. Quite easily too, I'm afraid. But this hero won't be beaten that easily!",bc_map; break;
case 44: mapannounce "job_hunte"," Tip of the day: Do not step on the traps. You will be returned to the starting point.",bc_map; break;
- case 45: mapannounce "job_hunte",strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break;
- case 46: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break;
- case 47: mapannounce "job_hunte","MY EYES!! " + strcharinfo(0) + ", you... you.. stepped on them. Go try again...I'd cry for you if I could even shed tears...",bc_map; break;
- case 48: mapannounce "job_hunte",strcharinfo(0) + ", where are you? Right...NOT at the place where'd you be if you passed the test.",bc_map; break;
- case 49: mapannounce "job_hunte"," Wow, they actually paid a guy to think of these comments. " + strcharinfo(0) + ", you can go back to the starting point.",bc_map; break;
- case 50: mapannounce "job_hunte"," My word, " + strcharinfo(0) + "! You've precariously fallen into a trap! You will be returned back to the start. Cheerio~!",bc_map; break;
- case 51: mapannounce "job_hunte",strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break;
- case 52: mapannounce "job_hunte",strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break;
- case 53: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break;
- case 54: mapannounce "job_hunte","Hi " + strcharinfo(0) + ", how are you? Here's a present~ a free warp! Back to the starting point.",bc_map; break;
- case 55: mapannounce "job_hunte",strcharinfo(0) + ".......... did you know that that was a trap? I hope so, otherwise, I guess you'd be pretty embarassed.",bc_map; break;
- case 56: mapannounce "job_hunte",strcharinfo(0) + ", what do you think of the interior design? I worked very hard on it... and this lovely feature that sends you back to the starting point.",bc_map; break;
- case 57: mapannounce "job_hunte","BOOM BAM BOOM! " + strcharinfo(0) + ", you have fallen into my trap! But I won't kill you...just...humiliate you...",bc_map; break;
- case 58: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break;
- case 59: mapannounce "job_hunte","Hello, this is your local Kafra worker... " + strcharinfo(0) + ", your mommy is waiting for you at the checkout line.",bc_map; break;
- case 60: mapannounce "job_hunte",strcharinfo(0) + ", if you do well. I'll have a nice present waiting for you... What is it? You'll see if you pass~ Go try again now!",bc_map; break;
- case 61: mapannounce "job_hunte",strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break;
- case 62: mapannounce "job_hunte",strcharinfo(0) + ", you fell into a trap. You should watch your feet more. What? Invisible? That's baby talk! Now go try again!",bc_map; break;
- case 63: mapannounce "job_hunte"," Sorry, " + strcharinfo(0) + ", you have fallen into a trap. But I'll be nice and send you to the starting point.",bc_map; break;
- case 64: mapannounce "job_hunte",strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break;
- case 65: mapannounce "job_hunte",strcharinfo(0) + ", I was just about to tell you about that one...but, I didn't? Back to start.",bc_map; break;
- case 66: mapannounce "job_hunte",strcharinfo(0) + "...I'm sorry my friend, but you lose. But don't worry, its not like this message is broadcast or anything.",bc_map; break;
- case 67: mapannounce "job_hunte",strcharinfo(0) + ", I'm not so sure that you qualify for this anymore... Try again and prove me wrong.",bc_map; break;
- case 68: mapannounce "job_hunte",strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break;
- case 69: mapannounce "job_hunte",strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break;
- case 70: mapannounce "job_hunte",strcharinfo(0) + ", your eyes can deceive you. Don't trust them. Stretch out with your feelings. Try again now.",bc_map; break;
- case 71: mapannounce "job_hunte",strcharinfo(0) + ", if you once start down the dark path, forever it will dominate your destiny. You shall be returned to the starting point.",bc_map; break;
- case 72: mapannounce "job_hunte",strcharinfo(0) + ", size doesn't matter. But, the number of traps that caught you do. Try again and win this time!",bc_map; break;
- case 73: mapannounce "job_hunte",strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break;
- case 74: mapannounce "job_hunte",strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break;
- case 75: mapannounce "job_hunte",strcharinfo(0) + ", look. If its made of metal and looks like it has teeth, you shouldn't put your foot in it. So simple, really...",bc_map; break;
- case 76: mapannounce "job_hunte",strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break;
- case 77: mapannounce "job_hunte",strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break;
- case 78: mapannounce "job_hunte",strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break;
- case 79: mapannounce "job_hunte",strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break;
- case 80: mapannounce "job_hunte",strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break;
- case 81: mapannounce "job_hunte",strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break;
- case 82: mapannounce "job_hunte",strcharinfo(0) + ", you should have not come back.",bc_map; break;
- case 83: mapannounce "job_hunte",strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break;
- case 84: mapannounce "job_hunte",strcharinfo(0) + ", now that's a name I haven't heard in a while...let's hope I don't hear it again~!",bc_map; break;
- case 85: mapannounce "job_hunte",strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break;
- case 86: mapannounce "job_hunte",strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break;
- case 87: mapannounce "job_hunte",strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break;
- case 88: mapannounce "job_hunte",strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break;
- case 89: mapannounce "job_hunte",strcharinfo(0) + ", you're just stalling now.",bc_map; break;
- case 90: mapannounce "job_hunte",strcharinfo(0) + ", life isn't always fair.",bc_map; break;
- case 91: mapannounce "job_hunte",strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break;
- case 92: mapannounce "job_hunte",strcharinfo(0) + ", survivability takes priority.",bc_map; break;
- case 93: mapannounce "job_hunte",strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break;
- case 94: mapannounce "job_hunte",strcharinfo(0) + ", there is happiness for those who accept their fate, and there is glory for those who resist their fate.",bc_map; break;
- case 95: mapannounce "job_hunte",strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break;
- case 96: mapannounce "job_hunte",strcharinfo(0) + ", we are having fun aren't we? Everyday here is like a dream. I really hope it's going to be like this forever.",bc_map; break;
- case 97: mapannounce "job_hunte",strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break;
- case 98: mapannounce "job_hunte",strcharinfo(0) + ", don't give up the ghost! Just be more careful...",bc_map; break;
- case 99: mapannounce "job_hunte",strcharinfo(0) + ", death is a gift given at birth. But...these traps won't kill you, don't worry.",bc_map; break;
- case 100: mapannounce "job_hunte",strcharinfo(0) + ", I was counting on you from the beginning. But I guess you're gonna make me wait longer...",bc_map; break;
- case 101: mapannounce "job_hunte",strcharinfo(0) + ", always with the end comes hope and rebirth. But it's back to the beginning for you~",bc_map; break;
- case 102: mapannounce "job_hunte",strcharinfo(0) + ", have I ever told you about the power held in a single tear? Its okay to shed one now, I know its hard...",bc_map; break;
- case 103: mapannounce "job_hunte",strcharinfo(0) + ", happiness often sneaks in through a door you didn't know you left open. Sort of like...hidden traps!",bc_map; break;
- case 104: mapannounce "job_hunte",strcharinfo(0) + ", ....Chii?",bc_map; break;
- case 105: mapannounce "job_hunte",strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break;
- case 106: mapannounce "job_hunte",strcharinfo(0) + ", it's time to duel!",bc_map; break;
- case 107: mapannounce "job_hunte",strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break;
- case 108: mapannounce "job_hunte",strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break;
- case 109: mapannounce "job_hunte",strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break;
- case 110: mapannounce "job_hunte",strcharinfo(0) + ", don't worry, I always keep a spare. We're not running out of traps anytime soon...",bc_map; break;
- case 111: mapannounce "job_hunte",strcharinfo(0) + ", when bad things happen, don't give up. The day will come when you will look back and laugh at them. But not today.",bc_map; break;
- case 112: mapannounce "job_hunte",strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break;
- case 113: mapannounce "job_hunte",strcharinfo(0) + ", you remember how it was like when you felt really slick? That feeling won't come back for a while...",bc_map; break;
- case 114: mapannounce "job_hunte",strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break;
- case 115: mapannounce "job_hunte",strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break;
- case 116: mapannounce "job_hunte",strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break;
- case 117: mapannounce "job_hunte",strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break;
- case 118: mapannounce "job_hunte",strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break;
- case 119: mapannounce "job_hunte",strcharinfo(0) + ", curiosity killed the cat. Lucky for me I'm not a cat. Oh, and um, you too of course.",bc_map; break;
- case 120: mapannounce "job_hunte",strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break;
- case 121: mapannounce "job_hunte",strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break;
- case 122: mapannounce "job_hunte",strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break;
- case 123: mapannounce "job_hunte",strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break;
- case 124: mapannounce "job_hunte",strcharinfo(0) + ", it looks like you could really be in trouble this time...no worries, just try this again!",bc_map; break;
- case 125: mapannounce "job_hunte",strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break;
- case 126: mapannounce "job_hunte",strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break;
- case 127: mapannounce "job_hunte",strcharinfo(0) + ", just think of it as Karma. Someday, you'll be setting hundreds of traps of your own...",bc_map; break;
- case 128: mapannounce "job_hunte",strcharinfo(0) + ", bad news dude...its another trap. You'll get the hang of this, I believe in you!",bc_map; break;
- case 129: mapannounce "job_hunte",strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break;
- case 130: mapannounce "job_hunte",strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break;
- case 131: mapannounce "job_hunte",strcharinfo(0) + "...oh man. It's tiring setting up all these traps. You guys have got to stop falling into them!",bc_map; break;
+ case 45: mapannounce "job_hunte",strcharinfo(PC_NAME) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(PC_NAME) + ".",bc_map; break;
+ case 46: mapannounce "job_hunte","Oy oy, " + strcharinfo(PC_NAME) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break;
+ case 47: mapannounce "job_hunte","MY EYES!! " + strcharinfo(PC_NAME) + ", you... you.. stepped on them. Go try again...I'd cry for you if I could even shed tears...",bc_map; break;
+ case 48: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", where are you? Right...NOT at the place where'd you be if you passed the test.",bc_map; break;
+ case 49: mapannounce "job_hunte"," Wow, they actually paid a guy to think of these comments. " + strcharinfo(PC_NAME) + ", you can go back to the starting point.",bc_map; break;
+ case 50: mapannounce "job_hunte"," My word, " + strcharinfo(PC_NAME) + "! You've precariously fallen into a trap! You will be returned back to the start. Cheerio~!",bc_map; break;
+ case 51: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break;
+ case 52: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break;
+ case 53: mapannounce "job_hunte","Oh, no.. " + strcharinfo(PC_NAME) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break;
+ case 54: mapannounce "job_hunte","Hi " + strcharinfo(PC_NAME) + ", how are you? Here's a present~ a free warp! Back to the starting point.",bc_map; break;
+ case 55: mapannounce "job_hunte",strcharinfo(PC_NAME) + ".......... did you know that that was a trap? I hope so, otherwise, I guess you'd be pretty embarassed.",bc_map; break;
+ case 56: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", what do you think of the interior design? I worked very hard on it... and this lovely feature that sends you back to the starting point.",bc_map; break;
+ case 57: mapannounce "job_hunte","BOOM BAM BOOM! " + strcharinfo(PC_NAME) + ", you have fallen into my trap! But I won't kill you...just...humiliate you...",bc_map; break;
+ case 58: mapannounce "job_hunte","Oh, " + strcharinfo(PC_NAME) + ".. You can do better. Try again!",bc_map; break;
+ case 59: mapannounce "job_hunte","Hello, this is your local Kafra worker... " + strcharinfo(PC_NAME) + ", your mommy is waiting for you at the checkout line.",bc_map; break;
+ case 60: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", if you do well. I'll have a nice present waiting for you... What is it? You'll see if you pass~ Go try again now!",bc_map; break;
+ case 61: mapannounce "job_hunte",strcharinfo(PC_NAME) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break;
+ case 62: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you fell into a trap. You should watch your feet more. What? Invisible? That's baby talk! Now go try again!",bc_map; break;
+ case 63: mapannounce "job_hunte"," Sorry, " + strcharinfo(PC_NAME) + ", you have fallen into a trap. But I'll be nice and send you to the starting point.",bc_map; break;
+ case 64: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break;
+ case 65: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I was just about to tell you about that one...but, I didn't? Back to start.",bc_map; break;
+ case 66: mapannounce "job_hunte",strcharinfo(PC_NAME) + "...I'm sorry my friend, but you lose. But don't worry, its not like this message is broadcast or anything.",bc_map; break;
+ case 67: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I'm not so sure that you qualify for this anymore... Try again and prove me wrong.",bc_map; break;
+ case 68: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break;
+ case 69: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break;
+ case 70: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", your eyes can deceive you. Don't trust them. Stretch out with your feelings. Try again now.",bc_map; break;
+ case 71: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", if you once start down the dark path, forever it will dominate your destiny. You shall be returned to the starting point.",bc_map; break;
+ case 72: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", size doesn't matter. But, the number of traps that caught you do. Try again and win this time!",bc_map; break;
+ case 73: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", try not. Do or do not. There is no try.",bc_map; break;
+ case 74: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", that is why you fail. Now try again!",bc_map; break;
+ case 75: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", look. If its made of metal and looks like it has teeth, you shouldn't put your foot in it. So simple, really...",bc_map; break;
+ case 76: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you are beaten. It is useless to resist.",bc_map; break;
+ case 77: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break;
+ case 78: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", your overconfidence is your weakness.",bc_map; break;
+ case 79: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", watch your step. This place can be a little rough.",bc_map; break;
+ case 80: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", oh I told you it was dangerous here.",bc_map; break;
+ case 81: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", everything is proceeding as I have foreseen.",bc_map; break;
+ case 82: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you should have not come back.",bc_map; break;
+ case 83: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break;
+ case 84: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", now that's a name I haven't heard in a while...let's hope I don't hear it again~!",bc_map; break;
+ case 85: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break;
+ case 86: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", defeat does not exist here, does it?!",bc_map; break;
+ case 87: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", concentrate. Focus your powers!",bc_map; break;
+ case 88: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break;
+ case 89: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you're just stalling now.",bc_map; break;
+ case 90: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", life isn't always fair.",bc_map; break;
+ case 91: mapannounce "job_hunte",strcharinfo(PC_NAME) + ".... Uhhh...it's not OUR fault....",bc_map; break;
+ case 92: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", survivability takes priority.",bc_map; break;
+ case 93: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break;
+ case 94: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", there is happiness for those who accept their fate, and there is glory for those who resist their fate.",bc_map; break;
+ case 95: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break;
+ case 96: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", we are having fun aren't we? Everyday here is like a dream. I really hope it's going to be like this forever.",bc_map; break;
+ case 97: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break;
+ case 98: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", don't give up the ghost! Just be more careful...",bc_map; break;
+ case 99: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", death is a gift given at birth. But...these traps won't kill you, don't worry.",bc_map; break;
+ case 100: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I was counting on you from the beginning. But I guess you're gonna make me wait longer...",bc_map; break;
+ case 101: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", always with the end comes hope and rebirth. But it's back to the beginning for you~",bc_map; break;
+ case 102: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", have I ever told you about the power held in a single tear? Its okay to shed one now, I know its hard...",bc_map; break;
+ case 103: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", happiness often sneaks in through a door you didn't know you left open. Sort of like...hidden traps!",bc_map; break;
+ case 104: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", ....Chii?",bc_map; break;
+ case 105: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", Mine! Mine! Mine! Mine!",bc_map; break;
+ case 106: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", it's time to duel!",bc_map; break;
+ case 107: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", I choose you!...wait... uagh...not you!...",bc_map; break;
+ case 108: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", this isn't the time to be complimenting it!",bc_map; break;
+ case 109: mapannounce "job_hunte",strcharinfo(PC_NAME) + "...Oh great, what else could go wrong today?",bc_map; break;
+ case 110: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", don't worry, I always keep a spare. We're not running out of traps anytime soon...",bc_map; break;
+ case 111: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", when bad things happen, don't give up. The day will come when you will look back and laugh at them. But not today.",bc_map; break;
+ case 112: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break;
+ case 113: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you remember how it was like when you felt really slick? That feeling won't come back for a while...",bc_map; break;
+ case 114: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", you must forget about your past for the sake of your own happiness.",bc_map; break;
+ case 115: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", if you can fool your friends, you can fool your enemies.",bc_map; break;
+ case 116: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", this world is made up of love and peace!",bc_map; break;
+ case 117: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", if you fail, you must drink this.....*evil grin*",bc_map; break;
+ case 118: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", don't say we didn't warn you!",bc_map; break;
+ case 119: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", curiosity killed the cat. Lucky for me I'm not a cat. Oh, and um, you too of course.",bc_map; break;
+ case 120: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break;
+ case 121: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", how you like me now? That's right, that was MY trap!",bc_map; break;
+ case 122: mapannounce "job_hunte",strcharinfo(PC_NAME) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break;
+ case 123: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break;
+ case 124: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", it looks like you could really be in trouble this time...no worries, just try this again!",bc_map; break;
+ case 125: mapannounce "job_hunte",strcharinfo(PC_NAME) + "...not smooth, dude. Go for it again, one more time!",bc_map; break;
+ case 126: mapannounce "job_hunte",strcharinfo(PC_NAME) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break;
+ case 127: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", just think of it as Karma. Someday, you'll be setting hundreds of traps of your own...",bc_map; break;
+ case 128: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", bad news dude...its another trap. You'll get the hang of this, I believe in you!",bc_map; break;
+ case 129: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", don't give up! The world still needs you!",bc_map; break;
+ case 130: mapannounce "job_hunte",strcharinfo(PC_NAME) + ", it's okay to cry. Just not too loudly.",bc_map; break;
+ case 131: mapannounce "job_hunte",strcharinfo(PC_NAME) + "...oh man. It's tiring setting up all these traps. You guys have got to stop falling into them!",bc_map; break;
}
HNTR_Q = 13;
warp "job_hunte",176,22;
@@ -1621,7 +1621,7 @@ job_hunte,65,92,0 duplicate(HntTrap) 57-3 FAKE_NPC,0,0
job_hunte,65,93,0 script 57-4::HntTrap2 FAKE_NPC,{
OnTouch:
- mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map;
+ mapannounce "job_hunte",strcharinfo(PC_NAME) + ", has failed me! Go back to where you started!",bc_map;
HNTR_Q = 13;
warp "job_hunte",176,22;
donpcevent "Manager#hnt::OnReset";
diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt
index 6914065dc..f75d0ea46 100644
--- a/npc/jobs/2-1/knight.txt
+++ b/npc/jobs/2-1/knight.txt
@@ -138,7 +138,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 1_M_KNIGHTMASTER,{
setquest 9000;
mes "Let me see...";
mes "Your name is";
- mes strcharinfo(0) + "...";
+ mes strcharinfo(PC_NAME) + "...";
mes "Is that right?";
next;
mes "[Captain Herman]";
@@ -180,7 +180,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 1_M_KNIGHTMASTER,{
}
else if (KNIGHT_Q == 1) {
mes "Mmm?";
- mes strcharinfo(0) + ",";
+ mes strcharinfo(PC_NAME) + ",";
mes "what can I do for you?";
mes "Ah, you don't know";
mes "who to visit?";
@@ -450,7 +450,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 1_M_KNIGHTMASTER,{
}
L_Mission:
mes "Mmm?";
- mes "Swordman " + strcharinfo(0) + ".";
+ mes "Swordman " + strcharinfo(PC_NAME) + ".";
mes "How are the tests?";
if (getarg(0)) {
mes "Ah~ You do not know";
@@ -529,7 +529,7 @@ prt_in,75,107,4 script Sir Andrew#knt 1_M_YOUNGKNIGHT,{
mes "You wish";
mes "to become a Knight.";
mes "Your name is";
- mes strcharinfo(0) + ",";
+ mes strcharinfo(PC_NAME) + ",";
mes "correct?";
next;
mes "[Sir Andrew]";
@@ -573,9 +573,9 @@ prt_in,75,107,4 script Sir Andrew#knt 1_M_YOUNGKNIGHT,{
next;
mes "[Sir Andrew]";
switch(rand(1,2)) {
- //Elder_Pixie's_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boar's_Mane
+ //Elder_Pixies_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boars_Mane
case 1: setarray .@items[0], 1040,5, 7006,5, 931,5, 1057,5, 903,5, 1028,5, 2; break;
- //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snail's_Shell
+ //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snails_Shell
case 2: setarray .@items[0], 1042,5, 950,5, 1032,5, 966,5, 7031,5, 946,5, 3; break;
}
KNIGHT_Q = .@items[12];
@@ -610,9 +610,9 @@ prt_in,75,107,4 script Sir Andrew#knt 1_M_YOUNGKNIGHT,{
mes "Let's check and see...";
next;
switch(KNIGHT_Q) {
- //Elder_Pixie's_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boar's_Mane
+ //Elder_Pixies_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boars_Mane
case 2: setarray .@items[0], 1040,5, 7006,5, 931,5, 1057,5, 903,5, 1028,5, 0; break;
- //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snail's_Shell
+ //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snails_Shell
case 3: setarray .@items[0], 1042,5, 950,5, 1032,5, 966,5, 7031,5, 946,5, 0; break;
}
if (countitem(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5] && countitem(.@items[6]) >= .@items[7] && countitem(.@items[8]) >= .@items[9] && countitem(.@items[10]) >= .@items[11]) {
@@ -755,7 +755,7 @@ prt_in,71,91,0 script Sir Siracuse#knt 1_M_YOUNGKNIGHT,{
mes "[Sir Siracuse]";
mes "Let's see...";
mes "Your name was";
- mes strcharinfo(0) + ".";
+ mes strcharinfo(PC_NAME) + ".";
next;
mes "[Sir Siracuse]";
mes "But, before you come to me, you must visit the others. The way";
diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt
index b3cd7167b..fa33215d6 100644
--- a/npc/jobs/2-1/priest.txt
+++ b/npc/jobs/2-1/priest.txt
@@ -63,9 +63,9 @@ prt_church,16,41,4 script High Bishop#prst 1_M_PASTOR,{
mes "[Bishop Paul]";
mes "Ah...";
if (Sex == SEX_MALE)
- mes "It is good to see you again, Brother " + strcharinfo(0) + ". Once again, God's grace has caused our paths to cross.";
+ mes "It is good to see you again, Brother " + strcharinfo(PC_NAME) + ". Once again, God's grace has caused our paths to cross.";
else
- mes "It is good to see you once again, Sister " + strcharinfo(0) + ". The grace of God has brought you once more before me.";
+ mes "It is good to see you once again, Sister " + strcharinfo(PC_NAME) + ". The grace of God has brought you once more before me.";
next;
mes "[Bishop Paul]";
mes "I'm pleased to see that you are continuing to lead the children of God on the right path. Is there anything I can help you with today?";
@@ -258,9 +258,9 @@ prt_church,16,41,4 script High Bishop#prst 1_M_PASTOR,{
setquest 8009;
mes "[Bishop Paul]";
if (Sex == SEX_MALE)
- mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Brother " + strcharinfo(0) + ".";
+ mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Brother " + strcharinfo(PC_NAME) + ".";
else
- mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Sister " + strcharinfo(0) + ".";
+ mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Sister " + strcharinfo(PC_NAME) + ".";
next;
mes "[Bishop Paul]";
mes "For the First Trial, you will make a pilgrimage, and visit three acscetic Priests in a specific order.";
@@ -672,9 +672,9 @@ prt_church,27,24,1 script Sister Cecilia 1_F_PRIEST,{
next;
mes "[Sister Cecilia]";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +"...";
+ mes "Brother "+ strcharinfo(PC_NAME) +"...";
else
- mes "Sister "+ strcharinfo(0) +"...";
+ mes "Sister "+ strcharinfo(PC_NAME) +"...";
mes "The spiritual training is much more difficult than the pilgrimage, but I believe in you.";
next;
mes "[Sister Cecilia]";
@@ -718,16 +718,16 @@ prt_church,27,24,1 script Sister Cecilia 1_F_PRIEST,{
next;
mes "[Sister Cecilia]";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +"...";
+ mes "Brother "+ strcharinfo(PC_NAME) +"...";
else
- mes "Sister "+ strcharinfo(0) +"...";
+ mes "Sister "+ strcharinfo(PC_NAME) +"...";
mes "We will now begin your formal oath for the Priesthood. Make yourself comfortable, and just answer with your heart.";
next;
mes "[Sister Cecilia]";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +",";
+ mes "Brother "+ strcharinfo(PC_NAME) +",";
else
- mes "Sister "+ strcharinfo(0) +",";
+ mes "Sister "+ strcharinfo(PC_NAME) +",";
mes "Are you willing";
mes "to give your life to God?";
next;
@@ -816,9 +816,9 @@ prt_church,27,24,1 script Sister Cecilia 1_F_PRIEST,{
}
mes "[Sister Cecilia]";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +"...";
+ mes "Brother "+ strcharinfo(PC_NAME) +"...";
else
- mes "Sister "+ strcharinfo(0) +"...";
+ mes "Sister "+ strcharinfo(PC_NAME) +"...";
mes "You have demonstrated your devotion to God. Will you swear to adhere to his teachings for the rest of your days?";
next;
if (select("I do.", "No.") == 1) {
@@ -861,9 +861,9 @@ job_prist,24,187,4 script Peter S. Alberto 4_M_MINISTER,{
if (BaseJob == Job_Priest) {
mes "Welcome!";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +"!";
+ mes "Brother "+ strcharinfo(PC_NAME) +"!";
else
- mes "Sister "+ strcharinfo(0) +"!";
+ mes "Sister "+ strcharinfo(PC_NAME) +"!";
mes "So good to see you again!";
next;
mes "[Father Peter]";
@@ -1049,9 +1049,9 @@ job_prist,23,187,1 script Peter S. Alberto#2 4_M_MINISTER,{
if (BaseJob == Job_Priest) {
mes "Welcome!";
if (Sex == SEX_MALE)
- mes "Brother "+ strcharinfo(0) +"!";
+ mes "Brother "+ strcharinfo(PC_NAME) +"!";
else
- mes "Sister "+ strcharinfo(0) +"!";
+ mes "Sister "+ strcharinfo(PC_NAME) +"!";
mes "So good to see you!";
next;
mes "[Father Peter]";
@@ -1562,7 +1562,7 @@ OnTouch:
mes "Greetings.";
next;
mes "[Baphomet]";
- mes "..."+ strcharinfo(0) +".";
+ mes "..."+ strcharinfo(PC_NAME) +".";
next;
mes "[Baphomet]";
mes "Yes, human,";
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt
index be8192762..40721b064 100644
--- a/npc/jobs/2-1/wizard.txt
+++ b/npc/jobs/2-1/wizard.txt
@@ -132,7 +132,7 @@ gef_tower,111,37,4 script Wizard Guildsman 1_F_GYPSY,{
}
mes "[Catherine]";
mes "Very well then, I accept your application.";
- mes "Your name is..." + strcharinfo(0) + ", isn't it? I am not sure if I pronounced it correctly?";
+ mes "Your name is..." + strcharinfo(PC_NAME) + ", isn't it? I am not sure if I pronounced it correctly?";
next;
mes "[Catherine]";
mes "The Wizard job change quest is divided into 3 parts.";
@@ -1132,7 +1132,7 @@ OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
++WIZ_Q2;
- mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME)+" has succeeded in eliminating the monsters.",bc_map;
donpcevent "Room of Water#Door::OnEnable";
stopnpctimer;
}
@@ -1219,7 +1219,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME)+" has succeeded in eliminating the monsters.",bc_map;
percentheal 100,100;
warp "job_wiz",116,97;
donpcevent "Room of Water#Door::OnDisable";
@@ -1266,7 +1266,7 @@ OnInit:
end;
OnTouch:
- mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME)+" has not succeeded.",bc_map;
warp "geffen",120,110;
end;
}
@@ -1304,7 +1304,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME) + " has succeeded in eliminating the monsters.",bc_map;
donpcevent "Room of Earth#Door::OnEnable";
stopnpctimer;
}
@@ -1396,7 +1396,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME) + " has succeeded in eliminating the monster.",bc_map;
percentheal 100,100;
warp "job_wiz",46,99;
donpcevent "Room of Earth#Door::OnDisable";
@@ -1443,7 +1443,7 @@ OnInit:
end;
OnTouch:
- mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME) + " has not succeeded.",bc_map;
warp "geffen",120,110;
end;
}
@@ -1479,7 +1479,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
+ mapannounce "job_wiz",strcharinfo(PC_NAME) + " has succeeded in eliminating the monsters.",bc_map;
donpcevent "Room of Fire#Door::OnEnable";
stopnpctimer;
}
@@ -1569,7 +1569,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map;
+ mapannounce "job_wiz","Congratulations, " + strcharinfo(PC_NAME) + ". You have passed the job change test.",bc_map;
WIZ_Q = 7;
changequest 9017,9018;
donpcevent "Room of Fire#Door::OnDisable";
diff --git a/npc/jobs/2-1e/StarGladiator.txt b/npc/jobs/2-1e/StarGladiator.txt
index b48011dad..9963eaf48 100644
--- a/npc/jobs/2-1e/StarGladiator.txt
+++ b/npc/jobs/2-1e/StarGladiator.txt
@@ -53,8 +53,8 @@ payon,215,102,3 script Moohyun#job_star 4_M_ROGUE,3,3,{
mes "Alright, kid.";
mes "What's your name?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "" + strcharinfo(0) + ".";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "" + strcharinfo(PC_NAME) + ".";
next;
mes "[Moohyun]";
mes "Geez, you're so direct.";
@@ -69,7 +69,7 @@ payon,215,102,3 script Moohyun#job_star 4_M_ROGUE,3,3,{
mes "set on it, why don't you become";
mes "a ^4D4DFFwarrior of the Sun, the Moon,^FFFFFF ^4D4DFF and the Stars^000000? Just consider it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Warrior of the wha--?";
mes "I've never heard of that";
mes "job. But I do know I can";
@@ -222,7 +222,7 @@ payon,215,102,3 script Moohyun#job_star 4_M_ROGUE,3,3,{
mes "your life seems hopeless?";
next;
if (select("I will not give up!", "I... I don't know?") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will not give up!";
mes "I'll make my dreams";
mes "come true, no matter";
@@ -376,7 +376,7 @@ comodo,172,230,3 script Wandering Master#job_sta 4_M_JOB_ASSASSIN,{
if (Class == Job_Taekwon) {
if (STGL_Q == 1) {
mes "[Moogang]";
- mes ""+ strcharinfo(0) + "...";
+ mes ""+ strcharinfo(PC_NAME) + "...";
mes "I have been expecting you.";
mes "Moohyun has told me about";
mes "your arrival and your desire";
@@ -656,21 +656,21 @@ comodo,172,230,3 script Wandering Master#job_sta 4_M_JOB_ASSASSIN,{
mes "Yes, I can see it in your eyes.";
mes "So tell me, what did you learn?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can feel the bond between";
mes "the Sun, the Moon and the";
mes "Stars. They all give light,";
mes "but their different shades";
mes "bestow different gifts.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The sun gives glorious";
mes "warmth and is the wellspring";
mes "of life. Moonlight is gentle and gives comfort. The twinkling";
mes "of stars gives hope in even";
mes "the darkest of nights.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I also know the Sun's";
mes "scorching, destructive";
mes "heat, the loneliness of";
@@ -678,7 +678,7 @@ comodo,172,230,3 script Wandering Master#job_sta 4_M_JOB_ASSASSIN,{
mes "of the Stars. I now understand";
mes "the spectrum of the cosmos!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The combined rage of the";
mes "cosmos can summon a ";
mes "demon of utter darkness.";
@@ -733,7 +733,7 @@ comodo,172,230,3 script Wandering Master#job_sta 4_M_JOB_ASSASSIN,{
mes "considered becoming...";
mes "Um... No. Wait. Hmmm...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
next;
mes "[Moogang]";
@@ -784,7 +784,7 @@ comodo,172,230,3 script Wandering Master#job_sta 4_M_JOB_ASSASSIN,{
mes "feel like going to any of";
mes "those places, just come";
mes "and talk to me. Goodbye";
- mes "for now, "+strcharinfo(0)+"~";
+ mes "for now, "+strcharinfo(PC_NAME)+"~";
close;
case 2:
mes "[Moogang]";
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
index 3de0af508..634e0753b 100644
--- a/npc/jobs/2-2/alchemist.txt
+++ b/npc/jobs/2-2/alchemist.txt
@@ -57,7 +57,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 4_F_ALCHE,{
}
if (BaseJob != Job_Merchant) {
if (BaseJob == Job_Alchemist) {
- mesf("Welcome, %s.", strcharinfo(0));
+ mesf("Welcome, %s.", strcharinfo(PC_NAME));
mes "The Alchemist Union\r"
"is busy today, like always.";
next;
@@ -199,7 +199,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 4_F_ALCHE,{
mes "Please sign\r"
"the application.";
next;
- select(strcharinfo(0));
+ select(strcharinfo(PC_NAME));
mes "[Parmy Gianino]";
mes "Good, good. Now, if you have\r"
"the Zeny for your application fee ready, I will tell you which items you will "
@@ -218,7 +218,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 4_F_ALCHE,{
mes "Let's see.";
mesf("%s\r"
"needs to bring...",
- strcharinfo(0));
+ strcharinfo(PC_NAME));
switch(rand(1,3)) {
case 1:
ALCH_Q = 1;
@@ -715,7 +715,7 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Buckler),
getitemname(Coat),
getitemname(Gas_Mask),
- getitemname(Big_Sis'_Ribbon),
+ getitemname(Big_Sis_Ribbon),
getitemname(Fillet),
getitemname(Sahkkat),
getitemname(Glasses));
@@ -1690,7 +1690,7 @@ alde_alche,79,19,5 script Experiment Expert#am 4_M_ALCHE_A,{
"a %s?",
getitemname(Mixture));
next;
- select(getitemname(Monster's_Feed),
+ select(getitemname(Monsters_Feed),
getitemname(Lip_Of_Ancient_Fish),
getitemname(Rotten_Bandage));
mes "[Van Helmont]";
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
index d3afbd9d1..1857539a5 100644
--- a/npc/jobs/2-2/crusader.txt
+++ b/npc/jobs/2-2/crusader.txt
@@ -145,7 +145,7 @@ prt_castle,45,169,5 script Senior Crusader 4_M_CRU_OLD,{
next;
mes "[Michael Halig]";
mes "Your name is";
- mes "" + strcharinfo(0) + "...?";
+ mes "" + strcharinfo(PC_NAME) + "...?";
mes "Let's see...";
next;
if (countitem(Patriotism_Marks) && countitem(Sacred_Marks)) {
@@ -368,7 +368,7 @@ prt_castle,164,32,1 script Man in Anguish 4_M_JOB_KNIGHT1,{
next;
mes "[Murnak Mijoul]";
mes "Your name is";
- mes "" + strcharinfo(0) + "...?";
+ mes "" + strcharinfo(PC_NAME) + "...?";
mes "Let me take";
mes "a look at your face.";
next;
@@ -732,7 +732,7 @@ prt_church,95,127,3 script Crusader 4_F_CRU,{
mes "look at your results.";
next;
mes "[Gabriel Valentine]";
- mes " " + strcharinfo(0) + "'s score";
+ mes " " + strcharinfo(PC_NAME) + "'s score";
mes "is " + .@cru_t + " points...";
if(.@cru_t == 100) {
CRUS_Q = 8;
@@ -1384,7 +1384,7 @@ OnInit:
end;
OnTouch:
- monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead";
+ monster "job_cru",168,150,strcharinfo(PC_NAME),1036,1,"Monster Summon#cr4-a::OnDead";
donpcevent "Monster Summon#cr4::OnEnd";
end;
diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt
index 9aa3f3d5f..f0ff55d94 100644
--- a/npc/jobs/2-2/dancer.txt
+++ b/npc/jobs/2-2/dancer.txt
@@ -194,7 +194,7 @@ job_duncer,43,93,4 script Aile#da 4_F_07,{
cutin "job_dancer_eir01",2;
mes "[Aile]";
mes "Your name is";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
mes "Wow! What a pretty name! Just a moment, I have to show this to the director, so come back in a little bit, okay?";
close2;
cutin "",255;
@@ -560,7 +560,7 @@ job_duncer,95,93,4 script Bijou#da 4W_F_01,{
mes "6. Who is the most";
mes "beautiful dancer?";
next;
- switch(select(strcharinfo(0), "Bijou", "Aile", "Bonjour")) {
+ switch(select(strcharinfo(PC_NAME), "Bijou", "Aile", "Bonjour")) {
case 1:
mes "[Bijou]";
mes "...";
@@ -653,7 +653,7 @@ job_duncer,95,93,4 script Bijou#da 4W_F_01,{
mes "7. Who is the most";
mes "graceful dancer?";
next;
- switch(select(strcharinfo(0), "Bijou", "Isis", "Mercy Bokou")) {
+ switch(select(strcharinfo(PC_NAME), "Bijou", "Isis", "Mercy Bokou")) {
case 1:
mes "[Bijou]";
mes "...";
@@ -728,7 +728,7 @@ job_duncer,95,93,4 script Bijou#da 4W_F_01,{
mes "5. Of the following,";
mes "who dances most beautifully?";
next;
- switch(select(strcharinfo(0), "Bijou", "Isis", "Guton Tak")) {
+ switch(select(strcharinfo(PC_NAME), "Bijou", "Isis", "Guton Tak")) {
case 1:
mes "[Bijou]";
mes "...";
@@ -1309,7 +1309,7 @@ OnEnable:
- script dancestep::StepTrigger FAKE_NPC,1,1,{
OnTouch:
donpcevent "Backdancer#1::OnOmg";
- mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map;
+ mapannounce "job_duncer"," " + strcharinfo(PC_NAME) + ", you lack rhythm... Your timing was too late!",bc_map;
DANC_Q = 8;
donpcevent "Bijou#dance_timer::OnDisable";
donpcevent "Waiting Room#dance::OnEnable";
diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt
index 95360f295..631da5f7d 100644
--- a/npc/jobs/2-2/monk.txt
+++ b/npc/jobs/2-2/monk.txt
@@ -77,13 +77,13 @@ prt_monk,59,247,1 script Guarding Monk#mk 2_M_PHARMACIST,6,2,{
end;
}
mes "[Tohobu]";
- mes "Hmm... " + strcharinfo(0) + " is your name?";
+ mes "Hmm... " + strcharinfo(PC_NAME) + " is your name?";
mes "...did I say it right?";
mes "Okay, and your job level is " + JobLevel + " correct?";
next;
mes "[Tohobu]";
mes "Very well... why have you come here";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
next;
switch(select("To visit and learn about monks.", "I wish to become a monk...", "I'm tired and need to rest...")) {
case 1:
@@ -223,13 +223,13 @@ prt_monk,59,247,1 script Guarding Monk#mk 2_M_PHARMACIST,6,2,{
end;
}
mes "[Tohobu]";
- mes "Hmm... " + strcharinfo(0) + " is your name?";
+ mes "Hmm... " + strcharinfo(PC_NAME) + " is your name?";
mes "...did I say it right?";
mes "Okay, and your job level is " + JobLevel + " correct?";
next;
mes "[Tohobu]";
mes "Okay, Now, why have you come here";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
next;
switch(select("To visit and learn about monks.", "I wish to become a monk...", "I'm tired and need to rest...")) {
case 1:
@@ -594,14 +594,14 @@ monk_in,99,58,1 script Sensei Moohae#mk 1_M_PASTOR,{
mes "[Sensei Moohae]";
mes "Hmm?";
next;
- if (countitem(Tooth_Of_Bat) > 9 && countitem(Bear's_Foot) > 4 && countitem(Poison_Spore) > 19) {
+ if (countitem(Tooth_Of_Bat) > 9 && countitem(Bears_Foot) > 4 && countitem(Poison_Spore) > 19) {
mes "[Sensei Moohae]";
mes "Excellent, all the items I asked for.";
mes "I will tell this to the elders.";
MONK_Q = 10;
changequest 3022,3024;
delitem Tooth_Of_Bat,10;
- delitem Bear's_Foot,5;
+ delitem Bears_Foot,5;
delitem Poison_Spore,20;
next;
mes "[Sensei Moohae]";
@@ -840,10 +840,10 @@ monk_in,99,58,1 script Sensei Moohae#mk 1_M_PASTOR,{
mes "[Sensei Moohae]";
mes "And relax your body.......";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^00CCCC- You breathe in deeply -^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^CC0000- You feel fingers poking you all over your body with swiftness -^000000";
next;
mes "[Sensei Moohae]";
@@ -1066,50 +1066,50 @@ prt_monk,251,255,1 script Touha#mk 1_F_PRIEST,{
if (MONK_Q == 10) {
mes "[Touha]";
mes "Ok, that is all. Now repeat what I have spoken.";
- mes "" + strcharinfo(0) + ", your turn.";
+ mes "" + strcharinfo(PC_NAME) + ", your turn.";
next;
}
if (MONK_Q == 11) {
switch(select("shall hold true", "We monks", "and will help protect others", "through the teachings", "In nomine Patris, et Filii", "to what we believe", "I seek the path", "we learn through our lives.", "et Spiritus Sancti.", "of enlightenment.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "shall hold true";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "We monks";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "and will help protect others";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "through the teachings";
break;
case 5:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "In nomine Patris, et Filii";
break;
case 6:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "to what we believe";
break;
case 7:
.@monk_t += 10;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I seek the path";
break;
case 8:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "we learn through our lives.";
break;
case 9:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "et Spiritus Sancti.";
break;
case 10:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "of enlightenment.";
break;
}
@@ -1253,44 +1253,44 @@ prt_monk,251,255,1 script Touha#mk 1_F_PRIEST,{
else if (MONK_Q == 12) {
switch(select("I will follow my path", "veritas and aequitas.", "to enlightenment and purity.", "I commit myself to", "I will protect my", "victorious while I breathe.", "brothers with my life.", "Evil shall never be", "In nomine Patris, et Filii", "et Spiritus Sancti.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will follow my path";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "veritas and aequitas.";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "to enlightenment and purity.";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
.@monk_t += 10;
mes "I commit myself to";
break;
case 5:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will protect my";
break;
case 6:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "victorious while I breathe.";
break;
case 7:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "brothers with my life.";
break;
case 8:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Evil shall never be";
break;
case 9:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "In nomine Patris, et Filii";
break;
case 10:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "et Spiritus Sancti.";
break;
}
@@ -1433,44 +1433,44 @@ prt_monk,251,255,1 script Touha#mk 1_F_PRIEST,{
else if (MONK_Q == 13) {
switch(select("for thee my lord for thee.", "And shepherds we shall be,", "Power hath descended forth", "out thy command. And we shall", "from the hand", "flow a river forth to thee and", "so our feet may swiftly carry", "teeming with souls shall it ever be", "et Spiritus Sancti.", "In nomine Patris, et Filii")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "for thee my lord for thee.";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
.@monk_t += 10;
mes "And shepherds we shall be,";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Power hath descended forth";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "out thy command. And we shall";
break;
case 5:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "from the hand";
break;
case 6:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "flow a river forth to thee and";
break;
case 7:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "so our feet may swiftly carry";
break;
case 8:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "teeming with souls shall it ever be";
break;
case 9:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "et Spiritus Sancti.";
break;
case 10:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "In nomine Patris, et Filii";
break;
}
@@ -1886,7 +1886,7 @@ prt_monk,199,169,3 script Door Keeper#mk 4_F_MONK,{
}
else if (MONK_Q > 14 && MONK_Q < 25) {
mes "[Keeper Chorip]";
- mes "Is your name " + strcharinfo(0) + "?";
+ mes "Is your name " + strcharinfo(PC_NAME) + "?";
next;
if (select("Yes.", "No.") == 1) {
mes "[Keeper Chorip]";
@@ -1976,8 +1976,8 @@ monk_test,386,388,4 script Apprentice Monk#mk 4_M_MINISTER,{
next;
if (select("Quit.", "Keep running.") == 1) {
mes "[Monk Apprentice]";
- mes "" + strcharinfo(0) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!";
- mapannounce "monk_test","" + strcharinfo(0) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!",bc_map;
+ mes "" + strcharinfo(PC_NAME) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!";
+ mapannounce "monk_test","" + strcharinfo(PC_NAME) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!",bc_map;
close2;
MONK_Q = 15;
changequest 3028,3027;
@@ -2008,7 +2008,7 @@ OnTouch:
mes "[Supervisor]";
mes "Now...you may go visit Tomoon.";
mes "Tomoon is in the deepest room inside a building near this abbey.";
- mapannounce "monk_test","Congratulations!" + strcharinfo(0) +"!! You completed the marathon!",bc_map;
+ mapannounce "monk_test","Congratulations!" + strcharinfo(PC_NAME) +"!! You completed the marathon!",bc_map;
close2;
warp "prt_monk",194,168;
end;
@@ -2017,7 +2017,7 @@ OnTouch:
monk_test,82,384,0 script Trap#t_monk1_1::MonkTrap FAKE_NPC,{
OnTouch:
- mapannounce "monk_test",""+ strcharinfo(0) + ", you're trapped. You will be returned.",bc_map;
+ mapannounce "monk_test",""+ strcharinfo(PC_NAME) + ", you're trapped. You will be returned.",bc_map;
warp "monk_test",387,387;
end;
}
@@ -2063,7 +2063,7 @@ job_monk,225,180,1 script Hyunmoo#mk 4_M_ORIENT02,{
}
mes "[Hyunmoo]";
mes ".....I figured as much....you don't have a spirit.";
- mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map;
+ mapannounce "job_monk","" + strcharinfo(PC_NAME) + ", has quit his testing to become a monk.",bc_map;
close2;
MONK_Q = 16;
changequest 3027,3028;
@@ -2106,11 +2106,11 @@ job_monk,225,180,1 script Hyunmoo#mk 4_M_ORIENT02,{
}
mes "[Hyunmoo]";
mes ".....yeah I thought as much....you don't have the spirit needed to become a monk.";
- mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map;
+ mapannounce "job_monk","" + strcharinfo(PC_NAME) + ", has quit his testing to become a monk.",bc_map;
delitem Mushroom_Of_Thief_1,countitem(Mushroom_Of_Thief_1);
delitem Mushroom_Of_Thief_2,countitem(Mushroom_Of_Thief_2);
close2;
- mapannounce "job_monk","" + strcharinfo(0) + ", has quit his training to become a monk.",bc_map;
+ mapannounce "job_monk","" + strcharinfo(PC_NAME) + ", has quit his training to become a monk.",bc_map;
warp "prt_monk",194,168;
MONK_Q = 16;
changequest 3027,3028;
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt
index dc600a837..311915097 100644
--- a/npc/jobs/2-2/rogue.txt
+++ b/npc/jobs/2-2/rogue.txt
@@ -115,7 +115,7 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 4_F_ROGUE,{
mes "Eh, nice meetin' you, I guess. I'm Markie, and I do work for the Rogue Guild, a philanthro-- *ahem* a ^800000feelanthropist^000000 group, as you can see. So what's your name?";
next;
mes "[Markie]";
- mes "..." + strcharinfo(0) + "?";
+ mes "..." + strcharinfo(PC_NAME) + "?";
mes "Heh heh! Cool name.";
mes "If it was dorky, we'd";
mes "make you change it,";
@@ -585,10 +585,10 @@ in_rogue,376,23,1 script Mr. Smith#rg 1_M_LIBRARYMASTER,{
mapannounce "in_rogue","What the--?! What's with this chat filter?! Stop #*!@$ing me! you stupid F#$%*! Let me talk!!!",bc_map;
next;
mes "[Mr. Smith]";
- mes "What the f#@k you looking at...? " + strcharinfo(0) + "? That's your name!?";
- mapannounce "in_rogue","What the f#@k you looking at...? " + strcharinfo(0) + "? That's your name!?",bc_map;
+ mes "What the f#@k you looking at...? " + strcharinfo(PC_NAME) + "? That's your name!?";
+ mapannounce "in_rogue","What the f#@k you looking at...? " + strcharinfo(PC_NAME) + "? That's your name!?",bc_map;
mes " ";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umm...";
mes "Sir...?";
mes "I didn't mean to make you upset. I just came here to so I could become a Rogue.";
@@ -674,8 +674,8 @@ in_rogue,376,23,1 script Mr. Smith#rg 1_M_LIBRARYMASTER,{
else if (ROGUE_Q == 5) callsub S_CheckItems,508,10,948,10,935,10,940,10;
else if (ROGUE_Q == 6) {
if (Zeny > 9999 && countitem(Chrysalis) > 4 && countitem(Empty_Bottle) > 4 && countitem(Iron_Ore) > 4 &&
- countitem(Stone_Heart) > 4 && countitem(Red_Herb) > 4 && countitem(Animal's_Skin) > 4 && countitem(Yellow_Gemstone) > 4 &&
- countitem(Tooth_Of_Bat) > 4 && countitem(Scorpion's_Tail) > 4 && countitem(Yoyo_Tail) > 4 && countitem(Monster's_Feed) > 4 &&
+ countitem(Stone_Heart) > 4 && countitem(Red_Herb) > 4 && countitem(Animals_Skin) > 4 && countitem(Yellow_Gemstone) > 4 &&
+ countitem(Tooth_Of_Bat) > 4 && countitem(Scorpions_Tail) > 4 && countitem(Yoyo_Tail) > 4 && countitem(Monsters_Feed) > 4 &&
countitem(Fluff) > 4 && countitem(Clover) > 4 && countitem(Feather_Of_Birds) > 4 && countitem(Talon) > 4 &&
countitem(Spawn) > 4 && countitem(Raccoon_Leaf) > 4) {
mes "[Mr. Smith]";
@@ -686,12 +686,12 @@ in_rogue,376,23,1 script Mr. Smith#rg 1_M_LIBRARYMASTER,{
delitem Iron_Ore,5;
delitem Stone_Heart,5;
delitem Red_Herb,5;
- delitem Animal's_Skin,5;
+ delitem Animals_Skin,5;
delitem Yellow_Gemstone,5;
delitem Tooth_Of_Bat,5;
- delitem Scorpion's_Tail,5;
+ delitem Scorpions_Tail,5;
delitem Yoyo_Tail,5;
- delitem Monster's_Feed,5;
+ delitem Monsters_Feed,5;
delitem Fluff,5;
delitem Clover,5;
delitem Feather_Of_Birds,5;
@@ -1037,20 +1037,20 @@ OnTouch:
next;
switch(select("My father", "Aragham", "Aragon", "Legolas")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "My father";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aragham";
.@rogue_t += 10;
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aragon";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Legolas";
break;
}
@@ -1107,20 +1107,20 @@ OnTouch:
next;
switch(select("My father", "Aragham", "Aragon", "Legolas")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "My father";
.@rogue_t += 10;
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aragham";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aragon";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Legolas";
break;
}
@@ -1177,20 +1177,20 @@ OnTouch:
next;
switch(select("Anntonio", "Aragham", "Antonio", "Hollgrehenn")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anntonio";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aragham";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Antonio";
.@rogue_t += 10;
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hollgrehenn";
break;
}
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
index a1bd6a0ee..cb5492046 100644
--- a/npc/jobs/2-2/sage.txt
+++ b/npc/jobs/2-2/sage.txt
@@ -330,9 +330,9 @@ yuno_in03,154,35,4 script Staff of the Academy#a 2_M_SAGE_B,{
mes "Very well. Let's complete your application form.";
mes "Please put your signature here.";
next;
- select(strcharinfo(0));
+ select(strcharinfo(PC_NAME));
mes "[Metheus Sylphe]";
- mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name.";
+ mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name.";
next;
if (JobLevel == 50) {
mes "[Metheus Sylphe]";
@@ -411,9 +411,9 @@ yuno_in03,154,35,4 script Staff of the Academy#a 2_M_SAGE_B,{
mes "Okay, let's complete the application form.";
mes "Please put your signature here.";
next;
- select(strcharinfo(0));
+ select(strcharinfo(PC_NAME));
mes "[Metheus Sylphe]";
- mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name.";
+ mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name.";
next;
mes "[Metheus Sylphe]";
mes "Yes, everything's ready.";
@@ -596,12 +596,12 @@ yuno_in03,154,35,4 script Staff of the Academy#a 2_M_SAGE_B,{
mes "Let's complete the application form.";
mes "Please put your signature here.";
next;
- select(strcharinfo(0));
+ select(strcharinfo(PC_NAME));
mes "[Metheus Sylphe]";
switch (.@SAGE_Q_T) {
- case 1: mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; break;
- case 2: mes "Your name is ... " + strcharinfo(0) + ". It sounds very sagacious."; break;
- case 3: mes "Your name is ... " + strcharinfo(0) + ". Interesting name."; break;
+ case 1: mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name."; break;
+ case 2: mes "Your name is ... " + strcharinfo(PC_NAME) + ". It sounds very sagacious."; break;
+ case 3: mes "Your name is ... " + strcharinfo(PC_NAME) + ". Interesting name."; break;
}
next;
mes "[Metheus Sylphe]";
@@ -710,7 +710,7 @@ yuno_in03,105,177,5 script Written Test Professor#s 4_M_SAGE_A,{
mes "You applied for this test already, didn't you?";
next;
mes "[Claytos Verdo]";
- mes "Let's see, your name is " + strcharinfo(0) + "...";
+ mes "Let's see, your name is " + strcharinfo(PC_NAME) + "...";
mes "Okay, let's get started!";
next;
mes "[Claytos Verdo]";
@@ -1309,7 +1309,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
}
if (SAGE_Q == 9) {
if (SAGE_Q2 == 0) {
- mes "Welcome, " + strcharinfo(0) + ". I am glad to meet you.";
+ mes "Welcome, " + strcharinfo(PC_NAME) + ". I am glad to meet you.";
mes "My name is Saphien Layless, I will be in charge of your class for a while.";
next;
mes "[Saphien Layless]";
@@ -1325,7 +1325,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
switch(select("It's a name of a health item.", "It's the source of life in the world.", "Suckah, I lied.")) {
case 1:
mes "[Saphien Layless]";
- mes "Wrong. " + strcharinfo(0) + ", you got - 10 points.";
+ mes "Wrong. " + strcharinfo(PC_NAME) + ", you got - 10 points.";
mes "That's just one of the gifts from Yggdrasil.";
next;
mes "[Saphien Layless]";
@@ -1339,7 +1339,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
case 3:
mes "[Saphien Layless]";
mes "Great Schott...If you don't know, just say so.";
- mes "By the way, " + strcharinfo(0) + ", you just got - 10 points for lying and for being wrong.";
+ mes "By the way, " + strcharinfo(PC_NAME) + ", you just got - 10 points for lying and for being wrong.";
break;
}
next;
@@ -1394,7 +1394,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
next;
mes "[Saphien Layless]";
mes "You can purchase this item from the town of Al De Baran! You didn't show any effort.";
- mes "So, I must give you - 10 points, " + strcharinfo(0) + ".";
+ mes "So, I must give you - 10 points, " + strcharinfo(PC_NAME) + ".";
next;
mes "[Saphien Layless]";
mes "Okay, now I am starting the class.";
@@ -1494,9 +1494,9 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
}
}
else if (SAGE_Q == 10) {
- if (countitem(Feather_Of_Birds) > 0 && countitem(Animal's_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
+ if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
delitem Feather_Of_Birds,1;
- delitem Animal's_Skin,1;
+ delitem Animals_Skin,1;
delitem Wooden_Block,1;
delitem Chinese_Ink,1;
delitem Empty_Bottle,1;
@@ -1584,7 +1584,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
next;
if (.@w_point > 0) {
mes "[Saphien Layless]";
- mes "..." + strcharinfo(0) + ", have you lost your mind?";
+ mes "..." + strcharinfo(PC_NAME) + ", have you lost your mind?";
mes "Your work is too poor to be considered as a thesis!";
next;
mes "[Saphien Layless]";
@@ -1650,7 +1650,7 @@ yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{
next;
if (.@w_point > 0) {
mes "[Saphien Layless]";
- mes "..." + strcharinfo(0) + ", have you lost your mind?";
+ mes "..." + strcharinfo(PC_NAME) + ", have you lost your mind?";
mes "Your work is too poor to be considered as a thesis!";
next;
mes "[Saphien Layless]";
@@ -1753,7 +1753,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 4_M_SAGE_C,{
mes "Huh...how rude of you! You're expected to introduce yourself to me as soon as I greet you!";
mes "What is your name, young one?";
next;
- select(strcharinfo(0));
+ select(strcharinfo(PC_NAME));
mes "[Lucius Celsus]";
mes "A fine name. It's nice to meet you.";
mes "So, are you aware of the subject you're studying?";
@@ -2045,9 +2045,9 @@ yuno_in03,32,102,1 script Biology Professor#sa 4_M_SAGE_C,{
close;
}
else if (SAGE_Q == 12) {
- if (countitem(Feather_Of_Birds) > 0 && countitem(Animal's_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
+ if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
delitem Feather_Of_Birds,1;
- delitem Animal's_Skin,1;
+ delitem Animals_Skin,1;
delitem Wooden_Block,1;
delitem Chinese_Ink,1;
delitem Empty_Bottle,1;
@@ -2368,9 +2368,9 @@ yuno_in03,244,31,3 script Physics Professor#sa 2_M_PHARMACIST,{
}
}
else if (SAGE_Q == 14) {
- if (countitem(Feather_Of_Birds) > 0 && countitem(Animal's_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
+ if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) {
delitem Feather_Of_Birds,1;
- delitem Animal's_Skin,1;
+ delitem Animals_Skin,1;
delitem Wooden_Block,1;
delitem Chinese_Ink,1;
delitem Empty_Bottle,1;
@@ -2624,7 +2624,7 @@ OnReset:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map;
+ mapannounce "job_sage"," " + strcharinfo(PC_NAME) + ", successfully defeat all the monsters.",bc_map;
donpcevent "Arena#2::OnEnable";
stopnpctimer;
}
@@ -2730,7 +2730,7 @@ OnReset:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map;
+ mapannounce "job_sage"," " + strcharinfo(PC_NAME) + ", successfully defeat all the monsters.",bc_map;
donpcevent "Arena#Doorkeeper::OnEnable";
donpcevent "Arena#3::OnEnable";
stopnpctimer;
@@ -2815,7 +2815,7 @@ OnDisable:
OnMyMobDead:
--.MyMobs;
if (.MyMobs < 1) {
- mapannounce "job_sage","Congratulations, " + strcharinfo(0) + ". You passed the test.",bc_map;
+ mapannounce "job_sage","Congratulations, " + strcharinfo(PC_NAME) + ". You passed the test.",bc_map;
SAGE_Q = 8;
donpcevent "Test Helper#sg::OnEnable";
disablenpc "Arena#Doorkeeper";
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
index f08015193..c67e9b9f5 100644
--- a/npc/jobs/2-2e/SoulLinker.txt
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -91,7 +91,7 @@ morocc_in,174,30,6 script Kid#link1 4_M_KID2,{
mes "...";
mes "Hey you.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Did you call me?";
next;
mes "[Kid]";
diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt
index 61301d8ee..d4f1d3982 100644
--- a/npc/jobs/valkyrie.txt
+++ b/npc/jobs/valkyrie.txt
@@ -89,7 +89,7 @@ valkyrie,48,86,4 script Valkyrie# 4_F_VALKYRIE,{
mes "I see you've already";
mes "released yourself from";
mes "all worldy attachments,";
- mes ""+ strcharinfo(0) +".";
+ mes ""+ strcharinfo(PC_NAME) +".";
next;
mes "[Valkyrie]";
mes "That's an admirable attitude for an adventurer such as yourself. Honor comes when you abandon all personal desires for the sake of mankind.";
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
index 24592a96d..e1e547174 100644
--- a/npc/kafras/functions_kafras.txt
+++ b/npc/kafras/functions_kafras.txt
@@ -10,6 +10,7 @@
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) Dastgir
//= Copyright (C) Haru
//= Copyright (C) rAthena Dev Team
//= Copyright (C) Euphy
@@ -47,7 +48,7 @@
//= These functions handle save, storage, cart rental, teleport, and Free
//= Teleport/Warp/Rent Cart options for all Kafra NPCs.
//================= Current Version =======================================
-//= 6.8
+//= 6.9
//=========================================================================
//== Main Function =========================================
@@ -80,7 +81,7 @@ function script F_Kafra {
break;
case 2:
// Guild Castle Kafra message
- @GID = getcharid(2);
+ @GID = getcharid(CHAR_ID_GUILD);
mes "[Kafra Employee]";
mes "Welcome. ^ff0000" + getguildname(@GID) + "^000000 Member.";
mes "The Kafra Coporation will stay with you wherever you go.";
@@ -210,7 +211,7 @@ function script F_KafStor {
close;
}
// Unable to access Normal Storage (Insufficient Basic Skills)
- if (basicskillcheck() && getskilllv(NV_BASIC) < 6) {
+ if (basicskillcheck() && getskilllv(NV_BASIC) < 6 && getskilllv(SU_BASIC_SKILL) == 0) {
mes getarg(3);
// Niflheim Specific Message
if (getarg(2) == 1) {
@@ -418,7 +419,7 @@ function script F_KafInfo {
if (.@m$[.@j] == "Check Special Reserve Points.") {
mes "[Kafra Employee]";
mes "Let's see...";
- mes strcharinfo(0) + "...";
+ mes strcharinfo(PC_NAME) + "...";
mes "Ah, you have a total of";
mes RESRVPTS+ " Special Reserve Points.";
next;
diff --git a/npc/mapflag/nobranch.txt b/npc/mapflag/nobranch.txt
index 71672c1a1..60db05cf5 100644
--- a/npc/mapflag/nobranch.txt
+++ b/npc/mapflag/nobranch.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) 2012-2016 Hercules Dev Team
//= Copyright (C) rAthena Dev Team
//= Copyright (C) eAthena Dev Team
//= Copyright (C) L0ne_W0lf
@@ -31,7 +31,7 @@
//=========================================================================
//= Mapflag: Disable Dead Branch use.
//================= Current Version =======================================
-//= 1.8
+//= 1.8.1
//================= Description ===========================================
//= Disables the following items:
//= Dead Branch (604), Bloody Branch (12103),
@@ -405,9 +405,18 @@ ecl_in04 mapflag nobranch
1@ecl mapflag nobranch
ecl_hub01 mapflag nobranch
+// Episode 14.3 ===========
+c_tower2_ mapflag nobranch
+c_tower3_ mapflag nobranch
+gl_chyard_ mapflag nobranch
+gl_cas02_ mapflag nobranch
+
// Ghost Palace ===========
1@spa mapflag nobranch
+// Sara's Memory Instance ===========
+1@sara mapflag nobranch
+
//evt_zombie mapflag nobranch
// Poring War ==================
diff --git a/npc/mapflag/noicewall.txt b/npc/mapflag/noicewall.txt
index 9b6e3940a..6c1af1b09 100644
--- a/npc/mapflag/noicewall.txt
+++ b/npc/mapflag/noicewall.txt
@@ -203,6 +203,9 @@ nguild_prt mapflag noicewall
// Ghost Palace ===========
1@spa mapflag noicewall
+// Sara's Memory Instance ===========
+1@sara mapflag noicewall
+
// Poring War ====================
poring_w01 mapflag noicewall
poring_w02 mapflag noicewall
diff --git a/npc/mapflag/nomemo.txt b/npc/mapflag/nomemo.txt
index 4ac4837bc..a0dd66e9d 100644
--- a/npc/mapflag/nomemo.txt
+++ b/npc/mapflag/nomemo.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) 2012-2016 Hercules Dev Team
//= Copyright (C) Epoque
//= Copyright (C) eAthena Dev Team
//= Copyright (C) Gepard
@@ -17,6 +17,7 @@
//= Copyright (C) L0ne_W0lf
//= Copyright (C) Samuray22
//= Copyright (C) Lupus
+//= Copyright (C) Nova
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -33,7 +34,7 @@
//=========================================================================
//= Mapflag: Disable Warp Portal memory.
//================= Current Version =======================================
-//= 1.8b
+//= 1.8.3
//================= Description ===========================================
//= Prevents players from using /memo on a map.
//= Also disables marriage warp skills.
@@ -783,6 +784,12 @@ ecl_tdun04 mapflag nomemo
ecl_hub01 mapflag nomemo
moc_prydn1 mapflag nomemo
moc_prydn2 mapflag nomemo
+dali mapflag nomemo
+dali02 mapflag nomemo
+c_tower2_ mapflag nomemo
+c_tower3_ mapflag nomemo
+gl_chyard_ mapflag nomemo
+gl_cas02_ mapflag nomemo
//Orc's Memory ===================
1@orcs mapflag nomemo
@@ -795,6 +802,9 @@ moc_prydn2 mapflag nomemo
// Ghost Palace ===========
1@spa mapflag nomemo
+// Sara's Memory Instance ===========
+1@sara mapflag nomemo
+
//evt_zombie mapflag nomemo
// Poring War ====================
diff --git a/npc/mapflag/nopvp.txt b/npc/mapflag/nopvp.txt
index ee2f8438d..8a396bf69 100644
--- a/npc/mapflag/nopvp.txt
+++ b/npc/mapflag/nopvp.txt
@@ -54,6 +54,7 @@
1@ma_b mapflag pvp off
1@ecl mapflag pvp off
1@spa mapflag pvp off
+1@sara mapflag pvp off
bat_a01 mapflag pvp off
bat_a02 mapflag pvp off
diff --git a/npc/mapflag/nosave.txt b/npc/mapflag/nosave.txt
index f53bf5a83..3465cc0c3 100644
--- a/npc/mapflag/nosave.txt
+++ b/npc/mapflag/nosave.txt
@@ -349,6 +349,9 @@ que_lhz mapflag nosave SavePoint
// Ghost Palace ===========
1@spa mapflag nosave SavePoint
+// Sara's Memory Instance ===========
+1@sara mapflag nosave SavePoint
+
//evt_zombie mapflag nosave SavePoint
// Poring War ====================
diff --git a/npc/mapflag/noteleport.txt b/npc/mapflag/noteleport.txt
index e8693678a..8b1109ef1 100644
--- a/npc/mapflag/noteleport.txt
+++ b/npc/mapflag/noteleport.txt
@@ -13,6 +13,7 @@
//= Copyright (C) rAthena Dev Team
//= Copyright (C) eAthena Dev Team
//= Copyright (C) Lupus
+//= Copyright (C) Nova
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -29,7 +30,7 @@
//=========================================================================
//= Mapflag: Disable teleportation.
//================= Current Version =======================================
-//= 1.6a
+//= 1.6.2
//================= Description ===========================================
//= Disables all means of teleportation within a map.
//= Script commands 'warp', 'areawarp', 'warpchar',
@@ -451,6 +452,8 @@ ecl_in04 mapflag noteleport
1@ecl mapflag noteleport
1@ecl mapflag monster_noteleport
ecl_hub01 mapflag noteleport
+dali mapflag noteleport
+dali02 mapflag noteleport
//Orc's Memory ===================
1@orcs mapflag noteleport
@@ -471,6 +474,10 @@ nyd_dun02 mapflag noteleport
1@spa mapflag noteleport
1@spa mapflag monster_noteleport
+// Sara's Memory Instance ===========
+1@sara mapflag noteleport
+1@sara mapflag monster_noteleport
+
//evt_zombie mapflag noteleport
// Poring War ====================
diff --git a/npc/mapflag/partylock.txt b/npc/mapflag/partylock.txt
index ee16cf798..9e604fedc 100644
--- a/npc/mapflag/partylock.txt
+++ b/npc/mapflag/partylock.txt
@@ -81,3 +81,6 @@
// Ghost Palace ===========
1@spa mapflag partylock
+
+// Sara's Memory Instance ===========
+1@sara mapflag partylock
diff --git a/npc/mapflag/zone.txt b/npc/mapflag/zone.txt
index c14ef569f..d3b88c0c7 100644
--- a/npc/mapflag/zone.txt
+++ b/npc/mapflag/zone.txt
@@ -103,6 +103,9 @@ prt_are_in mapflag zone Izlude Battle Arena
// Ghost Palace ===========
1@spa mapflag zone Memorial Dungeon
+// Sara's Memory Instance ===========
+1@sara mapflag zone Memorial Dungeon
+
//Towns
alberta mapflag zone Towns
aldebaran mapflag zone Towns
diff --git a/npc/merchants/buying_shops.txt b/npc/merchants/buying_shops.txt
index 31202445e..eaf62bbe1 100644
--- a/npc/merchants/buying_shops.txt
+++ b/npc/merchants/buying_shops.txt
@@ -203,7 +203,7 @@ alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
mes "That's the point of my proposal!";
mes "Our president was so happy to hear that we're going to make big bucks!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Please get to the point already!";
next;
mes "[Mr. Hugh]";
diff --git a/npc/merchants/cashheadgear_dye.txt b/npc/merchants/cashheadgear_dye.txt
index 9df88ab2a..63d0e2bc0 100644
--- a/npc/merchants/cashheadgear_dye.txt
+++ b/npc/merchants/cashheadgear_dye.txt
@@ -102,7 +102,7 @@ prt_in,253,168,4 script Alora 4_F_LGTGIRL,{
mes "[Alora]";
mes "Any upgrades and cards will be dissolved by the mysterious dye, so be sure you are ok with having a ^0000FF+0 "+ getitemname(.@dyHG) +" without any cards.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, thanks for the warning, I think I'll give you my";
next;
.@menu$ = "Nevermind";
diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt
index d4b623031..b215bd6d8 100644
--- a/npc/merchants/shops.txt
+++ b/npc/merchants/shops.txt
@@ -53,7 +53,7 @@
alberta_in,165,96,0 trader Item Collector#alb 1_F_MERCHANT_02,{
OnInit:
sellitem Scell;
- sellitem Monster's_Feed;
+ sellitem Monsters_Feed;
}
alberta_in,180,15,0 trader Armor Dealer#alb 4W_F_01,{
@@ -68,7 +68,7 @@ OnInit:
sellitem Manteau;
sellitem Glasses;
sellitem Sunglasses;
- sellitem Diver's_Goggles;
+ sellitem Divers_Goggles;
sellitem Cap;
sellitem Cotton_Shirt;
sellitem Leather_Jacket;
@@ -507,7 +507,7 @@ ein_in01,119,26,4 trader Weapon Dealer#ein 4_M_EINMAN,{
OnInit:
sellitem Kindling_Dagger;
sellitem Obsidian_Dagger;
- sellitem Fisherman's_Dagger;
+ sellitem Fishermans_Dagger;
sellitem Jujube_Dagger;
}
@@ -707,7 +707,7 @@ OnInit:
sellitem Blue_Gemstone;
sellitem Sunglasses;
sellitem Garlet;
- sellitem Monster's_Feed;
+ sellitem Monsters_Feed;
}
hu_in01,100,390,3 trader Bow Dealer#hu 4_M_04,{
@@ -1103,7 +1103,7 @@ OnInit:
sellitem Scell;
sellitem Garlet;
sellitem Zargon;
- sellitem Monster's_Feed;
+ sellitem Monsters_Feed;
}
//== Louyang ===============================================
@@ -1216,16 +1216,16 @@ OnInit:
moc_ruins,93,53,2 trader Item Collector#moc1 4_M_03,{
OnInit:
sellitem Scell;
- sellitem Monster's_Feed;
- sellitem Animal's_Skin;
+ sellitem Monsters_Feed;
+ sellitem Animals_Skin;
sellitem Bill_Of_Birds;
}
moc_ruins,81,113,0 trader Item Collector#moc2 4_M_03,{
OnInit:
sellitem Scell;
- sellitem Monster's_Feed;
- sellitem Animal's_Skin;
+ sellitem Monsters_Feed;
+ sellitem Animals_Skin;
sellitem Bill_Of_Birds;
}
@@ -1408,7 +1408,7 @@ OnInit:
sellitem Pumpkin;
sellitem Pumpkin_Head;
sellitem Tree_Root;
- sellitem Goat's_Horn;
+ sellitem Goats_Horn;
sellitem Pet_Food;
sellitem Poison_Powder;
sellitem Single_Cell;
@@ -1480,7 +1480,7 @@ OnInit:
prontera,64,125,0 trader Butcher#prt 4_M_BARBER,{
OnInit:
sellitem Meat;
- sellitem Monster's_Feed;
+ sellitem Monsters_Feed;
}
prontera,58,182,0 trader Flower Girl#prt 4W_KID,{
@@ -1701,7 +1701,7 @@ OnInit:
sellitem Sweet_Potato;
sellitem Banana;
sellitem Meat;
- sellitem Monster's_Feed;
+ sellitem Monsters_Feed;
sellitem Pet_Food;
sellitem Wing_Of_Fly;
sellitem Wing_Of_Butterfly;
diff --git a/npc/other/CashShop_Functions.txt b/npc/other/CashShop_Functions.txt
index 3197b3838..629e91b8a 100644
--- a/npc/other/CashShop_Functions.txt
+++ b/npc/other/CashShop_Functions.txt
@@ -57,9 +57,9 @@ function script F_CashStore {
// - No arguments.
function script F_CashPartyCall {
warp "Random",0,0;
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
getmapxy(.@mapl$, .@xl, .@yl, UNITTYPE_PC);
- warpparty .@mapl$, .@xl, .@yl, getcharid(1), .@mapl$;
+ warpparty .@mapl$, .@xl, .@yl, getcharid(CHAR_ID_PARTY), .@mapl$;
}
return;
}
@@ -285,7 +285,7 @@ function script F_Snowball {
case 2:
mes "Blessings.";
mes "Holy night~";
- unitskilluseid getcharid(3),"SM_ENDURE",10;
+ unitskilluseid getcharid(CHAR_ID_ACCOUNT),"SM_ENDURE",10;
close2;
cutin "",255;
break;
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt
index 1e431b7d8..f6068d598 100644
--- a/npc/other/Global_Functions.txt
+++ b/npc/other/Global_Functions.txt
@@ -144,7 +144,7 @@ function script F_ClearGarbage {
// Used in REBIRTH scripts
function script Job_Change {
jobchange getarg(0),Upper; //Jobchange based on Upper
- logmes "CLASS CHANGE: " +strcharinfo(0)+ " become a "+jobname(Class);
+ logmes "CLASS CHANGE: " +strcharinfo(PC_NAME)+ " become a "+jobname(Class);
return;
}
diff --git a/npc/other/arena/arena_aco.txt b/npc/other/arena/arena_aco.txt
index a700ee1bb..0c46eea21 100644
--- a/npc/other/arena/arena_aco.txt
+++ b/npc/other/arena/arena_aco.txt
@@ -1135,7 +1135,7 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
mes "this, especially if you";
mes "broke some record, but";
mes "all I can do is restore your";
- mes "HP and SP for you, "+strcharinfo(0)+".";
+ mes "HP and SP for you, "+strcharinfo(PC_NAME)+".";
percentheal 100,100;
next;
mes "[Staff]";
@@ -1184,7 +1184,7 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
.@topchoaco = .@acotop_t % 60;
.@gapaco = .@acotop_t - .@record_timeaco;
mes "[Staff]";
- mes "^3131FF"+strcharinfo(0)+"^000000, right?";
+ mes "^3131FF"+strcharinfo(PC_NAME)+"^000000, right?";
mes "Hey, you did great! You";
mes "completed this Arena Battle";
mes "in "+.@record_minaco+" min and "+.@record_secaco+" seconds!";
@@ -1216,25 +1216,25 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
mes "Arena - Acolyte Class Record!";
if (BaseJob == Job_Acolyte) {
$arn_acotop = .@record_timeaco;
- $arn_acotopn$ = strcharinfo(0);
+ $arn_acotopn$ = strcharinfo(PC_NAME);
donpcevent "Vendigos::OnLineRec_aco";
}
else {
if (BaseLevel < 70) {
$arn_pritop60 = .@record_timeaco;
- $arn_pritopn60$ = strcharinfo(0);
+ $arn_pritopn60$ = strcharinfo(PC_NAME);
}
else if (BaseLevel < 80) {
$arn_pritop70 = .@record_timeaco;
- $arn_pritopn70$ = strcharinfo(0);
+ $arn_pritopn70$ = strcharinfo(PC_NAME);
}
else if (BaseLevel < 90) {
$arn_pritop80 = .@record_timeaco;
- $arn_pritopn80$ = strcharinfo(0);
+ $arn_pritopn80$ = strcharinfo(PC_NAME);
}
else {
$arn_pritop90 = .@record_timeaco;
- $arn_pritopn90$ = strcharinfo(0);
+ $arn_pritopn90$ = strcharinfo(PC_NAME);
}
donpcevent "Vendigos::OnLineRec_pri";
}
@@ -1368,35 +1368,35 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
next;
mes "[Staff]";
mes "Oooh... A brand new";
- mes "record. ^3131FF"+ strcharinfo(0)+"^000000, your";
+ mes "record. ^3131FF"+ strcharinfo(PC_NAME)+"^000000, your";
mes "name will now be listed in";
mes "the Time Force Battle Arena";
mes "Acolyte Class Records.";
mes "Congratulations~";
if (BaseJob == Job_Acolyte) {
$arn_acotop = .@record_timeaco;
- $arn_acotopn$ = strcharinfo(0);
+ $arn_acotopn$ = strcharinfo(PC_NAME);
donpcevent "#Vendigos::OnLineRec_aco";
}
else {
if (BaseLevel < 70) {
$arn_pritop60 = .@record_timeaco;
- $arn_pritopn60$ = strcharinfo(0);
+ $arn_pritopn60$ = strcharinfo(PC_NAME);
donpcevent "#Vendigos::OnLineRec_pri60";
}
else if (BaseLevel < 80) {
$arn_pritop70 = .@record_timeaco;
- $arn_pritopn70$ = strcharinfo(0);
+ $arn_pritopn70$ = strcharinfo(PC_NAME);
donpcevent "#Vendigos::OnLineRec_pri70";
}
else if (BaseLevel < 90) {
$arn_pritop80 = .@record_timeaco;
- $arn_pritopn80$ = strcharinfo(0);
+ $arn_pritopn80$ = strcharinfo(PC_NAME);
donpcevent "#Vendigos::OnLineRec_pri80";
}
else {
$arn_pritop90 = .@record_timeaco;
- $arn_pritopn90$ = strcharinfo(0);
+ $arn_pritopn90$ = strcharinfo(PC_NAME);
donpcevent "#Vendigos::OnLineRec_pri90";
}
}
diff --git a/npc/other/arena/arena_lvl50.txt b/npc/other/arena/arena_lvl50.txt
index 482e3fd58..fbd2ba193 100644
--- a/npc/other/arena/arena_lvl50.txt
+++ b/npc/other/arena/arena_lvl50.txt
@@ -844,8 +844,8 @@ prt_are_in,25,188,3 script Staff#50-2 1_F_02,{
@gap50 = (60 * $top_50min + $top_50sec) - (60 * @record_min50 + @record_sec50);
mes "[Staff]";
mes "Wow, you did a good job~ ";
- mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
- mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ mes "Your name is...^3131FF" + strcharinfo(PC_NAME) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(PC_NAME) +"^000000, total time you spent to pass the battle..";
next;
mes "[Staff]";
mes "is "+@record_min50+"minutes "+@record_sec50+"seconds.";
@@ -898,10 +898,10 @@ prt_are_in,25,188,3 script Staff#50-2 1_F_02,{
mes "What a great job!";
next;
mes "[Staff]";
- mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 50s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 50s^000000, ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
$top_50min = @record_min50;
$top_50sec = @record_sec50;
- $arena_50topn$ = strcharinfo(0);
+ $arena_50topn$ = strcharinfo(PC_NAME);
donpcevent "Vendigos::OnLineRec_50";
next;
if (arena_point > 29950) {
diff --git a/npc/other/arena/arena_lvl60.txt b/npc/other/arena/arena_lvl60.txt
index 41c444388..b81831345 100644
--- a/npc/other/arena/arena_lvl60.txt
+++ b/npc/other/arena/arena_lvl60.txt
@@ -854,8 +854,8 @@ prt_are_in,25,135,3 script Staff#60-2 1_F_02,{
@gap60 = (60 * $top_60min + $top_60sec) - (60 * @record_min60 + @record_sec60);
mes "[Staff]";
mes "Wow, you did a good job~ ";
- mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
- mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ mes "Your name is...^3131FF" + strcharinfo(PC_NAME) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(PC_NAME) +"^000000, total time you spent to pass the battle..";
next;
mes "[Staff]";
mes "is "+@record_min60+"minutes "+@record_sec60+"seconds.";
@@ -908,10 +908,10 @@ prt_are_in,25,135,3 script Staff#60-2 1_F_02,{
mes "What a great job!";
next;
mes "[Staff]";
- mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 60s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 60s^000000, ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
$top_60min = @record_min60;
$top_60sec = @record_sec60;
- $arena_60topn$ = strcharinfo(0);
+ $arena_60topn$ = strcharinfo(PC_NAME);
donpcevent "Vendigos::OnLineRec_60";
next;
if (arena_point > 29950) {
diff --git a/npc/other/arena/arena_lvl70.txt b/npc/other/arena/arena_lvl70.txt
index 90bc1aa69..c862585aa 100644
--- a/npc/other/arena/arena_lvl70.txt
+++ b/npc/other/arena/arena_lvl70.txt
@@ -819,8 +819,8 @@ prt_are_in,25,84,3 script Staff#70-2 1_F_02,{
@gap70 = (60 * $top_70min + $top_70sec) - (60 * @record_min70 + @record_sec70);
mes "[Staff]";
mes "Wow, you did a good job~ ";
- mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
- mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ mes "Your name is...^3131FF" + strcharinfo(PC_NAME) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(PC_NAME) +"^000000, total time you spent to pass the battle..";
next;
mes "[Staff]";
mes "is "+@record_min70+"minutes "+@record_sec70+"seconds.";
@@ -873,10 +873,10 @@ prt_are_in,25,84,3 script Staff#70-2 1_F_02,{
mes "What a great job!";
next;
mes "[Staff]";
- mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 70s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 70s^000000, ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
$top_70min = @record_min70;
$top_70sec = @record_sec70;
- $arena_70topn$ = strcharinfo(0);
+ $arena_70topn$ = strcharinfo(PC_NAME);
donpcevent "Vendigos::OnLineRec_70";
next;
if (arena_point > 29970) {
diff --git a/npc/other/arena/arena_lvl80.txt b/npc/other/arena/arena_lvl80.txt
index 7bab16f4a..044b1eb31 100644
--- a/npc/other/arena/arena_lvl80.txt
+++ b/npc/other/arena/arena_lvl80.txt
@@ -800,8 +800,8 @@ prt_are_in,77,187,3 script Staff#80-2 1_F_02,{
@gap80 = (60 * $top_80min + $top_80sec) - (60 * @record_min80 + @record_sec80);
mes "[Staff]";
mes "Wow, you did a good job~ ";
- mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
- mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ mes "Your name is...^3131FF" + strcharinfo(PC_NAME) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(PC_NAME) +"^000000, total time you spent to pass the battle..";
next;
mes "[Staff]";
mes "is "+@record_min80+"minutes "+@record_sec80+"seconds.";
@@ -854,10 +854,10 @@ prt_are_in,77,187,3 script Staff#80-2 1_F_02,{
mes "What a great job!";
next;
mes "[Staff]";
- mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 80s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 80s^000000, ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
$top_80min = @record_min80;
$top_80sec = @record_sec80;
- $arena_80topn$ = strcharinfo(0);
+ $arena_80topn$ = strcharinfo(PC_NAME);
donpcevent "Vendigos::OnLineRec_80";
next;
if (arena_point > 29980) {
diff --git a/npc/other/arena/arena_party.txt b/npc/other/arena/arena_party.txt
index b3fb751e6..d7865d441 100644
--- a/npc/other/arena/arena_party.txt
+++ b/npc/other/arena/arena_party.txt
@@ -1012,8 +1012,8 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
@gappt = (60 * $top_ptmin + $top_ptsec) - (60 * @record_minpt + @record_secpt);
mes "[Staff]";
mes "Wow, you did a good job~ ";
- mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
- mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ mes "Your name is...^3131FF" + strcharinfo(PC_NAME) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(PC_NAME) +"^000000, total time you spent to pass the battle..";
next;
mes "[Staff]";
mes "is "+@record_minpt+"minutes "+@record_secpt+"seconds.";
@@ -1025,7 +1025,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
mes "[Staff]";
mes "^3131FF"+$arena_pttopn$+"^000000's running time was ^3131FF"+$top_ptmin+"^000000minutes ^3131FF"+$top_ptsec+"^000000seconds.";
next;
- .arn_party = getcharid(1);
+ .arn_party = getcharid(CHAR_ID_PARTY);
if (@gappt < 0) {
mes "[Staff]";
mes "Although you failed to make a new record, I hope you will succeed next time.";
@@ -1053,7 +1053,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
mes "See you later~";
close2;
}
- if(getpartyleader(.arn_party,2) == getcharid(0)) {
+ if(getpartyleader(.arn_party,2) == getcharid(CHAR_ID_CHAR)) {
donpcevent "#arn_timer_pt::OnStop";
donpcevent "alloff#pt::OnEnable";
donpcevent "Ponox::OnStart";
@@ -1068,7 +1068,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
mes "Wow! You have renewed the record!";
mes "What a great job!";
next;
- if(getpartyleader(.arn_party,2) == getcharid(0)) {
+ if(getpartyleader(.arn_party,2) == getcharid(CHAR_ID_CHAR)) {
mes "[Staff]";
mes "You can record you and your party members on ^FF0000the hall of Arena Time Force Battle party ^000000.";
mes "When you enter a name, the name will be remained on the top unless someone make a new record.";
@@ -1131,7 +1131,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
mes "See you later~";
close2;
}
- if(getpartyleader(.arn_party,2) == getcharid(0)) {
+ if(getpartyleader(.arn_party,2) == getcharid(CHAR_ID_CHAR)) {
donpcevent "#arn_timer_pt::OnStop";
donpcevent "alloff#pt::OnEnable";
donpcevent "Ponox::OnStart";
diff --git a/npc/other/arena/arena_point.txt b/npc/other/arena/arena_point.txt
index 40af36d46..5292ebab3 100644
--- a/npc/other/arena/arena_point.txt
+++ b/npc/other/arena/arena_point.txt
@@ -43,14 +43,14 @@ prt_are_in,103,11,3 script Arena Point Manager 4_M_JOB_HUNTER,{
switch(select("Point Check", "Convert Points", "^660000Conversion Info^000000")) {
case 1:
mes "[Arena Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you currently have";
mes "" + arena_point + " Arena Points";
mes "and " + tt_point + " Turbo Track Points.";
close;
case 2:
mes "[Arena Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you currently have";
mes "" + arena_point + " Arena Points";
mes "and " + tt_point + " Turbo Track Points.";
@@ -136,7 +136,7 @@ prt_are_in,103,11,3 script Arena Point Manager 4_M_JOB_HUNTER,{
arena_point += .@want_point;
next;
mes "[Arena Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you now have";
mes "^4682B4" + arena_point + "^000000 Arena Points";
mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
@@ -176,14 +176,14 @@ S_ExchangePoints:
}
if (tt_point >= getarg(1)) {
mes "[Arena Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you've converted "+getarg(1)+" Track";
mes "Points into "+getarg(2)+" Arena Point.";
tt_point -= getarg(1);
arena_point += getarg(2);
next;
mes "[Arena Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you now have";
mes "^4682B4" + arena_point + "^000000 Arena Points";
mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
diff --git a/npc/other/arena/arena_room.txt b/npc/other/arena/arena_room.txt
index 83a8b4de9..b8806e112 100644
--- a/npc/other/arena/arena_room.txt
+++ b/npc/other/arena/arena_room.txt
@@ -73,10 +73,10 @@ arena_room,94,93,5 script Vendigos 4W_M_01,{
break;
case 3:
mes "[Vendigos]";
- mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ mes "Let me check "+strcharinfo(PC_NAME)+"'s current arena points.";
next;
mes "[Vendigos]";
- mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ mes ""+strcharinfo(PC_NAME)+" has total ^3131FF"+arena_point+"^000000 points.";
next;
mes "[Vendigos]";
mes "If you wish to know how to use arena points, please refer to the 2nd menu ^3131FF'About Arena Points'^000000.";
@@ -728,10 +728,10 @@ prt_are_in,98,14,3 script Givu#arena 4_F_JOB_KNIGHT,{
}
case 4:
mes "[Givu]";
- mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ mes "Let me check "+strcharinfo(PC_NAME)+"'s current arena points.";
next;
mes "[Givu]";
- mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ mes ""+strcharinfo(PC_NAME)+" has total ^3131FF"+arena_point+"^000000 points.";
close;
}
}
diff --git a/npc/other/divorce.txt b/npc/other/divorce.txt
index dd4bad6b6..e3d6f5ee7 100644
--- a/npc/other/divorce.txt
+++ b/npc/other/divorce.txt
@@ -211,7 +211,8 @@ nif_in,190,112,5 script Deviruchi#divorce 4_DEVIRUCHI,{
specialeffect2 EF_DEVIL;
wedding_sign = 0;
Zeny -= 2500000;
- percentheal -100,-100;
+ Sp = 0;
+ Hp = 1;
divorce;
mes "[Deviruchi]";
mes "Bwahhahahaha~!";
diff --git a/npc/other/fortune.txt b/npc/other/fortune.txt
index 661772c02..23d65e88f 100644
--- a/npc/other/fortune.txt
+++ b/npc/other/fortune.txt
@@ -40,7 +40,7 @@
payon_in03,117,128,5 script Fortune Teller 4_M_BIBI,{
mes "[Lhimetorra]";
- mes "You're an adventurer of this world... " +strcharinfo(0)+ ", right? So, what can an old person like me do for you?";
+ mes "You're an adventurer of this world... " +strcharinfo(PC_NAME)+ ", right? So, what can an old person like me do for you?";
next;
switch(select("I would like a tarot card reading.", "What's a tarot card reading?")) {
case 1:
@@ -2760,7 +2760,7 @@ payon_in03,117,128,5 script Fortune Teller 4_M_BIBI,{
payon_in03,75,129,5 script Poring Fortune Teller 4_M_BIBI,{
mes "[Chocarle]";
- mes " Welcome, welcome~!! " +strcharinfo(0)+ "~!";
+ mes " Welcome, welcome~!! " +strcharinfo(PC_NAME)+ "~!";
mes " What brings you here today!? ";
next;
switch(select(" I would like a Poring card reading. ", " What is a Poring card reading? ")) {
diff --git a/npc/other/gm_npcs.txt b/npc/other/gm_npcs.txt
index 9dfaa81a8..d86535104 100644
--- a/npc/other/gm_npcs.txt
+++ b/npc/other/gm_npcs.txt
@@ -42,7 +42,7 @@ function script F_GM_NPC {
if (getgmlevel() < 99) {/* TODO: perhaps better to just add a group permission? [Ind] */
// Log the event.
getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
- logmes strcharinfo(0)+" attempted to access GM NPC "+strnpcinfo(NPC_NAME)+" ("+.@map$+","+.@x+","+.@y+").";
+ logmes strcharinfo(PC_NAME)+" attempted to access GM NPC "+strnpcinfo(NPC_NAME)+" ("+.@map$+","+.@x+","+.@y+").";
end;
}
diff --git a/npc/other/hugel_bingo.txt b/npc/other/hugel_bingo.txt
index 50a9374f6..965405807 100644
--- a/npc/other/hugel_bingo.txt
+++ b/npc/other/hugel_bingo.txt
@@ -487,7 +487,7 @@ OnTouch:
if ($@hu_bingoa == 5) {
$@hu_bingoa = 6;
donpcevent "start2#bingo::OnStop";
- $@bingowinner$ = strcharinfo(0);
+ $@bingowinner$ = strcharinfo(PC_NAME);
donpcevent "win1a#bingo::OnWin";
close;
@@ -669,7 +669,7 @@ OnInit:
end;
OnTouch:
- if ($@bingowinner$ != strcharinfo(0)) end;
+ if ($@bingowinner$ != strcharinfo(PC_NAME)) end;
specialeffect EF_SUI_EXPLOSION;
soundeffect "tming_success.wav",1;
if ($@bingoresult == 16) getitem 7515,50;
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt
index eca8001a6..bbd659420 100644
--- a/npc/other/marriage.txt
+++ b/npc/other/marriage.txt
@@ -330,7 +330,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
next;
while(1) {
input .@name$;
- if (.@name$ == strcharinfo(0))
+ if (.@name$ == strcharinfo(PC_NAME))
break;
mes "[Marry Happy]";
mes "Hmmm, you have to write";
@@ -577,7 +577,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
if (!getpartnerid()) {
if (!$@wedding) {
if (wedding_sign == 1) {
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
if (.@partymembercount == 2) {
if (Sex == SEX_MALE) {
@@ -590,7 +590,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "and joy. May the love you share";
mes "grow with each passing day.";
next;
- mapannounce "prt_church","It's the marriage proposal from the groom, Mr. " + strcharinfo(0) + "...",bc_map;
+ mapannounce "prt_church","It's the marriage proposal from the groom, Mr. " + strcharinfo(PC_NAME) + "...",bc_map;
mes "[Vomars]";
mes "Until the end of the";
mes "world, may you stand";
@@ -601,21 +601,21 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
next;
input $@wed_bride$;
mes "[Vomars]";
- mes "Mr. " + strcharinfo(0) + "...";
+ mes "Mr. " + strcharinfo(PC_NAME) + "...";
mes "Do you swear on your life";
mes "that you will forever cherish";
mes "and care for your bride,";
mes "Miss " + $@wed_bride$ + "?";
next;
select("I do.");
- $@wed_groom$ = strcharinfo(0);
+ $@wed_groom$ = strcharinfo(PC_NAME);
mes "[Vomars]";
mes "Now, it is time for";
mes "your bride to make";
mes "her wedding vows.";
mes "If she will come forward...";
close2;
- mapannounce "prt_church","The groom, Mr. " + strcharinfo(0) + ", has made his vows to Miss " + $@wed_bride$ + "...",bc_map;
+ mapannounce "prt_church","The groom, Mr. " + strcharinfo(PC_NAME) + ", has made his vows to Miss " + $@wed_bride$ + "...",bc_map;
cutin "",255;
end;
}
@@ -648,11 +648,11 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
}
else if ($@wedding == 1) {
if (wedding_sign == 1) {
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
if (.@partymembercount == 2) {
if (Sex == SEX_FEMALE) {
- if (strcharinfo(0) == $@wed_bride$) {
+ if (strcharinfo(PC_NAME) == $@wed_bride$) {
mes "[Vomars]";
mes "Young lovers, please";
mes "remember this moment for";
@@ -689,7 +689,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "Will you marry "+$@wed_groom$+"?";
next;
if (select("Yes, I do.", "^FF0000No.^000000") == 1) {
- if (isloggedin(getcharid(3,$@wed_groom$))) {
+ if (isloggedin(getcharid(CHAR_ID_ACCOUNT,$@wed_groom$))) {
if (marriage($@wed_groom$)) {
//Call Wedding effect
wedding;
@@ -697,12 +697,12 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
sc_start SC_WEDDING,3600000,1;
getitem Bride_Ring,1;
//Give ring to Groom, and change to wedding sprite.
- attachrid(getcharid(3,$@wed_groom$));
+ attachrid(getcharid(CHAR_ID_ACCOUNT,$@wed_groom$));
sc_start SC_WEDDING,3600000,1;
getitem Bridegroom_Ring,1;
detachrid;
//Switch Script progression back to Bride
- attachrid(getcharid(3,$@wed_bride$));
+ attachrid(getcharid(CHAR_ID_ACCOUNT,$@wed_bride$));
cutin "wedding_bomars02",2;
mapannounce "prt_church","I now pronounce you, "+$@wed_groom$+" and "+$@wed_bride$+", husband and wife.",bc_map;
mes "[Vomars]";
@@ -761,7 +761,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
}
callsub S_Busy;
}
- if (strcharinfo(0) == $@wed_bride$) {
+ if (strcharinfo(PC_NAME) == $@wed_bride$) {
mes "[Vomars]";
mes "Hm? It appears that";
mes "Happy Marry still hasn't";
diff --git a/npc/other/monster_race.txt b/npc/other/monster_race.txt
index 7baf3da94..9ddafeef5 100644
--- a/npc/other/monster_race.txt
+++ b/npc/other/monster_race.txt
@@ -349,10 +349,10 @@ p_track01,67,45,5 script Medal Distributor#single 4_F_RACING,{
mes "won! May I have your name?";
next;
input .@input$;
- if (.@input$ == strcharinfo(0)) {
+ if (.@input$ == strcharinfo(PC_NAME)) {
.@insa = rand(1,1000);
mes "[Medal Distributor]";
- mes "Ah, "+strcharinfo(0)+".";
+ mes "Ah, "+strcharinfo(PC_NAME)+".";
mes "You can exchange this";
mes "ticket for a Prize Medal by";
mes "entering your ticket exchange";
@@ -2023,7 +2023,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 4_M_EINMAN2,{
mes "been able to get any medals...";
next;
if (countitem(Marvelous_Medal)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh! Are you talking";
mes "about the medals that";
mes "they give as rewards in";
@@ -2489,7 +2489,7 @@ S_Reward:
mes "you anything in return, so...";
mes "Think of something. Quick.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Er, just use the medals";
mes "to further your manufacturing";
mes "research, and then you can";
@@ -2628,7 +2628,7 @@ S_BonusReward:
}
next;
if (select("Decline", "Accept") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W-wait, I changed my";
mes "mind. Would it be fine";
mes "if I asked you to give";
@@ -2873,7 +2873,7 @@ p_track02,32,45,5 script Eccentric Scholar#double 4_M_SAGE_C,{
mes "Ah, right, 7, to account for x,";
mes "a value representing--";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me, but";
mes "what are you doing?";
next;
@@ -2949,7 +2949,7 @@ p_track01,27,47,5 script Drunkard#single 4_M_YURI,{
mes "Hey, you! Which number is";
mes "your lucky number? Huh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I, er...";
next;
mes "[Familiar Drunkard]";
diff --git a/npc/other/poring_war.txt b/npc/other/poring_war.txt
index c840ab3c5..b3e0eb15a 100644
--- a/npc/other/poring_war.txt
+++ b/npc/other/poring_war.txt
@@ -165,11 +165,11 @@ poring_w01,100,97,3 script Poring Vending Machine#w 4_PORING,{
close;
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "... Maybe next time...";
close;
case 9:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "... Maybe next time...";
close;
}
@@ -299,7 +299,7 @@ poring_w01,96,97,3 script Sweet Devi#wop 4_DEVIRUCHI,{
mes "And you need to make sure you know who's in which party.";
close;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "hmm, I see.";
close;
case 4:
@@ -644,8 +644,8 @@ poring_w02,26,181,3 script Mr. Doppel#wop_team_a 8_DOPPEL,{
close;
}
.@a_tname$ = getpartyname($@wop_team_a);
- .@pname$ = getpartyname(getcharid(1));
- if ($@wop_team_a != 0 && $@wop_team_a == getcharid(1)) {
+ .@pname$ = getpartyname(getcharid(CHAR_ID_PARTY));
+ if ($@wop_team_a != 0 && $@wop_team_a == getcharid(CHAR_ID_PARTY)) {
mes "[Mr. Doppel]";
mes "So, everyone joined the party?";
mes "The name of the party is... " + .@pname$ + ", right?";
@@ -662,7 +662,7 @@ poring_w02,26,181,3 script Mr. Doppel#wop_team_a 8_DOPPEL,{
mes "If you don't get there in time, you won't make it to the battle.";
close;
case 2:
- if ((getpartyleader(getcharid(1),2) == getcharid(0))) {
+ if ((getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR))) {
mes "[Mr. Doppel]";
mes "So, you are the leader. Before going to the battlefield, you should check all your members.";
next;
@@ -694,7 +694,7 @@ poring_w02,26,181,3 script Mr. Doppel#wop_team_a 8_DOPPEL,{
}
}
else {
- if ((getpartyleader(getcharid(1),2) == getcharid(0))) {
+ if ((getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR))) {
if ($@wop_team_a == 0) {
mes "[Mr. Doppel]";
mes "So, you are the party leader of Angeling Team.";
@@ -719,7 +719,7 @@ poring_w02,26,181,3 script Mr. Doppel#wop_team_a 8_DOPPEL,{
mes "So, I'll register your party name as - " +.@pname$ + " -.";
mes "Now, Tell your ^4d4dffmembers to confirm your party^000000.";
mes "I'll send you to the battlefield as soon as I confirm your party.";
- $@wop_team_a = getcharid(1);
+ $@wop_team_a = getcharid(CHAR_ID_PARTY);
mapannounce "poring_w02","The registration of the Angeling Team has been confirmed. The party members must confirm their team with Mr. Doppel.",0,0x33FF66;
close;
case 3:
@@ -775,8 +775,8 @@ poring_w02,170,181,3 script Mr. Doppel#wop_team_d 8_DOPPEL,{
close;
}
.@d_tname$ = getpartyname($@wop_team_d);
- .@pname$ = getpartyname(getcharid(1));
- if ($@wop_team_d != 0 && $@wop_team_d == getcharid(1)) {
+ .@pname$ = getpartyname(getcharid(CHAR_ID_PARTY));
+ if ($@wop_team_d != 0 && $@wop_team_d == getcharid(CHAR_ID_PARTY)) {
mes "[Mr. Doppel]";
mes "So, everyone joined the party?";
mes "The name of the party is... " + .@pname$ + ", right?";
@@ -793,7 +793,7 @@ poring_w02,170,181,3 script Mr. Doppel#wop_team_d 8_DOPPEL,{
mes "If you don't get there in time, you won't make it to the battle.";
close;
case 2:
- if ((getpartyleader(getcharid(1),2) == getcharid(0))) {
+ if ((getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR))) {
mes "[Mr. Doppel]";
mes "So, you are the leader. Before going to the battlefield, you should check all your members.";
next;
@@ -823,7 +823,7 @@ poring_w02,170,181,3 script Mr. Doppel#wop_team_d 8_DOPPEL,{
}
}
} else {
- if ((getpartyleader(getcharid(1),2) == getcharid(0))) {
+ if ((getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR))) {
if ($@wop_team_d == 0) {
mes "[Mr. Doppel]";
mes "So, you are the party leader of Deviling Team.";
@@ -848,7 +848,7 @@ poring_w02,170,181,3 script Mr. Doppel#wop_team_d 8_DOPPEL,{
mes "So, I'll register your party name as - " + .@pname$ + " -.";
mes "Now, Tell your ^4d4dffmembers to confirm your party^000000.";
mes "I'll send you to the battlefield as soon as I confirm your party.";
- $@wop_team_d = getcharid(1);
+ $@wop_team_d = getcharid(CHAR_ID_PARTY);
mapannounce "poring_w02","The registration of the Deviling Team has been confirmed. The party members must confirm their team with Mr. Doppel.",0,0x33FF66;
close;
case 3:
@@ -1238,7 +1238,7 @@ poring_w02,99,201,3 script Deviruchi#wop_endmaster 4_DEVIRUCHI,{
}
.@a_point = $@wop_deadcount_a;
.@d_point = $@wop_deadcount_d;
- if (getcharid(1) == $@wop_team_a) {
+ if (getcharid(CHAR_ID_PARTY) == $@wop_team_a) {
if (.@a_point < .@d_point) {
mes "[Devi]";
mes "Good work!";
@@ -1319,7 +1319,7 @@ poring_w02,99,201,3 script Deviruchi#wop_endmaster 4_DEVIRUCHI,{
}
}
}
- else if (getcharid(1) == $@wop_team_d) {
+ else if (getcharid(CHAR_ID_PARTY) == $@wop_team_d) {
if (.@a_point > .@d_point) {
mes "[Devi]";
mes "Good work!";
diff --git a/npc/other/pvp.txt b/npc/other/pvp.txt
index 28a925d14..6978d49d2 100644
--- a/npc/other/pvp.txt
+++ b/npc/other/pvp.txt
@@ -347,7 +347,7 @@ pvp_room,54,85,4 script Registration Staff#1 8W_SOLDIER,{
}
if (select("Combat Square one", "Cancel") == 1) {
mes "[PVP Combat Square Register Staff]";
- mes "'"+ strcharinfo(0) +"'";
+ mes "'"+ strcharinfo(PC_NAME) +"'";
mes "Are you ready?!";
next;
if (select("Yes!", "No!") == 1) {
diff --git a/npc/other/turbo_track.txt b/npc/other/turbo_track.txt
index bd6d4df8a..f70c97427 100644
--- a/npc/other/turbo_track.txt
+++ b/npc/other/turbo_track.txt
@@ -1741,18 +1741,18 @@ OnTouch:
.@n = charat(strnpcinfo(NPC_NAME_HIDDEN),getstrlen(strnpcinfo(NPC_NAME_HIDDEN))-1);
switch (.@n) {
case 1:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Log Bridge course!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Log Bridge course!",bc_map,"0x70DBDB";
switch (rand(1,3)) {
case 1: warp strnpcinfo(NPC_MAP),210,369; end;
case 2: warp strnpcinfo(NPC_MAP),210,361; end;
case 3: warp strnpcinfo(NPC_MAP),210,354; end;
}
case 2:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Cube Hills course!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Cube Hills course!",bc_map,"0x70DBDB";
warp strnpcinfo(NPC_MAP),316,365;
end;
case 3:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Cursed Desert!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Cursed Desert!",bc_map,"0x70DBDB";
switch (rand(1,4)) {
case 1: warp strnpcinfo(NPC_MAP),46,254; end;
case 2: warp strnpcinfo(NPC_MAP),76,227; end;
@@ -1760,15 +1760,15 @@ OnTouch:
case 4: warp strnpcinfo(NPC_MAP),86,220; end;
}
case 5:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Single Snail course!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Single Snail course!",bc_map,"0x70DBDB";
warp strnpcinfo(NPC_MAP),268,275;
end;
case 6:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Snake Dice course!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Snake Dice course!",bc_map,"0x70DBDB";
warp strnpcinfo(NPC_MAP),5,91;
end;
case 7:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Small Cave course! Hurry, you're almost at the finish!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Small Cave course! Hurry, you're almost at the finish!",bc_map,"0x70DBDB";
switch(rand(1,3)) {
case 1: warp strnpcinfo(NPC_MAP),307,52; end;
case 2: warp strnpcinfo(NPC_MAP),307,46; end;
@@ -1943,9 +1943,9 @@ turbo_n_1,222,65,0 duplicate(TurboHint_4#tt_main) #n1NoWayOut7 FAKE_NPC,1,1
OnTouch:
.@w$ = callfunc("F_tt");
if (.@w$ == "n1") $@end_time = gettimetick(0);
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just arrived at the Finish Line! Congratulations!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just arrived at the Finish Line! Congratulations!",bc_map,"0xFFFF00";
if (.@w$ != "n1") {
- setd "$ttnames$["+GetNumber(.@w$)+"]",strcharinfo(0);
+ setd "$ttnames$["+GetNumber(.@w$)+"]",strcharinfo(PC_NAME);
donpcevent "Turbo Track Guide::OnWin_"+.@w$;
}
warp strnpcinfo(NPC_MAP),384,161;
@@ -1992,7 +1992,7 @@ turbo_n_1,371,47,0 duplicate(cos_end#tt_main) #cos_n1_end WARPNPC,1,1
- script cos_end2#tt_main WARPNPC,1,1,{
OnTouch:
.@w$ = callfunc("F_tt");
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" is second to reach the Finish Line! Congratulations!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" is second to reach the Finish Line! Congratulations!",bc_map,"0xFFFF00";
if (.@w$ == "e8" || .@w$ == "n8") setarray .@pts, 28961,40;
if (.@w$ == "e16" || .@w$ == "n16") setarray .@pts, 28951,50;
if (tt_points < .@pts[0]) tt_point += .@pts[1];
@@ -2014,7 +2014,7 @@ turbo_n_16,371,51,0 duplicate(cos_end2#tt_main) #cos_n16_end2 WARPNPC,1,1
- script cos_end3#tt_main FAKE_NPC,{
OnTouch:
.@w$ = callfunc("F_tt");
- mapannounce strnpcinfo(NPC_MAP),"" + strcharinfo(0) +" is third to reach the Finish Line! Congratulations!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),"" + strcharinfo(PC_NAME) +" is third to reach the Finish Line! Congratulations!",bc_map,"0xFFFF00";
if (.@w$ == "e8" || .@w$ == "n8") setarray .@pts, 28971,30;
if (.@w$ == "e16" || .@w$ == "n16") setarray .@pts, 28951,50;
if (tt_point < .@pts[0]) tt_point += .@pts[1];
@@ -2055,7 +2055,7 @@ turbo_n_1,316,365,0 duplicate(DSwitch#tt_main) Disposable_Switch#n1 FAKE_NPC,1,1
- script Flasher#tt_main FAKE_NPC,{
OnTouch:
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" has just passed the Flasher Maze!",bc_map,"0x70DBDB";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" has just passed the Flasher Maze!",bc_map,"0x70DBDB";
warp strnpcinfo(NPC_MAP),185,227;
end;
@@ -2093,17 +2093,17 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
my_point = tt_point;
mes "You now have a total of";
mes tt_point + " Turbo Track points,";
- mes strcharinfo(0) +".";
+ mes strcharinfo(PC_NAME) +".";
}
mes "Unfortunately, I can't give";
mes "you any Turbo Track Points";
mes "since you would exceed the";
mes "maximum limit. Sorry,";
- mes strcharinfo(0) +"...";
+ mes strcharinfo(PC_NAME) +"...";
} else {
mes "As the winner, your reward";
mes "is "+((compare(.@w$,"8"))?"50":"40")+" Turbo Track Points,";
- mes strcharinfo(0) +"~";
+ mes strcharinfo(PC_NAME) +"~";
next;
mes "[Guide]";
mes "However, you cannot receive";
@@ -2114,7 +2114,7 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
next;
if (tt_rank > $ttranks[1]) {
setarray $ttranks[0],$ttranks[0],tt_rank,$ttranks[1],$ttranks[2],$ttranks[3],$ttranks[4];
- setarray $ttnames$[9],strcharinfo(0);
+ setarray $ttnames$[9],strcharinfo(PC_NAME);
mes "[Guide]";
mes "Congratulations!";
mes "You are ranked as";
@@ -2123,22 +2123,22 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
donpcevent "Turbo Track Guide::OnNew_Top1";
if (tt_rank == 29999) {
if ($ttnames$[7] == "Breezy Havana") {
- $ttnames$[7] = strcharinfo(0);
+ $ttnames$[7] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
else if ($ttnames$[8] == "RS125") {
- $ttnames$[8] = strcharinfo(0);
+ $ttnames$[8] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- if (compare(.@w$,"4")) announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ if (compare(.@w$,"4")) announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
}
}
else if (tt_rank > $ttranks[2]) {
setarray $ttranks[0],$ttranks[0],$ttranks[1],tt_rank,$ttranks[3],$ttranks[4],$ttranks[5];
- setarray $ttnames$[10],strcharinfo(0);
+ setarray $ttnames$[10],strcharinfo(PC_NAME);
mes "[Guide]";
mes "Congratulations!";
mes "You've ranked Second";
@@ -2147,22 +2147,22 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
donpcevent "Turbo Track Guide::OnNew_Top2";
if (tt_rank == 29999) {
if ($ttnames$[7] == "Breezy Havana") {
- $ttnames$[7] = strcharinfo(0);
+ $ttnames$[7] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
else if ($ttnames$[8] == "RS125") {
- $ttnames$[8] = strcharinfo(0);
+ $ttnames$[8] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
}
}
else if (tt_rank > $ttranks[3]) {
setarray $ttranks[0],$ttranks[0],$ttranks[1],$ttranks[2],tt_rank,$ttranks[4],$ttranks[5];
- setarray $ttnames$[11],strcharinfo(0);
+ setarray $ttnames$[11],strcharinfo(PC_NAME);
mes "[Guide]";
mes "Congratulations!";
mes "You've ranked Third";
@@ -2171,22 +2171,22 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
donpcevent "Turbo Track Guide::OnNew_Top3";
if (tt_rank == 29999) {
if ($ttnames$[7] == "Breezy Havana") {
- $ttnames$[7] = strcharinfo(0);
+ $ttnames$[7] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
else if ($ttnames$[8] == "RS125") {
- $ttnames$[8] = strcharinfo(0);
+ $ttnames$[8] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
}
}
else if (tt_rank > $ttranks[4]) {
setarray $ttranks[0],$ttranks[0],$ttranks[1],$ttranks[2],$ttranks[3],tt_rank,$ttranks[5];
- setarray $ttnames$[12],strcharinfo(0);
+ setarray $ttnames$[12],strcharinfo(PC_NAME);
mes "[Guide]";
mes "Congratulations!";
mes "You've ranked Fourth";
@@ -2195,22 +2195,22 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
donpcevent "Turbo Track Guide::OnNew_Top4";
if (tt_rank == 29999) {
if ($ttnames$[7] == "Breezy Havana") {
- $ttnames$[7] = strcharinfo(0);
+ $ttnames$[7] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
else if ($ttnames$[8] == "RS125") {
- $ttnames$[8] = strcharinfo(0);
+ $ttnames$[8] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
}
}
else if (tt_rank > $ttranks[5]) {
setarray $ttranks[0],$ttranks[0],$ttranks[1],$ttranks[2],$ttranks[3],$ttranks[4],tt_rank;
- setarray $ttnames$[13],strcharinfo(0);
+ setarray $ttnames$[13],strcharinfo(PC_NAME);
mes "[Guide]";
mes "Congratulations!";
mes "You've ranked Fifth";
@@ -2219,16 +2219,16 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
donpcevent "Turbo Track Guide::OnNew_Top5";
if (tt_rank == 29999) {
if ($ttnames$[7] == "Breezy Havana") {
- $ttnames$[7] = strcharinfo(0);
+ $ttnames$[7] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce "" + strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce "" + strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
else if ($ttnames$[8] == "RS125") {
- $ttnames$[8] = strcharinfo(0);
+ $ttnames$[8] = strcharinfo(PC_NAME);
mes "You've secured your place in";
mes "the Turbo Track Hall of Honor!";
- announce strcharinfo(0) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
+ announce strcharinfo(PC_NAME) + " has joined the Turbo Track Hall of Honor!",bc_all,"FF0000";
}
}
}
@@ -2241,7 +2241,7 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
next;
mes "[Guide]";
mes "What do you";
- mes "think, " + strcharinfo(0) +"?";
+ mes "think, " + strcharinfo(PC_NAME) +"?";
mes "Glory can be yours if";
mes "you can achieve victory!";
}
@@ -2257,7 +2257,7 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
end;
}
else {
- if ($ttnames$[7] == strcharinfo(0)) {
+ if ($ttnames$[7] == strcharinfo(PC_NAME)) {
if (compare(.@w$,"4")) {
mes "[Guide]";
mes "Oh wow!";
@@ -2279,14 +2279,14 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
mes "you any Turbo Track Points";
mes "since you would exceed the";
mes "maximum limit. Sorry,";
- mes strcharinfo(0) +"...";
+ mes strcharinfo(PC_NAME) +"...";
}
} else {
mes "Oh, I'm sorry! You're";
mes "here so that I can tell you";
mes "how many Turbo Track Points";
my_point = tt_point;
- mes "you have, right? You've got a total of " + my_point + " Turbo Track Points, "+ strcharinfo(0) +".";
+ mes "you have, right? You've got a total of " + my_point + " Turbo Track Points, "+ strcharinfo(PC_NAME) +".";
}
next;
mes "[Guide]";
@@ -2298,7 +2298,7 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
warp "turbo_room",72,89;
end;
}
- else if ($ttnames$[8] == strcharinfo(0)) {
+ else if ($ttnames$[8] == strcharinfo(PC_NAME)) {
mes "[Guide]";
mes "Hey, aren't you";
mes "in our Hall of Honor?";
@@ -2327,7 +2327,7 @@ turbo_n_1,114,190,0 duplicate(Flasher#tt_main) Flasher_Exit_2#n1 WARPNPC,1,1
mes "Turbo Track Point total!";
mes "You've got a total of";
mes my_point + " Turbo Track points,";
- mes strcharinfo(0) + ".";
+ mes strcharinfo(PC_NAME) + ".";
}
next;
mes "[Guide]";
@@ -2600,7 +2600,7 @@ turbo_n_1,384,167,1 script Guide#TBT_n1 1_M_01,{
mes "you any Turbo Track Points";
mes "since you would exceed the";
mes "maximum limit. Sorry,";
- mes strcharinfo(0) +"...";
+ mes strcharinfo(PC_NAME) +"...";
}
next;
mes "[Guide]";
@@ -2639,7 +2639,7 @@ turbo_n_1,384,167,1 script Guide#TBT_n1 1_M_01,{
mes "you any Turbo Track Points";
mes "since you would exceed the";
mes "maximum limit. Sorry,";
- mes strcharinfo(0) +"...";
+ mes strcharinfo(PC_NAME) +"...";
}
next;
mes "[Guide]";
@@ -2658,9 +2658,9 @@ turbo_n_1,384,167,1 script Guide#TBT_n1 1_M_01,{
mes "You ranked as the";
mes "top player in Solo Mode!";
mes "Your name will be entered";
- mes "into our records, "+ strcharinfo(0) +"~";
+ mes "into our records, "+ strcharinfo(PC_NAME) +"~";
setarray $ttranks[0],.@record_time;
- setarray $ttnames$[0],strcharinfo(0);
+ setarray $ttnames$[0],strcharinfo(PC_NAME);
next;
if (tt_point < 28961) {
mes "[Guide]";
@@ -2678,7 +2678,7 @@ turbo_n_1,384,167,1 script Guide#TBT_n1 1_M_01,{
mes "you any Turbo Track Points";
mes "since you would exceed the";
mes "maximum limit. Sorry,";
- mes strcharinfo(0) +"...";
+ mes strcharinfo(PC_NAME) +"...";
}
next;
mes "[Guide]";
@@ -2782,7 +2782,7 @@ OnInit:
- script NMaker1#tt_main FAKE_NPC,{
OnTouch:
.@w$ = callfunc("F_tt");
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" is now entering the Small Cave! " + strcharinfo(0) +" is now in the lead!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" is now entering the Small Cave! " + strcharinfo(PC_NAME) +" is now in the lead!",bc_map,"0xFFFF00";
donpcevent "Turbo Track Guide::OnEnd_"+.@w$;
disablenpc "Notice_Maker1#TBT_"+.@w$;
end;
@@ -2803,7 +2803,7 @@ turbo_n_1,11,91,0 duplicate(NMaker1#tt_main) Notice_Maker1#TBT_n1 FAKE_NPC,3,3
- script NMaker3#tt_main FAKE_NPC,{
OnTouch:
.@w$ = callfunc("F_tt");
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" is now entering the Single Snail! " + strcharinfo(0) +" is now in the lead!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" is now entering the Single Snail! " + strcharinfo(PC_NAME) +" is now in the lead!",bc_map,"0xFFFF00";
disablenpc "Notice_Maker3#TBT_"+.@w$;
end;
@@ -2823,7 +2823,7 @@ turbo_n_1,234,223,0 duplicate(NMaker3#tt_main) Notice_Maker3#TBT_n1 FAKE_NPC,3,3
- script NMaker4#tt_main FAKE_NPC,{
OnTouch:
.@w$ = callfunc("F_tt");
- mapannounce strnpcinfo(NPC_MAP),strcharinfo(0) +" is currently in First Place!",bc_map,"0xFFFF00";
+ mapannounce strnpcinfo(NPC_MAP),strcharinfo(PC_NAME) +" is currently in First Place!",bc_map,"0xFFFF00";
disablenpc "Notice_Maker4#TBT_"+.@w$;
end;
@@ -4063,7 +4063,7 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
if (tt_point < 10) {
mes "[Item Exchange Helper]";
mes "Good day,";
- mes "" + strcharinfo(0) + ".";
+ mes "" + strcharinfo(PC_NAME) + ".";
mes "You've got a total of";
mes "" + tt_point + " Turbo Track Points.";
next;
@@ -4103,7 +4103,7 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
else {
mes "[Item Exchange Helper]";
mes "Good day,";
- mes "" + strcharinfo(0) + ".";
+ mes "" + strcharinfo(PC_NAME) + ".";
mes "You've got a total of";
mes "" + tt_point + " Turbo Track Points.";
mes "Would you like to exchange";
@@ -4474,14 +4474,14 @@ turbo_room,106,117,3 script Point Manager#tt 4_M_ZONDAOYAJI,{
switch(select("Check Points", "Convert Points", "^660000Conversion Info^000000")) {
case 1:
mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you currently have";
mes "" + tt_point + " Turbo Track Points";
mes "and " + arena_point + " Arena Points.";
close;
case 2:
mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you currently have";
mes "" + tt_point + " Turbo Track Points";
mes "and " + arena_point + " Arena Points.";
@@ -4552,7 +4552,7 @@ turbo_room,106,117,3 script Point Manager#tt 4_M_ZONDAOYAJI,{
tt_point = .@my_turbo_all;
next;
mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you now have";
mes "^00688B" + tt_point + "^000000 Turbo Track Points";
mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
@@ -4592,7 +4592,7 @@ S_ExchangePoints:
tt_point += getarg(2);
next;
mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you now have";
mes "^00688B" + tt_point + "^000000 Turbo Track Points";
mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt
index 60726edb5..e6ad187e5 100644
--- a/npc/pre-re/jobs/1-1/acolyte.txt
+++ b/npc/pre-re/jobs/1-1/acolyte.txt
@@ -106,7 +106,7 @@ prt_church,184,41,4 script Cleric#aco 1_M_PASTOR,{
next;
if (select("Yes Father, I do.", "Nope, I lied.") == 1) {
mes "[Father Mareusis]";
- mes "Good. I accept " + strcharinfo(0) + "'s will to become an Acolyte. You understand that you must do penance before you can become a servant of God, right?";
+ mes "Good. I accept " + strcharinfo(PC_NAME) + "'s will to become an Acolyte. You understand that you must do penance before you can become a servant of God, right?";
next;
mes "[Father Mareusis]";
mes "Well, I will";
@@ -269,7 +269,7 @@ prt_fild03,365,255,2 script Ascetic#aco 4_M_ORIENT02,{
mes "Oh...? You must be the one who aspires to become an Acolyte. I've already received news from the Sanctuary that you might be coming.";
next;
mes "[Father Rubalkabara]";
- mes "Now, your name was " + strcharinfo(0) + ", right? Excellent, thank you for visiting me.";
+ mes "Now, your name was " + strcharinfo(PC_NAME) + ", right? Excellent, thank you for visiting me.";
next;
mes "[Father Rubalkabara]";
mes "I believe you've been told much about Acolytes from Friar Mareusis. Plus, there's plenty of helpful people in the Prontera Sanctuary.";
@@ -297,7 +297,7 @@ prt_fild03,365,255,2 script Ascetic#aco 4_M_ORIENT02,{
mes "Let's see...";
next;
mes "[Father Rubalkabara]";
- mes "Your name is " + strcharinfo(0) + "?";
+ mes "Your name is " + strcharinfo(PC_NAME) + "?";
mes "I don't think your name";
mes "is on my list. Hmmm...";
next;
@@ -346,10 +346,10 @@ moc_fild07,41,355,4 script Ascetic#2aco 4_F_SISTER,{
mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you.";
next;
mes "[Mother Mathilda]";
- mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list.";
+ mes "What is your name? " + strcharinfo(PC_NAME) + "? Let's see... Ah, you're on my list.";
next;
mes "[Mother Mathilda]";
- mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(0) + " visited me and completed your penance.";
+ mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(PC_NAME) + " visited me and completed your penance.";
next;
mes "[Mother Mathilda]";
mes "Please return to the Prontera Sanctuary and speak to the Priest in charge.";
@@ -366,7 +366,7 @@ moc_fild07,41,355,4 script Ascetic#2aco 4_F_SISTER,{
next;
mes "[Mother Mathilda]";
mes "Now, what is your name?";
- mes "" + strcharinfo(0) + "? Let's see...";
+ mes "" + strcharinfo(PC_NAME) + "? Let's see...";
next;
mes "[Mother Mathilda]";
mes "Hmm...";
@@ -423,10 +423,10 @@ prt_fild00,208,218,6 script Ascetic#3aco 4W_M_02,{
mes "So what's your name?";
next;
mes "[Father Yosuke]";
- mes "" + strcharinfo(0) + ", huh?";
+ mes "" + strcharinfo(PC_NAME) + ", huh?";
next;
mes "[Father Yosuke]";
- mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(0) + ", came to visit me.";
+ mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(PC_NAME) + ", came to visit me.";
next;
mes "[Father Yosuke]";
mes "Now go back to the Santuary and finish becoming an Acolyte, kid.";
@@ -443,7 +443,7 @@ prt_fild00,208,218,6 script Ascetic#3aco 4W_M_02,{
mes "Not bad at all, you've made it all the way here from Prontera. So what's your name, kid?";
next;
mes "[Father Yosuke]";
- mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?";
+ mes "" + strcharinfo(PC_NAME) + ", huh? Why isn't your name on my list?";
next;
mes "[Father Yosuke]";
mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop.";
diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt
index 49616260a..fc8bf42c4 100644
--- a/npc/pre-re/jobs/1-1/archer.txt
+++ b/npc/pre-re/jobs/1-1/archer.txt
@@ -134,7 +134,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 4_M_03,{
close;
}
mes "[Archer Guildsman]";
- mes "Are you..." + strcharinfo(0) + "?";
+ mes "Are you..." + strcharinfo(PC_NAME) + "?";
next;
if (getskilllv("NV_BASIC") < 9) {
mes "[Archer Guildsman]";
diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt
index 4d41a22fd..47ae792fe 100644
--- a/npc/pre-re/jobs/1-1/mage.txt
+++ b/npc/pre-re/jobs/1-1/mage.txt
@@ -112,12 +112,12 @@ geffen_in,164,124,4 script Mage Guildsman 2_F_MAGICMASTER,{
next;
if (select("Sign Up.", "Quit.") == 1) {
mes "[Mage Guildsman]";
- mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + ".";
+ mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(PC_NAME) + ".";
next;
mes "[Mage Guildsman]";
mes "Now it's time for";
mes "me to give you the test.";
- switch(rand(3)) {
+ switch(rand(0,3)) {
case 1:
mes "Make me a ^3355FFMixed Solution No. 1^000000";
mes "and bring it back to me.";
@@ -159,7 +159,7 @@ geffen_in,164,124,4 script Mage Guildsman 2_F_MAGICMASTER,{
mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back.";
close;
}
- mes "" + strcharinfo(0) + "'s test was...";
+ mes "" + strcharinfo(PC_NAME) + "'s test was...";
if (job_magician_q == 1)
mes "Making Mixed Solution No. 1.";
else if (job_magician_q == 2)
@@ -220,9 +220,6 @@ geffen_in,164,124,4 script Mage Guildsman 2_F_MAGICMASTER,{
mes "Congratulations!";
mes "You are now a Mage!";
next;
- callfunc "Job_Change",Job_Mage;
- callfunc "F_ClearJobVar";
- Zeny += 50;
if (questprogress(1005)) {
completequest 1005;
}
@@ -235,6 +232,9 @@ geffen_in,164,124,4 script Mage Guildsman 2_F_MAGICMASTER,{
else {
completequest 1008;
}
+ callfunc "Job_Change",Job_Mage;
+ callfunc "F_ClearJobVar";
+ Zeny += 50;
mes "[Mage Guildsman]";
mes "'Welcome to My World~'";
mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~";
diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt
index 8319e6e30..1acad9ea3 100644
--- a/npc/pre-re/jobs/1-1/merchant.txt
+++ b/npc/pre-re/jobs/1-1/merchant.txt
@@ -106,7 +106,7 @@ alberta_in,53,43,6 script Merchant#mer 4_M_04,{
else if (job_merchant_q == 9) {
mes "[Chief Mahnsoo]";
mes "Hello there,";
- mes ""+ strcharinfo(0) +".";
+ mes ""+ strcharinfo(PC_NAME) +".";
job_merchant_q = 0;
job_merchant_q2 = 0;
quest_alb_01 = 0;
@@ -119,7 +119,7 @@ alberta_in,53,43,6 script Merchant#mer 4_M_04,{
else if (job_merchant_q == 8 || job_merchant_q == 7) {
mes "[Chief Mahnsoo]";
mes "Hello there,";
- mes ""+ strcharinfo(0) +".";
+ mes ""+ strcharinfo(PC_NAME) +".";
mes "I'm pleased to tell you";
mes "that I have good news!";
next;
@@ -335,7 +335,7 @@ alberta_in,53,43,6 script Merchant#mer 4_M_04,{
next;
mes "[Chief Mahnsoo]";
mes "Hmm... ";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "That's a nice name.";
next;
mes "[Chief Mahnsoo]";
@@ -543,7 +543,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
}
else if (job_merchant_q == 6 || job_merchant_q == 5) {
mes " [Union Staff Kay] ";
- mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(0) + "? Alright, your destination was...";
+ mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(PC_NAME) + "? Alright, your destination was...";
next;
mes "[Union Staff Kay]";
if (job_merchant_q2 == 1 || job_merchant_q2 == 2)
@@ -680,7 +680,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
mes "Alright.";
mes "So what's";
mes "your name?";
- mes "" + strcharinfo(0) + "...?";
+ mes "" + strcharinfo(PC_NAME) + "...?";
next;
if (job_merchant_q == 0) {
mes "[Union Staff Kay]";
diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt
index d3f230921..bedd7b622 100644
--- a/npc/pre-re/jobs/1-1/swordman.txt
+++ b/npc/pre-re/jobs/1-1/swordman.txt
@@ -319,7 +319,7 @@ job_sword1,230,204,2 script Test Hall Staff#2swd_3 8W_SOLDIER,{
callfunc "F_JobSwdStaff",1;
}
job_sword1,223,167,2 script Mae#swd_1_success 4_F_03,{
- mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". You successfully passed the test.",bc_map;
+ mapannounce "job_sword1","Applicant " + strcharinfo(PC_NAME) + ". You successfully passed the test.",bc_map;
job_sword_q = 4;
mes "[Mae]";
mes "I sencerely congratulate you for passing the test!";
@@ -342,7 +342,7 @@ function script F_JobSwdStaff {
mes "Do you surrender?";
next;
if (select("Yes.", "No.") == 1) {
- mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test.",bc_map;
+ mapannounce "job_sword1","Applicant " + strcharinfo(PC_NAME) + " quit the test.",bc_map;
warp "izlude_in",65,165;
end;
}
@@ -354,10 +354,10 @@ function script F_JobSwdStaff {
function script F_JobSwdTestStaff {
OnTouch:
mes "[Test Hall Staff]";
- mes "Applicant " + strcharinfo(0) + ". Do you surrender??";
+ mes "Applicant " + strcharinfo(PC_NAME) + ". Do you surrender??";
next;
if (select("Yes.", "No.") == 1) {
- mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test..",bc_map;
+ mapannounce "job_sword1","Applicant " + strcharinfo(PC_NAME) + " quit the test..",bc_map;
warp "izlude_in",65,165;
end;
}
@@ -367,7 +367,7 @@ OnTouch:
function script F_JobSwdTestStaff2 {
OnTouch:
- mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". Pass the "+getarg(0)+" course.",bc_map;
+ mapannounce "job_sword1","Applicant " + strcharinfo(PC_NAME) + ". Pass the "+getarg(0)+" course.",bc_map;
warp "job_sword1",getarg(1),getarg(2);
end;
}
diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt
index c36c0eeda..a99c4700f 100644
--- a/npc/pre-re/jobs/1-1/thief.txt
+++ b/npc/pre-re/jobs/1-1/thief.txt
@@ -265,8 +265,8 @@ moc_prydb1,39,129,2 script Thief Guide 1_F_04,{
mes "me your name.";
next;
mes "[Thief Guide]";
- mes "" + strcharinfo(0) + "?";
- mes "What kind of name is " + strcharinfo(0) + "? Anyway, give me a second.";
+ mes "" + strcharinfo(PC_NAME) + "?";
+ mes "What kind of name is " + strcharinfo(PC_NAME) + "? Anyway, give me a second.";
job_thief_q = 1;
next;
mes "[Thief Guide]";
@@ -301,7 +301,7 @@ moc_prydb1,39,129,2 script Thief Guide 1_F_04,{
}
mes "[Thief Guide]";
mes "Your name is...";
- mes strcharinfo(0) + "? Um, where is it? Ah, here it is. Let's see...";
+ mes strcharinfo(PC_NAME) + "? Um, where is it? Ah, here it is. Let's see...";
next;
mes "[Thief Guide]";
if (getskilllv("NV_BASIC") < 9) {
@@ -440,7 +440,7 @@ moc_prydb1,42,133,2 script Comrade 2_M_THIEFMASTER,{
}
next;
mes "[Comrade]";
- mes strcharinfo(0) + "...";
+ mes strcharinfo(PC_NAME) + "...";
mes "You have passed the official Thief Test. You are now one of us.";
if (countitem(Mushroom_Of_Thief_1) != 0) delitem Mushroom_Of_Thief_1,countitem(Mushroom_Of_Thief_1);
if (countitem(Mushroom_Of_Thief_2) != 0) delitem Mushroom_Of_Thief_2,countitem(Mushroom_Of_Thief_2);
@@ -517,7 +517,7 @@ moc_ruins,141,125,3 script Mr. Irrelevant 4_M_01,{
mes "You've come to take the test, right? I can see in your eyes that you know something.";
next;
mes "[Mr. Irrelevant]";
- mes "Your name is " + strcharinfo(0) + "? Ah, it's on the list. Alright, I'll let you into the Mushroom Farm , but I can't guarantee your safety...";
+ mes "Your name is " + strcharinfo(PC_NAME) + "? Ah, it's on the list. Alright, I'll let you into the Mushroom Farm , but I can't guarantee your safety...";
close2;
job_thief_q = 3;
switch(rand(5)) {
diff --git a/npc/pre-re/jobs/1-1e/taekwon.txt b/npc/pre-re/jobs/1-1e/taekwon.txt
index 3e9814dee..e97cb204d 100644
--- a/npc/pre-re/jobs/1-1e/taekwon.txt
+++ b/npc/pre-re/jobs/1-1e/taekwon.txt
@@ -28,7 +28,7 @@
//================= Description ===========================================
//= Official TaeKwon Job Change Quest
//================= Current Version =======================================
-//= 1.0
+//= 1.0.1
//=========================================================================
-payon,157,141,5 duplicate(Pheonix) Phoenix#TKJobChangePRE 4_M_MONK
+payon,157,141,5 duplicate(TKJobChange) Phoenix#TKJobChangePRE 4_M_MONK
diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt
index afea49143..ab7714c41 100644
--- a/npc/pre-re/jobs/novice/novice.txt
+++ b/npc/pre-re/jobs/novice/novice.txt
@@ -83,7 +83,7 @@ new_1-2,100,29,4 script Receptionist#nv1 4_M_04,{
mes "What is your name?";
next;
input .@charname$;
- if (.@charname$!=strcharinfo(0)) {
+ if (.@charname$!=strcharinfo(PC_NAME)) {
mes "[Training Grounds Receptionist]";
mes "Sorry, but I don't think I heard";
mes "you correctly";
@@ -287,7 +287,7 @@ new_1-1,53,114,4 script Shion#nv1 4_F_JOB_HUNTER,{
mes "[Shion]";
mes "Let's see.";
mes "Your name is...";
- mes "" + strcharinfo(0) + ".";
+ mes "" + strcharinfo(PC_NAME) + ".";
next;
mes "[Shion]";
mes "My name is Shion.";
@@ -404,7 +404,7 @@ new_1-2,99,105,3 script Interfaces Tutor#nv1 4_M_CRU,{
next;
if (NEW_MES_FLAG0) {
mes "[Kris]";
- mes "Ah, " + strcharinfo(0) + ", you've applied for an old training course that we no longer provide for our trainees. Let me issue a new proof of registration for you.";
+ mes "Ah, " + strcharinfo(PC_NAME) + ", you've applied for an old training course that we no longer provide for our trainees. Let me issue a new proof of registration for you.";
NEW_MES_FLAG0 = 0;
NEW_MES_FLAG1 = 0;
NEW_MES_FLAG2 = 0;
@@ -424,7 +424,7 @@ new_1-2,99,105,3 script Interfaces Tutor#nv1 4_M_CRU,{
mes "interfaces.";
next;
mes "[Kris]";
- mes strcharinfo(0)+".";
+ mes strcharinfo(PC_NAME)+".";
mes "would you like to learn";
mes "more about interface";
mes "fundamentals?";
@@ -696,7 +696,7 @@ new_1-2,83,111,3 script Skill Tutor#nv 4_M_MONK,{
}
if (nov_get_item03 < 10) {
mes "[Cecil]";
- mes ""+strcharinfo(0)+"";
+ mes ""+strcharinfo(PC_NAME)+"";
mes "Heh, I like your name!";
if (NEW_MES_FLAG0) {
mes "By the way, your proof of registration has expired, so let me give you a new one.";
@@ -2755,7 +2755,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
if (nov_3_swordman == 20) {
mes "[Hanson]";
mes "Good day,";
- mes "^A62A2A" + strcharinfo(0) + "'^000000.";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "'^000000.";
mes "You've made quite";
mes "an effort to come here.";
next;
@@ -3291,7 +3291,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
close2;
nov_1st_cos = 0;
@@ -3365,7 +3365,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
next;
mes "[Hanson]";
mes "You'll now be teleported.";
- mes "Good luck, ^A62A2A" + strcharinfo(0) + "^000000 and farewell.";
+ mes "Good luck, ^A62A2A" + strcharinfo(PC_NAME) + "^000000 and farewell.";
close2;
nov_1st_cos = 0;
nov_2nd_cos = 0;
@@ -3435,7 +3435,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
close2;
nov_1st_cos = 0;
@@ -3511,7 +3511,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
close2;
savepoint "morocc",150,99;
@@ -3572,7 +3572,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
close2;
nov_1st_cos = 0;
@@ -3644,7 +3644,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
close2;
nov_1st_cos = 0;
@@ -3678,7 +3678,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
mes "Lastly...";
mes "I hope you will";
mes "become a nice player,";
- mes ""+ strcharinfo(0) +".";
+ mes ""+ strcharinfo(PC_NAME) +".";
mes "Fare well.";
next;
nov_3_swordman = 40;
@@ -3771,7 +3771,7 @@ new_1-4,100,29,1 script Hanson#nv 1_ETC_01,{
else {
mes "[Hanson]";
mes "Hello, you";
- mes "must be "+ strcharinfo(0) +".";
+ mes "must be "+ strcharinfo(PC_NAME) +".";
next;
mes "[Hanson]";
mes "I am Hanson,";
@@ -3878,7 +3878,7 @@ S_UserJobchoice:
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A" + strcharinfo(0) + "^000000";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "^000000";
mes "and farewell.";
next;
nov_1st_cos = 0;
@@ -4067,7 +4067,7 @@ new_1-4,91,22,4 script Bruce#nv 1_M_LIBRARYMASTER,{
next;
mes "[Bruce]";
mes "Hello there,";
- mes "^A62A2A" + strcharinfo(0) + "'^000000,";
+ mes "^A62A2A" + strcharinfo(PC_NAME) + "'^000000,";
mes "pleased to meet you.";
mes "I am Bruce of the";
mes "Rune-Midgarts Kingdom.";
diff --git a/npc/pre-re/quests/collection/quest_goat.txt b/npc/pre-re/quests/collection/quest_goat.txt
index 9f2b7525e..e09fd90c0 100644
--- a/npc/pre-re/quests/collection/quest_goat.txt
+++ b/npc/pre-re/quests/collection/quest_goat.txt
@@ -188,11 +188,11 @@ ein_fild06,82,171,0 script Vegetable Farmer#Goat 4_F_SHABBY,{
close;
}
*/
- if (countitem(Goat's_Horn) > 49) {
+ if (countitem(Goats_Horn) > 49) {
mes "[Vegetable Farmer]";
mes "Amazing, you did that with speed.";
mes "I am truly grateful.";
- delitem Goat's_Horn,50;
+ delitem Goats_Horn,50;
getexp 258489,155155;
//getitem White_Potion,10;
close;
diff --git a/npc/pre-re/scripts_jobs.conf b/npc/pre-re/scripts_jobs.conf
index 139f9de48..14dc97eee 100644
--- a/npc/pre-re/scripts_jobs.conf
+++ b/npc/pre-re/scripts_jobs.conf
@@ -36,6 +36,8 @@
"npc/pre-re/jobs/1-1/merchant.txt",
"npc/pre-re/jobs/1-1/swordman.txt",
"npc/pre-re/jobs/1-1/thief.txt",
+// - 1-1 Expanded
+"npc/pre-re/jobs/1-1e/taekwon.txt",
// - Novice
"npc/pre-re/jobs/novice/novice.txt",
diff --git a/npc/quests/bard_quest.txt b/npc/quests/bard_quest.txt
index 7545d24e7..0c46a9ab6 100644
--- a/npc/quests/bard_quest.txt
+++ b/npc/quests/bard_quest.txt
@@ -40,7 +40,7 @@
geffen,132,38,3 script Bard#2 1_M_BARD,{
if (BARD_Q > 5) gef_bard_q = BARD_Q;
- @name$ = strcharinfo(0);
+ @name$ = strcharinfo(PC_NAME);
if (gef_bard_q > 29) {
cutin "bard_eland02",2;
mes "[Errende]";
@@ -1376,7 +1376,7 @@ S_StorySong:
}
morocc,134,111,3 script Bard#3 2_M_BARD_ORIENT,{
- @name$ = strcharinfo(0);
+ @name$ = strcharinfo(PC_NAME);
if (gef_bard_q == 31) {
mes "[Kino Kitty]";
mes "Everything will be";
@@ -2192,7 +2192,7 @@ yuno_in01,172,100,3 script Old Man#bq1 4_M_05,{
}
yuno_in01,163,101,0 script Old Book#bq HIDDEN_NPC,{
- @name$ = strcharinfo(0);
+ @name$ = strcharinfo(PC_NAME);
if ((gef_bard_q > 11) && (gef_bard_q < 14)) {
if (!rand(5)) {
mes "^3355FFYou opened the book. There's a crisp brittleness to the pages, and the letters are faded and barely readable. You can't even identify the author's name.^000000";
@@ -2462,7 +2462,7 @@ yuno_in01,173,92,0 script Apple of Idun HIDDEN_NPC,{
}
payon,181,172,3 script Bard#4 1_M_BARD,{
- @name$ = strcharinfo(0);
+ @name$ = strcharinfo(PC_NAME);
if (gef_bard_q == 2 || gef_bard_q == 22) {
mes "[Gunther Doubleharmony]";
mes "Hahaha~!";
@@ -2908,7 +2908,7 @@ yuno_in04,33,119,3 script Adventurer#1 4_M_ROGUE,{
mes "Hello there~";
mes "My name is Pane.";
mes "May I ask yours?";
- @name$ = strcharinfo(0);
+ @name$ = strcharinfo(PC_NAME);
input .@inputstr$;
next;
mes "[Energetic Young Man]";
diff --git a/npc/quests/cooking_quest.txt b/npc/quests/cooking_quest.txt
index b1fb24982..3b97f60ee 100644
--- a/npc/quests/cooking_quest.txt
+++ b/npc/quests/cooking_quest.txt
@@ -429,7 +429,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
goto L_End;
}
else if (cooking_q == 1) {
- if (countitem(Grasshopper's_Leg) > 4 && countitem(Old_Frying_Pan) > 0 && countitem(Cooking_Oil) > 0) {
+ if (countitem(Grasshoppers_Leg) > 4 && countitem(Old_Frying_Pan) > 0 && countitem(Cooking_Oil) > 0) {
cutin "orleans_4",0;
emotion e_an;
mes "[Charles Orleans]";
@@ -462,7 +462,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "know this recipe now. That's";
mes "all for today, so please go";
mes "and practice on your own now.";
- delitem Grasshopper's_Leg,5;
+ delitem Grasshoppers_Leg,5;
delitem Old_Frying_Pan,1;
delitem Cooking_Oil,1;
cooking_q = 7;
@@ -2226,7 +2226,7 @@ payon,209,127,3 script Servant 4_M_ORIENT01,{
case 3:
if (countitem(Food_Package) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, Madeleine";
mes "sent me here to find";
mes "you. She said that you'd";
@@ -2308,14 +2308,14 @@ payon,209,127,3 script Servant 4_M_ORIENT01,{
mes "I should apologize to Sir Charles. ";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, Madeleine";
mes "sent me here to find";
mes "you. She said that you'd";
mes "be willing to taste test";
mes "the food in this bundle...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, wait...";
mes "I don't have it!";
mes "Where did I put";
diff --git a/npc/quests/dandelion_request.txt b/npc/quests/dandelion_request.txt
index c7add936e..2f73cf769 100644
--- a/npc/quests/dandelion_request.txt
+++ b/npc/quests/dandelion_request.txt
@@ -67,7 +67,7 @@ izlude,103,106,3 script Guildsman#1 1_M_02,3,3,{
if ((BaseJob == Job_Novice) || (BaseJob == Job_SuperNovice))
{
mes "[Guildsman]";
- mes "Excuse me? "+strcharinfo(0)+"?";
+ mes "Excuse me? "+strcharinfo(PC_NAME)+"?";
mes "Hi there, I've been waiting for";
mes "you to wander past me for such";
mes "a long time, you know that?";
@@ -102,7 +102,7 @@ izlude,103,106,3 script Guildsman#1 1_M_02,3,3,{
else if((BaseJob == Job_Swordman) || (BaseJob == Job_Swordman_High))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "!";
+ mes "Hey, " + strcharinfo(PC_NAME) + "!";
mes "Great, I knew you'd";
mes "show up sooner or later.";
mes "Listen, I'm working here";
@@ -116,7 +116,7 @@ izlude,103,106,3 script Guildsman#1 1_M_02,3,3,{
mes "Swordman Association has ever";
mes "been involved in. Pack your bags and head to Morroc right now!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "All the way to Morroc...?";
mes "Why, what's going on?";
next;
@@ -141,18 +141,18 @@ izlude,103,106,3 script Guildsman#1 1_M_02,3,3,{
else if((Class == Job_Knight) || (Class == Job_Lord_Knight))
{
mes "[Guildsman]";
- mes "" + strcharinfo(0) +"...?";
+ mes "" + strcharinfo(PC_NAME) +"...?";
mes "I knew you'd show up if";
mes "Listen, I have a notice for";
mes "you from the Prontera Chivalry.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "For me? That sounds";
mes "strange, but would you";
mes "please read it to me?";
next;
mes "[Guildsman]";
- mes "''RE: "+ strcharinfo(0) +"";
+ mes "''RE: "+ strcharinfo(PC_NAME) +"";
mes "As leader of the Prontera";
mes "Chivalry, I formally request";
mes "you to represent the Knights of";
@@ -182,13 +182,13 @@ izlude,103,106,3 script Guildsman#1 1_M_02,3,3,{
{
mes "[Guildsman]";
mes "Excuse me...?";
- mes ""+strcharinfo(0)+"...?";
+ mes ""+strcharinfo(PC_NAME)+"...?";
mes "I'm sorry to bother you, but";
mes "I've got an urgent communique";
mes "for you from Sir Michael Halig";
mes "of the Crusaders...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They usually don't";
mes "send messages. I guess";
mes "whatever he has to say";
@@ -315,7 +315,7 @@ OnTouch:
if ((BaseJob == Job_Novice) || (BaseJob == Job_SuperNovice))
{
mes "[Guildsman]";
- mes "Excuse me? "+strcharinfo(0)+"?";
+ mes "Excuse me? "+strcharinfo(PC_NAME)+"?";
mes "Hi there, I've been waiting for";
mes "you to wander past me for such";
mes "a long time, you know that?";
@@ -350,7 +350,7 @@ OnTouch:
else if((BaseJob == Job_Swordman) || (BaseJob == Job_Swordman_High))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "!";
+ mes "Hey, " + strcharinfo(PC_NAME) + "!";
mes "Great, I knew you'd";
mes "show up sooner or later.";
mes "Listen, I'm working here";
@@ -364,7 +364,7 @@ OnTouch:
mes "Swordman Association has ever";
mes "been involved in. Pack your bags and head to Morroc right now!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "All the way to Morroc...?";
mes "Why, what's going on?";
next;
@@ -389,18 +389,18 @@ OnTouch:
else if((Class == Job_Knight) || (Class == Job_Lord_Knight))
{
mes "[Guildsman]";
- mes "" + strcharinfo(0) +"...?";
+ mes "" + strcharinfo(PC_NAME) +"...?";
mes "I knew you'd show up if";
mes "Listen, I have a notice for";
mes "you from the Prontera Chivalry.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "For me? That sounds";
mes "strange, but would you";
mes "please read it to me?";
next;
mes "[Guildsman]";
- mes "''RE: "+ strcharinfo(0) +"";
+ mes "''RE: "+ strcharinfo(PC_NAME) +"";
mes "As leader of the Prontera";
mes "Chivalry, I formally request";
mes "you to represent the Knights of";
@@ -430,13 +430,13 @@ OnTouch:
{
mes "[Guildsman]";
mes "Excuse me...?";
- mes ""+strcharinfo(0)+"...?";
+ mes ""+strcharinfo(PC_NAME)+"...?";
mes "I'm sorry to bother you, but";
mes "I've got an urgent communique";
mes "for you from Sir Michael Halig";
mes "of the Crusaders...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They usually don't";
mes "send messages. I guess";
mes "whatever he has to say";
@@ -507,7 +507,7 @@ prontera,237,313,3 script Nun#moc 1_F_PRIEST,3,3,{
if(!mao_request)
{
mes "[Nun]";
- mes "Oh, " + strcharinfo(0) + "!";
+ mes "Oh, " + strcharinfo(PC_NAME) + "!";
mes "It must be an act of";
mes "divine providence that";
mes "we finally meet. Actually,";
@@ -613,7 +613,7 @@ OnTouch:
if(BaseClass == Job_Acolyte)
{
mes "[Nun]";
- mes "Oh, " + strcharinfo(0) + "!";
+ mes "Oh, " + strcharinfo(PC_NAME) + "!";
mes "It must be an act of";
mes "divine providence that";
mes "we finally meet. Actually,";
@@ -707,7 +707,7 @@ alberta,129,59,3 script Guildsman#2 1_M_03,3,3,{
mes "my freaking body! Look,";
mes "just gimme a little control!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I... I can sense two";
mes "different souls within";
mes "your body. I don't mind";
@@ -761,7 +761,7 @@ alberta,129,59,3 script Guildsman#2 1_M_03,3,3,{
{
mes "[Guildsman]";
mes "Well, if it isn't";
- mes ""+ strcharinfo(0) +". Hey,";
+ mes ""+ strcharinfo(PC_NAME) +". Hey,";
mes "would you wait a minute?";
mes "I've got a message for you";
mes "from the Merchant Guild.";
@@ -788,7 +788,7 @@ alberta,129,59,3 script Guildsman#2 1_M_03,3,3,{
else if((Class == Job_Blacksmith) || (Class == Job_Whitesmith))
{
mes "[Guildsman]";
- mes "Oh, "+ strcharinfo(0) +"...!";
+ mes "Oh, "+ strcharinfo(PC_NAME) +"...!";
mes "I'm so glad that I finally";
mes "ran into you. I know this is";
mes "sudden, but the Blacksmith";
@@ -816,7 +816,7 @@ alberta,129,59,3 script Guildsman#2 1_M_03,3,3,{
else if((Class == Job_Alchemist) || (Class == Job_Creator))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "?";
+ mes "Hey, " + strcharinfo(PC_NAME) + "?";
mes "I've got a message for";
mes "you from the Alchemist";
mes "Guild. Well, they're more";
@@ -1047,7 +1047,7 @@ OnTouch:
mes "my freaking body! Look,";
mes "just gimme a little control!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I... I can sense two";
mes "different souls within";
mes "your body. I don't mind";
@@ -1101,7 +1101,7 @@ OnTouch:
{
mes "[Guildsman]";
mes "Well, if it isn't";
- mes ""+ strcharinfo(0) +". Hey,";
+ mes ""+ strcharinfo(PC_NAME) +". Hey,";
mes "would you wait a minute?";
mes "I've got a message for you";
mes "from the Merchant Guild.";
@@ -1128,7 +1128,7 @@ OnTouch:
else if((Class == Job_Blacksmith) || (Class == Job_Whitesmith))
{
mes "[Guildsman]";
- mes "Oh, "+ strcharinfo(0) +"...!";
+ mes "Oh, "+ strcharinfo(PC_NAME) +"...!";
mes "I'm so glad that I finally";
mes "ran into you. I know this is";
mes "sudden, but the Blacksmith";
@@ -1156,7 +1156,7 @@ OnTouch:
else if((Class == Job_Alchemist) || (Class == Job_Creator))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "?";
+ mes "Hey, " + strcharinfo(PC_NAME) + "?";
mes "I've got a message for";
mes "you from the Alchemist";
mes "Guild. Well, they're more";
@@ -1239,7 +1239,7 @@ geffen,123,109,3 script Academy Staff 2_M_SAGE_B,3,3,{
mes "involving missing children...";
next;
mes "[Academy Staff]";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "I'd like you to represent";
mes "the magic community by";
mes "assisting the Assassins";
@@ -1331,7 +1331,7 @@ OnTouch:
mes "involving missing children...";
next;
mes "[Academy Staff]";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "I'd like you to represent";
mes "the magic community by";
mes "assisting the Assassins";
@@ -1405,7 +1405,7 @@ morocc,155,56,3 script Miya 4_F_04,3,3,{
mes "He wrote this letter for you.";
next;
mes "[Miya]";
- mes "Listen, "+ strcharinfo(0) +"...";
+ mes "Listen, "+ strcharinfo(PC_NAME) +"...";
mes "He's asking you to help";
mes "the Assassin Guild on a";
mes "special mission. I think";
@@ -1425,7 +1425,7 @@ morocc,155,56,3 script Miya 4_F_04,3,3,{
else if((BaseJob == Job_Thief) || (BaseJob == Job_Thief_High) || (Class == Job_Rogue) || (Class == Job_Stalker))
{
mes "[Miya]";
- mes "Hey, " + strcharinfo(0) + ",";
+ mes "Hey, " + strcharinfo(PC_NAME) + ",";
mes "I've got some important";
mes "work for you. The Assassin";
mes "Guild actually asked the Thief";
@@ -1445,12 +1445,12 @@ morocc,155,56,3 script Miya 4_F_04,3,3,{
else if((Class == Job_Assassin) || (Class == Job_Assassin_Cross))
{
mes "[Miya]";
- mes "" + strcharinfo(0) + "!";
+ mes "" + strcharinfo(PC_NAME) + "!";
mes "The Assassin Guild Master";
mes "wants you right away. Do you";
mes "know where the secret pub is?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, h-hi, Miya,";
mes "it's been a while.";
mes "What secret pub?";
@@ -1570,7 +1570,7 @@ OnTouch:
mes "He wrote this letter for you.";
next;
mes "[Miya]";
- mes "Listen, "+ strcharinfo(0) +"...";
+ mes "Listen, "+ strcharinfo(PC_NAME) +"...";
mes "He's asking you to help";
mes "the Assassin Guild on a";
mes "special mission. I think";
@@ -1590,7 +1590,7 @@ OnTouch:
else if((BaseJob == Job_Thief) || (BaseJob == Job_Thief_High) || (Class == Job_Rogue) || (Class == Job_Stalker))
{
mes "[Miya]";
- mes "Hey, " + strcharinfo(0) + ",";
+ mes "Hey, " + strcharinfo(PC_NAME) + ",";
mes "I've got some important";
mes "work for you. The Assassin";
mes "Guild actually asked the Thief";
@@ -1610,12 +1610,12 @@ OnTouch:
else if((Class == Job_Assassin) || (Class == Job_Assassin_Cross))
{
mes "[Miya]";
- mes "" + strcharinfo(0) + "!";
+ mes "" + strcharinfo(PC_NAME) + "!";
mes "The Assassin Guild Master";
mes "wants you right away. Do you";
mes "know where the secret pub is?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, h-hi, Miya,";
mes "it's been a while.";
mes "What secret pub?";
@@ -1684,7 +1684,7 @@ payon,231,323,3 script Guildsman#3 1_M_ORIENT01,3,3,{
mes "Another practitioner";
mes "of Taekwon Do! You're...";
mes "Let's see... You must";
- mes "be " + strcharinfo(0) + ", yes?";
+ mes "be " + strcharinfo(PC_NAME) + ", yes?";
next;
mes "[Guildsman]";
mes "Mr. Phoenix has charged";
@@ -1713,7 +1713,7 @@ payon,231,323,3 script Guildsman#3 1_M_ORIENT01,3,3,{
else if((BaseJob == Job_Archer) || (BaseJob == Job_Archer_High) || (Class == Job_Hunter) || (Class == Job_Sniper))
{
mes "[Guildsman]";
- mes "" + strcharinfo(0) + "...?";
+ mes "" + strcharinfo(PC_NAME) + "...?";
mes "Oh, wow, I'm so lucky to";
mes "have finally found you!";
mes "Listen, I've got a message";
@@ -1741,13 +1741,13 @@ payon,231,323,3 script Guildsman#3 1_M_ORIENT01,3,3,{
else if((Class == Job_Bard) || (Class == Job_Clown))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "!";
+ mes "Hey, " + strcharinfo(PC_NAME) + "!";
mes "I've been looking all over";
mes "for you! I've got a message";
mes "for you from Lalo. You...";
mes "You remember him, right?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Sure, I do! I owe";
mes "Lalo so much... If it";
mes "weren't for him, I'd never";
@@ -1778,11 +1778,11 @@ payon,231,323,3 script Guildsman#3 1_M_ORIENT01,3,3,{
mes "[Guildsman]";
mes "Hey... Th-That face!";
mes "Just like Aile described!";
- mes "You're " + strcharinfo(0) + ", right?";
+ mes "You're " + strcharinfo(PC_NAME) + ", right?";
mes "This is great, I've been";
mes "looking all over for you!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aile? Oh, that's right,";
mes "she was there during my";
mes "job change test and helped";
@@ -1957,7 +1957,7 @@ OnTouch:
mes "Another practitioner";
mes "of Taekwon Do! You're...";
mes "Let's see... You must";
- mes "be " + strcharinfo(0) + ", yes?";
+ mes "be " + strcharinfo(PC_NAME) + ", yes?";
next;
mes "[Guildsman]";
mes "Mr. Phoenix has charged";
@@ -1986,7 +1986,7 @@ OnTouch:
else if((BaseJob == Job_Archer) || (BaseJob == Job_Archer_High) || (Class == Job_Hunter) || (Class == Job_Sniper))
{
mes "[Guildsman]";
- mes "" + strcharinfo(0) + "...?";
+ mes "" + strcharinfo(PC_NAME) + "...?";
mes "Oh, wow, I'm so lucky to";
mes "have finally found you!";
mes "Listen, I've got a message";
@@ -2014,13 +2014,13 @@ OnTouch:
else if((Class == Job_Bard) || (Class == Job_Clown))
{
mes "[Guildsman]";
- mes "Hey, " + strcharinfo(0) + "!";
+ mes "Hey, " + strcharinfo(PC_NAME) + "!";
mes "I've been looking all over";
mes "for you! I've got a message";
mes "for you from Lalo. You...";
mes "You remember him, right?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Sure, I do! I owe";
mes "Lalo so much... If it";
mes "weren't for him, I'd never";
@@ -2051,11 +2051,11 @@ OnTouch:
mes "[Guildsman]";
mes "Hey... Th-That face!";
mes "Just like Aile described!";
- mes "You're " + strcharinfo(0) + ", right?";
+ mes "You're " + strcharinfo(PC_NAME) + ", right?";
mes "This is great, I've been";
mes "looking all over for you!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aile? Oh, that's right,";
mes "she was there during my";
mes "job change test and helped";
@@ -2283,7 +2283,7 @@ OnTouch:
next;
if(prt_curse == 24)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I, um, I'm looking";
mes "for somebody named";
mes "Marjana? I learned";
@@ -2860,7 +2860,7 @@ OnTouch:
{
if(mao_request == 121)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can't go back to";
mes "Lin yet... I still need";
mes "to fully investigate";
@@ -2897,7 +2897,7 @@ OnTouch:
if(mao_request > 102 && mao_request < 122)
{
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, R! It's me!";
mes "Would you please";
mes "open the door?";
@@ -3213,7 +3213,7 @@ que_job01,16,21,5 script Valdes#1 1_M_JOBTESTER,{
mes "Considering all the unknowns,";
mes "we did surprisingly well.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "W-wait; a minute...";
mes "Are you saying we stopped";
mes "Satan Morroc's revival, but";
@@ -3226,7 +3226,7 @@ que_job01,16,21,5 script Valdes#1 1_M_JOBTESTER,{
mes "that confusion.";
cutin "mocseal_rin01.bmp",2;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "L-Lin...?";
next;
mes "[Lin]";
@@ -3262,7 +3262,7 @@ que_job01,16,21,5 script Valdes#1 1_M_JOBTESTER,{
next;
cutin "mocseal_rin01.bmp",255;
donpcevent "Lin#1::OnInit";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She seems upset....";
next;
mes "[Valdes]";
@@ -3368,7 +3368,7 @@ que_job01,16,21,5 script Valdes#1 1_M_JOBTESTER,{
mes "I should have caught him,";
mes "but he had help. I failed you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lin...";
next;
mes "[Kidd]";
@@ -3440,7 +3440,7 @@ que_job01,16,21,5 script Valdes#1 1_M_JOBTESTER,{
mes "[Lin]";
mes "Valdes...";
mes "I'm leaving now.";
- mes "Wish me luck, "+ strcharinfo(0) +".";
+ mes "Wish me luck, "+ strcharinfo(PC_NAME) +".";
next;
cutin "mocseal_rin01.bmp",255;
donpcevent "Lin#1::OnInit";
@@ -3585,7 +3585,7 @@ que_job01,19,18,3 script Lin#1 4_F_ACROSS,{
mes "I hear that";
mes "Kidd saved you.";
mes "...............................";
- mes "Sorry, "+ strcharinfo(0) +"...";
+ mes "Sorry, "+ strcharinfo(PC_NAME) +"...";
mes "I l-let you down...";
next;
mes "^3355FFLin seems extremely";
@@ -3634,13 +3634,13 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "for the Juno Library...";
cutin "mocseal_dan01.bmp",0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but";
mes "what are you guys";
mes "talking about...?";
next;
mes "[Lin]";
- mes "Ah, this is "+ strcharinfo(0) +",";
+ mes "Ah, this is "+ strcharinfo(PC_NAME) +",";
mes "my partner for this assignment.";
if (Sex == SEX_MALE)
mes "Don't worry, you can trust him.";
@@ -3664,7 +3664,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
}
else if(mao_request == 104)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um...";
mes "What was that?";
mes "Mr. R just took out";
@@ -3709,7 +3709,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
switch( select( "Wait!","Won't they attack again?" ) )
{
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait! It's too risky!";
mes "What if Mr. R is attacked";
mes "again? I mean, isn't that";
@@ -3725,7 +3725,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "find his research documents.";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Won't they attack";
mes "again? Shouldn't both";
mes "of us guard Mr. R here?";
@@ -3738,7 +3738,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "doing all that we can to save";
mes "those missing children.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I think you're right.";
mes "But I think we should";
mes "see if that's alright";
@@ -3768,7 +3768,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "you. This place is also shielded";
mes "with security magic, so you'll";
mes "be just fine. Now, as for you,";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
next;
mes "[Lin]";
mes "Your priority is to go";
@@ -3821,7 +3821,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "find Yunia? Wait a sec,";
mes "did you bring the documents?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Uh oh...";
mes "I guess I better";
mes "go back and talk";
@@ -3932,13 +3932,13 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
next;
cutin "mocseal_dan01.bmp",0;
mes "[R. Moore]";
- mes "Say, " + strcharinfo(0) + ",";
+ mes "Say, " + strcharinfo(PC_NAME) + ",";
mes "were you about to leave?";
mes "I had another reques--";
next;
cutin "mocseal_rin01.bmp",2;
mes "[Lin]";
- mes "I'm sending "+ strcharinfo(0) +"";
+ mes "I'm sending "+ strcharinfo(PC_NAME) +"";
mes "on a snack errand and it won't";
if (Sex == SEX_MALE)
mes "take too long. Did you want him";
@@ -3955,7 +3955,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
next;
cutin "mocseal_rin01.bmp",2;
mes "[Lin]";
- mes "Well, "+ strcharinfo(0) +",";
+ mes "Well, "+ strcharinfo(PC_NAME) +",";
mes "you heard the ^A9A9A9GO^000000 man.";
mes "^A9A9A9TO^000000 Come back ^A9A9A9THE^000000 as soon";
mes "as ^A9A9A9HISTORIAN^000000 can, ^A9A9A9NOW^000000 alright?";
@@ -3986,7 +3986,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
}
else if(mao_request == 117)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I'm back...";
next;
cutin "mocseal_rin01.bmp",2;
@@ -3998,7 +3998,7 @@ que_job01,84,17,3 script Lin#2-1 4_F_ACROSS,{
mes "^A9A9A9THE^000000 get me a glass of, um...";
mes "^A9A9A9STAIRS^000000 Vermilion on the Beach?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Snack? Um... That's";
mes "more of a drink, isn't it?";
mes "But if that's what you want,";
@@ -4182,13 +4182,13 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
mes "for the Juno Library...";
cutin "mocseal_dan01.bmp",0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but";
mes "what are you guys";
mes "talking about...?";
next;
mes "[Lin]";
- mes "Ah, this is "+ strcharinfo(0) +",";
+ mes "Ah, this is "+ strcharinfo(PC_NAME) +",";
mes "my partner for this assignment.";
if (Sex == SEX_MALE)
mes "Don't worry, you can trust him.";
@@ -4261,7 +4261,7 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
}
else if(mao_request == 107)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "These are the documents";
mes "that I received from Yunia.";
mes "Is this what you needed?";
@@ -4421,7 +4421,7 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
mes "true, I suppose...";
next;
cutin "mocseal_dan01.bmp",255;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I guess I'll go out";
mes "and try to activate those";
mes "other elemental crests";
@@ -4445,7 +4445,7 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
next;
mes "[R. Moore]";
mes "Oh nothing...";
- mes "Just giving " + strcharinfo(0) + "";
+ mes "Just giving " + strcharinfo(PC_NAME) + "";
mes "due credit. That's all.";
close2;
}
@@ -4465,7 +4465,7 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
mes "talk to you alone. It's";
mes "a very urgent issue that";
mes "I need to discuss here";
- mes "with "+ strcharinfo(0) +".";
+ mes "with "+ strcharinfo(PC_NAME) +".";
next;
cutin "mocseal_dan01.bmp",0;
mes "[R. Moore]";
@@ -4504,7 +4504,7 @@ que_job01,79,15,1 script R 4_M_MASKMAN,{
mes "^A9A9A9THE^000000 get me a glass of, um...";
mes "^A9A9A9STAIRS^000000 Vermilion on the Beach?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Snack? Um... That's";
mes "more of a drink, isn't it?";
mes "But if that's what you want,";
@@ -4805,7 +4805,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
}
else if(mao_request == 4)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^333333Kidd? What...";
mes "What is he doing";
mes "with that pendant?^000000)";
@@ -4905,7 +4905,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
}
else if(mao_request == 9)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So...";
mes "How should we go";
mes "about investigating the";
@@ -4958,7 +4958,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "the south part of Morroc.";
mes "It was full of Earth magic...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Really? I actually found the";
mes "Wind elemental crest west";
mes "of Morroc. Do you think this";
@@ -5057,7 +5057,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "Well, you know.";
mes "In my usual way...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I just came back";
mes "from stabilizing those";
mes "elemental crests. Wait,";
@@ -5084,7 +5084,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "visit our historian?";
mes "He, um, refused to see me...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What...?!";
mes "Why would he do";
mes "something like that?";
@@ -5099,7 +5099,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
next;
if (Class == Job_Assassin || Class == Job_Assassin_Cross)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait a second.";
mes "I'm an Assassin too!";
next;
@@ -5110,7 +5110,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "You know, wear one of";
mes "those cute hats or whatever.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright, alright.";
mes "I'll try talking";
mes "to him for you...";
@@ -5119,7 +5119,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
}
else
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright, alright.";
mes "I'll try talking";
mes "to him for you...";
@@ -5153,7 +5153,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "So were you able to";
mes "talk to the historian?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Say, what's that";
mes "you're drinking?";
next;
@@ -5192,7 +5192,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "did you figure out why";
mes "he didn't wanna talk to me?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, that? I never got to";
mes "speak to the historian, but";
mes "I did talk to his assistant.";
@@ -5208,14 +5208,14 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "hardcore, huh? Damn babies...";
mes "So what else did you learn?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, those elemental crests";
mes "are supposed to protect some";
mes "seal beneath Morroc Castle";
mes "that keeps this monster, Satan";
mes "Morroc, from invading our world. It might be just a legend, but...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The assistant told me that";
mes "Thanatos Tower was actually";
mes "a place originally used by";
@@ -5229,7 +5229,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "this have to do with";
mes "the missing children?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well... Let's say that";
mes "Raiyan Moore's goal is to";
mes "revive Satan Morroc, if it";
@@ -5304,14 +5304,14 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
case 1:
if(thana_quest > 1)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I found some old log";
mes "entries about Satan Morroc.";
mes "They pretty much confirm that";
mes "Satan Morroc is real, and that";
mes "it's sealed under Morroc Castle. ";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The Rekenber Corporation";
mes "is also responsible for the";
mes "tower's reconstruction, and";
@@ -5381,7 +5381,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
mes "you find any trace of Raiyan";
mes "Moore over at Thanatos Tower?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Not at all. I've been";
mes "asking around, but haven't";
mes "been able to get any clue as";
@@ -5430,7 +5430,7 @@ que_job01,91,83,3 script Kidd#hall 4_M_ACROSS,{
cutin "mocseal_kid01.bmp",2;
mes "[Kidd]";
mes "What, Lin's client?!";
- mes "Wait, "+ strcharinfo(0) +", do you recall";
+ mes "Wait, "+ strcharinfo(PC_NAME) +", do you recall";
mes "what Lin's assignent was?";
next;
switch( select( "Well, um...","Bodyguard, right?" ) )
@@ -5796,7 +5796,7 @@ que_job01,89,85,5 script Dandelion Member 4_M_MASKMAN,{
mes "Well, you know.";
mes "In my usual way...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I just came back";
mes "from stabilizing those";
mes "elemental crests. Wait,";
@@ -5854,7 +5854,7 @@ que_job01,89,85,5 script Dandelion Member 4_M_MASKMAN,{
mes "were gone, I've been helping";
mes "myself to some of these drinks~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Say, what's that";
mes "you're drinking?";
next;
@@ -6045,7 +6045,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
if (mao_request == 5)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but may I ask";
mes "you a question? I'm hoping";
mes "that you might be able to";
@@ -6076,7 +6076,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
mes "heads or tails out of whatever";
mes "he's been studying, though...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Great, when was the";
mes "last time you've seen";
mes "him? You see, we're";
@@ -6139,7 +6139,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
}
else if(mao_request == 6)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I was wondering if";
mes "I could look through";
mes "that Mr. Moore was studying...";
@@ -6158,7 +6158,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
mes "she quickly vanished before";
mes "I could ask her for her name or Mr. Moore's contact information.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Damn! That information";
mes "would have been really";
mes "helpful! (^333333I better not let";
@@ -6187,7 +6187,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
}
else if(mao_request == 105)
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but I'm";
mes "looking for a Ms. Yunia?";
next;
@@ -6206,7 +6206,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
mes "strange men attacked him";
mes "right here in Juno Library!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, he's perfectly safe.";
mes "We've got a professional to";
mes "ensure nothing happens to him.";
@@ -6263,7 +6263,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
mes "quickly to make sure that";
mes "I gave you the right ones.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see here...";
mes "Some of these sentences";
mes "are underlined... Ah, and here";
@@ -6277,7 +6277,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
mes "monster was sealed, and a";
mes "castle and town was built over^FFFFFF ^4d4dff its prison. This place is Morroc.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Whoa, that's actually";
mes "pretty interesting. But";
mes "I need to do my job first.";
@@ -6295,7 +6295,7 @@ yuno_in04,180,106,3 script Reading Girl 1_F_MERCHANT_01,{
}
else
{
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me...";
mes "But what are";
mes "you reading?";
@@ -6339,7 +6339,7 @@ yuno_in04,175,129,0 script Workbook#mao HIDDEN_NPC,{
mes "Apparently, this was ripped";
mes "from Moore's journal.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nuts...";
mes "I came all the";
mes "way to Juno to look";
@@ -6355,7 +6355,7 @@ yuno_in04,175,129,0 script Workbook#mao HIDDEN_NPC,{
mes "look! Don't throw it away yet!";
donpcevent "Kidd#book::OnEnter";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Holy--!";
mes "You just came";
mes "out of nowhere!";
@@ -6367,7 +6367,7 @@ yuno_in04,175,129,0 script Workbook#mao HIDDEN_NPC,{
mes "both take a careful look at";
mes "this paper from Moore's desk.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...Morroc...";
mes "Were summoned...";
mes "Through the tower...?";
@@ -6489,7 +6489,7 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
mes "about this assignment.";
donpcevent "Lin#stairs::OnEnter";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Waaa-!";
mes "You came out";
mes "of nowhere!";
@@ -6548,7 +6548,7 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
mes "We need to know how they're";
mes "linked to the missing kids.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I guess since he hasn't";
mes "met me yet, maybe he'll";
mes "talk to me. Alright, I'll do it. ";
@@ -6567,7 +6567,7 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
else if(mao_request == 117)
{
cutin "mocseal_rin01.bmp",2;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "L-Lin...?";
mes "You there?";
donpcevent "Lin#stairs::OnEnter";
@@ -6578,14 +6578,14 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
mes "to find that historian?";
mes "What exactly did you learn?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I was only able to";
mes "speak to the historian's";
mes "asssistant. Let's see...";
mes "I found out about the";
mes "origin of this city's name...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Thanatos Tower was used";
mes "by Morroc Satan to summon";
mes "his own monsters into our";
@@ -6601,7 +6601,7 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
mes "some reason. Hm. What else";
mes "did you manage to learn?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, Satan Morroc, if it";
mes "exists, might be able to";
mes "come back into our world";
@@ -6637,14 +6637,14 @@ que_job01,8,77,1 script #linstairs HIDDEN_WARP_NPC,3,3,{
mes "about Thanatos Tower?";
donpcevent "Lin#stairs::OnEnter";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I found some old log";
mes "entries about Satan Morroc.";
mes "They pretty much confirm that";
mes "Satan Morroc is real, and that";
mes "it's sealed under Morroc Castle. ";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The Rekenber Corporation";
mes "is also responsible for the";
mes "tower's reconstruction, and";
@@ -6720,7 +6720,7 @@ moc_fild10,281,148,1 script Upturned Spot#water HIDDEN_NPC,{
delitem 996,1;
mao_request = 15;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright...";
mes "Now I should look for";
mes "the crest hidden in the";
@@ -6765,7 +6765,7 @@ moc_fild10,281,148,1 script Upturned Spot#water HIDDEN_NPC,{
delitem 995,1;
mao_request = 114;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright...";
mes "Now I should look for";
mes "the crest hidden in the";
@@ -6803,7 +6803,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mes "you can feel the wind blowing";
mes "strongly against your skin.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This must be what";
mes "Raiyan Moore is so";
mes "interested in. Well,";
@@ -6821,7 +6821,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mes "you can feel the wind blowing";
mes "strongly against your skin.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Great, now that I found";
mes "this, I really need to tell";
mes "Kidd about it. Hopefully, he";
@@ -6839,7 +6839,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mes "you can feel the wind blowing";
mes "strongly against your skin.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay, the power of the";
mes "Earth counteracts the ";
mes "Wind. I'll just pull out this";
@@ -6860,7 +6860,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
delitem 997,1;
mao_request = 13;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Great, now that I'm done";
mes "with this crest, I need to";
mes "find the next one. Let's see,";
@@ -6877,7 +6877,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mes "you can feel the wind blowing";
mes "strongly against your skin.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wind, wind, wind...";
mes "What do I use to counteract";
mes "the Wind property? It was...";
@@ -6885,7 +6885,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
switch( select( "Fire","Ice","Wind","Earth" ) )
{
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Fire...? No, that's...";
mes "Wind and Fire sort of";
mes "go together, don't they?";
@@ -6893,7 +6893,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ice...? No...";
mes "The power of Wind, of";
mes "lightning, supercedes";
@@ -6902,7 +6902,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I got it...!";
mes "I'll fight Wind";
mes "with Wind! No...";
@@ -6911,7 +6911,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Earth...?";
mes "That's it! I need a";
mes "Great Nature to use";
@@ -6939,7 +6939,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mes "the Wind. However, the air";
mes "flow around it seems weak.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This must be what I'm looking";
mes "for. It looks like an artifact of the Wind element, but the wind";
mes "around here isn't as strong as it should be. I think I might need";
@@ -6952,7 +6952,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
if (countitem(Rough_Wind))
{
cutin "mocseal_wind02.bmp",2;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see...";
mes "Hopefully this";
mes "Rough Wind will do";
@@ -6969,7 +6969,7 @@ moc_fild19,21,33,1 script Unturned Spot#wind HIDDEN_NPC,{
mao_request = 112;
next;
cutin "mocseal_wind01.bmp",2;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I guess that's that.";
mes "Now I need to talk to Lin";
mes "and figure out if there are";
@@ -7012,7 +7012,7 @@ moc_fild12,280,36,1 script Unturned Spot#earth HIDDEN_NPC,{
mes "the power of the Earth.^000000";
cutin "mocseal_earth01.bmp",2;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see...";
mes "I should use this";
mes "Flame Heart to";
@@ -7036,7 +7036,7 @@ moc_fild12,280,36,1 script Unturned Spot#earth HIDDEN_NPC,{
delitem 994,1;
mao_request = 14;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That was simple.";
mes "Alright, now I should";
mes "try to find the crest";
@@ -7087,7 +7087,7 @@ moc_fild12,280,36,1 script Unturned Spot#earth HIDDEN_NPC,{
delitem 997,1;
mao_request = 113;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Great, I think that actually";
mes "worked! Now, I should try";
mes "to find the crest hidden to";
@@ -7097,7 +7097,7 @@ moc_fild12,280,36,1 script Unturned Spot#earth HIDDEN_NPC,{
}
else
{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The next time that";
mes "I come here, I better";
mes "have a Great Nature ready...";
@@ -7126,7 +7126,7 @@ moc_fild07,192,166,1 script Unturned Spot#fire HIDDEN_NPC,{
mes "crest that symbolizes Fire.^000000";
cutin "mocseal_fire01.bmp",2;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This crest must be";
mes "imbued with the Fire";
mes "element. I better see";
@@ -7150,7 +7150,7 @@ moc_fild07,192,166,1 script Unturned Spot#fire HIDDEN_NPC,{
delitem 995,1;
mao_request = 16;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It looks like my work";
mes "here is done. Now, I better";
mes "go back and report to Kidd.";
@@ -7194,7 +7194,7 @@ moc_fild07,192,166,1 script Unturned Spot#fire HIDDEN_NPC,{
delitem 994,1;
mao_request = 115;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, that's the";
mes "last elemental crest.";
mes "Now I better go back";
@@ -7547,7 +7547,7 @@ OnTouch:
mes "This is getting";
mes "too serious. Valdes,";
mes "wait, I'm coming with you!";
- mes ""+ strcharinfo(0) +", come on, quickly!";
+ mes ""+ strcharinfo(PC_NAME) +", come on, quickly!";
mao_request = 25;
close2;
donpcevent "Kidd#2::OnInit";
@@ -7585,7 +7585,7 @@ OnTouch:
mes "Raiyan Moore... It's too";
mes "much of a coincidence...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lin! I'm sorry to";
mes "interrupt, but Mr. R";
mes "is missing... I don't";
@@ -7603,7 +7603,7 @@ OnTouch:
mes "This is what";
mes "I feared the most...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What's...";
mes "What's going on?";
mapannounce "que_job01","...We... need... blood... of... innocence...",1,0x7B68EE;
@@ -7658,7 +7658,7 @@ OnTouch:
mes "^333333...........No........";
mes "This.........can't...^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh?! That sounds";
mes "like Lin's voice...";
mes "Where are they?";
@@ -7705,7 +7705,7 @@ OnTouch:
mes "My head feels like";
mes "it's gonna split open!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What...";
mes "What's happening?";
mapannounce "que_job01","...We... need... holier... blood... the ritual...",1,0x7B68EE;
@@ -7717,7 +7717,7 @@ OnTouch:
mes "Lin?! What happened to her?";
next;
mes "[Valdes]";
- mes ""+ strcharinfo(0) +", I'm going";
+ mes ""+ strcharinfo(PC_NAME) +", I'm going";
mes "to call every member of the";
mes "Assassin Guild. You and Kidd";
mes "go try to find the source of";
@@ -7899,7 +7899,7 @@ OnTouch:
mes "echoes in your head as you";
mes "wake up in some strage place.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "What is this place?";
mes "Arrgh, my head hurts,";
@@ -7907,7 +7907,7 @@ OnTouch:
mes "Satan Morroc's revival...";
mapannounce "que_job02","...Blood... is the currency... of the soul...",1,0x7B68EE;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There's that voice";
mes "again! Kidd? Valdes?";
mes "Are any of you here?";
@@ -7953,7 +7953,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What's going on?";
mes "Who's there? Kidd?";
mes "Valdes? Anybody?";
@@ -8007,7 +8007,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...I keep hearing";
mes "things! Where the hell";
mes "is it all coming from?!";
@@ -8061,7 +8061,7 @@ OnTouch:
mes "............";
mapannounce "que_job02","...Moooore... Give me... more blood...",1,0xDDA0DD;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "These voices...";
mes "They're like past";
mes "memories of something";
@@ -8171,7 +8171,7 @@ OnTouch:
mes "............";
mapannounce "que_job02","...Morroc Satan... needs... fresher blood...",1,0x7B68EE;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I can't...";
mes "I can't endure";
mes "listening to this";
@@ -8225,7 +8225,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Where is that voice";
mes "coming from? Wait...";
mes "That's... That's happening";
@@ -8340,7 +8340,7 @@ que_job02,66,85,5 script Dandelion Member#1_bt 4_M_MASKMAN,{
mes "Hey... Are";
mes "you alright?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Thanks...";
mes "I think you just";
mes "saved my life. What's";
@@ -8354,7 +8354,7 @@ que_job02,66,85,5 script Dandelion Member#1_bt 4_M_MASKMAN,{
mes "surprised if Satan Morroc was";
mes "almost unsealed by now...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait...";
mes "What about Kidd?";
mes "Where did he go?";
@@ -8438,7 +8438,7 @@ OnEnter:
OnTouch:
donpcevent "#maogate1_setting::OnStop";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, what's going";
mes "on here? Kidd! Lin?";
mes "A-and who's that guy?";
@@ -8447,7 +8447,7 @@ OnTouch:
next;
cutin "mocseal_kid01.bmp",0;
mes "[Kidd]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "Stay back and don't come";
mes "near me! Lin, why are you";
mes "doing this! Give up your";
@@ -8513,7 +8513,7 @@ OnTouch:
donpcevent "Lin#maogate1_2::OnEnter";
donpcevent "#maogate1_end2::OnSpell";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Kidd! Lin!";
next;
mes "[Lin]";
@@ -8546,7 +8546,7 @@ OnTouch:
monster "que_job02",135,105,"Mummy",1041,1,"#maogate1_end::OnMyMobDead";
monster "que_job02",132,105,"Mummy",1041,1,"#maogate1_end::OnMyMobDead";
monster "que_job02",128,105,"Mummy",1041,1,"#maogate1_end::OnMyMobDead";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Bastard, what";
mes "are you doing?";
mes "Holy crap, m-monsters!";
@@ -8751,7 +8751,7 @@ OnTouch:
{
cutin "mocseal_kid01.bmp",2;
mes "[Kidd]";
- mes "" + strcharinfo(0) + "!";
+ mes "" + strcharinfo(PC_NAME) + "!";
mes "Hey, you alright?";
mes "Come on, let's head";
mes "back, the other members";
@@ -8882,7 +8882,7 @@ OnTouch:
mes "echoes in your head as you";
mes "wake up in some strage place.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "What is this place?";
mes "Arrgh, my head hurts,";
@@ -8890,7 +8890,7 @@ OnTouch:
mes "Satan Morroc's revival...";
mapannounce "que_job03","...Blood... is the currency... of the soul...",1,0x7B68EE;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There's that voice";
mes "again! Kidd? Valdes?";
mes "Are any of you here?";
@@ -8936,7 +8936,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What's going on?";
mes "Who's there? Kidd?";
mes "Valdes? Anybody?";
@@ -8990,7 +8990,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...I keep hearing";
mes "things! Where the hell";
mes "is it all coming from?!";
@@ -9044,7 +9044,7 @@ OnTouch:
mes "............";
mapannounce "que_job03","...Moooore... Give me... more blood...",1,0xDDA0DD;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "These voices...";
mes "They're like past";
mes "memories of something";
@@ -9154,7 +9154,7 @@ OnTouch:
mes "............";
mapannounce "que_job03","...Morroc Satan... needs... fresher blood...",1,0x7B68EE;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I can't...";
mes "I can't endure";
mes "listening to this";
@@ -9208,7 +9208,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Where is that voice";
mes "coming from? Wait...";
mes "That's... That's happening";
@@ -9324,7 +9324,7 @@ que_job03,66,85,5 script Dandelion Member#2_bt 4_M_MASKMAN,{
mes "That was a pretty huge";
mes "explosion just now!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Mr. R...?";
mes "Oh. You're not him.";
mes "Thanks, I think you";
@@ -9347,7 +9347,7 @@ que_job03,66,85,5 script Dandelion Member#2_bt 4_M_MASKMAN,{
mes "him. It turns out that we were";
mes "right about Moore: he's really planning to revive Satan Morroc.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? What are you";
mes "talking about? Wait,";
mes "Raiyan Moore? Do you";
@@ -9366,7 +9366,7 @@ que_job03,66,85,5 script Dandelion Member#2_bt 4_M_MASKMAN,{
mes "This is all insane!";
emotion e_gasp,0;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "That's... That's Lin's";
mes "voice! I better walk";
mes "through this darkness";
@@ -9431,7 +9431,7 @@ OnEnter:
OnTouch:
donpcevent "#maogate2_setting::OnStop";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, what's going";
mes "on here? Kidd! Lin?";
mes "A-and who's that guy?";
@@ -9440,7 +9440,7 @@ OnTouch:
next;
cutin "mocseal_kid01.bmp",0;
mes "[Kidd]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "Stay back and don't come";
mes "near me! Lin, why are you";
mes "doing this! Give up your";
@@ -9506,7 +9506,7 @@ OnTouch:
donpcevent "Lin#maogate2_2::OnEnter";
donpcevent "#maogate2_end2::OnSpell";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Kidd! Lin!";
next;
mes "[Lin]";
@@ -9539,7 +9539,7 @@ OnTouch:
monster "que_job03",135,105,"Mummy",1041,1,"#maogate2_end::OnMyMobDead";
monster "que_job03",132,105,"Mummy",1041,1,"#maogate2_end::OnMyMobDead";
monster "que_job03",128,105,"Mummy",1041,1,"#maogate2_end::OnMyMobDead";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Bastard, what";
mes "are you doing?";
mes "Holy crap, m-monsters!";
@@ -9745,7 +9745,7 @@ OnTouch:
{
cutin "mocseal_kid01.bmp",2;
mes "[Kidd]";
- mes "" + strcharinfo(0) + "...!";
+ mes "" + strcharinfo(PC_NAME) + "...!";
mes "Can you hear me? Oh man...";
mes "You don't look so hot. Come";
mes "on, we gotta get you back";
@@ -9804,7 +9804,7 @@ morocc,30,29,5 script Member#mao1 4_M_MASKMAN,10,15,{
mes "save for tomorrow's";
mes "meeting. I'll see you then.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is this some";
mes "sort of volunteer";
mes "service group?";
@@ -9887,7 +9887,7 @@ morocc,29,26,0 script Member#mao2 4_M_MASKMAN,{
mes "save for tomorrow's";
mes "meeting. I'll see you then.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is this some";
mes "sort of volunteer";
mes "service group?";
@@ -9924,7 +9924,7 @@ morocc,33,27,1 script Member#mao3 4_M_MASKMAN,{
mes "save for tomorrow's";
mes "meeting. I'll see you then.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is this some";
mes "sort of volunteer";
mes "service group?";
@@ -9961,7 +9961,7 @@ morocc,34,30,3 script Member#mao4 4_M_MASKMAN,{
mes "save for tomorrow's";
mes "meeting. I'll see you then.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is this some";
mes "sort of volunteer";
mes "service group?";
@@ -10218,7 +10218,7 @@ que_job01,68,88,5 script Simon#mao 4_M_SITDOWN,{
mes "Shut up! Shut up!";
mes "Come back to us!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have no idea what's";
mes "going on, but it seems";
mes "pretty bad. Sometimes it's";
diff --git a/npc/quests/doomed_swords.txt b/npc/quests/doomed_swords.txt
index 63fdccf16..7b0911f37 100644
--- a/npc/quests/doomed_swords.txt
+++ b/npc/quests/doomed_swords.txt
@@ -723,7 +723,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "Mysteltainn twig used to kill Baldur. Hurry and bring it...";
close;
}
- if (countitem(Loki's_Whispers) < 1) {
+ if (countitem(Lokis_Whispers) < 1) {
mes "[Mysterious Blacksmith]";
mes "Hm. You forgot to bring";
mes "^0099FF1 Loki's Whispers^000000. We need";
@@ -732,7 +732,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "find that as quickly as you can! ";
close;
}
- if (countitem(Mother's_Nightmare) < 1) {
+ if (countitem(Mothers_Nightmare) < 1) {
mes "[Mysterious Blacksmith]";
mes "Hm, you still need to";
mes "bring ^0099FF1 Mother's Nightmare^000000";
@@ -758,7 +758,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "of wielding it. Bring ^0099FF1 Emperium^000000 and I will recognize your worth.";
close;
}
- if (countitem(Young_Twig) > 0 && countitem(Loki's_Whispers) > 0 && countitem(Mother's_Nightmare) > 0 && countitem(Foolishness_Of_Blind) > 0 && countitem(Emperium) > 0) {
+ if (countitem(Young_Twig) > 0 && countitem(Lokis_Whispers) > 0 && countitem(Mothers_Nightmare) > 0 && countitem(Foolishness_Of_Blind) > 0 && countitem(Emperium) > 0) {
mes "[Mysterious Blacksmith]";
mes "Well done, adventurer.";
mes "All seems to be in readiness.";
@@ -773,8 +773,8 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "quickly! I d-don't want";
mes "to touch it if I can avoid it.";
delitem Young_Twig,1;
- delitem Loki's_Whispers,1;
- delitem Mother's_Nightmare,1;
+ delitem Lokis_Whispers,1;
+ delitem Mothers_Nightmare,1;
delitem Foolishness_Of_Blind,1;
delitem Emperium,1;
getitem Mysteltainn_,1;
@@ -1058,7 +1058,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "prepared to wield that blade";
mes "with your own two hands...";
next;
- if (countitem(Executioner's_Mitten) < 2) {
+ if (countitem(Executioners_Mitten) < 2) {
mes "[Mysterious Blacksmith]";
mes "Hm. In order for me";
mes "to forge the Executioner,";
@@ -1105,7 +1105,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "if you bring ^0099FF1 Emperium^000000.";
close;
}
- if (countitem(Executioner's_Mitten) > 1 && countitem(Bloody_Edge) > 9 && countitem(Frozen_Heart) > 2 && countitem(Amulet) > 49 && countitem(Emperium) > 0) {
+ if (countitem(Executioners_Mitten) > 1 && countitem(Bloody_Edge) > 9 && countitem(Frozen_Heart) > 2 && countitem(Amulet) > 49 && countitem(Emperium) > 0) {
mes "[Mysterious Blacksmith]";
mes "Great, I see that you've";
mes "prepared everything that";
@@ -1120,7 +1120,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 4_M_ORIENT02,{
mes "terrifying sword. Now";
mes "take it! Be wary, and don't";
mes "let its bloodlust consume you!";
- delitem Executioner's_Mitten,2;
+ delitem Executioners_Mitten,2;
delitem Bloody_Edge,10;
delitem Frozen_Heart,3;
delitem Amulet,50;
diff --git a/npc/quests/doomed_swords_quest.txt b/npc/quests/doomed_swords_quest.txt
index 38611acd8..2f8ac43c1 100644
--- a/npc/quests/doomed_swords_quest.txt
+++ b/npc/quests/doomed_swords_quest.txt
@@ -49,7 +49,7 @@ mjolnir_02,186,193,4 script Middle-Aged Man#magum1 1_M_LIBRARYMASTER,{
mes "receive visitors. Why don't";
mes "you relax and chat for a while?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What are you doing out";
mes "here in this secluded";
mes "area? You don't have";
@@ -85,7 +85,7 @@ mjolnir_02,186,193,4 script Middle-Aged Man#magum1 1_M_LIBRARYMASTER,{
mes "the land, or are you";
mes "hunting monsters, or...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, um,";
mes "I was led here by";
mes "this thing. It's called";
@@ -375,7 +375,7 @@ payon,248,159,1 script Old Man#magum1 2_M_PHARMACIST,{
mes "Lemme alone so I can";
mes "drink in peace! ^333333*Urp*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, excuse me, but are";
mes "you Morf? I'm been sent";
mes "by your brother, Walker,";
@@ -390,7 +390,7 @@ payon,248,159,1 script Old Man#magum1 2_M_PHARMACIST,{
mes "A-and that's really the Seal";
mes "of Muriel you have there?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, the Seal!";
mes "Here, take a look";
mes "if you want. If it's";
@@ -426,7 +426,7 @@ payon,248,159,1 script Old Man#magum1 2_M_PHARMACIST,{
mes "people call sobriety. Ugh...";
mes "I can think clearly... Damn!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
mes "............";
@@ -519,7 +519,7 @@ payon,248,159,1 script Old Man#magum1 2_M_PHARMACIST,{
mes "*Rub-Rub-Rub-Rub*";
mes "*Rub Rub Rub Rub*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...";
mes "But is it almost done?";
next;
@@ -552,7 +552,7 @@ payon,248,159,1 script Old Man#magum1 2_M_PHARMACIST,{
mes "*Rub-Rub-Rub-Rub*";
mes "*Rub Rub Rub Rub*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "H-hey, when is this";
mes "thing going to be finished?";
mes "Isn't it about time already?";
@@ -822,7 +822,7 @@ morocc,248,159,4 script Young Man#magum1 4_M_04,{
mes "look like you have";
mes "a question for me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I'm looking for";
mes "somebody named Huey.";
mes "I hear he's the only one";
@@ -838,7 +838,7 @@ morocc,248,159,4 script Young Man#magum1 4_M_04,{
mes "of my brothers? I haven't heard";
mes "from them in quite a while.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I'm trying to";
mes "obtain a doomed sword.";
mes "To do that, I've already";
@@ -854,7 +854,7 @@ morocc,248,159,4 script Young Man#magum1 4_M_04,{
mes "let me see the pentagram? Oh,";
mes "my brothers did such good work!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, yes. Here.";
next;
mes "[Huey]";
@@ -896,7 +896,7 @@ morocc,248,159,4 script Young Man#magum1 4_M_04,{
close;
}
else if (dmdswrd_Q == 40) {
- if (countitem(Bloody_Edge) == 9 && countitem(Blade_Lost_In_Darkness) == 6 && countitem(Cardinal_Jewel) == 9 && countitem(Loki's_Whispers) == 1) {
+ if (countitem(Bloody_Edge) == 9 && countitem(Blade_Lost_In_Darkness) == 6 && countitem(Cardinal_Jewel) == 9 && countitem(Lokis_Whispers) == 1) {
mes "[Huey]";
mes "Oh, you're back. Did";
mes "you bring everything";
@@ -914,7 +914,7 @@ morocc,248,159,4 script Young Man#magum1 4_M_04,{
delitem Bloody_Edge,9;
delitem Blade_Lost_In_Darkness,6;
delitem Cardinal_Jewel,9;
- delitem Loki's_Whispers,1;
+ delitem Lokis_Whispers,1;
dmdswrd_Q = 41;
close;
}
diff --git a/npc/quests/eye_of_hellion.txt b/npc/quests/eye_of_hellion.txt
index d9c942b94..f785023fe 100644
--- a/npc/quests/eye_of_hellion.txt
+++ b/npc/quests/eye_of_hellion.txt
@@ -55,7 +55,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "Rune-Midgard and I've come";
mes "to see and know a lot of things. Power, jealously, hardship...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So what exactly";
mes "brings you here to";
mes "the middle of Morroc?";
@@ -395,7 +395,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "you now before you are";
mes "consumed by its darkness!";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
else if (HELLIONQ > 57 && HELLIONQ < 66) {
@@ -434,8 +434,8 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "for yourself?! I must smite";
mes "you now before you are";
mes "consumed by its darkness!";
- close;
- percentheal -100,0;
+ close2;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
else if (HELLIONQ == 67) {
@@ -465,7 +465,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "sort of pain from them.";
mes "Did something happen?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I learned the secret of";
mes "the Hellion's gem. It...";
mes "It turns people into";
@@ -477,7 +477,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "What...";
mes "What did you just say?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The tablet had a map that";
mes "let me to the chamber where";
mes "your grandfather locked himself";
@@ -485,7 +485,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "into the Hellion Revenant.";
mes "It was horrible...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "At the entrance, he";
mes "left a message that said";
mes "that he wanted to be killed.";
@@ -501,7 +501,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "Thank you for finally freeing";
mes "his soul and giving him peace.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here, I think you";
mes "should have this Eye";
mes "of Hellion, in case you";
@@ -706,7 +706,7 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
close;
}
else if (HELLIONQ == 36) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but are";
mes "you Clanux Heffron?";
next;
@@ -814,7 +814,7 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
HELLIONQ = 39;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Fine.";
mes "I don't need";
mes "your help!";
@@ -842,14 +842,14 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
mes "able to find anything?";
next;
if (select("Nothing...", "In fact, I found this.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333(This guy's a real punk!";
mes "I better not share any new";
mes "information I've found, just";
mes "in case he doesn't already";
mes "know about it.)^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I... I wasn't able to";
mes "find anything that looked";
mes "like a clue. I'm sorry, but";
@@ -963,7 +963,7 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
mes "new in the Tool Shop?";
next;
if (select("Pretend that nothing happened.", "Share what you learned.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nope...";
mes "I couldn't find any";
mes "new leads. I guess";
@@ -978,7 +978,7 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
mes "are you anyway, huh?";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I put that cogwheel";
mes "into that weird machine in";
mes "the Tool Shop and some kind";
@@ -1001,13 +1001,13 @@ prontera,269,326,3 script Clanux Heffron#hellion 1_M_04,{
mes "machine in the Tool Shop?";
next;
if (select("Tell him just a little bit.", "Don't tell him.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I put that cogwheel";
mes "into that weird machine in";
mes "the Tool Shop and some kind";
mes "of number pad came out. Then...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^333333(Wait, I can't trust this";
mes "guy!)^000000 I put in every single";
mes "password that I could think";
@@ -1062,7 +1062,7 @@ prontera,223,82,0 script #prt_key-1 HIDDEN_NPC,{
mes "that looks like it was made";
mes "by the thrust of a sharp sword.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Didn't Clanux mention that he";
mes "found a broken sword around";
mes "here? Maybe this was exactly";
@@ -1075,7 +1075,7 @@ prontera,223,82,0 script #prt_key-1 HIDDEN_NPC,{
mes "^4d4dff''Veggie Lady N9 W3 BINGO.''^000000";
HELLIONQ = 40;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What the heck does this";
mes "even mean? A Veggie Lady?";
mes "Does Clanux know anything";
@@ -1093,7 +1093,7 @@ prontera,223,82,0 script #prt_key-1 HIDDEN_NPC,{
prontera,45,67,0 script #prt_key-1-1 HIDDEN_NPC,1,1,{
OnTouch:
if (HELLIONQ == 40 || HELLIONQ == 41) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, according to the";
mes "message in that old training";
mes "dummy, this is where I'm";
@@ -1101,7 +1101,7 @@ OnTouch:
mes "north, 3 steps west. And now...";
mes "Veggie Lady. Okay, okay...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh. That's creepy.";
mes "There's one right there";
mes "staring at me. But after";
@@ -1111,7 +1111,7 @@ OnTouch:
next;
input .@input$;
if (.@input$ == "BINGO") {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Of course!";
mes "''BINGO!'' But";
mes "I don't see a hall";
@@ -1126,7 +1126,7 @@ OnTouch:
mes "password. Okay, here's";
mes "the code number you want...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "C-code number?";
mes "Wait, wh-what...?";
next;
@@ -1138,7 +1138,7 @@ OnTouch:
mes "didn't get it:^4D4DFF 3847147298^000000.";
mes "Don't forget it, adventurer.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait... What does";
mes "this all mean? Won't";
mes "you tell me more?";
@@ -1154,14 +1154,14 @@ OnTouch:
else if (HELLIONQ == 41)
HELLIONQ = 43;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Holy cow...";
mes "This is all";
mes "really cloak and";
mes "dagger type stuff!";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes ""+ .@input$ + "!";
mes "Hmmm. No, no that couldn't";
mes "be it. What in the world was that word and why can't I remember it";
@@ -1187,7 +1187,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
next;
if (countitem(Wheel) > 0) {
if (select("Insert Cogwheel.", "Ignore it.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I just know this";
mes "cogwheel will fit";
mes "into this machine!";
@@ -1204,7 +1204,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
delitem Wheel,1;
HELLIONQ = 44;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I guess that I've got";
mes "to input some kind of";
mes "numeric password...";
@@ -1244,12 +1244,12 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
mes "machine shuts down. You'll have to try entering the password again.";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh...";
mes "Forget it.";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Uh oh...";
mes "Where did I put";
mes "the cogwheel that";
@@ -1257,7 +1257,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
close;
}
else if (HELLIONQ == 44) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay, let me see";
mes "if I can enter the";
mes "right number this time...";
@@ -1289,7 +1289,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
getitem Piece_Of_Slate_1,1;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The machine responds to";
mes "the password with an abrupt,";
mes "screeching beep and the entire";
@@ -1327,7 +1327,7 @@ payon,182,132,3 script Grout'he Tuccok#hellion 1_M_02,{
mes "and staring at me like";
mes "this is your turf?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm sorry, but well...";
mes "Chilias'Tyus told me that";
mes "you might know something";
@@ -1498,7 +1498,7 @@ payon,182,132,3 script Grout'he Tuccok#hellion 1_M_02,{
mes "fish and green herbs, wine...";
mes "Huh. It doesn't make sense.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What...?";
mes "I could have";
mes "told you that!";
@@ -1622,7 +1622,7 @@ payon,182,132,3 script Grout'he Tuccok#hellion 1_M_02,{
payon,101,190,0 script #paypuzz1 FAKE_NPC,1,1,{
OnTouch:
if (HELLIONQ == 48) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, this is where";
mes "Grout'he told me to look.";
mes "Ooh, there's something";
@@ -1630,7 +1630,7 @@ OnTouch:
mes "let's see... ''This garment";
mes "is one size fits all.''";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That's it...?";
mes "Hopefully this will";
mes "make more sense once";
@@ -1643,13 +1643,13 @@ OnTouch:
payon,82,109,3 script Pile of Stone#paypuzz2 HIDDEN_NPC,{
if (HELLIONQ == 49) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, this is the place";
mes "that Grout'he told me about.";
mes "Let's see, there's an engraving";
mes "here that says, ''I used to pray for peaceful days here.'' Okay.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Man...";
mes "This better not be";
mes "one of those puzzles";
@@ -1663,7 +1663,7 @@ payon,82,109,3 script Pile of Stone#paypuzz2 HIDDEN_NPC,{
payon,239,56,3 script Dried Fish#paypuzz3 HIDDEN_NPC,{
if (HELLIONQ == 50) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So... Dried fish all";
mes "around me. This is getting";
mes "to be nonsense. Let's see,";
@@ -1671,7 +1671,7 @@ payon,239,56,3 script Dried Fish#paypuzz3 HIDDEN_NPC,{
mes "Herbs are very useful for";
mes "getting rid of fish smells.''";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I got it...!";
mes "Whoever made up";
mes "these clues must be";
@@ -1684,7 +1684,7 @@ payon,239,56,3 script Dried Fish#paypuzz3 HIDDEN_NPC,{
payon,240,160,3 script Vat#paypuzz4 HIDDEN_NPC,{
if (HELLIONQ == 51) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright, the last";
mes "place I have to check.";
mes "It's a big old vat with a";
@@ -1692,14 +1692,14 @@ payon,240,160,3 script Vat#paypuzz4 HIDDEN_NPC,{
mes "let me see, there should";
mes "be a message here too. Ah--!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This says, ''What will it be?";
mes "Wine or Grape Juice? Oh,";
mes "but I much prefer wine.'' Okay,";
mes "what does this have to do with";
mes "that Hellion's gem? Weird...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Am I missing something?";
mes "I think I really need help in";
mes "figuring this out. Hmm...";
@@ -1710,7 +1710,7 @@ payon,240,160,3 script Vat#paypuzz4 HIDDEN_NPC,{
payon,159,129,3 script Wooden Floor#paypuzz5 HIDDEN_NPC,{
if (HELLIONQ == 53) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, the floor around";
mes "here doesn't seem very";
mes "solid. Maybe there's";
@@ -1725,21 +1725,21 @@ payon,159,129,3 script Wooden Floor#paypuzz5 HIDDEN_NPC,{
mes "or a tablet piece.^000000";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh man, there's";
mes "so much dust! What";
mes "can I do about all of";
mes "this nasty dirt in the air?";
next;
if (countitem(Stone_Heart) > 0 && countitem(Grape_Juice) > 0 && countitem(Green_Herb) > 0 && countitem(Skirt_Of_Virgin) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, there are all these";
mes "clues Grout'he found. It sucks,";
mes "but I'll use this Grape Juice";
mes "to sort of keep this dust from";
mes "kicking up. And if I put my morals^FFFFFFa^000000 on hold, I'll cover my face...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...With this Skirt of Virgin.";
mes "Oh, and I can use this Stone";
mes "Heart to prop any floor boards";
@@ -1747,7 +1747,7 @@ payon,159,129,3 script Wooden Floor#paypuzz5 HIDDEN_NPC,{
mes "this floor. Oh hey! I found it!";
mes "It's... It's another clue!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, wait...";
mes "I can't read the";
mes "engraving on this";
@@ -1776,7 +1776,7 @@ payon,159,129,3 script Wooden Floor#paypuzz5 HIDDEN_NPC,{
HELLIONQ = 55;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where did I leave";
mes "all that stuff I got from";
mes "Grout'he? Let's see,";
@@ -1815,7 +1815,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
close;
}
if (HELLIONQ == 56) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, here's a huge";
mes "stone statue. This";
mes "must be what Grout'he";
@@ -1825,7 +1825,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
mes "^4d4dffYou must...";
mes "You must be...^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What the--?";
mes "There's a voice";
mes "inside my head!";
@@ -1853,7 +1853,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
mes "to your answer. However...";
mes "You have chosen poorly.";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
case 2:
mes "[Echoing Voice]";
@@ -1863,7 +1863,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
mes "where is the respect for your";
mes "own life? If you are that willing to throw it away, you are no hero.";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
case 3:
mes "[Echoing Voice]";
@@ -1889,7 +1889,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
mes "your own cowardice. You have";
mes "chosen extremely poorly...";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
}
diff --git a/npc/quests/first_class/tu_acolyte.txt b/npc/quests/first_class/tu_acolyte.txt
index 6a2c8f7f2..2762325cb 100644
--- a/npc/quests/first_class/tu_acolyte.txt
+++ b/npc/quests/first_class/tu_acolyte.txt
@@ -44,7 +44,7 @@ prt_church,179,15,1 script Priest Praupin 4_M_MINISTER,{
if(BaseJob != Job_Acolyte){
if(tu_acolyte01 == 25){
mes "Oh...!";
- mes "You're "+strcharinfo(0)+" !";
+ mes "You're "+strcharinfo(PC_NAME)+" !";
mes "You've grown so much!";
mes "I'm truly proud of you.";
} else {
@@ -230,7 +230,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
mes "the lessons?";
next;
mes "[Asthe]";
- mes ""+strcharinfo(0)+",";
+ mes ""+strcharinfo(PC_NAME)+",";
mes "have you thought about what kind of Acolyte you would like to become? It's very important that you plan for the future that you want.";
next;
if(select("One that supports others.", "One that punishes evil.")==1){
@@ -257,7 +257,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
next;
mes "[Asthe]";
mes "Now,";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "What do you think";
mes "is the most necessary";
mes "skill for an Acolyte?";
@@ -451,7 +451,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
tu_acolyte01 = 6;
close;
case 6:
- mes ""+strcharinfo(0)+",";
+ mes ""+strcharinfo(PC_NAME)+",";
mes "I just received this letter, but it seems to have been a mistake.";
mes "It's actually addressed";
mes "to Priest Gardron.";
@@ -893,7 +893,7 @@ monk_in,18,38,6 script Priest Gardron#tu 4_M_MINISTER,{
emotion e_gasp;
next;
mes "[Priest Gardron]";
- mes "May I entrust you, acolyte "+strcharinfo(0)+",";
+ mes "May I entrust you, acolyte "+strcharinfo(PC_NAME)+",";
mes "this urgent matter?";
mes "Please dispose of Hornets";
mes "which are causing trouble on ^FF0000the western field of Prontera^000000.";
@@ -927,7 +927,7 @@ monk_in,18,38,6 script Priest Gardron#tu 4_M_MINISTER,{
emotion e_gasp;
next;
mes "[Priest Gardron]";
- mes ""+strcharinfo(0)+",";
+ mes ""+strcharinfo(PC_NAME)+",";
mes "may I ask";
mes "you to take care";
mes "of this task? Exterminate the Skeletons and Zombies in the";
@@ -1005,7 +1005,7 @@ prt_monk,235,245,5 script Dog#tu 4_DOG01,{
}
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So cute~!";
close;
}
@@ -1080,20 +1080,20 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
mes "should take a better look";
mes "and see what's wrong.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you alright?";
mes "................";
next;
specialeffect EF_CURSEATTACK;
soundeffectall "_curse.wav",0;
emotion e_omg;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is....!";
mes "A cursed spirit";
mes "is tormenting this";
mes "poor young girl!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'll cure you...";
mes "For sure.";
tu_acolyte01 = 11;
@@ -1113,7 +1113,7 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
next;
switch(select("Heal!", "Blessing!", "Cure!", "Recovery!", "Signum Crucis!", "B.S Sacramenti!")){
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "H...";
mes "Heal !!";
specialeffect EF_HEAL;
@@ -1125,13 +1125,13 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
break;
case 2:
if(getskilllv("AL_BLESSING") > 0){
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "B...";
mes "Blessing!";
next;
if(rand(100) < getskilllv("AL_BLESSING")*10){
specialeffect EF_BLESSING;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I...";
mes "I did it!!";
next;
@@ -1149,7 +1149,7 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
next;
break;
} else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "It's not working...";
mes "Maybe it's because";
@@ -1165,7 +1165,7 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
break;
case 3:
if(getskilllv("AL_CURE") > 0){
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "C-Cure...!";
specialeffect EF_CURE;
next;
@@ -1185,7 +1185,7 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
close;
case 5:
if(getskilllv("AL_CRUCIS") > 0){
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "S-Signum...";
mes "Signum Crucis!";
specialeffect EF_SIGNUM;
diff --git a/npc/quests/first_class/tu_archer.txt b/npc/quests/first_class/tu_archer.txt
index 79dc4ebbe..479e71e67 100644
--- a/npc/quests/first_class/tu_archer.txt
+++ b/npc/quests/first_class/tu_archer.txt
@@ -258,7 +258,7 @@ payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{
if(Class == Job_Archer || Class == Job_Baby_Archer || Class == Job_Archer_High){
if(tu_archer02 == 0){
mes "Oh, it's a good thing";
- mes "you're here, "+strcharinfo(0)+".";
+ mes "you're here, "+strcharinfo(PC_NAME)+".";
mes "I've just received request for support from the Alchemist";
mes "Guild in Al De Baran.";
next;
@@ -401,7 +401,7 @@ payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{
close;
} else if(tu_archer01 == 3){
- mes "So "+strcharinfo(0)+",";
+ mes "So "+strcharinfo(PC_NAME)+",";
mes "Did you have a good experience? Learning theory alone is never too enjoyable, but it is necessary.";
next;
mes "[Master Kavaruk]";
@@ -855,7 +855,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
next;
.@eagle = getskilllv("AC_DOUBLE");
if(.@eagle > 2){
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I...";
mes "I already know";
mes "about Double Strafe.";
@@ -915,7 +915,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "Bring all of that and you pass~";
next;
mes "[Reidin Corse]";
- mes "It's easier to find them if you pass by the southern gate of Prontera and then head west. Alright, off you go, " + strcharinfo(0) + "~";
+ mes "It's easier to find them if you pass by the southern gate of Prontera and then head west. Alright, off you go, " + strcharinfo(PC_NAME) + "~";
} else {
mes "Now, I've taught you a lot of stuff and I wanna make sure you retain all of it. That's why I want you to take this midterm. Your mission: ^FF0000Attack the Rockers^000000!";
emotion e_no1;
@@ -933,12 +933,12 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "Bring all of that and you pass~";
next;
mes "[Reidin Corse]";
- mes "It's easier to find Izlude if you pass by Prontera, so head towards the fields near Prontera. Alright, off you go, " + strcharinfo(0) + "~";
+ mes "It's easier to find Izlude if you pass by Prontera, so head towards the fields near Prontera. Alright, off you go, " + strcharinfo(PC_NAME) + "~";
}
tu_archer01 = 11;
close;
} else if(tu_archer01 == 11){
- if (RENEWAL && countitem(Grasshopper's_Leg) < 10) {
+ if (RENEWAL && countitem(Grasshoppers_Leg) < 10) {
mes "Hey...";
mes "You gotta bring";
mes "^3131FF10 Grasshopper's Leg^000000 to pass my midterm! Go back to the southwest area of Prontera and get them!";
@@ -965,7 +965,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
specialeffect2 EF_WIND;
tu_archer01 = 12;
if (RENEWAL)
- delitem Grasshopper's_Leg,10;
+ delitem Grasshoppers_Leg,10;
getexp 1000,1000;
getitem Great_Bow,1;
close;
@@ -1114,7 +1114,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
emotion e_pif;
next;
mes "[Reidin Corse]";
- mes "Well, "+ strcharinfo(0) +",";
+ mes "Well, "+ strcharinfo(PC_NAME) +",";
mes "It'd make me really happy if you get to the point where you develop a true love for the art of archery. I'll see you sometime, okay?";
emotion e_no1;
close;
@@ -1734,7 +1734,7 @@ prontera,126,335,5 script Arthail 1_M_BARD,{
mes "^3355FFArthail of the Wind";
mes "has fallen fast asleep.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah...";
mes "So peaceful~";
next;
@@ -1745,7 +1745,7 @@ prontera,126,335,5 script Arthail 1_M_BARD,{
mes "...";
soundeffectall "se_littlewaves02.wav",0;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh?";
mes "What was";
mes "that noise?";
@@ -1755,7 +1755,7 @@ prontera,126,335,5 script Arthail 1_M_BARD,{
emotion e_omg;
soundeffectall "se_scream_w01.wav",0;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the--?!";
mes "That sounds like";
mes "screams coming from";
@@ -1765,7 +1765,7 @@ prontera,126,335,5 script Arthail 1_M_BARD,{
mes "but he's deeply asleep";
mes "and won't budge at all.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can't help it then.";
mes "I'd better go check";
mes "this out on my own.";
@@ -1866,7 +1866,7 @@ prt_castle,76,165,6 script Minister#tu 1_M_JOBTESTER,{
mes "our nation's administration.";
if(tu_archer02 == 5){
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I heard screams";
mes "from outside! Did";
mes "something happen?";
@@ -1887,7 +1887,7 @@ prt_castle,76,165,6 script Minister#tu 1_M_JOBTESTER,{
close;
} else if(tu_acolyte01 == 25){
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...";
mes "I hear that";
mes "the royal family";
diff --git a/npc/quests/first_class/tu_ma_th01.txt b/npc/quests/first_class/tu_ma_th01.txt
index dc5dd31fd..40137b74a 100644
--- a/npc/quests/first_class/tu_ma_th01.txt
+++ b/npc/quests/first_class/tu_ma_th01.txt
@@ -317,13 +317,13 @@ moc_fild11,205,52,0 script Trace of Battle#5 CLEAR_NPC,{
next;
switch(select("Don't investigate.", "Investigate.")){
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A piece of cloth";
mes "is nothing to be";
mes "concerned about.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey... There's";
mes "blood on this cloth";
mes "and some writing on";
@@ -338,7 +338,7 @@ moc_fild11,205,52,0 script Trace of Battle#5 CLEAR_NPC,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "It'll probably be";
mes "faster if I follow this";
@@ -386,13 +386,13 @@ moc_fild11,205,52,0 script Trace of Battle#5 CLEAR_NPC,{
next;
switch(select("Don't investigate.", "Investigate.")){
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A piece of cloth";
mes "is nothing to be";
mes "concerned about.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey... There's";
mes "blood on this cloth";
mes "and some writing on";
@@ -407,7 +407,7 @@ moc_fild11,205,52,0 script Trace of Battle#5 CLEAR_NPC,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "It'll probably be";
mes "faster if I follow this";
@@ -996,7 +996,7 @@ moc_fild18,109,197,0 script Trace of Battle#15 CLEAR_NPC,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess...";
mes "I'll try investigating";
mes "this area a little more?";
@@ -1150,7 +1150,7 @@ moc_fild18,109,197,0 script Trace of Battle#15 CLEAR_NPC,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess...";
mes "I'll try investigating";
mes "this area a little more?";
diff --git a/npc/quests/first_class/tu_magician01.txt b/npc/quests/first_class/tu_magician01.txt
index 39298db93..73a3007f3 100644
--- a/npc/quests/first_class/tu_magician01.txt
+++ b/npc/quests/first_class/tu_magician01.txt
@@ -781,7 +781,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "a message, saying that";
mes "you've done a great job in";
mes "completing your mission.";
- mes "Very nice work, "+strcharinfo(0)+"~";
+ mes "Very nice work, "+strcharinfo(PC_NAME)+"~";
next;
mes "[Mana]";
mes "It seems like there are";
diff --git a/npc/quests/first_class/tu_sword.txt b/npc/quests/first_class/tu_sword.txt
index 59e64fb89..fa4c0defb 100644
--- a/npc/quests/first_class/tu_sword.txt
+++ b/npc/quests/first_class/tu_sword.txt
@@ -2047,20 +2047,20 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
next;
switch(select("Killer...", "Murderer...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What happened";
mes "to the killer?";
next;
switch(select("Who he is...", "Who is behind...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did you find";
mes "out who he is?";
mes "If you did...";
next;
switch(select("Why are we...", "What are we...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why are sitting";
mes "around, doing nothing?!";
next;
@@ -2076,7 +2076,7 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "a response...";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What are we";
mes "supposed to do now?";
next;
@@ -2093,14 +2093,14 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did you figure out";
mes "who's behind all this?";
mes "If you did...";
next;
switch(select("Why are we...", "What are we...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why are sitting";
mes "around, doing nothing?!";
next;
@@ -2116,7 +2116,7 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "a response...";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What are we";
mes "supposed to do now?";
next;
@@ -2135,20 +2135,20 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
}
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What happened";
mes "to the murderer?";
next;
switch(select("Who he is...", "Who is behind...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did you find";
mes "out who he is?";
mes "If you did...";
next;
switch(select("Why are we...", "What are we...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why are sitting";
mes "around, doing nothing?!";
next;
@@ -2167,7 +2167,7 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "a response...";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What are we";
mes "supposed to do now?";
next;
@@ -2213,14 +2213,14 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did you figure out";
mes "who's behind all this?";
mes "If you did...";
next;
switch(select("Why are we...", "What are we...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why are sitting";
mes "around, doing nothing?!";
next;
@@ -2238,7 +2238,7 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "a response...";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What are we";
mes "supposed to do now?";
next;
diff --git a/npc/quests/guildrelay.txt b/npc/quests/guildrelay.txt
index 81e38b299..87c72ef16 100644
--- a/npc/quests/guildrelay.txt
+++ b/npc/quests/guildrelay.txt
@@ -85,8 +85,8 @@
mes "head on your way.^000000";
close;
}
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (guildrelay_q == 100) {
if (guildtime > 22) {
if (gettime(GETTIME_HOUR) > 1 && gettime(GETTIME_HOUR) < guildtime) {
@@ -619,7 +619,7 @@
getitem Old_Violet_Box,1;
}
else if ((.@incen_item > 90) && (.@incen_item < 101)) {
- getitem Ear_Of_Angel's_Wing,1;
+ getitem Ear_Of_Angels_Wing,1;
}
next;
mes "[" + .@name$ + "]";
@@ -732,7 +732,7 @@
if (countitem(Soul_Of_Guild) > 0) {
if (BaseJob == Job_Knight) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "So you were the one chosen";
mes "by your guild master? I see.";
mes "You should deliver that Spirit";
@@ -753,7 +753,7 @@
else if (countitem(Soul_Of_Courage) > 0) {
if ((guildrelay_q == 88) && (BaseJob == Job_Knight)) {
mes "[" + .@name$ + "]";
- mes "Ah," + strcharinfo(0) + "";
+ mes "Ah," + strcharinfo(PC_NAME) + "";
mes "Congratulations. It looks";
mes "like you did a good job.";
mes "Please give the Spirit of";
@@ -769,7 +769,7 @@
}
else if (BaseJob == Job_Blacksmith) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "Ah, I see that you have";
mes "the Spirit of Charge.";
mes "Heh heh, it's always exciting";
@@ -791,7 +791,7 @@
else if (countitem(Soul_Of_Partnership) > 0) {
if ((guildrelay_q == 87) && (BaseJob == Job_Blacksmith)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -806,7 +806,7 @@
}
else if (BaseJob == Job_Alchemist) {
mes "[" + .@name$ + "]";
- mes "Hello, " + strcharinfo(0) + ".";
+ mes "Hello, " + strcharinfo(PC_NAME) + ".";
mes "I see that you posess";
mes "the Spirit of Association.";
mes "Good luck with your test.";
@@ -826,7 +826,7 @@
else if (countitem(Soul_Of_Correspondence) > 0) {
if ((guildrelay_q == 86) && (BaseJob == Job_Alchemist)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -841,7 +841,7 @@
}
else if (BaseJob == Job_Hunter) {
mes "[" + .@name$ + "]";
- mes "Hello, " + strcharinfo(0) + ".";
+ mes "Hello, " + strcharinfo(PC_NAME) + ".";
mes "I see that you posess";
mes "the Spirit of Coordination.";
mes "Good luck on your test.";
@@ -861,7 +861,7 @@
else if (countitem(Soul_Of_Proceeding) > 0) {
if ((guildrelay_q == 85) && (BaseJob == Job_Hunter)) {
mes "[" + .@name$ + "]";
- mes "Hello, " + strcharinfo(0) + ".";
+ mes "Hello, " + strcharinfo(PC_NAME) + ".";
mes "Congratulations, it looks";
mes "like you finished the test.";
mes "You may now give the Spirit of";
@@ -882,7 +882,7 @@
else if (countitem(Soul_Of_Confidence) > 0) {
if (BaseJob == Job_Sage) {
mes "[" + .@name$ + "]";
- mes "Hello, " + strcharinfo(0) + ".";
+ mes "Hello, " + strcharinfo(PC_NAME) + ".";
mes "I see that you possess";
mes "the Spirit of Trust.";
mes "Good luck, and do not";
@@ -904,7 +904,7 @@
else if (countitem(Soul_Of_Agreement) > 0) {
if ((guildrelay_q == 71) && (BaseJob == Job_Sage)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -920,7 +920,7 @@
}
else if ((BaseJob == Job_Bard) || (BaseJob == Job_Dancer)) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "I see that you have the";
mes "Spirit of Union. Always keep";
mes "in mind that the strength of";
@@ -942,7 +942,7 @@
else if (countitem(Soul_Of_Harmony) > 0) {
if ((guildrelay_q == 72) && ((BaseJob == Job_Bard) || (BaseJob == Job_Dancer))) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -958,7 +958,7 @@
}
else if (BaseJob == Job_Assassin) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "I see that you have the Spirit";
mes "of Combination. Remember that";
mes "working in tandem, combining";
@@ -980,7 +980,7 @@
else if (countitem(Soul_Of_Unity) > 0) {
if ((guildrelay_q == 74) && (BaseJob == Job_Assassin)) {
mes "[" + .@name$ + "]";
- mes "Greetings, " + strcharinfo(0) + ",";
+ mes "Greetings, " + strcharinfo(PC_NAME) + ",";
mes "did you rest well? Please";
mes "give that spirit to the next";
mes "person so that the testing";
@@ -996,7 +996,7 @@
}
else if (BaseJob == Job_Wizard) {
mes "[" + .@name$ + "]";
- mes "Hello, " + strcharinfo(0) + ",";
+ mes "Hello, " + strcharinfo(PC_NAME) + ",";
mes "I see that you've been";
mes "entrusted with the Spirit";
mes "of Solidarity. Do your best";
@@ -1018,7 +1018,7 @@
else if (countitem(Soul_Of_Friendship) > 0) {
if ((guildrelay_q == 75) && (BaseJob == Job_Wizard)) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "congratulations on a job";
mes "well done. Please give the";
mes "Spirit of Friendship to your";
@@ -1040,7 +1040,7 @@
else if (countitem(Soul_Of_Peace) > 0) {
if (BaseJob == Job_Rogue) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "I see that you have the";
mes "Spirit of Peace. Please";
mes "do your best for the sake";
@@ -1062,7 +1062,7 @@
else if (countitem(Soul_Of_Spirit) > 0) {
if ((guildrelay_q == 95) && (BaseJob == Job_Priest)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -1078,7 +1078,7 @@
}
else if (BaseJob == Job_Priest) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "please take good care of";
mes "that Spirit of Determination.";
close;
@@ -1097,7 +1097,7 @@
else if (countitem(Soul_Of_Service) > 0) {
if ((guildrelay_q == 98) && (BaseJob == Job_Priest)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -1113,7 +1113,7 @@
}
else if (BaseJob == Job_Crusader) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "please take good care";
mes "of that Spirit of Service.";
close;
@@ -1132,7 +1132,7 @@
else if (countitem(Soul_Of_Glory) > 0) {
if ((guildrelay_q == 96) && (BaseJob == Job_Crusader)) {
mes "[" + .@name$ + "]";
- mes "Hello," + strcharinfo(0) + ".";
+ mes "Hello," + strcharinfo(PC_NAME) + ".";
mes "I commend you on your work.";
mes "Please give that spirit to";
mes "the next person so that the";
@@ -1148,7 +1148,7 @@
}
else if (BaseJob == Job_Monk) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "please take good care";
mes "of that Spirit of Glory.";
close;
@@ -1167,7 +1167,7 @@
else if (countitem(Soul_Of_Victory) > 0) {
if ((guildrelay_q == 97) && (Class == Job_Monk)) {
mes "[" + .@name$ + "]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "congratulations on a job";
mes "well done. Please give";
mes "the Spirit of Victory to your";
@@ -1197,7 +1197,7 @@
}
}
else {
- if (getcharid(2) == 0) {
+ if (getcharid(CHAR_ID_GUILD) == 0) {
mes "[" + .@name$ + "]";
mes "You haven't joined";
mes "a guild yet? Why don't";
@@ -1229,7 +1229,7 @@
case 2:
mes "[" + .@name$ + "]";
mes "Oh, really? Ah, now";
- mes "I recognize you, ^4d4dff" + strcharinfo(0) + "^000000.";
+ mes "I recognize you, ^4d4dff" + strcharinfo(PC_NAME) + "^000000.";
mes "Please come in, and make";
mes "yourself comfortable.";
close;
@@ -1264,8 +1264,8 @@
mes "head on your way.^000000";
close;
}
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (countitem(Soul_Of_Guild) > 0) {
mes "[" + .@name$ + "]";
mes "Hm. You can't just keep";
@@ -1330,7 +1330,7 @@
close;
}
}
- if ((countitem(Thin_N'_Long_Tongue) > 29) && (countitem(Shoulder_Protection) > 29) && (countitem(Black_Mask) > 29) && (guildrelay_q == 2)) {
+ if ((countitem(Thin_N_Long_Tongue) > 29) && (countitem(Shoulder_Protection) > 29) && (countitem(Black_Mask) > 29) && (guildrelay_q == 2)) {
mes "[" + .@name$ + "]";
mes "Huh. I didn't actually";
mes "expect that you'd collect";
@@ -1338,7 +1338,7 @@
mes "Now, take this and give it to";
mes "a Blacksmith or Mastersmith.";
mes "Your guild's pretty good...";
- delitem Thin_N'_Long_Tongue,30;
+ delitem Thin_N_Long_Tongue,30;
delitem Shoulder_Protection,30;
delitem Black_Mask,30;
guildrelay_q = 88;
@@ -1380,7 +1380,7 @@
mes "Don't forget this time.";
close;
}
- if ((countitem(Fright_Paper_Blade) > 29) && (countitem(Lizard_Scruff) > 29) && (countitem(Elder_Pixie's_Beard) > 29) && (guildrelay_q == 89)) {
+ if ((countitem(Fright_Paper_Blade) > 29) && (countitem(Lizard_Scruff) > 29) && (countitem(Elder_Pixies_Beard) > 29) && (guildrelay_q == 89)) {
mes "[" + .@name$ + "]";
mes "Huh. I didn't actually";
mes "expect that you'd collect";
@@ -1390,7 +1390,7 @@
mes "Your guild's pretty good...";
delitem Fright_Paper_Blade,30;
delitem Lizard_Scruff,30;
- delitem Elder_Pixie's_Beard,30;
+ delitem Elder_Pixies_Beard,30;
guildrelay_q = 88;
getitem Soul_Of_Courage,1;
close;
@@ -1728,7 +1728,7 @@
}
}
else {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[" + .@name$ + "]";
mes "Hm? What brings you";
mes "here? Feel free to take";
@@ -1768,8 +1768,8 @@
mes "there's no reason to be here.^000000";
close;
}
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (countitem(Soul_Of_Confidence) > 0) {
mes "[" + .@name$ + "]";
mes "Hm? What are you doing?";
@@ -2019,7 +2019,7 @@
getitem Soul_Of_Harmony,1;
close;
}
- else if ((countitem(Heart_Of_Tree) > 29) && (countitem(Soft_Leaf) > 29) && (countitem(Poison_Toad's_Skin) > 29) && (guildrelay_q == 11)) {
+ else if ((countitem(Heart_Of_Tree) > 29) && (countitem(Soft_Leaf) > 29) && (countitem(Poison_Toads_Skin) > 29) && (guildrelay_q == 11)) {
mes "[" + .@name$ + "]";
mes "Oh, perfect! You brought";
mes "all the items. Well then,";
@@ -2029,7 +2029,7 @@
mes "^42426FAssassin Cross^000000. Thank you.";
delitem Heart_Of_Tree,30;
delitem Soft_Leaf,30;
- delitem Poison_Toad's_Skin,30;
+ delitem Poison_Toads_Skin,30;
if (BaseJob == Job_Dancer) {
guildrelay_q = 72;
}
@@ -2039,7 +2039,7 @@
getitem Soul_Of_Harmony,1;
close;
}
- else if ((countitem(Goat's_Horn) > 29) && (countitem(Honey_Jar) > 29) && (countitem(Porcupine_Spike) > 29) && (guildrelay_q == 80)) {
+ else if ((countitem(Goats_Horn) > 29) && (countitem(Honey_Jar) > 29) && (countitem(Porcupine_Spike) > 29) && (guildrelay_q == 80)) {
mes "[" + .@name$ + "]";
mes "Oh, perfect! You brought";
mes "all the items. Well then,";
@@ -2047,7 +2047,7 @@
mes "take this spirit now. Please";
mes "give it to an ^42426FAssassin^000000 or an";
mes "^42426FAssassin Cross^000000. Thank you.";
- delitem Goat's_Horn,30;
+ delitem Goats_Horn,30;
delitem Honey_Jar,30;
delitem Porcupine_Spike,30;
if (BaseJob == Job_Dancer) {
@@ -2132,7 +2132,7 @@
mes "and defeat. Remember that.";
next;
mes "[" + .@name$ + "]";
- mes "Hey," + strcharinfo(0) + ",";
+ mes "Hey," + strcharinfo(PC_NAME) + ",";
mes "if you really want to become";
mes "strong enough to protect your";
mes "guild, then you must level up.";
@@ -2283,7 +2283,7 @@
}
}
else {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[" + .@name$ + "]";
mes "Hm. You're the master";
mes "of another guild, aren't";
@@ -2452,8 +2452,8 @@
mes "there's no reason to be here.^000000";
close;
}
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (countitem(Soul_Of_Peace) > 0) {
mes "[" + .@name$ + "]";
mes "Hm? That spirit that";
@@ -2527,9 +2527,9 @@
close;
}
}
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
- .@partyleader = getpartyleader(getcharid(1),2);
+ .@partyleader = getpartyleader(getcharid(CHAR_ID_PARTY),2);
if (guildrelay_q == 91) {
if (.@partymembercount == 6) {
mes "[" + .@name$ + "]";
@@ -3076,7 +3076,7 @@
}
}
else {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[" + .@name$ + "]";
mes "You might be the master";
mes "of a guild, but you and I";
diff --git a/npc/quests/gunslinger_quests.txt b/npc/quests/gunslinger_quests.txt
index 97e0e8abd..0c6886526 100644
--- a/npc/quests/gunslinger_quests.txt
+++ b/npc/quests/gunslinger_quests.txt
@@ -90,7 +90,7 @@ que_ng,182,85,3 script Garrison 4_M_MANAGER,{
mes "Hmm~ You look like you're wandering around without a mission.";
mes "If you've got the time, will you do me a favor?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is it?";
next;
mes "[Garrison]";
@@ -159,17 +159,17 @@ que_ng,182,85,3 script Garrison 4_M_MANAGER,{
mes "[Garrison]";
mes "While you are on delivery, I will make preparations to slot your Garrison, as promised.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "-Hmm, I don't want to do it, but I'll do it anyway.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok.";
next;
mes "[Garrison]";
mes "Oh, thanks a lot.";
mes "Then deliver this to a person called Ravey. He lives in the slums of Lighthalzen.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You receive the delivery goods from Garrison.";
mes "Let's deliver them to a person named Ravey, who lives in the slums of Lighthalzen.";
delitem 999,10;
@@ -181,7 +181,7 @@ que_ng,182,85,3 script Garrison 4_M_MANAGER,{
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You receive the delivery goods from Garrison.";
mes "Let's deliver them to a person named Ravey, who lives in the slums of Lighthalzen.";
close;
@@ -190,7 +190,7 @@ que_ng,182,85,3 script Garrison 4_M_MANAGER,{
mes "[Garrison]";
mes "Oh~ How was your trip?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Gyah~";
mes "I nearly died!!!";
mes "That man tried to attack me when he saw me. I barely escaped death!";
@@ -398,7 +398,7 @@ lighthalzen,322,247,6 script Ravey 4_M_04,{
if(gun_gs == 2)
{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me. Hello.";
mes "I'm here to give you replacement parts for defective Gunslin...";
next;
@@ -410,22 +410,22 @@ lighthalzen,322,247,6 script Ravey 4_M_04,{
percentheal 100,0;
percentheal -90,0;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "- The man called Ravey suddenly attacks, as if he was waiting for the word Gunslinger...-";
mes "You nearly died.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You run away without looking back.";
mes "Let's hurry back to Garrison.-";
close;
}
if(gun_gs == 3)
{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "- The man called Ravey suddenly attacks, as if he was waiting for the word Gunslinger...-";
mes "You nearly died.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's hurry back to Garrison.-";
close;
}
@@ -476,7 +476,7 @@ que_ng,187,163,3 script Ingrid 4_F_ALCHE,{
mes "It's a weapon worthy of being called the ultimate weapon for any Gunslinger.";
mes "huff huff...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know quite a lot about it";
mes ".....";
next;
@@ -484,7 +484,7 @@ que_ng,187,163,3 script Ingrid 4_F_ALCHE,{
mes "Ah. Of course~";
mes "I am the person who designed this weapon..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wooow~ That's incredible~";
next;
mes "[Ingrid]";
@@ -508,7 +508,7 @@ que_ng,187,163,3 script Ingrid 4_F_ALCHE,{
mes "Haha~ Look at me telling you all these things when you didn't even ask.";
mes "Sorry.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, it's ok.";
mes "You may not have become a Gunslinger, but I think you've become a great person.";
next;
@@ -645,7 +645,7 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "my exercises and me";
mes "standing beside me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's just watching exercise";
mes "looks good...";
mes ".............";
@@ -655,7 +655,7 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "Come here~ I'll lock";
mes "you in an arm-bar~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "N~ No thanks~";
mes "it's okay~";
next;
@@ -664,7 +664,7 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "Come here~!";
mes "-Bam!Bam!-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aah~Ugh~ Don't do that~";
mes "Aa..Aaaahhhh~~!!";
mes "Argh~";
@@ -676,7 +676,7 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "Hmm...Did I do it too strong.";
mes "Mm~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well obviously!";
mes "Idiot!Idiot!!";
mes "*sobs*~";
@@ -687,19 +687,19 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "Okay, okay,";
mes "Don't cry.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "*sob*~";
next;
mes "[Vanessa]";
mes "Okay~ okay..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "*sob*~";
next;
mes "[Vanessa]";
mes "Stop! Arrgh!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "........";
next;
mes "[Vanessa]";
@@ -727,7 +727,7 @@ que_ng,185,180,3 script Vanessa 4_F_JOB_BLACKSMITH,{
mes "Hehe~";
mes "Take this~!Destroyer~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "*sob*~ Please~Stop~";
next;
mes "[Vanessa]";
diff --git a/npc/quests/kiel_hyre_quest.txt b/npc/quests/kiel_hyre_quest.txt
index 80e193f86..9468bbe38 100644
--- a/npc/quests/kiel_hyre_quest.txt
+++ b/npc/quests/kiel_hyre_quest.txt
@@ -109,7 +109,7 @@ yuno_in01,35,179,4 script Pub Master#kh 1_ETC_01,5,5,{
mes "^3355FF*Gulp gulp gulp*^000000";
percentheal 5,-5;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ahhh, it's really";
mes "good! That really";
mes "hits the spot!";
@@ -155,7 +155,7 @@ yuno_in01,35,179,4 script Pub Master#kh 1_ETC_01,5,5,{
mes "^3355FF*Gulp gulp gulp*^000000";
percentheal 5,-5;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ahhh, it's really";
mes "good! That really";
mes "hits the spot!";
@@ -850,7 +850,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
next;
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm outta here.";
next;
cutin "kh_elly04",2;
@@ -986,13 +986,13 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
mes "^FF0000Ellyja^000000, but everybody calls me,";
mes "''Elly.'' What's your name?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "^3355FF"+strcharinfo(0)+"^000000.";
- mes "It's ^3355FF"+strcharinfo(0)+"^000000.";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "^3355FF"+strcharinfo(PC_NAME)+"^000000.";
+ mes "It's ^3355FF"+strcharinfo(PC_NAME)+"^000000.";
next;
cutin "kh_elly02",2;
mes "[Elly]";
- mes ""+strcharinfo(0)+"?";
+ mes ""+strcharinfo(PC_NAME)+"?";
mes "...that name! It's wonderful!";
getitem Well_Baked_Cookie,5;
KielHyreQuest = 10;
@@ -1028,7 +1028,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
case 1:
cutin "kh_elly02",2;
mes "[Elly]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "Thank you so much, I knew";
mes "you'd understand! Would you";
mes "please bring the cookies to";
@@ -1226,7 +1226,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
mes "But I'll be okay!";
mes "You'll be there to";
mes "rescue me from danger,";
- mes "right, "+strcharinfo(0)+"?";
+ mes "right, "+strcharinfo(PC_NAME)+"?";
next;
switch(select("Who is Ms. Allysia?", "Strange incidents?")) {
case 1:
@@ -1240,7 +1240,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
case 2:
cutin "kh_elly04",2;
mes "[Elly]";
- mes "Well, "+strcharinfo(0)+"...";
+ mes "Well, "+strcharinfo(PC_NAME)+"...";
mes "I'm not supposed to tell";
mes "anyone outside of the school,";
mes "but I can trust you! You see...";
@@ -1283,7 +1283,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
mes "Mrs. Lecollane now.";
next;
mes "[Elly]";
- mes "Say, "+strcharinfo(0)+",";
+ mes "Say, "+strcharinfo(PC_NAME)+",";
mes "if it's okay, would you";
mes "please go find what my";
mes "grandpa left for me in";
@@ -1432,7 +1432,7 @@ kh_school,178,180,4 script Elly 4_F_KHELLY,{
mes "her to respond by violently";
mes "shaking her entire body.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Elly? Elly! No!";
mes "Come back to us!";
next;
@@ -1578,7 +1578,7 @@ kh_school,175,176,0 script Cookie Basket#kh HIDDEN_NPC,{
next;
switch(select("Read Note", "Ignore")) {
case 1:
- mes ""+strcharinfo(0)+", help!";
+ mes ""+strcharinfo(PC_NAME)+", help!";
mes "There's this guy dressed in";
mes "black who's walking around,";
mes "and casting this weird spell!";
@@ -1618,7 +1618,7 @@ kh_school,175,176,0 script Cookie Basket#kh HIDDEN_NPC,{
mes "It was probably written";
mes "by Elly for you to read.^000000";
next;
- mes "^333333Dearest "+strcharinfo(0)+",";
+ mes "^333333Dearest "+strcharinfo(PC_NAME)+",";
mes " ";
mes "My teachers usually yell at me";
mes "since I make so many mistakes,";
@@ -1649,7 +1649,7 @@ kh_school,175,176,0 script Cookie Basket#kh HIDDEN_NPC,{
KielHyreQuest = 109;
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
mes "It's time to go back. I can't";
mes "stay here much longer.";
@@ -3476,7 +3476,7 @@ OnTouch:
mes "^333333...Kiehl...";
mes "...How dare you...!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mister Kiel Hyre?";
mes "Is that you in there?";
next;
@@ -3484,7 +3484,7 @@ OnTouch:
mes "Wh-who's there?";
mes "Identify yourself!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm... I'm...";
next;
mes "^3355FFYou explain your story";
@@ -3596,7 +3596,7 @@ kh_mansion,78,55,5 script Steward#kh 4_M_MANAGER,{
switch(select("Present Golden Key", "????")) {
case 1:
mes "[Steward]";
- mes "Ah, Master "+strcharinfo(0)+".";
+ mes "Ah, Master "+strcharinfo(PC_NAME)+".";
mes "I've been expecting your";
mes "arrival. Please, this way.";
close2;
@@ -3616,7 +3616,7 @@ kh_mansion,78,55,5 script Steward#kh 4_M_MANAGER,{
}
if ((KielHyreQuest >= 50) && (KielHyreQuest < 64) || (KielHyreQuest >= 70)) {
mes "[Steward]";
- mes "Ah, Master "+strcharinfo(0)+".";
+ mes "Ah, Master "+strcharinfo(PC_NAME)+".";
mes "It is a pleasure to";
mes "receive your company";
mes "once again. Would you";
@@ -3640,7 +3640,7 @@ kh_mansion,78,55,5 script Steward#kh 4_M_MANAGER,{
}
if ((KielHyreQuest == 52) || (KielHyreQuest == 54) || (KielHyreQuest >= 64) && (KielHyreQuest <= 70)) {
mes "[Steward]";
- mes "Ah, Master "+strcharinfo(0)+".";
+ mes "Ah, Master "+strcharinfo(PC_NAME)+".";
mes "It is a pleasure to";
mes "receive your company";
mes "once again. Would you";
@@ -3702,7 +3702,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
else if (KielHyreQuest == 46) {
cutin "kh_kyel01",2;
mes "[Kiel Hyre]";
- mes "Ah, you must be "+strcharinfo(0)+".";
+ mes "Ah, you must be "+strcharinfo(PC_NAME)+".";
mes "I'd like to thank you for saving";
mes "my life. You must have many";
mes "questions to ask me, so I'll";
@@ -3825,7 +3825,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "that you wanted";
mes "to ask me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't have enough";
mes "concrete evidence yet,";
mes "but I might have some";
@@ -3834,12 +3834,12 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
else if (KielHyreQuest == 68) {
cutin "kh_kyel02",2;
mes "[Kiel Hyre]";
- mes "Ah, "+strcharinfo(0)+".";
+ mes "Ah, "+strcharinfo(PC_NAME)+".";
mes "It's you. So how can";
mes "I help you today?";
next;
select("About ^3355FFAllysia^000000...");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know, I was looking";
mes "through this deserted house";
mes "in Juno, and discovered";
@@ -3861,7 +3861,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "not so strange to find";
mes "look-a-likes for other people...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't think it's just";
mes "a coincidence. The woman";
mes "in that thirty year old portrait";
@@ -3876,7 +3876,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "............";
next;
cutin "kh_kyel01",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then I thought that this";
mes "Allysia must have been the";
mes "woman that you loved, and";
@@ -3888,7 +3888,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "............";
next;
cutin "kh_kyel01",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think this is what happened:";
mes "when you were a young, poor";
mes "man, you fell in love with";
@@ -3896,14 +3896,14 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "in love with Rosimier, who";
mes "was rich and powerful.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "However, Rosimier was";
mes "betrothed to some other";
mes "woman, and he ended up";
mes "marrying his fiancee, thus";
mes "breaking Allysia's heart.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Feeling betrayed, her";
mes "heart broken, Allysia jumped";
mes "into a river. Then, you decided";
@@ -3935,7 +3935,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "How did...";
mes "Where did you...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Kiel Hyre, I found this";
mes "portrait of you as a young";
mes "man from the house of the";
@@ -3943,7 +3943,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "I even spoke to the fisherman";
mes "that discovered Allysia's body.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You paid an awful lot";
mes "of money to buy Allysia's";
mes "ring. How can you not tell";
@@ -3974,12 +3974,12 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "capability to cause it...";
next;
cutin "kh_kyel02",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm afraid that the";
mes "evidence shows otherwise.";
next;
select("Reveal Portrait of Rosimiers");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Take a good look";
mes "at this portrait that";
mes "I found at the Rosimiers'";
@@ -3994,7 +3994,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "anything wrong with";
mes "this picture at all.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Take a good look";
mes "at the pocketwatch";
mes "in the portrait. That's";
@@ -4005,7 +4005,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "[Kiel Hyre]";
mes "...!!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You might not have caused";
mes "the downfall of the Rosimiers";
mes "yourself, but with the aid of";
@@ -4021,7 +4021,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "her, if only he didn't drive";
mes "her to commit suicide...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's where you're wrong!";
mes "Allysia was killed, she didn't";
mes "commit suicide. Take a good";
@@ -4039,7 +4039,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "She's dead, nothing I can do";
mes "will bring her back to me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I never said James didn't";
mes "betray her. Look at the date";
mes "on the note. James made plans";
@@ -4047,7 +4047,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "20th. However, her body was";
mes "found on the same day.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ergo, Allysia must have";
mes "died on August 19th. If she";
mes "was planning to run away with";
@@ -4061,14 +4061,14 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "realized she was nothing";
mes "but another toy to him!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh yeah? I say she jumped";
mes "into the river because you";
mes "met her on that day. Now,";
mes "take a good look at this!";
next;
select("Show K.H.'s note");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This note was written by";
mes "a man with your initials,";
mes "K.H. These initials were also";
@@ -4076,7 +4076,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "must have written this note:";
mes "there's too many coincidences!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "According to this note,";
mes "you told Allysia that you";
mes "wanted to see her again";
@@ -4084,7 +4084,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "I think you did see her again...";
mes "on August 19th, the day she died!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm assuming the place you";
mes "two first met was near the";
mes "river. No more of your lies:";
@@ -4205,7 +4205,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "My death? Everything...?";
next;
cutin "kh_kyel01",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I just want";
mes "to ask about the nature";
mes "of your professional";
@@ -4429,7 +4429,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "be, I've got to stop him! Oh,";
mes "and here, please take this";
mes "with my thanks for all of";
- mes "your help, "+.@KHTitle$+" "+strcharinfo(0)+".";
+ mes "your help, "+.@KHTitle$+" "+strcharinfo(PC_NAME)+".";
getitem Old_Card_Album,1; //Old Card Album
delitem Elysia_Ring,1;
getexp RENEWAL_EXP?100000:1000000,0;
@@ -4672,7 +4672,7 @@ OnTouch:
mes "must have some connection";
mes "to him. I'm right, aren't it?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
mes "............";
@@ -4794,7 +4794,7 @@ OnTouch:
mes "then I can't guarantee";
mes "your safety, adventurer";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? What...?";
mes "What does that mean?";
mes "Are you threatening me?";
@@ -6286,7 +6286,7 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
mes "you. So has he sent";
mes "you to kill me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Kiel Hyre sent me to ask";
mes "you to stop turning all of";
mes "the Third Generation robots";
@@ -6325,7 +6325,7 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
mes "how far a human could go for his own selfinishness by destroying a family.";
mes "And therefore I don't think that he could create better robots than mine.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Humankind may not be";
mes "perfect, but think about";
mes "who you're working with!";
@@ -6446,7 +6446,7 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
mes "everything down~";
next;
mes "[Mitchell]";
- mes "Quick, "+strcharinfo(0)+",";
+ mes "Quick, "+strcharinfo(PC_NAME)+",";
mes "use Kiel Hyre's power";
mes "device, the one that's";
mes "supposed to mess with";
diff --git a/npc/quests/lvl4_weapon_quest.txt b/npc/quests/lvl4_weapon_quest.txt
index bbc75cd19..977071343 100644
--- a/npc/quests/lvl4_weapon_quest.txt
+++ b/npc/quests/lvl4_weapon_quest.txt
@@ -1778,7 +1778,7 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
}
else {
mes "this... Longinus's Spear!";
- getitem Longinus's_Spear,1;
+ getitem Longinuss_Spear,1;
}
lv4_weapon = 0;
next;
diff --git a/npc/quests/monstertamers.txt b/npc/quests/monstertamers.txt
index 503fc23bd..8e55e54a3 100644
--- a/npc/quests/monstertamers.txt
+++ b/npc/quests/monstertamers.txt
@@ -593,7 +593,7 @@ aldeba_in,168,175,4 script Monster Tamer#alde 4_M_TELEPORTER,{
mes "Its name?";
mes "^3355FFOrc Trophy^000000!";
next;
- if ((countitem(Patriotism_Marks) > 0) && (countitem(Scorpion's_Tail) > 0)) {
+ if ((countitem(Patriotism_Marks) > 0) && (countitem(Scorpions_Tail) > 0)) {
mes "[Shogo]";
mes "Oh! You have all the items necessary to make an Orc Trophy! Good, good! With all my pride as a monster tamer, let me make one for you right away!";
next;
@@ -610,7 +610,7 @@ aldeba_in,168,175,4 script Monster Tamer#alde 4_M_TELEPORTER,{
mes "the cute monster";
mes "you are raising...";
mes "Orc Trophy!";
- delitem Scorpion's_Tail,1;
+ delitem Scorpions_Tail,1;
delitem Patriotism_Marks,1;
getitem Horror_Of_Tribe,1; // Horror_Of_Tribe
close;
@@ -641,7 +641,7 @@ aldeba_in,168,175,4 script Monster Tamer#alde 4_M_TELEPORTER,{
}
comodo,112,182,0 script Munak's Grandma 8_F_GRANDMOTHER,{
- if (countitem(Girl's_Diary) > 0) {
+ if (countitem(Girls_Diary) > 0) {
mes "[Munak's grandma]";
mes "Oh my...";
mes "Have you seen my granddaughter,";
diff --git a/npc/quests/newgears/2004_headgears.txt b/npc/quests/newgears/2004_headgears.txt
index 7a3757619..722509fbc 100644
--- a/npc/quests/newgears/2004_headgears.txt
+++ b/npc/quests/newgears/2004_headgears.txt
@@ -134,7 +134,7 @@ geffen,129,148,3 script Argen#1 4_M_YOYOROGUE,{
mes "Am I bored~!";
mes "If I only knew more tricks with this yo-yo. Then I could really impress the ladies.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Impress the ladies...?";
next;
emotion e_gasp;
@@ -414,7 +414,7 @@ prontera,165,232,3 script Nephia#1 4_F_ALCHE,{
mes "- you put some items into Kafra Storage. -";
close;
}
- if (countitem(Big_Sis'_Ribbon) > 0 && countitem(Ribbon_) > 0 && countitem(Silk_Ribbon) > 0) {
+ if (countitem(Big_Sis_Ribbon) > 0 && countitem(Ribbon_) > 0 && countitem(Silk_Ribbon) > 0) {
mes "[Nephia]";
mes "Oh...";
mes "You've brought all these ribbons! I can't wait to tie you a new ribbon to put on your ^FF66CCbeautiful hair!^000000";
@@ -430,7 +430,7 @@ prontera,165,232,3 script Nephia#1 4_F_ALCHE,{
next;
mes "[Nephia]";
mes "That's it~! We're done! Oh, I just know you're going to look precious wearing this.";
- delitem Big_Sis'_Ribbon,1;
+ delitem Big_Sis_Ribbon,1;
delitem Ribbon_,1;
delitem Silk_Ribbon,1;
getitem Red_Tailed_Ribbon,1;
@@ -448,21 +448,21 @@ prontera,165,232,3 script Nephia#1 4_F_ALCHE,{
next;
if (Sex == SEX_MALE) {
if (select("Um, lady, I'm a dude.", "^FF66CCOoh~! You're right!^000000") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Woman, can't you that I'm a man?";
next;
mes "[Nephia]";
mes "Awww...";
mes "But you would look so ^FF66CCpretty~!^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "That...";
mes "Was the worst";
mes "compliment anyone";
mes "has ever given me.";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oooh~!";
mes "That sounds great!";
next;
@@ -485,7 +485,7 @@ prontera,165,232,3 script Nephia#1 4_F_ALCHE,{
}
else {
if (select("No thanks.", "^FF66CCOoh~! You're right!^000000") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Er...";
mes "No thanks.";
next;
@@ -494,7 +494,7 @@ prontera,165,232,3 script Nephia#1 4_F_ALCHE,{
mes "But you're just the cutest little thing. I just know you would look so preeeetty!";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oooh~!";
mes "That sounds great!";
next;
@@ -719,7 +719,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 2_M_OLDBLSMITH,{
delitem Angelic_Chain,1;
delitem Elven_Ears,1;
Zeny -= 20000;
- getitem Ear_Of_Angel's_Wing,1;
+ getitem Ear_Of_Angels_Wing,1;
next;
mes "[Hatbyr Mhore]";
mes "There's no doubt that you'll be the talk of the town sporting these fashionable things.";
@@ -774,7 +774,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 2_M_OLDBLSMITH,{
delitem Satanic_Chain,1;
delitem Elven_Ears,1;
Zeny -= 20000;
- getitem Ear_Of_Devil's_Wing,1;
+ getitem Ear_Of_Devils_Wing,1;
next;
mes "[Hatbyr Mhore]";
mes "You'll be wowing everyone on the streets with your fashionable new look that says 'It feels so good to be so bad.' Glad to be of service~!";
@@ -844,7 +844,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 2_M_OLDBLSMITH,{
delitem Satanic_Chain,1;
delitem Elven_Ears,1;
Zeny -= 20000;
- getitem Ear_Of_Devil's_Wing,1;
+ getitem Ear_Of_Devils_Wing,1;
next;
mes "[Hatbyr Mhore]";
mes "You'll be wowing everyone on the streets with your fashionable new look that says 'It feels so good to be so bad.' Glad to be of service~!";
@@ -898,7 +898,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 2_M_OLDBLSMITH,{
delitem Angelic_Chain,1;
delitem Elven_Ears,1;
Zeny -= 20000;
- getitem Ear_Of_Angel's_Wing,1;
+ getitem Ear_Of_Angels_Wing,1;
next;
mes "[Hatbyr Mhore]";
mes "There's no doubt that you'll be the talk of the town sporting these fashionable things.";
@@ -1044,11 +1044,11 @@ xmas,183,267,3 script Pretty Lindsay#1 4_F_NFLOSTGIRL,{
mes "[Pretty Lindsay]";
mes "It's the bestest magic ever because it comes from my heart!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That...";
mes "That still doesn't explain anything!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright...";
mes "Yeah...";
mes "I'll come back later, kid.";
@@ -1094,7 +1094,7 @@ xmas,175,156,3 script Fuzzy Fuzz#1 4_M_05,{
mes "- you put some items into Kafra Storage. -";
close;
}
- if (countitem(Panda_Cap) > 0 && countitem(Needle_Pouch) > 99 && countitem(Spool) > 99 && countitem(Black_Bear's_Skin) > 299) {
+ if (countitem(Panda_Cap) > 0 && countitem(Needle_Pouch) > 99 && countitem(Spool) > 99 && countitem(Black_Bears_Skin) > 299) {
if ((MaxWeight-Weight) < 2000) {
mes "[Fuzzy Fuzz]";
mes "You brought every material I need, but unfortunately you don't have enough space in your inventory. Try and place some of your items into Kafra Storage first.";
@@ -1120,7 +1120,7 @@ xmas,175,156,3 script Fuzzy Fuzz#1 4_M_05,{
delitem Panda_Cap,1;
delitem Needle_Pouch,100;
delitem Spool,100;
- delitem Black_Bear's_Skin,300;
+ delitem Black_Bears_Skin,300;
getitem Brown_Bear_Cap,1;
close;
}
@@ -1407,10 +1407,10 @@ geffen,83,189,5 script Seth#1 4_M_KID2,{
emotion e_sob;
close;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Boys aren't supposed to make flowers.";
next;
mes "[Seth]";
@@ -1471,7 +1471,7 @@ xmas_in,35,30,3 script Hat Merchant#zero 4_M_NFLOSTMAN,{
next;
switch(select("Party Hat", "Straw Hat", "Cowboy Hat", "Sombrero", "Beanie")) {
case 1:
- if (countitem(Santa's_Hat) > 0 && countitem(Oil_Paper) > 99 && countitem(Smooth_Paper) > 99) {
+ if (countitem(Santas_Hat) > 0 && countitem(Oil_Paper) > 99 && countitem(Smooth_Paper) > 99) {
mes "[Mad Hatter]";
mes "Party Hat! It's a Santa Hat I've remade by adding colorful paper for a festive look. Celebrate good times with a Party Hat! Come on!";
next;
@@ -1494,7 +1494,7 @@ xmas_in,35,30,3 script Hat Merchant#zero 4_M_NFLOSTMAN,{
mes "^3355FF*Squick Squick Grind Grind*^000000";
mes "^3355FF*Swish Swish Rustle Rustle*^000000";
next;
- delitem Santa's_Hat,1;
+ delitem Santas_Hat,1;
delitem Oil_Paper,100;
delitem Smooth_Paper,100;
mes "[Mad Hatter]";
@@ -1809,7 +1809,7 @@ yuno_in03,20,18,6 script Nehris#1 4_F_JOB_BLACKSMITH,{
mes "[Nehris]";
mes "This crown is inspired by the the one worn by the 'Isis' monster. It has a elegant look fitting for ancient royalty.";
next;
- if (countitem(Queen's_Hair_Ornament) > 0 && countitem(Emperium) > 0 && countitem(Gold) > 2 && Zeny > 19999) {
+ if (countitem(Queens_Hair_Ornament) > 0 && countitem(Emperium) > 0 && countitem(Gold) > 2 && Zeny > 19999) {
mes "[Nehris]";
mes "Thank you for";
mes "bringing everything.";
@@ -1817,7 +1817,7 @@ yuno_in03,20,18,6 script Nehris#1 4_F_JOB_BLACKSMITH,{
next;
mes "^3355FF* Clang Clang! Scrape Scrape! Jingle Jingle! *^000000";
next;
- delitem Queen's_Hair_Ornament,1;
+ delitem Queens_Hair_Ornament,1;
delitem Emperium,1;
delitem Gold,3;
Zeny -= 20000;
@@ -3579,7 +3579,7 @@ OnTouch:
next;
delitem Viking_Helm,1;
orcs_hero_hat = 17;
- getnameditem 5094,strcharinfo(0); //Orc_Hero_Helm
+ getnameditem 5094,strcharinfo(PC_NAME); //Orc_Hero_Helm
mes "[Orc Hero]";
mes "There you go. I marked a small indication on it. So wear this helm from now on. Do you understand? My human Orc Hero.";
close;
diff --git a/npc/quests/newgears/2005_headgears.txt b/npc/quests/newgears/2005_headgears.txt
index 065e1f300..80cea9f6a 100644
--- a/npc/quests/newgears/2005_headgears.txt
+++ b/npc/quests/newgears/2005_headgears.txt
@@ -1136,8 +1136,8 @@ lighthalzen,182,89,0 script Relaxed-Looking Lady 4_F_02,{
mes "That is, if you don't";
mes "mind me asking you.";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "My name is " + strcharinfo(0) + "";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "My name is " + strcharinfo(PC_NAME) + "";
mes "and I'm an adventurer~";
next;
mes "[Achiha]";
@@ -1553,11 +1553,11 @@ gl_prison1,137,138,5 script Zealotus#LhzHat ZHERLTHSH,{
mes "Forbidden Red Candle.";
next;
mes "[Zealotus]";
- mes "" + strcharinfo(0) + " will";
+ mes "" + strcharinfo(PC_NAME) + " will";
mes "forever have a share";
mes "in my power. Those that";
mes "bow to me must also bow";
- mes "to " + strcharinfo(0) + ". It shall be done.";
+ mes "to " + strcharinfo(PC_NAME) + ". It shall be done.";
specialeffect EF_DEVIL;
specialeffect EF_POISONHIT;
next;
@@ -1571,7 +1571,7 @@ gl_prison1,137,138,5 script Zealotus#LhzHat ZHERLTHSH,{
delitem 7263,1;
delitem 660,1;
delitem 7099,30;
- getnameditem 5121,strcharinfo(0);
+ getnameditem 5121,strcharinfo(PC_NAME);
ZLMASKQ = 8;
close;
}
@@ -1650,13 +1650,13 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
countitem(Tail_) || countitem(Whip) || countitem(Whip_) ||
countitem(Lariat) || countitem(Rapture_Rose) || countitem(Chemeti) ||
countitem(Whip_Of_Red_Flame) || countitem(Whip_Of_Ice_Piece) || countitem(Whip_Of_Earth) ||
- countitem(Jump_Rope) || countitem(Bladed_Whip) || countitem(Queen's_Whip) ||
+ countitem(Jump_Rope) || countitem(Bladed_Whip) || countitem(Queens_Whip) ||
countitem(Electric_Wire)
))
close; // no whip equipped or in inventory
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You're pathetic!";
mes "Aren't you supposed";
mes "to be a monster? You know";
@@ -1671,7 +1671,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
mes "^3355FFYou nonchalantly^000000";
mes "^3355FFbrandish your Whip.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That's right.";
next;
mes "^3355FF*Snap!*";
@@ -1751,7 +1751,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
delitem 7315,369;
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So what happens";
mes "if I don't decide not";
mes "to hurt you? Whatcha";
@@ -1793,7 +1793,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
mes "me or make me eat those";
mes "weird crystals again, are you?";
next;
- mes "^3131FF[" + strcharinfo(0) + "]^000000";
+ mes "^3131FF[" + strcharinfo(PC_NAME) + "]^000000";
switch( select( "Rybio", "Injustice", "Zealotus" ) )
{
case 1:
@@ -1886,7 +1886,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
switch( select( "Insult him.", "Apologize." ) )
{
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "First of all,";
mes "what exactly sets";
mes "you apart from all the";
@@ -1901,7 +1901,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
switch( select( "Break his pride.", "Tell him you were joking." ) )
{
case 1:
- mes "^3131FF[" + strcharinfo(0) + "]^000000";
+ mes "^3131FF[" + strcharinfo(PC_NAME) + "]^000000";
mes "I mean, there are guys";
mes "like Bloody Murderer out";
mes "there who are more evil";
@@ -1911,7 +1911,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
switch( select( "Go for the low blow.", "Try to salvage his confidence." ) )
{
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You know, me and Zealotus";
mes "were actually talking about";
mes "you recently. She told me that";
@@ -1919,7 +1919,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
mes "feel sick! I mean, what kind";
mes "of monster is afraid of humans?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now you've reached the";
mes "point where even Injustice";
mes "is manlier than you now,";
@@ -1956,7 +1956,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
emotion e_an;
close;
case 2:
- mes "^3131FF[" + strcharinfo(0) + "]^000000";
+ mes "^3131FF[" + strcharinfo(PC_NAME) + "]^000000";
mes "But know that I think";
mes "about it, maybe you look";
mes "much tougher than that";
@@ -1969,12 +1969,12 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
mes "...";
mes "......";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...Yeeeeeah.";
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But now that I think";
mes "about it, you actually";
mes "are much better than all";
@@ -1989,7 +1989,7 @@ gl_prison1,97,104,1 script Phendark#LhzHat PHENDARK,{
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I...";
mes "I was just kidding!";
mes "How could she hate";
diff --git a/npc/quests/newgears/2006_headgears.txt b/npc/quests/newgears/2006_headgears.txt
index 9daf0f24c..0a90d3a0b 100644
--- a/npc/quests/newgears/2006_headgears.txt
+++ b/npc/quests/newgears/2006_headgears.txt
@@ -577,8 +577,8 @@ hugel,147,103,3 script Ghenirhemin 4_M_HUGRANFA,{
//== Hahoe Mask / Mythical Lion Mask / Bride Mask ==========
payon,135,320,3 script Chungwolmang 4W_M_01,{
if (moza_tal == 2) {
- if (countitem(Bookclip_In_Memory) > 19 && countitem(Cactus_Needle) > 99 && countitem(Wild_Boar's_Mane) > 99) {
- //Hahoe_Mask: Bookclip_In_Memory, Cactus_Needle, Wild_Boar's_Mane
+ if (countitem(Bookclip_In_Memory) > 19 && countitem(Cactus_Needle) > 99 && countitem(Wild_Boars_Mane) > 99) {
+ //Hahoe_Mask: Bookclip_In_Memory, Cactus_Needle, Wild_Boars_Mane
callsub S_MakeMask,5176,7015,20,952,100,1028,100,0,0;
}
if (countitem(Slender_Snake) > 499 && countitem(Tooth_Of_Ancient_Fish) > 1 && countitem(Orange_Dyestuffs) > 0) {
diff --git a/npc/quests/newgears/2008_headgears.txt b/npc/quests/newgears/2008_headgears.txt
index b702cbe4c..4fdd378cf 100644
--- a/npc/quests/newgears/2008_headgears.txt
+++ b/npc/quests/newgears/2008_headgears.txt
@@ -77,7 +77,7 @@ gef_fild05,80,149,3 script Myu#08_hat 4_F_YUNYANG,{
mes "[Myu]";
mes "...It was a fruitless effort Meow...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes " (Meow again...What a weirdo.)";
close;
case 2:
@@ -168,7 +168,7 @@ gef_fild05,80,149,3 script Myu#08_hat 4_F_YUNYANG,{
mes "ONE THOUSAND TIMES! -chuckles-";
mes "(Meow Meow Meow~)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(What a weirdo.. Anyways..what's with that meow meow sound?)";
mes "Just keep your promises.";
mes "after the work is done...Ok?";
@@ -246,7 +246,7 @@ morocc_in,137,102,5 script Trainee#2008hat01 4_KID01,{
mes "I want to challenge my skills!!";
next;
if (countitem(Fillet) > 0 || countitem(Fillet_White) > 0 || countitem(Fillet_Red) > 0 || countitem(Fillet_Blue) > 0 || countitem(Fillet_Green) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(I have a Cute Ribbon...what should I do..?)";
next;
switch(select("Ask Elgo to dye it.", "Leave it alone.")){
@@ -743,7 +743,7 @@ morocc_in,137,102,5 script Trainee#2008hat01 4_KID01,{
mes "But you don't even have one.";
close;
case 6:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, I'm not sure this time. I will come back next time.";
mes "Take Care.";
next;
@@ -752,7 +752,7 @@ morocc_in,137,102,5 script Trainee#2008hat01 4_KID01,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm, I will bring you one next time.";
mes "Take Care.";
next;
@@ -772,11 +772,11 @@ morocc_in,137,102,5 script Trainee#2008hat01 4_KID01,{
in_orcs01,119,106,3 script Orc Lady#2008hat03 ORC_LADY,2,2,{
OnTouch:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This Orc Lady is absorbed in something.";
mes "I don't know what she's making...but she wouldn't notice me even I walk up on her.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Should I talk to her?...Uh..Do we even understand eachother?";
next;
mes "THe Orc Lady suddenly turns around looking surprised.";
@@ -790,7 +790,7 @@ OnTouch:
mes "You weirdo.";
mes "My name is Aite-Nah-Zir-Be.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Surprisingly the Orc Lady introduced herself to me.";
mes "How should I react?";
next;
@@ -821,18 +821,18 @@ OnTouch:
mes "1,000 Maneater Blossoms..";
mes "Bring me....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^4d4dff Silk Ribbon and 1,000 Maneater Blossoms^000000, huh..)";
mes "Got it. I will go and bring back the materials.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I nodded goodbye to her with a smile on my face saying nothing.";
mes "She nodded back to be as if she understood that was my good bye.";
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's run away while she's still in shock.";
close2;
warp "gef_fild10",223,203;
diff --git a/npc/quests/newgears/2010_headgears.txt b/npc/quests/newgears/2010_headgears.txt
index bfdea103a..7fb5178b8 100644
--- a/npc/quests/newgears/2010_headgears.txt
+++ b/npc/quests/newgears/2010_headgears.txt
@@ -334,7 +334,7 @@ comodo,236,164,0 script Hat Girl#Hair_Brush 1_F_04,{
mes "- after emptying some of it. -";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I got the Hair Brush.";
mes "...but it makes me sad.";
delitem Mixture,1; //Mixture
@@ -368,8 +368,8 @@ comodo,236,164,0 script Hat Girl#Hair_Brush 1_F_04,{
//== 4. Making the new headgear Statue Of Baby Angel(5443) =
alberta,151,78,0 script Bebete#Baby_Angel_Status 4W_KID,{
- // Check if wearing Ear_Of_Angel's_Wing, Angelic_Chain, Flying_Angel
- if (!isequipped(Ear_Of_Angel's_Wing) && !isequipped(Angelic_Chain) && !isequipped(Flying_Angel)) {
+ // Check if wearing Ear_Of_Angels_Wing, Angelic_Chain, Flying_Angel
+ if (!isequipped(Ear_Of_Angels_Wing) && !isequipped(Angelic_Chain) && !isequipped(Flying_Angel)) {
mes "[Bebete]";
mes "A fake angel? Go away!!";
next;
@@ -450,10 +450,10 @@ alberta,151,78,0 script Bebete#Baby_Angel_Status 4W_KID,{
mes "See you again, my angel~!";
emotion e_thx;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "... ...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm... I guess I was fooled by that little kid.";
close;
}
@@ -474,10 +474,10 @@ alberta,151,78,0 script Bebete#Baby_Angel_Status 4W_KID,{
mes "Are you a real angel? Have you been to heaven?";
next;
if (select("What a bullshit!", "Let's keep the childhood innocence!") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Angel and heaven? It's all made up! ";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There's nothing. Everything is lie!";
emotion e_gg,1;
next;
@@ -486,7 +486,7 @@ alberta,151,78,0 script Bebete#Baby_Angel_Status 4W_KID,{
emotion e_sigh;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Of course. I used to dance with the dragon and zebra";
mes "on the vanilla-taste clouds.";
next;
@@ -522,7 +522,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "Hmm..Hm..";
mes "It seems my transformation into the child's appearance is succeessful.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "... ... ... ...";
next;
mes "[???]";
@@ -550,10 +550,10 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "I need your help!";
next;
if (select("Just ignore it.", "Let's help him.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Talking frog...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now I've seen everything.";
next;
mes "[King Froggie Vll]";
@@ -562,7 +562,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
donpcevent "Roda Frog#Frog_Cap::OnDisable";
end;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What can I help you?";
next;
mes "[King Froggie Vll]";
@@ -570,7 +570,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
setquest 5000;
2009_hat = 1;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Sure, I will.";
next;
mes "[King Froggie Vll]";
@@ -592,7 +592,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "Oh, you brought all of them!";
next;
mes "[King Froggie Vll]";
- mes "Thank you so much, " + strcharinfo(0) + ".";
+ mes "Thank you so much, " + strcharinfo(PC_NAME) + ".";
emotion e_thx;
next;
mes "[King Froggie Vll]";
@@ -601,7 +601,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "[King Froggie Vll]";
mes "Frogs are healthy food to the snakes.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I know well.";
next;
mes "[King Froggie Vll]";
@@ -630,7 +630,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
end;
}
else if (questprogress(5001,HUNTING) == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm back.";
next;
mes "[King Froggie Vll]";
@@ -648,7 +648,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
changequest 5001,5002;
2009_hat = 3;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm happy to be added in the history book. I'll go and get them.";
next;
mes "[King Froggie Vll]";
@@ -671,7 +671,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "[King Froggie Vll]";
mes "Oh, you brought Poisonous Canines! Now, I'm able to put you in the frog history book officially.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That's good for me.";
next;
mes "[King Froggie Vll]";
@@ -711,7 +711,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "[King Froggie Vll]";
mes "You are already the hero for our frogs! If I have a child, I would marry you up with my child.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah.. No, thanks.";
mes "^FF0000(Are you telling me to marry with A Frog???)^000000";
next;
@@ -765,7 +765,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
}
mes "[King Froggie Vll]";
mes "Frogs, do you have any objection";
- mes "to give our hero, " + strcharinfo(0) + "";
+ mes "to give our hero, " + strcharinfo(PC_NAME) + "";
mes "a Frog Hat which is one of our precious treasures?";
next;
mes "[Sounds from somewhere]";
@@ -777,7 +777,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
mes "Hmm, there is no objection.";
next;
mes "[King Froggie Vll]";
- mes "I hearby give " + strcharinfo(0) + ", our hero, this Frog Hat.";
+ mes "I hearby give " + strcharinfo(PC_NAME) + ", our hero, this Frog Hat.";
specialeffect2 EF_MAPPILLAR2;
specialeffect2 EF_BLESSING;
erasequest 5004;
@@ -794,7 +794,7 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
}
else if (2009_hat == 6) {
mes "[King Froggie Vll]";
- mes "All the frogs in the world, praise " + strcharinfo(0) + ", our eternal hero!";
+ mes "All the frogs in the world, praise " + strcharinfo(PC_NAME) + ", our eternal hero!";
emotion e_thx;
close2;
donpcevent "Roda Frog#Frog_Cap::OnDisable";
@@ -836,13 +836,13 @@ OnTouch:
donpcevent "Roda Frog#Frog_Cap::OnEnable";
if (2009_hat > 0) {
emotion e_dots,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's so amazing to see";
mes "the frog which transforms itself.";
close;
}
emotion e_omg,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh my.. the frog transformed into a child...";
close;
}
diff --git a/npc/quests/ninja_quests.txt b/npc/quests/ninja_quests.txt
index b8322b4f5..78f21d38b 100644
--- a/npc/quests/ninja_quests.txt
+++ b/npc/quests/ninja_quests.txt
@@ -897,7 +897,7 @@ que_ng,72,34,3 script Craftsman Kaibara 4_M_EINOLD,{
mes "If you ever happen to gather all these materials one day, feel free to come back.";
close;
}else{
- if(countitem(Dragon_Scale) < 400 || countitem(Oridecon) < 5 || countitem(Dragon's_Skin) < 30){
+ if(countitem(Dragon_Scale) < 400 || countitem(Oridecon) < 5 || countitem(Dragons_Skin) < 30){
mes "[Kaibara]";
mes "It looks like there are not enough ingredients for me to make you a Gokurin.";
next;
@@ -1180,7 +1180,7 @@ que_ng,22,62,3 script Tetsu 4_M_SEAMAN,{
break;
}
- if(countitem(Steel)<50 || countitem(Harpy's_Feather)<20 || countitem(Oridecon)<5){
+ if (countitem(Steel) < 50 || countitem(Harpys_Feather) < 20 || countitem(Oridecon) < 5) {
mes "[Tetsu]";
mes "It looks like you haven't brought me enough materials to make you a Fuuma Shuriken Beneki.";
next;
diff --git a/npc/quests/obb_quest.txt b/npc/quests/obb_quest.txt
index 9ce1bacf9..504e5ff70 100644
--- a/npc/quests/obb_quest.txt
+++ b/npc/quests/obb_quest.txt
@@ -674,14 +674,14 @@ moc_ruins,105,62,4 script Jacob#thai 1_M_04,{
next;
input .@input$;
if (.@input$ != "Pandger Mayer introduced you") {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
mes "[Jacob]";
mes "....Sorry, what did you say? I have no idea what you're talking about.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Pandger Mayer introduced you.";
next;
mes "[Jacob]";
@@ -1021,7 +1021,7 @@ moc_ruins,105,62,4 script Jacob#thai 1_M_04,{
mes "Respect your parents when they're";
mes "still alive. It's too late to be sorry after you've lost them.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(Hmmm...I just know that there's more that this guy can tell me...)";
close;
}
@@ -1036,7 +1036,7 @@ moc_ruins,105,62,4 script Jacob#thai 1_M_04,{
mes "'^0000FFTry to be in someone else's shoes before judging that person.^000000'";
mes "Do you understand?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(There's more this guy can tell me, I just know it...)";
close;
}
diff --git a/npc/quests/okolnir.txt b/npc/quests/okolnir.txt
index a9772ed5a..bdf763bd5 100644
--- a/npc/quests/okolnir.txt
+++ b/npc/quests/okolnir.txt
@@ -44,7 +44,7 @@ function script F_Okolnir {
- script Guide#gq_main FAKE_NPC,{
.@sub$ = callfunc("F_Okolnir");
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
if (getd("$siz_"+.@sub$+"_on") == 0) {
mes "[Guide]";
mes "This castle has a hidden secret.";
@@ -192,9 +192,9 @@ que_qsch05,345,23,0 warp Gate02#gq_sch05 1,1,schg_cas05,369,306
.@sub$ = callfunc("F_Okolnir");
.@t$ = ((compare(strnpcinfo(NPC_MAP),"aru"))?"arug_cas0":"schg_cas0")+(charat(strnpcinfo(NPC_MAP),getstrlen(strnpcinfo(NPC_MAP))-1));
.@GID = getcastledata(.@t$,1);
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
cutin "wish_maiden31",1;
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
mes "[Wish Maiden]";
mes "I am... Wish maiden.";
mes "Mourning in this virtual realm, Okolnir.";
@@ -258,7 +258,7 @@ que_qsch05,345,23,0 warp Gate02#gq_sch05 1,1,schg_cas05,369,306
donpcevent "#okolnir_"+.@sub$+"::OnEnable";
disablenpc "Wish Maiden#gq_"+.@sub$;
cutin "wish_maiden11",255;
- announce "["+ strcharinfo(0) +"], of the guild ["+ getguildname(.@GID) +"] has opened the gates to the realm of Okolnir.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"], of the guild ["+ getguildname(.@GID) +"] has opened the gates to the realm of Okolnir.",bc_all,"0x70dbdb";
end;
}
else {
@@ -358,7 +358,7 @@ que_qsch05,345,23,0 warp Gate02#gq_sch05 1,1,schg_cas05,369,306
mes "[Wish Maiden]";
mes "...You are not qualified.";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
cutin "wish_maiden11",255;
end;
}
@@ -447,7 +447,7 @@ OnTouch:
case 6: .@m = 1659; break;
default: .@m = 1652; break;
}
- monster "que_q"+getarg(0),getarg(1),getarg(2),strcharinfo(0),.@m,1,"#Gate_manager_"+getarg(0)+"::OnMyMobDead";
+ monster "que_q"+getarg(0),getarg(1),getarg(2),strcharinfo(PC_NAME),.@m,1,"#Gate_manager_"+getarg(0)+"::OnMyMobDead";
return;
}
@@ -2161,8 +2161,8 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss WIS
.@sub$ = callfunc("F_Okolnir");
.@t$ = ((compare(strnpcinfo(NPC_MAP),"aru"))?"arug_cas0":"schg_cas0")+(charat(strnpcinfo(NPC_MAP),getstrlen(strnpcinfo(NPC_MAP))-1));
.@GID = getcastledata(.@t$,1);
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (compare(.@sub$,"aru")) {
setarray .@n, 7835,1,7836,1,7837,1,7838,1,2513,1,7291,10,7293,10,7063,100,985,20;
.@rwd = 2541; //Asprika
@@ -2198,7 +2198,7 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss WIS
delitem .@n[.@i],.@n[.@i+1];
getitem .@rwd,1;
getitem Valkyrie_Gift,1;
- announce "["+ strcharinfo(0) +"], of guild ["+ getguildname(.@GID) +"] has brought a "+getitemname(.@rwd)+" into this world.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"], of guild ["+ getguildname(.@GID) +"] has brought a "+getitemname(.@rwd)+" into this world.",bc_all,"0x70dbdb";
close2;
cutin "wish_maiden11",255;
disablenpc "Wish Maiden#"+.@sub$+"_gift";
diff --git a/npc/quests/partyrelay.txt b/npc/quests/partyrelay.txt
index 54d78bec6..c9d4e48f9 100644
--- a/npc/quests/partyrelay.txt
+++ b/npc/quests/partyrelay.txt
@@ -34,9 +34,9 @@
//=========================================================================
payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
- .@partyleader = getpartyleader(getcharid(1),2);
+ .@partyleader = getpartyleader(getcharid(CHAR_ID_PARTY),2);
if (checkweight(Resin,300) == 0) {
mes "^3355FFWait a minute! You're";
mes "carrying too many items";
@@ -54,7 +54,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "of your group members with you.";
close;
}
- if ((countitem(Mission_Certificate12) > 0) && (.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5)) {
+ if ((countitem(Mission_Certificate12) > 0) && (.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5)) {
mes "[Ledrion]";
mes "Ah, you've brought the";
mes "last ticket from Rospii.";
@@ -129,7 +129,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "over to Gatan right now?";
close;
}
- if ((countitem(Mission_Certificate8) > 0) && (.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5)) {
+ if ((countitem(Mission_Certificate8) > 0) && (.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5)) {
mes "[Ledrion]";
mes "Great, you've brought";
mes "me the eighth ticket from";
@@ -178,7 +178,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "a ticket to Gatan?";
close;
}
- if ((countitem(Mission_Certificate4) > 0) && (.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5)) {
+ if ((countitem(Mission_Certificate4) > 0) && (.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5)) {
mes "[Ledrion]";
mes "I see that you've brought";
mes "me the fourth ticket from";
@@ -219,7 +219,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "come to me, not yet.";
close;
}
- if ((BaseLevel > 39) && (.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5) && (party_relay == 1)) {
+ if ((BaseLevel > 39) && (.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5) && (party_relay == 1)) {
mes "[Ledrion]";
mes "As I mentioned earlier,";
mes "I'm challenging guild";
@@ -271,7 +271,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "once the time is right.";
close;
}
- if ((.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5) && (party_relay > 0)) {
+ if ((.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5) && (party_relay > 0)) {
mes "[Ledrion]";
mes "As leader of your";
mes "Party, you should";
@@ -280,7 +280,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
mes "of your partners.";
close;
}
- if ((.@partyleader != getcharid(0)) && (getcharid(2) > 0)) {
+ if ((.@partyleader != getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0)) {
mes "[Ledrion]";
mes "I'm sorry, but there's";
mes "nothing I can really offer";
@@ -363,7 +363,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
next;
switch(select("Sure!", "No.")) {
case 1:
- if ((BaseLevel > 39) && (.@partyleader == getcharid(0)) && (getcharid(2) > 0) && (.@partymembercount > 5)) {
+ if ((BaseLevel > 39) && (.@partyleader == getcharid(CHAR_ID_CHAR)) && (getcharid(CHAR_ID_GUILD) > 0) && (.@partymembercount > 5)) {
mes "[Ledrion]";
mes "Great! Let's see...";
mes "Well, you meet all the";
@@ -402,9 +402,9 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 4_M_MANAGER,{
}
payon,83,327,3 script Gatan#payon::RelayGatan 4_M_04,{
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
- .@partyleader = getpartyleader(getcharid(1),2);
+ .@partyleader = getpartyleader(getcharid(CHAR_ID_PARTY),2);
if (checkweight(Resin,300) == 0) {
mes "^3355FFWait a minute! You're";
mes "carrying too many items";
@@ -1837,9 +1837,9 @@ payon,83,327,3 script Gatan#payon::RelayGatan 4_M_04,{
}
payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
- .@partyleader = getpartyleader(getcharid(1),2);
+ .@partyleader = getpartyleader(getcharid(CHAR_ID_PARTY),2);
if (checkweight(Resin,300) == 0) {
mes "^3355FFWait a minute! You're";
mes "carrying too many items";
@@ -2015,7 +2015,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "you've already forgotten.";
close;
}
- if ((party_relay == 19) && (.@relaytime >= 14) && (.@relaytime < 17) && (countitem(Thin_N'_Long_Tongue) > 9) && (countitem(Leopard_Talon) > 9) && (countitem(Poison_Toad's_Skin) > 9)) {
+ if ((party_relay == 19) && (.@relaytime >= 14) && (.@relaytime < 17) && (countitem(Thin_N_Long_Tongue) > 9) && (countitem(Leopard_Talon) > 9) && (countitem(Poison_Toads_Skin) > 9)) {
mes "[Bafhail]";
mes "Well, it looks like you came";
mes "at the right time and brought";
@@ -2023,9 +2023,9 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "Please take your next ticket";
mes "and this small reward for you.";
next;
- delitem Thin_N'_Long_Tongue,10;
+ delitem Thin_N_Long_Tongue,10;
delitem Leopard_Talon,10;
- delitem Poison_Toad's_Skin,10;
+ delitem Poison_Toads_Skin,10;
party_relay = 20;
getitem Mission_Certificate7,1;
getitem Leaf_Of_Yggdrasil,2;
@@ -2039,7 +2039,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "I'll see you later, then.";
close;
}
- else if ((party_relay == 19) && (.@relaytime >= 18) && (.@relaytime < 21) && (countitem(Thin_N'_Long_Tongue) > 9) && (countitem(Leopard_Talon) > 9) && (countitem(Poison_Toad's_Skin) > 9)) {
+ else if ((party_relay == 19) && (.@relaytime >= 18) && (.@relaytime < 21) && (countitem(Thin_N_Long_Tongue) > 9) && (countitem(Leopard_Talon) > 9) && (countitem(Poison_Toads_Skin) > 9)) {
mes "[Bafhail]";
mes "Well, it looks like you came";
mes "at the right time and brought";
@@ -2047,9 +2047,9 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "Please take your next ticket";
mes "and this small reward for you.";
next;
- delitem Thin_N'_Long_Tongue,10;
+ delitem Thin_N_Long_Tongue,10;
delitem Leopard_Talon,10;
- delitem Poison_Toad's_Skin,10;
+ delitem Poison_Toads_Skin,10;
party_relay = 20;
getitem Mission_Certificate7,1;
getitem Leaf_Of_Yggdrasil,2;
@@ -2310,7 +2310,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "Standard Time. Don't forget!";
close;
}
- if ((party_relay == 7) && ((.@relaytime >= 8) && (.@relaytime < 11)) && (countitem(Porcupine_Spike) > 9) && (countitem(Elder_Pixie's_Beard) > 9) && (countitem(Fish_Tail) > 9)) {
+ if ((party_relay == 7) && ((.@relaytime >= 8) && (.@relaytime < 11)) && (countitem(Porcupine_Spike) > 9) && (countitem(Elder_Pixies_Beard) > 9) && (countitem(Fish_Tail) > 9)) {
mes "[Bafhail]";
mes "Well, it looks like you came";
mes "at the right time and brought";
@@ -2319,7 +2319,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "and this small reward for you.";
next;
delitem Porcupine_Spike,10;
- delitem Elder_Pixie's_Beard,10;
+ delitem Elder_Pixies_Beard,10;
delitem Fish_Tail,10;
party_relay = 9;
getitem Mission_Certificate3,1;
@@ -2332,7 +2332,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "Good luck on your travels~";
close;
}
- else if ((party_relay == 7) && ((.@relaytime >= 21) && (countitem(Porcupine_Spike) > 9) && (countitem(Elder_Pixie's_Beard) > 9) && (countitem(Fish_Tail) > 9))) {
+ else if ((party_relay == 7) && ((.@relaytime >= 21) && (countitem(Porcupine_Spike) > 9) && (countitem(Elder_Pixies_Beard) > 9) && (countitem(Fish_Tail) > 9))) {
mes "[Bafhail]";
mes "Well, it looks like you came";
mes "at the right time and brought";
@@ -2341,7 +2341,7 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
mes "and this small reward for you.";
next;
delitem Porcupine_Spike,10;
- delitem Elder_Pixie's_Beard,10;
+ delitem Elder_Pixies_Beard,10;
delitem Fish_Tail,10;
party_relay = 9;
getitem Mission_Certificate3,1;
@@ -2470,9 +2470,9 @@ payon,204,221,3 script Bafhail#payon::RelayBafhail 4_M_JOB_BLACKSMITH,{
}
payon,168,314,3 script Lospii#payon::RelayLospii 4_M_KID1,{
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
- .@partyleader = getpartyleader(getcharid(1),2);
+ .@partyleader = getpartyleader(getcharid(CHAR_ID_PARTY),2);
if (checkweight(Resin,300) == 0) {
mes "^3355FFWait a minute! You're";
mes "carrying too many items";
diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index 9b0a5ad7e..80a458dea 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -762,7 +762,7 @@ lhz_in01,136,260,5 script Munkenro#1 4_M_RUSMAN1,{
next;
mes "..................";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There's no avoiding it.";
mes "Ok, I need to try.";
close;
@@ -825,7 +825,7 @@ lhz_in01,132,259,5 script Sikaiz#1 4_M_LGTGUARD,{
mes "I already accept you. Just write down your name here. Go ahead.";
next;
input .@input$;
- if (.@input$ != strcharinfo(0)) {
+ if (.@input$ != strcharinfo(PC_NAME)) {
mes "[Sikaiz]";
mes "Don't you know your own name?";
mes "Write it again.";
@@ -833,7 +833,7 @@ lhz_in01,132,259,5 script Sikaiz#1 4_M_LGTGUARD,{
}
else {
mes "[Sikaiz]";
- mes "Ok. I got your name, " + strcharinfo(0) + ". Great name! Registration is done!";
+ mes "Ok. I got your name, " + strcharinfo(PC_NAME) + ". Great name! Registration is done!";
mes "You've become a member of the three kingdoms!";
next;
mes "[Sikaiz]";
@@ -1709,7 +1709,7 @@ moc_fild22b,230,197,5 script Munkenro#2 4_M_RUSMAN1,{
mes "[Munkenro]";
mes "Um. You're the one that";
mes "did some favors before...";
- mes "Your name is " + strcharinfo(0) + "?";
+ mes "Your name is " + strcharinfo(PC_NAME) + "?";
mes "I remember you.";
next;
mes "[Munkenro]";
@@ -2061,7 +2061,7 @@ mid_camp,222,283,4 script Marian#ep13bs 4_F_JOB_HUNTER,{
mes "What brings you here?";
emotion e_lv;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The instructor sent me.";
mes "He told me to get supplies from the motherland.";
next;
@@ -2147,14 +2147,14 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "Huuu, no time to rest.";
mes "When re-enforcements come.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me.";
next;
mes "[Instructor Lugen]";
mes "Hi!";
mes "What brings you here?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Marian sent me to here.";
next;
mes "[Instructor Lugen]";
@@ -2213,7 +2213,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
next;
switch(select("Yes.", "No.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I will register...";
next;
mes "[Instructor Lugen]";
@@ -2285,7 +2285,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "and try not to catch a cold.";
next;
mes "[Instructor Lugen]";
- mes "And I have a request of you, "+ strcharinfo(0) +".";
+ mes "And I have a request of you, "+ strcharinfo(PC_NAME) +".";
next;
mes "[Instructor Lugen]";
mes "It is to distribute supplies";
@@ -2464,7 +2464,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
if (ep13_newbs == 20) {
mes "[Instructor Lugen]";
mes "It was really good to request";
- mes "you, "+ strcharinfo(0) +".";
+ mes "you, "+ strcharinfo(PC_NAME) +".";
mes "Your work has been";
mes "a great help to us.";
mes "I really appreciate it.";
@@ -2487,14 +2487,14 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "Huu...~";
emotion e_pif;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What is wrong with you?";
next;
mes "[Instructor Lugen]";
mes "Ah, nothing...";
mes "I'm just talking to myself.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I've never seen you sigh.";
mes "If you have something";
mes "to say please tell me.";
@@ -2502,7 +2502,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "[Instructor Lugen]";
mes "It's just a personal thing...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Tell me.";
mes "I think I can help you.";
next;
@@ -2527,13 +2527,13 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
next;
switch(select("Help.", "Just listen.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I will help with your problem!";
next;
mes "[Instructor Lugen]";
mes "No, it is ok.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Don't say no!";
mes "It's not a problem at all!";
mes "So, I'll go to him for you";
@@ -2542,7 +2542,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "[Instructor Lugen]";
mes "......";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, I really want to help~";
next;
mes "[Instructor Lugen]";
@@ -2551,7 +2551,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "If so, can you please";
mes "deliver this letter to him?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You can count on me!!";
next;
mes "[Instructor Lugen]";
@@ -2563,7 +2563,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
setquest 11099;
close;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, ya work is tough.";
next;
mes "[Instructor Lugen]";
@@ -2591,13 +2591,13 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
next;
switch(select("Help him.", "Just pass.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "May I help you?";
next;
mes "[Instructor Lugen]";
mes "No, it's ok.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Don't say no!";
mes "It is not difficult at all!";
mes "So, I'm supposed to go to him and see if he's ok, right?";
@@ -2605,7 +2605,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "[Instructor Lugen]";
mes "......";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, I really want to help~";
next;
mes "[Instructor Lugen]";
@@ -2613,7 +2613,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "I really appreciate that.";
mes "If so, can you please deliver this letter to him?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You believe me!!";
next;
mes "[Instructor Lugen]";
@@ -2624,7 +2624,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
setquest 11099;
close;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmm...";
close;
}
@@ -2647,7 +2647,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
}
}
if (ep13_newbs == 24) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Instructor! I met Otto!";
mes "He is doing very well~";
next;
@@ -2657,11 +2657,11 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "being sick and far away";
mes "from his homeland.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have a letter from him, too.";
next;
if (countitem(Letter_From_Otto) < 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huh, ehh..?!?!";
next;
mes "[Instructor Lugen]";
@@ -2677,7 +2677,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "[Instructor Lugen]";
mes "I don't know how to thank you.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hehe, don't mention it.";
mes "And Otto said that he";
mes "would come to see you.";
@@ -2710,7 +2710,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
next;
mes "[Instructor Lugen]";
mes "It is good to see you,";
- mes ""+ strcharinfo(0) +",";
+ mes ""+ strcharinfo(PC_NAME) +",";
mes "enjoy yourself here.";
mes "If you have any troubles,";
mes "come to see me.";
@@ -2718,7 +2718,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 4_M_YOUNGKNIGHT,{
mes "[Instructor Lugen]";
mes "I so happy that I've";
mes "met a person like";
- mes "you, "+ strcharinfo(0) +".";
+ mes "you, "+ strcharinfo(PC_NAME) +".";
close;
}
else {
@@ -2738,13 +2738,13 @@ mid_camp,123,290,4 script Otto#ep13bs 4_M_RUSMAN1,{
close;
}
if (ep13_newbs == 23) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Mr. Otto?!";
next;
mes "[Otto]";
mes "Hmm, how can I help you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Instructor Lugen sent me!";
mes "He is worrying about you getting worse.";
next;
@@ -2754,12 +2754,12 @@ mid_camp,123,290,4 script Otto#ep13bs 4_M_RUSMAN1,{
mes "It was nothing.";
mes "He's still overprotective..";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "That's good to hear.";
mes "Ah, and he wrote this letter for you.";
next;
if (countitem(Letter_From_Lugen) < 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, where is it...";
next;
mes "[Otto]";
@@ -2872,12 +2872,12 @@ mid_campin,106,122,4 script Receptionist Brink#ep13b 4_M_ORIENT02,{
mes "What...your name...";
emotion e_swt2;
next;
- mes "["+ strcharinfo(0) +"]";
- mes "My name is "+ strcharinfo(0) +".";
+ mes "["+ strcharinfo(PC_NAME) +"]";
+ mes "My name is "+ strcharinfo(PC_NAME) +".";
next;
mes "[Brink]";
mes "...Ah...";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "You...";
mes "...registered...Hmm...";
mes "...";
@@ -2894,7 +2894,7 @@ mid_campin,106,122,4 script Receptionist Brink#ep13b 4_M_ORIENT02,{
mes "I mean...";
emotion e_swt2;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is it finished?";
next;
mes "[Brink]";
@@ -2955,7 +2955,7 @@ mid_camp,264,263,4 script Diego#ep13bs 4_M_RACHMAN1,{
mes "Thanks.";
emotion e_thx;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What do you need?";
next;
mes "[Diego]";
@@ -2971,9 +2971,9 @@ mid_camp,264,263,4 script Diego#ep13bs 4_M_RACHMAN1,{
mes "[Diego]";
mes "Well, let me see...";
mes "I'm really lucky to see you,";
- mes "passing by here, "+ strcharinfo(0) +".";
+ mes "passing by here, "+ strcharinfo(PC_NAME) +".";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hah!! How did you know my name?!";
emotion e_omg,1;
next;
@@ -3074,7 +3074,7 @@ mid_camp,264,263,4 script Diego#ep13bs 4_M_RACHMAN1,{
mes "you came along.";
mes "It's got to be fate.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No, I just...";
mes "I was assigned to stay";
mes "in these barracks.";
@@ -3122,7 +3122,7 @@ OnTouch:
close;
}
if (ep13_newbs == 10) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Haaaam~~~~~";
mes "what a good night!!";
next;
@@ -3215,7 +3215,7 @@ mid_camp,160,298,4 script Jan#ep13bs 4_LGTSCIENCE,{
mes "Wawa, what is this~";
mes "Hey, is that for me?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes...";
emotion e_swt,1;
next;
@@ -3249,7 +3249,7 @@ mid_camp,160,298,4 script Jan#ep13bs 4_LGTSCIENCE,{
mes "I really wanted it.";
mes "I really love it~~";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What is... it~~?";
next;
mes "[Jan]";
@@ -3276,14 +3276,14 @@ mid_camp,160,298,4 script Jan#ep13bs 4_LGTSCIENCE,{
mid_camp,30,168,4 script Gerard#ep13bs 4_DST_SOLDIER,{
if (ep13_newbs == 17) {
if (countitem(Supply_Box) > 0) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you Gerard?";
next;
mes "[Gerard]";
mes "Yes, I am.";
mes "What brings you here?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Instructor Lugen sent";
mes "me for an errand.";
next;
@@ -3298,7 +3298,7 @@ mid_camp,30,168,4 script Gerard#ep13bs 4_DST_SOLDIER,{
mes "I really appreciate this.";
emotion e_rice;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...";
mes "You ran out of supplies, but";
mes "you didn't go back to the camp?";
@@ -3355,7 +3355,7 @@ man_fild01,80,248,4 script Alberto#ep13bs 4_M_RASWORD,{
mes "[Alberto]";
mes "Hhh, I am cold...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Mr. Alberto, take this.";
mes "The Instructor sent";
mes "me on an errand.";
@@ -3381,7 +3381,7 @@ man_fild01,80,248,4 script Alberto#ep13bs 4_M_RASWORD,{
mes "- else's stuff makes -";
mes "- me feel strange. -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here it is.";
mes "Hopefully it'll warm you up.";
next;
@@ -3482,7 +3482,7 @@ spl_fild02,348,76,0 script Tree#ep13bs1::ep13tree HIDDEN_NPC,{
mes "- Bomb, bomb~~ -";
mes "- This branch is decayed. -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This is useless.";
mes "I need to find others...";
close;
@@ -3868,7 +3868,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
next;
switch(select("Show loot from Nepentheses.", "Scold him.", "Comfort him.")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, take a look here...";
mes "These Nepentheses aren't";
mes "any more brutal or grotesque";
@@ -3879,7 +3879,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "Isn't this from";
mes "the Nepentheses?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's right!";
mes "I took care of them.";
mes "It was easy, haha!";
@@ -3891,7 +3891,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "Are you a soldier?";
mes "Captain? Or agent?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, I'm just a wandering";
mes "adventurer. I've come here";
mes "to challenge this new place";
@@ -3959,7 +3959,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
changequest 2147,2148;
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You call yourself a monster";
mes "scholar, and yet you're afraid";
mes "of practicing your expertise.";
@@ -3970,7 +3970,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "but I can't hide my true feelings.";
close;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Come on, you're a respected";
mes "monster scholar. You'll find";
mes "that the monsters in this world";
@@ -4167,11 +4167,11 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "[Rumis Block]";
mes "Welcome back. Did you find out about them?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, let's see...";
next;
while(1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The owner of the tricorn hat";
mes "is a monster called...";
input .@input$;
@@ -4182,23 +4182,23 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
}
else {
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"...? I don't think that was the name...";
next;
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The size of Tatacho is about...";
input .@input$;
mes "^3131FF"+.@input$+"^000000, I guess...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tatachos are usually sitting on the ground, but they roll around if their body temperature goes down too low because of the cold weather.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "About that tricorn hat, I've concluded, based on my opinion about their appearance and their movement patterns, that it is not active or productive at all:";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "They are not intelligent enough to produce a sophisticated hat like that.";
next;
mes "[Rumis Block]";
@@ -4218,7 +4218,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "I shall go back home faster than anyone else in this camp. I'm tired of this world...";
next;
mes "[Rumis Block]";
- mes "..."+strcharinfo(0)+", I thank you so much for helping me despite my self-centered behavior.";
+ mes "..."+strcharinfo(PC_NAME)+", I thank you so much for helping me despite my self-centered behavior.";
mes "I really appreciate it";
next;
mes "[Rumis Block]";
@@ -4237,14 +4237,14 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
}
else if (ep13_animal == 15) {
if (countitem(Horn_Of_Tendrilion) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. Rumis! Take a look at this!";
next;
mes "[Rumis Block]";
mes "...Oh, hello.";
mes "I'm extremely frustrated. I feel helpless because I wasn't able to go back home last time...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I've found this horn from a monster in the Splendide Area.";
mes "That monster was very mysterious, and its body was covered with grass.";
next;
@@ -4272,14 +4272,14 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "I wonder if they're related,";
mes "or if this is an evolved Hillsrion.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, and there's the possibility of mutation caused by the environment.";
next;
mes "[Rumis Block]";
mes "...What do you mean?";
mes "Are you saying the monster has been mutated by environmental causes?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, that's possible, isn't it? Haha!";
next;
mes "- You told Rumis what you've heard from Botanist Terris: some plants are already showing signs of mutation. -";
@@ -4291,7 +4291,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "[Rumis Block]";
mes "By the way, who came up with the idea of that device?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have no idea. Haha!";
next;
mes "[Rumis Block]";
@@ -4384,7 +4384,7 @@ mid_camp,240,270,3 script Botanist#ep13 4_M_ALCHE_C,{
next;
switch(select("Express your displeasure.", "Agree with him.")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your excitement agitates me.";
next;
mes "[Botanist]";
@@ -4395,7 +4395,7 @@ mid_camp,240,270,3 script Botanist#ep13 4_M_ALCHE_C,{
break;
case 2:
emotion e_lv2,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I agree. There's so much to see around here!";
next;
mes "[Botanist]";
@@ -4405,7 +4405,7 @@ mid_camp,240,270,3 script Botanist#ep13 4_M_ALCHE_C,{
next;
break;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your brother wanted me to send this to you. Maybe it'll help with your study.";
next;
mes "- You have given the Nepenthes Specimen to the botanist. -";
@@ -4431,7 +4431,7 @@ mid_camp,240,270,3 script Botanist#ep13 4_M_ALCHE_C,{
mes "Either way, I don't care.";
mes "I'm just happy that he cares about me...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why do you think that?";
mes "Can't you just thank him for trying to help you?";
next;
@@ -4698,7 +4698,7 @@ mid_camp,45,148,7 script Botanist#ep13_1 4_M_ALCHE_C,{
close;
}
else if (ep13_animal == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's sprouted! That shoot looks healthy!";
next;
mes "[Botanist]";
@@ -4767,7 +4767,7 @@ OnTouch:
man_fild01,92,230,3 script Frozen Tree#evt_lumis HIDDEN_NPC,1,1,{
if (ep13_animal == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Knock, knock. Are you here?";
next;
mes "- Something is making loud noise near the top of the tree. -";
@@ -4787,7 +4787,7 @@ man_fild01,92,230,3 script Frozen Tree#evt_lumis HIDDEN_NPC,1,1,{
mes "...Oh, sorry.. I was just talking to myself.";
next;
mes "[Rumis Block]";
- mes "I'll be watching the Hillsrions from this tree. "+strcharinfo(0)+", can you please go collect ^3131FFHillsrion Horns^000000 for me?";
+ mes "I'll be watching the Hillsrions from this tree. "+strcharinfo(PC_NAME)+", can you please go collect ^3131FFHillsrion Horns^000000 for me?";
next;
mes "[Rumis Block]";
mes "Their horns might possess a special power. And I want to have them for further research.";
@@ -4941,7 +4941,7 @@ mid_camp,212,237,5 script Camp Guard Captain#man1 4_M_EIN_SOLDIER,{
mes "How may I help you?";
next;
if (questprogress(2158) == 2 && questprogress(2159) == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, nothing.";
mes "Sorry to bother you.";
close;
@@ -4962,7 +4962,7 @@ mid_camp,212,237,5 script Camp Guard Captain#man1 4_M_EIN_SOLDIER,{
close;
}
else if (!questprogress(2158)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, nothing.";
mes "Sorry to bother you.";
close;
@@ -4983,7 +4983,7 @@ mid_camp,212,237,5 script Camp Guard Captain#man1 4_M_EIN_SOLDIER,{
close;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, nothing.";
mes "Sorry to bother you.";
close;
@@ -5029,7 +5029,7 @@ OnTouch:
mes "- eyes as if he were -";
mes "- demanding for help! -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ".................";
mes ".................";
next;
@@ -5290,7 +5290,7 @@ OnTouch:
mes "Hmm, are you talking about Dusty?";
mes "He was expelled right after the incident and his job was taken away! I told you several times already!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ugh... You guys, I think you should calm down... This is ridiculous.";
next;
mes "[Hansenne]";
@@ -5299,7 +5299,7 @@ OnTouch:
mes "[Hansenne]";
mes "Sorry, I was just too shocked by that thief bug and accidentally touched your cake with my finger!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Huh? No. Wait...";
next;
mes "[Ryosen]";
@@ -5333,7 +5333,7 @@ OnTouch:
close;
}
else if (ep13_1_rhea == 21) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah...";
next;
mes "[United Research Official]";
@@ -5343,16 +5343,16 @@ OnTouch:
mes "[United Research Official]";
mes "Can you think of any idea how to get those people to get along??";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Actually... Hansenne is not the one who ruined that cake.";
next;
mes "[United Research Official]";
mes "Eh? What did you say?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "But... I don't understand why Hansenne would take the blame...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Well, I should go now.";
next;
mes "[United Research Official]";
@@ -5362,16 +5362,16 @@ OnTouch:
close;
}
else if ((ep13_1_rhea > 21) && (ep13_1_rhea < 26)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Actually... Hansenne is not the one who ruined that cake.";
next;
mes "[United Research Official]";
mes "Eh? What did you say?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "But... I don't understand why Hansenne would take the blame...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Well, I should go now.";
next;
mes "[United Research Official]";
@@ -5870,7 +5870,7 @@ mid_camp,165,245,0 script Ryosen#ep131_rhea01 4_M_ALCHE_A,{
mes "[Ryosen]";
mes "Krrrrrrrr! Ugh...!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Uhhhh...";
next;
mes "[Ryosen]";
@@ -5883,7 +5883,7 @@ mid_camp,165,245,0 script Ryosen#ep131_rhea01 4_M_ALCHE_A,{
mes "Oh, what have I done?";
mes "I should go an apologize.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait! Hue wanted me to bring this to you.";
next;
if (countitem(Neat_Report) > 0) {
@@ -6745,14 +6745,14 @@ mid_camp,222,218,3 script Hansenne#ep131_rhea03 4_M_RACHMAN1,{
mes "[Hansenne]";
mes "Huh? You again?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Why did you do that?";
next;
mes "[Hansenne]";
mes "Hehhhhh??? What are you talking about? If you wanna blame me for anything, tell me the reason first~";
mes "Haha, hahaha, hahahahahahahahaha.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I know you're not the one who ruined the cake. I saw it. It was Hue! I saw him clearly when he pressed his hand on the cake when the Thief Bug came out.";
next;
mes "[Hansenne]";
@@ -6762,7 +6762,7 @@ mid_camp,222,218,3 script Hansenne#ep131_rhea03 4_M_RACHMAN1,{
mes "[Hansenne]";
mes "Hmmmmm... or... I don't know. Maybe I'm thanlful that he restored my garbage looking file... ?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "But... You were blamed for it.";
mes "Aren't you feeling bad? It's unfair!";
next;
@@ -7289,7 +7289,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 4_M_DST_MASTER,{
}
}
else if (ep13_alba == 3) {
- if ((countitem(Monster's_Feed) > 19) && (countitem(Pet_Food) > 29)) {
+ if ((countitem(Monsters_Feed) > 19) && (countitem(Pet_Food) > 29)) {
mes "[Taab]";
mes "Oh, thanks!";
mes "You brought them their";
@@ -7305,7 +7305,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 4_M_DST_MASTER,{
mes "material to give you.";
mes "How about a spiritual reward?";
next;
- delitem Monster's_Feed,20;
+ delitem Monsters_Feed,20;
delitem Pet_Food,30;
ep13_alba = 6;
if (RENEWAL_EXP) {
@@ -7431,7 +7431,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 4_M_DST_MASTER,{
mes "[Taab]";
mes "I don't think I need";
mes "any assistance for now...";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "why don't you go rest?";
close;
}
@@ -8270,7 +8270,7 @@ spl_fild02,314,165,0 script School of Fish#1::Fishinghole CLEAR_NPC,{
specialeffect2 EF_BUBBLE;
specialeffect2 EF_INVENOM;
.@fcast = 15;
- if (isequipped(2550)) //Fisher's_Muffler
+ if (isequipped(2550)) //Fishers_Muffler
.@fcast -= 2;
if (isequipped(2443)) //Fish_Shoes
.@fcast -= 2;
@@ -8288,7 +8288,7 @@ spl_fild02,314,165,0 script School of Fish#1::Fishinghole CLEAR_NPC,{
getitem Rough_File,1;
ep13_1_rhea = 14;
specialeffect EF_BUBBLE;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught a Messy File!!",bc_map,"0xff77ff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught a Messy File!!",bc_map,"0xff77ff";
}
}
.@rhea_ran = rand(1,70);
@@ -8309,15 +8309,15 @@ spl_fild02,314,165,0 script School of Fish#1::Fishinghole CLEAR_NPC,{
}
if (rand(1,200) == 3) {
getitem Gift_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught a Gift Box!!",bc_map,"0x00ffff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught a Gift Box!!",bc_map,"0x00ffff";
}
if (rand(1,500) == 3) {
getitem Old_Blue_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught an Old Blue Box!!",bc_map,"0x00ffff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught an Old Blue Box!!",bc_map,"0x00ffff";
}
if (rand(1,3000) == 3) {
getitem Old_Violet_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught an Old Purple Box!!",bc_map,"0x44ff44";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught an Old Purple Box!!",bc_map,"0x44ff44";
}
end;
}
@@ -8523,7 +8523,7 @@ mid_campin,90,121,5 script Hibba Agip 4_M_REDSWORD,{
mes "What is it?";
next;
mes "[Staff Officer Abidal]";
- mes "Err? Hey, aren't you that famous adventurer," + strcharinfo(0) + "? I've heard many good things about you.";
+ mes "Err? Hey, aren't you that famous adventurer," + strcharinfo(PC_NAME) + "? I've heard many good things about you.";
next;
mes "[Instructor Igrid]";
mes "I don't know what you're talking about. Boss, do you know this adventurer?";
@@ -8532,7 +8532,7 @@ mid_campin,90,121,5 script Hibba Agip 4_M_REDSWORD,{
mes "Stop calling me boss! Call me Commander, alright? Hey Abidal, is this adventurer really famous?";
next;
mes "[Staff Officer Abidal]";
- mes "Commander, haven't you read the report? The adventurer who helped the expedition solve the XX case was" + strcharinfo(0)+ ".";
+ mes "Commander, haven't you read the report? The adventurer who helped the expedition solve the XX case was" + strcharinfo(PC_NAME)+ ".";
next;
mes "[Hibba Agip]";
mes "*Ahem Ahem* I see. I've been too busy to read all the reports. So what brings you here? A reward?";
@@ -8544,7 +8544,7 @@ mid_campin,90,121,5 script Hibba Agip 4_M_REDSWORD,{
mes "Hey Abidal, he's here to see me, not you. Remember?";
next;
mes "[Staff Officer Abidal]";
- mes "Commander, please let me talk. " + strcharinfo(0) + "I'd like to talk to you privately. Can you come back later?";
+ mes "Commander, please let me talk. " + strcharinfo(PC_NAME) + "I'd like to talk to you privately. Can you come back later?";
next;
mes "[Hibba Agip]";
mes "Why do you want to talk privately?";
@@ -8565,7 +8565,7 @@ mid_campin,90,121,5 script Hibba Agip 4_M_REDSWORD,{
}
else if (ep13_1_edq == 2) {
mes "[Hibba Agip]";
- mes "Oh yes, right... You're " + strcharinfo(0) + ", right? Abidal has told me good things about you.";
+ mes "Oh yes, right... You're " + strcharinfo(PC_NAME) + ", right? Abidal has told me good things about you.";
next;
mes "[Hibba Agip]";
mes "We're lucky to have you, my friend... I hope you're as good as the stories play you up to be.";
@@ -9065,7 +9065,7 @@ mid_campin,90,121,5 script Hibba Agip 4_M_REDSWORD,{
mes "That's called that Kuhotanrangjigea from east. I didn't make that by myself.";
next;
mes "[Hibba Agip]";
- mes "Whatever.. Hey, you there... your name is " + strcharinfo(0) + " right? Do you know what to do?";
+ mes "Whatever.. Hey, you there... your name is " + strcharinfo(PC_NAME) + " right? Do you know what to do?";
next;
mes "[Hibba Agip]";
mes "Go to one of the tribes and ask for help officially. I'll send someone to the other tribe.";
@@ -9820,7 +9820,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
if ((ep13_1_edq == 3) && (countitem(Expedition_Report) > 0)) {
mes "[Expedition Messenger]";
mes "Welcome, I've been waiting for you.";
- mes "You must be " + strcharinfo(0) + ". Nice to meet you.";
+ mes "You must be " + strcharinfo(PC_NAME) + ". Nice to meet you.";
next;
mes "[Expedition Messenger]";
mes "Let me check something quicly. You received the report directly from the commander, didn't you? May I see it?";
@@ -9830,7 +9830,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes ".........";
next;
mes "[Expedition Messenger]";
- mes "Excellent. Thank you. Then we'll go back to the mainland and let the leaders know that you, "+ strcharinfo(0) + ", have departed.";
+ mes "Excellent. Thank you. Then we'll go back to the mainland and let the leaders know that you, "+ strcharinfo(PC_NAME) + ", have departed.";
next;
mes "[Expedition Messenger]";
mes "Guys, it's time to go.";
@@ -9880,7 +9880,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "Argh... You...";
next;
mes "[Expedition Messenger]";
- mes "*Cough* Oh, thank god! " + strcharinfo(0) + ", please take the report and run!";
+ mes "*Cough* Oh, thank god! " + strcharinfo(PC_NAME) + ", please take the report and run!";
next;
mes "[???]";
mes "No... Noooo!";
@@ -9888,7 +9888,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
specialeffect2 EF_SOULBREAKER;
specialeffect2 EF_SONICBLOWHIT;
mes "[Expedition Messenger]";
- mes "Argh... " + strcharinfo(0) + ", are you alright? The report... The report...";
+ mes "Argh... " + strcharinfo(PC_NAME) + ", are you alright? The report... The report...";
next;
delitem Expedition_Report,1;
ep13_1_edq = 4;
@@ -9912,7 +9912,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
next;
mes "[Expedition Messenger]";
mes "We must report this to the commander before anything else.";
- mes ""+ strcharinfo(0) + ", please report to the commander immidiatly. Let us take care of the rest.";
+ mes ""+ strcharinfo(PC_NAME) + ", please report to the commander immidiatly. Let us take care of the rest.";
donpcevent "Expedition Messenger#2::OnDisable";
next;
mes "[Expedition Agent]";
@@ -9933,7 +9933,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "Argh... You...";
next;
mes "[Expedition Messenger]";
- mes "*Cough* Oh, thank god! " + strcharinfo(0) + ", please take the report and run!";
+ mes "*Cough* Oh, thank god! " + strcharinfo(PC_NAME) + ", please take the report and run!";
next;
mes "[???]";
mes "No... Noooo!";
@@ -9941,7 +9941,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
specialeffect2 EF_SOULBREAKER;
specialeffect2 EF_SONICBLOWHIT;
mes "[Expedition Messenger]";
- mes "Argh... " + strcharinfo(0) + ", are you alright? The report... The report...";
+ mes "Argh... " + strcharinfo(PC_NAME) + ", are you alright? The report... The report...";
next;
mes "[Expedition Agent]";
mes "We lost the report. The pages are blowing away!";
@@ -9965,7 +9965,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
next;
mes "[Expedition Messenger]";
mes "We must report this to the commander before anything else.";
- mes ""+ strcharinfo(0) + ", please report to the commander immidiatly. Let us take care of the rest.";
+ mes ""+ strcharinfo(PC_NAME) + ", please report to the commander immidiatly. Let us take care of the rest.";
ep13_1_edq = 5;
next;
mes "[Expedition Agent]";
@@ -10081,7 +10081,7 @@ man_fild01,315,95,3 script Expedition Scout#1 4_M_MOC_SOLDIER,{
case 1:
if (ep13_1_edq == 71 || ep13_1_edq == 72) {
mes "[Expedition Scout]";
- mes "Oh, you must be"+strcharinfo(0)+". I heard that you'll be delivering the report.";
+ mes "Oh, you must be"+strcharinfo(PC_NAME)+". I heard that you'll be delivering the report.";
next;
if (.@playtime == 1) {
mes "[Expedition Scout]";
@@ -10250,7 +10250,7 @@ ra_temple,122,174,3 script Nuria 4_F_RACHOLD,{
lhz_in01,110,174,5 script Gerhart 4_M_KHKYEL,{
mes "[Gerhart]";
if (ep13_1_edq == 9 || ep13_1_edq == 101 || ep13_1_edq == 111 || ep13_1_edq == 102 || ep13_1_edq == 112) {
- mes "Welcome, " + strcharinfo(0) + ". What took you so long?";
+ mes "Welcome, " + strcharinfo(PC_NAME) + ". What took you so long?";
next;
mes "[Gerhart]";
mes "Oh, who am I? Let's say... That you can make ends meet because of me.";
@@ -10463,21 +10463,21 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 1_F_SIGNZISK,{
mes "By the way, adventurer,";
mes "What's your name?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes "......";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "......";
next;
mes "[Echinacea]";
mes "Ah, you are";
- mes "" + strcharinfo(0) + ".";
- mes "Well, " + strcharinfo(0) + ", I've just assigned you as Mr. Kidd's assistant.";
+ mes "" + strcharinfo(PC_NAME) + ".";
+ mes "Well, " + strcharinfo(PC_NAME) + ", I've just assigned you as Mr. Kidd's assistant.";
mes "Good, everything's done on this end. I just needed to get your name on record.";
next;
mes "[Echinacea]";
mes "What are you still doing here?";
- mes "" + strcharinfo(0) + ", your job is to assist Mr. Kidd.";
+ mes "" + strcharinfo(PC_NAME) + ", your job is to assist Mr. Kidd.";
mes "Please go help him, will you?";
mao_morocc2 = 1;
setquest 7012;
@@ -10723,7 +10723,7 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 1_F_SIGNZISK,{
next;
mes "[Echinacea]";
mes "So, tell me, what is it?";
- mes strcharinfo(0)+", you've done a great job helping us...";
+ mes strcharinfo(PC_NAME)+", you've done a great job helping us...";
mes "Oh, you must have questions about that last case, is that right?";
next;
mes "[Echinacea]";
@@ -10799,7 +10799,7 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 1_F_SIGNZISK,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Err? I don't have two Nice Sweet Potatoes..";
mes "Where can I get those?";
close;
@@ -11034,15 +11034,15 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
mes "I mean Rin. How is she?";
mes "Is she seriously wounded?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She needs to spend some time in bed,";
mes "but she's conscious and still in one piece.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She seems to have no problem taking care of herself,";
mes "but I'm worried because sometimes she looks extremely exhausted. She mentioned that her vision blurs when she's very tired..";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Don't worry; I don't think it's serious because she still had the strength to yell while writing that journal.";
next;
cutin "moc2_kid03",2;
@@ -11071,7 +11071,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
close2;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(I was supposed to give him the 'Morroc Pursuit Journal' and a 'Bloody Crystal of the Darkness'...";
mes "Err? Where have they gone? I need to find them.)";
close2;
@@ -11093,7 +11093,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No, nothing.";
mes "I'm sorry if I bothered you while you were writing your report.";
next;
@@ -11108,7 +11108,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
mes "What just happened?";
next;
select("Err.. Huh?!");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "..Err?";
mes "..Kidd? Someone was calling my name...";
mes "Rin! Where's Rin? What about Rayan?";
@@ -11118,13 +11118,13 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
mes "What are you talking about?";
mes "Where the hell have you been?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What do you mean..";
mes "Where I've been?";
mes "..Oh yeah, I saw Rin fighting Rayan.";
mes "She was defeated by magic, and then disappeared...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah?! Ah! Right!";
mes "I heard your voice once I found a strange scroll.";
mes "The scroll!";
@@ -11230,7 +11230,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
mes "[Mr. Kidd]";
mes "You're my assistant, aren't you?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes ".... .....";
mes "......";
next;
@@ -11371,7 +11371,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
mes "..No, not at all.";
mes "We're just using one journal to record each other's work.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why can't you use separate journals and then combine them later?";
next;
cutin "mocseal_kid01",2;
@@ -11498,7 +11498,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 4_M_ACROSS,{
}
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Err? I don't have two Nice Sweet Potatoes..";
mes "Where can I get those?";
close2;
@@ -11532,7 +11532,7 @@ mid_camp,205,312,0 script #moc2_talkevent01 FAKE_NPC,1,1,{
OnTouch:
if (mao_morocc2 == 11) {
mes "[Mr. Kidd]";
- mes "" + strcharinfo(0) + "? " + strcharinfo(0) + "?!";
+ mes "" + strcharinfo(PC_NAME) + "? " + strcharinfo(PC_NAME) + "?!";
mes "Wake up!";
mao_morocc2 = 12;
close;
@@ -11675,7 +11675,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "You'll be the one using this scroll. Am I right?";
mes "Here, please take this.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "'To gather members...?'";
mes "...Right! I remember";
mes "Rayan mentioned a gathering somewhere!";
@@ -11704,7 +11704,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
close;
}
else if (mao_morocc2 == 101) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "....";
next;
mes "[Defaria]";
@@ -11832,7 +11832,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "[Defaria]";
mes "What..?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Didn't you forget something?";
mes "... Dandelion? I wanted you to tell me what you knew.";
mes "I was hoping you'd remember something about Dandelion.";
@@ -12225,7 +12225,7 @@ OnTouch:
mes "Hey Master, is it okay to let this guy in?";
next;
if (prt_curse == 24) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I, um, I'm looking";
mes "for somebody named";
mes "Marjana? I learned";
@@ -12746,7 +12746,7 @@ que_job01,84,17,3 script Rin#moc_room2_1 4_F_ACROSS,{
if (mao_morocc2 == 5) {
if (mao_request > 103) {
mes "[Rin]";
- mes "..." + strcharinfo(0) + "...?";
+ mes "..." + strcharinfo(PC_NAME) + "...?";
mes "It's been a long time. What's going on?";
cutin "moc2_rin02",2;
}
@@ -12981,7 +12981,7 @@ que_job01,84,17,3 script Rin#moc_room2_1 4_F_ACROSS,{
mes "..A bloody Crystal of the Darkness?";
mes "Can you show it to me?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, I don't have it with me. I'll go bring it right away.";
mes "^4d4dff(Wait, what did I do with it? I didn't sell it or anything, did I?)^000000";
close2;
@@ -13045,7 +13045,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "- Rayan is shivering in fear.";
mes "He still hasn't gotten over the fact that he killed all of his comrades.-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What is going on?";
mes "He doesn't look like the Rayan I know.";
next;
@@ -13127,7 +13127,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "Wah! What's going on?";
mes "Why is it suddenly..?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this a time-space phenomenon?!";
mes "Why..? There's no gap here..?";
next;
@@ -13172,7 +13172,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "....Huh...?";
mes "What just happened?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...I don't know...";
mes "...I think he's gone...?";
delitem Morocc_Tracing_Log,1;
@@ -13186,14 +13186,14 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "What's up?";
mes "I'm kind of busy right now.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "..I've brought back the journal and something else..";
mes "..Er, sorry. I forgot to bring the journal! I'll be right back.";
close2;
}
}
else if (mao_morocc2 == 22) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What should we do now?";
mes "You know, that voice.. Do you think it was Satan Morocc...?";
next;
@@ -13357,14 +13357,14 @@ hu_fild04,235,103,0 script Heap of Earth#mao2_01 CLEAR_NPC,4,4,{
mes "There are some broken branches to the side of a set of footprints that look like they're skidding backwards...";
mes "Somebody must have been fallen down on the ground, or...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I've been having a strange feeling around this area...";
mes "It feels like faint mana.. ?!... Yes, I can barely see an aura.";
mes "...What is this?";
next;
switch(select("Ignore it.", "Take a careful look.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm.. This place must be where Rin fought with Rayan's gang.";
mes "I don't see anything that looks important.";
close;
@@ -13374,7 +13374,7 @@ hu_fild04,235,103,0 script Heap of Earth#mao2_01 CLEAR_NPC,4,4,{
next;
mes "^4d4dffYou have found a 'Bloody Crystal of Darkness'.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't think I'll find anything else here...";
mes "I should go back now.";
mes "I hope Rin will understand.";
@@ -13506,18 +13506,18 @@ OnTouch:
mes "you feel your body being pulled into the space gap.";
mes "You remember Kidd's confused voice, screaming your name.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "By the way, where am I?";
mes "Argh.. My head hurts...";
mapannounce "que_dan01", "Female Voice: Checkmate! You can't run away any longer!",bc_map,"0x7b68ee";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes ".. ? Wh... What's going on?";
mes "I can't see things.. I'm getting dizzy...";
mes "What just happened?";
mapannounce "que_dan01", "Male Voice: *Giggle Giggle* If you thought I was alone, you're mistaken! Argh!",bc_map,"0xA8A8A8";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Are they fighting?";
mes "I can hear a crowd of people coming...";
mes "Argh! It's too dark to see...!";
@@ -13532,7 +13532,7 @@ OnTouch:
next;
soundeffect "wander_man_move.wav",1;
sc_end SC_BLIND;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "... !!!!";
mes "Rin!!!!";
mes "Why? Why is Rin here? Wait, where am I?";
@@ -13581,7 +13581,7 @@ OnTouch:
donpcevent "Rayan#moc2_bt_r01::OnDisable";
donpcevent "Dandelion Member#moc2_1::OnDisable";
donpcevent "Dandelion Member#moc2_2::OnDisable";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Rin-!!!";
specialeffect EF_LIGHTBOLT,AREA,"Rin#moc2_bt_rin02";
specialeffect EF_FIREPILLARBOMB,AREA,"Rin#moc2_bt_rin02";
@@ -13793,7 +13793,7 @@ OnTouch:
mes "- You hear loud thuds and thumping in the midst of their yelling and screaming.";
mes "It sounds like they're having a serious dispute.-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...Rayan? ...Morroc? ...Resurrect...?";
mes "I have no idea what they're talking about. Why are they fighting?";
next;
@@ -13803,7 +13803,7 @@ OnTouch:
mes "...Oh, right. I completely forgot about 'it.' It's time to take it back.";
mes "What do you say? *Giggle Giggle*";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What the?! Does he know I'm here?!";
mes "I'd better run!";
next;
@@ -13847,7 +13847,7 @@ que_dan02,115,53,3 script Man#moc2_crazyR01 4_M_DSTMAN,{
mes "He looks kind of.. He's insane, isn't he?";
cutin "mocseal_kid01",0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Woah! Where did you come from?";
next;
mes "[Mr. Kidd]";
@@ -13864,7 +13864,7 @@ que_dan02,115,53,3 script Man#moc2_crazyR01 4_M_DSTMAN,{
mes "Hehehe, I just followed the will of my master.";
mes "Muhahahahaha!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No... No way!";
next;
select("Rayan?!");
@@ -13912,7 +13912,7 @@ que_dan02,115,53,3 script Man#moc2_crazyR01 4_M_DSTMAN,{
mes "Are you his enemy?";
mes "DIE!";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
cutin "mocseal_kid01",255;
diff --git a/npc/quests/quests_13_2.txt b/npc/quests/quests_13_2.txt
index 83ce8419f..85b60e7fb 100644
--- a/npc/quests/quests_13_2.txt
+++ b/npc/quests/quests_13_2.txt
@@ -458,7 +458,7 @@ spl_fild03,226,151,0 script School of Fish#5::FishingHole_spl3 CLEAR_NPC,{
specialeffect2 EF_BUBBLE;
specialeffect2 EF_INVENOM;
.@fcast = 15;
- if (isequipped(2550)) //Fisher's_Muffler
+ if (isequipped(2550)) //Fishers_Muffler
.@fcast -= 2;
if (isequipped(2443)) //Fish_Shoes
.@fcast -= 2;
@@ -476,7 +476,7 @@ spl_fild03,226,151,0 script School of Fish#5::FishingHole_spl3 CLEAR_NPC,{
getitem Rough_File,1;
ep13_1_rhea = 14;
specialeffect2 EF_BUBBLE;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught a Loose File.",bc_map,"0xff77ff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught a Loose File.",bc_map,"0xff77ff";
}
}
.@rhea_ran = rand(1,70);
@@ -498,17 +498,17 @@ spl_fild03,226,151,0 script School of Fish#5::FishingHole_spl3 CLEAR_NPC,{
.@rhea_ran5 = rand(1,200);
if (.@rhea_ran5 == 3) {
getitem Gift_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught a Gift Box.",bc_map,"0x00ffff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught a Gift Box.",bc_map,"0x00ffff";
}
.@rhea_ran3 = rand(1,500);
if (.@rhea_ran3 == 3) {
getitem Old_Blue_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught an Old Blue Box.",bc_map,"0x00ffff";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught an Old Blue Box.",bc_map,"0x00ffff";
}
.@rhea_ran4 = rand(1,3000);
if (.@rhea_ran4 == 3) {
getitem Old_Violet_Box,1;
- mapannounce strcharinfo(3),strcharinfo(0) + " has caught an Old Purple Box.",bc_map,"0x44ff44";
+ mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught an Old Purple Box.",bc_map,"0x44ff44";
}
}
else {
@@ -587,9 +587,9 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "No, never mind...";
mes "What is your name?";
next;
- select("" + strcharinfo(0) + "");
+ select("" + strcharinfo(PC_NAME) + "");
mes "[Arc]";
- mes "Ah, right. " + strcharinfo(0) +"!";
+ mes "Ah, right. " + strcharinfo(PC_NAME) +"!";
mes "That's a strange pronunciation.";
mes "I might mispronunce it, so please understand...";
next;
@@ -627,7 +627,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "[Arc]";
mes "The Manuk giants might misunderstand this as provoking them...Couldn't they?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So...the point is, you want me to look for your friend. Right?";
mes "Because you can't do it yourself from all these complicated situations?";
next;
@@ -637,7 +637,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
next;
switch(select("Sure, I will do it.", "Sorry, can't help you.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But, I'm going to need more information if I'm going to look for her.";
next;
mes "[Arc]";
@@ -656,7 +656,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "Ah, and please keep this a secret from the other Laphines.";
next;
mes "[Arc]";
- mes "Remember " + strcharinfo(0) + "... you must keep this to yourself...";
+ mes "Remember " + strcharinfo(PC_NAME) + "... you must keep this to yourself...";
mes "Please, find her.";
ep13_mdrama = 2;
setquest 7056;
@@ -681,7 +681,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "Keep that in mind when searching for her. And don't tell any other Laphine's about her missing.";
next;
mes "[Arc]";
- mes "You " + strcharinfo(0) + " are the only one I could ask for help...";
+ mes "You " + strcharinfo(PC_NAME) + " are the only one I could ask for help...";
mes "Do me this favor please.";
close;
}
@@ -723,7 +723,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "It happened all of a sudden.";
next;
mes "[Arc]";
- mes "" + strcharinfo(0) + "!";
+ mes "" + strcharinfo(PC_NAME) + "!";
mes "What shoud I do now?";
mes "What do I have to do?";
mes "Terra left again and she was hurt...";
@@ -771,12 +771,12 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "...No....";
mes "Shit, then what should I do!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will go. I'm the one who knows exactly where that cave is.";
mes "I will go and bring her back.";
mes "If Terra headed for that cave, I should be able to find her.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's hear rest of the story from Terra.";
mes "It is important for you to guard this place, isn't it?";
mes "If Terra really took the Bradium without any permission...";
@@ -800,18 +800,18 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
mes "What? A wounded Laphine in the Sapha's village?";
mes "Was it Terra?! Was she captured by those Sapha bastards?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Calm down. I couldn't check out exactly who the captured Laphine was.";
mes "And they seem to have no intention of harming the Laphine.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Also, they were looking for something that can cure a wounded Laphine...";
mes "If we bring some medicine to them, we might have a chance to see who the Laphine is.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I understand how anxious you feel.. but that is the only way I can think of finding out who it is.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will take some things to treat the wounds with me and if it turns out that the captured Laphine is Terra, I will bring her back.";
next;
mes "[Arc]";
@@ -867,7 +867,7 @@ spl_in01,32,306,3 script Splendide Guard#ep13md01 4_M_FAIRYSOLDIER,2,2,{
}
else if (ep13_mdrama == 25) {
mes "[Arc]";
- mes "" + strcharinfo(0) + "!!";
+ mes "" + strcharinfo(PC_NAME) + "!!";
mes "Terra's back!!!";
mes "She is back in one piece!";
mes "...She hasn't been saying a single word since her return, I told her to rest in Yai...";
@@ -1108,41 +1108,41 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
next;
mes "Looking up I see the roots of the tree and stems digging up a mud-plastered wall, so the sunlight could shine through....2.j...There is a statue of Giant on the ground.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "A statue in a place like this...";
mes "Interesting.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hm, This resembles... that giant tribe in Manuk...";
mes "Huh? It's wearing a muffler...";
mes "...It can't be!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It has a lot of scars on it... as if it had been in a severe fight...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "And it appears like it's holding something in its arms...";
mes "Just what happened here?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can't imagine what happened here, but I don't see Terra's marks anymore...";
mes "and this cave looks unsafe... I'd better go back to Arc for now.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Could it be... Terra was fighting this Giant?";
ep13_mdrama = 7;
changequest 7057,7058;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anyways... How do I get out of here?";
mes "That hole I came in is too slippery to climb back out...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Light is coming in from the ceiling above... Maybe I should just climb a stem around here...";
close;
}
else if ((ep13_mdrama == 7) || (ep13_mdrama == 8)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm done with this place.";
mes "I should go back to Arc...";
mes "Let's find an exit.";
@@ -1152,12 +1152,12 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
mes "I came back here, but there's no trace of Terra...";
mes "There's only one thing different from the last time..Small particles of an ore are sprinkled around the Sapha's dead body.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So...Terra was here.....";
mes "Powdered Bradium...";
mes "What was she trying to do with this Sapha?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can't just go back to Arc without anything... he'd be so disappointed...";
mes "Hmm, Should I go to the Sapha's village?";
ep13_mdrama = 10;
@@ -1165,11 +1165,11 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
close;
}
else if (ep13_mdrama == 10) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can't find any traces of Terra anymore.";
mes "One thing that bugs me is...These particles of an ore.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I should go back to Arc and ask about it, or go to Sapha's Village and investigate some more.";
close;
}
@@ -1261,7 +1261,7 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
mes "He did his best 'til the last...";
next;
mes "[Snorren]";
- mes "Look at this, " + strcharinfo(0) + "...";
+ mes "Look at this, " + strcharinfo(PC_NAME) + "...";
mes "His petrifyied body...";
mes "protected Terra...like this.";
next;
@@ -1276,7 +1276,7 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
next;
mes "- All I could do was to keep tapping his shoulder... as he quietly sobbed... -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's.. go back...";
mes "Ogen wouldn't want you to be so sad and depressed.";
next;
@@ -1297,7 +1297,7 @@ nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 CLEAR_NPC,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Whoa, I almost forgot the ring.";
close;
}
@@ -1366,13 +1366,13 @@ manuk,278,177,5 script Villager#ep13_11 4_MAN_PIOM,{
mes "That Fairy came here by her own accord.";
mes "How impudent. She was horribly wounded when she got here.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Hmm? a Fairy? Wounded?";
mes "Are they talking about Terra..?!)";
next;
switch(select("Break into their conversation.", "Keep quiet and listen.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me for interrupting your conversation.";
mes "You were talking about a Fairy, would you be kind to tell me the details?";
next;
@@ -1464,13 +1464,13 @@ manuk,281,177,3 script Villager#ep13_12 4_MAN_BENKUNI,{
mes "That Fairy came here by her own accord.";
mes "How impudent. She was horribly wounded when she got here.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Hmm? a Fairy? Wounded?";
mes "Are they talking about Terra..?!)";
next;
switch(select("Break into their conversation.", "Keep quiet and listen.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me for interrupting your conversation.";
mes "You were talking about a Fairy, would you be kind to tell me the details?";
next;
@@ -1627,7 +1627,7 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
mes "They just try to make accesories out of the ore which is our source of life.";
mes "They collect anything that possesses magical power.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You should calm down a bit... Tell me about that captured Laphine.";
next;
mes "[Snorren]";
@@ -1644,7 +1644,7 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
next;
switch(select("That could be right...", "I don't see it that way...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But does that Ore called bradium really possess an overwhelming magical power?";
mes "It didn't seem like that...";
next;
@@ -1652,7 +1652,7 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
mes "Really? But, we Sapha can't live without bradium.";
mes "This war with the Laphine... is to protect the bradium from them...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I see...";
mes "Your people and their people are fighting over the bradium...";
next;
@@ -1662,13 +1662,13 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
mes "Is... Is that so?";
mes "Then how do you see this situation?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It just occurred to me...";
mes "It's like some kind of forbidden area...";
next;
break;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anyhow, You are going to ask that fairy about Ogen, right?";
mes "If that's the case, I could interpret between you two...";
next;
@@ -1724,7 +1724,7 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
mes "[Snorren]";
mes "Do you have anything on your mind?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She's a Laphine, right? Then we should ask a Laphine about it...";
mes "Like what we need to treat her...";
mes "I can take care of it.";
@@ -1734,7 +1734,7 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
mes "Then hurry up and bring something back...";
mes "We will wait.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(I think I have no choice but to go back and ask Arc....)";
ep13_mdrama = 13;
changequest 7061,7062;
@@ -1764,14 +1764,14 @@ man_in01,175,59,5 script Snorren#ep13_13 4_MAN_PIOM,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm...this won't be enough....";
mes "I would need at least 6~7 of these...";
next;
mes "[Snorren]";
mes "Is something wrong?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Ah, I think we would need more than what I've brought here... I'll be back.";
close;
}
@@ -1903,7 +1903,7 @@ man_in01,22,126,3 script Captured Laphine#ep13md 4_F_FAIRYKID6,{
next;
mes "[Luik]";
mes "Finally she's coming to.";
- mes "Ok, "+ strcharinfo(0) + ", it's up to you now.";
+ mes "Ok, "+ strcharinfo(PC_NAME) + ", it's up to you now.";
mes "And you better not fake any of the words she's saying.";
next;
mes "- I nod to Luik and began talking to the Laphine. -";
@@ -1940,11 +1940,11 @@ man_in01,22,126,3 script Captured Laphine#ep13md 4_F_FAIRYKID6,{
mes "How...How do you know my name?";
mes "Who are you?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Arc asked me to find you. So I came here.";
mes "By the way.. You were saying about a giant, do you mean a Sapha?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The Sapha in the cave...";
mes "His body was already petrified when I got there.";
next;
@@ -1968,7 +1968,7 @@ man_in01,22,126,3 script Captured Laphine#ep13md 4_F_FAIRYKID6,{
mes "How...How do you know my name?";
mes "Who are you?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I came looking for you on behalf of Arc.";
mes "Just how did you end up here?";
next;
@@ -1991,7 +1991,7 @@ man_in01,22,126,3 script Captured Laphine#ep13md 4_F_FAIRYKID6,{
mes "Give me some bradium. Hurry!";
mes "I can't be late!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The Sapha in the cave...";
mes "His body was already petrified when I got there.";
next;
@@ -2071,10 +2071,10 @@ man_in01,17,128,5 script Snorren#ep13md_15 4_MAN_PIOM,{
mes "[Snorren]";
mes "Uh.. and your name was..?";
next;
- select("" + strcharinfo(0) + "");
+ select("" + strcharinfo(PC_NAME) + "");
mes "[Snorren]";
mes "Yeah, Right.";
- mes "" + strcharinfo(0) + ", you should try talking to that Laphine...";
+ mes "" + strcharinfo(PC_NAME) + ", you should try talking to that Laphine...";
mes "Let's hear her story.";
ep13_mdrama = 19;
changequest 7064,7065;
@@ -2134,7 +2134,7 @@ man_in01,17,128,5 script Snorren#ep13md_15 4_MAN_PIOM,{
mes "Save him.";
next;
mes "[Luik]";
- mes "" + strcharinfo(0) + "...eh?...";
+ mes "" + strcharinfo(PC_NAME) + "...eh?...";
mes "Please look after Snorren...and Ogen.";
mes "This Laphine, I mean Terra...";
mes "She truly wanted to save Ogen...";
@@ -2213,7 +2213,7 @@ man_in01,19,126,3 script Luik#ep13md16 4_MAN_GALTUN,{
mes "Wait...";
mes "Why would a Laphine give a bradium to our ally?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They fought in the cave and your friend got hurt and began to petrify.";
mes "So she came here to get a bradium to try to save his life...";
next;
@@ -2250,16 +2250,16 @@ man_in01,19,126,3 script Luik#ep13md16 4_MAN_GALTUN,{
mes "[Luik]";
mes "And talking about some cave that doesn't even exist.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That cave really exists, I swear!";
mes "I.. yeah. I saw a petrified Sapha in that cave.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I will bring back something that will make you believe.";
mes "I'm not sure if that Sapha is this Ogen you are looking for...";
mes "But I'll come back...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Don't you dare...try to do any harm to Terra.";
ep13_mdrama = 21;
changequest 7065,7066;
@@ -2304,7 +2304,7 @@ man_in01,19,126,3 script Luik#ep13md16 4_MAN_GALTUN,{
mes "Save him.";
next;
mes "[Luik]";
- mes "" + strcharinfo(0) + "...eh?...";
+ mes "" + strcharinfo(PC_NAME) + "...eh?...";
mes "Please look after Snorren...and Ogen.";
mes "This Laphine, I mean Terra...";
mes "She truly wanted to save Ogen...";
@@ -2412,7 +2412,7 @@ spl_in02,236,92,5 script Arc#ep13md_l02 4_M_FAIRYSOLDIER,{
mes ".........";
next;
select("So that's what happened.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You were outnumbered and at the last moment Ogen sacrificed himself to protect you.";
next;
mes "[Terra]";
@@ -2444,7 +2444,7 @@ spl_in02,236,92,5 script Arc#ep13md_l02 4_M_FAIRYSOLDIER,{
mes "[Arc]";
mes "Get some rest.";
mes "I will put in a good word to the superiors...";
- mes "And " + strcharinfo(0) + "...";
+ mes "And " + strcharinfo(PC_NAME) + "...";
mes "Thank you.";
next;
mes "[Arc]";
@@ -2477,7 +2477,7 @@ spl_in02,236,92,5 script Arc#ep13md_l02 4_M_FAIRYSOLDIER,{
next;
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
mes "Originally... we Laphine were extremely reluctant to have others in our area.";
- mes strcharinfo(0) + ", you will be a special exception.";
+ mes strcharinfo(PC_NAME) + ", you will be a special exception.";
next;
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
if (strnpcinfo(NPC_NAME_VISIBLE) == "Arc") mes "That's what Terra wants too.";
@@ -2661,7 +2661,7 @@ spl_fild01,329,29,0 script ???#ep13mdf03 CLEAR_NPC,{
getitem Fruit_Of_Mastela,1;
changequest 7063,7064;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Arc gave me three Yggdrasilberries and...";
mes "I've found... three. Six of them should be enough.";
mes "Let's go back to Snorren.";
@@ -2727,11 +2727,11 @@ manuk,252,116,3 script Manuk Galtun#ep13_2day 4_MAN_GALTUN,{
next;
switch(select("Keep the peace.", "...")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, we humans are smaller than you... but...";
mes "we have been training ourselves to be strong.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now let me show you that";
mes "we can match your strength!";
next;
@@ -2757,7 +2757,7 @@ manuk,252,116,3 script Manuk Galtun#ep13_2day 4_MAN_GALTUN,{
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, but human beings can be stronger when they all work together.";
close;
}
@@ -3112,7 +3112,7 @@ mid_camp,146,306,3 script Pet Breeder#ep13_eden01 4_F_SCIENCE,{
mes "[Pinedel]";
mes "I will forward everything to Rin.";
mes "She'll love it.";
- mes "Just tell her your name " + strcharinfo(0) + ".";
+ mes "Just tell her your name " + strcharinfo(PC_NAME) + ".";
next;
mes "[Pinedel]";
mes "I can remember that I've heard about you from Rin.";
@@ -3631,7 +3631,7 @@ mid_camp,197,237,3 script Schwartzvalt Mechanic#1 4_M_LGTMAN,{
mes "- Dorance is walking here and there -";
mes "- in a dither. -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Is something wrong?!";
next;
mes "[Mechanic Engineer Dorance]";
@@ -3656,7 +3656,7 @@ mid_camp,197,237,3 script Schwartzvalt Mechanic#1 4_M_LGTMAN,{
mes "[Mechanic Engineer Dorance]";
mes "With all these marvelous features, it's just 39,900 zeny....!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Just what are you trying to imitate...";
next;
mes "[Mechanic Engineer Dorance]";
@@ -4196,7 +4196,7 @@ mid_camp,147,256,3 script Rune Midgarts Magician#1 4_M_JOB_WIZARD,{
mes "[Magician Whisper]";
mes ".............Sure, you could wait for 100 years...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What?";
next;
mes "[Magician Whisper]";
@@ -4463,7 +4463,7 @@ function script jewel_13_2 {
mes "- You overspread some earth over the Gem -";
mes "- and left the Gem as it was. -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What the heck am I doing now...";
close;
}
@@ -4479,7 +4479,7 @@ function script jewel_13_2 {
mes "- a Thief Bug attacks you! -";
donpcevent "Half-buried Gem#"+getarg(1)+"::OnDisable";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What the heck is this?!?!?!";
close;
}
@@ -5620,7 +5620,7 @@ spl_in01,30,324,3 script High Laphine#grenouille 4_M_FAIRYKID5,{
mes "[Grenouille]";
mes "Oh! How's the reaction of the soldiers?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, they seemed to be happy.";
mes "But, it still made someone cry because he probably misses Alfheim.";
next;
@@ -5763,7 +5763,7 @@ spl_in02,139,65,3 script Middle-Ranked Laphine#la 4_F_FAIRYKID3,{
close;
}
else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Where are the seeds?";
close;
}
@@ -6249,11 +6249,11 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "How long have you been standing there?";
emotion e_omg,"Bazett Teablack#ep13bs";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Uh, I'm just passing by.";
mes "You look like you're busy with something.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "See you~!!";
emotion e_swt2,1;
next;
@@ -6271,7 +6271,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "My research is not going so well. The god of fate must have sent you to me. I'm sure of it!!";
emotion e_no1,"Bazett Teablack#ep13bs";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes "......What?!";
emotion e_omg,1;
@@ -6302,12 +6302,12 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "So let's work together from this point on. Let me introduce myself.";
mes "As you can see from my name tag, my name is ^0000FFBazett Teablack^000000.";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I am "+strcharinfo(PC_NAME)+".";
next;
select("OK, so what can I do for you?");
mes "[Bazett]";
- mes ""+strcharinfo(0)+" let's see..!!";
+ mes ""+strcharinfo(PC_NAME)+" let's see..!!";
mes "Search Manuk and Splendide fields everyday for signs of the fairies or giants.";
next;
mes "[Bazett]";
@@ -6343,12 +6343,12 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "So let's work together from this point on. Let me introduce myself.";
mes "As you can see from my name tag, my name is ^0000FFBazett Teablack^000000.";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I am "+strcharinfo(PC_NAME)+".";
next;
select("OK, so what can I do for you?");
mes "[Bazett]";
- mes ""+strcharinfo(0)+" let's see..!!";
+ mes ""+strcharinfo(PC_NAME)+" let's see..!!";
mes "Search Manuk and Splendide fields everyday for signs of the fairies or giants.";
next;
mes "[Bazett]";
@@ -6399,7 +6399,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "Gthgh sdsWryi";
mes "Apeu hjsu opuer ";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?????";
mes "What'd you say?";
next;
@@ -6419,7 +6419,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "TalDathMush Di nahDeh";
mes "ReAnduDu So sehr";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?????";
mes "Huh?";
next;
@@ -6451,12 +6451,12 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "So let's work together from this point on. Let me introduce myself.";
mes "As you can see from my name tag, my name is ^0000FFBazett Teablack^000000.";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I am "+strcharinfo(PC_NAME)+".";
next;
select("OK, so what can I do for you?");
mes "[Bazett]";
- mes ""+strcharinfo(0)+" let's see..!!";
+ mes ""+strcharinfo(PC_NAME)+" let's see..!!";
mes "Search Manuk and Splendide fields everyday for signs of the fairies or giants.";
next;
mes "[Bazett]";
@@ -6495,7 +6495,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
ep13_2_bs2 = 1;
ep13_2_bs3 = 1;
ep13_2_bs4 = 1;
- getitem Bazett's_Order,1;
+ getitem Bazetts_Order,1;
changequest 11101,11102;
close;
}
@@ -6503,7 +6503,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "[Bazett]";
mes "How's the search going?";
next;
- if (countitem(Bazett's_Order) < 1) {
+ if (countitem(Bazetts_Order) < 1) {
mes "[Bazett]";
mes "!!!!!!!";
mes "You lost the notes!!?";
@@ -6512,7 +6512,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "[Bazett]";
mes "What's done has been done.";
mes "I'll give you a new one.";
- getitem Bazett's_Order,1;
+ getitem Bazetts_Order,1;
close;
}
else {
@@ -6527,7 +6527,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
next;
switch(select("Yes.", "Not yet...")) {
case 1:
- if (countitem(Bazett's_Order) < 1) {
+ if (countitem(Bazetts_Order) < 1) {
mes "[Bazett]";
mes "!!!!!!!";
mes "You lost the notes!!?";
@@ -6561,7 +6561,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
next;
mes "[Bazett]";
mes "Even though the content is simple, it's well organized and interesting.";
- mes "As expected of "+strcharinfo(0)+"!!";
+ mes "As expected of "+strcharinfo(PC_NAME)+"!!";
next;
mes "[Bazett]";
mes "You've done well.";
@@ -6570,7 +6570,7 @@ mid_camp,283,198,5 script Bazett Teablack#ep13bs 4_M_ALCHE_D,{
mes "[Bazett]";
mes "Ah... this isn't much, but it's a coin that the giants use.";
mes "Maybe you can buy something from them with this.";
- delitem Bazett's_Order,1;
+ delitem Bazetts_Order,1;
ep13_2_busut = 7;
if (ep13_2_bs1 == 3) getitem Manuk_Coin,1;
if (ep13_2_bs2 == 3) getitem Manuk_Coin,1;
@@ -6603,7 +6603,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "Oops, it's dangerous, almost broken.";
mes "I should hurry to change it...otherwise.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What's the matter?";
next;
mes "[Worker]";
@@ -6613,7 +6613,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "Nothing!!";
emotion e_omg,"Worker#ep13bs";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What's up?";
next;
mes "[Worker]";
@@ -6621,7 +6621,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "......";
mes "I was suprised by your voice.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, sorry to startle you.";
emotion e_heh,1;
next;
@@ -6632,13 +6632,13 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "[Worker]";
mes "You speak our language pretty good.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah...anyway..you look like you're having some trouble. What happened?";
next;
mes "[Worker]";
mes "Nothing!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you sure? Fate has to have brought us together for a reason.";
mes "Tell me~";
next;
@@ -6652,13 +6652,13 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "[Worker]";
mes "I can't leave so I'm just waiting for my friend to pass by to help me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Can I help you?";
next;
mes "[Worker]";
mes "No~that's alright. We just met so I can't ask you for a favor.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's ok! We can help each other!";
next;
mes "- Suddenly there is a screeching sound as the screw breaks -";
@@ -6690,7 +6690,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
next;
mes "[Gill]";
mes "It's all because of you, we are able to prevent anything disastrous.";
- mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(0)+".";
+ mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(PC_NAME)+".";
delitem Horn_Of_Hilsrion,30;
ep13_2_bs1 = 3;
ep13_2_busut = 4;
@@ -6706,7 +6706,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
else if (ep13_2_bs1 == 3) {
mes "[Gill]";
mes "Thank you for helping me.";
- mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(0)+".";
+ mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(PC_NAME)+".";
close;
}
else {
@@ -6722,7 +6722,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "This is too dangerous, it's become too loose...";
mes "It must be replaced soon...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is something wrong?";
next;
mes "[Worker]";
@@ -6732,7 +6732,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "Nevermind. Nothing.";
emotion e_omg,"Worker#ep13bs";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You don't have to be like this.";
next;
mes "[Worker]";
@@ -6740,7 +6740,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "......";
mes "To suddenly hear you speak our language gave me a bit of a shock.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Since I'm travelling here, so I thought I'd need it...";
emotion e_heh,1," ET_SMILE";
next;
@@ -6751,13 +6751,13 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "[Worker]";
mes "And to think you can speak our language. Interesting.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah...but just a moment ago, you were having a hard time with something. Is something wrong?";
next;
mes "[Worker]";
mes "It's nothing.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah~ It must be fate that we met~";
mes "You can just tell me.";
next;
@@ -6772,13 +6772,13 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
mes "But I can't leave this place, so I was waiting for someone to pass by.";
mes "And you just happened to talk to me. I thought you were someone from our tribe.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can help you.";
next;
mes "[Worker]";
mes "No, it's alright. We just met, so I don't want to trouble you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry about it! Life is all about helping eachother, don't you think so?";
next;
mes " - While the disagreement is taking place, - ";
@@ -6812,7 +6812,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
next;
mes "[Gill]";
mes "It's all because of you, we are able to prevent anything disastrous.";
- mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(0)+".";
+ mes "^0000FFEven though you're also an alien race, but compared to the vile fairies^000000, I'm glad to have met someone like "+strcharinfo(PC_NAME)+".";
delitem Horn_Of_Hilsrion,30;
ep13_2_bs1 = 3;
completequest 11105;
@@ -6827,7 +6827,7 @@ manuk,193,135,0 script Worker#ep13bs 4_MAN_PIOM,{
else if (ep13_2_bs1 == 3) {
mes "[Gill]";
mes "Thank you for helping me.";
- mes "^0000FFEven though you're also an alien race, but compared to the vile Fairies^000000, I'm glad to have met someone like "+strcharinfo(0)+".";
+ mes "^0000FFEven though you're also an alien race, but compared to the vile Fairies^000000, I'm glad to have met someone like "+strcharinfo(PC_NAME)+".";
close;
}
else {
diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt
index 5bb788a3f..c5c8f69b5 100644
--- a/npc/quests/quests_airship.txt
+++ b/npc/quests/quests_airship.txt
@@ -85,7 +85,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "[Kain Himere]";
mes "It's powered through just a little piece from the Heart of Ymir. This flying ship is a source of pride and joy for our nation.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is there any other transportation?";
next;
mes "[Kain Himere]";
@@ -114,7 +114,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "have any helpful criticism about our service, feel free to leave me with your comments at any time.";
close;
} else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@comment$+".";
next;
mes "[Kain Himere]";
@@ -164,7 +164,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "have any helpful criticism about our service, feel free to leave me with your comments at any time.";
close;
} else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@comment$+".";
next;
mes "[Kain Himere]";
@@ -178,7 +178,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
}
}
} else if (kain_ticket == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "About the Airship...";
next;
mes "[Kain Himere]";
@@ -231,7 +231,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "[Kain Himere]";
mes "But then, the accident happened and I couldn't use my right arm the way I used to. So I had to quit my job as a miner...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm sorry to hear that.";
next;
mes "[Kain Himere]";
@@ -260,7 +260,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "[Kain Himere]";
mes "Finally, I became a crewman on this Airship. It's been twenty years... I can't even remember my daughter's name.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where is she by now?";
next;
mes "[Kain Himere]";
@@ -278,7 +278,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
switch(select("Einbroch", "Juno")) {
case 1:
kain_ticket = 4;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm heading";
mes "to Einbroch.";
next;
@@ -289,7 +289,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
close;
case 2:
kain_ticket = 3;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm heading";
mes "to Juno.";
next;
@@ -308,7 +308,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
switch(select("Einbroch", "Juno")) {
case 1:
kain_ticket = 4;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm heading";
mes "to Einbroch.";
next;
@@ -318,7 +318,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "that thing. Hold on...";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I am heading to Juno.";
next;
mes "[Kain Himere]";
@@ -338,7 +338,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "[Kain Himere]";
mes "Welcome back to the Airship. So did you deliver that little box safely?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, unfortunately. He was away when I got there. Let me give this box back to you.";
next;
mes "[Kain Himere]";
@@ -360,7 +360,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "Why is that name";
mes "so familiar...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I met a little girl in Einbroch who was singing 'Miner's Song.' Apparently, her mother, Tarsha, taught it to her.";
next;
mes "[Kain Himere]";
@@ -370,7 +370,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "song. What does this";
mes "have to do with me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, Tarsha remembers her father singing her song, so it's possible that ^000066he^000000 was a miner. And since her father disappeared years ago...";
next;
mes "[Kain Himere]";
@@ -384,7 +384,7 @@ airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
mes "Sweet Christ...";
mes "The miner who taught Tarsha that song might have been ^0000FFme^000000.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess we can't be too sure for now. Do you have anything that might prove you're Tarsha's father?";
next;
mes "[Kain Himere]";
@@ -458,17 +458,17 @@ ein_in01,227,279,3 script #door_ein FAKE_NPC,5,5,{
OnTouch:
if (kain_ticket == 5) {
kain_ticket = 6;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...?";
next;
mes "^3355FFNo one's here!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This must be the room...";
mes "But where the hell is he?";
mes "I can't just leave this stuff here if he won't come back.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh well...";
mes "I guess I can";
mes "just give this";
@@ -607,7 +607,7 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "Although these contraptions aren't worth showing off, we've put a lot of work into inventing these machines.";
close;
} else if (kain_ticket == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am, you have a scar on your shoulder. Is that from an accident?";
next;
mes "[Tarsha Cherno]";
@@ -629,7 +629,7 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "[Tarsha Cherno]";
mes "In the end, I left home and studied mechanics. That's how I met my husband. Meeting him is the greating thing that's ever happened to me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "By the way,";
mes "I heard your";
mes "daughter singing";
@@ -650,14 +650,14 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "[Tarsha Cherno]";
mes "I barely recall that he used to sing it while cleaning our old house. Yes, I don't remember what he looked like, but he must have been a miner.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A miner...?";
mes "(Wait, that crewman, Kain Himere! He's a miner who lost his daughter!)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes " !!!!!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tarsha...";
mes "Your father";
mes "may still be";
@@ -666,13 +666,13 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "[Tarsha Cherno]";
mes "...What?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I've got to go check something now, but hopefully I'll be back soon with good news!";
changequest 2080,2081;
kain_ticket = 10;
close;
} else if (kain_ticket == 10 || kain_ticket == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I know someone who might be your father! Just wait for me, hopefully I'll bering good news soon!";
close;
} else if (kain_ticket == 12) {
@@ -681,7 +681,7 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "So did you bring";
mes "good news...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, speaking of which, allow me to... Check something.";
next;
switch(select("Check her neck.", "Check her hands.", "Check her legs.", "Check her forehead.")) {
@@ -702,10 +702,10 @@ ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
mes "a burn mark on";
mes "her hand.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's it! Tarsha, your father's name is Kain. He's working for the Airship as a crewman.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "He misses you";
mes "a lot and hopes";
mes "that you can forgive";
@@ -835,7 +835,7 @@ function script F_Cherno {
mes "Excuse me?";
mes "What did she say?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, uh...";
mes "She wanted to me";
mes "to check if her mom";
@@ -860,12 +860,12 @@ function script F_Cherno {
mes "Kind adventurer,";
mes "May I ask your name?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I am called,";
- mes strcharinfo(0)+".";
+ mes strcharinfo(PC_NAME)+".";
next;
mes "[Tarsha Cherno]";
- mes strcharinfo(0)+",";
+ mes strcharinfo(PC_NAME)+",";
mes "I appreciate your concerns~ Would you please stay for a cup of tea?";
next;
mes "[Tarsha Cherno]";
@@ -874,7 +874,7 @@ function script F_Cherno {
mes "[Tarsha Cherno]";
mes "If we could create a machine that could reduce the risk of mining ores, we could really help them. But we're pretty far from reaching that goal.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah...";
mes "So that's why";
mes "there's so many";
@@ -909,14 +909,14 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
if (Sex == SEX_MALE) {
switch(rand(1,5)) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Man...";
mes "I didn't know";
mes "I was so good";
mes "looking! Ooh yah~";
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Whoa...";
mes "So that's why the";
mes "ladies keep looking";
@@ -924,7 +924,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "free gun show!";
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's a shame I can't job";
mes "change to Male Model.";
mes "Clearly, I'd be like, Job";
@@ -932,7 +932,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "Man, I'm beautiful...";
break;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is my reflection?!";
mes "No one can be this good";
mes "looking, not without special";
@@ -940,7 +940,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "fair to everyone else...";
break;
case 5:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh wow...";
mes "I look pretty good.";
mes "No wait. Really, really";
@@ -952,7 +952,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
} else {
switch(rand(1,5)) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh. Wow.";
mes "I never realized...";
mes "Everything is in";
@@ -961,7 +961,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "want to party with me~";
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh my gosh~";
mes "How can I look this";
mes "good without any makeup?";
@@ -969,7 +969,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "girls... Wow, is this really me?";
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Am I going crazy?";
mes "Is that girl in the";
mes "mirror really me...?";
@@ -977,7 +977,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "how gorgeous I look?";
break;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So...";
mes "What did you do with";
mes "this mirror? Because I'm";
@@ -992,7 +992,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "of our inventions.";
mes "It's just a normal mirror...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well now...!";
mes "Are you sure?";
mes "Because my face looks";
@@ -1000,7 +1000,7 @@ ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
mes "it's like, I'm almost too sexy!";
break;
case 5:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh wow...";
mes "I look pretty good.";
mes "No wait. Really, really";
@@ -1139,7 +1139,7 @@ einbech,53,94,5 duplicate(Tree) Tree#t1-4 HIDDEN_NPC
//- Expert Repairman -
ein_in01,117,80,5 script Unidentified Machine#as HIDDEN_NPC,{
if (kain_ticket > 12) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is the";
mes "^FF0000Expert Repairman^000000?!";
mes "It looks like it";
@@ -2062,7 +2062,7 @@ airplane,236,163,5 script Airship Captain#03 4_M_REINDEER,{
}
} else if (lght_air == 7 && lhz_heart == 12) {
mes "[Ferlock]";
- mes "Now, "+strcharinfo(0)+",";
+ mes "Now, "+strcharinfo(PC_NAME)+",";
mes "you must be wondering";
mes "why I'm telling you all";
mes "this. I believe that some";
@@ -2677,7 +2677,7 @@ airplane,236,63,4 script Hallen 4_M_KID1,{
mes "game for Apples!";
next;
if (Shinokas_Quest > 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333Wait, I met that guy when";
mes "I was helping Shinokas. He";
mes "was one of the directors of";
@@ -2930,7 +2930,7 @@ L_Ask:
close;
} else if (lhz_heart == 8) {
mes "[Kaci]";
- mes "Hello, "+strcharinfo(0)+".";
+ mes "Hello, "+strcharinfo(PC_NAME)+".";
mes "It's nice to see you again.";
mes "So is there anything I can";
mes "help you with today?";
@@ -2958,7 +2958,7 @@ L_Ask:
mes "he's drunk, and a poor gambler,";
mes "I don't know much about him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333Einbroch Laboratory...";
mes "It's so suspicious. That";
mes "director knows about Ymir's";
@@ -2966,7 +2966,7 @@ L_Ask:
mes "keeping something really";
mes "important over there.^000000)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333I better investigate";
mes "that laboratory in Einbroch";
mes "as soon as I can, even if it's";
@@ -2990,7 +2990,7 @@ ein_in01,279,25,0 script #lab01_heart HIDDEN_WARP_NPC,1,1,{
OnTouch:
if (lhz_heart == 9)
{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333I've... I've just";
mes "got to investigate";
mes "that laboratory and";
@@ -3005,7 +3005,7 @@ ein_in01,264,17,0 script #lab02_heart HIDDEN_WARP_NPC,1,1,{
OnTouch:
if (lhz_heart == 9)
{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the...";
mes "It's some sort of";
mes "weird device. The label";
@@ -3107,7 +3107,7 @@ L_Retry:
}
++@retry;
mes "[Security System]";
- mes "^ff0000"+strcharinfo(0)+"^000000";
+ mes "^ff0000"+strcharinfo(PC_NAME)+"^000000";
mes "has entered the following:";
mes "^0000ff"+@input100+"^000000 - ^0000ff"+@input10+"^000000 - ^0000ff"+@input1+"^000000.";
mes "Please wait for authorization to complete.";
diff --git a/npc/quests/quests_alberta.txt b/npc/quests/quests_alberta.txt
index fa3942e9c..c2f726023 100644
--- a/npc/quests/quests_alberta.txt
+++ b/npc/quests/quests_alberta.txt
@@ -381,7 +381,7 @@ alberta,117,135,0 script Elin 4W_KID,{
close;
}
case 10:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm as adorable as a doll...";
next;
mes "[Elin]";
@@ -424,7 +424,7 @@ alberta_in,28,145,4 script Grampa 2_M_PHARMACIST,{
close;
case 2:
delitem Tiger_Footskin,10;
- getitem Boy's_Cap,1;
+ getitem Boys_Cap,1;
mes "[Grampa]";
mes "T... Thank you !!";
mes "With this I can revive my youthful splendor!! I must eat this thing right away !";
@@ -969,7 +969,7 @@ alberta,91,70,4 script Kinsey#tur 4_M_ORIENT02,{
mes "'Tur-tle";
mes "Is-land.'";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^3333FF*ting!*^000000";
next;
mes "[Kinsey]";
@@ -2004,7 +2004,7 @@ tur_dun03,105,76,4 script Knight Leader#tur 4_M_MINISTER,5,5,{
mes "Finally, another person.";
mes "Tell me who you are!";
next;
- switch(select("Who are you to ask?", ""+ strcharinfo(0) +"!", "What are you doing here?", "First, tell me who you are.")) {
+ switch(select("Who are you to ask?", ""+ strcharinfo(PC_NAME) +"!", "What are you doing here?", "First, tell me who you are.")) {
case 1:
mes "[Takuyaka]";
mes "How dare you speak to me in that tone! Don't you know who I am?! I'm Takuyaka, leader of the Security Knights of Alberta! Kobolds and Porings quiver in fear when they hear my name...";
@@ -2014,7 +2014,7 @@ tur_dun03,105,76,4 script Knight Leader#tur 4_M_MINISTER,5,5,{
close;
case 2:
mes "[Takuyaka]";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
mes "Well, your name sounds better than mine. And you have more hair on your head as well. Hmmm...";
next;
mes "[Takuyaka]";
@@ -2342,7 +2342,7 @@ alberta_in,131,95,5 script Iromo#ep3_2 4_M_KID1,{
next;
mes "-Silent pause-";
next;
- mes "-"+strcharinfo(0)+" starts to speak-";
+ mes "-"+strcharinfo(PC_NAME)+" starts to speak-";
mes "-And tells him of the journeys-";
mes "-Adventures, joy, sorrow, and loss-";
mes "-One by one to the boy-";
@@ -2650,7 +2650,7 @@ alberta_in,131,95,5 script Iromo#ep3_2 4_M_KID1,{
mes "I should stay at home.";
close;
}
- if ((ep13_2_hiki == 6) && (countitem(Monster's_Feed) > 0) && (countitem(Red_Potion) > 0)) {
+ if ((ep13_2_hiki == 6) && (countitem(Monsters_Feed) > 0) && (countitem(Red_Potion) > 0)) {
mes "[Iromo]";
mes "...Huh? This smell...";
mes "This is the one I like the most.";
@@ -2687,7 +2687,7 @@ alberta_in,131,95,5 script Iromo#ep3_2 4_M_KID1,{
mes "I like cats so I approached him.";
mes "Then suddenly he scratched and bit me.";
next;
- delitem Monster's_Feed,1;
+ delitem Monsters_Feed,1;
delitem Red_Potion,1;
ep13_2_hiki = 7;
changequest 10083,10084;
diff --git a/npc/quests/quests_aldebaran.txt b/npc/quests/quests_aldebaran.txt
index 1b58726dd..e276622e9 100644
--- a/npc/quests/quests_aldebaran.txt
+++ b/npc/quests/quests_aldebaran.txt
@@ -79,8 +79,8 @@ aldeba_in,152,166,4 script Trader#01 4_M_04,{
close;
}
case 2:
- if ((countitem(Oldman's_Romance) > 0) && (countitem(Feather_Of_Birds) > 299) && (Zeny > 499)) {
- delitem Oldman's_Romance,1;
+ if ((countitem(Oldmans_Romance) > 0) && (countitem(Feather_Of_Birds) > 299) && (Zeny > 499)) {
+ delitem Oldmans_Romance,1;
delitem Feather_Of_Birds,300;
Zeny -= 500;
mes "[Trader]";
diff --git a/npc/quests/quests_amatsu.txt b/npc/quests/quests_amatsu.txt
index c2a20306b..31ebb517a 100644
--- a/npc/quests/quests_amatsu.txt
+++ b/npc/quests/quests_amatsu.txt
@@ -1484,7 +1484,7 @@ ama_in02,170,62,4 script Soldier#ama2 8_M_JPNSOLDIER,{
switch(select("Issue me a Transit Permit", "I want to live in Amatsu", "Nothing")) {
case 1:
if (event_amatsu == 6) {
- if (countitem(Lord's_Passable_Ticket) > 0) {
+ if (countitem(Lords_Passable_Ticket) > 0) {
mes "[Jiro]";
mes "You already have one...";
mes "You don't need to have two of them.";
@@ -1497,7 +1497,7 @@ ama_in02,170,62,4 script Soldier#ama2 8_M_JPNSOLDIER,{
next;
if (select("Issue one", "Talk to you later") == 1) {
Zeny -= 10000;
- getitem Lord's_Passable_Ticket,1;
+ getitem Lords_Passable_Ticket,1;
mes "[Jiro]";
mes "There you go.";
mes "Don't lose it this time.";
@@ -1678,7 +1678,7 @@ ama_in02,115,177,7 script Soldier#ama10 8_M_JPNSOLDIER,{
close;
}
if (event_amatsu == 6) {
- if (countitem(Lord's_Passable_Ticket) > 0) {
+ if (countitem(Lords_Passable_Ticket) > 0) {
mes "[Jyuro]";
mes "You have the ticket...";
mes "Do you want me to send you now, or do you need a little instruction?";
@@ -1734,7 +1734,7 @@ ama_in02,115,177,7 script Soldier#ama10 8_M_JPNSOLDIER,{
mes "A gate? On the top floor of the building??? Surely, you must been be mistaken.";
emotion e_swt;
next;
- if (countitem(Lord's_Passable_Ticket) > 0) {
+ if (countitem(Lords_Passable_Ticket) > 0) {
if (select("Show him the ticket", "Cancel") == 1) {
mes "[Jyuro]";
mes "What? That pass is...?";
@@ -1742,7 +1742,7 @@ ama_in02,115,177,7 script Soldier#ama10 8_M_JPNSOLDIER,{
mes "the lord but I guess it has";
mes "been issued to the wrong person.";
next;
- delitem Lord's_Passable_Ticket,1;
+ delitem Lords_Passable_Ticket,1;
mes "[Jyuro]";
mes "I will keep this ticket because";
mes "it was issued without permission.";
@@ -1885,7 +1885,7 @@ ama_in02,200,176,4 script Lord of Palace#ama 8_M_JPNMASTER,{
event_amatsu = 6;
completequest 8135;
delitem Fox_Tail,1;
- getitem Lord's_Passable_Ticket,1;
+ getitem Lords_Passable_Ticket,1;
mes "[Ishida Yoshinaga]";
mes "This isn't a big reward but";
mes "someday it will be useful for you.";
@@ -1943,7 +1943,7 @@ ama_in01,22,111,0 script Grandma#ama2 4_F_JPNOBA,{
mes "it won't harm me!! Yelp!^000000";
next;
select("Taaaah!!");
- if ((BaseJob == Job_Priest || BaseJob != Job_Acolyte && BaseJob != Job_Monk) || (countitem(Holy_Water) < 1 || countitem(Bear's_Foot) < 1 || countitem(Tiger's_Skin) < 1)) {
+ if ((BaseJob == Job_Priest || BaseJob != Job_Acolyte && BaseJob != Job_Monk) || (countitem(Holy_Water) < 1 || countitem(Bears_Foot) < 1 || countitem(Tigers_Skin) < 1)) {
if (rand(1,4) == 1)
.@fox_kill = 0;
else
diff --git a/npc/quests/quests_ayothaya.txt b/npc/quests/quests_ayothaya.txt
index 738b4c006..dba9c5d14 100644
--- a/npc/quests/quests_ayothaya.txt
+++ b/npc/quests/quests_ayothaya.txt
@@ -127,12 +127,12 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
emotion e_heh;
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(She's so scary!";
mes "Making me do stuff";
mes "for her again...)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(Why am I always";
mes "doing things for other";
mes "people anyway?!)";
@@ -217,7 +217,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "own amusement or something?!";
next;
emotion e_gg,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No no no no...";
mes "I meant, I can't";
mes "believe that you're";
@@ -234,7 +234,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "I'm not gonna put up with crap";
mes "if you're gonna say something like 'I can't believe you're engaged to someone!'";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Whoa whoa whoa~";
mes "Calm down, lady.";
mes "Hear me out first.";
@@ -297,7 +297,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "I never saw him after that.";
mes "So what I want to ask is...";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "You want me";
mes "to find your";
mes "ring, don't you?";
@@ -321,7 +321,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "^666666*Grinds teeth*^000000";
next;
emotion e_gasp,1;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(...H-Horrifying!)";
next;
mes "[Shuda]";
@@ -359,7 +359,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "would be known as";
mes "the hero of Ayotaya.";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes " ...Say what?!";
next;
mes "[Shuda]";
@@ -370,7 +370,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "Sure, Annon, he's my fiancee, is spineless and disappears whenever";
mes "I say something a little too harsh. What a little girl! Can't he see I'm trying to make him a better man?!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "He ran away";
mes "from you, didn't he?";
next;
@@ -378,7 +378,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "Eh...?";
mes "What was that?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^666666*Ahem*^000000";
mes "You're way";
mes "too good for him.";
@@ -443,7 +443,7 @@ OnTouch:
ayo_dun02,91,263,0 script #Annonblood HIDDEN_NPC,2,3,{
if (!$@annonactive) {
if (thai_find == 13) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A blood stain?";
mes "What's going on?";
mes "I should take a look...";
@@ -457,13 +457,13 @@ if (!$@annonactive) {
mes "that the trail of blood continues, almost as if a bleeding animal struggled to find refuge within";
mes "the bushes.^000000";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Hmmm....";
next;
switch(select("Scatter the bushes.", "Dig up the bushes.")) {
case 1:
if (!rand(0,2)) {
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "^666666*Cough cough*^000000";
mes "It's so dusty!";
next;
@@ -472,7 +472,7 @@ if (!$@annonactive) {
mes "Oh... Oh God...!";
next;
emotion e_gasp,1;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Huh...?";
mes "I heard something";
mes "from below! Let's";
@@ -494,7 +494,7 @@ if (!$@annonactive) {
next;
switch(select("What are you doing here?", "I'm not Shuda!")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey...";
mes "What are you doi--";
next;
@@ -515,7 +515,7 @@ if (!$@annonactive) {
mes "^3355FFYou dig up the bushes, stirring";
mes "up a large, choking cloud of dust.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^666666*Cough cough!*^000000";
mes "What a large,";
mes "choking cloud";
@@ -534,7 +534,7 @@ if (!$@annonactive) {
mes "...M-my legs!";
close;
} else {
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Hmmm...?";
mes "What was that noise?";
mes "Ugh, it's awfully dusty.";
@@ -555,19 +555,19 @@ OnTouch:
if (thai_find == 12) {
if (!rand(0,2)) {
emotion e_gasp,1;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Huh...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That looks";
mes "like blood!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "Yes...";
mes "That's definitely blood.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Strange to see";
mes "a blood stain in";
mes "this kind of place...";
@@ -595,11 +595,11 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
next;
switch(select("Treat his wound first.", "Is that you, Annon?")) {
case 1:
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Anyway, I think you need to be treated. Let me check if I have some potions.";
next;
if (countitem(White_Potion)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah...";
mes "Here we are,";
mes "a White Potion.";
@@ -623,7 +623,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
mes "Shuda sent you?! Oh well...";
mes "I thank you for curing me. Now, it's time for me to resume my training.";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
specialeffect EF_CLOAKING;
mes "Wait, I can't let you go! You don't know how hard it was for me to find you! You can't just leave!";
next;
@@ -653,7 +653,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
next;
switch(select("You think the world revolves around you?", "What do you want me to do?")) {
case 1:
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "You think the world";
mes "revolves around you?";
mes "You can't just run away!";
@@ -702,7 +702,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
mes "arm this way, and";
mes "apply pressure here...";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Wahhh~!";
mes "What the hell";
mes "are you doing!";
@@ -744,7 +744,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
else getexp 406786,0;
}
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Whoa...?";
mes "That felt was so great~";
mes "It even feels like my mind";
@@ -765,7 +765,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
disablenpc "Haggard Man";
end;
} else {
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "No way, no way.";
mes "He's too seriously";
mes "wounded to be cured";
@@ -773,7 +773,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
mes "that I have. I'll need";
mes "a stronger potion...";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Okay, you stay";
mes "here for a while.";
mes "I'll bring you some";
@@ -789,7 +789,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
next;
$@annonactive = 0;
disablenpc "Haggard Man";
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Okay, it's time";
mes "for me to play doctor!";
mes "I don't have much time!";
@@ -807,7 +807,7 @@ ayo_dun02,91,264,3 script Haggard Man 4_M_THAIAYO,{
mes "I don't know him, okay!";
mes "Stop disturbing my training!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Uh...";
mes "Hmm, it doesn't seem like you should be yelling with that kind of wound. You sure you're not Annon?";
next;
@@ -859,7 +859,7 @@ ayothaya,253,99,3 script Fisherman 4_M_THAIONGBAK,{
next;
switch(select("Yes.", "No, thanks.")) {
case 1:
- if (countitem(Monster's_Feed) && Zeny > 49) {
+ if (countitem(Monsters_Feed) && Zeny > 49) {
mes "^3355FFYou cast your";
mes "fishing line";
mes "into the water.^000000";
@@ -871,7 +871,7 @@ ayothaya,253,99,3 script Fisherman 4_M_THAIONGBAK,{
next;
mes "^3355FFYou've hooked a Phen!^000000";
next;
- delitem Monster's_Feed,1;
+ delitem Monsters_Feed,1;
Zeny -= 50;
.@randfish = rand(1,100);
if (.@randfish > 0 && .@randfish < 40) {
@@ -1060,17 +1060,17 @@ OnTouch:
next;
switch(select("Ignore.", "^5C3317Investigate.^000000")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, it's probably nothing. But which way should I go now?";
thai_find = 10;
close;
case 2:
.@randayo = rand(1,10);
if (.@randayo < 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why, this is a pack of White Potions. Whoever owned these must have dropped these by accident. Hmm, I could use these for later...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "There are more";
mes "footprints heading";
@@ -1081,10 +1081,10 @@ OnTouch:
getitem White_Potion,10;
close;
} else if (.@randayo > 2 && .@randayo < 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why, this is a pack of Yellow Potions. Whoever owned these must have dropped these by accident. Hmm, I could use these for later...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "There are more";
mes "footprints heading";
@@ -1100,7 +1100,7 @@ OnTouch:
mes "^FF0000Squeak Squeak!^000000";
emotion e_omg,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^8C1717Wah^000000!";
mes "What was that?!";
next;
@@ -1581,7 +1581,7 @@ ayo_in01,181,193,4 script Shaman#thai 4_F_THAISHAMAN,{
mes "me for help at anytime.";
close;
} else if (ayodunquest == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I copied down this";
mes "message while exploring";
mes "the dungeon. Would you";
@@ -1731,7 +1731,7 @@ ayo_in01,181,193,4 script Shaman#thai 4_F_THAISHAMAN,{
mes "You must have seen something.";
mes "I can tell by the gloomy look on your face, and the shadow looming over your soul.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I found";
mes "this old letter";
mes "in the ruins.";
@@ -1947,7 +1947,7 @@ ayo_dun01,272,26,0 duplicate(AyoTrap1) #th_dun1_1_4 HIDDEN_NPC
ayo_dun01,26,27,0 script #th_dun1_1::AyoTrap2 FAKE_NPC,1,1,{
OnTouch:
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
diff --git a/npc/quests/quests_comodo.txt b/npc/quests/quests_comodo.txt
index 6551920ae..d67d998a4 100644
--- a/npc/quests/quests_comodo.txt
+++ b/npc/quests/quests_comodo.txt
@@ -1404,7 +1404,7 @@ comodo,163,280,4 script Magatu#cmd 1_M_JOBTESTER,{
cmd_in02,189,99,4 script Manzi#cmd 4_M_03,{
switch (dmdswrd_Q) {
case 9:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse, but I'm";
mes "looking for someone";
mes "named Manzi. Do you";
@@ -1526,7 +1526,7 @@ comodo,187,153,4 script Hullaris#cmd 4_F_GODEMOM,{
mes "oldest elders, I know more";
mes "about this village than most...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I was hoping";
mes "you can tell me about";
mes "Comodo Cheese. If it really";
diff --git a/npc/quests/quests_ein.txt b/npc/quests/quests_ein.txt
index baf3de04a..f7d702277 100644
--- a/npc/quests/quests_ein.txt
+++ b/npc/quests/quests_ein.txt
@@ -487,7 +487,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
next;
switch(select("So... You're a chef.", "Yes, I tried my best.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "So...";
mes "You're a chef.";
next;
@@ -1055,7 +1055,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Oh! Hello again,";
mes "you cutie adventurer.";
mes "So tell me, what brings";
- mes "you here, "+strcharinfo(0)+"?";
+ mes "you here, "+strcharinfo(PC_NAME)+"?";
next;
switch(select("Ask about Cooking.", "Ask about Einbroch.", "Cancel.")) {
case 1:
@@ -2121,7 +2121,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "[Uwe]";
mes "Ah...!";
mes "I have it!";
- mes "" + strcharinfo(0) + "!";
+ mes "" + strcharinfo(PC_NAME) + "!";
mes "Yes, now I remember you.";
mes "Decided to transcend, eh?";
next;
@@ -4492,7 +4492,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "Noooo! N-not now...";
mes "^333333*Cough! Cough!*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "I better";
mes "get away";
@@ -4524,7 +4524,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "on his face, he seems to be";
mes "having a nightmare.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...";
next;
mes "[Buender Hikeman]";
@@ -4535,7 +4535,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "your beating,";
mes "eh, Shinokas?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Look...!";
mes "I'm not Shinokas,";
mes "okay? How can you";
@@ -4557,7 +4557,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "Huh.";
next;
if (Sex == SEX_FEMALE) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "And...";
mes "I'm a cute girl!";
mes "Shinokas is male";
@@ -4567,7 +4567,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "What...?";
mes "IMPOSSIBLE!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
next;
@@ -4591,13 +4591,13 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "Did you come just to clear";
mes "up this misunderstanding?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...";
mes "Actually...";
next;
switch(select("Tell Hikeman about Shinokas's death.", "Don't notify Hikeman.")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Shinokas died";
mes "a while ago in";
mes "Einbroch.";
@@ -4605,7 +4605,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "[Buender Hikeman]";
mes "Wh-what...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Shinokas was killed by";
mes "some men. He thinks they";
mes "may have been the ones";
@@ -4616,7 +4616,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "I...";
mes "I see...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Shinokas may have";
mes "gotten some money,";
mes "but he spent the rest";
@@ -4636,16 +4636,16 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "wherever you came";
mes "from. Leave me alone...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333Did Hikeman really want";
mes "revenge on Shinokas or did";
mes "he want to hear him out since";
mes "they used to be close friends?^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333If I mention that";
mes "what they found was";
mes "the Ymir Heart Piece,";
@@ -4653,7 +4653,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
mes "getting hunted down, so";
mes "I better not say anything.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333Why are those men";
mes "so obsessed with that";
mes "Ymir Heart Piece? Is it";
@@ -4677,7 +4677,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
}
end;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah...";
mes "That' right.";
mes "I wanted to clear up";
@@ -4753,7 +4753,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "come back from";
mes "the factory...?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Shi...";
mes "Shinokas?";
next;
@@ -4763,14 +4763,14 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "Shinotarous. Y-you've";
mes "got the wrong person!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333This has to be the";
mes "Shinokas that Hikeman";
mes "was talking about in Einbech.";
mes "Hmmm, but how can I get";
mes "him to admit it?^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333*Ahem!*^000000";
mes "Excuse me...";
next;
@@ -4829,7 +4829,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
}
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you sure";
mes "that you don't";
mes "know anything";
@@ -4846,7 +4846,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes ".......";
emotion e_swt2;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I was right.";
mes "You're Shinokas!";
emotion e_gg,1;
@@ -4871,7 +4871,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "Get on with it.";
mes "I'm ready now...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tell me everything";
mes "you know related to";
mes "that incident where";
@@ -4886,7 +4886,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "here to kill me?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No...!";
mes "I'm here to find";
mes "out the truth!";
@@ -4996,7 +4996,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "anything from the";
mes "Kapellthaines?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, Mr. Kapellthaine";
mes "is kind of violent, but";
mes "I didn't find anything";
@@ -5035,7 +5035,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "anything new";
mes "in the Factory?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...";
mes "There's a lot of";
mes "suspicious business";
@@ -5121,7 +5121,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
}
}
else if (Shinokas_Quest == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Shinokas,";
mes "I found something!";
next;
@@ -5137,7 +5137,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "your hands have been";
mes "stained with his blood.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Blood...?!";
mes "Shinokas!";
mes "Who did this to you?";
@@ -5165,11 +5165,11 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "that ore? W-what";
mes "is it... Really?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It was...";
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It was";
mes "^3131FF"+.@input$+"^000000!";
next;
@@ -5212,7 +5212,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "^333333*Cough cough!*^000000";
next;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No...!";
mes "Tell me who";
mes "did this to you!";
@@ -5228,7 +5228,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "...";
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No!";
mes "Shinokas!";
mes "Why, God?";
@@ -5293,7 +5293,7 @@ ein_in01,254,35,1 script Scientist#ein 4_M_ALCHE_B,{
mes "How did you";
mes "get in here?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh! Ah....";
mes "I'm the new...";
mes "Guard. Nice";
@@ -5396,7 +5396,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
mes "on my side! GO!";
emotion e_go;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "What did he just say?";
mes "It seemed important!";
@@ -5420,7 +5420,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
}
else if ((countitem(Apple) > 10) && (countitem(Apple) < 100)) {
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you want";
mes "some of mine?";
next;
@@ -5435,7 +5435,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
else {
delitem Apple,countitem(Apple);
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you want";
mes "some of mine?";
next;
@@ -5507,7 +5507,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
mes "How do you know";
mes "about that? ^333333*Hiccup*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Y-you...!";
mes "You were just yelling,";
mes "''Ymir's Heart is on my";
@@ -5563,7 +5563,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
mes "win me Dice games!";
mes "Bwahaha--^333333*Hiccup!*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333(That thing I saw";
mes "hooked up to all those";
mes "wires in the Laboratory";
@@ -5607,7 +5607,7 @@ airplane,31,77,5 script Drunken Man#ein 4_M_YURI,{
mes "on my side! GO!";
emotion e_go;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "What did he just say?";
mes "It seemed important!";
@@ -5925,7 +5925,7 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
mes "*Crack Crack Crrrrrrack*";
mes "*Rub Crrraaaaaaaaaack*^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ooooooooh...";
mes "I feel sooo";
mes "sore and yet";
@@ -5957,7 +5957,7 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
mes "[Calla]";
mes "Once again,";
mes "thank you so";
- mes "much, "+ strcharinfo(0) +".";
+ mes "much, "+ strcharinfo(PC_NAME) +".";
mes "I'll always pray for";
mes "your safety on your";
mes "your adventures~";
@@ -5987,9 +5987,9 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
mes "tell me your name?";
next;
input .@input$;
- if (.@input$ == strcharinfo(0)) {
+ if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Calla]";
- mes "Ah, " + strcharinfo(0) + "!";
+ mes "Ah, " + strcharinfo(PC_NAME) + "!";
mes "Such a lovely name~";
mes "I promise that I won't ever";
mes "forget it. Oh, and if you pass by Einbech, would you thank Klitzer for the flower for me please?";
@@ -6139,7 +6139,7 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "anything like that before!";
next;
mes "[Klitzer]";
- mes "Wait, " + strcharinfo(0) + ".";
+ mes "Wait, " + strcharinfo(PC_NAME) + ".";
mes "What's that you've got";
mes "there? I've seen something";
mes "like that before. It's called";
@@ -6194,7 +6194,7 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
}
next;
mes "[Klitzer]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "you've really opened";
mes "my eyes. From now on,";
mes "I'll do my best to earn the";
@@ -6307,9 +6307,9 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "What's your name?";
next;
input .@input$;
- if (.@input$ == strcharinfo(0)) {
+ if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Klitzer]";
- mes "" + strcharinfo(0) + "...";
+ mes "" + strcharinfo(PC_NAME) + "...";
mes "That's very nice. Thank you,";
mes "I'm really grateful for your help. Although I can't see Calla in";
mes "person, I can at least send";
@@ -6402,7 +6402,7 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "*Press Press Press*";
mes "*C-c-c-c-c-c-crack!*";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh--";
mes "Hell yeah!";
mes "That's the stuff!";
diff --git a/npc/quests/quests_geffen.txt b/npc/quests/quests_geffen.txt
index 3b7ec0e42..a582bfa8e 100644
--- a/npc/quests/quests_geffen.txt
+++ b/npc/quests/quests_geffen.txt
@@ -330,7 +330,7 @@ geffen,122,77,4 script Nia#yagu 8_F_GIRL,{
.@retry = .@retry+1;
mes "[Nia]";
- mes "^ff0000"+strcharinfo(0)+"^000000,";
+ mes "^ff0000"+strcharinfo(PC_NAME)+"^000000,";
mes "your guess is ^0000ff"+.@input+"^000000.";
mes "Give me a moment to";
mes "come up with your results.";
@@ -381,7 +381,7 @@ geffen,122,77,4 script Nia#yagu 8_F_GIRL,{
.@score_sec = .@score_record % 60;
if (.@score_record >= .@total_time || !.@score_record) { //custom (second condition)
- $050908_minus1_yagu$ = strcharinfo(0);
+ $050908_minus1_yagu$ = strcharinfo(PC_NAME);
$050908_minus1_yagu = .@total_time;
mes "[Nia]";
mes "Great! You guessed";
diff --git a/npc/quests/quests_gonryun.txt b/npc/quests/quests_gonryun.txt
index 5180b868b..ff0044737 100644
--- a/npc/quests/quests_gonryun.txt
+++ b/npc/quests/quests_gonryun.txt
@@ -2135,7 +2135,7 @@ gon_dun03,62,222,0 script Strange dead body#gnbs HIDDEN_NPC,{
mes "He probably couldn't take it any longer...^000000";
close;
}
- mes "[ ^6699FF" + strcharinfo(0) + "^000000 ]";
+ mes "[ ^6699FF" + strcharinfo(PC_NAME) + "^000000 ]";
mes "Eew, no!";
mes " ";
mes "Yucky yucky YUCKY!";
@@ -2181,10 +2181,10 @@ gonryun,139,142,7 script Girl##gnbs1 4_F_TWMASKGIRL,{
mes "I'm sure whoever found my father's sword is a great person.";
close;
}
- mes "[ ^6699FF" + strcharinfo(0) + "^000000 ]";
+ mes "[ ^6699FF" + strcharinfo(PC_NAME) + "^000000 ]";
mes "That would be me!";
next;
- mes "[ ^6699FF" + strcharinfo(0) + "^000000 ]";
+ mes "[ ^6699FF" + strcharinfo(PC_NAME) + "^000000 ]";
mes "I AM YOUR HERO!";
next;
emotion e_heh;
diff --git a/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt
index 5492de4be..039e773a7 100644
--- a/npc/quests/quests_hugel.txt
+++ b/npc/quests/quests_hugel.txt
@@ -115,7 +115,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "discipline my degenerate son.";
mes "Will you help me once more?";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Wait, wait...";
mes "Lighthalzen?";
mes "Did you used to";
@@ -129,7 +129,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "My ^333333*Hack!*^000000 pancreas! Or liver!";
mes "I'm having another attack!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "......";
mes ".........";
mes "............";
@@ -161,7 +161,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "A White Potion just has";
mes "to help. I-It has to work!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
mes "............";
@@ -183,7 +183,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
next;
hg_herb = 3;
changequest 8054,8055;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "......";
mes ".........";
mes "............";
@@ -272,7 +272,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "arrives. You wouldn't abandon";
mes "this sick man now, would you?";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(^333333Your son Postell";
mes "better get here soon!^000000)";
hg_herb = 7;
@@ -322,7 +322,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "trick me, Postell?!";
mes "I told you get Bunkoll A!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(^333333Wait, wait...";
mes "Allen did say that";
mes "he wanted Kolbun A...^000000)";
@@ -553,7 +553,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(^333333I guess Allen used";
mes "to live in Lighthalzen.";
mes "I guess that's why he'd";
@@ -567,7 +567,7 @@ OnTouch:
mes "It's difficult to read since";
mes "the pages are old and worn.^000000";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Let's see, let's see...";
mes "Rekenber Corporation...";
mes "Something about the Slums....";
@@ -576,7 +576,7 @@ OnTouch:
mes "Dr. Morriphen... Side effects?";
close;
} else {
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Wh-what...?";
mes "Do you really";
mes "need that medicine?!";
@@ -604,7 +604,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(^333333I guess Allen used";
mes "to live in Lighthalzen.";
mes "I guess that's why he'd";
@@ -618,7 +618,7 @@ OnTouch:
mes "It's difficult to read since";
mes "the pages are old and worn.^000000";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Let's see, let's see...";
mes "Rekenber Corporation...";
mes "Something about the Slums....";
@@ -627,7 +627,7 @@ OnTouch:
mes "Dr. Morriphen... Side effects?";
close;
} else {
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Wh-what...?";
mes "Do you really";
mes "need that medicine?!";
@@ -657,7 +657,7 @@ OnTouch:
mes ".........";
mes "............";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "(^333333I guess Allen used";
mes "to live in Lighthalzen.";
mes "I guess that's why he'd";
@@ -671,7 +671,7 @@ OnTouch:
mes "It's difficult to read since";
mes "the pages are old and worn.^000000";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "Let's see, let's see...";
mes "Rekenber Corporation...";
mes "Something about the Slums....";
@@ -745,7 +745,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "^333333*Cough Cough*";
mes "*Cough Cough*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Holy--! Are you alright?";
mes "Y-you're coughing up blood!";
mes "Relax, I was just passing by!";
@@ -756,7 +756,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "then. I guess I'm just a little";
mes "jumpy is all. ^333333*Cough, cough~*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey... You don't sound";
mes "too good. Do you want me";
mes "to bring you to a hospital?";
@@ -772,13 +772,13 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "refilled, that's all. ^333333*Haaak*";
mes "*Cough-cough-cooooooough!*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "What should I do?";
next;
switch(select("Leave him", "Help him")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know, I'm a little";
mes "worried about your coughing,";
mes "but I don't think there's any";
@@ -791,7 +791,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "of yourself, you hear?";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey...";
mes "Are you sure that";
mes "you'll be alright?";
@@ -803,7 +803,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "of yourself, you hear?";
mes "^333333*Haaaak* *Reeetch*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
mes ".........";
@@ -814,7 +814,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "*Hhhh, Hhhhh, Hhhh*";
mes "*Haaaaack* *Retch*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Please, mister.";
mes "Let me help you.";
mes "I can't just leave";
@@ -843,7 +843,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "get stressed. Please just tell";
mes "her that I ran out of medicine.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright.";
mes "I'll come back here";
mes "as soon as I can.";
@@ -872,7 +872,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "^333333*Haaaaack* *Hhh, haaaack*^000000";
close;
} else if (hg_bio == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh no... Morriphen";
mes "doesn't look good at all!";
mes "I better hurry and bring";
@@ -880,7 +880,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "in Hugel as soon as I can!";
close;
} else if (hg_bio == 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh no... Morriphen";
mes "doesn't look good at all!";
mes "I better hurry and bring";
@@ -888,7 +888,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "in Hugel as soon as I can!";
close;
} else if (hg_bio == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh no... Morriphen";
mes "doesn't look good at all!";
mes "I better hurry and bring";
@@ -896,7 +896,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "in Hugel as soon as I can!";
close;
} else if (hg_bio == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh no... Morriphen";
mes "doesn't look good at all!";
mes "I better hurry and bring";
@@ -917,7 +917,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "right to trust you. So did my";
mes "wife give you my medicine?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, Siria also ran";
mes "out of your medicine when";
mes "I arrived at your house, so";
@@ -939,7 +939,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "Please take this medicine";
mes "to her as soon as you can!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry, I'm on my";
mes "way. I'll hurry as fast as";
mes "I can back to Hugel to";
@@ -948,7 +948,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
changequest 11014,11015;
close;
} else if (hg_bio == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What am I doing...?";
mes "I need to return to";
mes "Hugel and deliver this";
@@ -978,7 +978,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "is just so overwhelming right";
mes "now. ^333333*Sob*^000000 Please, please...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Siria is fine.";
mes "Now are you satisfied?";
mes "If you're that worried about";
@@ -993,7 +993,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "struggling here to make ends";
mes "meet. Thank you so much!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't sweat it.";
mes "It was just the right";
mes "thing to do, that's all.";
@@ -1004,7 +1004,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "life. I'll do anything you ask me to do to repay you! Consider me";
mes "your humble servant from now on. What is your command, oh master?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's...";
mes "That's going too far.";
mes "Becoming my servant for";
@@ -1017,7 +1017,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "you have any enemies! I'll go";
mes "out and kill someone for you!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...That's fine.";
mes "Actually, I'm more interested";
mes "in hearing how you, Siria, and";
@@ -1025,7 +1025,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "I spoke to Siria, she told me";
mes "that you two weren't married...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Siria did mention";
mes "that she's greatly";
mes "indebted to you for";
@@ -1193,7 +1193,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "I'm sure that he must hate me";
mes "deep down inside.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't think like that.";
mes "I'm sure Dono still thinks";
mes "of you as his friend. He's";
@@ -1201,7 +1201,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "but he won't abandon you.";
mes "Why don't you go see him?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Besides, you have an";
mes "excuse to go see him now,";
mes "your medicine, right? I'm";
@@ -1217,7 +1217,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "by and see me. You've really";
mes "helped me and Seria so much.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry about it.";
mes "Just get better so that";
mes "I won't have to worry";
@@ -1271,7 +1271,7 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "^3355FFHow can a woman this";
mes "young be Morriphen's wife?^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, um, Morriphen sent";
mes "me here so that I can bring";
mes "him his medicine. I was wo--";
@@ -1282,11 +1282,11 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "let him be dead! No! D-did";
mes "anything bad happen to him?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(She is being panicky, and doesn't seem to know what she should do.";
mes "She absent-mindedly steps forward and then stumbles on the floor.)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you okay?!";
mes "(Her eyes look blank. She seems to have a hard time to see things.)";
next;
@@ -1295,7 +1295,7 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "I am just...I am just having a vision problem.";
mes "So...what happened to him?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "He's just not feeling";
mes "well, that's all. All he";
mes "told me was that he ran";
@@ -1319,7 +1319,7 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "pale, and she starts";
mes "to sweat profusely.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...";
mes "Are you feeling";
mes "alright? You're not";
@@ -1333,7 +1333,7 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "to me. I owe him everything,";
mes "I have to go see Dono, I hav--";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know what? You better";
mes "relax and rest here, and I'll";
mes "go visit this Dono person in";
@@ -1395,7 +1395,7 @@ hu_in01,326,307,3 script Siria 4_F_01,{
mes "the medicine to Siria, who";
mes "slow regained consciousness.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, are you alright?";
mes "How are you feeling?";
mes "Morriphen asked me to";
@@ -1453,7 +1453,7 @@ lighthalzen,88,79,7 script Dono 4_M_03,{
mes "Spit it out, I don't";
mes "have all day.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but";
mes "I'm looking for a";
mes "man named Dono.";
@@ -1463,7 +1463,7 @@ lighthalzen,88,79,7 script Dono 4_M_03,{
mes "but who the heck";
mes "are you, anyway?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I'm just here";
mes "to get some medicine";
mes "for Morriphen. Um, his";
@@ -1493,7 +1493,7 @@ lighthalzen,88,79,7 script Dono 4_M_03,{
mes "Now, listen carefully, these";
mes "are the ingredients I need...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, wait, I thought I was";
mes "only getting medicine for";
mes "Morriphen. Are you saying";
@@ -1652,7 +1652,7 @@ lighthalzen,88,79,7 script Dono 4_M_03,{
mes "he's got a big mouth, so did";
mes "he tell you anything stupid?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Er, he did mention that";
mes "both you and Morriphen used";
mes "to work together for Rekenber.";
@@ -1665,7 +1665,7 @@ lighthalzen,88,79,7 script Dono 4_M_03,{
mes "of my life. Afterwards, it";
mes "pretty much went downhill.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What do you mean?";
mes "Did something happen?";
next;
@@ -1745,7 +1745,7 @@ lhz_in03,193,28,3 script Makkie 4_M_01,{
mes "Hello, how may";
mes "I help you today?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hi, I'm here to get";
mes "some Red Plant Stem";
mes "Powder for Dono. It's";
@@ -1822,7 +1822,7 @@ lhz_in03,193,28,3 script Makkie 4_M_01,{
hg_bio = 5;
changequest 11012,11013;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh! Thanks so much";
mes "for the powder. Now,";
mes "I better hurry and give";
@@ -2004,7 +2004,7 @@ hugel,70,137,5 script Shede 4_F_CAPEGIRL,{
mes "So, I decided to bake special cookies called...";
mes "...... ^3131FFDevil's Cookies^000000!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Devil's Cookies?";
next;
cutin "siide1.bmp",2;
@@ -2027,7 +2027,7 @@ hugel,70,137,5 script Shede 4_F_CAPEGIRL,{
mes "[Shede]";
mes "Would you please help me to bake the cookies? I need 5 Moks Bug Shells~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "'......I am confused...Does she love him or hate him?'";
emotion e_dots,1;
hg_tre = 30;
@@ -2091,7 +2091,7 @@ hugel,70,137,5 script Shede 4_F_CAPEGIRL,{
mes "Thank you so much.";
emotion e_heh;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(If he knew what ingredients she used for the cookies,)";
mes "(I am pretty sure that at least he will remember her face to avoid next time...)'";
emotion e_dots,1;
@@ -2154,21 +2154,21 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "The weather is beautiful today. *Sigh* But my body aches too badly to go out...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hello!";
next;
mes "[Herico]";
mes "Shede?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh, hello. Ms. Shede asked me to drop you by. Nice to meet you, I am ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "Oh, hello. Ms. Shede asked me to drop you by. Nice to meet you, I am ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
next;
mes "[Herico]";
mes "Ah, hello. I heard that recently an airport was built in this town. So, are you from a different city?";
mes "I like to see new things...although I don't like this chilly wind.";
mes "How do you like Hugel?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It is a peaceful and beautiful village, although I can tell that it is experiencing a change.";
mes "Everyone looks happy, and they feel very different than people in the other areas.";
mes "So I feel like that I am in a different land.";
@@ -2227,11 +2227,11 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "Hmm...can you tell me your name once again?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "Yes, my name is ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "Yes, my name is ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
next;
mes "[Herico]";
- mes "^3131FF"+strcharinfo(0)+"^000000, I have many interesting stories for you.";
+ mes "^3131FF"+strcharinfo(PC_NAME)+"^000000, I have many interesting stories for you.";
mes "However, before I tell you my stories, I would like to ask you something. Do you mind?";
next;
mes "[Herico]";
@@ -2266,7 +2266,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "Rekenber...So, they have expanded";
mes "their power even to this small village, Hugel.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you know about them?";
next;
mes "[Herico]";
@@ -2310,7 +2310,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "Have you ever thought about how the people in old times";
mes "would protect their important facilities without guardians?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Perhaps, they hired many men to do that?";
next;
mes "[Herico]";
@@ -2345,7 +2345,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "So the house was completely destroyed by the battle, and";
mes "since then, no one knows where Sage Varmunt is.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sage Varmunt.....!";
next;
cutin "heri1.bmp",2;
@@ -2385,7 +2385,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "How couldn't I think about this earlier?";
next;
mes "[Herico]";
- mes ""+strcharinfo(0)+", can you see what I want to tell you now?";
+ mes ""+strcharinfo(PC_NAME)+", can you see what I want to tell you now?";
mes "I have to take a long time to remember everything";
mes "about the incident, but you must understand";
mes "that this is an extremely important matter.";
@@ -2424,7 +2424,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "Did you find Sage Varmunt's research documents?";
next;
cutin "",255;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, about the documents...";
next;
switch(select("I ate them.", "Rekenber has taken them into their possession.")) {
@@ -2434,7 +2434,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "Hahaha! That's funny!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, it is not funny.";
next;
mes "[Herico]";
@@ -2455,7 +2455,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
percentheal -5,0;
specialeffect2 EF_HIT4;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Err...I was just kidding...";
next;
cutin "heri2.bmp",2;
@@ -2468,7 +2468,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "So, tell me, where are all of his research documents?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Rekenber has taken them into their possession.";
next;
break;
@@ -2485,7 +2485,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "It was expected.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What do you have in mind?";
next;
mes "[Herico]";
@@ -2500,7 +2500,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "You look very surprised.";
next;
cutin "heri1.bmp",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Does it mean that you are the one";
mes "who created the Ymir's Heart imitation?";
next;
@@ -2532,7 +2532,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "We were so happy for the fact that we";
mes "finally made our dream come true.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But, Sage Varmunt was against the idea of using guardians";
mes "for militant purposes, and I heard that he also participated";
mes "in the Mercenary Rebellion.";
@@ -2576,7 +2576,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "Rekenber will do anything to achieve their goals.";
mes "They have become too powerful to just be considered a big corporation.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That was why they founded the \"Bio Lab\"";
mes "in order to continue with their research without Sage Varmunt.";
next;
@@ -2680,7 +2680,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "Ah, you are back.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I had a little bit of trouble because I was caught by a guard.";
mes "But I took care of it.";
next;
@@ -2747,7 +2747,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
cutin "",255;
end;
} else if (hg_tre == 55) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The machine was blown up.";
next;
cutin "heri2.bmp",2;
@@ -2781,13 +2781,13 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
next;
input .@inputstr$;
if (.@inputstr$ == "President Karl" || .@inputstr$ == "President Weierstrass" || .@inputstr$ == "President" || .@inputstr$ == "Karl Weierstrass") {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that I know one...";
next;
mes "[Herico]";
mes "Okay, tell me who he is.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. President.....!";
mes "Mr. President must be the one who can help us.";
next;
@@ -2796,7 +2796,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "I may well say that Rekenber owns this country.";
mes "I don't think that he has not been influenced by them.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, Mr. President, who I know,";
mes "has been trying to free this country from Rekenber.";
mes "Even if he was frustrated by a ridiculous reason at the last time,";
@@ -2815,7 +2815,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
cutin "",255;
end;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Umm...no, I don't think that I know anyone.";
next;
mes "[Herico]";
@@ -2928,7 +2928,7 @@ lhz_in03,39,44,3 script Enquro Carson 4W_M_01,{
mes "And they insisted their social security";
mes "through a violent method, so the government had to stop them with force.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you know any survivor of Mercenary Rebellion?";
next;
mes "[Enquro Carson]";
@@ -2953,7 +2953,7 @@ lhz_in03,39,44,3 script Enquro Carson 4W_M_01,{
mes "contact with the rebellion survivors";
mes "after the rebellion ended in failure.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Can you tell me the survivors' locations?";
next;
mes "[Enquro Carson]";
@@ -2962,7 +2962,7 @@ lhz_in03,39,44,3 script Enquro Carson 4W_M_01,{
mes "Hmm...but it happened a long time ago, and";
mes "I don't know if they are still alive or not...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you so much!";
next;
mes "[Enquro Carson]";
@@ -3025,7 +3025,7 @@ lhz_in03,39,44,3 script Enquro Carson 4W_M_01,{
mes "^FF0000Hugel^000000. Wait, Hugel?";
mes "Isn't that the small country at the corner of Schwaltzvalt Republic?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? Hugel?";
next;
mes "[Enquro Carson]";
@@ -3079,33 +3079,33 @@ hu_in01,310,380,5 script Girl#hugel 4_F_HUGIRL,{
mes "Hehe...are you from another city?";
mes "Heheh.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, little lady?";
mes "By any chance, do you know a man named \"Wintzil Trony\"?";
next;
mes "[Girl]";
mes "There is no man named Wintzil Trony.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh?";
next;
mes "[Girl]";
mes "I am the Wintzil Trony.";
mes "I am a girl, not a man.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............................................................................................................";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^3131FFOh dear Odin, am I on a test?";
mes "Or are you trying to make sure that I still have a good memory?";
mes "How could...how could...how could this little child";
mes "is the last mercenary soldier?! This is absurd!)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...lady,";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you sure that you are the last mer....no, no.";
mes "Then do you have any family member who shares the same name as yours?";
mes "Like your father, for instance.";
@@ -3115,23 +3115,23 @@ hu_in01,310,380,5 script Girl#hugel 4_F_HUGIRL,{
mes "And I don't have a father.";
mes "My mom is out of Hugel to sell Hugel's principal products.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Did...did your father pass away?";
next;
mes "[Wintzil Trony]";
mes "I can't help it. He was too old.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...do you remember what your father";
mes "used to do when he was alive?";
next;
mes "[Wintzil Trony]";
mes "My father sowed seeds.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^3131FFGosh, she is not helping! This is not good!^000000)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, lady, I think that people usually";
mes "say \"cultivate a field\" instead of saying \"sowing seeds\".";
mes "Did you know that?";
@@ -3143,10 +3143,10 @@ hu_in01,310,380,5 script Girl#hugel 4_F_HUGIRL,{
mes "I cultivated fields with my mom and my father.";
mes "Do you want to know how strong I am? Look at this! Yap!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ".................!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Umm...lady, can you show me your father's picture";
mes "or something that used to belong to him?";
next;
@@ -3155,7 +3155,7 @@ hu_in01,310,380,5 script Girl#hugel 4_F_HUGIRL,{
mes "He kept asking me things over and over again,";
mes "then he became upset and left.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(He might be the news reporter from the Light News.)";
next;
mes "[Wintzil Trony]";
@@ -3166,7 +3166,7 @@ hu_in01,310,380,5 script Girl#hugel 4_F_HUGIRL,{
mes "I am living in a house that is pretty empty.";
mes "All my father left to us is the shelf at the upstairs.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you mind if I take a look at your father's shelf?";
next;
mes "[Wintzil Trony]";
@@ -3532,7 +3532,7 @@ hu_fild06,168,359,3 script Moks Mushrooms#Mush1 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 15) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3587,7 +3587,7 @@ hu_fild06,194,341,3 script Moks Mushrooms#Mush2 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 15) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3642,7 +3642,7 @@ hu_fild06,198,339,3 script Moks Mushrooms#Mush3 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 15) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3697,7 +3697,7 @@ hugel,209,163,3 script Clam#C1 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3752,7 +3752,7 @@ hugel,203,166,3 script Clam#C2 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3807,7 +3807,7 @@ hugel,217,158,3 script Clam#C3 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3862,7 +3862,7 @@ hugel,204,150,3 script Clam#C4 HIDDEN_NPC,{
close;
}
} else if (hg_tre == 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that this will do.";
close;
}
@@ -3917,7 +3917,7 @@ hu_fild06,155,309,1 script Moks Bugs#Bug1 THIEF_BUG_,{
close;
}
} else if (hg_tre == 35) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aww...I don't want to touch dirty things like bugs!";
close;
}
@@ -3972,7 +3972,7 @@ hu_fild06,218,320,1 script Moks Bugs#Bug2 THIEF_BUG_,{
close;
}
} else if (hg_tre == 35) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aww...I don't want to touch dirty things like bugs!";
close;
}
@@ -4027,7 +4027,7 @@ hu_fild06,249,329,1 script Moks Bugs#Bug3 THIEF_BUG_,{
close;
}
} else if (hg_tre == 35) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aww...I don't want to touch dirty things like bugs!";
close;
}
@@ -4082,7 +4082,7 @@ hu_fild06,218,373,1 script Moks Bugs#Bug4 THIEF_BUG_,{
close;
}
} else if (hg_tre == 35) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Aww...I don't want to touch dirty things like bugs!";
close;
}
@@ -4099,7 +4099,7 @@ lhz_in01,214,129,0 script A Pile of Paper HIDDEN_NPC,{
mes "On the very top paper, a period and a title saying 'Report of the **th Research'";
mes "were written.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Good, I must take this with me.";
hg_tre = 53;
getitem File01,1; //File folder
@@ -4132,7 +4132,7 @@ OnMonsterDead:
lhz_dun02,244,226,0 script Unethical Machine HIDDEN_NPC,{
if (hg_tre == 54) {
if (countitem(Mini_Bottle)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This must be it...whoa, it looks very spooky.";
mes "Today, I am going to destroy you";
mes "for making innocent people's lives miserable!";
@@ -4908,7 +4908,7 @@ hugel,107,67,3 script Torpy 4_M_KID1,{
mes "something must have";
mes "happened to him. *Sniff*";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your Dad is missing?";
mes "Why don't you tell me";
mes "about the last time";
@@ -4932,7 +4932,7 @@ hugel,107,67,3 script Torpy 4_M_KID1,{
mes "alone now! Waaaaaah~!";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry, I'll look";
mes "for your parents. I'm";
mes "sure that I can find at";
@@ -4942,7 +4942,7 @@ hugel,107,67,3 script Torpy 4_M_KID1,{
setquest 12044;
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry, your";
mes "Dad will probably";
mes "show up sooner";
@@ -5214,7 +5214,7 @@ hugel,100,176,3 script Suspicious Barrel HIDDEN_NPC,{
mes "c-cook th-them. Ugh...";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold on,";
mes "I have to cook";
mes "them for you?!";
@@ -5235,7 +5235,7 @@ hugel,100,176,3 script Suspicious Barrel HIDDEN_NPC,{
mes "It c-can't be... d-denied!";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Weirdo! Why don't you";
mes "get out of that barrel,";
mes "and get your Steamed";
@@ -5278,7 +5278,7 @@ hugel,100,176,3 script Suspicious Barrel HIDDEN_NPC,{
mes "c-cook th-them. Ugh...";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold on,";
mes "I have to cook";
mes "them for you?!";
@@ -5326,7 +5326,7 @@ hugel,100,176,3 script Suspicious Barrel HIDDEN_NPC,{
mes "c-cook th-them. Ugh...";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold on,";
mes "I have to cook";
mes "them for you?!";
@@ -5379,7 +5379,7 @@ hugel,100,174,3 script Strange Man#Hugel 4_M_HUMAN_01,{
mes "inside that barrel. See";
mes "ya round, adventurer~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold it!";
mes "Why are you hiding";
mes "inside that barrel?!";
@@ -5389,7 +5389,7 @@ hugel,100,174,3 script Strange Man#Hugel 4_M_HUMAN_01,{
mes "playing Hide-and-Seek";
mes "with my son, that's all.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But you haven't";
mes "eaten in days! Wait,";
mes "hold on, you wouldn't";
@@ -5402,7 +5402,7 @@ hugel,100,174,3 script Strange Man#Hugel 4_M_HUMAN_01,{
mes "little wager yet? Because";
mes "I'd really hate to lose...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, your wife and son";
mes "are really worried about";
mes "you. Shouldn't you be going";
@@ -6278,7 +6278,7 @@ yuno,111,156,3 script Euslan 4_F_01,{
mes "gone, then please let me";
mes "know as soon as you can,";
mes "okay? Thanks for cheering";
- mes "me up, "+strcharinfo(0)+".";
+ mes "me up, "+strcharinfo(PC_NAME)+".";
hg_ma1 = 3;
setquest 8044;
close;
@@ -6347,7 +6347,7 @@ yuno,111,156,3 script Euslan 4_F_01,{
mes "gone, then please let me";
mes "know as soon as you can,";
mes "okay? Thanks for cheering";
- mes "me up, "+strcharinfo(0)+".";
+ mes "me up, "+strcharinfo(PC_NAME)+".";
hg_ma1 = 3;
setquest 8044;
close;
@@ -6454,7 +6454,7 @@ yuno,111,156,3 script Euslan 4_F_01,{
mes "best to get better. ^333333*Cough*^000000";
next;
mes "[Euslan]";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "I'll never forget what";
mes "you've done for Thierry and";
mes "me. I'll always be praying for";
@@ -8216,7 +8216,7 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
end;
}
} else if (hg_odin > 1 && hg_odin < 6) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but";
mes "what are you guys";
mes "doing over here?";
@@ -8233,7 +8233,7 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
switch(select("About Alex and Julian", "Alright, now I understand.")) {
case 1:
cutin "hu_laura01.bmp",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "These people in the other";
mes "room, Alex and Julian, are";
mes "they also working in this same";
@@ -8674,7 +8674,7 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
mes "Hey, hey!";
mes "Hey hey hey!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Me?";
next;
}
@@ -8740,7 +8740,7 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
switch(select("Giantes", "Ymir's Heart", "Nothing")) {
case 1:
cutin "hu_laura04.bmp",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm guessing that you're";
mes "already familiar with the";
mes "creature known as Giantes";
@@ -8756,7 +8756,7 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
mes "What else did you learn?";
next;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, have you";
mes "ever heard of Ymir's...";
next;
@@ -8773,27 +8773,27 @@ hu_in01,14,11,4 script Laura 1_F_GYPSY,{
switch(select("It's candy.", "It's a book.", "It's a place.", "Ymir was a giant..."))
{
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's this...";
mes "Um, really...";
next;
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Er, you see...";
mes "A lot of people know";
mes "about Ymir's Heart...";
next;
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know the expression,";
mes "''Home is where the heart";
mes "is?'' Er, well, Ymir's Heart...";
next;
break;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The truth is,";
mes "Ymir was this giant...";
next;
@@ -9742,7 +9742,7 @@ OnTouch:
mes "ground, but it still looks";
mes "fairly stable and durable.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
next;
@@ -9770,7 +9770,7 @@ OnTouch:
next;
mes "^FF0000Thud!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What...?";
mes "What was";
mes "that noise?!";
@@ -9778,7 +9778,7 @@ OnTouch:
specialeffect EF_LORD;
specialeffect EF_LORD;
specialeffect EF_LORD;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wa...waaaahhhh!";
close2;
hg_odin = 22;
@@ -9809,11 +9809,11 @@ OnTouch:
que_hugel,163,178,0 script object#3 HIDDEN_WARP_NPC,3,3,{
OnTouch:
if (hg_odin == 22) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh?";
mes "What's happening?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Waaaaahhhh!";
close2;
hg_odin = 23;
@@ -9846,7 +9846,7 @@ OnTouch:
mes "it up. Plus, I'm still worried";
mes "about the ''Shinokas'' issue...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Shinokas?";
next;
mes "[Alex]";
diff --git a/npc/quests/quests_juperos.txt b/npc/quests/quests_juperos.txt
index 5b2c5f21d..d43749b3e 100644
--- a/npc/quests/quests_juperos.txt
+++ b/npc/quests/quests_juperos.txt
@@ -72,7 +72,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "content you couldn't possibly";
mes "fathom. The popular novels and picture books are someplace else.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
next;
@@ -84,7 +84,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "interest. Well, depending on";
mes "your actual attention span...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(What's her damage?!";
mes "Does she have an attitude problem or is she just stuck-up?)";
close;
@@ -109,7 +109,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "Hmpf.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "By any chance...";
mes "Are you conducting";
mes "research about Juperos?";
@@ -120,7 +120,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "you come to learn about";
mes "my current research project?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I managed to read";
mes "a thesis paper entitled,";
mes "''The Fall of Juperos,'' and";
@@ -133,7 +133,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "thesis? So what did";
mes "you think about it?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So far, it's alright, but";
mes "quite frankly it's incomplete.";
mes "I mean, you don't have much in";
@@ -149,8 +149,8 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "Fayruz Khrhiyha. May I ask";
mes "what your name might be?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I'm "+strcharinfo(0)+",";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I'm "+strcharinfo(PC_NAME)+",";
mes "a brave adventurer in the";
mes "service of his royal majesty,";
mes "the wise and benevolent";
@@ -158,7 +158,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
yuno_hist = 2;
next;
mes "[Fayruz]";
- mes "Well, "+strcharinfo(0)+",";
+ mes "Well, "+strcharinfo(PC_NAME)+",";
mes "I understand that my thesis";
mes "still requires more evidence.";
mes "But I'd need some ancient";
@@ -219,7 +219,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
next;
switch(select("I found something in Juperos.", "Nothing much.")) {
case 1:
- mes "[" +strcharinfo(0)+"]";
+ mes "[" +strcharinfo(PC_NAME)+"]";
mes "I went to Juperos like";
mes "you asked and found that";
mes "stone statue you were talking";
@@ -288,7 +288,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
}
case 4:
mes "[Fayruz]";
- mes "Oh hello, "+strcharinfo(0)+".";
+ mes "Oh hello, "+strcharinfo(PC_NAME)+".";
mes "So what brings you to";
mes "the Juno Library today?";
next;
@@ -378,7 +378,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
}
case 5:
mes "[Fayruz]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "Have you come back with";
mes "something from Juperos?";
mes "I've been hoping you'd come";
@@ -413,7 +413,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
}
case 6:
mes "[Fayruz]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "The Transparent Plate";
mes "that you brought for me";
mes "last time is really helping me";
@@ -431,7 +431,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
close;
case 7:
mes "[Fayruz]";
- mes "Hello, "+strcharinfo(0)+"~";
+ mes "Hello, "+strcharinfo(PC_NAME)+"~";
mes "Oh, were you able to look";
mes "in Juperos for anything that";
mes "might help me in my research?";
@@ -458,7 +458,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
}
case 8:
mes "[Fayruz]";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "I'm having great difficulty in";
mes "translating that Transparent";
mes "Plate you brought for me that";
@@ -481,7 +481,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
case 9:
mes "[Fayruz]";
mes "Ah, I've been";
- mes "expecting you, "+strcharinfo(0)+".";
+ mes "expecting you, "+strcharinfo(PC_NAME)+".";
mes "So did you have been to Juperos again? I'm really hoping that you";
mes "were able to find something new that would help in my research...";
next;
@@ -513,7 +513,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
}
case 10:
mes "[Fayruz]";
- mes "Oh hello, "+strcharinfo(0)+"...";
+ mes "Oh hello, "+strcharinfo(PC_NAME)+"...";
mes "So what exactly brings you";
mes "to the Juno Library this time?";
next;
@@ -534,7 +534,7 @@ yuno_in04,190,125,4 script Scholar 8_F_GIRL,{
mes "to help me. Please, would";
mes "you take this as my way";
mes "saying ''Thanks?'' You've been";
- mes "great, "+strcharinfo(0)+"...";
+ mes "great, "+strcharinfo(PC_NAME)+"...";
if (countitem(Transparent_Plate01)) delitem 7352,1;
else if (countitem(Transparent_Plate02)) delitem 7353,1;
else if (countitem(Transparent_Plate03)) delitem 7354,1;
@@ -681,7 +681,7 @@ function script Func_JupHist {
mes "these Transparent";
mes "Plates in Juperos, I'd be";
mes "very happy to share another";
- mes "story with you, "+strcharinfo(0)+".";
+ mes "story with you, "+strcharinfo(PC_NAME)+".";
close;
}
else if (countitem(getarg(3))) {
@@ -707,7 +707,7 @@ function script Func_JupHist {
mes "me, I need to go back";
mes "to compiling my research...";
mes "Thank you so much for";
- mes "your help, "+strcharinfo(0)+".";
+ mes "your help, "+strcharinfo(PC_NAME)+".";
close;
}
else {
@@ -822,7 +822,7 @@ function script Func_JupHist {
mes "me, I need to go back";
mes "to compiling my research...";
mes "Thank you so much for";
- mes "your help, "+strcharinfo(0)+".";
+ mes "your help, "+strcharinfo(PC_NAME)+".";
if (countitem(getarg(2))) delitem getarg(2),1;
else if (countitem(getarg(3))) delitem getarg(3),1;
getitem 644,1;
@@ -973,7 +973,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "..................^000000";
if (yuno_hist < 7) {
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmmm...";
mes "A whole chapter";
mes "dedicated to saying,";
@@ -996,7 +996,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "......";
mes "..........^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is all just idle";
mes "conjecture! This paper";
mes "isn't developed enough";
@@ -1020,7 +1020,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "the destruction of any existing";
mes "documentation from that era.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes... Of course!";
mes "It all makes sense now!";
close;
@@ -1046,7 +1046,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "......";
mes "..........^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh. This writer keeps";
mes "talking about theories,";
mes "but the more I read, the";
@@ -1114,7 +1114,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "the once great city of Juperos.^000000";
close;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ugh... My head hurts";
mes "too much from reading";
mes "a book for smarty people.";
@@ -1148,7 +1148,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "..................^000000";
if (!yuno_hist) yuno_hist = 1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This...";
mes "This is supposed to";
mes "be a research thesis?";
@@ -1156,7 +1156,7 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
mes "research in it...";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "This isn't heavy";
mes "enough to be a real";
@@ -1166,33 +1166,33 @@ yuno_in04,186,125,4 script Bundle of Files HIDDEN_NPC,{
}
case 2:
if (yuno_hist < 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nah...";
mes "I'm tired of reading.";
mes "Ironically enough.";
close;
}
else if (yuno_hist < 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't feel like";
mes "reading this. Not";
mes "enough pictures...";
close;
}
else if (yuno_hist < 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It looks very sophisticated...";
close;
}
else if (yuno_hist < 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I know this book...";
mes "But I don't feel like";
mes "reading it right now.";
close;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This thesis is";
mes "looking pretty good~";
mes "Of course, I did have";
@@ -1212,14 +1212,14 @@ yuno_in04,188,118,4 script Book#juperos HIDDEN_NPC,{
mes "Publisher:";
mes "Wushu Publishing, Co.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "W-whoa!";
mes "This book wasn't";
mes "here before! It looks";
mes "pretty interesting...";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know what?";
mes "I think I'll just flip";
mes "through some pages";
@@ -1250,7 +1250,7 @@ yuno_in04,188,118,4 script Book#juperos HIDDEN_NPC,{
mes "''Really?! We better hurry:";
mes "Earth doesn't have much time!''^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
mes "Whoa. I really";
@@ -1271,7 +1271,7 @@ juperos_01,99,112,4 script Bronze Statue#1 CLEAR_NPC,{
close;
}
else if (yuno_hist == 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I better go and";
mes "see Fayruz in the";
mes "Juno Library and tell";
@@ -1292,7 +1292,7 @@ juperos_01,99,112,4 script Bronze Statue#1 CLEAR_NPC,{
mes "and making out the sounds";
mes "for some weird reason.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is creepy!";
mes "I know that I'm not";
mes "supposed to be able";
@@ -1301,7 +1301,7 @@ juperos_01,99,112,4 script Bronze Statue#1 CLEAR_NPC,{
mes "all of these letters make...";
next;
if (yuno_hist == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then again, Fayruz did";
mes "say this was enchanted.";
mes "Okay, I guess I'll go back";
@@ -1310,7 +1310,7 @@ juperos_01,99,112,4 script Bronze Statue#1 CLEAR_NPC,{
yuno_hist = 3;
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh. Only a scholar,";
mes "maybe someone even in";
mes "Juno, could make sense";
@@ -1340,7 +1340,7 @@ yuno_in04,169,109,1 script Ambitious Hollgrehenn HIDDEN_NPC,{
mes "could discern which weapons";
mes "were the most powerful...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That's strange...";
mes "The next page";
mes "has been torn out.";
@@ -1356,7 +1356,7 @@ yuno_in04,174,111,1 script Penniless Hollgrehenn HIDDEN_NPC,{
mes "Publisher:";
mes "Muha Books, Co.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This book looks";
mes "like a total piece of";
mes "crap. I'd have more";
@@ -1383,12 +1383,12 @@ yuno_in04,102,106,1 script Popular Feasts HIDDEN_NPC,{
mes "from live Yoyos.";
mes "Now, as for skinning...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um...";
mes "Barf?";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, this page is gone!";
mes "I guess Poring Salad is";
mes "the most popular feast";
@@ -1401,7 +1401,7 @@ yuno_in04,102,106,1 script Popular Feasts HIDDEN_NPC,{
mes "crisp. Then, pour the";
mes "feathers into a blender...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "Sounds a little";
mes "too gourmet for my";
@@ -1412,7 +1412,7 @@ yuno_in04,102,106,1 script Popular Feasts HIDDEN_NPC,{
}
yuno_in04,111,108,1 script Hamerun, Rat Hunter HIDDEN_NPC,{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can't...";
mes "reach it...!";
close;
@@ -1438,25 +1438,25 @@ yuno_in04,167,127,1 script Red Book HIDDEN_NPC,{
mes ".........";
mes "............^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is...";
mes "A compilation of";
mes "Shakespeare in ";
mes "coloring book format?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "Why would fans of";
mes "Shakespeare even";
mes "want a coloring book?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm... Well...";
mes "I suppose little kids who";
mes "read Shakespeare would";
mes "appreciate something like that.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold on...";
mes "Do little kids who";
mes "are able to read the";
@@ -1464,7 +1464,7 @@ yuno_in04,167,127,1 script Red Book HIDDEN_NPC,{
mes "even exist? I hope not...";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What a strange";
mes "and mysterious book.";
mes "I'll never know what's";
@@ -1505,7 +1505,7 @@ yuno_in04,121,109,1 script Scroll HIDDEN_NPC,{
mes " ";
mes " ";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, wait...";
mes "This thing IS old.";
mes "I mean, it's obviously";
@@ -1513,12 +1513,12 @@ yuno_in04,121,109,1 script Scroll HIDDEN_NPC,{
mes "standpoint that promotes";
mes "bipartisan gender roles.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm...";
mes "I'm so offended.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This scroll is far too";
mes "primitive. There's been";
mes "all sorts of technological";
@@ -1561,18 +1561,18 @@ yuno_in04,118,116,4 script Paper HIDDEN_NPC,{
mes "- Love, Fayruz^000000";
next;
if (getpartnerid()) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ahhhhhh~";
mes "Love sure is nice!";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What th--?!";
mes "Booooooooo!";
mes "Love stinks!";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess I better";
mes "not look at this.";
mes "I mean, I might";
@@ -1636,7 +1636,7 @@ juperos_01,100,91,0 script jupe_goto#1 FAKE_NPC,2,2,{
OnTouch:
initnpctimer "jupe_goto#1",1;
- mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "^777777["+ strcharinfo(PC_NAME) +"]^000000";
mes "This light...";
mes "It feels like...";
mes "Its warmth is...";
@@ -1644,7 +1644,7 @@ OnTouch:
next;
switch(select("Ah, it's so nice...", "No! This is wrong!")) {
case 1:
- mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "^777777["+ strcharinfo(PC_NAME) +"]^000000";
mes "Ahhhh...";
mes "It feels like";
mes "I'm floating...";
@@ -1654,7 +1654,7 @@ OnTouch:
warp "juperos_02",128,278;
break;
case 2:
- mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "^777777["+ strcharinfo(PC_NAME) +"]^000000";
mes "N-No! This is";
mes "wrong! Something";
mes "weird's happening!";
@@ -1890,7 +1890,7 @@ jupe_area1,88,224,0 script #hole#1-1 CLEAR_NPC,{
end;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -2181,7 +2181,7 @@ jupe_area1,25,238,0 script #hole#1-2 CLEAR_NPC,{
}
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -2467,7 +2467,7 @@ jupe_area1,36,146,0 script #hole#1-3 CLEAR_NPC,{
end;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -2754,7 +2754,7 @@ jupe_area1,50,49,0 script #hole#1-4 CLEAR_NPC,{
}
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -2979,7 +2979,7 @@ jupe_area1,112,162,0 script Lever#ufe CLEAR_NPC,{
disablenpc "Lever#ufe";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Pull this lever?";
mes "I don't even know";
mes "what will happen...";
@@ -3089,7 +3089,7 @@ jupe_area2,74,224,0 script #hole#2-1 CLEAR_NPC,{
end;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -3380,7 +3380,7 @@ jupe_area2,138,238,0 script #hole#2-2 CLEAR_NPC,{
}
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -3666,7 +3666,7 @@ jupe_area2,127,146,0 script #hole#2-3 CLEAR_NPC,{
end;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -3955,7 +3955,7 @@ jupe_area2,113,49,0 script #hole#2-4 CLEAR_NPC,{
}
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmmm...";
mes "Do I have anything";
mes "that might make this";
@@ -4182,7 +4182,7 @@ jupe_area2,51,162,0 script Lever#ufe2 CLEAR_NPC,{
disablenpc "Lever#ufe2";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Pull this lever?";
mes "I don't even know";
mes "what will happen...";
@@ -4910,7 +4910,7 @@ OnTouch:
warp "juperos_02",130,142;
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Not now!";
mes "I can't leave yet!";
close2;
diff --git a/npc/quests/quests_lighthalzen.txt b/npc/quests/quests_lighthalzen.txt
index 044fb10dd..0a80c25ae 100644
--- a/npc/quests/quests_lighthalzen.txt
+++ b/npc/quests/quests_lighthalzen.txt
@@ -252,7 +252,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "on my nerves! What could";
mes "you possibly want from me?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nothing really.";
mes "I just feel like";
mes "watching you work.";
@@ -265,7 +265,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "be so uptight about you looking";
mes "at what I'm doing, now would I?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nah...";
mes "I just think";
mes "you're uptight";
@@ -286,7 +286,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "ticking me off! Why";
mes "don't you go away?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I was also";
mes "wondering why you're";
mes "working in a place that's";
@@ -308,7 +308,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "Hell, I could even get you";
mes "into that Laboratory...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "W-wait!";
mes "Laboratory?!";
mes "Are you serious?";
@@ -323,7 +323,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "stubborn, kid. But I don't trust";
mes "or serve strangers, period.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But isn't there";
mes "anything I can do";
mes "so you can help me";
@@ -340,7 +340,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
close;
}
else if (lhz_sincube == 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Please...";
mes "Please tell me";
mes "how I can get inside";
@@ -356,7 +356,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
close;
}
else if (lhz_sincube == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why won't you";
mes "heeeeelp meee?";
mes "Pleeeeeeeease~";
@@ -370,7 +370,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "final. How many times do";
mes "you gotta make me spell it out?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But there's gotta";
mes "be something I can";
mes "do so you'll help me?";
@@ -393,7 +393,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "you need. Alright, good luck";
mes "to you, brave adventurer.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You're joking right?!";
mes "There's no way I can ever";
mes "get that much zeny! I'd...";
@@ -590,7 +590,7 @@ lighthalzen,341,224,3 script Fishbone 4_M_LGTGUARD,{
mes "you wanted over there?";
completequest 12014;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah...";
mes "I hope so,";
mes "anyway.";
@@ -1734,7 +1734,7 @@ OnTouch:
Zeny -= 100;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I sense something...";
mes "No. It might just";
@@ -1750,7 +1750,7 @@ OnTouch:
Zeny -= 200;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I could have sworn";
mes "that these pockets full";
@@ -1767,7 +1767,7 @@ OnTouch:
Zeny -= 10;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "What the?!";
mes "That guy, did he just...?";
@@ -1807,7 +1807,7 @@ OnTouch:
Zeny -= 100;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I sense something...";
mes "No. It might just";
@@ -1823,7 +1823,7 @@ OnTouch:
Zeny -= 200;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I could have sworn";
mes "that these pockets full";
@@ -1840,7 +1840,7 @@ OnTouch:
Zeny -= 10;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "What the?!";
mes "That guy, did he just...?";
@@ -1880,7 +1880,7 @@ OnTouch:
Zeny -= 100;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I sense something...";
mes "No. It might just";
@@ -1897,7 +1897,7 @@ OnTouch:
Zeny -= 200;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "I could have sworn";
mes "that these pockets full";
@@ -1914,7 +1914,7 @@ OnTouch:
Zeny -= 10;
}
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "What the?!";
mes "That guy, did he just...?";
@@ -1926,7 +1926,7 @@ OnTouch:
mes "Gotta scram!";
mes "Eat my dust, good gu--!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh no, you don't!";
mes "I'm turning you in,";
mes "you pickpocket!";
@@ -1938,7 +1938,7 @@ OnTouch:
mes "let me go! Crap!";
emotion e_sob;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright, fine,";
mes "but you better quit";
mes "this life of crime!";
@@ -2078,7 +2078,7 @@ lhz_in02,201,210,5 script Digotz 4_M_LGTMAN,{
mes "by a knife that is still";
mes "embedded in his belly.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Digotz...?";
mes "Oh no, let me";
mes "get you some help!";
@@ -2148,7 +2148,7 @@ lhz_in02,201,210,5 script Digotz 4_M_LGTMAN,{
mes "my fashionable street clothes?";
close;
}
- if ((friendship == 12 && countitem(Friend's_Diary) > 0)) {
+ if ((friendship == 12 && countitem(Friends_Diary) > 0)) {
mes "[Digotz]";
mes "Even if Benkaistein";
mes "did come back, I don't";
@@ -2303,7 +2303,7 @@ lhz_in02,201,210,5 script Digotz 4_M_LGTMAN,{
mes "to Maku? Now when I think";
mes "about it, I was kind of--";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I delivered your message";
mes "word for word, and Maku";
mes "got angry, called you names";
@@ -2379,7 +2379,7 @@ lhz_in02,201,210,5 script Digotz 4_M_LGTMAN,{
mes "you visited the poor district?";
next;
select("Yes, I did already...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, I did already...";
mes "And I met someone";
mes "named Maku there.";
@@ -2555,7 +2555,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
cutin "lhz_macu05",255;
end;
}
- if (friendship == 13 && countitem(Friend's_Diary) > 0) {
+ if (friendship == 13 && countitem(Friends_Diary) > 0) {
cutin "lhz_macu06",2;
mes "[Maku]";
mes "Hey, what is that? You want";
@@ -2680,7 +2680,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "Well, if he apologizes first,";
mes "I guess I better forgive him.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Good...";
mes "Because Digotz said";
mes "that he'll be coming";
@@ -2703,7 +2703,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "that I'm grateful or anything.";
cutin "lhz_macu07",255;
next;
- delitem Friend's_Diary,1;
+ delitem Friends_Diary,1;
friendship = 14;
if (RENEWAL_EXP) {
if (BaseLevel > 90) getexp 70000,0;
@@ -2816,7 +2816,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "totally prickish Digotz.";
next;
select("Speaking of which...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Speaking of which...";
mes "I spoke to Digotz again.";
mes "He told me to give you a";
@@ -3175,7 +3175,7 @@ yuno_in04,96,106,5 script Passionate Student 4_M_SAGE_A,{
mes "sure to let you know~";
close;
}
- if ((friendship == 11 && countitem(Friend's_Diary) > 0)) {
+ if ((friendship == 11 && countitem(Friends_Diary) > 0)) {
mes "[Benkaistein]";
mes "Aw nuts, this is";
mes "taking much longer";
@@ -3284,7 +3284,7 @@ yuno_in04,96,106,5 script Passionate Student 4_M_SAGE_A,{
mes "mentioned by Maku and Digotz!^000000";
next;
select("Excuse me...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me...";
mes "Benkaistein?";
next;
@@ -3297,7 +3297,7 @@ yuno_in04,96,106,5 script Passionate Student 4_M_SAGE_A,{
mes "Hmm, this here might help...";
next;
select("Hey...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey...";
mes "Over here.";
mes "Benkaistein!";
@@ -3311,7 +3311,7 @@ yuno_in04,96,106,5 script Passionate Student 4_M_SAGE_A,{
mes "would look much more solid...";
next;
select("HEY YOU...!");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "HEY YOU...!";
mes "BENKAISTEIN~!";
next;
@@ -3351,7 +3351,7 @@ yuno_in04,168,117,3 script Book#lhz HIDDEN_NPC,{
}
if (friendship == 10) {
friendship = 11;
- getitem Friend's_Diary,1;
+ getitem Friends_Diary,1;
mes "^3355FFThis book is labeled,";
mes "''Benkaistein's Journal";
mes "Vol. 6.'' This is probably";
@@ -3524,7 +3524,7 @@ OnTouch_:
mes "............";
next;
emotion e_what,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Those voices weren't";
mes "just in my head, were they?";
mes "Hello...? Anybody there...?";
@@ -3602,7 +3602,7 @@ OnTouch_:
mes "............";
next;
emotion e_what,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm hearing things";
mes "again! Where are all of";
mes "these voices coming from?";
@@ -3648,7 +3648,7 @@ OnTouch_:
next;
mes "............";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is...";
mes "This is insane!";
mes "I must be hallucinating!";
@@ -3709,7 +3709,7 @@ OnTouch_:
next;
mes "............";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "............";
close2;
soundeffect "tao_gunka_stand.wav",0;
@@ -4803,7 +4803,7 @@ lighthalzen,346,263,3 script Elder#lhz 4_F_EINOLD,{
lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
if (lhz_curse == 23) {
if (countitem(Worn_Out_Pendant) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey there, are";
mes "you feeling alright?";
next;
@@ -4812,7 +4812,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "I'm fine. But...";
mes "Have we met before?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah, we did.";
mes "You should know who";
mes "I am by now. Hey, you";
@@ -4826,7 +4826,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "everything that's happened";
mes "in the past few weeks...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... Oh. I'm so";
mes "sorry. But maybe this";
mes "is for the best? Here,";
@@ -4840,11 +4840,11 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
specialeffect2 EF_FORESTLIGHT4;
mes "...............";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
next;
- mes "[Possessed "+strcharinfo(0)+"]";
+ mes "[Possessed "+strcharinfo(PC_NAME)+"]";
mes "^3131FFSetsu, please remember";
mes "that I'd never do anything";
mes "to hurt you. Forgive me for";
@@ -4852,7 +4852,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "that one day we'll meet";
mes "again, little princess.^000000";
next;
- mes "[Possessed "+strcharinfo(0)+"]";
+ mes "[Possessed "+strcharinfo(PC_NAME)+"]";
mes "^3131FFUntil then, I want";
mes "you to be happy, okay?";
mes "Your brother's always";
@@ -4864,7 +4864,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "That's my brother's";
mes "voice! Brother!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eh? What? Whoa...";
mes "What came over me?";
mes "The last thing I reme--";
@@ -4873,7 +4873,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "...";
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...";
mes "This is awkward.";
delitem Worn_Out_Pendant,1;
@@ -4881,7 +4881,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
close;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey there, are";
mes "you feeling alright?";
next;
@@ -4890,7 +4890,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "I'm fine. But...";
mes "Have we met before?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah, we did.";
mes "You should know who";
mes "I am by now. Hey, you";
@@ -4945,7 +4945,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "bye-bye...";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, would you have";
mes "any idea who might";
mes "have owned this pendant?";
@@ -4963,7 +4963,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "sort of business trip. You must";
mes "be his friend, is that right?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, um,";
mes "you know what...?";
next;
@@ -4972,7 +4972,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "...";
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...So basically, your";
mes "brother's @lhz_ghost, oh right,";
mes "did I mention he was dead?";
@@ -4992,7 +4992,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "and the-- Leave me alone!";
mes "Oh god, get the hell away!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
mes "......";
mes "Sheesh.";
@@ -5015,10 +5015,10 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "nothing could happen";
mes "to him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um... yes. So...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sure, your big brother must be happy.";
mes "He'll come back sometime.";
mes "You should sleep to be healthy";
@@ -5036,10 +5036,10 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
specialeffect2 EF_FORESTLIGHT4;
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............";
next;
- mes "[Possessed "+strcharinfo(0)+"]";
+ mes "[Possessed "+strcharinfo(PC_NAME)+"]";
mes "^3131FFSetsu, please remember";
mes "that I'd never do anything";
mes "to hurt you. Forgive me for";
@@ -5047,7 +5047,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "that one day we'll meet";
mes "again, little princess.^000000";
next;
- mes "[Possessed "+strcharinfo(0)+"]";
+ mes "[Possessed "+strcharinfo(PC_NAME)+"]";
mes "^3131FFUntil then, I want";
mes "you to be happy, okay?";
mes "Your brother's always";
@@ -5059,7 +5059,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "That's my brother's";
mes "voice! Brother!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eh? What? Whoa...";
mes "What came over me?";
mes "The last thing I reme--";
@@ -5069,7 +5069,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
next;
switch(select("Distract her", "Comfort her")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, all of this was a play...";
mes "Y-yes a play, I was practising.";
mes "Ha ha~ Is it okay, isn't it?";
@@ -5079,7 +5079,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "Even though I didn't think";
mes "it was really my brother, you know?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...";
next;
mes "[Setsu]";
@@ -5088,13 +5088,13 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "He'll be very proud of me.";
mes "Heh heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I'm sure of that.";
delitem Worn_Out_Pendant,1;
lhz_curse = 25;
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Crying have no use!";
mes "You're a very pretty";
mes "girl to be ruining your";
@@ -5103,7 +5103,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "[Setsu]";
mes "............";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You should do your best";
mes "to be healthy for the time";
mes "your big brother return.";
@@ -5111,7 +5111,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "[Setsu]";
mes "Yes...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Listen, when your brother";
mes "return you'll celebrate in";
mes "a beautiful place.";
@@ -5120,7 +5120,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "Really?";
mes "It's a promise then! Heh heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I hope it'll be soon!";
mes "When I return I want you to be";
mes "able to walk. See you soon, then!";
@@ -5144,10 +5144,10 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "nothing could happen";
mes "to him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um... yes. So...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sure, your big brother must be happy.";
mes "He'll come back sometime.";
mes "You should sleep to be healthy";
@@ -5213,14 +5213,14 @@ OnTouch_:
mes "......I appreciate";
mes "that you.............^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "H-huh?!";
mes "What was that?";
mes "That can't be the";
mes "wind, I must be";
mes "hearing things again...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait. I thought I was";
mes "rid of those thoughts";
mes "or spirits, whatever was";
@@ -5228,7 +5228,7 @@ OnTouch_:
mes "they still want me to do";
mes "something for them. Hmmm...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I get the feeling that";
mes "all of their suffering";
mes "is tied to the ^FF0000Rekenber";
@@ -6483,7 +6483,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
switch( select( "Yes, I'm sure of it!","Well..." ) )
{
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I'm sure of it!";
mes "That was definitely you!";
mes "Your voice, your way of";
@@ -6505,7 +6505,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
switch( select( "I'm not interrogating...","Sorry about that." ) )
{
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm not interrogating";
mes "you. No, not at all.";
mes "It's, um, it's just...";
@@ -6513,7 +6513,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
switch( select( "Who are you dealing with?","I was just curious." ) )
{
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who are you dealing";
mes "with? I heard something";
mes "about some organization";
@@ -6521,7 +6521,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
mes "powerful and I'm starting";
mes "to get really concerned.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't think I can";
mes "ignore hearing about";
mes "any kind of dangerous";
@@ -6562,7 +6562,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
close;
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry about that.";
mes "I didn't mean to";
mes "stick my nose into";
@@ -6579,7 +6579,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
}
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...";
mes "Now I don't know.";
mes "I suppose I could";
@@ -6622,7 +6622,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
case 1:
break;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How can I cooperate?";
mes "Um, what exactly is it";
mes "that you want me to do?";
@@ -7049,7 +7049,7 @@ OnTouch:
mes "^333333Hurry up, before";
mes "the others see you...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(Wait a second...";
mes "That voice is";
mes "awfully familiar.)";
@@ -7057,13 +7057,13 @@ OnTouch:
switch( select( "Ignore it.","Keep listening." ) )
{
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(That voice is";
mes "awfully familiar...";
mes "But what do I care?)";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(This is too weird.";
mes "I guess I better keep";
mes "listening to see what";
@@ -7335,13 +7335,13 @@ yuno_pre,69,20,4 script Secretary#1 4_F_LGTGIRL,{
mes "name so that I can look";
mes "it up in today's schedule?";
next;
- switch( select( ""+strcharinfo(0)+"" ) )
+ switch( select( ""+strcharinfo(PC_NAME)+"" ) )
{
case 1:
break;
}
mes "[Hes O'Neil]";
- mes ""+strcharinfo(0)+"?";
+ mes ""+strcharinfo(PC_NAME)+"?";
mes "I'm sorry, but I can't find";
mes "your name on the list. You";
mes "can only visit the president";
@@ -7427,13 +7427,13 @@ yuno_pre,69,20,4 script Secretary#1 4_F_LGTGIRL,{
mes "name so that I can look";
mes "it up in today's schedule?";
next;
- switch( select( ""+strcharinfo(0)+"" ) )
+ switch( select( ""+strcharinfo(PC_NAME)+"" ) )
{
case 1:
break;
}
mes "[Hes O'Neil]";
- mes ""+strcharinfo(0)+"?";
+ mes ""+strcharinfo(PC_NAME)+"?";
mes "I'm sorry, but I can't find";
mes "your name on the list. You";
mes "can only visit the president";
@@ -7522,14 +7522,14 @@ yuno_pre,69,20,4 script Secretary#1 4_F_LGTGIRL,{
mes "The President has given the order that ";
mes "nobody is allowed to enter this place.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "However, you will change your mind after listening to my explanation.";
next;
mes "[Hes O'Neil]";
mes "...............";
mes "Is it something very important?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It is the most important thing.";
next;
mes "[Hes O'Neil]";
@@ -7608,8 +7608,8 @@ yuno_pre,95,71,5 script Guard 4_M_EIN_SOLDIER,{
next;
mes "[Guard]";
mes "Mr. Keshnaar,";
- mes "I present "+strcharinfo(0)+".";
- mes ""+strcharinfo(0)+", allow me";
+ mes "I present "+strcharinfo(PC_NAME)+".";
+ mes ""+strcharinfo(PC_NAME)+", allow me";
mes "to introduce Eridan Keshnaar.";
next;
mes "[Keshnaar]";
@@ -7646,11 +7646,11 @@ yuno_pre,95,71,5 script Guard 4_M_EIN_SOLDIER,{
{
case 1:
if (Sex == SEX_MALE)
- mes "A Mister " + strcharinfo(0);
+ mes "A Mister " + strcharinfo(PC_NAME);
else if (getpartnerid())
- mes "A Missis " + strcharinfo(0);
+ mes "A Missis " + strcharinfo(PC_NAME);
else
- mes "A Miss " + strcharinfo(0);
+ mes "A Miss " + strcharinfo(PC_NAME);
mes "has arrived to see you now.";
next;
mes ".....";
@@ -8085,7 +8085,7 @@ L_Mission:
mes "must find Shinokas and";
mes "see what you can learn!";
mes "Your efforts will not go";
- mes "unrecognized, "+strcharinfo(0)+".";
+ mes "unrecognized, "+strcharinfo(PC_NAME)+".";
close2;
cutin "",255;
end;
@@ -8512,7 +8512,7 @@ L_Mission:
{
if(!countitem(File01))
{
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, where did I put the record?";
close;
}
@@ -8520,7 +8520,7 @@ L_Mission:
mes "It's you.....!";
mes "It's really been a long time.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So, are you still having the idea to go against Rekenber?";
next;
mes "[Karl]";
@@ -8530,7 +8530,7 @@ L_Mission:
mes "I'm not sure.";
mes "The Secret Wing has been disbanded and I am just another puppet they have, just like the previous presidents.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Not long ago, the scientists of Regenschrim have stolen the research record and destroyed the machines that they used for research purposes.";
next;
emotion e_gasp,0;
@@ -8545,7 +8545,7 @@ L_Mission:
mes "Oh! Can you give me the record?";
mes "It will be a big trouble to them.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you insist to go against them, I will give you the record.";
next;
mes "[Karl]";
@@ -8556,7 +8556,7 @@ L_Mission:
mes "You remind me of the day I made up my mind to rebuild this country.";
mes "How could I forgot such important responsibilities of mine.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's great.";
mes "Here's the record.";
mes "I hope you will make good use of it. ";
@@ -8567,7 +8567,7 @@ L_Mission:
mes "[Karl]";
mes "Oh! That's some interesting information.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have another good news. The Secret Wing has not given up yet. They are still working on the project and I hope that you won't be giving up on it too.";
next;
mes "[Karl]";
@@ -9040,7 +9040,7 @@ lhz_fild02,228,214,0 script Wounded Man 4_M_DIEMAN,{
next;
mes "^3355FFIt's a wounded man...!^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "H-hey...!";
mes "Are you hurt?";
mes "Do you need any he--";
@@ -10385,7 +10385,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "into those thugs again?";
mes "Why don't you take a rest?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Kazien...";
mes "While I was fighting";
mes "those thugs, one of the";
@@ -10401,7 +10401,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "............";
cutin "lhz_kaz08",2;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wh-why are you supplying";
mes "those things? If we let those";
mes "packages get imported by";
@@ -10415,7 +10415,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "I don't want to";
mes "hear anymore.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hold it, I deserve an";
mes "answer! How can you turn";
mes "a blind eye and provide just";
@@ -10423,7 +10423,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "and guardians^000000? It's like you're";
mes "promoting war and violence!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "And what about your little";
mes "brother Lyozien? He has";
mes "no idea what he's doing!";
@@ -10440,7 +10440,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "You don't know what it's like";
mes "to live in Lighthalzen's slums!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes ".................";
next;
cutin "lhz_kaz04",2;
@@ -10477,7 +10477,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "of this job, even if I'm dirtying my hands, making money";
mes "off of other people's deaths.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But that still isn't right.";
mes "You're selling weapons so";
mes "that people can kill each other! Even if it's for the sake of";
@@ -10558,7 +10558,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "that. Lyozien's waiting for";
mes "you, so get to it, okay?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "W-wait! During the last";
mes "delivery, I was attacked";
mes "by a group of thugs that";
@@ -10574,7 +10574,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "more for this job since";
mes "you're risking your life?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I understand that the";
mes "customer's confidentiality";
mes "is important, but I'd feel a";
@@ -10627,7 +10627,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "you like working with Lyozien?";
mes "He's one of my best men.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, aren't you and";
mes "Lyozien supposed";
mes "to be brothers?";
@@ -10649,7 +10649,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "Luckily, I got another";
mes "delivery for you to work on...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Actually, Kazien...";
mes "I was curious. What";
mes "exactly are we delivering?";
@@ -10807,7 +10807,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "contact Garins? Or did";
mes "you encounter any problems?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I came back to";
mes "let you know that I haven't";
mes "been able to find a way inside";
@@ -10823,7 +10823,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "told him that you had";
mes "to talk to Garins, right?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But...";
mes "I thought you said";
mes "I'm not supposed to";
@@ -10838,7 +10838,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "Great! I'm happy to say,";
mes "buddy, you passed the test!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "H-huh? But I never";
mes "even got to see Garins...";
mes "I didn't finish the task";
@@ -10853,7 +10853,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "trustworthiness, is all.";
mes "Now do you understand?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I... I guess.";
mes "Still, you just tricked";
mes "me! How am I supposed";
@@ -10878,7 +10878,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "contact Garins? Or did";
mes "you encounter any problems?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I wasn't able to";
mes "find him. In fact, I don't";
mes "think that Garins even works";
@@ -10891,7 +10891,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "Well, how'd you";
mes "find that out?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I happened to ask the";
mes "Laboratory Guard, but";
mes "he wouldn't even let me in.";
@@ -10905,7 +10905,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "I'm sorry, pal, but";
mes "you failed the test.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "H-huh? What?";
mes "What do you mean?";
next;
@@ -11009,7 +11009,7 @@ lhz_in01,174,258,3 script Young Man#reken 4_M_LGTGUARD,{
mes "back? It's just that you're";
mes "blocking my view is all.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, did you just say";
mes "that you need help?";
mes "I'd like to help solve";
@@ -11149,7 +11149,7 @@ einbroch,55,52,3 script Laboratory Guard#reken 4_M_EIN_SOLDIER,{
switch( select( "I need to see Mr. Garins...","I'll... come back later." ) )
{
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I need to see Mr. Garins";
mes "and confirm that he received";
mes "a package that was sent to him.";
@@ -11174,7 +11174,7 @@ einbroch,55,52,3 script Laboratory Guard#reken 4_M_EIN_SOLDIER,{
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'll... come back later.";
mes "(^333333I better speak to Kazien";
mes "and let him know I'm having";
@@ -11186,7 +11186,7 @@ einbroch,55,52,3 script Laboratory Guard#reken 4_M_EIN_SOLDIER,{
close;
}
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Whoa, I'm leaving!";
mes "(^333333I better speak to Kazien";
mes "and let him know I'm having";
@@ -11266,7 +11266,7 @@ airplane_01,96,48,3 script Man#Lyozien 4_M_LGTGUARD,{
mes "dispatched them. Great job!";
next;
cutin "lhz_ryo01",2;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Thanks, but...";
mes "Now I'm really worried";
mes "about what could be in";
@@ -11504,7 +11504,7 @@ airplane_01,96,48,3 script Man#Lyozien 4_M_LGTGUARD,{
mes "ready for another job, just";
mes "ask to my brother Kazien, okay?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lyozien, do you know";
mes "what kinds of things";
mes "we're delivering?";
@@ -11565,7 +11565,7 @@ airplane_01,96,48,3 script Man#Lyozien 4_M_LGTGUARD,{
mes "these are all pretty fragile.";
mes "Thanks, I appreciate it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but";
mes "are you Lyozien?";
next;
@@ -11579,7 +11579,7 @@ airplane_01,96,48,3 script Man#Lyozien 4_M_LGTGUARD,{
mes "all of these packages here.";
next;
cutin "lhz_ryo14",2;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, Kazien is";
mes "your brother? That's";
mes "weird, you figure he";
@@ -11714,7 +11714,7 @@ OnStop:
mes "my packages have arrived";
mes "safely. Is that right?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, that's right.";
mes "Actually, this time we ";
mes "were attacked by a group";
@@ -11769,7 +11769,7 @@ OnStop:
mes "you agree? Still, I kind of";
mes "enjoy sitting around here.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but do";
mes "you know where I can";
mes "find a man named Ahman?";
@@ -11781,7 +11781,7 @@ OnStop:
mes "tell me that my packages";
mes "have arrived. Am I correct?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Y-yes. That's right.";
mes "Your packages have";
mes "arrived and they're";
@@ -11795,7 +11795,7 @@ OnStop:
mes "I don't believe I've seen you";
mes "around before. Have they finally started hiring part timers?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, that's right.";
mes "Actually, I'm working for";
mes "them part time. I heard";
@@ -11934,7 +11934,7 @@ OnTouch:
mes "that is covering one";
mes "of the packages.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh... my God!";
mes "These are... These are";
mes "weapons of mass destruction.";
@@ -11969,7 +11969,7 @@ OnTouch:
next;
lhz_rekenber = 23;
cutin "",255;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes ".............Damn it.";
close;
}
@@ -12005,7 +12005,7 @@ OnTouch:
next;
lhz_rekenber = 23;
cutin "",255;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
mes "Damn it!";
diff --git a/npc/quests/quests_louyang.txt b/npc/quests/quests_louyang.txt
index fad528368..40fd7b38e 100644
--- a/npc/quests/quests_louyang.txt
+++ b/npc/quests/quests_louyang.txt
@@ -659,9 +659,9 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Say it out loud!";
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
- mapannounce "lou_fild01","'"+strcharinfo(0)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
+ mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
next;
mes "[Jiu Lian Bu]";
mes "So, how do you feel?";
@@ -684,9 +684,9 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Say it out loud!";
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
- mapannounce "lou_fild01","'"+strcharinfo(0)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
+ mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
next;
mes "[Jiu Lian Bu]";
mes "So, how do you feel? Don't you feel better now?";
@@ -1433,7 +1433,7 @@ lou_in02,265,69,5 script Doctor#lyang 4_F_CHNDOCTOR,{
close;
}
else if (ch_par == 17) {
- if (countitem(Leopard_Talon) > 1 && countitem(Hard_Peach) > 9 && countitem(Poison_Toad's_Skin) > 4 && countitem(Browny_Root) > 19 && countitem(Germinating_Sprout) > 9 && countitem(Honey_Jar) > 4) {
+ if (countitem(Leopard_Talon) > 1 && countitem(Hard_Peach) > 9 && countitem(Poison_Toads_Skin) > 4 && countitem(Browny_Root) > 19 && countitem(Germinating_Sprout) > 9 && countitem(Honey_Jar) > 4) {
mes "[Hua Tuo]";
mes "Hm? Ah, you have returned.";
mes "Sorry, I was taking care of my other patients. Have you already gathered the medicines I'll need?";
@@ -1448,7 +1448,7 @@ lou_in02,265,69,5 script Doctor#lyang 4_F_CHNDOCTOR,{
mes "Please take this as a token of my appreciation. It's not much, but this medicine is an old family secret. I hope it will be helpful to you in dangerous situations.";
delitem Leopard_Talon,2;
delitem Hard_Peach,10;
- delitem Poison_Toad's_Skin,5;
+ delitem Poison_Toads_Skin,5;
delitem Browny_Root,20;
delitem Germinating_Sprout,10;
delitem Honey_Jar,5;
@@ -2684,10 +2684,10 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "[Nagash Arses]";
mes "Hm? Do you have recent news of Morroc?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah, I've got some news you might be interested in.";
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
if (rand(1,50) > 25) {
@@ -2840,11 +2840,11 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "Is there anything";
mes "you want to say?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have news";
mes "of Morroc...";
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
if (rand(1,50) > 30) {
@@ -3197,7 +3197,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
changequest 11077,11078;
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Nothing much.";
next;
mes "[Nagash Arses]";
@@ -3289,7 +3289,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "What...";
mes "What happened?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I made it.";
next;
mes "[Nagash Arses]";
@@ -4322,7 +4322,7 @@ OnTouch:
louyang,217,278,0 script #lou_path HIDDEN_NPC,{
if (ch_poison == 12 || ch_poison == 16) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What's this?";
mes "A crack in the wall?";
next;
@@ -4631,12 +4631,12 @@ lou_in02,77,37,7 script Hermit 4_M_CHNOLD,{
case 2:
QL_REVOL = 1;
mes "[Sun Mao]";
- mes strcharinfo(0)+ "...!";
+ mes strcharinfo(PC_NAME)+ "...!";
mes "Your name is now engraved on this bloody pledge board. We will fight together to the death for Louyang's future!";
next;
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
@partymember = $@partymembercount;
- if (getpartyleader(getcharid(1),1) == getcharid(0) || !@partymember) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),1) == getcharid(CHAR_ID_CHAR) || !@partymember) {
mes "[Sun Mao]";
mes "Now, the most important thing for our cause is to gather more recruits and increase our numbers. Please find others who will join us in our fight.";
next;
@@ -4659,7 +4659,7 @@ lou_in02,77,37,7 script Hermit 4_M_CHNOLD,{
mes "If you're a real tourist, you do not want to get involved in our business, one way or another.";
close;
}
- } else if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ } else if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
if (QL_REVOL == 9) {
mes "[Sun Mao]";
mes "Once again,";
@@ -4668,7 +4668,7 @@ lou_in02,77,37,7 script Hermit 4_M_CHNOLD,{
mes "Go back safe.";
close;
}
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
@partymember = $@partymembercount;
if (QL_REVOL < 8) {
if (@partymember == QL_REVOL +1) {
@@ -4860,7 +4860,7 @@ lou_in02,77,37,7 script Hermit 4_M_CHNOLD,{
lou_in01,43,147,3 script Gunpowder Expert 4_M_ALCHE_C,{
if (ch_make == 0) {
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
@partymember = $@partymembercount;
if (!QL_REVOL) {
mes "[Hao Chenryu]";
diff --git a/npc/quests/quests_lutie.txt b/npc/quests/quests_lutie.txt
index 3a74bdd26..4a1143c8f 100644
--- a/npc/quests/quests_lutie.txt
+++ b/npc/quests/quests_lutie.txt
@@ -204,12 +204,12 @@ xmas,115,297,4 script Vending Machine HIDDEN_NPC,{
}
break;
case 3:
- if ((countitem(Poison_Spore) > 849) && (countitem(Burn_Tree) > 299) && (countitem(Thin_N'_Long_Tongue) > 0)) {
+ if ((countitem(Poison_Spore) > 849) && (countitem(Burn_Tree) > 299) && (countitem(Thin_N_Long_Tongue) > 0)) {
mes "^3355FFYou gingerly place the items into the snowman's mouth.^000000";
next;
delitem Poison_Spore,850;
delitem Burn_Tree,300;
- delitem Thin_N'_Long_Tongue,1;
+ delitem Thin_N_Long_Tongue,1;
emotion e_oh;
mes "^3355FF*Vroooooom~~*";
mes "*Bzzzzzt*";
@@ -268,10 +268,10 @@ xmas,115,297,4 script Vending Machine HIDDEN_NPC,{
}
break;
case 6:
- if (countitem(Alice's_Apron) > 99) {
+ if (countitem(Alices_Apron) > 99) {
mes "^3355FFYou gingerly place all 100 Aprons into the snowman's mouth.^000000";
next;
- delitem Alice's_Apron,100;
+ delitem(Alices_Apron, 100);
emotion e_oh;
mes "^3355FF*Vroooooom~~*";
mes "*Bzzzzzt*";
diff --git a/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
index 6d5ab7325..1b387be0c 100644
--- a/npc/quests/quests_morocc.txt
+++ b/npc/quests/quests_morocc.txt
@@ -228,7 +228,7 @@ OnTouch:
mes "know this guy?";
next;
if (prt_curse == 24) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't care what you say, I'm coming in!!!";
next;
mes "[Litheron]";
@@ -348,7 +348,7 @@ que_job01,82,95,3 script Bar Master#moc_main01 1_ETC_01,{
mes "......Huh. How did a ruffian like you get in here?";
mes "Well, I guess Jack's not doing his job.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey,master, don't be so harsh. We know each other, don't we?";
mes "You don't wanna hurt your old friend's feeling~";
next;
@@ -830,7 +830,7 @@ OnDisable:
*/
yuno_in04,180,106,3 script Reading Girl#moc_girl1 1_F_MERCHANT_01,{
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but may I ask";
mes "you a question?";
next;
@@ -849,7 +849,7 @@ yuno_in04,180,106,3 script Reading Girl#moc_girl1 1_F_MERCHANT_01,{
mes "Oh.. I can't wait to see Hoein Special..";
mes "And this, you could have a look if you want to.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, now, I shouldn't.";
mes "Looks like the cover's rounded with a red strap,";
mes "which..I really think is for adults only.";
@@ -874,7 +874,7 @@ que_job01,70,84,1 script Girl#moc_ex002 4_F_SITDOWN,{
mes "Nothing seems to be working now..";
emotion e_sob;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "....Tsk..tsk...";
mes "Good heavens.. I can't believe this young girl's drinking with sadness....";
close;
@@ -938,12 +938,12 @@ moc_fild20,354,183,3 script Continental Guard#01::MocConGuard 4_M_MOC_SOLDIER,3,
close;
case 2:
if ($@re_moc < 3) {
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
while (.@partymembercount >= 0) {
.@name$ = .@partymembername$[.@partymembercount];
- if (isloggedin(getcharid(3,.@name$))) {
+ if (isloggedin(getcharid(CHAR_ID_ACCOUNT,.@name$))) {
++.@onlinemembers;
}
--.@partymembercount;
@@ -1001,12 +1001,12 @@ moc_fild20,354,183,3 script Continental Guard#01::MocConGuard 4_M_MOC_SOLDIER,3,
mes "[Continental Guard]";
mes "Ah, you're an adventurer working for the Continental Guard. Nice to meet you. Feel free to ask me if you need my assistance.";
next;
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
while (.@partymembercount >= 0) {
.@name$ = .@partymembername$[.@partymembercount];
- if (isloggedin(getcharid(3,.@name$))) {
+ if (isloggedin(getcharid(CHAR_ID_ACCOUNT,.@name$))) {
++.@onlinemembers;
}
--.@partymembercount;
@@ -1118,10 +1118,10 @@ moc_fild20,215,336,3 duplicate(MocConGuard) Continental Guard#08 4_M_MOC_SOLDIER
else if (.@area$ == "05") { .@area$ = "Al De Baran"; }
if (BaseLevel > 79) {
mes "[Continental Guard Messenger]";
- mes "Good day, "+ strcharinfo(0) +". We don't have the luxury of time in this dire situation so I'll try to make this quick.";
+ mes "Good day, "+ strcharinfo(PC_NAME) +". We don't have the luxury of time in this dire situation so I'll try to make this quick.";
next;
mes "[Continental Guard Messenger]";
- mes "I'm a messenger dispatched here to " + .@area$ + " from the Morroc Continental Guard Headquarters. My duty is to deliver this important message to as many renowned adventurers as I can. I'm glad that I was finally able to find you, "+ strcharinfo(0) +".";
+ mes "I'm a messenger dispatched here to " + .@area$ + " from the Morroc Continental Guard Headquarters. My duty is to deliver this important message to as many renowned adventurers as I can. I'm glad that I was finally able to find you, "+ strcharinfo(PC_NAME) +".";
next;
select("Morroc Continental Guard Headquarters?");
mes "[Continental Guard Messenger]";
@@ -1140,10 +1140,10 @@ moc_fild20,215,336,3 duplicate(MocConGuard) Continental Guard#08 4_M_MOC_SOLDIER
mes "The Morroc Continental Guard was immediately organized to fight Satan Morroc and bring relief to this dire situation. I'm here to inform everyone in the Rune-Midgarts Kingdom about this catastrophe.";
next;
mes "[Continental Guard Messenger]";
- mes "We need your help, "+ strcharinfo(0) +". We need reputable adventurers like you to seal away Satan Morroc once again.";
+ mes "We need your help, "+ strcharinfo(PC_NAME) +". We need reputable adventurers like you to seal away Satan Morroc once again.";
next;
mes "[Continental Guard Messenger]";
- mes "For more information, please speak to the captain of the Morroc Continental Guard. He is waiting for you, "+ strcharinfo(0) +".";
+ mes "For more information, please speak to the captain of the Morroc Continental Guard. He is waiting for you, "+ strcharinfo(PC_NAME) +".";
next;
mes "[Continental Guard Messenger]";
mes "The Continental Guard Headquarters is located near the center palace of Morroc, so please go speak to the chief as soon as you can.";
@@ -1184,7 +1184,7 @@ moc_fild20,215,336,3 duplicate(MocConGuard) Continental Guard#08 4_M_MOC_SOLDIER
OnTouch:
if (BaseLevel > 79) {
mes "[Continental Guard Messenger]";
- mes "Are you... "+ strcharinfo(0) +"?";
+ mes "Are you... "+ strcharinfo(PC_NAME) +"?";
mes "Ah, very well. I have an extremely important message for you.";
next;
mes "[Continental Guard Messenger]";
@@ -1233,7 +1233,7 @@ morocc,176,103,3 script Continental Official 4_M_SAGE_A,{
case 2:
if (BaseLevel > 79) {
mes "[Continental Guard Official]";
- mes "Welcome, " + strcharinfo(0) + ". I've been waiting for you. I assume our messenger informed you of our situation.";
+ mes "Welcome, " + strcharinfo(PC_NAME) + ". I've been waiting for you. I assume our messenger informed you of our situation.";
next;
mes "[Continental Guard Official]";
mes "Let me process your application immediately. Please wait.";
@@ -1317,7 +1317,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
next;
if (BaseLevel > 79) {
mes "[Chief Balrog]";
- mes "What was your name? " + strcharinfo(0) + "? Oh yes, I've heard of you.";
+ mes "What was your name? " + strcharinfo(PC_NAME) + "? Oh yes, I've heard of you.";
next;
mes "[Chief Balrog]";
mes "Hmm, it occurs to me that you don't understand the danger involved in all this. Do you have any idea how powerful Satan Morroc is?";
@@ -1364,7 +1364,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
mes "[Chief Balrog]";
mes "Huh? You want a chance to prove yourself?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, I'll do whatever it takes to join the Continental Guard!";
next;
mes "[Chief Balrog]";
@@ -1430,7 +1430,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
mes "[Chief Balrog]";
mes "Anyways, thank you for bringing the Live Coals. I guess you're stronger than I thought.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now will you let me join the Continental Guard?";
next;
mes "[Chief Balrog]";
@@ -1439,7 +1439,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
mes "[Chief Balrog]";
mes "I'm still not convinced that you're good enough to join us. Let me think... Hmm...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I didn't think you would accept me so easily. I'm ready. Ask me whatever you want.";
next;
mes "[Chief Balrog]";
@@ -1448,7 +1448,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
mes "[Chief Balrog]";
mes "These mercenaries have never seen the desert, and they're having trouble carrying out operations in the heat, dry air, and sandstorms. It's not their fault, but they could use a little help since they're out of their element.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(This guy seems threatening, but he seems to have a good heart.)";
next;
mes "[Chief Balrog]";
@@ -1501,7 +1501,7 @@ morocc,159,113,3 script Chief Balrog 4_M_CRU_OLD,{
rebirth_moc_edq = 4;
changequest 3052,3053;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What's this?";
next;
mes "[Chief Balrog]";
@@ -1898,7 +1898,7 @@ moc_fild21,178,239,0 script Group of Evil#edq CLEAR_NPC,1,1,{
next;
mes "You can feel the power of the darkness rise from the gap where light and darkness are mingled.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wah...!";
close2;
if($@re_moc == 1) {
@@ -2125,7 +2125,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
next;
switch(select("Speak", "Pass Him By")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you talking to yourself?";
next;
emotion e_omg;
@@ -2136,7 +2136,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "^660000Surprised by your voice, he yelled at you, which seemed bizarre.";
mes "You wonder what he meant by feeling her when he was just watching and touching a book.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Who's Mammi?";
next;
emotion e_omg;
@@ -2190,7 +2190,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "[Benjamin]";
mes "....Ye... Yes, you!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huh?";
emotion e_swt2,1;
next;
@@ -2264,7 +2264,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "Who dares interrupt me from feeling Mammi? Do you want a piece of me... Err?";
mes "Gosh, it's you. What took you so long? Wasn't Prontera Library, like, five minutes away?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Thanks to you, I couldn't find it from the library. So I travelled all the way up to Schwaltzvalt... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -2278,7 +2278,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "...No, I can do anything as long as it's for Mammi. Heh heh, you're a kind adventurer. Thanks.";
mes "Was it cold up there? I guess it is since Schwaltzvalt is located up north from here.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "..................";
next;
mes "[Benjamin]";
@@ -2305,7 +2305,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "How could no one shed a tear after watching this sad picture of her?! Argh, Mammi! I'm coming to make you the happiest woman in the world!";
next;
cutin "mami02",4;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "'She looks different than I thought with these glasses and pony tails... She really looks like someone who loves literature.";
mes "Wait, when did people start calling Comodo the City of Lovers? Hmm... This guy really thinks weird things!'";
next;
@@ -2320,7 +2320,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
next;
break;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No, thanks. I'm not interested in her as much as you.";
next;
mes "...^660000Was what you were about to say, but you could not refuse his offer. Looking at his fanatical eyes, burning with love for her, even Odin could not refuse...^000000";
@@ -2346,7 +2346,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "^660000The Trace of the Fate, huh?";
mes "Well, I don't have anything else to do. I might want to read the book...^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, does it mean that I have to go back to Juno Library?";
next;
mes "^660000Thinking of travelling back to Juno made you sigh in frustration.^000000";
@@ -2361,7 +2361,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
}
else if (barmunt_crow == 15) {
if ((countitem(Author_Memo) == 1) && (countitem(Author_Autograph) == 1)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, Benjamin!";
mes "I've got the perfect thing to help you appeal to Mammi. Do you want to see?";
next;
@@ -2379,7 +2379,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
switch(select("Give", "Don't Give")) {
case 1:
mes "[Benjamin]";
- mes "Oh, "+ strcharinfo(0) +"!";
+ mes "Oh, "+ strcharinfo(PC_NAME) +"!";
mes "You are the best! Thanks!";
next;
mes "[Benjamin]";
@@ -2504,7 +2504,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "^3131FFOliver Hilpert's";
mes "<The Crow of the Fate>^000000!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "That's right! That's what I'm looking for!";
next;
mes "[Curator Guys]";
@@ -2561,7 +2561,7 @@ yuno,333,210,5 script Library Master#garas 1_M_LIBRARYMASTER,{
next;
mes "^660000A man is also yelling at the front of the library.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What's happening here?";
next;
mes "[Library Master]";
@@ -2601,7 +2601,7 @@ yuno,333,210,5 script Library Master#garas 1_M_LIBRARYMASTER,{
next;
mes "^660000You looked down on the ground, and then found a couple of feathers dropped from the crow when it was hit by the pebble.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wow, look at the size of these feathers. I guess such a huge crow needs big feathers to fly.";
next;
mes "[Library Master]";
@@ -2614,13 +2614,13 @@ yuno,333,210,5 script Library Master#garas 1_M_LIBRARYMASTER,{
mes "You know the old saying, 'you can memorize Edda after 3 years of working at a library.'";
mes "Why don't you keep one of the feathers? Who knows? It may bring you good luck.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I guess so.";
next;
mes "^660000You picked up one of the big dark feathers from the ground.";
mes "Looking at the lustrous feather somehow made you feel so happy, as if you had obtained treasure.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -2661,7 +2661,7 @@ OnTouch:
next;
mes "^660000A man is also yelling at the front of the library.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What's happening here?";
next;
mes "[Library Master]";
@@ -2701,7 +2701,7 @@ OnTouch:
next;
mes "^660000You looked down on the ground, and then found a couple of feathers dropped from the crow when it was hit by the pebble.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wow, look at the size of these feathers. I guess such a huge crow needs big feathers to fly.";
next;
mes "[Library Master]";
@@ -2714,13 +2714,13 @@ OnTouch:
mes "You know the old saying, 'you can memorize Edda after 3 years of working at a library.'";
mes "Why don't you keep one of the feathers? Who knows? It may bring you good luck.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I guess so.";
next;
mes "^660000You picked up one of the big dark feathers from the ground.";
mes "Looking at the lustrous feather somehow made you feel so happy, as if you had obtained treasure.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -2761,7 +2761,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "[Library Part-Timer]";
mes "...Now how may I help you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm looking for a book called <The Crow of the Fate> written by Oliver Hilpert... Ahchoo!";
emotion e_wah,1;
specialeffect2 EF_VENOMDUST;
@@ -2770,7 +2770,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "Ah, I remember that one... It's the one most frequently left in the cart.";
mes "Please enter the room on the ^3131FFright side^000000. You can find it in the Bestseller corner.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Thanks.";
close;
}
@@ -2778,7 +2778,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "[Library Part-Timer]";
mes "How may I help you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, umm... ahchoo! Where can I find old news articles...? Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -2786,7 +2786,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "Oh, you can find them in a corner of the right room.";
mes "Please be careful when you handle them since most of them are pretty ancient.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Thanks... Ahchoo!";
specialeffect2 EF_VENOMDUST;
close;
@@ -2799,7 +2799,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "[Library Part-Timer]";
mes "...How may I help you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Cough... I'm looking for a book called <The Crow of the Fate> written by Oliver Hilpert.";
specialeffect2 EF_VENOMDUST;
next;
@@ -2807,7 +2807,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "Ah, I remember that one... It's the one most frequently left in the cart.";
mes "Go ^3131FFupstairs^000000, and check the left shelf.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Thanks.";
next;
mes "[Library Part-Timer]";
@@ -2846,11 +2846,11 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
mes "^660000It was not that difficult to find 'The Crow of the Fate'";
mes "because it was the only book leaning against the wall of an empty shelf.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
next;
mes "^FF0000-- BEEP --^000000";
@@ -2870,11 +2870,11 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
mes "^660000It was not that difficult to find 'The Crow of the Fate'";
mes "because it was the only book leaning against the wall of an empty shelf.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
next;
mes "^FF0000-- BEEP --^000000";
@@ -2893,11 +2893,11 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
mes "^660000It was not that difficult to find 'The Crow of the Fate'";
mes "because it was the only book leaning against the wall of an empty shelf.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
next;
mes "^FF0000-- BEEP --^000000";
@@ -2929,7 +2929,7 @@ OnTouch2:
next;
mes "^660000You turned your head toward the bookshelf, and found the bookshelf with the empty shelf.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Phew... I guess I had a dream or something... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -2950,7 +2950,7 @@ OnTouch2:
next;
mes "^660000The books was telling the exact scene that you have seen in your dream.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Deja Vu? Am I having Deja Vu?";
next;
mes "^660000Of course, it was just a dream, but still was a very mysterious experience.^000000";
@@ -2966,7 +2966,7 @@ OnTouch2:
close;
}
else if (barmunt_crow == 7) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "If I want to read news articles about fires, which section should I go to?";
close;
}
@@ -3046,7 +3046,7 @@ yuno_in04,117,102,3 script Old News Scrapbook CLEAR_NPC,{
mes "righteous punishment for trifling with his creations.";
mes " ";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...........................";
mes "...........................";
mes "This is the place I've seen in my dream!";
@@ -3061,7 +3061,7 @@ yuno_in04,117,102,3 script Old News Scrapbook CLEAR_NPC,{
mes "You feel your heart beating faster with excitement.";
mes "You are now convinced this was not just your dream or illusion. You had a vision of what really happened in the past.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I can't believe this is happening!";
mes "Think hard... It was ^FF0000an area connected to a northern cave^000000.";
barmunt_crow = 8;
@@ -3120,7 +3120,7 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
if (barmunt_crow > 14) {
mes "^660000The writer was writing in the notebook at an extremely fast pace.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Let's not disturb him, especially when he is full of creative ideas. That doesn't happen very often.";
close;
}
@@ -3157,11 +3157,11 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
mes "[Oliver Hilpert]";
mes "I haven't had a chance to open it, but my publisher said it has something very rare inside. I hope that it's enough to pay you for your book.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Haha, thanks.";
mes "You know, in Morroc... Ahchoo! ...There's someone who's as big a fan of Mammi's as you... Ahchoo! So why don't you go meet him?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I got that book from him as a gift. He may have more rare books of her... Ahchoo!";
next;
mes "[Oliver Hilpert]";
@@ -3195,11 +3195,11 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
end;
}
else if (barmunt_crow == 14) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This dream seems pretty meaningful somehow.";
mes "I'd better give him this note back.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me, Mr. Hilpert.";
next;
cutin "oliver_think",2;
@@ -3211,7 +3211,7 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
cutin "oliver_think",255;
mes "You felt sorry for interrupting him from writing.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I think you've dropped this.";
next;
mes "^660000You rummaged your pocket to find the memo, and then happened to drop the crow feather which you picked up outside the library. Then suddenly...^000000";
@@ -3241,14 +3241,14 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
mes "I... I don't know how to apologize...";
mes "It's just that... I became so angry that I--! Argh, I'm sorry!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Well, it's okay. I happened to pick it up from the street. You don't have to apologize.";
next;
mes "[Oliver Hilpert]";
mes "If you say so, thank you for your understanding.";
mes "Phew, I felt so guilty...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here, take your memo back.";
next;
mes "[Oliver Hilpert]";
@@ -3262,56 +3262,56 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
cutin "oliver_pre",255;
mes "^660000As soon as he talked to you, he went back to his writing and became completely absorbed in his work.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "He has such amazing concentration.";
mes "I guess not everyone can make bestselling books, huh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Wait, I'm not sneezing anymore...";
mes "The headache and the heavy feeling in my chest is gone too!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What if it was all caused by that crow feather? What if...?";
next;
switch(select("It was cursed by the pebble.", "The crow has something to do with Oliver.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, I see.";
mes "I think when the crow was hit by the pebble, its wisdom must have turned into disaster.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Argh, that was all because of the library master!";
mes "Luckily the feather is gone, so hopefuly I won't suffer any more disaster.";
next;
break;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I remember Mr. Zid saying Eva had left a black feather behind her.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Also, the female assistant turned into a crow flying away, and then the crow feather made me sneeze and cough.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "..................";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, Mr. Hilpert's soul is cursed by the Crow!";
mes "I wonder if he threw rocks at crows like the library master...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "..................";
mes "I guess it's a stupid idea.";
next;
break;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh well, whatever.";
mes "What matters is that I'm cured!";
mes "If I have another dream, I'll deal with it then~";
next;
mes "^660000As you left the library, you thought that thinking Mr. Oliver is your half would be a better idea.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "That was pretty fun, but also pretty tiring. Where should I head for my next adventure?";
barmunt_crow = 15;
completequest 2068;
@@ -3386,7 +3386,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "Hey, you're reading <The Trace of the Fate>!";
mes "Hahaha, nice to meet you. I'm the author of that book. I've come by to check how well my new book, <The Crow of the Fate>, is doing, and it's a great honor to meet a fan of mine! I feel embarrassed, but thanks! Hehe.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Cough, no, I'm not a fa...";
next;
mes "[Oliver Hilpert]";
@@ -3402,7 +3402,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "[Oliver Hilpert]";
mes "You know, I just wrote what I saw in my dream; I didn't know people would love my stories so much! It's very surprising to me.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Dream?";
next;
cutin "oliver_think",2;
@@ -3413,7 +3413,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "You felt something uncomfortable about this so-called dream. You wanted to understand the meaning of what you've seen while reading the book.";
mes "If Oliver was dreaming exactly the same things as you, that might mean he and you are sharing dreams. Then again, you've discovered the cave village in the book actually exists.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The hero Al was having dreams...";
next;
cutin "oliver_pre",2;
@@ -3422,12 +3422,12 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "Isn't that over there?!";
emotion e_omg;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huh?";
next;
mes "^660000You quickly turned your head following his eyes. There was nothing but your bag.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah... Ahchoo! Mr. Hilpert, are you interested in my bag? It's just a simple bag I got from the Novice Training Grounds...";
specialeffect2 EF_VENOMDUST;
next;
@@ -3447,7 +3447,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "^660000Yes, it was the picture book of Mammi, an idol whom Benjamin of Morroc insists to be one of the three greatest idols in the Rune-Midgart Kingdom. That must be why Oliver is squealing in delight.^000000";
emotion e_dots,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Are you also a Mammi fan?";
specialeffect2 EF_VENOMDUST;
next;
@@ -3481,7 +3481,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "Ah... This is why I'm in love with Lady Mammi.";
mes "Adventurer, you must be an enthusiastic fan of her as well. Where did you find this rare picture book?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No, I got it as a gift from someone... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
@@ -3493,7 +3493,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "I flew over to the Rune-Midgart Kingdom on the earliest airship";
mes "to get this book on the day it was released, but the books were sold out. The person right in front of me got the last one!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...............";
mes "I... I see...";
emotion e_swt,1;
@@ -3527,11 +3527,11 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "[Oliver Hilpert]";
mes "I haven't had a chance to open it, but my publisher said it has something very rare inside. I hope that it's enough to pay you for your book.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Haha, thanks.";
mes "You know, in Morroc... Ahchoo! ...There's someone who's as big a fan of Mammi's as you... Ahchoo! So why don't you go meet him?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I got that book from him as a gift. He may have more rare books of her... Ahchoo!";
next;
mes "[Oliver Hilpert]";
@@ -3598,7 +3598,7 @@ que_ba,257,39,3 script Female Researcher#bpast 4_F_ALCHE,{
else if (barmunt_crow == 4) {
mes "^660000While trying to remember what happened, you encounter a woman who passes by you. You instinctively reach for her shoulder to get her attention.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Ahchoo! Gosh...";
mes "Hey, where am I...?";
specialeffect2 EF_VENOMDUST;
@@ -3608,7 +3608,7 @@ que_ba,257,39,3 script Female Researcher#bpast 4_F_ALCHE,{
next;
mes "^660000Surprisingly, your arm passed through her body.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Where the hell am I?";
close;
}
@@ -3720,7 +3720,7 @@ OnTouch:
next;
mes "^660000And you aren't alone: you can now clearly see the man and woman that escaped the laboratory.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Umm...";
next;
mes "[Grotesque Man]";
@@ -3822,7 +3822,7 @@ OnTouch:
next;
mes "^660000He mumbled to himself, and brushed back his sweaty hair with a trembling hand.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "A dream again.";
mes "I guess he won't be able to see or hear me, just like the others.";
next;
@@ -3832,7 +3832,7 @@ OnTouch:
mes "[Mysterious Man]";
mes "How the hell did you find me?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Wah! He can see me! He can see me!";
next;
enablenpc "#barmut_onna";
@@ -3899,7 +3899,7 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
warp "cave",81,92;
end;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah... Ahchoo!";
mes "'I'm not like other outsiders... Ahchoo!";
mes "I have a goal to achieve in here... Ahchoo!";
@@ -3907,7 +3907,7 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
next;
mes "^660000Although you a bit intimidated by this guard, and your sneezing definitely not helping, you continue.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
input .@input$;
mes "Her name is ^FF0000"+.@input$+"^000000!";
@@ -3988,7 +3988,7 @@ OnTouch:
warp "cave",81,92;
end;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah... Ahchoo!";
mes "'I'm not like other outsiders... Ahchoo!";
mes "I have a goal to achieve in here... Ahchoo!";
@@ -3996,7 +3996,7 @@ OnTouch:
next;
mes "^660000Although you're a bit intimidated by this guard, and your sneezing definitely not helping, you continue.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
input .@input$;
mes "Her name is ^FF0000"+.@input$+"^000000!";
@@ -4077,7 +4077,7 @@ cave,22,186,3 script Monsterous Man#zid 4_M_MUT1,{
next;
mes "(WHIZZ)";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Argh...";
next;
mes "^660000The pain in your chest suddenly hits you...";
@@ -4095,11 +4095,11 @@ cave,22,186,3 script Monsterous Man#zid 4_M_MUT1,{
next;
mes "^660000He sounded weak, as if he did not have enough energy to talk.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Umm... Ahchoo!";
specialeffect2 EF_VENOMDUST;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Do you know a man by the name of Oliver Hilpert?";
next;
mes "[Monsterous Man]";
@@ -5250,7 +5250,7 @@ prt_castle,117,163,5 script Inspector#prince 4_M_SAGE_C,{
mes "adventurer appraiser fully.";
mes "I really appreciate your assistance thus far. Due to your help, the future of the kingdom is indebted to you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(He doesn't seem to be suprised too much.. Could there be a reason? Now I am suspicious...)";
next;
mes "[Inspector]";
@@ -5453,7 +5453,7 @@ prt_castle,274,372,4 script Servant#hans 1_M_02,{
mes "...Hmm he cannot even hear...";
mes "Oooooh...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
close;
case 2:
@@ -5608,7 +5608,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "I am the prince; if you grumble, you become prince! I feel tiresome with this kind of questioning.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "............";
mes "Yes, I understand. Go ahead...";
next;
@@ -5632,7 +5632,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "Why are you still standing there? I have nothing else to say to you! Stand back!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
completequest 10010;
if (questprogress(10005) == 2 && questprogress(10006) == 2 && questprogress(10007) == 2 && questprogress(10008) == 2
@@ -5647,7 +5647,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "I am the prince; if you grumble, you become prince! I feel tiresome with this kind of questioning.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "............";
mes "Yes, I understand. Go ahead...";
next;
@@ -5671,7 +5671,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "Why are you still standing there? I have nothing else to say to you! Stand back!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
completequest 10010;
if (questprogress(10005) == 2 && questprogress(10006) == 2 && questprogress(10007) == 2 && questprogress(10008) == 2
@@ -5686,7 +5686,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "I am the prince; if you grumble, you become prince! I feel tiresome with this kind of questioning.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "............";
mes "Yes, I understand. Go ahead...";
next;
@@ -5710,7 +5710,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
mes "[Helmut]";
mes "Why are you still standing there? I have nothing else to say to you! Stand back!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
completequest 10010;
if (questprogress(10005) == 2 && questprogress(10006) == 2 && questprogress(10007) == 2 && questprogress(10008) == 2
@@ -5719,7 +5719,7 @@ prt_castle,289,201,3 script Prince#helmut 4_M_5THPRIN1,{
}
close;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No, Prince,";
mes "I will be back later.";
next;
@@ -6276,14 +6276,14 @@ prt_castle,314,373,4 script Prince#eisen 4_M_1STPRIN1,{
next;
switch(select("I have something...", "Is that so? Then, see you later.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I saw a person from the Walter family.";
next;
mes "[Ahrum]";
mes "Oh! really?";
mes "why didn't he come to me?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "-I tell Ahrum the story.-";
next;
mes "[Ahrum]";
@@ -6430,12 +6430,12 @@ prt_castle,314,373,4 script Prince#eisen 4_M_1STPRIN1,{
next;
switch(select("... Okay I will follow your will...", "......")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "... Okay, I will follow your will. Don't worry...";
next;
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
next;
mes "[Ahrum]";
@@ -6496,7 +6496,7 @@ prt_castle,314,373,4 script Prince#eisen 4_M_1STPRIN1,{
while(1) {
mes "-What shall I ask...-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'd like to ask about...";
next;
switch(select("Your background story...", "Your view of the nation...", "Your hobbies or interests...", "Never mind, I'll come by later.")) {
@@ -6729,7 +6729,7 @@ prt_castle,368,312,4 script Prince#ern 4_M_2NDPRIN1,{
mes "[Ernst]";
mes "Well, thank you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(He seems to have a polite personality as a candidate for King)";
next;
while(1) {
@@ -6872,11 +6872,11 @@ OnTouch:
donpcevent "YoungNoble#valter::OnDisable";
donpcevent "Aged Noble#rihart::OnDisable";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Walter is the name of Ahrum.";
mes "Richard is the name of Poe.)";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Is this the conspiracy of two families? What the hell..)";
changequest 10016,10017;
nkprince_eisen = 8;
@@ -7117,12 +7117,12 @@ prt_castle,314,372,0 script Prince#another_ern1 4_M_2NDPRIN1,{
next;
switch(select("... Okay I will follow your will...", "......")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "... Okay, I will follow your will. Don't worry...";
next;
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
next;
mes "[Ahrum]";
@@ -7562,7 +7562,7 @@ OnTouch:
mes "[Ahrum]";
mes "What's the capacity of a king? And what is clean politics...? Ahhhhhhhhhhh!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
close2;
}
@@ -7581,7 +7581,7 @@ OnTouch:
mes "[Ahrum]";
mes "I cannot... cover it anymore... Ern... I hope even you...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
close2;
}
@@ -7600,7 +7600,7 @@ OnTouch:
mes "[Ahrum]";
mes "My ancestor ^FF0000Schmidt^000000... What shall you do with this situation? No...were you just used like me... by others?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
close2;
}
@@ -7615,7 +7615,7 @@ OnTouch:
mes "[Ahrum]";
mes "For the real king's appearance... I am going tonight.... to darkness for you. ...Ahhhhhhhh!!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
close2;
}
@@ -7726,18 +7726,18 @@ prt_castle,121,168,0 script #arm HIDDEN_NPC,4,4,{
//OnTouch2:
OnTouch:
if (nk_prince == 8) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "..............";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Milk is all spilt.";
mes "Just forget about it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Who is going to have the throne instead of him?";
next;
nk_prince = 9;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh no...";
close;
}
@@ -7747,30 +7747,30 @@ prt_castle,316,313,0 script #arm1 HIDDEN_NPC,3,3,{
//OnTouch2:
OnTouch:
if (nkprince_eisen > 14) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "..............";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What thoughts did he have, and how did he decide to become King in this room?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What situation...";
mes "pulled him back to an irreparable place?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I can't ask him anymore, and there are no clues left. Just what's left is...";
next;
mes "[Ahrum]";
mes "~~If you react wrongfully to this incident, my death will be worthless...kuk... Do you understand?~~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "..............";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...Keeping silent for him.";
mes "Taking the burden that he left... all throughout my life.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...Rest in peace.";
close;
}
diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt
index 4a03c03c6..09ad94115 100644
--- a/npc/quests/quests_moscovia.txt
+++ b/npc/quests/quests_moscovia.txt
@@ -290,7 +290,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 4_M_RUSBALD,{
mes "Uf...I just want to be 20 years younger, so I can travel here and there with invigorating youth such as you... Time is an enemy. Hahahahaha!";
close;
} else if (mos_whale_edq == 1 || mos_whale_edq == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hello. Are you Mr. Ibanoff?";
next;
mes "[Mr. Ibanoff]";
@@ -322,7 +322,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 4_M_RUSBALD,{
mes "Right, I'll talk about that time I";
mes "fought against a huge flock of Porings...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hahaha...";
next;
mes "[Mr. Ibanoff]";
@@ -407,7 +407,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 4_M_RUSBALD,{
mes "What will you do if you";
mes "borrow my ship? I wonder...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm going to adventure out";
mes "to sea, to find a moving";
mes "island which has brought";
@@ -797,7 +797,7 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 4_M_RUSBALD,{
mes "What a time for sailing!";
mes "The wind of the sea is so cool.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You didn't have to accompany me";
mes "through this dangerous sailing...";
next;
@@ -1191,7 +1191,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "Oh, your awake.";
mes "How do you feel? Are you ok??";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hm... where..is...";
mes "Eck! What happened...?";
next;
@@ -1202,7 +1202,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "with a person who lives on dry";
mes "land.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where am I?";
mes "Who are you old man?";
next;
@@ -1219,7 +1219,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "I call it...";
mes "Whale Island.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This place is very famously known";
mes "as The Moving Island! But... This";
mes "island is... Maybe...";
@@ -1230,7 +1230,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "the back of a gigantic whale!";
mes "That's why I call it Whale Island!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How...? How is it possible";
mes "that the water flows in streams";
mes "here? And trees grow! On the";
@@ -1241,7 +1241,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "of legend. Right now you are";
mes "experiencing greatness! Hahahaha!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you a real person?";
next;
mes "[Aged Stranger]";
@@ -1283,7 +1283,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "Young man, you will arrive back on";
mes "the mainland in a few minutes. Go carefully.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Old man, if I want to come back";
mes "here again, how can I do it?";
next;
@@ -1363,7 +1363,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "starts to play his instrument, as";
mes "he falls in thought.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Old man, could you make one of";
mes "those instruments for me? That is a";
mes "marvelous thing that I've seen only";
@@ -1378,7 +1378,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "Hm... If you grant my request, I";
mes "will make this instrument for you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is your request?";
next;
mes "[Aged Stranger]";
@@ -1438,7 +1438,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
mes "Oh... Did you get all the";
mes "materials?";
next;
- if (countitem(Log) > 29 && countitem(Tough_Vines) > 19 && countitem(Goat's_Horn) > 19 && countitem(Sea_Otter_Leather) > 9) {
+ if (countitem(Log) > 29 && countitem(Tough_Vines) > 19 && countitem(Goats_Horn) > 19 && countitem(Sea_Otter_Leather) > 9) {
mes "[Aged Stranger]";
mes "You found the right materials.";
mes "Okay, I will start to make the";
@@ -1446,7 +1446,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{
next;
delitem Log,30;
delitem Tough_Vines,20;
- delitem Goat's_Horn,20;
+ delitem Goats_Horn,20;
delitem Sea_Otter_Leather,10;
mos_whale_edq = 34;
mes "[Aged Stranger]";
@@ -1865,7 +1865,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 4_M_RUSKING,{
next;
if (countitem(Yaga_Pestle) > 39) {
if(select("Show the Yaga's Pestles.", "Do nothing.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, Here you are.";
next;
mes "-Offered the Yaga's Pestles.-";
@@ -2263,7 +2263,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 4_M_RUSKING,{
mes "instrument. So mysterious... Hey!";
mes "Can you play it?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes. I learned how to play it at Whale Island.";
next;
mes "[Csar Alexsay III]";
@@ -2316,7 +2316,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 4_M_RUSKING,{
mes "[Csar Alexsay III]";
mes "Don't you need to be holding the instrument, in order to play it???";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm sorry. I will be ready now, and try again to play it.";
close;
} else if (mos_whale_edq == 39) {
@@ -2477,7 +2477,7 @@ OnTouch:
mes "it suddenly dawns upon you that you";
mes "have memories from Whale Island.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Stop by the whale island?";
next;
if(select("Go to Whale Island.", "Stay put.") == 1) {
@@ -2500,18 +2500,18 @@ OnTouch:
next;
warp "mosk_fild01",95,93;
} else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh my goodness... Slipped right out";
mes "of my mind... to forget equipping the Gusli.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The aged stranger said that when I";
mes "want to go to Whale Island again, I";
mes "should play the Gusli from this place...";
close;
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can go some other time.";
mes "I will do other work now.";
close;
@@ -2545,17 +2545,17 @@ OnTouch:
mes "seeewaaaaaaaaaaa";
next;
mes "[Mr. Ibanoff]";
- mes "Hey "+strcharinfo(0)+"! Look!";
+ mes "Hey "+strcharinfo(PC_NAME)+"! Look!";
mes "It's dangerous! Hide! Hurry!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That... that is...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Something... something is rising...";
next;
mes "[Mr. Ibanoff]";
- mes "Watch out! "+strcharinfo(0)+"!";
+ mes "Watch out! "+strcharinfo(PC_NAME)+"!";
mes "Ah... That... That is... What...";
mos_whale_edq = 13;
close2;
@@ -2649,7 +2649,7 @@ function script F_MOS_1 {
mes "I'm worried that he's making trouble somewhere...";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hello, there?";
next;
mes "[Gallina]";
@@ -2658,7 +2658,7 @@ function script F_MOS_1 {
mes "You want to buy a hotcake, don't you?";
mes "I'm sorry but we're not ready to open the store..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, that's ok.";
mes "Is there something that I can help with? What's the matter?";
next;
@@ -2675,7 +2675,7 @@ function script F_MOS_1 {
mes "He used to come home at this time.";
mes "I'm worried that something bad has happened to him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You look anxious. I'd like to help you to find your son.";
next;
mes "[Gallina]";
@@ -2709,7 +2709,7 @@ mosk_in,144,279,5 script Gallina#mos 4_F_RUSWOMAN1,{
mes "I'm sorry if he's shy and timid like his father.";
close;
} else if (mos_swan > 1 && mos_swan < 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mikhail hasn't come yet?";
next;
mes "[Gallina]";
@@ -2723,7 +2723,7 @@ mosk_in,144,279,5 script Gallina#mos 4_F_RUSWOMAN1,{
mes "I'm sorry that I treated the little boy badly.";
mes "He did his best in his own way.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's ok. You will be a sweet mom to your little boy. haha";
next;
mes "[Gallina]";
@@ -2733,7 +2733,7 @@ mosk_in,144,279,5 script Gallina#mos 4_F_RUSWOMAN1,{
mes "[Gallina]";
mes "I appreciate your effort. You went to a dangerous place to find my son";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It often happens to me, hehe.";
next;
mes "[Gallina]";
@@ -2777,7 +2777,7 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
while(1) {
switch(select("About where Mikhail might be hiding", "About their relationship", "About the situation", "Ask her about other things", "End the conversation")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where is Mikhail?";
mes "Do you know where he is?";
next;
@@ -2786,12 +2786,12 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "If I had known that, I would have already found him, you fool.";
next;
emotion e_swt,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hahaha, you're right.";
next;
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How's your relationship with your brother?";
next;
mes "[Anna]";
@@ -2800,19 +2800,19 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "It annoys me.";
mes "And he only wants to play with me. That's why he has no friends.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You seem very courageous.";
mes "I can understand why your mother worries about him.";
next;
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What were you doing when Mikhail broke your mother's Matrushka?";
next;
mes "[Anna]";
mes "I was there.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh were you?";
next;
mes "[Anna]";
@@ -2833,7 +2833,7 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "[Anna]";
mes "And then I told him that we should glue the pieces together before Mom came back, so Mikhail went to get ^3131FFpaste^000000 but he hasn't come back yet.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where can you get it?";
mes "Why didn't you go with him?";
next;
@@ -2842,13 +2842,13 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "He broke it and should get the thing by himself!";
mes "And Mom said that he should do his work for himself to become a great general.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't you have any idea of where he might be?";
next;
mes "[Anna]";
mes "No.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is there anyone who is close to him?";
next;
emotion e_pif;
@@ -2861,17 +2861,17 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
next;
mes "- Anna sticks her tongue out. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's the only clue, I guess I'll go to ^3131FFInn 'Sticky Herb Tree'^000000?";
if (mos_swan == 2) mos_swan = 3;
next;
break;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What am I going to ask her?";
next;
input .@AnnaInfo$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anna,";
mes ""+.@AnnaInfo$+"?";
mes "Do you know what this is?";
@@ -2905,7 +2905,7 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
}
}
} else if (mos_swan == 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I got a clue from Anna and one thing that I have to do is go to ^3131FFInn 'Sticky Herb Tree'^000000.";
close;
} else if (mos_swan > 3 && mos_swan < 12) {
@@ -2999,7 +2999,7 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
next;
switch(select("Mikhail is in the fire pot.", "Mikhail is around the fire pot.", "There's nothing between pieces of bread and Mikhail.")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I finally found him.";
next;
mes "- You put your arm into the hole of the fire pot. -";
@@ -3008,36 +3008,36 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
next;
mes "- You call Mikhail with a low voice. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mik-ha-il-.";
next;
mes "- .......................... -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mikhail.";
mes "I know you're there, please come out.";
next;
mes "- .......................... -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your mom and sister are worried about you.";
next;
mes "[???]";
mes ".......hey.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?????";
next;
mes "[Mikhail]";
mes ".......No, I can't............";
mes "I'll.... be punished........";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, you won't, Mikhail.";
mes "Your mom is worried about you so much.";
mes "Your sister, too.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You broke your mom's Matrushka by mistake, didn't you?";
mes "I'll tell her about your mistake. Please come out.";
next;
@@ -3045,20 +3045,20 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
mes "Oh.. ma.. matrushka..";
mes "I didn't break..it.. it..wasn't.. just me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "And?";
next;
mes "[Mikhail]";
mes "Anna pushed me and bumped me......";
mes "But she told Mom that it was just me who broke it....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, dear! You and Anna did that but she put all the blame on you?";
next;
mes "[Mikhail]";
mes "Yes.....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You should come out and tell your mom the truth! Let's go Mikhail.";
next;
mes "[Mikhail]";
@@ -3070,14 +3070,14 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
mes "No...I'm afraid that Mom will punish me...";
mes "Because Grandma's Matrushka is broken......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, my. Please don't cry little boy.";
mes "There's no way. I'll get a paste to bond all the pieces together. And then you can bring it back to your mom and apologize to her.";
next;
mes "[Mikhail]";
mes "Can you... get... a paste?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You don't believe me?";
mes "Ok, stay here. I'll be right back with the paste.";
next;
@@ -3098,7 +3098,7 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
mes "- Ok, what I have to do first is ask Mr.Victor what I need for the paste. -";
close;
} else if (mos_swan == 24) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, Mikhail. I've got the paste!.";
next;
mes "[Mikhail]";
@@ -3116,14 +3116,14 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
mes "I've done it!!!!!!!";
mes "Thank you so much!!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You're welcome, haha.";
mes "Anyway, can you promise me one thing?";
next;
mes "[Mikhail]";
mes "What?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Bring back the Matrushka to your mother, and promise me that you will be a brave general in the future.";
next;
mes "[Mikhail]";
@@ -3132,7 +3132,7 @@ mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{
mes "[Mikhail]";
mes "OK, I will!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hoohoo, you're good boy.";
next;
mes "[Mikhail]";
@@ -3198,7 +3198,7 @@ mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{
mes "How about staying the night? I'll mark down the price for you, beautiful lady.";
}
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I'm sorry but I didn't come to stay here.";
mes "I'm looking for a kid and I've got something to ask you...";
next;
@@ -3268,7 +3268,7 @@ mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{
mes "I felt sorry for him because he was so tense. He's such a sweet boy. I'd like to make him my son.";
mes "Hohoho";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So what happened?";
mes "Did Mikhail get it?";
next;
@@ -3279,7 +3279,7 @@ mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{
mes "[Landlord]";
mes "But it's been a long time since he was out of Moscovia so I can't ask him how to make adhesives now...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......And then?";
next;
mes "[Landlord]";
@@ -3287,7 +3287,7 @@ mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{
mes "I also told him not to drink what those guys offer to him!";
mes "Cause he's such a cute boy!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So, did he go there?";
next;
mes "[Landlord]";
@@ -3295,7 +3295,7 @@ mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{
mes "As he's a good boy, he would go there.";
mes "He's really gentle.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "OK. Thank you for your answers!";
next;
mes "[Landlord]";
@@ -3352,21 +3352,21 @@ mosk_in,141,212,3 script Pub Owner#mos 4_M_RUSBALD,{
mes "I'm Alexandre of ^3131FF'Pub Stream'^000000. You can call me 'Sasha'.";
next;
if(select("Ask him about Mikhail.", "Order a drink.") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sasha, has a little boy called 'Mikhail' came here?";
next;
mes "[Pub Owner]";
mes "Are you talking about the cute little boy? Yes he has came here.";
mes "He looked pale and needed a high-strength adhesive .";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So what did you say ?";
next;
mes "[Pub Owner]";
mes "I don't know well about that thing.";
mes "However, I know a person who may know about that so I introduced him to Mikhail.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who's that person?";
next;
mes "[Pub Owner]";
@@ -3374,7 +3374,7 @@ mosk_in,141,212,3 script Pub Owner#mos 4_M_RUSBALD,{
mes "He's very careful about details so we call him ^3131FF'hedgehog Victor'^000000.";
mes "No one knows about it well except him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sasha, thanks a lot!";
next;
mes "[Pub Owner]";
@@ -3400,28 +3400,28 @@ mosk_in,141,212,3 script Pub Owner#mos 4_M_RUSBALD,{
mes "Here you are. This is what you ordered.";
mes "How do you like Moscovia?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, it's beautiful and gorgeous.";
mes "Sasha, most of all, can you answer one question?";
next;
mes "[Pub Owner]";
mes "About what?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Has Mikhail come here?";
next;
mes "[Pub Owner]";
mes "Yes he has.";
mes "He looked pale and needed a high-strength adhesive.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So what happened?";
next;
mes "[Pub Owner]";
mes "I don't know much about adhesives.";
mes "But, I know a person who may know about them so I introduced Mikhail to him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who's this person?";
next;
mes "[Pub Owner]";
@@ -3429,7 +3429,7 @@ mosk_in,141,212,3 script Pub Owner#mos 4_M_RUSBALD,{
mes "He's very careful about details so we call him ^3131FF'Hedgehog Victor'^000000.";
mes "No one knows adhesives as well as he does.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sasha, thanks a lot!";
next;
mes "[Pub Owner]";
@@ -3508,7 +3508,7 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
close;
}
if (mos_swan == 8) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me.";
mes "Could you spare a few minutes for me?";
next;
@@ -3518,7 +3518,7 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
mes "I'm busy appreciating wine in this glass.";
close;
} else if (mos_swan == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me.";
mes "Could you spare a few minutes for me?";
next;
@@ -3534,7 +3534,7 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
mes "[Victor]";
mes "Well, tell me what you have on your mind. I'm listening.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Have you seen a little boy who was looking for paste?";
next;
mes "[Victor]";
@@ -3547,7 +3547,7 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
mes "[Victor]";
mes "By the way, how did you know that he came to see me? Did he say anything to you?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mikhail hasn't come back yet since he left to get the paste. He broke his mother's Matrushka..";
next;
mes "[Victor]";
@@ -3555,7 +3555,7 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
mes "Hmm.. Oh dear.....";
mes "I doubt he went there.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "There?";
next;
mes "[Victor]";
@@ -3611,13 +3611,13 @@ mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{
mes "[Victor]";
mes "You came back. Hmm, are you about to make me responsible that he's gone?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, I found him. You don't have to worry.";
next;
mes "[Victor]";
mes "So, what do you want with me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I promised him I'd make the high-strength adhesive. What do I have to do for that?";
next;
mes "[Victor]";
@@ -3703,14 +3703,14 @@ OnTouch:
mes "..................";
mes "..................";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I got a good night's sleep. How long did I sleep?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Although I was forced to stay here, it's true that it's got great facilities.";
mes "I feel refreshed.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I guess I will go to the landlord to get some info.";
mos_swan = 5;
close;
@@ -3727,7 +3727,7 @@ mosk_dun03,153,90,3 script Bubbling Swamp#mos1 CLEAR_NPC,{
next;
mes "- Gas bubbles are rising. The atmosphere here is pretty scary -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't see any traces of Mikhail. I think I should go back and check his house one more time.";
mos_swan = 11;
close;
@@ -4068,7 +4068,7 @@ OnTouch:
else getitem Cardinal_Jewel_,1;
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's so cute.";
close;
case 3:
@@ -4496,7 +4496,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 4_F_BABAYAGA,{
mes "Did you get";
mes "all of the items?";
next;
- setarray .@n, Grasshopper's_Leg,20,Spawn,5,Wing_Of_Red_Bat,20,Starsand_Of_Witch,10,Fine_Grit,10,Sticky_Mucus,10,Detonator,1,Boody_Red,5,Burning_Heart,10;
+ setarray .@n, Grasshoppers_Leg,20,Spawn,5,Wing_Of_Red_Bat,20,Starsand_Of_Witch,10,Fine_Grit,10,Sticky_Mucus,10,Detonator,1,Boody_Red,5,Burning_Heart,10;
for (.@i = 0; .@i < getarraysize(.@n); .@i += 2) {
if (countitem(.@n[.@i]) < .@n[.@i+1]) {
.@f = 1;
@@ -4591,7 +4591,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 4_F_BABAYAGA,{
mes "Did you get";
mes "all of them?";
next;
- setarray .@n, Grasshopper's_Leg,20,Spawn,5,Wing_Of_Red_Bat,20,Starsand_Of_Witch,10,Fine_Grit,10,Detonator,1,Boody_Red,5,Burning_Heart,10;
+ setarray .@n, Grasshoppers_Leg,20,Spawn,5,Wing_Of_Red_Bat,20,Starsand_Of_Witch,10,Fine_Grit,10,Detonator,1,Boody_Red,5,Burning_Heart,10;
for (.@i = 0; .@i < getarraysize(.@n); .@i += 2) {
if (countitem(.@n[.@i]) < .@n[.@i+1]) {
.@f = 1;
@@ -4975,7 +4975,7 @@ mosk_in,217,45,0 script #book_russia HIDDEN_NPC,{
mes "to repeat the spells that are already made.";
mes "This thick spell book is for that purpose.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That? That's just the preface?!";
next;
mes "...The second feature is";
@@ -4997,7 +4997,7 @@ mosk_in,217,45,0 script #book_russia HIDDEN_NPC,{
mes "but, whoever understands this can";
mes "read everything in it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It just accounts for the spell.";
mes "What a long preface.";
mes "I'll mark this spot.";
@@ -5044,7 +5044,7 @@ mosk_in,217,45,0 script #book_russia HIDDEN_NPC,{
mes "the place where you want to affect,";
mes "the changing of the seasons.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'll mark this page so that I";
mes "know where to read next time.";
close;
@@ -5234,7 +5234,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
break;
case 4:
specialeffect EF_POISONATTACK;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will tell Baba Yaga that";
mes "the work has been done.";
mos_nowinter = 17;
@@ -5297,7 +5297,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
break;
case 3:
if (.@nankai == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I will stir it up this time.";
mes "How many times should I..?";
next;
@@ -5332,14 +5332,14 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
} else {
mes "-Bubble, bubble-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Something changed?";
++.@nankai;
next;
}
break;
case 4:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will tell Baba Yaga that";
mes "it has been done.";
mos_nowinter = 17;
@@ -5401,7 +5401,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
break;
case 3:
if (.@nankai == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I will stir it up this time.";
mes "How many times should I...?";
next;
@@ -5434,7 +5434,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
} else {
mes "-Bubble, bubble-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Something changed?";
++.@nankai;
next;
@@ -5459,11 +5459,11 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
moscovia,224,190,0 script #nowinterplz CLEAR_NPC,{
if (mos_nowinter != 19) end;
if (countitem(Yaga_Secret_Medicine)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This place must be";
mes "the center of town...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, let's do it!";
next;
mes "-I drop the magic bottle";
@@ -5478,16 +5478,16 @@ moscovia,224,190,0 script #nowinterplz CLEAR_NPC,{
mes "It's much hotter";
mes "than before.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm sure that the season has changed";
mes "But how can I confirm this?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "First I'm going to see the Csar.";
mes "He would like to hear about this.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, where did I place";
mes "the magic bottle that Baba Yaga gave to me...";
close;
@@ -6312,12 +6312,12 @@ OnTouch:
mes "can hold people's speech";
mes "is around here.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is probably the only place";
mes "where the bottle is hidden,";
mes "but there are bones all over.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anyway, why am I here?";
mes "It would be trouble if";
mes "the dragon came back...";
@@ -6325,7 +6325,7 @@ OnTouch:
while(1) {
if(select("Look for it.", "I will try next time.") == 1) {
if (BaseJob == Job_Thief) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Here it is.";
mes "That was easy to find.";
mos_nowinter = 9;
@@ -6333,7 +6333,7 @@ OnTouch:
close;
}
if (rand(1,20) > 14) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, I got it!";
mes "I better get out of here quickly.";
mos_nowinter = 9;
@@ -6342,12 +6342,12 @@ OnTouch:
}
mes "............";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where the hell is it?!";
mes "It has to be in here somewhere!";
next;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will try later.";
close;
}
@@ -6401,7 +6401,7 @@ mosk_in,131,92,3 script #Csar FAKE_NPC,7,7,{
next;
if (countitem(Yaga_Pestle) > 39) {
if(select("Show the Yaga's Pestles.", "Do nothing.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, Here you are.";
next;
mes "-Offered the Yaga's Pestles.-";
@@ -6581,7 +6581,7 @@ mosk_fild02,198,252,3 script Sage#rus01 4_M_SAGE_C,{
mes "I've heard that interesting creatures inhabit your lands. Could you please tell me about at least one of them?";
next;
select("Show him a Poring Card");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This is a card of one of the monsters that inhabit the Rune Midgard continent.";
next;
if (!countitem(Poring_Card)) {
@@ -6589,11 +6589,11 @@ mosk_fild02,198,252,3 script Sage#rus01 4_M_SAGE_C,{
mes "...?!";
mes "What are you talking about?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I mean, this card.............";
mes "..................Ehhh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah.. haha.. where is it?!";
mes "W, wait.. I've got one somewhere!";
close;
@@ -6614,7 +6614,7 @@ mosk_fild02,198,252,3 script Sage#rus01 4_M_SAGE_C,{
mes "[Sage]";
mes "But, don't forget that you should still be careful. Lots of adventurers were lost in the forst in front of us.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Have any of the adventurers returned?";
next;
mes "[Sage]";
@@ -6655,12 +6655,12 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{
mes "- Left path -> Curse -";
mes "- Middle -> ? -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Where should I go?";
next;
switch(select("Right", "Left", "Middle")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What about the right...";
next;
mes "- You decide to go to the right -";
@@ -6678,7 +6678,7 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{
end;
case 2:
if (checkmount() != MOUNT_PECO) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What about the left...?";
next;
mes "- You decide to go to the left -";
@@ -6693,7 +6693,7 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{
warp "mosk_dun01",190,47;
end;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What about the left...?";
next;
mes "- You decide to go to the left -";
@@ -6710,7 +6710,7 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{
warp "mosk_dun01",190,47;
end;
case 3:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What about the middle...?";
next;
mes "- You move forward -";
@@ -6752,14 +6752,14 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{
mes "Halt, adventurer.";
mes "Why did you disregard the warnings on the stone?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you the reason adventurers are getting lost around this forest?";
next;
mes "[Gray Wolf]";
mes "...lost around this forest.";
mes "He doesn't want anyone to wander around the forest.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "He? Who is he?!";
next;
mes "[Gray Wolf]";
@@ -6785,11 +6785,11 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{
mes "[Gray Wolf]";
mes "...Why did you come back?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am afraid of nothing!";
mes "I'm not afraid of your warning 'cuz I'm not as weak as you think I am!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Your attack from before was a cheapshot! If you have something to do with the missing people around here, you won't be forgiven!";
mes "Come on!!!";
next;
@@ -6800,7 +6800,7 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{
mes "[Gray Wolf]";
mes "Stop it. You cannot beat me.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Let's see who's stronger?!";
mes "Take your position. I won't take you by surprise!!!";
next;
@@ -6823,7 +6823,7 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{
mes "Hu.. you won't. But, I ask you again. Can you help me?";
next;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Ok, ok. There's no way I can refuse this type of request.";
mes "So, what do you want me to do?";
next;
@@ -6862,20 +6862,20 @@ OnTimer120000:
//- Wall (Maria Morebna, Gray Wolf, Koshei) -
mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
if (rhea_rus_main < 5) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?!";
emotion e_what,1;
close;
} else if (rhea_rus_main == 5) {
.@speak01 = rand(1,3);
if (.@speak01 == 3) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?!";
emotion e_what,1;
donpcevent "Gray Wolf#rus05::OnEnable";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?!";
emotion e_what,1;
close;
@@ -6890,7 +6890,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Girl's Voice]";
mes "Help me? Do you think he can stop Koshei?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, hold on. Who is Koshei and who is talking?";
next;
mes "[Girl's Voice]";
@@ -6904,7 +6904,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "My name is Maria Morebna. Help me exterminate Koshei. I want to keep peace in Moscovia. Can you help me?";
next;
select("Ok, I can");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "So, how can I help you?";
next;
mes "[Gray Wolf]";
@@ -6931,7 +6931,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
if (rhea_rus_quiz < 3) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -6939,7 +6939,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Girl's Voice]";
mes "Did you get the key?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...I need golden thread. I heard that I was able to get it from Marozka. He....";
next;
mes "[Girl's Voice]";
@@ -6964,7 +6964,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Girl's Voice]";
mes "Have you.. got the key?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Not yet... Give me a second.";
next;
mes "[Girl's Voice]";
@@ -6975,14 +6975,14 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "Have you.. got the key?";
next;
if (rhea_rus_ring > 8 && rhea_rus_hair > 8 && rhea_rus_quiz > 29) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I collected every meterial for the key, But have not yet got the key...";
next;
mes "[Girl's Voice]";
mes "Go to Moscovia and find the keymaker.";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Not yet... Give me a second.";
next;
mes "[Girl's Voice]";
@@ -6999,7 +6999,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Girl's Voice]";
mes "Did you get the key?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I did. So, how do I use it?";
next;
mes "[Girl's Voice]";
@@ -7008,7 +7008,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
next;
input .@input$;
if (.@input$ == "The Free wind blows and gets you wherever you want") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^0000ff "+ .@input$ +" !! ^000000";
next;
mes "- The key begins to glow -";
@@ -7018,7 +7018,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
specialeffect EF_FREEZED;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes " "+ .@input$ +" !! ";
next;
mes "[Girl's Voice]";
@@ -7044,7 +7044,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- Maria is attacked -";
mes "- and falls down!! -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Maria?! What happened?!";
sc_start SC_CURSE,60000,0;
emotion e_omg,1;
@@ -7091,7 +7091,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Girl's Voice]";
mes "Have you.. got the key?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sure! Here it...";
mes "...............Errr?";
close;
@@ -7105,7 +7105,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "I will flee with her and leave you to deal with Koshei!!";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Maria...";
mes "I... could do nothing...";
next;
@@ -7150,7 +7150,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Gray Wolf's voice]";
mes "Did you get the 'Life Water' and 'Death Water'?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I've got them! How's Maria?!";
donpcevent "Gray Wolf#rus05::OnEnable";
donpcevent "Maria Morebna#rus46::OnEnable";
@@ -7158,18 +7158,18 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "[Gray Wolf]";
mes "I fear that her spirit has gone. Severe wounds and curses are hindering her spirit from coming back. But we can save her with that water.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok... First...";
next;
if(select("Death Water", "Life Water") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I hope this works...";
next;
mes "- I pour the Death Water -";
mes "- on Maria's stiff body -";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I hope this works...";
next;
mes "- I pour the Life Water -";
@@ -7180,7 +7180,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
next;
mes "- Nothing changed -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huk, was this wrong...?!";
next;
mes "[Gray Wolf]";
@@ -7188,7 +7188,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
next;
donpcevent "Gray Wolf#rus05::OnDisable";
donpcevent "Maria Morebna#rus46::OnDisable";
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am so sorry. But some water is left...";
close;
}
@@ -7197,27 +7197,27 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- are removed !! -";
specialeffect EF_ABSORBSPIRITS,AREA,"Maria Morebna#rus46";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok! Next...";
next;
if(select("Death Water", "Life Water") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Pour the 'Death Water' again...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...!? No, not 'Death Water'.. I should pour 'Life Water'.......";
next;
mes "[Gray Wolf]";
mes "............................";
mes "Can I trust you...?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hehehe, you can trust me. Next is the 'Life Water'.";
next;
mes "- I pour 'Life Water' on Maria -";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, next the 'Life Water'.";
next;
mes "- I pour the Life Water -";
@@ -7420,13 +7420,13 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "But, I've heard that some people have become lost in the forest on the island near this village. What's going on?";
next;
select("Excuse me...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me, have you heard of a keymaker who knows how to make a '^0000ffGolden Key^000000'?";
next;
mes "[The Blacksmith]";
mes "Hmm, are you an adventurer? Who told you about the '^0000ffGolden Key^000000'?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, in fact...";
next;
mes "- You tell him about -";
@@ -7437,7 +7437,7 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "Well, then... The keymaker for the '^0000ffGolden Key^000000'.";
mes "You are very lucky to have asked me about this.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, what do you mean...?";
next;
mes "[The Blacksmith]";
@@ -7446,7 +7446,7 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "[The Blacksmith]";
mes "I guess you think that getting the materials will be easy huh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey I didn't say...";
next;
mes "[The Blacksmith]";
@@ -7461,14 +7461,14 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "What do you think?";
mes "Would you like to try?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Of course! I have to help Maria!";
next;
mes "[The Blacksmith]";
mes "Bahaha! I like you!";
mes "Ok, first, bring me ^0000ff25 Steel^000000. I'm not going anywhere so come back here when you have them.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok so that's the first thing you need for the 'Golden Key' right?";
next;
mes "[The Blacksmith]";
@@ -7493,13 +7493,13 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "best work, but it'll do.";
mes "Here ya go!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah?! This is?!!";
next;
mes "[The Blacksmith]";
mes "Strong Steel Boots!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The Golden!!.........................";
mes "....................Eh, what?";
next;
@@ -7537,7 +7537,7 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
if (rhea_rus_ring > 8 && rhea_rus_hair > 8 && rhea_rus_quiz > 29) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -7546,20 +7546,20 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
mes "So, you got all the materials. I can't believe it.";
mes "You did your best until your boots were worn out, didn't you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, you know, it's not very comfortable walking around in Steel boots all day!";
next;
mes "[The Blacksmith]";
mes "Bahaha~ Ok, well done.";
mes "Well.. While you were looking for the materials, I was searching for the keymaker who can make the key!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I thought you said that you knew how to make the key?";
next;
mes "[The Blacksmith]";
mes "Hmm... Well I know the materials. And I know who makes the key. So I will tell you where to find the keymaker. Is that ok?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Of course! I have to know where this person is.";
next;
mes "[The Blacksmith]";
@@ -7677,7 +7677,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes "Hmm, are you an adventurer? So, how do you like it here?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "It's not too bad.";
mes "The weather here is great!";
next;
@@ -7691,7 +7691,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
if (rhea_rus_ring < 1) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -7730,7 +7730,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "daughter, Mashenka,";
mes "as a present. But... she...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you ok?";
next;
mes "[Vassili Grandpapa]";
@@ -7764,7 +7764,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
} else if (rhea_rus_ring == 8) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -7772,7 +7772,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes "Ehh? you are the adventurer that I met before. Something to tell me?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Listen to... this.";
next;
if (countitem(Pointed_Wooden_Flute)) {
@@ -7804,7 +7804,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "No... this isn't true?";
mes "Don't try to trick me... Why are you telling... That flute is... Mashenka...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Isn't this.. isn't this Mashenka's voice?";
next;
mes "[Vassili Grandpapa]";
@@ -7831,7 +7831,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes ".............................";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Uh... I'm so sorry...";
next;
mes "[Vassili Grandpapa]";
@@ -7865,7 +7865,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes "Damn this cursed ring!!! Why did my daughters have this tragedy....? ~Sob!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................";
next;
mes "[Vassili Grandpapa]";
@@ -7913,7 +7913,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "...............................";
mes "...What did you say?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ehh?! This is weird. Where is the flute?!";
emotion e_omg,1;
close;
@@ -7960,7 +7960,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
} else if (rhea_rus_ring == 1) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -7972,14 +7972,14 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Mmm, you must be an adventurer? What would you say? Have you seen somebody more beautiful than me? I doubt it. How can you find anyone more beautiful than me?";
next;
if(select("Are you crazy!", "Yes, you are right.") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you crazy!? Don't you know how wide the world is and how many beautiful people there are? You're pretty full of it, country girl!";
next;
if (Sex == SEX_FEMALE) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Besides, if there was a most beautiful girl in the world it would be me, me, me!";
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Have you seen dancers dancing? Have you seen beautiful and pure priests?!";
mes "And nothing is like the kind Kafra Employees!!!";
}
@@ -7992,7 +7992,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
warp "moscovia",220,210;
end;
}
- mes "["+ strcharinfo(0) +"]";;
+ mes "["+ strcharinfo(PC_NAME) +"]";;
mes "Yes, you are really beautiful.";
emotion e_heh,1;
next;
@@ -8045,7 +8045,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Huhu, have you ever met anyone as beautiful as I am?";
next;
select("You are...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...You are the most beautiful...";
next;
mes "[Ryubaba]";
@@ -8067,7 +8067,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Ah, that ring... Yes, my father gave it to my baby sister, Mashenka.";
mes "But, she went out to take a stroll and disappeared around the marsh.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, your father told me that she died!";
next;
mes "[Ryubaba]";
@@ -8079,7 +8079,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Ah, that ring... Yes, my father gave it to my baby sister, Mashenka.";
mes "But, she went out to take a stroll and disappeared around the marsh.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, your father told me that she died!";
next;
mes "[Ryubaba]";
@@ -8088,7 +8088,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
} else if (rhea_rus_ring == 7) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8096,7 +8096,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "[Ryubaba]";
mes "Ah, you come here again. What can I do for you?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Listen to this song.";
next;
if (countitem(Pointed_Wooden_Flute) > 0) {
@@ -8123,7 +8123,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "[Ryubaba]";
mes "S, stop! You'd better stop!?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Isn't this voice Mashenka's!? What did you do to her!?";
next;
mes "[Ryubaba]";
@@ -8132,7 +8132,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "[Ryubaba]";
mes "I asked her to show me the ring. But, she wouldn't let me see it. She always got on my nerves! Stupid girl!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "She was your sister! How can you speak like that!?";
mes "Your father needs to know about all of this!";
next;
@@ -8140,7 +8140,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "No!!!";
mes "Give me that flute!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No! Your father has to know!";
next;
mes "[Ryubaba]";
@@ -8156,29 +8156,29 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "[Ryubaba]";
mes "Could you please ignore this? Give me that flute... Ah... The red ring? How about exchanging it for the ring? Don't you need this?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "But...";
next;
mes "[Ryubaba]";
mes "Oh, please.. This is not only for my sake, but also for my old father.... please I beg you.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Mmmm, what should I do...";
next;
if(select("Exchange", "Not exchange") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Mmmm, what should I do...";
mes "Ok, I will do it.";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Mmmm, what should I do...";
mes "No, I can't do it!";
next;
mes "[Ryubaba]";
mes "What!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have to let your father know the truth! He has to know what you have done!";
next;
mes "[Ryubaba]";
@@ -8224,7 +8224,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
}
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...!? Where is the flute!?";
emotion e_omg,1;
close;
@@ -8232,7 +8232,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "[Ryubaba]";
mes "You give it back to me!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have to let your father know the truth! He has to know what you have done!";
next;
mes "[Ryubaba]";
@@ -8341,7 +8341,7 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 1_F_04,{
} else if (rhea_rus_ring == 5) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8353,7 +8353,7 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 1_F_04,{
mes "I wish that I could listen to music all the time.";
next;
select("Excuse me...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me... Have you seen a girl named, Mashenka?";
mes "She was last seen walking towards the marsh.";
next;
@@ -8372,7 +8372,7 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 1_F_04,{
if (countitem(Pointed_Branch) > 24) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8509,7 +8509,7 @@ moscovia,166,145,1 script Worried Mother#rus19 4_F_RUSWOMAN3,{
if (rhea_rus_hair < 1) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8527,7 +8527,7 @@ moscovia,166,145,1 script Worried Mother#rus19 4_F_RUSWOMAN3,{
mes "Did you go to the marsh in the Moscovia field? Did you see my daughter? I don't care even if she became Lusalka. I just want to know where she is.";
next;
if(select("Calm her down.", "I will find her.") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "She should be ok.";
mes "She will be back soon.";
next;
@@ -8624,10 +8624,10 @@ OnTouch:
mes "- You hear a splashing as -";
mes "- something gleaming -";
mes "- seems to stare at you!! -";
- next;
+ close2;
specialeffect2 EF_FLASHER;
- percentheal -100,0;
- close;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
+ end;
}
} else if (rhea_rus_hair > 2 && rhea_rus_hair < 7) {
mes "[Lusalka's Voice]";
@@ -8646,19 +8646,20 @@ OnTouch:
close;
}
mes "-You seem to hear the splash but something gleaming raids on you!!-";
+ close2;
specialeffect2 EF_FLASHER;
- percentheal -100,0;
- close;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
+ end;
}
} else if (rhea_rus_hair == 8) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What was that?!";
mes "Why am I here?";
next;
mes "- After standing up, you see -";
mes "- the wet hair in front of you -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...This.. is Lusalka's hair?";
mes "Ah, right.. I came here to get her hair.";
next;
@@ -8674,7 +8675,7 @@ OnTouch:
mes "- You feel that someone -";
mes "- is watching you -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Who's there? Anybody here?";
next;
mes "- The splashing sound -";
@@ -8702,7 +8703,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
} else if (rhea_rus_hair == 2) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8720,7 +8721,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "...An adventurer...?";
mes "If so, you came here from another continent, not Moscovia...?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm from Rune Midgarts.";
next;
mes "[Lusalka]";
@@ -8754,17 +8755,17 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "[Lusalka]";
mes "Please, find him and tell him that I am ok and to stop suffering...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Where can I find him?";
next;
mes "[Lusalka]";
mes "The night when he left, he said that he would go to the capital of Rune Midgarts. I am not sure if he is still there...";
next;
if(select("Ok, I will do it", "I don't think I can do it...") == 2) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Rune Midgarts is large! I don't think I can do it.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "There's nothing we can do. Just give it up.";
next;
mes "[Lusalka]";
@@ -8792,7 +8793,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
} else if (rhea_rus_hair == 7) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8800,11 +8801,11 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "[Lusalka]";
mes "Have you seen him? How was he?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This is a message from Igor.";
mes "He said that he remembers every moment with you and still loves you.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "And he would come back to Moscovia until the full moon and wanted you to meet him. He told me that he will be strong enough not to make you suffer.";
next;
mes "[Lusalka]";
@@ -8814,20 +8815,20 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "Thank you very much. I really appreciate it.";
mes "How can I thank you? Let me know what I can do for you.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Can I ask a favor of you?";
next;
mes "[Lusalka]";
mes "If I can, I will do it.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "If so!!";
mes "....I need some of your hair.";
next;
mes "[Lusalka]";
mes "...Eh, hair? Is that all?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually it's not all.";
mes "I need 2 lockes!";
next;
@@ -8847,7 +8848,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
emotion e_omg,1;
percentheal -30,0;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, what was that!?";
mes "Who's there?!";
next;
@@ -8856,14 +8857,14 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "You will never stop me!!!";
mes "hahahaha!!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, who are you!? Ahkkk!!";
sc_start SC_BLIND,10000,0;
rhea_rus_hair = 8;
donpcevent "Lusalka#rus23::OnDisable";
close;
} else if (rhea_rus_hair > 7) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?! What are you? The marsh ghost?";
next;
mes "[Lusalka]";
@@ -8872,7 +8873,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "- The green thing seems to open its mouth to say something but closes it soon after and watches you with its sad eyes-";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?! What are you? The marsh ghost?";
next;
mes "[Lusalka]";
@@ -8884,10 +8885,11 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
end;
}
mes "-When Lusalka watches you, you are blacked out-";
+ close2;
specialeffect2 EF_FLASHER;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
donpcevent "Lusalka#rus23::OnDisable";
- close;
+ end;
OnInit:
disablenpc "Lusalka#rus23";
@@ -8929,7 +8931,7 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
} else if (rhea_rus_hair == 3) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -8940,7 +8942,7 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
mes "[A Wanderer from a strange land]";
mes "In your free time, come to see me! The weather here is even more favorable than our the best summer back home.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Back home?";
mes "Excuse me for asking, but are you from Moscovia?";
next;
@@ -8948,18 +8950,18 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
mes "Ho, how did you know that?";
mes "Have you been there before?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes. I have been there...";
mes "By the way, the important thing is.. are you.....";
next;
input .@input$;
if (.@input$ == "Igor") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes. I have been there...";
mes "By the way, the important thing is.. are you..... "+ .@input$ +"?";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes. I have been there...";
mes "By the way, the important thing is.. are you..... "+ .@input$ +"?";
next;
@@ -8978,7 +8980,7 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
mes "[A Wanderer from a strange land]";
mes "We came here from Moscovia together. He called himself Igg. I came here with him but parted with him quite a while ago. He was sad because he couldn't forget about his lost lover.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes that must be Igor.";
mes "I am looking for him!";
mes "Do you know where he is now?";
@@ -9032,7 +9034,7 @@ morocc,165,82,0 script Morroc Villager#rus25 1_M_02,{
} else if (rhea_rus_hair == 4) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9049,14 +9051,14 @@ morocc,165,82,0 script Morroc Villager#rus25 1_M_02,{
mes "[Morroc Villager]";
mes "Ah, but don't get me wrong! I'm not coughing because of the Kafra Staffers. It's uhh the heat, it's getting to me... ya...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "................................";
mes "The hell you talking about..? I'm looking for someone.";
next;
mes "[Morroc Villager]";
mes "I see so many adventurers around here, how can I remember everybody? Got any descriptions of this someone..? Or traits..? anything to help me remember.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmm... I don't know how he looks like but he is from a land called Moscovia.";
next;
mes "[Morroc Villager]";
@@ -9097,7 +9099,7 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
} else if (rhea_rus_hair == 4 || rhea_rus_hair == 5) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9108,25 +9110,25 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
mes "[A gloomy looking soldier]";
mes "...I don't know who you are. Just get outta my face. I don't want to talk...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "It's pretty dangerous here. There are fierce monsters all over the place.";
next;
mes "[A gloomy looking soldier]";
mes "... Good. Let them come. I want to die here alone.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "A-Are you Igor? What're you talking about? Have you gone nuts?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Do you have any idea how much your lover is suffering?";
next;
mes "[A gloomy looking soldier]";
mes "My... lover...?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I brought a message from her. She says not to suffer anymore and to just be happy...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The more you suffer, the deeper she sinks into sadness. Don't think that you're the only one that's suffering...";
next;
mes "[A gloomy looking soldier]";
@@ -9141,10 +9143,10 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
mes "T, this is Svetlana's...?!";
mes "H, how did you!?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I met her by accident. She became Lusalka in the marsh of Moscovia.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "She told me that you wouldn't believe me so she gave me these earrings as proof... The present that you gave to her.";
next;
mes "[A gloomy looking soldier]";
@@ -9174,7 +9176,7 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
} else if (rhea_rus_hair == 6) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9182,7 +9184,7 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
mes "[A gloomy looking soldier]";
mes "I knew that she had become the cursed nymph Lusalka. But, I still went every night... to find her. I just wanted to see her and talk to her.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "She told me that she also wanted to see you. But, she was afraid that Lusalka's curse would kill you if you saw her.";
mes "And so she hid...";
next;
@@ -9190,7 +9192,7 @@ moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{
mes "How could she think of me...";
mes "...I, how should I.. Should I...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Don't be sad. She still loves you. Your suffering is her suffering.";
next;
mes "[A gloomy looking soldier]";
@@ -9263,7 +9265,7 @@ OnTouch:
mes "[Voice unidentified]";
mes "Who dares to come into my cave!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you Marozka? Maria sent me! I need your 'Golden Thread' to make a 'Golden Key' to release her from the wall!";
next;
mes "[Voice unidentified]";
@@ -9273,7 +9275,7 @@ OnTouch:
mes "[Voice unidentified]";
mes "You must be fighting against 'Koshei' if you are asking about the 'Golden Key' and Maria! Do you think that you are strong enough to fight against him?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Of course I'm strong enough!";
next;
mes "[Voice unidentified]";
@@ -9302,7 +9304,7 @@ mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
if (rhea_rus_quiz == 1) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9325,7 +9327,7 @@ mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
mes "- your hand and pick up -";
mes "- the well baked cookies! -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oops, it's hot, hot!!!";
specialeffect2 EF_FIREHIT;
emotion e_omg,1;
@@ -9373,7 +9375,7 @@ mosk_que,56,202,0 script Occult Apple Tree#rus29 HIDDEN_NPC,{
if (rhea_rus_quiz == 2) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9391,7 +9393,7 @@ mosk_que,56,202,0 script Occult Apple Tree#rus29 HIDDEN_NPC,{
mes "- You hit the tree firmly, -";
mes "- worms fall down! -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahhhhhhhh!!!";
emotion e_omg,1;
close;
@@ -9422,7 +9424,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{
} else if (rhea_rus_quiz == 3) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9430,7 +9432,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{
mes "[Marozka]";
mes ".....................you came.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Are you Marozka? Here, I've proven to you my strength now can you make me the 'Golden Thread'?";
mes "I need it to get Maria out of that wall.";
next;
@@ -9468,7 +9470,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{
mes "As promised, here's the 'Golden Thread'.";
mes "So, you are really going to fight Koshei the Immportal, eh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I don't know but I promised to get Maria out of there.";
next;
mes "[Marozka]";
@@ -9480,7 +9482,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{
mes "[Marozka]";
mes "Do you still want the Golden Thread? Ok, I will give it to you! But, there is one more test.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "One more test?";
mes "Didn't I already prove my worth?";
next;
@@ -9491,7 +9493,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{
} else if (rhea_rus_quiz == 29) {
if (getequipid(EQI_SHOES) != 2429) {
if (getequipid(EQI_SHOES) != 2430) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Hmm, did I forget to wear something...?";
close;
}
@@ -9579,7 +9581,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "[Baba Yaga]";
mes "Why are you here, you yummy looking human? If you lotter around here any longer, I will make myself some tasty human soup! Hehehehehe";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I, ah, I.. Gold.. golden...";
next;
mes "[Baba Yaga]";
@@ -9599,18 +9601,18 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "[Baba Yaga]";
mes "Leave now, or I will curse you again! 'Presto...'";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
next;
input .@input$;
if (.@input$ == "Spellshield Protection") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
mes ""+ .@input$ +" !!!";
specialeffect2 EF_ABSORBSPIRITS;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
mes ""+ .@input$ +" !!!";
next;
@@ -9624,20 +9626,20 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "[Baba Yaga]";
mes "Ho, you are protected by a Protection Spell. You are no ordinary kid.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I heard that you are able to make the 'Golden Key' and that's why I am here!";
next;
mes "[Baba Yaga]";
mes "'Golden Key'? Why do you need it?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I need it to release Maria Mobrena from her dark wall prison.";
next;
mes "[Baba Yaga]";
mes "...Maria Morebna...";
mes "Are you fighting against Koshei?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "If he gets in my way of keeping my promise to her, I guess that I will fight him.";
next;
mes "[Baba Yaga]";
@@ -9782,13 +9784,13 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe.";
close;
} else if (rhea_rus_main == 28) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, what is this, suddenly?!";
next;
mes "[Baba Yaga]";
mes "Ho.. this is for a beautiful garden. This is better than I expected. Ok then, let's do this.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, are you listening to me?";
next;
mes "[Baba Yaga]";
@@ -9801,27 +9803,27 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
donpcevent "Baba Yaga#rus32::OnDisable";
close;
} else if (rhea_rus_main == 29) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What are you doing!!";
next;
mes "[Baba Yaga]";
mes "Hmm, this one makes people deligent and doesn't look effective. Ok then, next is a House Ghost...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hey, I am talking...";
emotion e_sob,1;
next;
mes "[Baba Yaga]";
mes "'In the corner...'";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "!!!!!!!!!!!!!!!!!!!!!!!!!";
emotion e_omg;
next;
mes "[Baba Yaga]";
mes "What, child? Do you feel bad?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "When will you give me the key?!";
next;
mes "[Baba Yaga]";
@@ -9843,7 +9845,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe.";
close;
} else if (rhea_rus_main == 41) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! I got the cow!";
next;
mes "[Baba Yaga]";
@@ -9855,7 +9857,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
getitem Gold_Key,1;
close;
} else if (rhea_rus_main == 42) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! The coffin is now silenced!";
next;
mes "[Baba Yaga]";
@@ -9871,7 +9873,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
close;
} else if (rhea_rus_main == 43) {
if (countitem(Babayaga_Silver_Spoon)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! I found and got the silver spoons!";
next;
mes "[Baba Yaga]";
@@ -9887,20 +9889,20 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
getitem Gold_Key,1;
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! I found and got the silver spoons!";
next;
mes "[Baba Yaga]";
mes "Oh, yes, yes. Give them to me.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here they.. They..?!";
next;
mes "[Baba Yaga]";
mes "You fool! Where did you sell my spoons!? Get them for me right now!";
close;
} else if (rhea_rus_main == 44) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor. Give me the key!";
next;
mes "[Baba Yaga]";
@@ -9912,7 +9914,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
getitem Gold_Key,1;
close;
} else if (rhea_rus_main == 45) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! The House ghost is now quiet!";
next;
mes "[Baba Yaga]";
@@ -9927,7 +9929,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
getitem Gold_Key,1;
close;
} else if (rhea_rus_main == 46) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I have done your favor! Here, the best broom from Payon!";
next;
mes "[Baba Yaga]";
@@ -9952,7 +9954,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "[Baba Yaga]";
mes "What are you doing here? Kehehehe.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Koshei... suddenly appeared.. and Maria.. Wolf... killed...";
next;
mes "[Baba Yaga]";
@@ -10318,13 +10320,13 @@ OnTouch:
mes "[Cow]";
mes "Moo..";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hah, t, that is Baba Yaga's cow?!";
mes "Y, you...";
next;
mes "- You approach to the cow carefully and hold its nape -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You! Go home now!";
emotion e_omg;
next;
@@ -10335,7 +10337,7 @@ OnTouch:
next;
input .@input$;
if (.@input$ == "Good feed is orange-flavored") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
specialeffect EF_TELEPORTATION2;
next;
@@ -10344,7 +10346,7 @@ OnTouch:
donpcevent "Cow#rus34::OnEnable";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
next;
mes "[Cow]";
@@ -10362,7 +10364,7 @@ OnTouch:
close;
}
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Akkkk?! Eh!? The s-spell...";
next;
mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -";
@@ -10375,10 +10377,10 @@ OnTouch:
}
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What a surprise. The cow is bad like its owner.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, then. Let's get back to Baba Yaga...";
rhea_rus_main = 41;
close;
@@ -10388,7 +10390,7 @@ OnTouch:
next;
mes "- The cow is tied around its neck and eats grass comfortably -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I must return to Baba Yaga...";
close;
}
@@ -10416,13 +10418,13 @@ OnTouch:
mes "[Cow]";
mes "Moo..";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hah, t, that is Baba Yaga's cow?!";
mes "Y, you...";
next;
mes "- You approach to the cow carefully and hold its nape -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You! Go home now!";
emotion e_omg;
next;
@@ -10433,7 +10435,7 @@ OnTouch:
next;
input .@input$;
if (.@input$ == "Good feed is orange-flavored") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
specialeffect EF_TELEPORTATION2;
next;
@@ -10442,7 +10444,7 @@ OnTouch:
donpcevent "Cow#rus34::OnEnable";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
next;
mes "[Cow]";
@@ -10460,7 +10462,7 @@ OnTouch:
close;
}
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Akkkk?! Eh!? The s-spell...";
next;
mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -";
@@ -10474,10 +10476,10 @@ OnTouch:
}
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What a surprise. The cow is bad like its owner.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, then. Let's get back to Baba Yaga...";
rhea_rus_main = 41;
close;
@@ -10487,7 +10489,7 @@ OnTouch:
next;
mes "- The cow is tied around its neck and eats grass comfortably -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I must return to Baba Yaga...";
close;
}
@@ -10515,13 +10517,13 @@ OnTouch:
mes "[Cow]";
mes "Moo..";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hah, t, that is Baba Yaga's cow?!";
mes "Y, you...";
next;
mes "- You approach to the cow carefully and hold its nape -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You! Go home now!";
emotion e_omg;
next;
@@ -10532,7 +10534,7 @@ OnTouch:
next;
input .@input$;
if (.@input$ == "Good feed is orange-flavored") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
specialeffect EF_TELEPORTATION2;
next;
@@ -10541,7 +10543,7 @@ OnTouch:
donpcevent "Cow#rus35::OnEnable";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
next;
mes "[Cow]";
@@ -10554,7 +10556,7 @@ OnTouch:
close;
}
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Akkkk?! Eh!? The s-spell...";
next;
mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -";
@@ -10562,10 +10564,10 @@ OnTouch:
donpcevent "Cow#rus35::OnEnable";
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What a surprise. The cow is bad like its owner.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, then. Let's get back to Baba Yaga...";
rhea_rus_main = 41;
close;
@@ -10575,7 +10577,7 @@ OnTouch:
next;
mes "- The cow is tied around its neck and eats grass comfortably -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I must return to Baba Yaga...";
close;
}
@@ -10599,24 +10601,24 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
mes "[Noisy Coffin]";
mes "Don't you want to exchange lives with me? Exchange with me, exchange!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ehh, that's one noisy coffin.";
next;
mes "[Noisy Coffin]";
mes "I was alive! I was alive!";
mes "What is different between you and me? Why are you still alive? Why didn't you die? Why did I die?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... How can I silence him...";
next;
while(1) {
switch(select("Pray", "Sing a hymn", "Pour Holy Water on him", "Kick him")) {
case 1:
if (rhea_rus_main == 17) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...I'll pray.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Heaven, earth, and wind belong to God, there is no place for evil.";
specialeffect EF_BLESSING;
next;
@@ -10625,27 +10627,27 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
rhea_rus_main = 18;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...I'll pray.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Heaven, earth, and wind belong to God, there is no place for evil.";
specialeffect EF_BLESSING;
next;
mes "[Noisy Coffin]";
mes "What was that? What was that for? Was it fun?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................................";
next;
}
break;
case 2:
if (rhea_rus_main == 18) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmm, hmm! I'll sing a hymn. The first phrase 'Holy god against evils'!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "- The covetous, the perverse -";
mes "- All the evils hateful -";
mes "- Will be droven off this land -";
@@ -10656,10 +10658,10 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
rhea_rus_main = 19;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmm, hmm! I'll sing a hymn. The first phrase 'Good looks down at us'!!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "- The covetous, the perverse -";
mes "- All the evils hateful -";
mes "- Will be droven off this land -";
@@ -10668,7 +10670,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
mes "[Noisy Coffin]";
mes "Perverse! The perverse!! Drive away!! What was that song?! Was it fun?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................................";
next;
}
@@ -10676,7 +10678,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
case 3:
if (countitem(Holy_Water)) {
if (rhea_rus_main == 16) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "If you don't shut up, I will pour Holy Water on you!";
next;
mes "- You open the bottle of Holy Water and pour it around the coffin carefully !! -";
@@ -10688,7 +10690,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
rhea_rus_main = 17;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "If you don't shut up, I will pour Holy Water on you!";
next;
mes "- You open the bottle of Holy Water and pour it around the coffin carefully !! -";
@@ -10698,25 +10700,25 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
mes "Ah, cold! No, it's cool! Was it fun? Was it fun?!";
delitem Holy_Water,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................................";
next;
}
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yeah, where's the Holy water?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...... I don't have any...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................................";
next;
}
break;
case 4:
if (rhea_rus_main == 19) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...If you don't shut up...";
mes "......I will kick you!!";
next;
@@ -10728,7 +10730,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
rhea_rus_main = 20;
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...If you don't shut up...";
mes "......I will kick you!!";
next;
@@ -10738,7 +10740,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
mes "[Noisy Coffin]";
mes "Slam! Slam! I like noise! Do it more, more, more!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "......................................";
next;
}
@@ -10746,45 +10748,45 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{
}
}
if (rhea_rus_main < 20) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Not effective...";
rhea_rus_main = 16;
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ".............If you make noise once more, you will see more than you imagine...";
next;
mes "[Noisy Coffin]";
mes "................................";
emotion e_dots;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hu, the job has been done.";
mes "Let's get back to Baba Yaga.";
rhea_rus_main = 42;
close;
} else if (rhea_rus_main == 20) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ".............If you make noise once more, you will see more than you imagine...";
next;
mes "[Noisy Coffin]";
mes "................................";
emotion e_dots;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hu, the job has been done.";
mes "Let's get back to Baba Yaga.";
rhea_rus_main = 42;
close;
} else if (rhea_rus_main == 42) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ".............If you make noise once more, you will see more than you imagine...";
next;
mes "[Noisy Coffin]";
mes "................................";
emotion e_dots;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hu, the job has been done.";
mes "Let's get back to Baba Yaga.";
close;
@@ -10806,7 +10808,7 @@ treasure01,165,58,0 script Old Treasure Box#rus37 HIDDEN_NPC,{
} else if (rhea_rus_main == 25) {
mes "- Around the locked box, a women having snakes on her head is engraved -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Does this work...";
next;
select("Insert the key into the lock");
@@ -10815,7 +10817,7 @@ treasure01,165,58,0 script Old Treasure Box#rus37 HIDDEN_NPC,{
mes "- Her eyes are made from jewels !! -";
if (countitem(Crystal_Mirror)) {
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Arrrrrk? What is this!!";
specialeffect EF_FLASHER;
next;
@@ -10887,14 +10889,14 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
case 1:
mes "- Mushrooms grow on the bed -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Life......";
close;
break;
case 2:
mes "- You look at the under the bed -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ouch?!";
specialeffect2 EF_HIT2;
percentheal -5,0;
@@ -10907,7 +10909,7 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
}
mes "- You raise the dirty sheet that has many holes -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?! What is this?";
next;
mes "- There is a scar on the sheet that seems to have the location !! -";
@@ -10916,7 +10918,7 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
viewpoint 1,98,118,3,0xFF0000;
viewpoint 1,27,115,4,0xFF0000;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...This may be?!";
next;
mes "[Voice unidentified]";
@@ -10927,7 +10929,7 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
viewpoint 2,27,115,4,0x00FF00;
emotion e_omg,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eek, it would be best to run away now!";
rhea_rus_main = 22;
close2;
@@ -10940,14 +10942,14 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
case 1:
mes "- Mushrooms grow on the bed -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Life......";
close;
break;
case 2:
mes "- You look at the under the bed -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ouch?!";
specialeffect2 EF_HIT2;
percentheal -5,0;
@@ -10970,7 +10972,7 @@ treasure01,98,119,0 script Dirty Wall#rus39 HIDDEN_NPC,{
next;
mes "- ^ff0000Her... careful.. Mermaid's song.. sleeping.. the eyes.. protect your.. mirror^000000 -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...What is this talking about...?";
if (rhea_rus_main == 22) rhea_rus_main = 23;
close;
@@ -11005,12 +11007,12 @@ treasure01,27,115,0 script Opened Treasure Chest#41 HIDDEN_NPC,{
if (rhea_rus_main == 24) {
mes "- You open the box, junk is in it -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Should I search this...?";
next;
mes "- You sigh and stretch your hand into the box -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...!? What is this?!";
next;
.@russ_key02 = rand(1,7);
@@ -11027,12 +11029,12 @@ treasure01,27,115,0 script Opened Treasure Chest#41 HIDDEN_NPC,{
case 7: mes "- You find a bone !! -"; break;
}
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, what is this!?";
emotion e_omg,1;
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, this may be...";
next;
mes "- You adjust the piece of the broken key with the its handle and they make a sound and become a key !!-";
@@ -11066,7 +11068,7 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN2,{
mes "[Momotoro Publisher]";
mes "Someone ordered a book but did not pick it up.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, I.. a magic book...";
next;
mes "[Momotoro Publisher]";
@@ -11074,14 +11076,14 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN2,{
next;
input .@input$;
if (.@input$ == "Baba Yaga") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am "+ .@input$ +".";
next;
mes "[Momotoro Publisher]";
mes ""+ .@input$ +" ... Ah, here it is.";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am "+ .@input$ +" ";
next;
mes "[Momotoro Publisher]";
@@ -11126,7 +11128,7 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN2,{
mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
if (rhea_rus_main == 31) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "... Is it in here..? Hey, hey...";
next;
mes "- You tap the jar -";
@@ -11137,7 +11139,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
mes "- A voice laughs in the jar as -";
mes "- it shakes from right to left -";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You! No more games! Come out of there!";
specialeffect EF_HIT2;
next;
@@ -11151,7 +11153,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
donpcevent "House Ghost Jar#rus43::OnDisable";
close;
} else if (rhea_rus_main == 32) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ehh.. you, what are you doing!!";
next;
mes "- As you plan to kick the jar -";
@@ -11192,7 +11194,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
mes "[House Ghost]";
mes "Let's play best out of 5. So if you win 3 games, I promise to stay quiet!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok! It will be fun. Let's do it.";
next;
.@rugame_turn01 = 0;
@@ -11227,7 +11229,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
.@rucard_game01 = rand(1,3);
switch(select("Poring", "Angeling", "Ghostring")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmmm, I think it is the Poring Card!";
next;
mes "[House Ghost]";
@@ -11263,7 +11265,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
}
break;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmmm, I think it is the Angeling Card!";
next;
mes "[House Ghost]";
@@ -11299,7 +11301,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
}
break;
case 3:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hmmm, I think it is the Ghostring Card!";
next;
mes "[House Ghost]";
@@ -11341,7 +11343,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
rhea_rus_main = 34;
close;
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I was not thinking correctly! Let's do it again!";
next;
mes "[House Ghost]";
@@ -11354,18 +11356,18 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{
mes "[House Ghost]";
mes "As promised, I will be quiet now. Thank you for playing with me.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh and by the way, I have a present for you!";
next;
if (countitem(Milk)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You said you like milk. Here, take this.";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You said you like milk. Here, take.. Eh?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W, where is this? Wait here. I will bring it soon!!";
close;
}
@@ -11430,7 +11432,7 @@ payon,65,119,0 script Broom Grandma#rus44 1_F_ORIENT_04,{
mes "[Broom Grandma]";
mes "It is so good that even ghosts want only a Payon broom.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I want to buy a broom.";
next;
mes "[Broom Grandma]";
@@ -11477,7 +11479,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Errr, a human? What are you doing here? Do you want to play with me?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Return the broom.";
next;
mes "[Ghost Tree]";
@@ -11534,12 +11536,12 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
input .@input$;
if (.@input$ == "Curly Sue") {
++.@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
//.@rus_kafra01 = .@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
}
@@ -11549,12 +11551,12 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
input .@input$;
if (.@input$ == "Jasmine") {
++.@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
//.@rus_kafra01 = .@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
}
@@ -11564,12 +11566,12 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
input .@input$;
if (.@input$ == "Roxie") {
++.@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
//.@rus_kafra01 = .@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
}
@@ -11579,12 +11581,12 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
input .@input$;
if (.@input$ == "Pavianne") {
++.@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
//.@rus_kafra01 = .@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
}
@@ -11594,12 +11596,12 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
input .@input$;
if (.@input$ == "Blossom") {
++.@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
//.@rus_kafra01 = .@rus_kafra01;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
}
@@ -11612,7 +11614,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "Ah, you are wrong, wrong!";
mes "Do you really think that you can take the brooms back?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I was not thinking correctly! I will try it again!";
next;
mes "[Ghost Tree]";
@@ -11629,9 +11631,9 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "The second question. Listen carefully and answer!";
next;
mes "[Ghost Tree]";
- mes "One day, you, "+ strcharinfo(0) +", upgraded your 'Hat of the Sun God', your ancestral treasure.";
+ mes "One day, you, "+ strcharinfo(PC_NAME) +", upgraded your 'Hat of the Sun God', your ancestral treasure.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh? I didn't...";
next;
mes "[Ghost Tree]";
@@ -11658,18 +11660,18 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
next;
input .@input$;
if (.@input$ == "Antonio") {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
next;
} else {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +"!!";
next;
mes "[Ghost Tree]";
mes "You are wrong, wrong!";
mes "Look at this. In this way, it will take you a million years to take them back!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I was not thinking correctly!!!";
mes "Again, again!";
next;
@@ -11694,7 +11696,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Cast 3 times if you win once, I will give you what you want.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok! I will do it!";
next;
.@rustree_turn01 = 0;
@@ -11712,18 +11714,18 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "I've got ^0000ffNumber "+.@tree_dice01+"^000000.";
emotion .@emo[.@tree_dice01];
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok, it is my turn?";
next;
mes "-You cast a dice. The dice falls down, rotates and stops there-";
specialeffect2 EF_STUNATTACK;
next;
.@rus_dice01 = rand(1,6);
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Let's see...";
next;
emotion .@emo[.@rus_dice01],1;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
if (.@rus_dice01 == .@tree_dice01) {
mes "Let's see... Wow, I got it! I've got ^0000ffNumber "+.@rus_dice01+"^000000!";
emotion e_gasp;
@@ -11759,7 +11761,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Kuhuhu, nobody is worse than you. Remember that you have to win over me to get what you want";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I was not what I am! Let's do it again!";
next;
mes "[Ghost Tree]";
diff --git a/npc/quests/quests_nameless.txt b/npc/quests/quests_nameless.txt
index dc7a40bf3..1371c93bf 100644
--- a/npc/quests/quests_nameless.txt
+++ b/npc/quests/quests_nameless.txt
@@ -69,7 +69,7 @@ OnTouch:
if ((prt_curse == 36 || prt_curse == 45 || prt_curse == 56 || prt_curse == 61) && (aru_monas < 1)) {
hideoffnpc "Agent#pc1";
mes "[????]";
- mes "Are you "+strcharinfo(0)+"?";
+ mes "Are you "+strcharinfo(PC_NAME)+"?";
mes "I've been waiting for you.";
mes "^6B8E23Priest Bamph^000000 is expecting";
mes "your arrival at ^6B8E23Prontera";
@@ -420,13 +420,13 @@ OnTouch:
mes "Veins Stripe Stickleback.";
mes "Please enjoy your meal.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^ff0000Veins^000000, huh? I might want";
mes "to check that place one";
mes "of these days to see if";
mes "I can find more of this fish.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Whoa, this fish tastes...";
mes "I've never tasted anything";
mes "like it! It's almost like";
@@ -723,7 +723,7 @@ ve_in,239,115,0 script Drunkard#Aru 4_M_DESERT,{
aru_monas = 15;
changequest 17010,17011;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's right!";
mes "Maybe I should check";
mes "on ^32CD32Kurdi's father since";
@@ -753,7 +753,7 @@ ve_in,238,120,4 script Drunkard#Aru1 4_F_DESERT,{
mes "Hohohoho~";
mes "Oh~ Hohohoho~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She's kind of strange...";
close;
}
@@ -777,9 +777,9 @@ ve_fild07,125,128,0 script Boat#Aru HIDDEN_NPC,{
next;
mes "[Larjes]";
mes "Long time no see,";
- mes ""+strcharinfo(0)+".";
+ mes ""+strcharinfo(PC_NAME)+".";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Larjes!";
next;
mes "[Larjes]";
@@ -991,7 +991,7 @@ nameless_i,127,207,0 script Dead Crow#Aru HIDDEN_NPC,{
mes "are missing, revealing";
mes "scaly, snake-like skin.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "Did this grass...?";
next;
@@ -1000,7 +1000,7 @@ nameless_i,127,207,0 script Dead Crow#Aru HIDDEN_NPC,{
mes "poison used to kill the";
mes "Gaebolg family princes.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Looks like I just hit";
mes "the jackpot. Huh?";
mes "Someone behi--";
@@ -1045,7 +1045,7 @@ OnTouch:
mes "For a second there,";
mes "I thought I lost you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Larjes...? What...";
mes "What happened?";
mes "Ugh, my head...";
@@ -1058,7 +1058,7 @@ OnTouch:
mes "these strange creatures";
mes "were savagely attacking you!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "You saved me?";
mes "Thank you. Do you";
mes "happen to know what";
@@ -1077,7 +1077,7 @@ OnTouch:
mes "[Larjes]";
mes "?!?!?!!!!!";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "!!!!?!?!!!!!!";
mes "Isn't... Isn't that...?";
next;
@@ -1087,7 +1087,7 @@ OnTouch:
mes "you, but... I wonder why";
mes "he's not attacking us.";
next;
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "I guess you'll have to go";
mes "right up to him and ask.";
aru_monas = 19;
@@ -1163,7 +1163,7 @@ nameless_n,169,254,0 script Night#Aru2 FAKE_NPC,3,3,{
OnTouch:
if(aru_monas == 20) {
hideoffnpc "Larjes#Monastery2";
- mes "[" +strcharinfo(0)+ "]";
+ mes "[" +strcharinfo(PC_NAME)+ "]";
mes "What the hell...!?";
next;
mes "[Larjes]";
@@ -1175,7 +1175,7 @@ OnTouch:
mes "survive long in a place";
mes "like this. I'm going to wait";
mes "for you in the boat. Learn";
- mes "what you need to learn, and then come back safe, "+strcharinfo(0)+".";
+ mes "what you need to learn, and then come back safe, "+strcharinfo(PC_NAME)+".";
aru_monas = 21;
changequest 17013,17014;
close2;
@@ -1377,7 +1377,7 @@ abbey03,232,233,4 script Man#King 4_M_TRISTAN,{
mes "still barely alive.^000000";
next;
if (select("Touch Him", "Ignore Him") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This man...";
mes "He's so familiar";
mes "for some reason.";
@@ -1430,7 +1430,7 @@ abbey03,232,232,4 script Dead Man#King 4_M_TRISTAN,{
mes "examine him. In his jacket,";
mes "you find a shining medal...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This medal...";
mes "This means that";
mes "this man is...!";
@@ -1464,7 +1464,7 @@ nameless_n,145,162,0 script AideAmi#Aru HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
if (aru_monas == 26) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There is a low wall here against the other wall, if I climb it I could reach the resting place of Tristan III...";
next;
switch(select("Stay here", "Climb the wall")) {
@@ -1552,7 +1552,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "I'm afraid that I cannot give you information about them easily";
mes "as they mean a lot to us.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I was curious";
mes "about who they kidnapped.";
next;
@@ -1742,7 +1742,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "I thought I warned you";
mes "before to stay out of trouble.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm not here to discuss";
mes "that. But I happened to";
mes "hear that you're the only";
@@ -1761,7 +1761,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "someone else. Unlike him,";
mes "I actually want a war.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Weren't you guys friends?";
mes "Besides, you don't seem as";
mes "aggressive as those other";
@@ -1811,7 +1811,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "We were wrong all along...";
mes "This time, war is the answer.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Fine. If you're so sure";
mes "of yourself, then you won't";
mes "mind reading this letter";
@@ -1885,8 +1885,8 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "Adventurer...";
mes "What was your name?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "My name is "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "My name is "+strcharinfo(PC_NAME)+".";
next;
mes "[High Priestess Niren]";
mes "Adventurer...";
@@ -1896,7 +1896,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "^3311FFin private^000000. You'll definitely";
mes "need our help for that end.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Does this mean that";
mes "you've decided to work";
mes "with Zhed again?";
@@ -1927,7 +1927,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "ears on her. We need to get";
mes "those spies away somehow...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What can we do";
mes "about them, then?";
next;
@@ -1939,7 +1939,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "try to gather information";
mes "from the priests around her.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sure thing. You";
mes "can count on me!";
emotion e_no1,1;
@@ -1970,7 +1970,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "I haven't had the chance";
mes "to meet her recently, so...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, she doesn't seem";
mes "very well, just like the";
mes "last time I saw her. I didn't";
@@ -2005,9 +2005,9 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "You all need a vacation.";
next;
mes "[High Priestess Niren]";
- mes ""+strcharinfo(0)+".";
+ mes ""+strcharinfo(PC_NAME)+".";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes?";
next;
mes "[High Priestess Niren]";
@@ -2086,7 +2086,7 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "know if he wrote it or not.";
next;
mes "[High Priestess Niren]";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "I'm going to use this to";
mes "send the priests and followers";
mes "on vacation. Then me and Zhed";
@@ -2111,13 +2111,13 @@ ra_temple,165,57,5 script Niren#ss 4_F_MADAME,{
mes "Yes, ma'am!";
next;
mes "[High Priestess Niren]";
- mes ""+strcharinfo(0)+",";
+ mes ""+strcharinfo(PC_NAME)+",";
mes "please go back to Zhed,";
mes "and let him know everything";
mes "is ready. Then I want you to";
mes "meet us in the ^3131FFSky Garden^000000.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes!";
next;
mes "[High Priestess Niren]";
@@ -2347,9 +2347,9 @@ moc_ruins,77,167,4 script Foreign Merchant#aru1 4_M_MASKMAN,5,5,{
mes "There must be some";
mes "way I can repay you.";
mes "Ah, here we go. Take it.";
- mes "Isn't your name, "+ strcharinfo(0) +"?";
+ mes "Isn't your name, "+ strcharinfo(PC_NAME) +"?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What th--?";
mes "How did you know?";
next;
@@ -2358,7 +2358,7 @@ moc_ruins,77,167,4 script Foreign Merchant#aru1 4_M_MASKMAN,5,5,{
mes "You open the note, and";
mes "read its message.^000000";
next;
- mes "^666666"+ strcharinfo(0) +".";
+ mes "^666666"+ strcharinfo(PC_NAME) +".";
mes " ";
mes "The time for us to act";
mes "has come once again.";
@@ -2368,7 +2368,7 @@ moc_ruins,77,167,4 script Foreign Merchant#aru1 4_M_MASKMAN,5,5,{
mes " - Bekento^000000";
next;
emotion e_omg,1;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "So... This means...";
mes "You're not really a";
mes "merchant, are you?";
@@ -2378,13 +2378,13 @@ moc_ruins,77,167,4 script Foreign Merchant#aru1 4_M_MASKMAN,5,5,{
mes "looks at you with a";
mes "mischievous grin.^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "So you asked me to get";
mes "you a drink as an excuse";
mes "just to talk to you?!";
emotion e_sob,1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh well, thanks for";
mes "bringing me the note.";
mes "But I'm not buying you";
@@ -2482,7 +2482,7 @@ OnTouch:
moc_ruins,101,133,7 script Foreign Merchant#aru2 4_M_MIDDLE,{
if ((aru_em > 1) && (aru_em < 7)) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me, but I heard";
mes "that I could buy some";
mes "good drinks around here.";
@@ -2497,7 +2497,7 @@ moc_ruins,101,133,7 script Foreign Merchant#aru2 4_M_MIDDLE,{
mes "I brew at home, and share";
mes "with my friends after dinner.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Well, I ran into this";
mes "merchant that really wants";
mes "to have a taste of that wine.";
@@ -2508,7 +2508,7 @@ moc_ruins,101,133,7 script Foreign Merchant#aru2 4_M_MIDDLE,{
mes "Oh, I'm sorry, but I'm";
mes "all sold out for today.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh, no...";
emotion e_otl,1;
next;
@@ -2527,7 +2527,7 @@ moc_ruins,101,133,7 script Foreign Merchant#aru2 4_M_MIDDLE,{
mes "I'm flattered that your friend";
mes "is so interested in my wine.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Really? Thank you!";
mes "I'm sure that he's really";
mes "appreciate your generosity.";
@@ -2584,7 +2584,7 @@ ra_temin,103,151,7 script Female Follower#em 4_F_MASK,{
mes "comfort. Take a deep breath:";
mes "smell that relaxing aroma?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh, you're right, that";
mes "is a nice smell! So, is";
mes "Priestess Niren away";
@@ -2596,7 +2596,7 @@ ra_temin,103,151,7 script Female Follower#em 4_F_MASK,{
mes "that wish to meet her,";
mes "even early in the morning.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Do you know where";
mes "I could find her?";
next;
@@ -2608,7 +2608,7 @@ ra_temin,103,151,7 script Female Follower#em 4_F_MASK,{
mes "Garden. That garden is very";
mes "large, and quite beautiful.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The High Priestess";
mes "must be very busy.";
next;
@@ -2691,7 +2691,7 @@ ra_fild03,139,355,5 script Ishmael#em 4_F_CHILD,{
switch(select("Give Her Niren's File", "Leave Her Alone")) {
case 1:
if (countitem(File02) > 0) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You know High Priestess";
mes "Niren, right? This is from her.";
next;
@@ -2756,7 +2756,7 @@ ra_fild03,139,355,5 script Ishmael#em 4_F_CHILD,{
}
else if (aru_em == 18) {
if (countitem(Red_Jewel) > 0) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Would you be able to forge";
mes "a copy of High Priestess";
mes "Niren's file if you had";
@@ -3025,7 +3025,7 @@ OnTouch:
mes "Isn't this the adventurer?";
next;
mes "[Pope]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "I'm very glad to see you";
mes "again. Not only did you";
mes "share news of the outside";
@@ -3112,7 +3112,7 @@ OnTouch:
next;
cutin "ra_bishop",2;
mes "[Pope]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "I appreciate all your work";
mes "on behalf of Arunafeltz.";
mes "My influence may still be";
@@ -3428,7 +3428,7 @@ comodo,224,187,3 script Muff 4_M_04,{
close;
}
if (diamond_edq == 4) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is this wet, tattered";
mes "piece of paper the bond";
mes "of debt that you need?";
@@ -3441,7 +3441,7 @@ comodo,224,187,3 script Muff 4_M_04,{
mes "on it! I need... I need";
mes "to fix this somehow!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Do you have any ideas?";
mes "I mean, if we dried the";
mes "paper, the letters would";
@@ -3661,7 +3661,7 @@ alberta,127,143,3 script Belder 4_M_03,{
mes "Now that I think of it, I did";
mes "loan a Muff money once.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
next;
mes "[Belder]";
@@ -3704,18 +3704,18 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
next;
switch(select("Dig Up the Spot", "Cancel")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There must be something";
mes "in the ground. I better";
mes "dig it up and check...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ergh...! Ugh!";
mes "This would be a lot";
mes "easier with a shovel!";
mes "Only a little more to go...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hm? I hit something?";
mes "Let's--Yucky! It's so";
mes "wet and--Ugh! Nasty";
@@ -3726,7 +3726,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
diamond_edq = 2;
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Something isn't quite";
mes "kosher about all this.";
mes "Nope, this time, I'm";
@@ -3735,7 +3735,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
}
}
else if (diamond_edq == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Here we are... It's...";
mes "A soggy wallet? This";
mes "must be the one Muff";
@@ -3743,7 +3743,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
mes "of debt is inside... Mm...";
mes "Ugh, it's really soaked...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I've done all";
mes "I can for now. I should";
mes "bring this back to Muff.";
@@ -3752,13 +3752,13 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
close;
}
if (diamond_edq > 3) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This is the same spot";
mes "I dug up from before.";
mes "It's useless to me now!";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh. There's a weird";
mes "bump in the ground. Well,";
mes "I can't just go looking at";
@@ -3983,7 +3983,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
mes "Blah-blah--that's just";
mes "about it in a nutshell.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
next;
mes "[Dorian]";
@@ -4625,7 +4625,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "when the heater stops,";
mes "the slot reopens.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So this is the original";
mes "bond of debt that Muff";
mes "lost? It looks... Perfect!";
@@ -4672,7 +4672,7 @@ moc_ruins,152,147,5 script Ibrahim 4_M_JOB_HUNTER,3,3,{
}
if ((diamond_edq == 14) && (BaseLevel > 65)) {
mes "[Ibrahim]";
- mes "" + strcharinfo(0) + ", right?";
+ mes "" + strcharinfo(PC_NAME) + ", right?";
mes "Don't be too suprised.";
mes "I've heard of you here";
mes "and there. Heh heh~!";
@@ -4688,7 +4688,7 @@ moc_ruins,152,147,5 script Ibrahim 4_M_JOB_HUNTER,3,3,{
mes "Anyway, I was able to obtain";
mes "the Diamond of Destruction!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^666666Hmm... He might";
mes "be talking about that";
mes "jewel Muff gave to Belder";
@@ -5167,7 +5167,7 @@ OnTouch:
if ((diamond_edq == 14) && (BaseLevel > 65)) {
mes "[Ibrahim]";
mes "Psst, adventurer!";
- mes "You're " + strcharinfo(0) + ", right?";
+ mes "You're " + strcharinfo(PC_NAME) + ", right?";
mes "There's something";
mes "I'd like to discuss";
mes "with you in private!";
@@ -5286,7 +5286,7 @@ alberta,102,80,3 script Jhonnita 4_M_04,{
mes "this off your hands. Er,";
mes "would you be on your way?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? But why?";
next;
mes "[Jhonnita]";
@@ -5545,7 +5545,7 @@ geffen,128,153,3 script Leblo 4_M_ALCHE_D,{
mes "to properly apologize to";
mes "her the next time I see her.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "...............................";
mes "...............................";
@@ -5693,14 +5693,14 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
close;
}
if (diamond_edq == 18) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hello? I'm here to";
mes "see Doctor Wola.";
next;
mes "[Wola]";
mes "Oh... Ah... Um...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me, but do you";
mes "know where I can find her?";
next;
@@ -5709,7 +5709,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "Oh no! Wah!";
mes "See what you did?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I... I don't know";
mes "what you're talking";
mes "about. I'm just wanted";
@@ -5722,7 +5722,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "I was brewing! The pot";
mes "is all broken now...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? Oh, I'm...";
mes "I'm really sorry.";
next;
@@ -5732,7 +5732,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "my fault, really.";
mes "Waaah~! My pot!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm sorry, I don't know";
mes "what's going on exactly.";
mes "Was that pot expensive?";
@@ -5745,7 +5745,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "for any cuts! If they're";
mes "hurt, I can't help anyone!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That's, uh, that";
mes "sounds pretty serious.";
mes "So how are your hands?";
@@ -5759,7 +5759,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "medicine pot. You're partly";
mes "responsible, you know.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay. Just tell";
mes "me what I should do.";
mes "Hold on, I came here to";
@@ -5782,7 +5782,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "^0000FF10 Soft Blades of Grass^000000.";
mes "There's no time to waste!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You... You got it.";
changequest 3111,3112;
diamond_edq = 19;
@@ -5880,7 +5880,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "have it delivered to him";
mes "shortly. In a while, maybe?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um, you're not mad or";
mes "anything? I gathered that";
mes "you didn't like him much...";
@@ -5893,7 +5893,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "patients suffer longer and";
mes "more painful treatment...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^666666She hates him!";
mes "But I guess Leblo's life";
mes "should be okay in her hands.^000000)";
@@ -5919,7 +5919,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "^0000FF10 Soft Blades of Grass^000000.";
mes "There's no time to waste!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You... You got it.";
close;
}
@@ -5968,7 +5968,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "have it delivered to him";
mes "shortly. In a while, maybe?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um, you're not mad or";
mes "anything? I gathered that";
mes "you didn't like him much...";
@@ -5981,7 +5981,7 @@ payon_in03,167,149,3 script Wola 1_F_ORIENT_01,2,2,{
mes "patients suffer longer and";
mes "more painful treatment...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^666666She hates him!";
mes "But I guess Leblo's life";
mes "should be okay in her hands.^000000)";
@@ -6268,7 +6268,7 @@ cmd_in02,69,188,1 script Small Safe CLEAR_NPC,{
mes "safe hidden under the";
mes "shadows of these boxes.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Looks like the Z Gang";
mes "forgot to take this with";
mes "them in their rush to escape.";
@@ -6279,13 +6279,13 @@ cmd_in02,69,188,1 script Small Safe CLEAR_NPC,{
close;
}
if (diamond_edq == 24) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, the safe opened!";
mes "Those switches must have";
mes "done the trick. Now...";
mes "Let's look inside.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Awesome! It's a huge";
mes "red diamond! Is this";
mes "Ibrahim's Diamond";
@@ -6295,7 +6295,7 @@ cmd_in02,69,188,1 script Small Safe CLEAR_NPC,{
mes "[Investigator]";
mes "Zzz... Zzz...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lucky for me, this";
mes "guy is asleep. I better";
mes "sneak out of here, and";
@@ -6306,14 +6306,14 @@ cmd_in02,69,188,1 script Small Safe CLEAR_NPC,{
close;
}
if ((diamond_edq < 22) && (diamond_edq > 24)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something here";
mes "fixed to the ground, but now";
mes "it looks like something yanked";
mes "it out forcefully. How weird.";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What is this?";
mes "Oh well, I don't";
mes "think it's important.";
@@ -6326,7 +6326,7 @@ cmd_in02,69,196,0 script Odd Switch#Switch1 CLEAR_NPC,{
mes "switch on the ground";
mes "near the whiskey barrels.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Was this here before?";
mes "What happens if I press";
mes "this teeny little switch?";
@@ -6334,7 +6334,7 @@ cmd_in02,69,196,0 script Odd Switch#Switch1 CLEAR_NPC,{
hideoffnpc "Odd Switch#Switch2";
mes "^3355FF*Click Click*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That sound...!";
mes "Something happened,";
mes "but what could it be?";
@@ -6354,7 +6354,7 @@ cmd_in02,80,189,0 script Odd Switch#Switch2 CLEAR_NPC,{
mes "switch on the ground";
mes "under the boxes' shadows.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Was this here before?";
mes "What happens if I press";
mes "this teeny little switch?";
@@ -6363,7 +6363,7 @@ cmd_in02,80,189,0 script Odd Switch#Switch2 CLEAR_NPC,{
next;
changequest 3116,3117;
diamond_edq = 24;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That sound...!";
mes "Something happened,";
mes "but what could it be?";
@@ -6705,7 +6705,7 @@ prt_in,168,18,1 script Valdes 1_M_YOUNGKNIGHT,2,2,{
mes "Um, commiserate";
mes "about failing life too?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Are you Valdes?";
mes "I came to ask you";
mes "for your help...";
@@ -6777,7 +6777,7 @@ prt_in,168,18,1 script Valdes 1_M_YOUNGKNIGHT,2,2,{
mes "Just one tashte~";
mes "^666666*Gulp Gulp Gulp*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You just...";
mes "That was three bottles!";
next;
@@ -6787,7 +6787,7 @@ prt_in,168,18,1 script Valdes 1_M_YOUNGKNIGHT,2,2,{
mes "now I feel better";
mes "able to speak now~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^666666Whaaaat~?^000000)";
next;
mes "[Valdes]";
@@ -7155,7 +7155,7 @@ in_rogue,359,116,3 script Marybell 4_F_ROGUE,{
mes "in Payon, one of the best";
mes "decoders in this kingdom.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Gooho Ahn?";
mes "Why does it feel like";
mes "I should know that";
@@ -7453,7 +7453,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
mes "and you'll shake the coins.";
next;
while(1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "(^666666What should I guess?^000000)";
next;
.@amuro = rand(1,2);
@@ -7550,7 +7550,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
mes "onto someone more worthy...";
mes "You are the new White Meteor!";
next;
- mes "[" + strcharinfo(0) +"]";
+ mes "[" + strcharinfo(PC_NAME) +"]";
mes "Really? Uh, can I get";
mes "that in writing please?";
mes "It'd mean so much to me!";
@@ -7564,7 +7564,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
mes "^3355FF*Scribble Scribble*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What does this";
mes "scribble on my";
mes "wrist mean?";
@@ -7576,7 +7576,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
mes "me will recognize it";
mes "and its authenticity.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Thank you so much";
mes "for the fun game!";
mes "I better get going now,";
@@ -7687,7 +7687,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
mes "onto someone more worthy...";
mes "You are the new White Meteor!";
next;
- mes "[" + strcharinfo(0) +"]";
+ mes "[" + strcharinfo(PC_NAME) +"]";
mes "Really? Uh, can I get";
mes "that in writing please?";
mes "It'd mean so much to me!";
@@ -7701,7 +7701,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
mes "^3355FF*Scribble Scribble*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What does this";
mes "scribble on my";
mes "wrist mean?";
@@ -7713,7 +7713,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
mes "me will recognize it";
mes "and its authenticity.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Thank you so much";
mes "for the fun game!";
mes "I better get going now,";
@@ -7945,7 +7945,7 @@ payon,192,176,3 script Gooho Ahn 4_M_KHKYEL,{
mes "for one of the greatest";
mes "disasters of all time.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "So what's the letter say?";
next;
@@ -7959,7 +7959,7 @@ payon,192,176,3 script Gooho Ahn 4_M_KHKYEL,{
mes "^0000ffAynoen hwo sspotp uys^000000";
mes "^0000ffwlil eb kckide on htier ssa!^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What...?";
next;
mes "[Gooho Ahn] ";
@@ -8043,7 +8043,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
@@ -8055,7 +8055,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
$@zdan = 0;
stopnpctimer;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
@@ -8064,13 +8064,13 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
next;
mes "";
mes "";
- mes "^666666Kill " + strcharinfo(0) + ", meow.";
+ mes "^666666Kill " + strcharinfo(PC_NAME) + ", 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 "[" + strcharinfo(PC_NAME) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
@@ -8085,7 +8085,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "...............................";
mes "............................... ";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Something's not quite";
mes "right. I should come back";
mes "and investigate this area";
@@ -8094,7 +8094,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
close;
}
if ((zdan_edq == 10) && ($@zdan > 0)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nuts! I was supposed";
mes "to try to do this secretly!";
mes "I better try to investigate";
@@ -8108,7 +8108,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "[????]";
mes "Eeek...!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Haha! Got you!";
mes "You're an informer for";
mes "the Z Gang, aren't you?";
@@ -8119,7 +8119,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "talking about!";
mes "I'm innocent!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Then you're telling";
mes "me this note didn't";
mes "just fall out of your";
@@ -8130,7 +8130,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "Th-that's...";
mes "I'm not--That...!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You better confess, or";
mes "I'll drag you over to the";
mes "Prontera Knightage or the";
@@ -8145,7 +8145,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "got kids to feed!";
mes "I... I can't go to jail!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright.";
mes "Let's start by you";
mes "telling me where";
@@ -8158,7 +8158,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "food chain, I just follow";
mes "their written instructions.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You know what?";
mes "Never mind. I'm won't";
mes "take you to be jailed by";
@@ -8173,7 +8173,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "enter the place without the";
mes "secret password.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nice. Now, you better";
mes "stop running with the";
mes "Z Gang. Otherwise, I'm";
@@ -8184,7 +8184,7 @@ moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,2,2,{
mes "Anything you want!";
mes "J-just let me liiive!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I should head back to";
mes "Marybell, and see if she's";
mes "learned any new information.";
@@ -8240,7 +8240,7 @@ OnTouch:
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
@@ -8252,7 +8252,7 @@ OnTouch:
$@zdan = 0;
stopnpctimer;
next;
- mes "[" + strcharinfo(0) + "] ";
+ mes "[" + strcharinfo(PC_NAME) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
@@ -8261,13 +8261,13 @@ OnTouch:
next;
mes "";
mes "";
- mes "^666666Kill " + strcharinfo(0) + ", meow.";
+ mes "^666666Kill " + strcharinfo(PC_NAME) + ", 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 "[" + strcharinfo(PC_NAME) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
@@ -8290,7 +8290,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
@@ -8302,7 +8302,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
$@zdan = 0;
stopnpctimer;
next;
- mes "[" + strcharinfo(0) + "] ";
+ mes "[" + strcharinfo(PC_NAME) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
@@ -8311,13 +8311,13 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
next;
mes "";
mes "";
- mes "^666666Kill " + strcharinfo(0) + ", meow.";
+ mes "^666666Kill " + strcharinfo(PC_NAME) + ", 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 "[" + strcharinfo(PC_NAME) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
@@ -8332,7 +8332,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "[????]";
mes "Eeek...!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Haha! Got you!";
mes "You're an informer for";
mes "the Z Gang, aren't you?";
@@ -8343,7 +8343,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "talking about!";
mes "I'm innocent!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Then you're telling";
mes "me this note didn't";
mes "just fall out of your";
@@ -8354,7 +8354,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "Th-that's...";
mes "I'm not--That...!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You better confess, or";
mes "I'll drag you over to the";
mes "Prontera Knightage or the";
@@ -8369,7 +8369,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "got kids to feed!";
mes "I... I can't go to jail!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright.";
mes "Let's start by you";
mes "telling me where";
@@ -8382,7 +8382,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "food chain, I just follow";
mes "their written instructions.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You know what?";
mes "Never mind. I'm won't";
mes "take you to be jailed by";
@@ -8397,7 +8397,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "enter the place without the";
mes "secret password.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nice. Now, you better";
mes "stop running with the";
mes "Z Gang. Otherwise, I'm";
@@ -8408,7 +8408,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "Anything you want!";
mes "J-just let me liiive!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I should head back to";
mes "Marybell, and see if she's";
mes "learned any new information.";
@@ -8422,7 +8422,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
mes "[Suspicious Man]";
mes "... ...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Something's not quite";
mes "right. I should come back";
mes "and investigate this area";
@@ -8431,7 +8431,7 @@ moc_ruins,78,167,3 script Suspicious Man#2 4W_M_03,2,2,{
close;
}
if ((zdan_edq == 10) && ($@zdan > 0)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nuts! I was supposed";
mes "to try to do this secretly!";
mes "I better try to investigate";
@@ -8489,7 +8489,7 @@ OnTouch:
mes "Grrrr... DIE NOW!";
specialeffect EF_STEAL;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wh-who are you?";
next;
mes "[????]";
@@ -8501,7 +8501,7 @@ OnTouch:
$@zdan = 0;
stopnpctimer;
next;
- mes "[" + strcharinfo(0) + "] ";
+ mes "[" + strcharinfo(PC_NAME) + "] ";
mes "Huh? That man must";
mes "have dropped this";
mes "note in his haste";
@@ -8510,13 +8510,13 @@ OnTouch:
next;
mes "";
mes "";
- mes "^666666Kill " + strcharinfo(0) + ", meow.";
+ mes "^666666Kill " + strcharinfo(PC_NAME) + ", 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 "[" + strcharinfo(PC_NAME) + "]";
mes "That must have been";
mes "an informer for the Z Gang.";
mes "He can't have gotten too far:";
@@ -8535,7 +8535,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Etner sspawrod.^000000";
next;
emotion e_omg,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This slab is speaking";
mes "to me! I... I think. Now";
mes "where have I heard";
@@ -8546,7 +8546,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Etner sspawrod.^000000";
next;
emotion e_ic,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, right! This is that";
mes "trashy language, Aegye,";
mes "that Gooho Ahn told me";
@@ -8558,7 +8558,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "^FF0000*Creak Creak*";
mes "Etner sspawrod.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I guess";
mes "I should talk to it. Um...";
next;
@@ -8568,7 +8568,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "^FF0000*Creak Creak*";
mes "Etner n2d sspawrod.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Whoa! It's saying";
mes "something different now!";
mes "I must be doing alright.";
@@ -8580,7 +8580,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "^FF0000*Creak Creak*";
mes "Etner r3d sspawrod.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Heh! I'm on the right";
mes "track. Now what do I say?";
next;
@@ -8590,14 +8590,14 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "*Creak Creak*";
mes "*Creak Creak*";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um... Now what...?";
next;
if ($@door2 == 0) {
$@door2 = 1;
mes "Waaaah! Waaah!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What th--?! What's";
mes "happening?! I'm being";
mes "sucked away somewhere!";
@@ -8608,7 +8608,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
end;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hm? Did I do something";
mes "wrong? It just stopped";
mes "working all of a sudden.";
@@ -8619,7 +8619,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
next;
mes "^666666*Pzzzzz*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I think...";
mes "I think I should";
mes "try this again.";
@@ -8630,7 +8630,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "[Odd Slab]";
mes "^666666*Pzzzzz*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? This talking slab";
mes "thing isn't working now.";
mes "Hello? What happened to you?";
@@ -8643,7 +8643,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "[Odd Slab]";
mes "^666666*Pzzzzz*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? This talking slab";
mes "thing isn't working now.";
mes "Hello? What happened to you?";
@@ -8656,7 +8656,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "[Odd Slab]";
mes "^666666*Pzzzzz*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh? This talking slab";
mes "thing isn't working now.";
mes "Hello? What happened to you?";
@@ -8669,7 +8669,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "[Odd Slab]";
mes "*Creak Creak*";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This slab looks pretty";
mes "strange. Is it making";
mes "noises? Hmm... Maybe this";
@@ -8679,7 +8679,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
close;
}
if (zdan_edq > 17) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This used to be";
mes "where the Z Gang";
mes "would hide out.";
@@ -8687,7 +8687,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This is a peculiar";
mes "looking slab. It sounds";
mes "like... What are those";
@@ -8707,7 +8707,7 @@ OnTouch:
if (zdan_edq == 15) {
mes "^FF0000*Creak Creak*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did I just...";
mes "Hear something";
mes "around here?";
@@ -8732,7 +8732,7 @@ OnTouch:
hideoffnpc "Catfoii";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "Something has gone";
mes "terribly wrong, hasn't";
@@ -8761,7 +8761,7 @@ OnTouch:
hideoffnpc "Catfoii";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "Something has gone";
mes "terribly wrong, hasn't";
@@ -8872,7 +8872,7 @@ OnReset:
OnMyMobDead:
if (mobcount("z_agit","#ZGuard::OnMyMobDead") < 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You cowardly Z Gang!";
mes "Come out and surrender!";
mes "I've defeated your monster";
@@ -8948,7 +8948,7 @@ z_agit,97,101,3 script Louis 4_M_RACHMAN1,{
mes "Argh! I should never";
mes "have trusted that fool!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So... Z Gang...";
mes "And cat. It's time";
mes "to turn you in.";
@@ -8960,7 +8960,7 @@ z_agit,97,101,3 script Louis 4_M_RACHMAN1,{
mes "Come forth, my demon";
mes "spawn minions of doom!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't think";
mes "they're coming.";
next;
@@ -8970,7 +8970,7 @@ z_agit,97,101,3 script Louis 4_M_RACHMAN1,{
mes "we were so close to";
mes "conquering the world!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now if you'll just";
mes "hand over the Book";
mes "of Forbidden Mystery...";
@@ -8984,7 +8984,7 @@ z_agit,97,101,3 script Louis 4_M_RACHMAN1,{
mes "Louis. It looks like";
mes "the Z Gang is finished.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anyway, the Rogue Guild";
mes "is on its way to come get";
mes "you guys. You won't be able";
@@ -9021,7 +9021,7 @@ z_agit,97,101,3 script Louis 4_M_RACHMAN1,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "Something has gone";
mes "terribly wrong, hasn't";
@@ -9071,7 +9071,7 @@ z_agit,99,101,3 script Martha 4W_F_01,{
mes "Argh! I should never";
mes "have trusted that fool!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So... Z Gang...";
mes "And cat. It's time";
mes "to turn you in.";
@@ -9083,7 +9083,7 @@ z_agit,99,101,3 script Martha 4W_F_01,{
mes "Come forth, my demon";
mes "spawn minions of doom!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't think";
mes "they're coming.";
next;
@@ -9093,7 +9093,7 @@ z_agit,99,101,3 script Martha 4W_F_01,{
mes "we were so close to";
mes "conquering the world!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now if you'll just";
mes "hand over the Book";
mes "of Forbidden Mystery...";
@@ -9107,7 +9107,7 @@ z_agit,99,101,3 script Martha 4W_F_01,{
mes "Louis. It looks like";
mes "the Z Gang is finished.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anyway, the Rogue Guild";
mes "is on its way to come get";
mes "you guys. You won't be able";
@@ -9145,7 +9145,7 @@ z_agit,99,101,3 script Martha 4W_F_01,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "Something has gone";
mes "terribly wrong, hasn't";
@@ -9191,7 +9191,7 @@ z_agit,95,101,3 script Catfoii 4_CAT,{
mes "Argh! I should never";
mes "have trusted that fool!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So... Z Gang...";
mes "And cat. It's time";
mes "to turn you in.";
@@ -9203,7 +9203,7 @@ z_agit,95,101,3 script Catfoii 4_CAT,{
mes "Come forth, my demon";
mes "spawn minions of doom!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't think";
mes "they're coming.";
next;
@@ -9213,7 +9213,7 @@ z_agit,95,101,3 script Catfoii 4_CAT,{
mes "we were so close to";
mes "conquering the world!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now if you'll just";
mes "hand over the Book";
mes "of Forbidden Mystery...";
@@ -9227,7 +9227,7 @@ z_agit,95,101,3 script Catfoii 4_CAT,{
mes "Louis. It looks like";
mes "the Z Gang is finished.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Anyway, the Rogue Guild";
mes "is on its way to come get";
mes "you guys. You won't be able";
@@ -9265,7 +9265,7 @@ z_agit,95,101,3 script Catfoii 4_CAT,{
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I...?";
mes "Something has gone";
mes "terribly wrong, hasn't";
@@ -9294,7 +9294,7 @@ morocc,143,63,3 script Ragged Man#nd 4_M_MIDDLE,{
next;
switch(select("How may I help you?", "Ignore Him")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay, what can I do to help?";
next;
mes "[Ragged Man]";
@@ -9546,7 +9546,7 @@ morocc,102,298,3 script Man#zgang 4W_M_02,{
mes "been wondering when you'd";
mes "show up. Prepare to die!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umm... Excuse me?";
mes "I've just heard that you";
mes "confirmed the location of";
@@ -9561,7 +9561,7 @@ morocc,102,298,3 script Man#zgang 4W_M_02,{
mes "the treasure? Not just";
mes "everyone knows about it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I was talking to";
mes "this other treasure hunter";
mes "who's... Well, he's kind";
@@ -9763,7 +9763,7 @@ morocc,102,298,3 script Man#zgang 4W_M_02,{
mes "looking for the treasure?";
next;
select("I already found it, but...");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I already found it, but...";
mes "It won't budge at all!";
mes "I think it's protected by";
@@ -9856,7 +9856,7 @@ morocc,102,298,3 script Man#zgang 4W_M_02,{
}
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, how could you not";
mes "know how to use this?";
mes "Didn't you get a chance";
@@ -9933,7 +9933,7 @@ comodo,339,224,3 script Man in Hiding#nd 4_M_SITDOWN,{
mes "Whoa, don't get so close!";
next;
select("Why are you hiding here?");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why are you hiding here?";
mes "Didn't the Z Gang hire you";
mes "to dig up some treasure?";
@@ -9946,7 +9946,7 @@ comodo,339,224,3 script Man in Hiding#nd 4_M_SITDOWN,{
mes "truth. Did you actually";
mes "meet the Z Gang?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I not only met the Z Gang,";
mes "I also captured them. I've";
mes "come looking for you to";
@@ -10004,7 +10004,7 @@ comodo,339,224,3 script Man in Hiding#nd 4_M_SITDOWN,{
mes "Whoa, don't get so close!";
next;
select("Ask About Treasure");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I've come looking";
mes "for information";
mes "about the treasure.";
@@ -10017,7 +10017,7 @@ comodo,339,224,3 script Man in Hiding#nd 4_M_SITDOWN,{
mes "I'm not going down";
mes "without a fight!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What? No, it's not like";
mes "that. I met this treasure";
mes "hunter in Morroc that said";
@@ -10137,7 +10137,7 @@ moc_fild18,108,116,0 script #treasure CLEAR_NPC,{
mes "here, buried just";
mes "beneath the ground.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Unngh! I-it won't...!";
next;
mes "^3355FFNo matter how hard";
@@ -10174,7 +10174,7 @@ moc_fild18,108,116,0 script #treasure CLEAR_NPC,{
mes "protection to get the treasure.^000000";
next;
input .@input$;
- getpartymember(getcharid(1));
+ getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
if (.@partymembercount > 1) {
if (((.@input$ == "OpenSesame") && (treasure_nd == 9)) || ((.@input$ == "UnlockTreasure") && (treasure_nd == 10))) {
@@ -10199,7 +10199,7 @@ moc_fild18,108,116,0 script #treasure CLEAR_NPC,{
getitem Two_Hand_Sword,1;
sc_start SC_CURSE,10000,0,10000;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "N-no! What's going on?";
mes "This Emerald... It must";
mes "be cursed by evil magic!";
@@ -10270,7 +10270,7 @@ comodo,139,184,3 script Scholar#zgang 2_M_SAGE_B,{
mes "I help you today?";
next;
select("Ask About Cursed Jewel");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I came to ask you";
mes "about a Cursed Jewel.";
next;
@@ -10570,7 +10570,7 @@ alberta_in,70,109,5 script Shaman 4_M_UMOLDMAN,{
mes "Hhhkkk... Arrrgh...!";
emotion e_omg;
next;
- mes "[" + strcharinfo(0) +"]";
+ mes "[" + strcharinfo(PC_NAME) +"]";
mes ".....?";
next;
mes "[Shaman]";
@@ -10692,7 +10692,7 @@ alberta_in,70,109,5 script Shaman 4_M_UMOLDMAN,{
mes "the Unlucky Emerald?";
next;
select("The archaeologist said...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The archaeologist said...";
mes "Well, he said that there";
mes "is no curse on the jewel.";
@@ -11477,7 +11477,7 @@ gef_fild08,182,185,0 script The Wanderer 8_DOPPEL,{
mes "stabbing, and... And slashing.";
next;
select("You slashed everything...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You slashed everything...";
mes "Even the comrades you";
mes "were supposed to protect.";
@@ -11559,7 +11559,7 @@ gef_fild08,182,185,0 script The Wanderer 8_DOPPEL,{
mes "stabbing, and... And slashing.";
next;
select("You slashed everything...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You slashed everything...";
mes "Even the comrades you";
mes "were supposed to protect.";
@@ -11596,7 +11596,7 @@ gef_fild08,182,185,0 script The Wanderer 8_DOPPEL,{
mes "stabbing, and... And slashing.";
next;
select("You slashed everything...");
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You slashed everything...";
mes "Even the comrades you";
mes "were supposed to protect.";
@@ -11651,7 +11651,7 @@ gef_fild08,182,182,0 script #CallGhost FAKE_NPC,2,2,{
OnTouch:
if (jewel_nd == 21) {
if (countitem(Unlucky_Emerald) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This must be the place";
mes "that shaman was talking";
mes "about. Let's see now...";
@@ -11659,7 +11659,7 @@ OnTouch:
close;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This must be the place";
mes "that shaman was talking";
mes "about. Let's see now...";
@@ -12457,7 +12457,7 @@ payon,209,44,5 script Rogue Guild Agent#nd2 4_M_ROGUE,{
mes "[Agent]";
mes "What? You want somethin'?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "?????????????????";
next;
mes "[Agent]";
@@ -12527,7 +12527,7 @@ payon,209,44,5 script Rogue Guild Agent#nd2 4_M_ROGUE,{
mes "this note to me?";
rumour_nd = 7;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see,";
mes "the note says...";
next;
@@ -12564,7 +12564,7 @@ payon,209,44,5 script Rogue Guild Agent#nd2 4_M_ROGUE,{
mes "not run away! Now...";
mes "What's it say?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see,";
mes "the note says...";
next;
@@ -12756,7 +12756,7 @@ payon,209,44,5 script Rogue Guild Agent#nd2 4_M_ROGUE,{
mes "Yeah. Karvodailnirol.";
mes "What about it?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You need Detrimindexta";
mes "to make a Counteragent,";
mes "not Karvodailnirol.";
diff --git a/npc/quests/quests_niflheim.txt b/npc/quests/quests_niflheim.txt
index ae32f7df7..37beaed06 100644
--- a/npc/quests/quests_niflheim.txt
+++ b/npc/quests/quests_niflheim.txt
@@ -56,7 +56,7 @@ niflheim,224,243,3 script Alreg#nif 4_M_NFDEADMAN,{
if (nif_esc == 0 && (MISC_QUEST & 32) == 0) {
percentheal -60,0;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "NooOOoOOoOoO~!";
next;
mes "[Alreg]";
@@ -71,7 +71,7 @@ niflheim,224,243,3 script Alreg#nif 4_M_NFDEADMAN,{
}
percentheal -30,0;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ow~! What are you";
mes "trying to do, kill me?!";
next;
diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt
index 02030dcc3..03b119456 100644
--- a/npc/quests/quests_prontera.txt
+++ b/npc/quests/quests_prontera.txt
@@ -186,7 +186,7 @@ prt_in,38,108,4 script Teacher 1_M_INNKEEPER,{
delitem Hinalle,1;
delitem Aloe,1;
delitem Ment,1;
- getitem 5012,1; //Ph.D_Hat
+ getitem(Ph_D_Hat, 1);
mes "[Teacher]";
mes "I really really appreciate you what you've done for me. I'm truly grateful. I will give my precious item to you as promised.";
next;
@@ -268,7 +268,7 @@ prontera,248,212,3 script Busy Boy#prt 4_M_KID1,3,3,{
mes "I can't get scared now!";
next;
if (select("Speak with him", "Ignore him") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Say, what seems";
mes "to be the problem?";
next;
@@ -334,7 +334,7 @@ prontera,248,212,3 script Busy Boy#prt 4_M_KID1,3,3,{
mes "It took me so long to";
mes "stack all of those!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh no, what a mess!";
mes "Here, let me help you";
mes "arrange these nicely";
@@ -455,7 +455,7 @@ OnTouch:
mes "careful?! Geeeeez!";
emotion e_ag;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oops, I'm so sorry.";
mes "Are you alright?";
next;
@@ -657,7 +657,7 @@ yuno,311,195,3 script Historian#prt01 4_M_SAGE_A,{
mes "Great, you're here!";
mes "So, where are the books?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I...";
mes "I don't have";
mes "them right now.";
@@ -1077,7 +1077,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "and begin to sing the song";
mes "that you heard from Karlomoff.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
input .@line$;
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
@@ -1177,7 +1177,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "and figured out the lyrics of";
mes "that song I was looking for?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^FF0000*The great serpent*^000000";
mes "^FF0000*swallowed the sea.*^000000";
mes "^FF0000*The eagle of the rainbow*^000000";
@@ -1191,7 +1191,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "I remember, thank you";
mes "so much! Ah, back to work...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333(As a historian, Rodafrian";
mes "might be able to help me in";
mes "investigating the curse of the";
@@ -1240,7 +1240,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "for now. Then, when I reveal the secret curse of the Gaebolg royal";
mes "family, I'll finally outshine that Karlomoff! Bwahahahahaha!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333(Drat, she didn't give me";
mes "any help... All I did was";
mes "reveal a huge secret to her";
@@ -1335,9 +1335,9 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
S_GiveName:
next;
- select("My name is "+strcharinfo(0)+".");
+ select("My name is "+strcharinfo(PC_NAME)+".");
mes "[Historian Rodafrian]";
- mes "Ah "+strcharinfo(0)+", eh?";
+ mes "Ah "+strcharinfo(PC_NAME)+", eh?";
mes "Do you mind if I ask you a favor? I really need to verify the true";
mes "lyrics for this song. However,";
mes "I need to stay here in Morroc";
@@ -1382,7 +1382,7 @@ mjolnir_01,135,168,3 script Historian#prt03 4_M_SAGE_A,{
mes "please leave? I have";
mes "research to attend to...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm sorry, but Ms. Rodafrian";
mes "wanted me to ask you for the";
mes "lyrics of some song describing";
@@ -1419,7 +1419,7 @@ mjolnir_01,135,168,3 script Historian#prt03 4_M_SAGE_A,{
mes "Did you have a question";
mes "to ask me about the song?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I heard";
mes "a different version";
mes "of this song, so I was";
@@ -1513,7 +1513,7 @@ mjolnir_01,135,168,3 script Historian#prt03 4_M_SAGE_A,{
S_Song:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
input .@line$;
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
@@ -1541,7 +1541,7 @@ S_Song:
if (.@total == 4) prt_curse = 10;
else {
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, wait...";
mes "I think I messed up!";
mes "(Those weren't the";
@@ -1878,7 +1878,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "What brings you all the";
mes "way over here, I wonder?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I'm just";
mes "trying to learn the";
mes "real lyrics of that";
@@ -1934,7 +1934,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "warmest regards. I would do it";
mes "myself, but because of what I did, I can't return to Prontera...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333(Alright then. I guess";
mes "I should deliver these";
mes "herbs to Prontera Church";
@@ -1960,7 +1960,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "that pouch of herbs that";
mes "I gave you to Father Bamph?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I did. Actually,";
mes "Father Bamph sent me";
mes "here to ask you a few";
@@ -1975,7 +1975,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "Those poor children";
mes "are dead because of me...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "N-no! Not at all!";
mes "I just wanted to ask if there";
mes "was a connection between";
@@ -2018,7 +2018,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "from the Prontera Church";
mes "after my failure...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A fragment from";
mes "a Red Gemstone?";
mes "Maybe... maybe it's";
@@ -2033,7 +2033,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "exorcism was sabotaged,";
mes "we can't turn back time...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333(Hmm...";
mes "I better head back";
mes "to Prontera Church";
@@ -2085,7 +2085,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 4_F_CAPEGIRL,{
mes "wounds on the bodies";
mes "from what I remember...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, um, I wouldn't know";
mes "anything about that, but";
mes "Father Bamph and Father";
@@ -2183,7 +2183,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
next;
select("Give him the herb pouch.");
if (countitem(Leather_Pouch) < 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ack!";
mes "Now, where did I put";
mes "that pouch with the herbs?";
@@ -2194,7 +2194,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "Why are you giving";
mes "me this pouch of herbs?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, there was this";
mes "lady living on Mount";
mes "Mjolnir who wanted me";
@@ -2208,7 +2208,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "I've seen her. How is";
mes "she doing, may I ask?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh...";
mes "I guess she's fine.";
mes "But she seems really...";
@@ -2312,7 +2312,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "the royal family's secret.";
emotion e_omg,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What...?!";
mes "Is this really true?!";
mes "Isn't there any way to";
@@ -2339,7 +2339,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "to remove this curse. In the end, ^3131FFBonnie Imbullea^000000 was chosen to";
mes "lead the exorcism ceremony.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, but you mentioned";
mes "samething about an accident.";
mes "Does that mean that she failed";
@@ -2361,7 +2361,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "That is why she is in self";
mes "imposed exile from the kingdom.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What...?";
mes "That's...";
mes "That's crazy!";
@@ -2387,7 +2387,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "were growing snake scales.";
emotion e_gasp,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, they grew snake";
mes "scales? That sounds just";
mes "like one of the versions of";
@@ -2410,14 +2410,14 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "Then the eagle built its nest.";
mes "A nest upon the swallowed sea.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "Well, I heard a";
mes "different version";
mes "of the same song.";
mes "It goes like...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The great serpent";
mes "swallowed the sea.";
mes "The eagle of the rainbow";
@@ -2431,7 +2431,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "my father. However, your version seems to reveal the secret curse";
mes "of the Gaebolgs. Please tell me, where did you hear that song?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I first heard this";
mes "version from a historian,";
mes "and then I found out that";
@@ -2723,7 +2723,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
}
else if (prt_curse == 60) {
mes "[Father Bamph]";
- mes "Oh, "+strcharinfo(0)+"~";
+ mes "Oh, "+strcharinfo(PC_NAME)+"~";
mes "Long time, no see.";
mes "Have you spoken to";
mes "Bonnie yet? Ah, and";
@@ -2771,7 +2771,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "of the royal family, I ask that";
mes "you refrain from entering the";
mes "secret ceremonial grounds";
- mes "from now on. Thanks again for your help, "+strcharinfo(0)+".";
+ mes "from now on. Thanks again for your help, "+strcharinfo(PC_NAME)+".";
prt_curse = 61;
completequest 18052;
close;
@@ -3084,7 +3084,7 @@ prt_church,16,114,4 script Father Bamph#tomb 1_M_PASTOR,{
close;
}
else if (prt_curse == 20) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That weird mark looked";
mes "just like snake scales.";
mes "Is... Is that the mark left";
@@ -3212,7 +3212,7 @@ prt_church,21,111,5 script #prince2 4_M_LIEMAN,{
mes "different in color, than the";
mes "marks on the first prince.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Father Bamph...!";
mes "Look, these marks are";
mes "different on the second";
@@ -3374,7 +3374,7 @@ moc_fild16,201,295,5 script Assassin Guildsman#poiso 4_M_ACROSS,{
mes "brings you here?";
next;
if (select("Poison", "Nothing") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I need to talk to";
mes "a poison specialist.";
mes "I'm investigating";
@@ -3429,7 +3429,7 @@ que_job01,10,16,5 script Marjana#poison 4_F_ACROSS,{
mes "you 4 minutes to speak";
mes "with me, so be direct.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I want to learn";
mes "more about poison";
mes "and confirm if it was";
@@ -3442,7 +3442,7 @@ que_job01,10,16,5 script Marjana#poison 4_F_ACROSS,{
mes "I doubt you'll find anyone";
mes "else that would. Ask away.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is it true that an";
mes "Assassin's poison";
mes "can be so powerful,";
@@ -3457,7 +3457,7 @@ que_job01,10,16,5 script Marjana#poison 4_F_ACROSS,{
mes "normal Assassins use poisons";
mes "that are much less potent.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright. Can you make";
mes "a poison that leaves a";
mes "specific mark on the body?";
@@ -3485,7 +3485,7 @@ que_job01,10,16,5 script Marjana#poison 4_F_ACROSS,{
mes "of clue. What was the mark";
mes "on the victim's body?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We're not sure if";
mes "poison was used yet,";
mes "but there are marks that";
@@ -3538,33 +3538,33 @@ OnEnable:
morocc,45,103,0 script #prtcurse FAKE_NPC,2,2,{
OnTouch:
if (prt_curse == 25) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hm. I'd better review";
mes "the facts I've learned so";
mes "that I can better focus on";
mes "this investigation. Let's see~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Long ago, the giant serpent";
mes "Jormungand threatened mankind.";
mes "7 warriors defeated Jormungand, led by Tristram III of the Gaebolg";
mes "family, but Jormungand cursed the Gaebolg bloodline in its defeat.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ever since, the curse kills";
mes "the first born prince of the";
mes "Gaebolg family at an early age.";
mes "However, all of the princes of";
mes "this generation were killed.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "According to what I've";
mes "learned from that assassin,";
mes "the first prince died from the";
mes "curse, and the other two may";
mes "have died from poisoning.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's most likely that if";
mes "poison was used, then the";
mes "person who used it was an";
@@ -3572,14 +3572,14 @@ OnTouch:
mes "Rune-Midgarts Kingdom. Yes,";
mes "that's about everything I know.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Now, that historian Rodafrian";
mes "has been waiting for me to tell";
mes "her the lyrics of that song, but Father Bamph is also waiting";
mes "for the info I've learned from the Assassin Guild. What should I do?";
next;
if (select("Go to Rodafrian", "Go to Father Bamph") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, it's easier for me";
mes "to visit Rodafrian now.";
mes "She's much closer than";
@@ -3589,7 +3589,7 @@ OnTouch:
changequest 18041,18042;
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, it's more important";
mes "that I go see Father Bamph";
mes "and investigate the princes'";
diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt
index 1fb7f95eb..f2282106e 100644
--- a/npc/quests/quests_rachel.txt
+++ b/npc/quests/quests_rachel.txt
@@ -146,7 +146,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "look on your face? Did";
mes "you happen to find Logan?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No! I actually got";
mes "stabbed by Mogan, and";
mes "then we had a talk. What's";
@@ -161,7 +161,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "of all, Phobe is my son, but";
mes "please don't tell anybody!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What?";
mes "Why, what's";
mes "the big deal?";
@@ -245,14 +245,14 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "to save Arunafeltz and Rachel";
mes "when the time comes.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The gem is really that";
mes "important, huh? Well, you";
mes "almost had me killed, but";
mes "since I'm still alive, I guess";
mes "I can overlook it, you know?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You won't get in trouble";
mes "if I can find the jewel and";
mes "Phobe before Sir Zhed";
@@ -265,7 +265,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "Even after what I've put";
mes "you through? ^333333*Sniff*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eh, I went through all";
mes "this trouble already, so";
mes "I might as well finish the";
@@ -285,14 +285,14 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "to save Arunafeltz and Rachel";
mes "when the time comes.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The gem is really that";
mes "important, huh? Well, you";
mes "almost had me killed, but";
mes "since I'm still alive, I guess";
mes "I can overlook it, you know?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You won't get in trouble";
mes "if I can find the jewel and";
mes "Phobe before Sir Zhed";
@@ -305,7 +305,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "Even after what I've put";
mes "you through? ^333333*Sniff*^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eh, I went through all";
mes "this trouble already, so";
mes "I might as well finish the";
@@ -321,7 +321,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "find Phobe?! H-how";
mes "is he? Is he alright?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? Oh yeah, he's";
mes "just fine. I found Phobe";
mes "loitering around Freya's";
@@ -329,7 +329,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "to come home yet, but he did";
mes "give me the gem he stole.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So... I earned my";
mes "reward now, right?";
mes "And no one has to die?";
@@ -340,7 +340,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "what you've done for me.";
mes "Oh, my boy is alright!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "H-hey! Um, take";
mes "this jewel! You need";
mes "to return it to wherever";
@@ -354,7 +354,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "boy is okay? She's been";
mes "very worried about him, so...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You want me to tell";
mes "Jenny about Phobe?";
mes "Sure, sure, I'll do that.";
@@ -370,14 +370,14 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
mes "boy is okay? She's been";
mes "very worried about him, so...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You want me to tell";
mes "Jenny about Phobe?";
mes "Sure, sure, I'll do that.";
close;
}
else if (lost_boy == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I told Jenny that";
mes "about Phobe, and that";
mes "the gem was returned...";
@@ -459,7 +459,7 @@ rachel,114,232,3 script Logan#ra_in01 4_M_LGTMAN,{
close;
}
else if (lost_boy == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but do";
mes "you know man named";
mes "Phobe by any chance?";
@@ -471,7 +471,7 @@ rachel,114,232,3 script Logan#ra_in01 4_M_LGTMAN,{
mes "you are? Why are";
mes "you looking for him?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I've just been";
mes "hired to look for him,";
mes "and I was told that asking";
@@ -485,7 +485,7 @@ rachel,114,232,3 script Logan#ra_in01 4_M_LGTMAN,{
mes "the market a few days ago.";
mes "I hope the kid is alright.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Er, kid? Just";
mes "how old is Phobe?";
next;
@@ -540,7 +540,7 @@ ra_in01,372,200,3 script Manson#ra_in01 4_M_MIDDLE,{
close;
}
else if (lost_boy == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but do you";
mes "know a man named Phobe?";
mes "He's gone missing, so I've";
@@ -636,7 +636,7 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
close;
}
else if (lost_boy == 3) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but are";
mes "you Jenny? I've been";
mes "told by Manson to speak";
@@ -649,7 +649,7 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "news! Y-yes, I'm Jenny.";
mes "What did you need to know?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Er, anything you could";
mes "tell me would be fine.";
mes "Things like his favorite";
@@ -679,7 +679,7 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "Maybe they have some idea";
mes "of where he was going?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... That's a good idea.";
mes "Alright, I guess I can go";
mes "to the market and ask around.";
@@ -695,7 +695,7 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "can! I can't help but worry";
mes "about that boy, you know?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'll do my best";
mes "First, I guess I should ask";
mes "around the market where";
@@ -717,14 +717,14 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "Did you find Phobe?";
next;
if (lost_boy == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually... Uh...";
mes "I have something very";
mes "important to discuss";
mes "with Vincent first.";
}
else if (lost_boy == 8) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually... Uh...";
mes "Not just yet. But I'm";
mes "following a really good";
@@ -732,7 +732,7 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "find him soon, I promise.";
}
else if (lost_boy == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually... Uh...";
mes "I should report to";
mes "Vincent first and return";
@@ -741,14 +741,14 @@ rachel,48,237,3 script Jenny#ra_in01 4_F_KHELLISIA,{
mes "I promise. Se eyou later~";
}
else if (lost_boy == 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, he's fine, just";
mes "hanging around the south";
mes "side of town. He's safe,";
mes "but he's not willing to";
mes "come home just right now.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The jewel's been returned,";
mes "so everything should be fine";
mes "now. Also, Vincent explained";
@@ -809,7 +809,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
close;
}
else if (lost_boy == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me?";
mes "Hello? Sir?";
next;
@@ -820,7 +820,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
mes "to buy? I got all sorts of";
mes "handy little knickknacks~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry, not interested.";
mes "I just wanted to ask if";
mes "you've seen a boy around";
@@ -836,7 +836,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
mes "few days. Though, you might";
mes "want to ask the other merchants.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Cool. Thanks a lot.";
next;
mes "[Idle Merchant]";
@@ -846,7 +846,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
mes "sure that you don't want";
mes "to take a look around?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Er, what exactly do";
mes "you sell here? I can't";
mes "recognize any of these";
@@ -865,7 +865,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
mes "worlds? Yeah? Yeah? Here,";
mes "why don't you try a sample?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the?!";
mes "No way in hell am";
mes "I putting that in my";
@@ -878,7 +878,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
mes "Made completely out";
mes "of Grade A Sirloin Steak!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No no no! I've got to";
mes "go and ask those other";
mes "merchants about that";
@@ -888,7 +888,7 @@ rachel,138,73,5 script Idle Merchant#ra_in01 4_M_03,{
close;
}
else if (lost_boy >= 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333I better ask the other";
mes "merchants around here if";
mes "they've seen that boy. I'm";
@@ -910,7 +910,7 @@ rachel,120,47,3 script Idle Merchant#ra_in01_2 4_M_03,{
close;
}
else if (lost_boy == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me,";
mes "um... Hello?";
next;
@@ -918,7 +918,7 @@ rachel,120,47,3 script Idle Merchant#ra_in01_2 4_M_03,{
mes "Oh! Welcome to my shop!";
mes "How can I help you today?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I'm not";
mes "here to buy anything...";
mes "I'm looking for a boy";
@@ -934,7 +934,7 @@ rachel,120,47,3 script Idle Merchant#ra_in01_2 4_M_03,{
mes "a message. Basically, he wants";
mes "you to come to the ''ice cave.''";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who asked you to tell";
mes "me that? How did he know";
mes "that I'd come over here?";
@@ -968,7 +968,7 @@ rachel,120,47,3 script Idle Merchant#ra_in01_2 4_M_03,{
mes "a message. Basically, he wants";
mes "you to come to the ''ice cave.''";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who asked you to tell";
mes "me that? How did he know";
mes "that I'd come over here?";
@@ -1004,7 +1004,7 @@ ra_fild01,245,325,3 script Suspicious Man#ra_in01 4_M_RASWORD,{
close;
}
if (lost_boy == 6) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but do you";
mes "know a man named";
mes "Rogan? I'm here to--";
@@ -1034,7 +1034,7 @@ ra_fild01,245,325,3 script Suspicious Man#ra_in01 4_M_RASWORD,{
mes "than when you're taken by";
mes "surprise, adventurer!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, who the hell are";
mes "you?! Are you Rogan?";
mes "Are you the one that";
@@ -1063,7 +1063,7 @@ ra_fild01,245,325,3 script Suspicious Man#ra_in01 4_M_RASWORD,{
mes "valuable, like some";
mes "red jewel or something?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? No! Vincent actually";
mes "sent me to look for the guy";
mes "that stole that jewel, and";
@@ -1077,7 +1077,7 @@ ra_fild01,245,325,3 script Suspicious Man#ra_in01 4_M_RASWORD,{
mes "have done it. Why would";
mes "he manipulate us like that?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't know...";
mes "I'm going to talk";
mes "to Vincent and make";
@@ -1095,7 +1095,7 @@ ra_fild01,245,325,3 script Suspicious Man#ra_in01 4_M_RASWORD,{
mes "have done it. Why would";
mes "he manipulate us like that?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't know...";
mes "I'm going to talk";
mes "to Vincent and make";
@@ -1117,7 +1117,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "has the jewel that Vincent";
mes "wants you to retrieve.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, you.";
mes "You must be";
mes "Phobe, right?";
@@ -1126,7 +1126,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "Yeah?";
mes "So what?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your father sent";
mes "me here to find you.";
next;
@@ -1135,7 +1135,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "I have no father!";
mes "H-he's dead to me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, in any case, I need";
mes "to return the jewel that";
mes "you're hiding in your pocket.";
@@ -1149,7 +1149,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "by me! That's exactly";
mes "why I took this thing!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, yeah? How do you";
mes "think Ms. Jenny will";
mes "feel? Do you think";
@@ -1177,7 +1177,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "But let my mom know that";
mes "I'm fine and not to worry.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright, I'll tell your mom";
mes "But you should be getting";
mes "back to them soon. Your";
@@ -1213,7 +1213,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
close;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know, you should";
mes "quit making trouble and";
mes "listen to your parents.";
@@ -1223,7 +1223,7 @@ rachel,263,32,3 script Kid#ra_in01 4_M_RACHMAN1,{
mes "of me! Mind your own";
mes "business! Jeez louise!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can't mind my own";
mes "business if your actions";
mes "are causing this much trouble";
@@ -1293,7 +1293,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "He was a wealthy kid...";
mes "Didn't really deserve it.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1305,7 +1305,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "my side. But the boy's blood";
mes "wouldn't wash off my hands...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1318,7 +1318,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "I had to leave Lighthalzen.";
rach_vice = 21;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1330,7 +1330,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "truth. When she heard it from";
mes "my own lips, she went mad...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1342,7 +1342,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "Spring. She's gone from my";
mes "life. Just like that. Forever.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1354,7 +1354,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "indirectly killing the woman";
mes "I love. Why God?! Why?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1365,7 +1365,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "Doesn't that make me and";
mes "you feel so much better?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "......";
mes ".........";
next;
@@ -1391,7 +1391,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "Why do you keep hounding";
mes "me with these questions?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did... Did something";
mes "happen when Bruspetti";
mes "confronted you at Freya's";
@@ -1403,7 +1403,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "I... I don't have";
mes "to tell you anything!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "How can you say that?!";
mes "I just read in Bruspetti's";
mes "diary that she learned";
@@ -1420,7 +1420,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "I used to live, you d-don't--!";
rach_vice = 21;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "Mr. Katinshuell?";
close;
@@ -1432,7 +1432,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "Why do you keep hounding";
mes "me with these questions?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did... Did something";
mes "happen when Bruspetti";
mes "confronted you at Freya's";
@@ -1446,14 +1446,14 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
rach_vice = 20;
changequest 8120,8121;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^333333He's still resisting";
mes "me... How can I get";
mes "him to reveal the truth?^000000)";
close;
}
else if (rach_vice == 18) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see...";
mes "Oh this entry looks";
mes "interesting. It's all";
@@ -1504,7 +1504,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "time I write in this diary...";
mes "Well, here's hoping.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, that was";
mes "the very last page...";
mes "What happened when";
@@ -1525,7 +1525,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "Get away from me, and take";
mes "Bruspetti's diary with you!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What?! No way, not after";
mes "that little outburst about";
mes "killing or not killing Bruspetti!";
@@ -1544,20 +1544,20 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "wrong! Go ahead,";
mes "ask me anything!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright then, why";
mes "don't you explain this?";
next;
switch(select("Mr. Shendar's House", "Lighthalzen", "Freya's Spring", "Bruspetti")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Mr. Shendar, Bruspetti's";
mes "father, says that someone";
mes "has been sneaking into his";
mes "house for some reason.";
mes "Now, why would you do that?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You recognized";
mes "Bruspetti's diary";
mes "pretty quickly...";
@@ -1571,7 +1571,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "you're talking about!";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You know, I found out";
mes "that Bruspetti was planning";
mes "on going to Lighthalzen.";
@@ -1583,7 +1583,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "No...!";
mes "She couldn't have...!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright. It's no use";
mes "pretending that you don't";
mes "know her. You were her";
@@ -1600,7 +1600,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
next;
switch(select("Mr. Shendar's House", "Freya's Spring", "Recent Break-up")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So while she was away";
mes "in Lighthalzen, you snuck";
mes "in Mr. Shendar's house and--";
@@ -1612,14 +1612,14 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "she went all the way over to";
mes "Lighthalzen! Ha ha! Ha ha!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "(^333333Nuts! I think that";
mes "backfired, so I'm going";
mes "to have to try this again.)^000000";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So while she was away";
mes "in Lighthalzen, you went";
mes "to Freya's Spring, all";
@@ -1630,14 +1630,14 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes ".........";
mes "Um? ...Yes.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "(^333333Nuts! I think that";
mes "backfired, so I'm going";
mes "to have to try this again.)^000000";
close;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait a second! Your break-up";
mes "and Bruspetti's sudden need";
mes "to investigate something in";
@@ -1649,11 +1649,11 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes ".........";
mes "No! It's not true!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
next;
switch(select("Mr. Shendar's house", "Freya's Spring")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So while she was away";
mes "in Lighthalzen, you snuck";
mes "in Mr. Shendar's house and--";
@@ -1665,14 +1665,14 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "she went all the way over to";
mes "Lighthalzen! Ha ha! Ha ha!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...............................";
mes "(^333333Nuts! I think that";
mes "backfired, so I'm going";
mes "to have to try this again.)^000000";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm... Why are you";
mes "always hanging out at";
mes "Freya's Spring alone?";
@@ -1684,7 +1684,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "What is your evidence to convict me with the crime?";
mes "I don't wish to hear you any longer.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Even after you killed Bruspetti,";
mes "you became worried about another possibility.";
mes "So you were plotting to get rid of the possibility, too.";
@@ -1700,7 +1700,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
}
}
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Freya's Spring.";
mes "Why are you always";
mes "hanging around there";
@@ -1711,13 +1711,13 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "It's because I really";
mes "miss my ex-girlfriend.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh. Right.";
mes "That's a pretty";
mes "good reason.";
close;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "If Bruspetti is not";
mes "your girlfriend, then...";
mes "Who is?! Answer that!";
@@ -1730,7 +1730,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "about Bruspetti, that's all.";
mes "Now will you leave me alone?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^333333Nuts! He wasn't supposed";
mes "to cave in like that! I need";
mes "to question him again until";
@@ -1747,7 +1747,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "anyone. I'm still coping with";
mes "breaking up with my girlfriend.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Katinshuell... I get the";
mes "feeling that you're hiding";
mes "something. By any chance,";
@@ -1761,7 +1761,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "a girl like her is too good";
mes "for some guy like me?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't have any real";
mes "reason to suspect you of";
mes "anything, but my gut feeling";
@@ -1774,7 +1774,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "That's Bruspetti's diary!";
mes "I-I've been looking for-- um...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey! How would you";
mes "know about that?!";
mes "Tell me the truth!";
@@ -1970,7 +1970,7 @@ ra_in01,250,19,3 script Mr. Shendar 4_M_MIDDLE,{
mes "good idea of who was";
mes "sneaking around my house?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I suspect this guy";
mes "named Katinshuell because";
mes "he might have been Bruspetti's";
@@ -1994,14 +1994,14 @@ ra_in01,250,19,3 script Mr. Shendar 4_M_MIDDLE,{
mes "sneaking into my house";
mes "to prey on my daughter?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wha--?";
mes "No, I'm just a--";
next;
percentheal -50,0;
mes "^3355FF*BAM!*^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ow! What did";
mes "you do that for?";
next;
@@ -2021,7 +2021,7 @@ ra_in01,250,19,3 script Mr. Shendar 4_M_MIDDLE,{
mes "house. I don't know who he,";
mes "but I'm sure it's not you...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, wait...";
mes "So someone has been";
mes "sneaking around here?";
@@ -2029,7 +2029,7 @@ ra_in01,250,19,3 script Mr. Shendar 4_M_MIDDLE,{
mes "guy, the one that might";
mes "be Bruspetti's boyfriend...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Right, his name was";
mes "Katinshuell. That guy's";
mes "been acting really funny.";
@@ -2483,14 +2483,14 @@ rachel,266,35,3 script Grandma#rachel 4_F_RACHOLD,{
lhz_in02,213,207,0 script #ratrace1 HIDDEN_NPC,4,4,{
OnTouch:
if (rach_vice == 5) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This...";
mes "This smell...";
mes "It smells so nice!";
mes "Like rose petals riding";
mes "on a gentle breeze...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, could this be";
mes "the scent that Bruspetti's";
mes "father mentioned earlier?";
@@ -2504,7 +2504,7 @@ OnTouch:
rachel,265,47,0 script #raevent1 HIDDEN_NPC,2,2,{
OnTouch:
if (rach_vice == 23) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Just looking at this";
mes "spring makes me think";
mes "of Bruspetti. What really";
@@ -2512,7 +2512,7 @@ OnTouch:
mes "the feeling that she";
mes "caved in to despair.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "The water's not that";
mes "cold, or very deep...";
mes "And Katinshuell mentioned";
@@ -2520,7 +2520,7 @@ OnTouch:
mes "But she was still looking";
mes "at him. It's haunting...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I suppose she was torn...";
mes "She loved him, but couldn't";
mes "bear to live with his secret.";
@@ -2528,7 +2528,7 @@ OnTouch:
mes "tragic. Katinshuell isn't";
mes "really a bad person...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "He was forced to";
mes "commit a heinous crime,";
mes "and kept making mistakes,";
@@ -2547,7 +2547,7 @@ OnTouch:
else if (BaseLevel > 75) getexp 850000,0;
else getexp 450000,0;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Somehow, I wish that";
mes "Katinshuell had the";
mes "strength to face his";
@@ -2556,7 +2556,7 @@ OnTouch:
close;
}
else if (rach_vice == 22) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This must be where";
mes "Bruspetti drowned...";
next;
@@ -2568,7 +2568,7 @@ OnTouch:
mes "What if you fall into the";
mes "spring? It's dangerous.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh... Er, thank you.";
mes "Yes, I wouldn't want";
mes "to get myself drowned.";
@@ -2582,12 +2582,12 @@ OnTouch:
mes "Even if you can't swim, you";
mes "can climb out, you know.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...What?";
close;
}
else if (rach_vice == 8) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That old woman told";
mes "be to be careful not to";
mes "slip and fall into the water";
@@ -2602,7 +2602,7 @@ OnTouch:
mes "too close to the water.";
mes "What if you slip and fall?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh?";
next;
mes "[Grandma]";
@@ -2611,7 +2611,7 @@ OnTouch:
mes "ground that you're standing";
mes "on is very slippery, you know.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, I see.";
rach_vice = 8;
changequest 8111,8112;
@@ -2698,7 +2698,7 @@ rachel,157,183,3 script Sincere Follower Urstia 4_F_MASK1,{
mes "Now she rests and recovers";
mes "in a pure and sacred place.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "How do you";
mes "know that all of";
@@ -2719,7 +2719,7 @@ rachel,157,183,3 script Sincere Follower Urstia 4_F_MASK1,{
mes "admit that my son Egapeo";
mes "is... is guilty of sin.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sin? What did he";
mes "do, if you don't";
mes "mind me asking?";
@@ -2732,7 +2732,7 @@ rachel,157,183,3 script Sincere Follower Urstia 4_F_MASK1,{
mes "Although he may deserve it,";
mes "I'm doing my best to help him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Wait. What?!";
next;
mes "[Urstialla]";
@@ -2845,7 +2845,7 @@ rachel,157,183,3 script Sincere Follower Urstia 4_F_MASK1,{
ice_necklace_q = 6;
completequest 2113;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, let's just say it was";
mes "a worthwhile experience";
mes "for me.";
@@ -2858,7 +2858,7 @@ rachel,157,183,3 script Sincere Follower Urstia 4_F_MASK1,{
mes "that horrible joke.";
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, no! The necklace has disappeared!";
}
}
@@ -2894,7 +2894,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "ice! I need to get";
mes "out of here!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How did you get";
mes "stuck in there?";
next;
@@ -2914,11 +2914,11 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "ice with all your might.^000000";
}
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes "........";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can't...";
mes "I can't even scratch it";
mes "Do you have any ideas?";
@@ -2930,7 +2930,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "of our age, Maheo, stuck";
mes "in this pillar of ice.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "You're Maheo?";
next;
@@ -2953,7 +2953,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "To remind myself of";
mes "the value of humility.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So how did you get";
mes "stuck in all of this ice?";
next;
@@ -2965,7 +2965,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "myself, and the devastating";
mes "force of my own magic.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Huh?";
next;
mes "[Maheo]";
@@ -2984,7 +2984,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "would feel protected, and";
mes "I'd be recognized as a hero!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay... I suppose";
mes "that sounds normal";
mes "enough. Go on.";
@@ -3014,7 +3014,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "clothes to catch on fire!";
next;
emotion e_flash,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You...";
mes "you set fire";
mes "to your clothes";
@@ -3038,7 +3038,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "What noble pursuit brings";
mes "you to this place, adventurer?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I heard that you can";
mes "polish the gems on this";
mes "necklace with your magic,";
@@ -3058,7 +3058,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "magic will be able";
mes "to melt all of this.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then how are we";
mes "supposed to get";
mes "you out of there?";
@@ -3097,7 +3097,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
next;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, shoot! I left the necklace in the city! I will be right back!";
next;
mes "[Maheo]";
@@ -3116,7 +3116,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "be reading near Freya's Spring.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, he made this";
mes "magic hammer which is";
mes "supposed to be able to";
@@ -3169,7 +3169,7 @@ ice_dun02,120,105,3 script Man Stuck in Ice#cave 4_M_FROZEN1,5,5,{
mes "use my magic to clean";
mes "that necklace of yours.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Here...";
next;
mes "[Maheo]";
@@ -3262,7 +3262,7 @@ rachel,265,98,3 script Hamion#aru 4_M_RACHMAN2,{
mes "important, then I'd like to";
mes "get back to reading my book.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, would you know";
mes "a mage by the name";
mes "of Maheo? I'm supposed";
@@ -3904,7 +3904,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
else {
cutin "ra_nemma03",2;
mes "[Priestess Nemma]";
- mes "Oh, you're " + strcharinfo(0) + "!";
+ mes "Oh, you're " + strcharinfo(PC_NAME) + "!";
mes "Welcome back! I remember";
mes "that you donated just a little";
mes "while ago. So what brings you";
@@ -4030,7 +4030,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
else if (ra_tem_q == 10) {
cutin "ra_nemma04",2;
mes "[Priestess Nemma]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "The gate just opened and";
mes "I was able to get inside";
mes "the temple! ^333333*Whew*^000000 I was";
@@ -4057,7 +4057,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
emotion e_ho;
cutin "ra_nemma03",2;
mes "[Priestess Nemma]";
- mes "Hey, "+strcharinfo(0)+"~!";
+ mes "Hey, "+strcharinfo(PC_NAME)+"~!";
mes "We reached our target!";
mes "Isn't that great? We're no";
mes "longer asking for donations,";
@@ -4162,7 +4162,7 @@ L_End:
S_Donate:
cutin "ra_nemma01",2;
mes "[Priestess Nemma]";
- mes "So, " + strcharinfo(0) + "...";
+ mes "So, " + strcharinfo(PC_NAME) + "...";
mes "I just want to make sure:";
mes "You want to donate "+getarg(1);
mes "zeny, and receive "+getarg(0)+" Lottery";
@@ -4685,10 +4685,10 @@ OnTouch:
mes "I have come to this";
mes "place to build.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Th-that's Priestess";
mes "Panno's voice! But isn't";
mes "she just outside the door?";
@@ -4831,7 +4831,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
next;
select("Tell him your name.");
mes "[High Priest Zhed]";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "Yes, that's a fine name.";
mes "It suits you well. I'll be sure";
mes "to remember that. Again, let";
@@ -4842,7 +4842,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "I shall be praying for";
mes "Freya to guide and protect";
mes "you in your travels. Peace";
- mes "be with you, "+strcharinfo(0)+".";
+ mes "be with you, "+strcharinfo(PC_NAME)+".";
close2;
cutin "",255;
lost_boy = 13;
@@ -4853,7 +4853,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
}
else if ((lost_boy == 13) && (ra_tem_q < 14)) {
mes "[High Priest Zhed]";
- mes "Ah, "+strcharinfo(0)+"...";
+ mes "Ah, "+strcharinfo(PC_NAME)+"...";
mes "I appreciate that you've";
mes "managed to retrieve my";
mes "belongings for me. You are";
@@ -5290,7 +5290,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "hasn't it? You look well,";
mes "and I'm doing fine as you";
mes "can see. What can I do";
- mes "for you today, "+strcharinfo(0)+"?";
+ mes "for you today, "+strcharinfo(PC_NAME)+"?";
next;
switch(select("I just wanted to say hi.", "Ask About Veins Incident")) {
case 1:
@@ -5364,7 +5364,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "peace like yourself are fairly";
mes "uncommon. I hope you know that.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "Please don't flatter";
mes "me like that! Saying";
@@ -5381,7 +5381,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "may I help you, my friend?";
next;
select("Mysterious Building in the Volcano");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, I was wondering";
mes "if you knew of anything about";
mes "this facility inside Thor";
@@ -5435,7 +5435,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "and machines of mass destruction";
mes "hidden over there in the camp.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, what exactly do";
mes "they hope to accomplish";
mes "by fighting? How do they";
@@ -5458,7 +5458,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "Heart, resulting in an";
mes "imitation of that artifact.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "An imitation of Ymir's";
mes "Heart? I think I know of";
mes "a famous scientist from the";
@@ -5466,7 +5466,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "was working on that! Let's";
mes "see, his name was...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Isn't the scientist's name...";
input .@input$;
mes "^3131FF"+.@input$+"^000000?";
@@ -5546,7 +5546,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "in Thor Volcano. However,";
mes "I don't know any more details.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This doesn't look good.";
mes "I mean, if they're gearing";
mes "up to take the Ymir Heart";
@@ -5570,7 +5570,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "Thor Volcano for the sake of";
mes "protecting international peace.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I really want to know";
mes "more about what they're";
mes "planning to do, but that";
@@ -5653,7 +5653,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "intend to wage war against any";
mes "nation with a Ymir's Heart piece.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who is in charge of that";
mes "camp at Thor's Volcano?";
next;
@@ -5681,7 +5681,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
else if (aru_vol == 5) {
cutin "ra_gman",2;
if (countitem(File01) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Would you please";
mes "take a look at this";
mes "file, High Priest Zhed?";
@@ -5760,7 +5760,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
changequest 2115,2116;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "Where did I put";
mes "that File Folder?";
@@ -5800,7 +5800,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "to help you sneak into";
mes "the Thor Volcano camp?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "More than that. We've";
mes "convinced the camp that the";
mes "volcano is going to explode,";
@@ -5850,7 +5850,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
}
else if (aru_em == 8){
cutin "ra_gman",2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Welcome, adventurer.";
mes "I'm glad to see that you're";
mes "here. I think... I think an";
@@ -5867,7 +5867,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "other priests... I can't help";
mes "but think I'm in the wrong.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't lose heart,";
mes "High Priest Zhed.";
mes "I... I believe in you!";
@@ -5908,7 +5908,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "Priests ruin our nation.";
next;
emotion e_omg,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Y-you're not thinking";
mes "of overthrowing the";
mes "pope are you? I-isn't";
@@ -5962,7 +5962,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "in Arunafeltz?";
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"?";
next;
mes "[High Priest Zhed]";
@@ -6035,7 +6035,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "mind that might help us.";
next;
emotion e_flash,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That sounds good.";
mes "Who is he?";
next;
@@ -6048,7 +6048,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "to be excommunicated...";
next;
emotion e_no1,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Come on, it wouldn't";
mes "hurt to try! Besides,";
mes "Niren isn't a bad person.";
@@ -6065,7 +6065,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "she joined the hard-liners...";
next;
mes "[High Priest Zhed]";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
mes "Would you please talk to";
mes "her, and just see how she's";
mes "doing? It might not be a good";
@@ -6171,7 +6171,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "Ah, I've been";
mes "waiting for you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "High Priest Zhed,";
mes "everything's ready!";
mes "High Priest Niren managed";
@@ -6367,7 +6367,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "there if you have special";
mes "authorization.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
next;
@@ -6376,7 +6376,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes ".........";
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...?";
next;
cutin "ra_fano02",2;
@@ -6448,7 +6448,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "there if you have special";
mes "authorization.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
next;
@@ -6457,7 +6457,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes ".........";
mes "......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...?";
next;
cutin "ra_fano02",2;
@@ -6488,7 +6488,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "what you mean.";
next;
select("Explain");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that Priestess Nemma";
mes "has been worried about the";
mes "gate being broken, though";
@@ -6503,7 +6503,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "do a lot of that, and cry";
mes "for my help. Am I right?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's weird";
mes "...She said that the gate";
mes "should automatically fix";
@@ -6511,7 +6511,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "doing it lately. She was";
mes "acting really funny..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "She was talking about";
mes "the temple's history and";
mes "how the security system was";
@@ -6526,7 +6526,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
}
}
else if (ra_tem_q == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I remember now...!";
mes "I was there when the gate";
mes "closed, and I heard someone";
@@ -6755,7 +6755,7 @@ ra_temin,134,128,3 script Pope's Office Guard#rac::raofficeguard 4_M_MASK1,{
mes "here. Thanks for bringing";
mes "those to me, and I'll let you";
mes "enter and see the pope";
- mes "Welcome, brave "+strcharinfo(0)+".";
+ mes "Welcome, brave "+strcharinfo(PC_NAME)+".";
close2;
ra_tem_q = 16;
delitem Ice_Heart,40;
@@ -6883,7 +6883,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "are usually a little shocked";
mes "the first time they see me.";
mes "So... Um... Where do you";
- mes "come from, "+strcharinfo(0)+"?";
+ mes "come from, "+strcharinfo(PC_NAME)+"?";
next;
input @input$;
mes "[Pope]";
@@ -6951,7 +6951,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "Oh, before I forget,";
mes "I needed to tell you that";
mes "High Priest Zhed wanted";
- mes "to talk to you, "+strcharinfo(0)+".";
+ mes "to talk to you, "+strcharinfo(PC_NAME)+".";
next;
mes "[Pope]";
mes "I really want to thank";
@@ -6989,7 +6989,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "strange to me. Well, it's";
mes "good to hear it from you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333I can't just leave";
mes "now. I should try to see";
mes "if I can learn anything";
@@ -7215,7 +7215,7 @@ OnTouch:
mes "to know Bekento, er, I mean,";
mes "High Priest Zhed?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^666666Bekento?^000000)";
next;
select("Explain how You Met High Priest Zhed");
@@ -7445,13 +7445,13 @@ rachel,142,167,5 script Seeking Follower#rachel 4_F_MASK1,6,6,{
L_Mes:
mes "[Arunafeltz Follower]";
mes "Excuse me, but";
- mes "are you "+strcharinfo(0)+"?";
+ mes "are you "+strcharinfo(PC_NAME)+"?";
next;
select("Yes.");
mes "[Arunafeltz Follower]";
mes "High Priest Zhed";
mes "would like to see";
- mes "you right away, "+strcharinfo(0)+".";
+ mes "you right away, "+strcharinfo(PC_NAME)+".";
next;
select("May ask why?");
mes "[Arunafeltz Follower]";
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt
index 596c40b98..6fc89a0cf 100644
--- a/npc/quests/quests_umbala.txt
+++ b/npc/quests/quests_umbala.txt
@@ -529,12 +529,12 @@ um_in,44,71,2 script Utan Shaman 4_F_UMOLDWOMAN,{
.@success = 993; //Yellow_Live
break;
case 2:
- .@consume = 946; //Snail's_Shell
+ .@consume = 946; //Snails_Shell
.@amount = 20;
.@success = 991; //Crystal_Blue
break;
case 3:
- .@consume = 904; //Scorpion's_Tail
+ .@consume = 904; //Scorpions_Tail
.@amount = 20;
.@success = 990; //Boody_Red
break;
@@ -1322,11 +1322,11 @@ OnTouch:
}
um_wind = 0;
MISC_QUEST |= 32768;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am not supposed to take";
mes "what may belong to other people.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yeah, I'm a such good person.";
close2;
disablenpc "#unpc";
diff --git a/npc/quests/quests_veins.txt b/npc/quests/quests_veins.txt
index 92512a662..c6c95bc17 100644
--- a/npc/quests/quests_veins.txt
+++ b/npc/quests/quests_veins.txt
@@ -443,7 +443,7 @@ ve_in,169,310,6 script Strange Old Man#ve 2_M_MOLGENSTEIN,{
mes "is a Tactile Extendable";
mes "Clamp-Release Mechanism!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tack... What...?";
next;
mes "[Absar]";
@@ -1408,7 +1408,7 @@ ra_in01,58,389,0 script Guant Prisoner#sch 4_M_MIDDLE,{
mes "You couldn't outyell her";
mes "even with a Megaphone.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What...?!";
next;
select("Where I can find that Megaphone?");
@@ -2672,7 +2672,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "^3355FFThis sobbing child";
mes "looks really upset...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, why are you";
mes "crying? Are you lost?";
mes "Where's your mommy?";
@@ -2681,11 +2681,11 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "My... Mom's";
mes "at home...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
mes ".........";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I see. So...";
mes "Are you having";
mes "trouble finding";
@@ -2697,10 +2697,10 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "even with my eyes closed!";
mes "^333333*Sniff sniff*^000000 Uuuuuuweeeh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Can you tell me";
mes "why you're crying?";
next;
@@ -2710,7 +2710,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "Volcan.... w-w-with";
mes "my sist-- Waaaaaaah!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Poor kid... Come on,";
mes "take a deep breath so";
mes "you can tell me about what";
@@ -2749,7 +2749,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "that I can pay you as soon";
mes "as my dad comes back!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait... I have a question.";
mes "You said that someone took";
mes "away your sister at Thor";
@@ -2763,14 +2763,14 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "ran away! I... I didn't";
mes "mean to leave my sister!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmmm...";
mes "Maybe your sister was";
mes "kidnapped by bandits...";
next;
switch(select("Decline Request", "Accept Request")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry kid, but I've got";
mes "things to do. I'm sure";
mes "someone else will come";
@@ -2780,7 +2780,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "Wah~";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay, I'll see what";
mes "I can do. I'll try my best";
mes "to find your sister.";
@@ -2793,7 +2793,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "^333333*Sob*^000000 I don't know what";
mes "I'll do! Waaaaaaaah~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright...";
mes "Wish me luck.";
mes "I'll go search Thor";
@@ -2805,7 +2805,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
}
}
else if (rachel_camel == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better search";
mes "Thor Volcano for Curdie,";
mes "Karyn's little sister.";
@@ -2818,7 +2818,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "Is she alright?";
mes "What happened?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I found her,";
mes "she's alright but...";
next;
@@ -2826,7 +2826,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "What? Why isn't";
mes "she with you?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Curdie is... Well, she's";
mes "been shackled down. We";
mes "need to find a way to free her.";
@@ -2860,7 +2860,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm... I'd better talk";
mes "to Ms. Ivory, the organic";
mes "soap maker if I want to help";
@@ -2868,13 +2868,13 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 6) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait... I should be";
mes "bringing Ms. Ivory all";
mes "of the soap ingredients.";
mes "What were they again...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF10 Milk^000000,";
mes "^4D4DFF100 Green Herbs^000000,";
mes "^4D4DFF50 Jellopies^000000, and";
@@ -2883,14 +2883,14 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I need to talk to";
mes "someone named Saraman";
mes "to get the soap ingredients...";
close;
}
else if (rachel_camel == 8) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "I need to bring";
mes "Mr. Saruman all the";
@@ -2898,7 +2898,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "stimulate a camel's ";
mes "appetite. I need to get...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF1 Unripe Apple^000000,";
mes "^4D4DFF5 Monster's Feed^000000,";
mes "^4D4DFF1 Empty Bottle^000000, and";
@@ -2906,7 +2906,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have everything I need";
mes "to stimulate a camel's";
mes "appetite. Now I need to";
@@ -2916,7 +2916,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Right now, my time";
mes "would be better spent";
mes "looking for the Silk Sand";
@@ -2924,7 +2924,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better find Mr. Saraman's";
mes "lost camel, feed it camel";
mes "appetite stimulants, and";
@@ -2934,7 +2934,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel > 11 && rachel_camel < 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... I found the";
mes "camel. Now I need to get";
mes "all the soap ingredients.";
@@ -2943,7 +2943,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I managed to get the soap";
mes "ingredient and 5 of those";
mes "camel dung lumps. I should";
@@ -2953,35 +2953,35 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 18) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "Shouldn't I be going";
mes "to see Ms. Ivory now?";
close;
}
else if (rachel_camel == 19) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have the Silk Sand Camel";
mes "Soap now, so I should go";
mes "bring it to Mr. Lockenlock.";
close;
}
else if (rachel_camel == 20) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better use the soap to";
mes "make a key mold that I can";
mes "bring over to Mr. Lockenlock.";
close;
}
else if (rachel_camel == 21) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Making the key is more";
mes "important that telling Karyn";
mes "about what's happened.";
close;
}
else if (rachel_camel == 22) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I need to bring";
mes "1 Steel to Mr. Lockenlock";
mes "so that he can make a key";
@@ -2989,7 +2989,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 23) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I finally got the";
mes "key that I can use";
mes "to free Curdie. I'm";
@@ -3002,7 +3002,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
close;
}
else if (rachel_camel == 24) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, Karyn! I sent";
mes "your sister back to town";
mes "with a Butterfly Wing.";
@@ -3029,7 +3029,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "Thank you for everything";
mes "that you did for us!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Umm... I see...";
mes "I'll come by later";
mes "when Curdie's released";
@@ -3040,7 +3040,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "I promise to help you";
mes "whenever you need me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hahahaha!";
mes "Well... I guess that's";
mes "pretty reassuring. Until then,";
@@ -3050,7 +3050,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "[Kid Karyn]";
mes "Got it!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Good, good...";
mes "It's a promise, then.";
mes "I'll see you later~";
@@ -3084,14 +3084,14 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "Ah, and I've been taking care";
mes "of her, just like I promised~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Really? That's good";
mes "You should be proud~";
next;
mes "[Kid Karyn]";
mes "^666666*Blush*^000000 Heh heh!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anyway, I was wondering";
mes "if you could help me.";
mes "Your dad's a fisherman,";
@@ -3120,7 +3120,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "him you want to use it. Let's";
mes "keep it our secret, okay?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "S-sure thing!";
next;
mes "[Kid Karyn]";
@@ -3131,7 +3131,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "places. Also, my dad's boat";
mes "will rust if no one uses it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Great! Thanks so much";
mes "for your help, Karyn~";
mes "I'll be sure to take";
@@ -3179,7 +3179,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "a little girl lying on the";
mes "ground unconscious.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, kid! Wake up!";
mes "Can you hear me?";
next;
@@ -3195,7 +3195,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "...Ah, owwww~";
mes "W-waaaaaaaah!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry! I didn't mean";
mes "to make you cry! Are...";
mes "Are you alright?";
@@ -3206,7 +3206,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "out of here! You'll be in";
mes "trouble if they catch you!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you Curdie?";
mes "Your brother Karyn";
mes "asked me to rescue you.";
@@ -3221,13 +3221,13 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "You have to leave before";
mes "those scary men come back!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What...?!";
mes "Those bastards!";
mes "Tying up a little";
mes "girl like this...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Argh! And I can't just";
mes "use brute force to shatter";
mes "these shackles! I might";
@@ -3239,7 +3239,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "I... I'll be alright! Now";
mes "hurry! Someone's coming!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay, I'll go...";
mes "But sit tight, and";
mes "wait for me to come";
@@ -3249,7 +3249,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "[Little Curdie]";
mes "^333333*Sob*^000000 R-really...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I promise.";
mes "I'm sure that someone";
mes "in town will know of a way";
@@ -3316,7 +3316,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
close;
}
else if (rachel_camel == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better find Mr. Saraman's";
mes "lost camel, feed it camel";
mes "appetite stimulants, and";
@@ -3333,7 +3333,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
close;
}
else if (rachel_camel == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I managed to get the soap";
mes "ingredients: 5 of those";
mes "camel dung lumps. I should";
@@ -3375,7 +3375,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "be stuck here?";
mes "I... I want my mommy...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... You're awake?";
mes "Don't worry, Curdie,";
mes "I'm sure that I'll be";
@@ -3405,7 +3405,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "she's forced to remain";
mes "here for much longer.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry.";
mes "I'll come rescue";
mes "you as soon as I make";
@@ -3426,7 +3426,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "want to thank you for doing";
mes "your best to help me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Everything will be";
mes "alright. I just have";
mes "to hurry a little bit.";
@@ -3455,7 +3455,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "Y-you...";
mes "Is it really you?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hang on, Curdie!";
mes "I hope this key works...";
next;
@@ -3478,7 +3478,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "[Little Curdie]";
mes "I can't move my legs!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, there's no other";
mes "choice. Curdie, I'm";
mes "going to send you back to";
@@ -3497,7 +3497,7 @@ que_thor,36,66,5 script Little Curdie 4_F_DST_CHILD,{
mes "arrive safely and see";
mes "her brother Karyn again.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What did she see behind";
mes "the steel door in this old";
mes "volcano? It must have been";
@@ -3525,7 +3525,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
}
else if (rachel_camel == 4) {
if (countitem(Yellow_Potion) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...?";
next;
mes "[Locksmith Lockenlock]";
@@ -3533,7 +3533,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "My head... What";
mes "do you want?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I'd like";
mes "to make a key.";
next;
@@ -3550,7 +3550,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "bringing me a Yellow";
mes "Potion first?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sure, I guess.";
mes "I can part with just";
mes "1 Yellow Potion.";
@@ -3577,7 +3577,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "have you know that the Rachel";
mes "Army's a regular customer~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333This guy made locks for";
mes "the Rachel army?! It might";
mes "not be a good idea to let him";
@@ -3585,7 +3585,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "one of their prisoners. Who";
mes "knows if he's loyal to them?^000000)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So what happened was...";
mes "I lost my key, but I can't";
mes "bring the lock here with me.";
@@ -3600,7 +3600,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "are going bad. So where";
mes "are we going exactly?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait!";
mes "We can't do that!";
next;
@@ -3610,7 +3610,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "open up a bank safe";
mes "or something, are you?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, it's nothing like";
mes "that! It's just that the lock";
mes "is in a dangerous place.";
@@ -3639,7 +3639,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "need that exact type of soap:";
mes "nothing else will do.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Chamelpu Soap?";
mes "What is th--";
next;
@@ -3651,7 +3651,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "owner's a beauty, so it'll";
mes "be tough for you to miss her.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...........";
delitem Yellow_Potion,1;
changequest 3063,3064;
@@ -3677,7 +3677,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "need that exact type of soap:";
mes "nothing else will do.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Chamelpu Soap?";
mes "What is th--";
next;
@@ -3691,13 +3691,13 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 6) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait... I should be";
mes "bringing Ms. Ivory all";
mes "of the soap ingredients.";
mes "What were they again...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF10 Milk^000000,";
mes "^4D4DFF100 Green Herbs^000000,";
mes "^4D4DFF50 Jellopies^000000, and";
@@ -3706,14 +3706,14 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I need to talk to";
mes "someone named Saraman";
mes "to get the soap ingredients...";
close;
}
else if (rachel_camel == 8) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "I need to bring";
mes "Mr. Saruman all the";
@@ -3721,7 +3721,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "stimulate a camel's ";
mes "appetite. I need to get...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF1 Unripe Apple^000000,";
mes "^4D4DFF5 Monster's Feed^000000,";
mes "^4D4DFF1 Empty Bottle^000000, and";
@@ -3729,7 +3729,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have everything I need";
mes "to stimulate a camel's";
mes "appetite. Now I need to";
@@ -3739,7 +3739,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Right now, my time";
mes "would be better spent";
mes "looking for the Silk Sand";
@@ -3747,7 +3747,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better find Mr. Saraman's";
mes "lost camel, feed it camel";
mes "appetite stimulants, and";
@@ -3757,7 +3757,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 12) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... I found the";
mes "camel. Now I need to get";
mes "all the soap ingredients.";
@@ -3773,7 +3773,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I managed to get the soap";
mes "ingredients: 5 of those";
mes "camel dung lumps. I should";
@@ -3783,7 +3783,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
close;
}
else if (rachel_camel == 18) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "Shouldn't I be going";
mes "to see Ms. Ivory now?";
@@ -3797,7 +3797,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "All you had to do was go";
mes "to the market and buy it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............................";
mes "...............................";
mes "...............................";
@@ -3835,14 +3835,14 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "sure that the key you're making";
mes "isn't for anything illegal...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright.";
changequest 3078,3079;
rachel_camel = 20;
close;
}
else if (rachel_camel == 20) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better use the soap to";
mes "make a key mold that I can";
mes "bring over to Mr. Lockenlock.";
@@ -3854,7 +3854,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "So did you manage";
mes "to make the key mold?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I did. Would you";
mes "please hurry? This is an";
mes "emergency, and it could";
@@ -3890,7 +3890,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
}
else if (rachel_camel == 22) {
if (countitem(Steel) > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Here's the Steel that";
mes "you need. Would you";
mes "please make the key now?";
@@ -3903,7 +3903,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "Tell me right now: what";
mes "are you using this key for?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "What are you...?";
next;
@@ -3928,7 +3928,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "of them, they will hunt you";
mes "down and hold me accountable.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The truth is... I really";
mes "am trying to free somebody";
mes "the Rachel Army imprisoned...";
@@ -4083,7 +4083,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...?";
next;
mes "[Organic Soap Maker Ivory]";
@@ -4094,7 +4094,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "ordered something, then you";
mes "could just come back tomorrow.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, this is an emergency!";
mes "Mr. Lockenlock told me to";
mes "come here to get some kind";
@@ -4110,7 +4110,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "soap. It's an artistic soap";
mes "that you can shape easily~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, that's right!";
mes "Chamelepu Soap!";
next;
@@ -4137,7 +4137,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "They might be a bit hard";
mes "to obtain, though...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's fine. The";
mes "important thing for me";
mes "is to get this soap as";
@@ -4170,7 +4170,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "time for you to do the,";
mes "um, hard part.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............................";
mes "...............................";
mes "...............................";
@@ -4183,7 +4183,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "ingredients that you've";
mes "gathered for me so far.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait...";
mes "Why would I want";
mes "to see the guy that";
@@ -4199,7 +4199,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "so please come back here";
mes "as soon as possible.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. Saraman...?";
mes "Okay, so I need to visit";
mes "him if I really need you";
@@ -4228,14 +4228,14 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
}
}
else if (rachel_camel == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I need to talk to";
mes "someone named Saraman";
mes "to get the soap ingredients...";
close;
}
else if (rachel_camel == 8) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "I need to bring";
mes "Mr. Saruman all the";
@@ -4243,7 +4243,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "stimulate a camel's ";
mes "appetite. I need to get...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF1 Unripe Apple^000000,";
mes "^4D4DFF5 Monster's Feed^000000,";
mes "^4D4DFF1 Empty Bottle^000000, and";
@@ -4251,7 +4251,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have everything I need";
mes "to stimulate a camel's";
mes "appetite. Now I need to";
@@ -4261,7 +4261,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Right now, my time";
mes "would be better spent";
mes "looking for the Silk Sand";
@@ -4269,7 +4269,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'd better find Mr. Saraman's";
mes "lost camel, feed it camel";
mes "appetite stimulants, and";
@@ -4279,7 +4279,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 12) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... I found the";
mes "camel. Now I need to get";
mes "all the soap ingredients.";
@@ -4295,7 +4295,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
close;
}
else if (rachel_camel == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I managed to get the soap";
mes "ingredients: 5 of those";
mes "camel dung lumps. I should";
@@ -4312,7 +4312,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "you so long to get all that";
mes "camel dung over here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It was a pretty big";
mes "hassle... But hopefully,";
mes "this will all be worth it.";
@@ -4356,7 +4356,7 @@ veins,227,127,5 script Ivory 4_F_DESERT,{
mes "knew they were washing their";
mes "faces with... You know...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry, I won't";
mes "tell anyone. Thanks";
mes "for making the soap! ";
@@ -4402,7 +4402,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
close;
}
else if (rachel_camel == 7) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me. Hello~";
mes "Ms. Ivory sent me";
mes "here with these soap";
@@ -4415,7 +4415,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "You must be here to get";
mes "some fresh camel dung.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wh-what?";
mes "My God!";
mes "A-are you sure?";
@@ -4425,7 +4425,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "Sure as sin, and";
mes "honest to God.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...............................";
mes "...............................";
mes "...............................";
@@ -4458,7 +4458,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "until tomorrow. Why are";
mes "you here so early anyway?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually, this is kind";
mes "of an emergency. You see,";
mes "I need the soap to make a";
@@ -4480,7 +4480,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "day. Even if we put food in";
mes "front of her, she won't eat it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? Isn't there";
mes "something we can do?";
mes "I mean, I'm talking about";
@@ -4516,7 +4516,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
close;
}
else if (rachel_camel == 8) {
- if ((countitem(Monster's_Feed) > 4) && (countitem(Yellow_Potion) > 0) && (countitem(Unripe_Apple) > 0) && (countitem(Empty_Bottle) > 0)) {
+ if ((countitem(Monsters_Feed) > 4) && (countitem(Yellow_Potion) > 0) && (countitem(Unripe_Apple) > 0) && (countitem(Empty_Bottle) > 0)) {
mes "[Camel Farm Owner Saraman]";
mes "Oh good, you're back.";
mes "Did you bring everything?";
@@ -4552,7 +4552,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "ingredients. That's a good";
mes "amount to collect since that's";
mes "what Ms. Ivory usually orders.";
- delitem Monster's_Feed,5;
+ delitem Monsters_Feed,5;
delitem Yellow_Potion,1;
delitem Unripe_Apple,1;
delitem Empty_Bottle,1;
@@ -4602,7 +4602,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
close;
}
else if (rachel_camel == 10) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. Saraman, none";
mes "of the camels will eat";
mes "this appetite stimulant...";
@@ -4658,7 +4658,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
close;
}
else if (rachel_camel == 12) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... I found the";
mes "camel. Now I need to get";
mes "all the soap ingredients.";
@@ -4682,7 +4682,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
mes "Oh God, I don't know what";
mes "I'll do without that camel!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry, Mr. Saraman,";
mes "I found Soony at the outskirts";
mes "of town. She hurt her leg so";
@@ -4715,7 +4715,7 @@ veins,115,59,5 script Saraman 4_M_EINOLD,{
close;
}
else if (rachel_camel == 18) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's see...";
mes "Shouldn't I be going";
mes "to see Ms. Ivory now?";
@@ -4794,7 +4794,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
mes "more of the feed until it";
mes "was completely consumed.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This must be the";
mes "Silk Sand Camel...";
mes "I guess all I need to";
@@ -4848,7 +4848,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
mes "of steaming camel dung!";
mes "This is cause for celebration!^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
if (rachel_camel == 12) {
mes "Now all I need is";
mes "just 4 more lumps";
@@ -4885,7 +4885,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
mes "5 lumps of camel dung.";
mes "This is my finest moment.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Never, in all my years";
mes "of adventuring, saving the";
mes "oppressed, protecting the";
@@ -4893,13 +4893,13 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
mes "that I'd accomplish such";
mes "a magnificent feat.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am so happy--nay--";
mes "^4D4DFFproud^000000 that my strength, my";
mes "valor, and my determination";
mes "was up to this task. May the";
mes "annals of history never forget";
- mes "this day! Long live "+strcharinfo(0)+"!";
+ mes "this day! Long live "+strcharinfo(PC_NAME)+"!";
next;
mes "^3355FFIt's time for you to";
mes "return to Mr. Saraman.^000000";
@@ -4930,7 +4930,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
}
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
if (rachel_camel == 12) {
mes "I need to feed this camel if";
mes "I ever want to get any dung";
@@ -4946,7 +4946,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
mes "then I need to bring it...";
}
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4D4DFF2 Milk^000000,";
mes "^4D4DFF20 Green Herbs^000000,";
mes "^4D4DFF10 Jellopies^000000, and";
@@ -4959,7 +4959,7 @@ ve_fild07,235,42,3 script Silk Sand Camel 4_DST_CAMEL,{
}
}
else if (rachel_camel == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I managed to get the soap";
mes "ingredients: 5 of those";
mes "camel dung lumps. I should";
@@ -4987,7 +4987,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "to ask if you need to find";
mes "your way around here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but do";
mes "you know where I can";
mes "find a locksmith?";
@@ -4999,7 +4999,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "all the keys and locks in Veins";
mes "and even in Rachel.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Mr. Lockenlock, eh?";
mes "So where can I find him?";
next;
@@ -5016,7 +5016,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "A Yellow Potion! It never";
mes "fails with that guy!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I see.";
mes "Thanks for";
mes "the advice.";
@@ -5027,7 +5027,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "After all these years...";
mes "I'm finally useful to someone!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Ha...?";
next;
mes "^3355FFFind Mr. Lockenlock";
@@ -5042,7 +5042,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "After all these years...";
mes "I'm finally useful to someone!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...Ha...?";
next;
mes "^3355FFFind Mr. Lockenlock";
@@ -5059,7 +5059,7 @@ veins,221,120,5 script Young Town Native 4_M_DESERT,{
mes "to ask if you need to find";
mes "your way around here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, thanks.";
next;
mes "[Native Young Man]";
@@ -5080,32 +5080,32 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "wish to see him.";
next;
select("Think of a Distraction");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This guy's not going to";
mes "let me pass. Let's see...";
mes "Is there some way I could";
mes "get him to leave? What, or";
mes "even ^FF0000who^000000, could distract him?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait a second...";
mes "Of course! I should";
mes "talk to him about...";
next;
input .@input$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait a second...";
mes "Of course! I should";
mes "talk to him about ^FF0000"+.@input$+"^000000 !!";
next;
if (.@input$ != "Lamir") {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the...?";
mes "Where did I think of that?";
mes "That doesn't make any sense...";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's right! I talked";
mes "to Lamir a while ago.";
mes "If she's right, then this";
@@ -5113,7 +5113,7 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "who's totally in love with her.";
mes "Hmm... I know what I'll say...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^333333*Ahem*^000000 Excuse me,";
mes "but are you Karlum?";
mes "I've got a message for you.";
@@ -5125,7 +5125,7 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "spit it out. I can't waste";
mes "too much time on the job...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know ^3131FFLamir^000000, right?";
next;
emotion e_omg;
@@ -5135,14 +5135,14 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "bad happen to her?";
mes "Quick, tell me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, nothing like that.";
mes "She just told me that she";
mes "had something important to";
mes "tell you, and that you had to";
mes "come see her when you're free.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I tried to ask her";
mes "more, but she just kept";
mes "blushing and turning away.";
@@ -5176,7 +5176,7 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "game, huh? Do you think";
mes "I'm that easy to trick?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? Is that what";
mes "happened? I could've";
mes "sworn th--Oooh. I get it now.";
@@ -5252,7 +5252,7 @@ ra_temin,115,140,1 script Flower Vase#vol HIDDEN_NPC,{
disablenpc "Flower Vase#vol";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A lot of loving care";
mes "was put into arranging";
mes "these flowers.. I can't";
@@ -5450,7 +5450,7 @@ ra_temin,85,118,3 script Drawer#vol3 HIDDEN_NPC,{
mes "inside this drawer.^000000";
next;
if (select("Check the Reports", "Cancel") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, it might not to";
mes "the most moral thing,";
mes "but I get the feeling";
@@ -5462,7 +5462,7 @@ ra_temin,85,118,3 script Drawer#vol3 HIDDEN_NPC,{
mes "glancing at a few that";
mes "catch your interest.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ooh...";
mes "This might be";
mes "what I'm looking for.";
@@ -5477,7 +5477,7 @@ ra_temin,85,118,3 script Drawer#vol3 HIDDEN_NPC,{
getitem File01,1;
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Forget it.";
mes "I didn't get permission";
mes "to look through these files.";
@@ -5485,7 +5485,7 @@ ra_temin,85,118,3 script Drawer#vol3 HIDDEN_NPC,{
}
else if (aru_vol == 5) {
if (countitem(File01) < 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh! Here's another";
mes "copy of that report";
mes "I wanted! Pretty lucky~";
@@ -5514,7 +5514,7 @@ ra_temin,88,117,3 script Goddess Statue#vol1 HIDDEN_NPC,{
ra_temin,73,126,1 script Ladder#vol1 HIDDEN_NPC,{
if (aru_vol == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, I can use this";
mes "ladder to sneak out of";
mes "here! I snuck inside so";
@@ -5557,7 +5557,7 @@ OnTouch:
mes "Please submit your report";
mes "to us as soon as possible.^000000''";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Although the sender's";
mes "name isn't on this letter,";
mes "I can guess who wrote it. ";
@@ -5664,7 +5664,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "being a gentleman.";
mes "Hahahah, that's right!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but are";
mes "you the executive director";
mes "of the Veins Geological Team?";
@@ -5683,7 +5683,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "at the institute, really.";
mes "Why, what do you want?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Uhh... There are some";
mes "official notices for you";
mes "at your office. I guess you";
@@ -5691,7 +5691,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "done? They sound like";
mes "they're pretty important.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Maybe...";
mes "Maybe even ^FF0000urgent^000000.";
next;
@@ -5741,7 +5741,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "[Drunken Man]";
mes "Hey, you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes?";
next;
emotion e_no1;
@@ -5752,7 +5752,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "Institute. Congratulations!";
mes "Welcome to the team, friend!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh...?";
mes "I don't understand";
mes "what you're talking about!";
@@ -5765,7 +5765,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "world's greatest geologist!";
mes "(Well, maybe.)";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, I never--";
next;
mes "[Geologist Gio]";
@@ -5860,7 +5860,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "nice legs, but they're";
mes "not the best pair I've see--";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm back.";
next;
mes "[Geologist Gio]";
@@ -5874,7 +5874,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "how was the volcanic";
mes "temperature report?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I did what you";
mes "told me. Hey, are you";
mes "sure you wanted me to";
@@ -5886,7 +5886,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "the temperature. It's";
mes "supposed to go up.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What are you...?";
mes "Actually, I thought that";
mes "maybe the pryometer";
@@ -5896,7 +5896,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "Heh! You're right~";
mes "I broke it on purpose.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What?!";
next;
mes "[Geologist Gio]";
@@ -5923,7 +5923,7 @@ ve_in,233,116,3 script Drunken Man#vol 4_M_HUOLDARMY,{
mes "Of course, there's never";
mes "a problem to begin with...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So...";
mes "You're a con man.";
next;
@@ -6130,7 +6130,7 @@ thor_v01,37,234,3 script Hot Land Surface#1 HIDDEN_NPC,{
changequest 2117,2118;
aru_vol = 9;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I should take a few more";
mes "temperature measurements";
mes "before I submit this report,";
@@ -6198,7 +6198,7 @@ thor_v02,170,100,3 script Hot Land Surface#3 HIDDEN_NPC,{
mes "temperature in";
mes "your report.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I've taken enough";
mes "measurements. I should";
mes "submit this report to the";
@@ -6215,7 +6215,7 @@ thor_v02,170,100,3 script Hot Land Surface#3 HIDDEN_NPC,{
close;
}
else if (aru_vol == 11) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I've taken enough";
mes "measurements. I should";
mes "submit this report to the";
@@ -6235,7 +6235,7 @@ que_thor,145,66,3 script Guard#vol::VeinsGuard 4_DST_SOLDIER,{
mes "personnel can enter this";
mes "area. Identify yourself!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm a research student working";
mes "under Director Gio for the";
mes "Veins Geological Research";
@@ -6263,7 +6263,7 @@ que_thor,145,66,3 script Guard#vol::VeinsGuard 4_DST_SOLDIER,{
mes "think we're expecting";
mes "any reports soon.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, we just found out";
mes "that the instruments we";
mes "used were faulty, so we";
@@ -6305,7 +6305,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "if you don't have any";
mes "reason to be here...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm a research student working";
mes "under Director Gio for the";
mes "Veins Geological Research";
@@ -6313,7 +6313,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "stamp this temperature";
mes "report for me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um, Gio is sick right";
mes "now, so that's why he";
mes "had me fill out this report";
@@ -6339,7 +6339,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "Is this... How bad is this?";
next;
emotion e_swt2,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... Oh, no!";
mes "Yikes! I guess if it's";
mes "higher than normal...";
@@ -6351,7 +6351,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "the alarm? I don't...";
mes "I don't wanna die!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You might want to calm";
mes "down first. I'll take a look";
mes "around the camp, so please";
@@ -6375,7 +6375,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "like this volcano will";
mes "erupt anytime soon?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, I'm not finished";
mes "investigating yet. Would";
mes "you please wait a bit longer?";
@@ -6396,7 +6396,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
next;
while(1) {
if (select("Yes", "No") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess I can't hide it";
mes "from you... The recent";
mes "activity of this volcano";
@@ -6430,7 +6430,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "like it happened in the past!";
next;
emotion e_flash,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I agree. There's";
mes "a good chance of an...";
mes "explosion that'll cause";
@@ -6442,7 +6442,7 @@ thor_camp,250,104,3 script Sahedi#vol 4_M_RASWORD,{
mes "have to evacuate?";
next;
emotion e_flash,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... Uh...";
mes "According to my data...";
mes "Analysis... There's a 75%";
@@ -6501,7 +6501,7 @@ OnTouch:
mes "be transporting cargo? ";
mes "Attention to orders!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you talking to me?";
mes "No, I'm from the Veins Geo--";
next;
@@ -6513,7 +6513,7 @@ OnTouch:
mes "personally train you as";
mes "one of our holy knights!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But I'm not--";
next;
mes "[Colonel Vito]";
@@ -6556,7 +6556,7 @@ OnTouch:
mes "be transporting cargo? ";
mes "Attention to orders!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you talking to me?";
mes "No, I'm from the Veins Geo--";
next;
@@ -6568,7 +6568,7 @@ OnTouch:
mes "personally train you as";
mes "one of our holy knights!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But I'm not--";
next;
mes "[Colonel Vito]";
@@ -6624,8 +6624,8 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "here in Thor Volcano.";
mes "What's your name, soldier?";
next;
- mes "["+strcharinfo(0)+"]";
- mes ""+strcharinfo(0)+", sir.";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes ""+strcharinfo(PC_NAME)+", sir.";
next;
mes "[Colonel Vito]";
mes "Hmpf! That's a weakling's";
@@ -6693,7 +6693,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "[Colonel Vito]";
mes "DO YOU UNDERSTAND?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, sir!";
next;
mes "[Colonel Vito]";
@@ -6713,10 +6713,10 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "Now, repeat after me.";
next;
mes "[Colonel Vito]";
- mes "I, "+strcharinfo(0)+",";
+ mes "I, "+strcharinfo(PC_NAME)+",";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I, "+strcharinfo(0)+",";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I, "+strcharinfo(PC_NAME)+",";
next;
while(1) {
mes "[Colonel Vito]";
@@ -6726,7 +6726,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
input .@input$;
.@answer$ = "as a devoted servant of Goddess Freya";
if (.@input$ == .@answer$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "as a devoted servant";
mes "of Goddess Freya, the";
mes "patron saint of the";
@@ -6748,7 +6748,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
input .@input$;
.@answer$ = "I pledge my honor to overthrow our mortal enemy";
if (.@input$ == .@answer$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I pledge my honor to";
mes "overthrow our mortal enemy,";
mes "the Rune-Midgarts Kingdom.";
@@ -6768,7 +6768,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
input .@input$;
.@answer$ = "I will show no mercy";
if (.@input$ == .@answer$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will show no mercy.";
mes "Nothing will stay my hand.^000000";
next;
@@ -6788,7 +6788,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
input .@input$;
.@answer$ = "I shall devote my entire life";
if (.@input$ == .@answer$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I shall devote my";
mes "entire life to the";
mes "full recovery of";
@@ -6810,7 +6810,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
input .@input$;
.@answer$ = "Down with the Rune-Midgarts Kingdom!";
if (.@input$ == .@answer$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Down with the";
mes "Rune-Midgarts Kingdom!^000000";
next;
@@ -6861,7 +6861,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "inspected since it controls";
mes "the camp's energy resources.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, sir!";
next;
mes "[Colonel Vito]";
@@ -6904,7 +6904,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "Train everyday, and don't";
mes "you ever slack off!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, sir!";
next;
mes "[Colonel Vito]";
@@ -6915,7 +6915,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "outside this building.";
mes "You are dismissed.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(^333333Well... I think";
mes "I will go back to";
mes "Sahedi. Hopefully,";
@@ -6973,7 +6973,7 @@ OnTouch:
mes "These must contain military";
mes "supplies for the camp.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I should go back";
mes "to Sahedi now.";
changequest 2127,2128;
@@ -7015,7 +7015,7 @@ thor_camp,109,167,3 script Control Panel#vol HIDDEN_NPC,{
mes "run its operations smoothly";
mes "under the ground.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "All these pipes with molten";
mes "rock flowing through them...";
mes "I guess their heat is what";
@@ -7028,7 +7028,7 @@ thor_camp,109,167,3 script Control Panel#vol HIDDEN_NPC,{
mes "pretty smoothly. Everything";
mes "looks to be in working order.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No problems here.";
mes "I guess I can go";
mes "back to that colonel.";
@@ -7047,7 +7047,7 @@ thor_camp,150,65,3 script Dummy#1::VeinsDummy HIDDEN_NPC,{
mes "is marked with the emblem";
mes "of the Rune-Midgarts Kingdom.^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wow...";
mes "They really hate the";
mes "Rune-Midgarts Kingdom...";
@@ -7061,47 +7061,47 @@ thor_camp,150,65,3 script Dummy#1::VeinsDummy HIDDEN_NPC,{
mes "voice loud and clear!";
mes "Now... Execute attack!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, sir!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "One!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Two!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Three!!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Four!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Five!!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Six!!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Seven!!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eight!!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nine!";
next;
specialeffect EF_HIT2;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ten!";
aru_vol = 20;
close;
@@ -7117,7 +7117,7 @@ thor_camp,150,65,3 script Dummy#1::VeinsDummy HIDDEN_NPC,{
mes "did I order you to";
mes "chop the dummy?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "10 times, sir!";
next;
mes "[Colonel Vito]";
@@ -7125,7 +7125,7 @@ thor_camp,150,65,3 script Dummy#1::VeinsDummy HIDDEN_NPC,{
mes "did you actually";
mes "chop the dummy?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "11 times, sir!";
next;
mes "[Colonel Vito]";
@@ -7315,7 +7315,7 @@ OnTouch_:
next;
mes "^3355FFHubbie never came.";
mes "Nobody messes with";
- mes ""+strcharinfo(0)+". Nobody.^000000";
+ mes ""+strcharinfo(PC_NAME)+". Nobody.^000000";
close;
}
@@ -7358,7 +7358,7 @@ ve_in,237,131,1 script Female Customer#ve1 4_F_DESERT,{
mes "What about this nice";
mes "young adventurer here?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Meee?";
emotion e_swt2,1;
next;
diff --git a/npc/quests/seals/brisingamen_seal.txt b/npc/quests/seals/brisingamen_seal.txt
index c04d4de54..6976517ce 100644
--- a/npc/quests/seals/brisingamen_seal.txt
+++ b/npc/quests/seals/brisingamen_seal.txt
@@ -454,7 +454,7 @@ prt_fild08,175,374,3 script Bard#brising 1_M_BARD,{
mes "[Nelliorde]";
mes "Excellent...!";
mes "So your name is...";
- mes "" + strcharinfo(0) + "?";
+ mes "" + strcharinfo(PC_NAME) + "?";
next;
mes "[Nelliorde]";
mes "Alright, I shall contact him right away! Oh, and you can find the Monster Organization west of Juno's central plaza. It shouldn't be hard to find. Good luck!";
@@ -617,7 +617,7 @@ prt_fild08,175,374,3 script Bard#brising 1_M_BARD,{
mes "Oh well well...";
mes "How could I ever";
mes "forget the lovely";
- mes ""+ strcharinfo(0) +"?";
+ mes ""+ strcharinfo(PC_NAME) +"?";
}
next;
cutin "god_nelluad01",2;
@@ -875,7 +875,7 @@ yuno_in04,47,113,1 script Studying Scholar#1 4_M_ALCHE_B,{
if ($God2 >= $@god_check1) {
if (god_brising == 50) {
mes "[Enrico Kaili]";
- mes "Ah, " + strcharinfo(0) + ",";
+ mes "Ah, " + strcharinfo(PC_NAME) + ",";
mes "you've returned.";
next;
mes "[Enrico Kaili]";
@@ -960,7 +960,7 @@ yuno_in04,47,113,1 script Studying Scholar#1 4_M_ALCHE_B,{
next;
switch(select("I'm not sure...", "I suppose you're right.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm not sure...";
mes "I mean, maybe";
mes "Alfrik would";
@@ -971,7 +971,7 @@ yuno_in04,47,113,1 script Studying Scholar#1 4_M_ALCHE_B,{
mes "That's a great idea! I'll wait here while you go and ask Alfrik. You're my only hope in completing this research!";
next;
emotion e_hmm,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(^333333I shouldn't have said anything...^000000)";
next;
mes "[Enrico Kaili]";
@@ -982,11 +982,11 @@ yuno_in04,47,113,1 script Studying Scholar#1 4_M_ALCHE_B,{
god_brising = 48;
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I suppose";
mes "you're right.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Still, who knows what exactly is in the Pond of Freya's Golden Tears.";
next;
mes "[Enrico Kaili]";
@@ -1331,7 +1331,7 @@ yuno_in04,47,113,1 script Studying Scholar#1 4_M_ALCHE_B,{
else if (god_brising == 1) {
mes "[Enrico Kaili]";
mes "Ah, you've arrived!";
- mes "" + strcharinfo(0) + ", right?";
+ mes "" + strcharinfo(PC_NAME) + ", right?";
mes "Yes, I was told by Nelliorde that you'd come. He always manages";
mes "to find me good, reliable help.";
next;
@@ -1630,7 +1630,7 @@ prt_church,113,103,1 script Praying Man 4_M_NFMAN,{
next;
switch(select("...Alright.", "I'm sorry, I don't think I can do it.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright.";
mes "I'll try my best to find her. Would you tell me more about Lowen?";
next;
@@ -1819,7 +1819,7 @@ prt_church,113,103,1 script Praying Man 4_M_NFMAN,{
next;
switch(select("...Alright.", "I'm sorry, I don't think I can do it.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright.";
mes "I'll try my best to find her. Would you tell me more about Lowen?";
next;
@@ -1906,7 +1906,7 @@ prt_church,113,103,1 script Praying Man 4_M_NFMAN,{
mes "sorry, Lowen.";
mes "It's all fault...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Excuse me.";
mes "I am looking";
mes "for someone named...";
@@ -2007,7 +2007,7 @@ prt_church,113,103,1 script Praying Man 4_M_NFMAN,{
next;
switch(select("...Alright.", "I'm sorry, I don't think I can do it.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Alright.";
mes "I'll try my best to find her. Would you tell me more about Lowen?";
next;
@@ -2111,18 +2111,18 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
close;
}
if (god_brising == 26) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
@@ -2136,10 +2136,10 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
@@ -2151,7 +2151,7 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
@@ -2183,14 +2183,14 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
else if (god_brising == 25) {
mes "^3355FFYou took the book from the shelf while the librarian was dozing. According to the Crusader Personnel Records, there's only one recruit that was named Lowen Ellenen.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lowen Ellenen...";
mes "Member of the";
mes "2nd squad...";
mes "Age 22...";
mes "Female...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Became a fugitive?";
mes "This isn't the same";
mes "information the";
@@ -2198,18 +2198,18 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
next;
.@bookrand = rand(1,3);
if (.@bookrand == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I should read this";
mes "from the point where";
mes "I left off...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huh...?";
mes "What's this mark";
mes "here at the bottom?";
mes "Some kind of secret?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No wonder the librarian";
mes "seemed to hesitate before";
mes "saying anything. Huh.";
@@ -2221,10 +2221,10 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
mes "[Personnel Record]";
mes "^663300Despite the severity of this offense, she was only discharged from the Crusaders and the holy power granted to her was forcibly removed...^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "She was forced to leave the Crusaders?! That's ridiculous!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Did they want to sentence her to death or what? That's almost too cruel. She must have been humiliated...";
next;
mes "[Personnel Record]";
@@ -2236,7 +2236,7 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
mes "^663300However, this information";
mes "is highly classified. Officially, Lowen Ellenen died during the mission.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They thought she brought";
mes "disgrace to the Crusaders?";
mes "This sounds pretty messy.";
@@ -2262,7 +2262,7 @@ prt_castle,80,52,0 script Personnel Record#book1 HIDDEN_NPC,{
mes "out of here!";
god_brising = 26;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "(Nuts...!";
mes "I didn't get";
mes "to finish reading!)";
@@ -2404,7 +2404,7 @@ prt_castle,84,51,5 script Librarian#2 8W_SOLDIER,{
close;
}
case 3:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm looking";
mes "for Ellenen.";
mes "Lowen Ellenen.";
@@ -2880,7 +2880,7 @@ que_god02,48,55,3 script Lowen Ellenen 4_F_CRU,{
next;
switch(select("You were cursed...?", "You still have something to do.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You're saying...";
mes "The anger of your";
mes "comrades manifested";
@@ -2892,7 +2892,7 @@ que_god02,48,55,3 script Lowen Ellenen 4_F_CRU,{
mes "[Lowen Ellenen]";
mes "I have been trying my best to comfort their spirits for 2 years.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ever since you guys failed on a mission, you've spent two years here killing monsters?";
next;
mes "[Lowen Ellenen]";
@@ -2930,10 +2930,10 @@ que_god02,48,55,3 script Lowen Ellenen 4_F_CRU,{
mes "help me?";
mes "How...?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You said this is the place where the subjugation mission happened, right? I'll fight with you!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Now come on, you don't deserve to feel guilty like this. Let's think about how we're gonna fight these monsters!";
next;
mes "[Lowen Ellenen]";
@@ -2941,7 +2941,7 @@ que_god02,48,55,3 script Lowen Ellenen 4_F_CRU,{
mes "Thank you.";
mes "Thank you so much.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now,";
mes "shall we go in?";
god_brising = 31;
@@ -3172,11 +3172,11 @@ que_god02,174,49,0 script #lowenone HIDDEN_WARP_NPC,0,0,{
OnTouch:
donpcevent "brisinsold2::OnSold2On";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I?";
mes "Isn't this...?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, I see.";
mes "This must be the place where everything happened two years ago. Good, good...";
next;
@@ -3190,7 +3190,7 @@ OnTouch:
mes "We've got problems now.";
next;
mapannounce "que_god02","D...Doppelganger!!!",0,0x9CFF00;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What...?!";
mes "Doppelganger?!";
next;
@@ -3199,7 +3199,7 @@ OnTouch:
donpcevent "#brisinsummon::OnKnight2On";
donpcevent "#brisinsummon::OnKnight3On";
donpcevent "#brisinsummon::OnLowenOn";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What's going on?";
mes "Did you really fight with that creature? H-hey! Answer me!";
next;
@@ -3234,7 +3234,7 @@ OnTouch:
emotion e_gasp,0,"#knight2";
emotion e_gasp,0,"#knight3";
emotion e_gasp,0,"#lowen";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " ??!!!";
next;
specialeffect EF_BEGINSPELL7,AREA,"#doppelganger2";
@@ -3256,7 +3256,7 @@ que_god02,124,59,7 script #hermite 4_M_NFMAN,{ end; }
que_god02,120,52,0 script #monologue HIDDEN_WARP_NPC,0,0,{
OnTouch:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where am I?";
mes "Isn't that...";
mes "What's Hermite";
@@ -3280,7 +3280,7 @@ OnTouch:
mes "Noooooooooo!!!";
next;
donpcevent "#brisinsummon::OnHermiteOff";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where did he go?";
mes "Was... Was that";
mes "from his mind?";
@@ -3338,7 +3338,7 @@ que_god02,21,127,3 script Lowen Ellenen#2 4_F_CRU,{
mes "[Lowen Ellenen]";
mes "Are you giving me another chance? But I no longer have a body to fight monsters anymore...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Don't worry,";
mes "I'm with you!";
mes "Let's do it!";
@@ -3373,7 +3373,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
next;
mes "[Valkyrie]";
mes "And...";
- mes ""+ strcharinfo(0) +",";
+ mes ""+ strcharinfo(PC_NAME) +",";
mes "Your exploits are known to me. But I am curious as to what has brought you here?";
next;
mes "^3355FFYou explained what happened to the Valkyrie, starting from the Snow Crystal which never melts.^000000";
@@ -3392,7 +3392,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
mes "Perhaps, I was also sent to meet you. I wish that humans will use the power derived from the traces of the gods to protect justice.";
next;
mes "[Valkyrie]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "Listen. This is";
mes "what you must find.";
next;
@@ -3442,7 +3442,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
mes "made me laugh.";
next;
mes "[Valkyrie]";
- mes ""+ strcharinfo(0) +",";
+ mes ""+ strcharinfo(PC_NAME) +",";
mes "I am speaking to the";
mes "spirit that rests within you, the girl to whom you lent your body so that she may learn the truth of the past.";
next;
@@ -3458,7 +3458,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
next;
mes "[Valkyrie]";
mes "And...";
- mes ""+ strcharinfo(0) +",";
+ mes ""+ strcharinfo(PC_NAME) +",";
mes "Your exploits are known to me. But I am curious as to what has brought you here?";
next;
mes "^3355FFYou explained what happened to the Valkyrie, starting from the Snow Crystal which never melts.^000000";
@@ -3477,7 +3477,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
mes "Perhaps, I was also sent to meet you. I wish that humans will use the power derived from the traces of the gods to protect justice.";
next;
mes "[Valkyrie]";
- mes ""+ strcharinfo(0) +"...";
+ mes ""+ strcharinfo(PC_NAME) +"...";
mes "Listen. This is";
mes "what you must find.";
next;
@@ -3547,31 +3547,31 @@ xmas,38,105,0 script #brisindwarf1 HIDDEN_NPC,3,3,{
next;
switch(select("Adjust the puzzle.", "Quit.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay, um...";
mes "I guess I should";
mes "choose a lyric...";
next;
switch(select("Wanes in comparison", "To that beautiful hair", "All of our hearts", "The beauty of the stars", "To those dazzling eyes")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "we gave...";
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "To that beautiful hair";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "All of our hearts in";
break;
case 4:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The beauty of the stars";
.@point += 10;
break;
case 5:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "To those dazzling eyes";
break;
}
@@ -3658,14 +3658,14 @@ xmas,38,105,0 script #brisindwarf1 HIDDEN_NPC,3,3,{
}
close;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Huh...?";
mes "Nothing happened.";
mes "Did I do something wrong, or is this just a completely ordinary puzzle cube?";
close;
}
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This...";
mes "This better not";
mes "be just some regular";
@@ -4014,14 +4014,14 @@ prt_fild02,185,269,0 script #brisindwarf2 HIDDEN_NPC,3,3,{
mes "^3355FFAs you sweep away the moss with your hand, you scratch your palm from the sharp edges of the rock.^000000";
emotion e_gasp,1;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Damn...!";
mes "I'm bleeding!";
mes "But why didn't";
mes "anything else";
mes "happen?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "This rock had";
mes "better be one of";
mes "those secret rocks!";
@@ -4033,31 +4033,31 @@ prt_fild02,185,269,0 script #brisindwarf2 HIDDEN_NPC,3,3,{
next;
mes "^3355FFAfter peeling off the moss, a series of tiles, etched with faint words, are revealed on top of the rock. These tiles could be moved around, like in a puzzle.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Another puzzle?";
mes "This was just like when I had to give Alfrik's password. Okay, let me see...";
.@point = 0;
next;
switch(select("To the tear drops dripping on the way", "Her lovely scent", "We gave", "To the seducing red lips", "Our hearts in")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "To the tear drops dripping on the way";
break;
case 2:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Her lovely scent";
.@point += 10;
break;
case 3:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "We gave";
break;
case 4:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "To the seducing red lips";
break;
case 5:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Our hearts in";
break;
}
@@ -4142,7 +4142,7 @@ prt_fild02,185,269,0 script #brisindwarf2 HIDDEN_NPC,3,3,{
}
close;
case 4:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^333333*Cough cough!*";
mes "Aaaack!";
mes "It's so dusty!";
@@ -4207,7 +4207,7 @@ prt_fild02,185,270,3 script Dvalin#1 4_M_DWARF,{
mes "Then, that means";
mes "we can meet Freya again?!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umm...";
mes "I'm afraid not.";
mes "Or, at least, that's";
@@ -4381,7 +4381,7 @@ mjolnir_09,87,129,3 script Berling#1 4_M_DWARF,{
mes "You mean my brother!";
mes "But he can only be revived if Alfrik is revived. What happened?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umm...";
mes "Let me explain...";
next;
@@ -4389,7 +4389,7 @@ mjolnir_09,87,129,3 script Berling#1 4_M_DWARF,{
mes "......";
mes ".........";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...So I guess I need to wake up all four of you dwarves so that Brisingamen, which holds Freya's power, can be made again.";
next;
mes "[Berling]";
@@ -4457,7 +4457,7 @@ mjolnir_09,87,129,3 script Berling#1 4_M_DWARF,{
mes "give my name to a rude,";
mes "ill-bred human like yourself!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait...";
mes "Your name";
mes "is Berling?";
@@ -4502,12 +4502,12 @@ OnInit:
mjo_dun02,126,36,0 script #brisindwarf4 HIDDEN_NPC,3,3,{
if ($God2 < $@god_check1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Bah, no way out.";
close;
}
if ($God3 >= $@god_check2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Bah, no way out.";
close;
}
@@ -4518,46 +4518,46 @@ mjo_dun02,126,36,0 script #brisindwarf4 HIDDEN_NPC,3,3,{
close;
}
else if (god_brising == 45) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's see.";
mes "Um, that song.";
mes "What was the first line...?";
next;
input @dwarfsong1$;
if (@dwarfsong1$ == "No jewel in the world can compare.") @point += 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong1$ + "";
mes "Then...ummm..";
mes "The second line?";
next;
input @dwarfsong2$;
if (@dwarfsong2$ == "Our masterpiece made from love.") @point += 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong2$ + "";
mes "Now, what was";
mes "the third line...?";
next;
input @dwarfsong3$;
if (@dwarfsong3$ == "She wanted the dazzling necklace.") @point += 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong3$ + "";
mes "Now, the fourth";
mes "line after that...";
next;
input @dwarfsong4$;
if (@dwarfsong4$ == "We wanted the goddess of beauty.") @point += 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong4$ + "";
mes "Alright, now";
mes "for the last line...";
next;
input @dwarfsong5$;
if (@dwarfsong5$ == "Our happiest times were with her.") @point += 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong5$ + "";
mes "Alright, let's give it a try.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "" + @dwarfsong1$ + "";
mes "" + @dwarfsong2$ + "";
mes "" + @dwarfsong3$ + "";
@@ -4591,12 +4591,12 @@ mjo_dun02,126,36,0 script #brisindwarf4 HIDDEN_NPC,3,3,{
OnTouch:
if ($God2 < $@god_check1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Beh, no way out.";
close;
}
if ($God3 >= $@god_check2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Beh, no way out.";
close;
}
diff --git a/npc/quests/seals/god_weapon_creation.txt b/npc/quests/seals/god_weapon_creation.txt
index 87a6ca7c8..3f32461fa 100644
--- a/npc/quests/seals/god_weapon_creation.txt
+++ b/npc/quests/seals/god_weapon_creation.txt
@@ -89,9 +89,9 @@ gld_dun01,28,85,0 script Grunburti#1::GodDwarf 4_M_DWARF,{
mes "At least I was fortunate enough to find this cave. We Dwarves are most cozy living underground, after all.";
close;
case 3:
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
if (($God1 < $@god_check2) || ($God2 < $@god_check2) || ($God3 < $@god_check2) || ($God4 < $@god_check2)){
- if (($God1 >= $@god_check1) && ($God2 >= $@god_check1) && ($God3 >= $@god_check1) && ($God4 >= $@god_check1) && (strcharinfo(0) == getguildmaster(.@GID))) {
+ if (($God1 >= $@god_check1) && ($God2 >= $@god_check1) && ($God3 >= $@god_check1) && ($God4 >= $@god_check1) && (strcharinfo(PC_NAME) == getguildmaster(.@GID))) {
mes "[Dwarf Grunburti]";
mes "Hmm...";
mes "I'll need some things to make a weapon for you. What exactly were you interested in having?";
@@ -167,7 +167,7 @@ gld_dun01,28,85,0 script Grunburti#1::GodDwarf 4_M_DWARF,{
mes "Stop bothering me and get out of here! Go play with some monsters, you simple minded fool!";
close;
}
- if (strcharinfo(0) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
mes "[Dwarf Grunburti]";
mes "I'll only present";
mes "my magnificent skills";
@@ -412,8 +412,8 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
mes "pity for you~";
close;
}
- .@GID = getcharid(2);
- if (strcharinfo(0) != getguildmaster(.@GID)) {
+ .@GID = getcharid(CHAR_ID_GUILD);
+ if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
mes "[Dwarf Grunburti]";
mes "How in the...";
mes "Get out of here!";
@@ -515,7 +515,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Brisingamen] has come into the hands of [" + strcharinfo(0) + "], master of the [" + getguildname(.@GID) + "] guild.",bc_all;
+ announce "[Brisingamen] has come into the hands of [" + strcharinfo(PC_NAME) + "], master of the [" + getguildname(.@GID) + "] guild.",bc_all;
mes "[Dwarf Grunburti]";
mes "Ah, just look at this dazzling beauty. No other piece of jewelry complemented Freya as well as Brisingamen.";
close;
@@ -589,7 +589,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Megingjard] the godly item has been given to [" + strcharinfo(0) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
+ announce "[Megingjard] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
mes "[Dwarf Grunburti]";
mes "Here...";
mes "Be careful with how";
@@ -679,7 +679,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Sleipnir] the godly item has been given to [" + strcharinfo(0) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
+ announce "[Sleipnir] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
mes "[Dwarf Grunburti]";
mes "There...";
mes "Wear these, and";
@@ -768,7 +768,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Mjolnir] has been bestowed to [" + strcharinfo(0) + "], the master of the [" + getguildname(.@GID) + "] guild.",bc_all;
+ announce "[Mjolnir] has been bestowed to [" + strcharinfo(PC_NAME) + "], the master of the [" + getguildname(.@GID) + "] guild.",bc_all;
mes "[Dwarf Grunburti]";
mes "It's done.";
mes "Take it. How does";
diff --git a/npc/quests/seals/megingard_seal.txt b/npc/quests/seals/megingard_seal.txt
index 894ac2ab5..228268602 100644
--- a/npc/quests/seals/megingard_seal.txt
+++ b/npc/quests/seals/megingard_seal.txt
@@ -951,7 +951,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "[Librarian Jekan]";
mes "Hmm. I'm not really allowed to disclose any information related to that file. I'm sorry about that.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But isn't";
mes "the file about...";
input @str$;
@@ -1005,10 +1005,10 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "[Librarian Jekan]";
mes "Hmm... I am not supposed to reveal anything related to the file.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Isn't the file...";
input @str$;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^0000FF" + @str$ + "?";
next;
mes "[Librarian Jekan]";
@@ -1819,7 +1819,7 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
next;
input @str$;
if (@str$ == "Cuaque Donon" || @str$ == "Cuaque" || @str$ == "Donon") {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Do you happen to know a person named " + @str$ + " ...?";
if (god_eremes == 18) {
mes "[Inn Employee]";
@@ -1859,7 +1859,7 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
mes "^3355FFThe Inn Employee";
mes "knocks you out~^000000";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
else {
@@ -1897,7 +1897,8 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
mes "^3355FFThe Inn Employee";
mes "knocks you out~^000000";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
+ end;
}
else {
mes "[Ms. Scary Inn Employee]";
@@ -1937,7 +1938,7 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
mes "^3355FFThe Inn Employee";
mes "knocks you out~^000000";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
else {
@@ -2997,7 +2998,7 @@ niflheim,109,254,0 script Egnigem 4_M_NFDEADSWDMAN,{
else {
mes "[Egnigem]";
mes "Greetings...";
- mes ""+ strcharinfo(0) +".";
+ mes ""+ strcharinfo(PC_NAME) +".";
mes "I've been watching you in the";
mes "world of the living. I see you've been busy looking for the truth about the 1st Squad, haven't you?";
next;
diff --git a/npc/quests/seals/mjolnir_seal.txt b/npc/quests/seals/mjolnir_seal.txt
index 803b42bf2..e4775cfb2 100644
--- a/npc/quests/seals/mjolnir_seal.txt
+++ b/npc/quests/seals/mjolnir_seal.txt
@@ -1077,9 +1077,9 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@p_vit = 100;
while(1) {
mes "Sudri : " + .@n_vit + " HP";
- mes "" + strcharinfo(0) + " : " + .@p_vit + " HP";
+ mes "" + strcharinfo(PC_NAME) + " : " + .@p_vit + " HP";
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "initiated";
mes "an attack!";
next;
@@ -1103,23 +1103,23 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@n_def = rand(1,3);
.@damage = rand(15,25);
if (.@p_atk == 1) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "attacks Sudri's head!";
}
else if (.@p_atk == 2) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "strikes Sudri's chest!";
}
else if (.@p_atk == 3) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "aims for Sudri's legs!";
}
else if (.@p_atk == 4) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "requests a break!";
}
else {
- mes "" + strcharinfo(0) + "'s";
+ mes "" + strcharinfo(PC_NAME) + "'s";
mes "weak point revealed!";
}
if (.@p_atk == .@n_def) {
@@ -1130,7 +1130,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "your attack by twisting";
mes "his small, yet svelte, body.";
mes "--------------------";
- mes "" + strcharinfo(0) + " misses!";
+ mes "" + strcharinfo(PC_NAME) + " misses!";
}
else if (.@n_def == 2) {
mes "--------------------";
@@ -1138,7 +1138,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "attack by crossing";
mes "his stout arms.";
mes "--------------------";
- mes "" + strcharinfo(0) + "'s attack is blocked!";
+ mes "" + strcharinfo(PC_NAME) + "'s attack is blocked!";
}
else if (.@n_def == 3) {
mes "--------------------";
@@ -1146,14 +1146,14 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "attack with a graceful";
mes "leap to the heavens.";
mes "--------------------";
- mes "" + strcharinfo(0) + " misses!";
+ mes "" + strcharinfo(PC_NAME) + " misses!";
}
}
else if (.@p_atk == 4) {
specialeffect2 EF_HEAL;
.@p_vit += 10;
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "has gained 10 HP!";
}
else if (.@p_atk == 1) {
@@ -1192,7 +1192,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "You were hit by";
mes "Sudri's counter attack!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost 10 HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost 10 HP!";
if (.@p_vit < 1) {
mes "Defeated...";
next;
@@ -1206,13 +1206,13 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
close;
}
if (.@n_vit < 1) {
- mes "" + strcharinfo(0) + " wins!";
+ mes "" + strcharinfo(PC_NAME) + " wins!";
next;
break;
}
next;
mes "Sudri : " + .@n_vit + " HP";
- mes "" + strcharinfo(0) + " : " + .@p_vit + " HP";
+ mes "" + strcharinfo(PC_NAME) + " : " + .@p_vit + " HP";
mes "--------------------";
mes "Sudri attacks...!";
next;
@@ -1248,7 +1248,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
specialeffect2 EF_GUARD;
if (.@p_def == 1) {
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "quickly dodged!";
mes "Sudri's arms were";
mes "too short and missed!";
@@ -1257,7 +1257,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
else if (.@p_def == 2) {
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "barely blocked";
mes "Sudri's attack.";
mes "--------------------";
@@ -1265,7 +1265,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
else if (.@p_def == 3) {
mes "--------------------";
- mes "" + strcharinfo(0) + " jumped,";
+ mes "" + strcharinfo(PC_NAME) + " jumped,";
mes "dodged Sudri's attack at ease.";
mes "--------------------";
mes "Sudri has failed to attack.";
@@ -1274,7 +1274,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
else if (.@p_def == 4) {
.@count = rand(1,4);
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "counters!";
if (.@count == 1) {
specialeffect2 EF_AUTOCOUNTER;
@@ -1285,7 +1285,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "--------------------";
mes "Sudri has lost 20 HP!";
if (.@n_vit < 1) {
- mes "" + strcharinfo(0) + " won!";
+ mes "" + strcharinfo(PC_NAME) + " won!";
next;
break;
}
@@ -1297,7 +1297,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "critical damage";
mes "on your weak spot!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost 30 HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost 30 HP!";
}
}
else if (.@n_atk == 1) {
@@ -1305,41 +1305,41 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the head!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 2) {
specialeffect2 EF_HIT2;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the chest!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 3) {
specialeffect2 EF_HIT4;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the legs!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 0) {
specialeffect2 EF_HIT5;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hits "+ strcharinfo(0) +"";
+ mes "hits "+ strcharinfo(PC_NAME) +"";
mes "during a moment of";
mes "absent-mindedness!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else {
mes "--------------------";
@@ -1485,9 +1485,9 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@p_vit = 100;
while(1) {
mes "Sudri : " + .@n_vit + " HP";
- mes "" + strcharinfo(0) + " : " + .@p_vit + " HP";
+ mes "" + strcharinfo(PC_NAME) + " : " + .@p_vit + " HP";
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "initiated";
mes "an attack!";
next;
@@ -1511,23 +1511,23 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@n_def = rand(1,3);
.@damage = rand(15,25);
if (.@p_atk == 1) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "attacks Sudri's head!";
}
else if (.@p_atk == 2) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "strikes Sudri's chest!";
}
else if (.@p_atk == 3) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "aims for Sudri's legs!";
}
else if (.@p_atk == 4) {
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "requests a break!";
}
else {
- mes "" + strcharinfo(0) + "'s";
+ mes "" + strcharinfo(PC_NAME) + "'s";
mes "weak point revealed!";
}
if (.@p_atk == .@n_def) {
@@ -1538,7 +1538,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "your attack by twisting";
mes "his small, yet svelte, body.";
mes "--------------------";
- mes "" + strcharinfo(0) + " misses!";
+ mes "" + strcharinfo(PC_NAME) + " misses!";
}
else if (.@n_def == 2) {
mes "--------------------";
@@ -1546,7 +1546,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "attack by crossing";
mes "his stout arms.";
mes "--------------------";
- mes "" + strcharinfo(0) + "'s attack is blocked!";
+ mes "" + strcharinfo(PC_NAME) + "'s attack is blocked!";
}
else if (.@n_def == 3) {
mes "--------------------";
@@ -1554,14 +1554,14 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "attack with a graceful";
mes "leap to the heavens.";
mes "--------------------";
- mes "" + strcharinfo(0) + " misses!";
+ mes "" + strcharinfo(PC_NAME) + " misses!";
}
}
else if (.@p_atk == 4) {
specialeffect2 EF_HEAL;
.@p_vit += 10;
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "has gained 10 HP!";
}
else if (.@p_atk == 1) {
@@ -1600,7 +1600,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "You were hit by";
mes "Sudri's counter attack!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost 10 HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost 10 HP!";
if (.@p_vit < 1) {
mes "Defeated...";
next;
@@ -1614,13 +1614,13 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
close;
}
if (.@n_vit < 1) {
- mes "" + strcharinfo(0) + " wins!";
+ mes "" + strcharinfo(PC_NAME) + " wins!";
next;
break;
}
next;
mes "Sudri : " + .@n_vit + " HP";
- mes "" + strcharinfo(0) + " : " + .@p_vit + " HP";
+ mes "" + strcharinfo(PC_NAME) + " : " + .@p_vit + " HP";
mes "--------------------";
mes "Sudri attacks...!";
next;
@@ -1656,7 +1656,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
specialeffect2 EF_GUARD;
if (.@p_def == 1) {
mes "--------------------";
- mes "" + strcharinfo(0) + " quickly dodged,";
+ mes "" + strcharinfo(PC_NAME) + " quickly dodged,";
mes "Sudri's arms were too";
mes "short to reach at you.";
mes "--------------------";
@@ -1664,7 +1664,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
else if (.@p_def == 2) {
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "barely blocked";
mes "Sudri's attack.";
mes "--------------------";
@@ -1672,7 +1672,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
else if (.@p_def == 3) {
mes "--------------------";
- mes "" + strcharinfo(0) + " jumped,";
+ mes "" + strcharinfo(PC_NAME) + " jumped,";
mes "dodged Sudri's attack at ease.";
mes "--------------------";
mes "Sudri has failed to attack.";
@@ -1681,7 +1681,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
else if (.@p_def == 4) {
.@count = rand(1,4);
mes "--------------------";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
mes "counters!";
if (.@count == 1) {
specialeffect2 EF_AUTOCOUNTER;
@@ -1692,7 +1692,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "--------------------";
mes "Sudri has lost 20 HP!";
if (.@n_vit < 1) {
- mes "" + strcharinfo(0) + " won!";
+ mes "" + strcharinfo(PC_NAME) + " won!";
next;
break;
}
@@ -1704,7 +1704,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "critical damage";
mes "on your weak spot!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost 30 HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost 30 HP!";
}
}
else if (.@n_atk == 1) {
@@ -1712,41 +1712,41 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the head!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 2) {
specialeffect2 EF_HIT2;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the chest!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 3) {
specialeffect2 EF_HIT4;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hit " + strcharinfo(0) + "";
+ mes "hit " + strcharinfo(PC_NAME) + "";
mes "on the legs!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 0) {
specialeffect2 EF_HIT5;
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
- mes "hits "+ strcharinfo(0) +"";
+ mes "hits "+ strcharinfo(PC_NAME) +"";
mes "during a moment of";
mes "absent-mindedness!";
mes "--------------------";
- mes "" + strcharinfo(0) + " has lost " + .@damage + " HP!";
+ mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else {
mes "--------------------";
diff --git a/npc/quests/seals/sleipnir_seal.txt b/npc/quests/seals/sleipnir_seal.txt
index 5722d8e08..d3982699c 100644
--- a/npc/quests/seals/sleipnir_seal.txt
+++ b/npc/quests/seals/sleipnir_seal.txt
@@ -247,10 +247,10 @@ que_god01,98,98,4 script Manager#G 1_F_04,{
else if (.@god_treasure1 < 348) getitem Helm_,1;
else if (.@god_treasure1 < 400) getitem Gemmed_Sallet_,1;
else if (.@god_treasure1 < 448) getitem Circlet_,1;
- else if (.@god_treasure1 < 496) getitem Santa's_Hat,1;
- else if (.@god_treasure1 < 544) getitem Big_Sis'_Ribbon,1;
+ else if (.@god_treasure1 < 496) getitem Santas_Hat,1;
+ else if (.@god_treasure1 < 544) getitem Big_Sis_Ribbon,1;
else if (.@god_treasure1 < 592) getitem Sweet_Gents,1;
- else if (.@god_treasure1 < 640) getitem Oldman's_Romance,1;
+ else if (.@god_treasure1 < 640) getitem Oldmans_Romance,1;
else if (.@god_treasure1 < 688) getitem Western_Grace,1;
else if (.@god_treasure1 < 736) getitem Fillet,1;
else if (.@god_treasure1 < 784) getitem Holy_Bonnet,1;
@@ -287,7 +287,7 @@ que_god01,98,98,4 script Manager#G 1_F_04,{
else getitem Apple_Of_Archer,1;
}
else if (.@god_treasure < 501) {
- if (.@god_treasure1 < 80) getitem Adventurere's_Suit_,1;
+ if (.@god_treasure1 < 80) getitem Adventureres_Suit_,1;
else if (.@god_treasure1 < 160) getitem Mantle_,1;
else if (.@god_treasure1 < 240) getitem Coat_,1;
else if (.@god_treasure1 < 320) getitem Mink_Coat,1;
@@ -325,7 +325,7 @@ que_god01,98,98,4 script Manager#G 1_F_04,{
else if (.@god_treasure1 < 660) getitem Clip,1;
else if (.@god_treasure1 < 770) getitem Rosary,1;
else if (.@god_treasure1 < 880) getitem Mitten_Of_Presbyter,1;
- else getitem Matyr's_Flea_Guard,1;
+ else getitem Matyrs_Flea_Guard,1;
}
else {
if (.@god_treasure1 < 150) getitem Mr_Scream,1;
@@ -360,7 +360,7 @@ que_god01,98,98,4 script Manager#G 1_F_04,{
else if (.@god_treasure1 < 496) getitem Spinx_Helm,1;
else if (.@god_treasure1 < 544) getitem Corsair,1;
else if (.@god_treasure1 < 592) getitem Sweet_Gents,1;
- else if (.@god_treasure1 < 640) getitem Oldman's_Romance,1;
+ else if (.@god_treasure1 < 640) getitem Oldmans_Romance,1;
else if (.@god_treasure1 < 688) getitem Western_Grace,1;
else if (.@god_treasure1 < 736) getitem Spinx_Helm_,1;
else if (.@god_treasure1 < 784) getitem Holy_Bonnet_,1;
diff --git a/npc/quests/skills/alchemist_skills.txt b/npc/quests/skills/alchemist_skills.txt
index 0cbcae724..d958e9011 100644
--- a/npc/quests/skills/alchemist_skills.txt
+++ b/npc/quests/skills/alchemist_skills.txt
@@ -123,12 +123,12 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "on the same project for you to";
mes "benefit. So, what's your name?";
next;
- mes "["+ strcharinfo(0) +"]";
- mes "I am called "+ strcharinfo(0) +".";
+ mes "["+ strcharinfo(PC_NAME) +"]";
+ mes "I am called "+ strcharinfo(PC_NAME) +".";
next;
ALCHE_SK = 2;
mes "[Pisruik]";
- mes "Ah, "+ strcharinfo(0) +".";
+ mes "Ah, "+ strcharinfo(PC_NAME) +".";
mes "Would you please bring";
mes "^6600005 Yellow Gemstones^000000,";
mes "^6600004 Empty Potion Bottles^000000,";
@@ -711,7 +711,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "That was a pretty";
mes "big explosion...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Your glasses...";
mes "They're broken...";
next;
@@ -729,7 +729,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "scientific researcher.^000000";
}
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Holy crap!";
mes "You're one";
mes "good looking guy!";
@@ -741,7 +741,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "that you're not bleeding.";
mes "But are you alright?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh, I'm fine.";
mes "But what are you";
mes "going to do about";
@@ -760,7 +760,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "almost blind without them.";
mes "I can't do very much if I can't";
mes "even see. I'm really sorry";
- mes "about this, "+ strcharinfo(0) +".";
+ mes "about this, "+ strcharinfo(PC_NAME) +".";
close;
}
else {
@@ -815,7 +815,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "That was a pretty";
mes "big explosion...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Your glasses...";
mes "They're broken...";
next;
@@ -833,7 +833,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "scientific researcher.^000000";
}
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Holy crap!";
mes "You're one";
mes "good looking guy!";
@@ -845,7 +845,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "that you're not bleeding.";
mes "But are you alright?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh, I'm fine.";
mes "But what are you";
mes "going to do about";
@@ -864,7 +864,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "almost blind without them.";
mes "I can't do very much if I can't";
mes "even see. I'm really sorry";
- mes "about this, "+ strcharinfo(0) +".";
+ mes "about this, "+ strcharinfo(PC_NAME) +".";
close;
}
else {
@@ -890,7 +890,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
delitem Spinning_Eyes,1;
ALCHE_SK = 10;
//changes the quest steps by deicision.
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here, why don't you";
mes "check I'm carrying and";
mes "see if there's a pair of";
@@ -930,7 +930,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
next;
if (select("Sure!", "No, thanks.") == 1) {
mes "[Pisruik]";
- mes "Great, "+ strcharinfo(0) +"!";
+ mes "Great, "+ strcharinfo(PC_NAME) +"!";
mes "I know I can trust you";
mes "to use this research for";
mes "good and noble ends. Now,";
@@ -993,7 +993,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
close;
}
}
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Listen, you look so";
mes "much better when you're";
mes "not wearing glasses.";
@@ -1002,14 +1002,14 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
mes "Excuse me,";
mes "come again?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Hahahahhaha~!";
mes "No-nothing at all!";
close;
}
else if (ALCHE_SK == 10) {
mes "[Pisruik]";
- mes "So, "+ strcharinfo(0) +",";
+ mes "So, "+ strcharinfo(PC_NAME) +",";
mes "Would you like me to";
mes "teach you the results";
mes "of the research I've''";
@@ -1017,7 +1017,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 4_M_ALCHE_D,{
next;
if (select("Yes!", "No, thanks.") == 1) {
mes "[Pisruik]";
- mes "Great, "+ strcharinfo(0) +"!";
+ mes "Great, "+ strcharinfo(PC_NAME) +"!";
mes "I know I can trust you";
mes "to use this research for";
mes "good and noble ends. Now,";
@@ -1220,15 +1220,15 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "ways, would you";
mes "tell me your name?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "My name is...";
- mes "" + strcharinfo(0) + ".";
+ mes "" + strcharinfo(PC_NAME) + ".";
next;
bioeth = 13;
skill "AM_BIOETHICS",1,0;
mes "[Kellasus]";
mes "Ah...";
- mes "" + strcharinfo(0) + ".";
+ mes "" + strcharinfo(PC_NAME) + ".";
mes "I'll remember that. Goodbye";
mes "for now, and I hope that you";
mes "make a great contribution to";
@@ -1252,7 +1252,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "something that will benefit";
mes "the greater good.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Does...";
mes "Does that mean";
mes "you'll teach me?";
@@ -1299,7 +1299,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "but I suppose that might be";
mes "how you became an Alchemist...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Well, I sort of came";
mes "here to ask about that.";
mes "But first, I heard a rumor";
@@ -1330,7 +1330,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "why are you reminding";
mes "me of something like this?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You're right that the creation";
mes "of Homunculi brings up a moral";
mes "issue. But instead of morals,";
@@ -1343,7 +1343,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "do you mean by";
mes "humanitarianism?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I believe that the";
mes "study of Homunculi";
mes "could help us discover";
@@ -1351,7 +1351,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "is just too much";
mes "potential to do good to ignore.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm not interested in";
mes "creating new creatures or";
mes "playing God. What I do want";
@@ -1359,7 +1359,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "regardless of the disease. No";
mes "matter how desperate it may be.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "It may be immoral to";
mes "create experimental life";
mes "forms and to sacrifice them,";
@@ -1367,7 +1367,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "the people who may need";
mes "that cure I might discover...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "When your son was";
mes "sick, you were willing";
mes "to make sacrifices to see";
@@ -1375,7 +1375,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "there are other people in the";
mes "world with worse ailments...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I want to study";
mes "Homunculi because";
mes "there's a chance that";
@@ -1407,7 +1407,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "you? I'm sorry, but I can't teach you anything related to Homunculi.";
mes "It especially bothers me that you know nothing at all about them...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But while I was gone,";
mes "I spent so much time";
mes "studying about Homunculi";
@@ -1550,7 +1550,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "give you some advice if you're stumped by a particular problem...";
next;
if (select("Teach me the Homunculus Skills.", "No, nothing.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I want you to";
mes "teach me how to";
mes "create a Homunculus.";
@@ -1561,7 +1561,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "I don't think I heard";
mes "what you said quite right.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I said...";
mes "I want you to";
mes "teach me the skills";
diff --git a/npc/quests/skills/assassin_skills.txt b/npc/quests/skills/assassin_skills.txt
index c09660ed2..4c282caef 100644
--- a/npc/quests/skills/assassin_skills.txt
+++ b/npc/quests/skills/assassin_skills.txt
@@ -137,7 +137,7 @@ in_moc_16,14,27,5 script Assassin#realman 4_M_ACROSS,{
next;
select("New skills?");
mes "[Killtin]";
- mes "That's right, "+ strcharinfo(0) +".";
+ mes "That's right, "+ strcharinfo(PC_NAME) +".";
mes "The first skill specifically";
mes "enhances the Sonic Blow";
mes "skill, and the second skill";
@@ -378,7 +378,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "[Esmille]";
mes "Yes, that's it...!";
mes "Very well executed.";
- mes "Good work, "+ strcharinfo(0) +".";
+ mes "Good work, "+ strcharinfo(PC_NAME) +".";
skill "AS_SONICACCEL",1,0;
ASSN_SK = 7;
next;
@@ -475,7 +475,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "[Esmille]";
mes "Yes, that's it...!";
mes "Very well executed.";
- mes "Good work, "+ strcharinfo(0) +".";
+ mes "Good work, "+ strcharinfo(PC_NAME) +".";
skill "AS_SONICACCEL",1,0;
ASSN_SK = 7;
next;
@@ -558,7 +558,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "[Esmille]";
mes "Yes, that's it...!";
mes "Very well executed.";
- mes "Good work, "+ strcharinfo(0) +".";
+ mes "Good work, "+ strcharinfo(PC_NAME) +".";
skill 1003,1,0;
ASSN_SK = 7;
next;
diff --git a/npc/quests/skills/bard_skills.txt b/npc/quests/skills/bard_skills.txt
index f2386a931..6fe904e28 100644
--- a/npc/quests/skills/bard_skills.txt
+++ b/npc/quests/skills/bard_skills.txt
@@ -57,7 +57,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
mes "done anything to you!";
mes "J-just s-stay away!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um...";
mes "I'm not really trying";
mes "to do anything. Why";
@@ -81,7 +81,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
mes "J-just s-stay away!";
next;
if (select("Offer him a drink.", "Reassure him that you're safe.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Look, I don't know what";
mes "you've got against me, but";
mes "you really need to relax.";
@@ -114,7 +114,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
mes "w-w-weird skill, d-did you?";
mes "Wait, no. You couldn't have...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh, please~";
mes "You know, I think";
mes "that maybe you";
@@ -184,7 +184,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
mes "having any control over your";
mes "body is so overwhelming!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, you're saying";
mes "a Bard did this to you?";
mes "I've never heard of a song";
@@ -278,7 +278,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
mes "having any control over your";
mes "body is so overwhelming!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wait, you're saying";
mes "a Bard did this to you?";
mes "I've never heard of a song";
@@ -342,7 +342,7 @@ prontera,174,328,3 script Young Man#bard_q1 4_M_ORIENT02,3,3,{
close;
}
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Don't worry,";
mes "I won't hurt you.";
next;
@@ -665,7 +665,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "Eh heh heh heh!";
emotion e_gg;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um...";
mes "What's so funny?";
next;
@@ -693,7 +693,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "at those two drunks";
mes "all the way over there.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yeah, I can see them.";
mes "But what's so special";
mes "about those two guys?";
@@ -741,7 +741,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "to gesticulate and move";
mes "wildly without direction.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Those two...";
mes "Those two probably";
mes "had way too much to drink.";
@@ -754,7 +754,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "scrambles their minds.";
next;
if (qskill_bard == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Mind scrambling?";
mes "Wait, are you the same";
mes "Bard who made someone";
@@ -811,7 +811,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "seasoned adventurer like you.";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Wha...?";
mes "I can't believe you.";
mes "Mind scrambling? That";
@@ -850,7 +850,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "Eh heh heh heh!";
emotion e_gg;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Um...";
mes "What's so funny?";
next;
@@ -878,7 +878,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "at those two drunks";
mes "all the way over there.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yeah, I can see";
mes "together. But what";
mes "about them?";
diff --git a/npc/quests/skills/blacksmith_skills.txt b/npc/quests/skills/blacksmith_skills.txt
index 28fee1274..9f77fb7ea 100644
--- a/npc/quests/skills/blacksmith_skills.txt
+++ b/npc/quests/skills/blacksmith_skills.txt
@@ -94,7 +94,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "the amount of zeny spent to";
mes "cast Mammonite by 10%. This";
mes "Passive skill might come in";
- mes "handy for you, "+ strcharinfo(0) +".";
+ mes "handy for you, "+ strcharinfo(PC_NAME) +".";
next;
mes "[Akkie]";
mes "Although I'm new at";
@@ -103,7 +103,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "Dubious Salesmanship?";
next;
if (select("Sure.", "No, thanks.") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sure. I'll try learning this";
mes "new skill. Who knows?";
mes "It might be really useful.";
@@ -145,7 +145,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "L-let me start all";
mes "over again. Uh...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "............";
next;
mes "[Akkie]";
@@ -156,7 +156,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "^0000FF1 Detrimindexta^000000. Would";
mes "you bring those, please?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sure, sure.";
mes "But are you actually";
mes "able to teach me this";
@@ -259,7 +259,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "Hmm. How should";
mes "I tell you this?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...";
mes "......";
mes ".........";
@@ -279,7 +279,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "Please d-don't be angry with";
mes "me, it was just an accident!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Okay, okay...";
mes "Are you sure that's";
mes "all you need me to get?";
@@ -322,10 +322,10 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes ".........";
mes "............";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "...?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh no...";
mes "Did... Did you...";
mes "Did something happen?";
@@ -336,7 +336,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "me! I c-can't finish forging";
mes "this without one! Waaah~";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^333333(I guess I should";
mes "really bring her a new";
mes "^FF0000Iron Hammer^333333, or else";
@@ -451,7 +451,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
else {
mes "[Akkie]";
if (Upper == 1) {
- mes "Hello, "+ strcharinfo(0) +",";
+ mes "Hello, "+ strcharinfo(PC_NAME) +",";
mes "I'm here on behalf of the";
mes "Blacksmith Guild to teach you";
mes "a new skill. However, your Job";
@@ -474,7 +474,7 @@ geffen,178,72,3 script Akkie#qsk_bs 4_F_JOB_BLACKSMITH,{
mes "like your Job Level is too low...";
next;
mes "[Akkie]";
- mes "I'm sorry, "+ strcharinfo(0) +",";
+ mes "I'm sorry, "+ strcharinfo(PC_NAME) +",";
mes "But you'll qualify for the";
mes "skill I teach after you";
mes "raise your Job Level.";
diff --git a/npc/quests/skills/crusader_skills.txt b/npc/quests/skills/crusader_skills.txt
index 11e3bea44..eb17fe1f2 100644
--- a/npc/quests/skills/crusader_skills.txt
+++ b/npc/quests/skills/crusader_skills.txt
@@ -58,7 +58,7 @@ geffen,110,117,3 script Ford#11 4_M_CRU_OLD,{
mes "arrived! Quick, show me";
mes "the ^FF0000report^000000 you've brought!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me...?";
mes "Oh, you must have";
mes "mistaken me for someone";
@@ -76,12 +76,12 @@ geffen,110,117,3 script Ford#11 4_M_CRU_OLD,{
else
mes "were dressed like a Crusader...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm sorry...";
mes "What's happening?";
mes "Is something the matter?";
mes "I'm an adventurer that";
- mes "goes by the name, "+ strcharinfo(0) +".";
+ mes "goes by the name, "+ strcharinfo(PC_NAME) +".";
next;
mes "[Ford]";
mes "Well, I'm Leslie Ford,";
@@ -164,7 +164,7 @@ geffen,110,117,3 script Ford#11 4_M_CRU_OLD,{
mes "So how is Sloutii?";
mes "Is everything all right?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here, I've brought";
mes "this report as soon as";
mes "I could! You better read";
@@ -178,7 +178,7 @@ geffen,110,117,3 script Ford#11 4_M_CRU_OLD,{
mes "situation! I need to report this to Sir Arga and request for";
mes "backup immediately!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, we need to do";
mes "something about Sloutii.";
mes "He was wounded by the";
@@ -263,7 +263,7 @@ geffen,110,117,3 script Ford#11 4_M_CRU_OLD,{
mes "Thanks once again,";
mes "and I hope to that you";
mes "travel in safety. For now,";
- mes "this is farewell, "+ strcharinfo(0) +".";
+ mes "this is farewell, "+ strcharinfo(PC_NAME) +".";
close;
}
else if (CRUS_SK == 10) {
@@ -319,7 +319,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "Hopefully, it's saved your";
mes "life as many times as it's";
mes "saved mine. Anyway, I'll";
- mes "see you around, "+ strcharinfo(0) +"~";
+ mes "see you around, "+ strcharinfo(PC_NAME) +"~";
close;
}
}
@@ -331,7 +331,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "have they done";
mes "to my legs?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wh-what happened?";
mes "Were you attacked?";
next;
@@ -343,7 +343,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "I've got to warn my superiors!";
mes "They're going to raid Geffen!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I actually spoke to";
mes "Sir Ford! You must be";
mes "Sloutii, right? He sent me";
@@ -357,7 +357,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "urgent request for backup.";
mes "U-ugh! We don't have time!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait...!";
mes "But what about";
mes "you? You're hurt...";
@@ -370,7 +370,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "Now, if I can just get that";
mes "report out of my-- OW! N-no...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^333333(He's writhing in pain";
mes "so much that he can't even";
mes "give me his report. I better";
@@ -381,7 +381,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
}
else if (CRUS_SK == 2) {
if (countitem(Red_Potion) > 0) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Here, please take";
mes "this Red Potion.";
mes "It just might help...";
@@ -418,7 +418,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "Arrrrgh! I-I can't move!";
mes "It... It just hurts so much!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "^333333(I better bring him";
mes "a Red Potion, otherwise";
mes "I have no hope of getting";
@@ -505,7 +505,7 @@ gef_fild13,297,242,3 script Soldier#277 4_M_CRU,{
mes "saved my life! I thought";
mes "I was going to die for sure!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Well, it's a good thing";
mes "I came in time. Sir Ford";
mes "had me visit Father Arthur to";
@@ -635,7 +635,7 @@ prt_church,87,127,3 script Pastor#1011 4_M_SAGE_C,{
mes "How may I be of";
mes "service to you today?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Someone was wounded";
mes "by Goblins, and I was told";
mes "by Sir Ford that you're the";
@@ -650,7 +650,7 @@ prt_church,87,127,3 script Pastor#1011 4_M_SAGE_C,{
mes "out of Goblin Poison Antidote";
mes "and must make it from scratch.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Tell me what you";
mes "need to make it, and";
mes "I'll bring you all of the";
diff --git a/npc/quests/skills/dancer_skills.txt b/npc/quests/skills/dancer_skills.txt
index e838b3702..82a516e5d 100644
--- a/npc/quests/skills/dancer_skills.txt
+++ b/npc/quests/skills/dancer_skills.txt
@@ -63,7 +63,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "tell there's a vitally important distinction between the two.";
mes "Now... Prepare for punishment!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ow...!";
mes "Th-that whip!";
mes "I-i-it huuuurts!";
@@ -79,7 +79,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "your gift of dancing is...";
mes "grounds for punishment!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "What the...? Ack!";
mes "S-stop wh-whipping";
mes "me! It... It stiiings!";
@@ -102,7 +102,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "for this blatant affront to our";
mes "profession! Prepare yourself!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Nooooo--!";
mes "Not that whip";
mes "again! Arrgh, it's--";
@@ -148,7 +148,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "''I am beautiful...";
mes "I am irresistable...''";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am beautiful...";
mes "I am irresistable...";
next;
@@ -160,7 +160,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "I am the most attractive";
mes "woman in the whole world!''";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am beautiful!";
mes "I am irresistable!";
mes "I am the most attractive";
@@ -234,7 +234,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "Were you able to learn";
mes "anything from her?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually, I only learned";
mes "about winks, but not so";
mes "much as how to do them.";
@@ -254,7 +254,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
specialeffect2 EF_HIT2;
percentheal -5,0;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "?!";
mes "What the";
mes "hell was that?";
@@ -297,7 +297,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "completely wrong!";
mes "Can't you do it right?!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "O-ow!";
mes "P-please...!";
mes "Not the whip again!";
@@ -305,7 +305,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
percentheal -5,0;
close;
case 3:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Un, deux, trois~";
emotion e_no1,1;
specialeffect2 EF_FLASHER;
@@ -432,7 +432,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
mes "and the Dead Pit. So";
mes "you want in on this?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually, um, I'm here";
mes "to look for somebody.";
mes "You wouldn't happen";
@@ -473,7 +473,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
mes "gotta bring me a refreshing";
mes "drink before we can begin...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oh... Okay.";
mes "Alright, I guess";
mes "I can spare a potion";
@@ -563,7 +563,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
mes "^333333*Wiiiiiiiiiiiiiink*^000000";
emotion e_no1;
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wh-whoa...";
mes "That was...";
mes "It's so beautiful!";
@@ -613,7 +613,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
}
}
else if (DANCER_SK == 6) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "You still haven't told";
mes "me the secret to making";
mes "a simple wink have so";
@@ -626,7 +626,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
mes "I'm a geeenius, yeah...";
mes "...ZzzzZzzzZzZzzzZZZzz...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W-wake up!";
mes "I went through";
mes "all this trouble to";
@@ -644,7 +644,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
end;
}
else if (DANCER_SK > 6 && DANCER_SK < 8) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Aelle, I really";
mes "need you to teach";
mes "me everything else";
diff --git a/npc/quests/skills/hunter_skills.txt b/npc/quests/skills/hunter_skills.txt
index b22360ec6..2d8aaf691 100644
--- a/npc/quests/skills/hunter_skills.txt
+++ b/npc/quests/skills/hunter_skills.txt
@@ -102,7 +102,7 @@ pay_arche,109,169,3 script Arpesto 4_M_05,{
}
}
else if (qskill_hunter == 1) {
- if (countitem(Cardinal_Jewel_) > 4 && countitem(Harpy's_Feather) > 4 && countitem(Pet_Food) > 29) {
+ if (countitem(Cardinal_Jewel_) > 4 && countitem(Harpys_Feather) > 4 && countitem(Pet_Food) > 29) {
mes "[Arpesto]";
mes "Hm? You're back?";
mes "Oh, did you bring";
@@ -222,7 +222,7 @@ pay_arche,109,169,3 script Arpesto 4_M_05,{
mes "sure you make good use";
mes "of that new skill. Take care~";
delitem Cardinal_Jewel_,5;
- delitem Harpy's_Feather,5;
+ delitem Harpys_Feather,5;
delitem Pet_Food,30;
qskill_hunter = 100;
skill "HT_PHANTASMIC",1,0;
diff --git a/npc/quests/skills/knight_skills.txt b/npc/quests/skills/knight_skills.txt
index b3ee6aec9..3e177243a 100644
--- a/npc/quests/skills/knight_skills.txt
+++ b/npc/quests/skills/knight_skills.txt
@@ -164,7 +164,7 @@ prt_in,85,99,3 script Knight#kabuto 4_M_JOB_KNIGHT2,{
mes "these days have grown soft...";
next;
if (select("Give him Candy Canes and Witherless Roses", "Cancel") == 1) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "There are still Knights";
mes "out there who believe in";
mes "honorably risking our lives";
diff --git a/npc/quests/skills/merchant_skills.txt b/npc/quests/skills/merchant_skills.txt
index ee84bd837..bee16543f 100644
--- a/npc/quests/skills/merchant_skills.txt
+++ b/npc/quests/skills/merchant_skills.txt
@@ -238,7 +238,7 @@ alberta,119,221,6 script Charlron 1_M_PAY_ELDER,{
next;
switch (select("That's why I came here.", "What about my cart?", "Two pairs is pitiful?")) {
case 1:
- if ((countitem(Wooden_Block) > 49) && (countitem(Iron) > 9) && (countitem(Animal's_Skin) > 19)) {
+ if ((countitem(Wooden_Block) > 49) && (countitem(Iron) > 9) && (countitem(Animals_Skin) > 19)) {
mes "[Charlron]";
mes "Haha! Ok, ok!";
mes "With the things you brought";
@@ -246,7 +246,7 @@ alberta,119,221,6 script Charlron 1_M_PAY_ELDER,{
next;
delitem Wooden_Block,50;
delitem Iron,10;
- delitem Animal's_Skin,20;
+ delitem Animals_Skin,20;
skill "MC_CHANGECART",1,0;
mes "[Charlron]";
mes "Congratulations.";
diff --git a/npc/quests/skills/priest_skills.txt b/npc/quests/skills/priest_skills.txt
index 8a6ec1740..9a63fba52 100644
--- a/npc/quests/skills/priest_skills.txt
+++ b/npc/quests/skills/priest_skills.txt
@@ -189,7 +189,7 @@ prt_church,111,112,1 script Sister Linus 1_F_PRIEST,{
mes "always be that spunky";
mes "and joyful girl to me.";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Wait, you still haven't";
mes "answered my question.";
mes "Are you praying for this";
@@ -218,7 +218,7 @@ prt_church,111,112,1 script Sister Linus 1_F_PRIEST,{
mes "have somewhere to go? Well,";
mes "I'll be praying for your safety~ ";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Before I go, would you";
mes "please tell me the name";
mes "of that High Priest you were";
diff --git a/npc/quests/skills/sage_skills.txt b/npc/quests/skills/sage_skills.txt
index c04577e51..420477f4f 100644
--- a/npc/quests/skills/sage_skills.txt
+++ b/npc/quests/skills/sage_skills.txt
@@ -178,7 +178,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
mes "you would. Very well then,";
mes "I hope you adeptly use these";
mes "talents for the right purposes.";
- mes "Farewell for now, "+strcharinfo(0)+".";
+ mes "Farewell for now, "+strcharinfo(PC_NAME)+".";
close;
}
else if(SAG_SK == 0) {
@@ -190,7 +190,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
next;
select("I seek new knowledge.");
mes "[Mishuna]";
- mes "Ah, you must be "+strcharinfo(0)+".";
+ mes "Ah, you must be "+strcharinfo(PC_NAME)+".";
mes "I've looked forward to meeting";
mes "you. In the noble pursuit of";
mes "knowledge, might I suggest";
@@ -266,7 +266,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
close;
}
else if(SAG_SK == 1) {
- if (countitem(Scorpion's_Tail) < 10 || countitem(Horn) < 7 || countitem(Colorful_Shell) < 12 || countitem(Snail's_Shell) < 10 || countitem(Scroll) < 4) {
+ if (countitem(Scorpions_Tail) < 10 || countitem(Horn) < 7 || countitem(Colorful_Shell) < 12 || countitem(Snails_Shell) < 10 || countitem(Scroll) < 4) {
mes "[Mishuna]";
mes "Hm, you still haven't";
mes "gathered all of the materials";
@@ -333,16 +333,16 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
mes "Creation skill by reviewing";
mes "your copy of Barmundt's scroll.^000000";
specialeffect2 EF_ABSORBSPIRITS;
- delitem Scorpion's_Tail,10; // Scorpion_Tail
+ delitem Scorpions_Tail,10;
delitem Horn,7; // Horn
delitem Colorful_Shell,12; // Rainbow_Shell
- delitem Snail's_Shell,10; // Snail's_Shell
+ delitem Snails_Shell,10;
delitem Scroll,4; // Blank_Scroll
SAG_SK = 2;
skill "SA_CREATECON",1,0;
next;
mes "[Mishuna]";
- mes "Wow, "+strcharinfo(0)+"!";
+ mes "Wow, "+strcharinfo(PC_NAME)+"!";
mes "You learned that skill";
mes "really quickly! No wonder";
mes "people say that you're one";
@@ -455,7 +455,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
mes "skill. So be aware of that.";
next;
mes "[Mishuna]";
- mes "Now, "+strcharinfo(0)+",";
+ mes "Now, "+strcharinfo(PC_NAME)+",";
mes "I'm going to cast a spell";
mes "that will help you memorize";
mes "the "+.@skill$[.@i]+" Elemental Change";
@@ -478,7 +478,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
skill .@skill[.@i],1,0;
next;
mes "[Mishuna]";
- mes strcharinfo(0)+"...";
+ mes strcharinfo(PC_NAME)+"...";
mes "I'm happy to say that you've";
mes "successfully memorized the";
mes .@skill$[.@i]+" Elemental Change skill.";
diff --git a/npc/quests/skills/thief_skills.txt b/npc/quests/skills/thief_skills.txt
index 6c56924f1..35cd38998 100644
--- a/npc/quests/skills/thief_skills.txt
+++ b/npc/quests/skills/thief_skills.txt
@@ -175,7 +175,7 @@ moc_prydb1,154,128,4 script Alcouskou 2_M_THIEFMASTER,{
close;
}
case 2:
- if ((countitem(Grasshopper's_Leg) > 19) && ((JobLevel > 34) || (BaseJob == Job_Assassin || BaseJob == Job_Rogue))) {
+ if ((countitem(Grasshoppers_Leg) > 19) && ((JobLevel > 34) || (BaseJob == Job_Assassin || BaseJob == Job_Rogue))) {
mes "[Alcouskou]";
mes "Okay! Let's practice!";
next;
@@ -192,7 +192,7 @@ moc_prydb1,154,128,4 script Alcouskou 2_M_THIEFMASTER,{
mes "Great! -At this level,";
mes "I am sure you can increase";
mes "your skill on your own.";
- delitem Grasshopper's_Leg,20;
+ delitem Grasshoppers_Leg,20;
skill "TF_BACKSLIDING",1,0;
close;
}
@@ -252,7 +252,7 @@ moc_prydb1,154,128,4 script Alcouskou 2_M_THIEFMASTER,{
mes "If not, I cannot teach you.";
close;
case 3:
- if ((countitem(Zargon) > 0) && (countitem(Bear's_Foot) > 0) && (countitem(Spawn) > 4) && ((JobLevel > 19) || (BaseJob == Job_Assassin || BaseJob == Job_Rogue))) {
+ if ((countitem(Zargon) > 0) && (countitem(Bears_Foot) > 0) && (countitem(Spawn) > 4) && ((JobLevel > 19) || (BaseJob == Job_Assassin || BaseJob == Job_Rogue))) {
mes "[Alcouskou]";
mes "Wow, you have already prepared?";
mes "Great, I see promise in you. -";
@@ -283,7 +283,7 @@ moc_prydb1,154,128,4 script Alcouskou 2_M_THIEFMASTER,{
mes "I hope it aids you in the future.";
mes ". . . . . Hope to see you soon";
delitem Zargon,1;
- delitem Bear's_Foot,1;
+ delitem Bears_Foot,1;
delitem Spawn,5;
skill "TF_PICKSTONE",1,0;
close;
diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt
index f72d48f42..4c42f6b39 100644
--- a/npc/quests/thana_quest.txt
+++ b/npc/quests/thana_quest.txt
@@ -98,7 +98,7 @@ hu_fild01,140,163,5 script Tower Keeper 4_M_EIN_SOLDIER,3,3,{
case 1:
if (thana_tower > 0) {
mes "[Gatei]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "Welcome back! Since you've";
mes "got a temporary Rekenber";
mes "work contract, your entrance";
@@ -327,7 +327,7 @@ L_Contract:
mes "out this employment";
mes "agreement first? Let's";
mes "see. Your name is...";
- mes strcharinfo(0) + ", right?";
+ mes strcharinfo(PC_NAME) + ", right?";
next;
select("Yes");
mes "[Ditze]";
@@ -345,7 +345,7 @@ L_Contract:
mes " ";
mes "1. This employment agreement";
mes "is effective between Rekenber";
- mes "Corporation (''Employer'') and "+strcharinfo(0)+"(''Employee'').";
+ mes "Corporation (''Employer'') and "+strcharinfo(PC_NAME)+"(''Employee'').";
mes "1-1. This employment agreement";
mes "is classified as a Mercernary";
mes "contract between both parties.";
@@ -469,7 +469,7 @@ tha_t01,140,78,4 script Guide#reward 4_F_ZONDAGIRL,{
close;
}
mes "[Liei]";
- mes "You're "+strcharinfo(0)+", yes?";
+ mes "You're "+strcharinfo(PC_NAME)+", yes?";
mes "Let me check our temp";
mes "employee records for--ah.";
mes "Here it is. Alright, so would";
@@ -550,7 +550,7 @@ tha_t02,231,161,5 script Entrance Guide 4_M_ZONDAMAN,{
mes "Oh, alright. Let me";
mes "check and see if you're";
mes "on our temp list. Hmmm...";
- mes "Ah, you're "+strcharinfo(0)+", right?";
+ mes "Ah, you're "+strcharinfo(PC_NAME)+", right?";
next;
mes "[Burled]";
if (getareausers("tha_t02",226,156,236,166) < 5) {
@@ -725,7 +725,7 @@ tha_t02,231,161,5 script Entrance Guide 4_M_ZONDAMAN,{
case 1:
callsub L_Request;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(What's the accident...?";
mes "He might let me know later...)";
close;
@@ -805,13 +805,13 @@ tha_t02,231,161,5 script Entrance Guide 4_M_ZONDAMAN,{
mes "This is supposed to theirs, but...";
next;
mes "[Burled]";
- mes "How would you like to keep this, "+strcharinfo(0)+"?";
+ mes "How would you like to keep this, "+strcharinfo(PC_NAME)+"?";
mes "Definitely this should be a secret.";
mes "...um, this is a little revenge for them.";
next;
mes "[Burled]";
mes "I can guess that there are several secrets in this tower through this note.";
- mes "This secret should be disclosed by you, "+strcharinfo(0)+", before Rekenber does.";
+ mes "This secret should be disclosed by you, "+strcharinfo(PC_NAME)+", before Rekenber does.";
next;
mes "[Burled]";
mes "No matter how much power they obtain... they won't get to know about this tower...";
@@ -824,7 +824,7 @@ tha_t02,231,161,5 script Entrance Guide 4_M_ZONDAMAN,{
mes "This isn't much, but here's a return present.";
next;
mes "[Burled]";
- mes "I hope that these will be useful for you, "+strcharinfo(0)+".";
+ mes "I hope that these will be useful for you, "+strcharinfo(PC_NAME)+".";
next;
mes "- Burled gives you the note and an Old Violet Box. -";
mes " ";
@@ -918,7 +918,7 @@ tha_t03,67,70,0 script Rune Device#tt1 HIDDEN_NPC,4,4,{
next;
switch(select("Investigate it.", "I don't care about it.")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This seems mysterious...";
mes "Let me investigate.";
next;
@@ -1191,7 +1191,7 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
close;
}
if ((countitem(Key_Red) > 0) && (countitem(Key_Yellow) > 0)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'll try the left wing first.";
mes "What key should I put in?";
next;
@@ -1203,7 +1203,7 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "The key fits and makes a click.";
mes "You feel the magical power growing stronger...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Now the right side...";
next;
input .@inputstr$;
@@ -1490,7 +1490,7 @@ tha_t06,226,230,0 script Brilliant Statue#tt4 HIDDEN_NPC,3,3,{
mes "but it was incomplete...";
mes "the guard of the gate was...^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It is hard to read.";
next;
mes "^b22222...So I changed the location";
diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt
index c796f5e5b..dd3750543 100644
--- a/npc/quests/the_sign_quest.txt
+++ b/npc/quests/the_sign_quest.txt
@@ -121,7 +121,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
next;
mes "[Metz]";
mes "Oh right, would you tell";
- mes "me your name? "+ strcharinfo(0) +"?";
+ mes "me your name? "+ strcharinfo(PC_NAME) +"?";
mes "Okay then, I'll remember that.";
mes "Talk to you later, alright?";
sign_q = 2;
@@ -307,7 +307,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "know right away. For now,";
mes "please hold on to these pieces.";
sign_q = 54;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
}
else if (sign_q == 54) {
if (rand(1,5) == 4) {
@@ -330,7 +330,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "the information that I have";
mes "to give you for now. You'll";
mes "have to investigate this lead";
- mes "on your own, "+ strcharinfo(0) +".";
+ mes "on your own, "+ strcharinfo(PC_NAME) +".";
}
else {
mes "Although I've made";
@@ -502,7 +502,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "Franklin translate the";
mes "message in the Record of";
mes "Ancient Language. Keep up";
- mes "the good work, "+ strcharinfo(0) +".";
+ mes "the good work, "+ strcharinfo(PC_NAME) +".";
}
else if (sign_q == 82) {
mes "I get it now!";
@@ -736,19 +736,19 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "accept this as a token";
mes "of my gratitude. Good luck";
mes "on your travels, adventurer.";
- if (checkweight(Star's_Sob,1) == 0) {
+ if (checkweight(Stars_Sob,1) == 0) {
next;
mes "^3355FFWait a second! Right now,";
mes "you have too many items in your inventory. Please come back after you've freed up more inventory space.^000000";
close;
}
- delitem Star's_Sob,1;
+ delitem Stars_Sob,1;
sign_q = 202;
getexp RENEWAL_EXP?10000:100000,0;
getitem Old_Violet_Box,1;
}
else if (sign_q > 201) {
- if (countitem(Star's_Sob) == 1) {
+ if (countitem(Stars_Sob) == 1) {
mes "I'm sorry...";
mes "But I'm taking";
mes "back the Sobbing";
@@ -759,7 +759,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "[Metz]";
mes "......";
mes "Farewell.";
- delitem Star's_Sob,1;
+ delitem Stars_Sob,1;
}
else {
mes "I guess I can't";
@@ -779,7 +779,7 @@ prt_in,227,45,0 script Archeologist#sign 1_M_SIGN1,{
mes "Well then...";
mes "Good luck on";
mes "your journeys,";
- mes "brave "+ strcharinfo(0) +".";
+ mes "brave "+ strcharinfo(PC_NAME) +".";
}
close2;
cutin "mets_alpha",255;
@@ -822,7 +822,7 @@ prt_in,228,26,5 script Steward#sign 1_M_JOBTESTER,{
}
}
else if (sign_q < 14) {
- mes "Ah, Master "+ strcharinfo(0) +".";
+ mes "Ah, Master "+ strcharinfo(PC_NAME) +".";
mes "Welcome. How may I be";
mes "of service today?";
next;
@@ -993,7 +993,7 @@ prt_in,248,23,0 script Maid#sign2 HIDDEN_NPC,{
}
else if (sign_q < 14) {
mes "Oh...?";
- mes ""+ strcharinfo(0) +"?";
+ mes ""+ strcharinfo(PC_NAME) +"?";
mes "Is there anything that";
mes "I can help you with?";
next;
@@ -1013,7 +1013,7 @@ prt_in,248,23,0 script Maid#sign2 HIDDEN_NPC,{
mes "to go out with you or";
mes "not? Hm, maybe if";
mes "you're really nice";
- mes "to me, , "+ strcharinfo(0) +".";
+ mes "to me, , "+ strcharinfo(PC_NAME) +".";
close;
case 2:
mes "[Elle]";
@@ -1040,7 +1040,7 @@ prt_in,248,23,0 script Maid#sign2 HIDDEN_NPC,{
mes "Maybe it's because";
mes "I don't go out too";
mes "often. You have nice";
- mes "I don't go out too, "+ strcharinfo(0) +"~";
+ mes "I don't go out too, "+ strcharinfo(PC_NAME) +"~";
close;
case 2:
mes "[Elle]";
@@ -1237,7 +1237,7 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
mes "Who the hell";
mes "are you, jerkface?";
next;
- switch(select("Metz sent me here.", "^0000FF"+ strcharinfo(0) +"^000000.", "Who are you then?")) {
+ switch(select("Metz sent me here.", "^0000FF"+ strcharinfo(PC_NAME) +"^000000.", "Who are you then?")) {
case 1:
mes "[Arian]";
mes "Oh yeah...?";
@@ -1250,7 +1250,7 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
case 2:
mes "[Arian]";
mes "Wha...?";
- mes "^0000FF"+ strcharinfo(0) +"^000000?";
+ mes "^0000FF"+ strcharinfo(PC_NAME) +"^000000?";
mes "Yeah, okay. Metz did";
mes "mention something about";
mes "about you. You're here";
@@ -1305,8 +1305,8 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
delitem Fluff,100;
if (countitem(Poison_Spore) > 49) {
delitem Poison_Spore,50;
- if (countitem(Scorpion's_Tail) > 29) {
- delitem Scorpion's_Tail,30;
+ if (countitem(Scorpions_Tail) > 29) {
+ delitem Scorpions_Tail,30;
if (countitem(Rotten_Bandage) > 19) {
delitem Rotten_Bandage,20;
if (countitem(Petite_DiablOfs_Horn) > 14) {
@@ -1335,8 +1335,8 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
mes "...";
if (countitem(Poison_Spore) > 49) {
delitem Poison_Spore,50;
- if (countitem(Scorpion's_Tail) > 29) {
- delitem Scorpion's_Tail,30;
+ if (countitem(Scorpions_Tail) > 29) {
+ delitem Scorpions_Tail,30;
if (countitem(Rotten_Bandage) > 19) {
delitem Rotten_Bandage,20;
if (countitem(Petite_DiablOfs_Horn) > 14) {
@@ -1364,8 +1364,8 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
case 6:
mes "[Arian]";
mes "...";
- if (countitem(Scorpion's_Tail) > 29) {
- delitem Scorpion's_Tail,30;
+ if (countitem(Scorpions_Tail) > 29) {
+ delitem Scorpions_Tail,30;
if (countitem(Rotten_Bandage) > 19) {
delitem Rotten_Bandage,20;
if (countitem(Petite_DiablOfs_Horn) > 14) {
@@ -1526,7 +1526,7 @@ morocc_in,115,154,5 script Rogue#sign 1_M_SIGNROGUE,{
else getexp 18000,0;
}
sign_q = 14;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
close;
case 14:
mes "[Arian]";
@@ -1910,9 +1910,9 @@ payon_in03,11,31,4 script Daewoon#sign 1_M_SIGNMONK2,{
mes "Come and drink with me~";
}
next;
- if (countitem(Part_Of_Star's_Sob) > 0) {
+ if (countitem(Part_Of_Stars_Sob) > 0) {
.@pay_point = 1;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sure...";
mes "But first, would you";
mes "take a look at this?";
@@ -2381,7 +2381,7 @@ payon_in03,11,31,4 script Daewoon#sign 1_M_SIGNMONK2,{
}
if (.@pay_point > 29) {
sign_q = 15;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
if (RENEWAL_EXP) {
if (BaseLevel < 60) getexp 300,0;
else if (BaseLevel < 70) getexp 750,0;
@@ -2425,7 +2425,7 @@ payon_in03,11,31,4 script Daewoon#sign 1_M_SIGNMONK2,{
}
else if ((.@pay_point > 26) && (.@pay_point < 30)) {
sign_q = 15;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
if (RENEWAL_EXP) {
if (BaseLevel < 60) getexp 300,0;
else if (BaseLevel < 70) getexp 750,0;
@@ -2586,7 +2586,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
callfunc "F_UpdateSignVars";
if (gettime(GETTIME_HOUR) > 16 && gettime(GETTIME_HOUR) < 22) {
if (sign_q == 15) {
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me...";
next;
emotion e_omg;
@@ -2636,7 +2636,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "Er. Then, what...";
mes "W-what's your name?";
next;
- select(strcharinfo(0) +", thanks.");
+ select(strcharinfo(PC_NAME) +", thanks.");
mes "[Sir Jore]";
mes "N-nice to meet you.";
mes "My name is Jore. Just";
@@ -2729,7 +2729,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "Now, for your assignment.";
mes "Have you ever heard about";
mes "the ^CE3131Stone of Sage^000000? Rumors about";
- mes "it have been spreading around, but no one has confirmed the truth about it, "+ strcharinfo(0) +".";
+ mes "it have been spreading around, but no one has confirmed the truth about it, "+ strcharinfo(PC_NAME) +".";
next;
mes "[Sir Jore]";
mes "Although I have no clue";
@@ -2801,7 +2801,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "So, did you learn what";
mes "exactly is the Stone of Sage?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Well, I'm not sure,";
mes "but I was told that it's";
mes "red and can cure people.";
@@ -2826,7 +2826,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "relying on a rumor...";
next;
sign_q = 20;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
mes "[Sir Jore]";
mes "Thank you very much";
mes "for helping me. Now I can";
@@ -2845,7 +2845,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "Good luck getting";
mes "all the pieces of ";
mes "Sobbing Starlight,";
- mes ""+ strcharinfo(0) +". Farewell~";
+ mes ""+ strcharinfo(PC_NAME) +". Farewell~";
close;
}
else {
@@ -2883,7 +2883,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
next;
switch(select("Speak to him.", "Ignore him.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Excuse me...";
next;
mes "[Sir Jore]";
@@ -2896,7 +2896,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
next;
switch(select("Try again.", "Ignore him.")) {
case 1:
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "EXCUSE ME!";
next;
mes "[Sir Jore]";
@@ -3217,7 +3217,7 @@ prt_maze02,14,183,4 script Gordon#sign 1_M_BARD,{
mes "here in the middle of";
mes "this forest?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually, I think";
mes "I've been looking for";
mes "you. I've been sent on";
@@ -3323,7 +3323,7 @@ prt_maze02,14,183,4 script Gordon#sign 1_M_BARD,{
mes "animal! What do you";
mes "think you were doing?";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Actually, I think";
mes "I've been looking for";
mes "you. I've been sent on";
@@ -3557,7 +3557,7 @@ geffen_in,59,74,4 script Jesqurienne#sign 1_F_SIGNZISK,{
mes "your little insult! It's time";
mes "for a Quiz Challenge!";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "Quiz... Challenge?";
mes "Like a trivia game?";
mes "But who's going to";
@@ -3680,7 +3680,7 @@ geffen_in,59,74,4 script Jesqurienne#sign 1_F_SIGNZISK,{
next;
mes "[Jesqurienne]";
sign_q = 25;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
mes "Here...";
mes "My old friend, Metz, told";
mes "me to give this to someone";
@@ -4350,7 +4350,7 @@ geffen_in,61,72,7 script Aaron#sign 4_M_SAGE_A,{
next;
mes "[Aaron]";
mes "Umm...";
- mes ""+ strcharinfo(0) +":";
+ mes ""+ strcharinfo(PC_NAME) +":";
mes ""+.@user_p+" points!";
next;
mes "[Aaron]";
@@ -4484,9 +4484,8 @@ cmd_in02,88,51,4 script Strange Guy#sign 1_M_SIGNART,{
mes "I'll freakin' beat you to near";
mes "freakin' death! Bam bam bam!";
close2;
- percentheal -100,0;
soundeffect "effect\\sign_noise.wav",1;
- percentheal -99,0;
+ Hp = 1;
warp "comodo",122,100;
end;
case 2:
@@ -4747,7 +4746,7 @@ cmd_in02,88,51,4 script Strange Guy#sign 1_M_SIGNART,{
mes "go find someone named,";
mes "um, ''Bakerlan'' in Alberta.";
sign_q = 35;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
if (RENEWAL_EXP) {
if (BaseLevel < 60) getexp 300,0;
else if (BaseLevel < 70) getexp 700,0;
@@ -4784,7 +4783,7 @@ cmd_in02,88,51,4 script Strange Guy#sign 1_M_SIGNART,{
mes "go find someone named,";
mes "um, ''Bakerlan'' in Alberta.";
sign_q = 35;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
Zeny += 20000;
if (RENEWAL_EXP) {
if (BaseLevel < 60) getexp 300,0;
@@ -4953,7 +4952,7 @@ cmd_in01,33,25,5 script Examiner#sign 4_F_07,{
}
else if (sign_q == 32) {
mes "Let's see...";
- mes "You're "+ strcharinfo(0) +"?";
+ mes "You're "+ strcharinfo(PC_NAME) +"?";
mes "Oh, what a shame!";
mes "You failed this time.";
mes "But don't you worry...";
@@ -4968,7 +4967,7 @@ cmd_in01,33,25,5 script Examiner#sign 4_F_07,{
}
else if (sign_q == 33) {
mes "Let's see...";
- mes "You're "+ strcharinfo(0) +"?";
+ mes "You're "+ strcharinfo(PC_NAME) +"?";
mes "Congratulations!";
mes "You passed the test!";
next;
@@ -4981,7 +4980,7 @@ cmd_in01,33,25,5 script Examiner#sign 4_F_07,{
}
else if (sign_q == 34) {
mes "Let's see...";
- mes "You're "+ strcharinfo(0) +"?";
+ mes "You're "+ strcharinfo(PC_NAME) +"?";
mes "Congratulations!";
mes "You got a perfect";
mes "score on this test!";
@@ -5166,8 +5165,8 @@ OnInit:
end;
OnEnable:
- specialeffect EF_SUMMONSLAVE;
enablenpc "s_dance#up";
+ specialeffect EF_SUMMONSLAVE;
end;
OnDisable:
@@ -5222,8 +5221,8 @@ OnInit:
end;
OnEnable:
- specialeffect EF_SUMMONSLAVE;
enablenpc "s_dance#down";
+ specialeffect EF_SUMMONSLAVE;
end;
OnDisable:
@@ -5299,8 +5298,8 @@ OnInit:
OnEnable:
- specialeffect EF_SUMMONSLAVE;
enablenpc "s_dance#left";
+ specialeffect EF_SUMMONSLAVE;
end;
OnDisable:
@@ -5367,8 +5366,8 @@ OnInit:
end;
OnEnable:
- specialeffect EF_SUMMONSLAVE;
enablenpc "s_dance#right";
+ specialeffect EF_SUMMONSLAVE;
end;
OnDisable:
@@ -5441,8 +5440,8 @@ OnInit:
end;
OnEnable:
- specialeffect EF_SUMMONSLAVE;
enablenpc "s_dance#cen";
+ specialeffect EF_SUMMONSLAVE;
end;
OnDisable:
@@ -5572,7 +5571,7 @@ alberta_in,125,101,5 script Wealthy-looking Merchant 1_M_SIGNMCNT,{
mes "my time is quite precious.";
close;
case 2:
- if (countitem(Part_Of_Star's_Sob) < 5) {
+ if (countitem(Part_Of_Stars_Sob) < 5) {
mes "[Bakerlan]";
mes "Hmm, I suppose you";
mes "still haven't completed";
@@ -5581,7 +5580,7 @@ alberta_in,125,101,5 script Wealthy-looking Merchant 1_M_SIGNMCNT,{
mes "Starlight, you know...";
close;
}
- else if (countitem(Part_Of_Star's_Sob) == 5) {
+ else if (countitem(Part_Of_Stars_Sob) == 5) {
mes "[Bakerlan]";
mes "Ah, now I see that";
mes "you speak the truth.";
@@ -5656,7 +5655,7 @@ alberta_in,125,101,5 script Wealthy-looking Merchant 1_M_SIGNMCNT,{
mes "Now bring all of the stone pieces to Metz.";
mes "He will tell you what you need to do next.";
sign_q = 53;
- getitem Part_Of_Star's_Sob,1;
+ getitem Part_Of_Stars_Sob,1;
if (RENEWAL_EXP) {
if (BaseLevel < 60) getexp 500,0;
else if (BaseLevel < 70) getexp 800,0;
@@ -6288,7 +6287,7 @@ alde_alche,169,162,7 script Alchemist#sign 4_M_ALCHE_B,{
mes "everything ready...";
next;
mes "[Melkaba]";
- if ((countitem(Royal_Jelly) < 10) || (countitem(Honey) < 20) || (countitem(Bear's_Foot) < 30) || (countitem(Leaflet_Of_Hinal) < 1) || (countitem(Ment) < 1) || (countitem(Empty_Bottle) < 1)) {
+ if ((countitem(Royal_Jelly) < 10) || (countitem(Honey) < 20) || (countitem(Bears_Foot) < 30) || (countitem(Leaflet_Of_Hinal) < 1) || (countitem(Ment) < 1) || (countitem(Empty_Bottle) < 1)) {
mes "Hmm, you're still";
mes "missing some of the";
mes "ingredients. Now, listen";
@@ -6359,7 +6358,7 @@ alde_alche,169,162,7 script Alchemist#sign 4_M_ALCHE_B,{
Zeny -= 10000;
delitem Royal_Jelly,10;
delitem Honey,20;
- delitem Bear's_Foot,30;
+ delitem Bears_Foot,30;
delitem Leaflet_Of_Hinal,1;
delitem Ment,1;
delitem Empty_Bottle,1;
@@ -6377,7 +6376,7 @@ alde_alche,169,162,7 script Alchemist#sign 4_M_ALCHE_B,{
specialeffect EF_PHARMACY_FAIL;
delitem Royal_Jelly,10;
delitem Honey,20;
- delitem Bear's_Foot,30;
+ delitem Bears_Foot,30;
delitem Leaflet_Of_Hinal,1;
delitem Ment,1;
delitem Empty_Bottle,1;
@@ -6499,7 +6498,7 @@ alberta_in,114,178,5 script Refined Steward 4_M_MANAGER,{
mes "a unique stone that has";
mes "your name attached to it.^000000";
sign_q = 38;
- getnameditem 7049,strcharinfo(0);
+ getnameditem 7049,strcharinfo(PC_NAME);
close;
}
else if (sign_q == 38 || (sign_q == 39 && countitem(Receipt_01) < 1)) {
@@ -6837,7 +6836,7 @@ yuno,330,100,4 script Knight#ss 4_M_JOB_KNIGHT2,{
}
}
else {
- .@signid = getcharid(0,strcharinfo(0));
+ .@signid = getcharid(CHAR_ID_CHAR,strcharinfo(PC_NAME));
.@sign3 = .@signid & 65535;
.@sign4 = .@signid >> 16;
.@sign1 = 254;
@@ -6945,7 +6944,7 @@ geffen_in,159,48,5 script Lonely-looking Woman 4_F_05,{
mes "enter someone's house without";
mes "being invited? Besides, I don't have the time to help strangers while I'm busy making dinner...";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "W-wait!";
mes "I'm here to see...";
next;
@@ -7280,7 +7279,7 @@ mjo_dun02,88,295,4 script Flaming Spirit Man 4_M_03,{
mes "[Engel]";
mes "Right. Let me guide you to a shortcut to the exit of these mines, just in case you don't know your way out of here. Good luck~";
delitem Picture_Letter,1;
- delitem Part_Of_Star's_Sob,7;
+ delitem Part_Of_Stars_Sob,7;
sign_q = 57;
close2;
warp "mjo_dun02",371,344;
@@ -7387,7 +7386,7 @@ mjo_dun02,88,295,4 script Flaming Spirit Man 4_M_03,{
mes "While you were gone, I managed to restore this Sobbing Starlight. Why don't you go ahead and take a look?";
next;
sign_q = 71;
- getitem Star's_Sob,1;
+ getitem Stars_Sob,1;
specialeffect2 EF_YUFITELHIT;
next;
mes "[Engel]";
@@ -7507,7 +7506,7 @@ mjo_dun02,88,295,4 script Flaming Spirit Man 4_M_03,{
if (countitem(Golden_Anvil) > 0) delitem Golden_Anvil,1;
else if (countitem(Emperium_Anvil) > 0) delitem Emperium_Anvil,1;
sign_q = 71;
- getitem Star's_Sob,1;
+ getitem Stars_Sob,1;
specialeffect2 EF_YUFITELHIT;
close;
}
@@ -8164,7 +8163,7 @@ gef_fild07,182,241,0 script #Valkyrie Warp HIDDEN_NPC,1,1,{
OnTouch:
if ((sign_q == 80) && (countitem(Resin) > 3) && (countitem(Stone_Heart) > 11) && (countitem(Coral_Reef) > 364)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What the...?";
mes "What's happening?!";
specialeffect2 EF_BEGINSPELL6;
@@ -8218,7 +8217,7 @@ himinn,48,86,5 script Valkyrie#sign 4_F_VALKYRIE,{
end;
}
else if (sign_q == 81) {
- mes "Welcome, "+strcharinfo(0)+",";
+ mes "Welcome, "+strcharinfo(PC_NAME)+",";
mes "to this realm of holiness.";
mes "You have endured great difficulty and tested your courage to obtain the Sobbing Starlight, which will be the certificate for your test.";
next;
@@ -8326,7 +8325,7 @@ himinn,48,86,5 script Valkyrie#sign 4_F_VALKYRIE,{
next;
mes "[Valkyrie Sandra]";
mes "Congratulations,";
- mes ""+ strcharinfo(0) +". Verily,";
+ mes ""+ strcharinfo(PC_NAME) +". Verily,";
mes "you are an honorable";
mes "hero worthy of praise!";
sign_q = 137;
@@ -8637,7 +8636,7 @@ que_sign01,196,39,4 script Serin#serin 4_F_01,{
.@fail_s3 = rand(1,600);
.@fail_s4 = rand(1,500);
.@fail_s5 = rand(1,400);
- if (countitem(Serin's_Gold_Ring_) == 1) {
+ if (countitem(Serins_Gold_Ring_) == 1) {
if (((sign_sq == 0) && (.@fail_s3 == 356)) || ((sign_sq == 1) && (.@fail_s2 == 356)) || (.@fail_s1 == 356)) {
sign_q = 200;
mes "[Serin]";
@@ -8796,7 +8795,7 @@ que_sign01,197,195,4 script Serin#witch 4_F_01,{
mes "pity my situation since you've";
mes "never been bound to Niflheim,";
mes "but I'm begging you. Don't get";
- mes "in my way, "+strcharinfo(0)+".";
+ mes "in my way, "+strcharinfo(PC_NAME)+".";
next;
switch(select("I can't let you do this!", "Okay, have it your way.")) {
case 1:
@@ -8830,7 +8829,7 @@ que_sign01,197,195,4 script Serin#witch 4_F_01,{
}
}
else if (sign_q == 125) {
- if (countitem(Serin's_Gold_Ring_) ==1) {
+ if (countitem(Serins_Gold_Ring_) ==1) {
mes "[Serin]";
mes "If you think that";
mes "I can't summon Dark Lord";
@@ -8958,7 +8957,7 @@ que_sign01,197,195,4 script Serin#witch 4_F_01,{
mes "Farewell, now.";
mes "And good luck on";
mes "your travels, my friend...";
- delitem Witch's_Potion,1;
+ delitem Witchs_Potion,1;
sign_q = 127;
close;
}
@@ -8978,9 +8977,9 @@ que_sign01,197,195,4 script Serin#witch 4_F_01,{
.@fail_s3 = rand(1,800);
.@fail_s4 = rand(1,700);
.@fail_s5 = rand(1,600);
- if (countitem(Serin's_Gold_Ring_) == 1) {
+ if (countitem(Serins_Gold_Ring_) == 1) {
if (((sign_sq == 0) && (.@fail_s3 == 356)) || ((sign_sq == 1) && (.@fail_s2 == 356)) || (.@fail_s1 == 356)) {
- delitem Witch's_Potion,1;
+ delitem Witchs_Potion,1;
sign_q = 200;
mes "[Serin]";
mes "Even though you tried";
@@ -9027,7 +9026,7 @@ que_sign01,197,195,4 script Serin#witch 4_F_01,{
}
else {
if (((sign_sq == 0) && (.@fail_s5 == 356)) || ((sign_sq == 1) && (.@fail_s4 == 356)) || (.@fail_s3 == 356)) {
- delitem Witch's_Potion,1;
+ delitem Witchs_Potion,1;
sign_q = 200;
mes "[Serin]";
mes "Even though you tried";
@@ -9220,7 +9219,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes "I want you to have this ring. It's the only way I can properly express my gratitude for your aid so far.";
sign_q = 85;
sign_sq = 0;
- getitem Serin's_Gold_Ring,1;
+ getitem Serins_Gold_Ring,1;
close;
}
else {
@@ -9265,16 +9264,16 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
}
else if (sign_q < 92) {
mes "[Serin]";
- mes "Hello, "+strcharinfo(0)+",";
+ mes "Hello, "+strcharinfo(PC_NAME)+",";
mes "I'm surprised that";
mes "you've managed to survive";
mes "here all this time. It's no small feat for a mortal to be able to remain alive in Niflheim...";
close;
}
else if (sign_q == 92) {
- if (countitem(Serin's_Gold_Ring) > 0) {
+ if (countitem(Serins_Gold_Ring) > 0) {
mes "[Serin]";
- mes "Ah, "+strcharinfo(0)+"~";
+ mes "Ah, "+strcharinfo(PC_NAME)+"~";
mes "How is everything?";
mes "Once again, I want to";
mes "thank you for helping the";
@@ -9290,7 +9289,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
}
else {
mes "[Serin]";
- mes "Ah, "+strcharinfo(0)+"~";
+ mes "Ah, "+strcharinfo(PC_NAME)+"~";
mes "How is everything?";
next;
mes "[Serin]";
@@ -9461,7 +9460,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes "If you obtain the";
mes "Symbol of Nine Realms,";
mes "please bring it to me";
- mes "right away, "+strcharinfo(0)+".";
+ mes "right away, "+strcharinfo(PC_NAME)+".";
close;
}
else if (sign_q == 118) {
@@ -9531,7 +9530,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes "...";
mes "......";
mes "..........";
- if (countitem(Serin's_Gold_Ring_) == 1) {
+ if (countitem(Serins_Gold_Ring_) == 1) {
next;
switch(select("Give Serin her ring.", "Keep the ring.")) {
case 1:
@@ -9541,7 +9540,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes ".............";
next;
mes "[Serin]";
- mes "...."+strcharinfo(0)+".....";
+ mes "...."+strcharinfo(PC_NAME)+".....";
mes "I don't want to forget you.";
mes "I can forget my obsession with";
mes "life and all my other memories,";
@@ -9564,7 +9563,7 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes "to forget her sadness. The tears streaked across her cheeks and";
mes "the faint smile on her lips tell you that her memories of you";
mes "will always remain in her heart.^000000";
- delitem Serin's_Gold_Ring_,1;
+ delitem Serins_Gold_Ring_,1;
getexp RENEWAL_EXP?50000:500000,0;
close;
case 2:
@@ -9730,23 +9729,23 @@ niflheim,313,70,4 script Pleasant-Featured Lady#s 4_F_01,{
mes "of her soul and memories that";
mes "you can still sense somehow.";
mes "What could have happened to her?^000000";
- if (countitem(Serin's_Gold_Ring) > 0) {
+ if (countitem(Serins_Gold_Ring) > 0) {
next;
mes "^33555FFSuddenly, Serin's";
mes "gold ring sparkled";
mes "with a soft glow and";
mes "faded away.^000000";
- delitem Serin's_Gold_Ring,1;
+ delitem Serins_Gold_Ring,1;
close;
}
close;
}
else {
- if (countitem(Serin's_Gold_Ring) > 0) {
+ if (countitem(Serins_Gold_Ring) > 0) {
mes "[Serin]";
mes "Thank you...";
emotion e_sob;
- delitem Serin's_Gold_Ring,1;
+ delitem Serins_Gold_Ring,1;
next;
mes "^3355FFYou returned";
mes "Serin's gold ring.^000000";
@@ -9776,7 +9775,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "You must be here to";
mes "help your friend take";
mes "care of Serin. Are you";
- mes "ready to go, "+strcharinfo(0)+"?";
+ mes "ready to go, "+strcharinfo(PC_NAME)+"?";
next;
switch(select("Yes.", "Not yet...")) {
case 1:
@@ -9810,7 +9809,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
}
}
if (sign_q == 90) {
- if (countitem(Serin's_Gold_Ring) == 1) {
+ if (countitem(Serins_Gold_Ring) == 1) {
mes "That bastard stole";
mes "two spell books from me.";
mes "You've brought one of them";
@@ -9835,7 +9834,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
}
}
else if (sign_q == 91) {
- if (countitem(Witch's_Spell_Book) > 0) {
+ if (countitem(Witchs_Spell_Book) > 0) {
mes "Once that fool stole my spell";
mes "books, he was cursed after he";
mes "cast those spells without my";
@@ -9913,7 +9912,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "that the Queen of the Dead";
mes "is searching for her lost mother, Angrboda. Now, if you could find where Angrboda has been";
mes "sealed away...";
- delitem Witch's_Spell_Book,1;
+ delitem Witchs_Spell_Book,1;
sign_q = 92;
close;
}
@@ -10024,12 +10023,12 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
}
}
else if (sign_q == 119) {
- if (countitem(Serin's_Gold_Ring) > 0) {
+ if (countitem(Serins_Gold_Ring) > 0) {
mes "This is Serin's gold ring?";
mes "Excellent, this has been";
mes "strongly infused with her";
mes "vibes. It's really tough to find something like this that resonates so strongly with its owner.";
- delitem Serin's_Gold_Ring,1;
+ delitem Serins_Gold_Ring,1;
sign_q = 120;
close;
}
@@ -10206,8 +10205,8 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "of the vouchers I've";
mes "given you, alright?";
sign_q = 124;
- getitem Witch's_Potion,1;
- getitem Serin's_Gold_Ring_,1;
+ getitem Witchs_Potion,1;
+ getitem Serins_Gold_Ring_,1;
getitem Seal_Of_Witch,5;
close;
}
@@ -10242,7 +10241,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "the Witch's Medals that";
mes "I've lent to you, alright?";
sign_q = 124;
- getitem Witch's_Potion,1;
+ getitem Witchs_Potion,1;
getitem Seal_Of_Witch,5;
close;
}
@@ -10255,7 +10254,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "these preparations...";
close;
}
- if (countitem(Serin's_Gold_Ring_) == 1) {
+ if (countitem(Serins_Gold_Ring_) == 1) {
mes "You're finally";
mes "back. We might not";
mes "have enough time to";
@@ -10288,7 +10287,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "[Kirkena]";
mes "Okay then.";
mes "Good luck,";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
close2;
warp "que_sign02",35,313;
end;
@@ -10302,7 +10301,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
}
}
else if ((sign_q == 127) || (sign_q == 128)) {
- if (countitem(Serin's_Gold_Ring_) == 1) {
+ if (countitem(Serins_Gold_Ring_) == 1) {
if (countitem(Seal_Of_Witch) < 5) {
mes "Hmmm...?";
mes "Where are all the";
@@ -10324,7 +10323,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "Once again, thank";
mes "you so much for your";
mes "help. Once you finish here,";
- mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason, "+strcharinfo(0)+"...";
+ mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason, "+strcharinfo(PC_NAME)+"...";
delitem Seal_Of_Witch,5;
sign_q = 129;
getexp RENEWAL_EXP?50000:500000,0;
@@ -10380,7 +10379,7 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "you so much for your";
mes "help. Once you finish here,";
mes "please visit our queen, Lady Hell. I believe she wants to see you for some reason...";
- if (countitem(Serin's_Gold_Ring_) == 1) sign_q = 129;
+ if (countitem(Serins_Gold_Ring_) == 1) sign_q = 129;
else sign_q = 130;
getexp RENEWAL_EXP?30000:300000,0;
close;
@@ -10409,8 +10408,8 @@ que_sign01,122,141,4 script Witch#s 4_F_NFDEADMGCIAN,{
mes "her for that. Though, it's";
mes "ironic that you failed your";
mes "ordeals for her sake...";
- if (countitem(Serin's_Gold_Ring) > 0) delitem Serin's_Gold_Ring,1;
- if (countitem(Witch's_Potion) > 0) delitem Witch's_Potion,1;
+ if (countitem(Serins_Gold_Ring) > 0) delitem Serins_Gold_Ring,1;
+ if (countitem(Witchs_Potion) > 0) delitem Witchs_Potion,1;
sign_q = 201;
getexp RENEWAL_EXP?20000:200000,0;
close;
@@ -10443,7 +10442,7 @@ OnTouch:
callfunc "F_UpdateSignVars";
if (sign_q == 83) {
if (sign_sq == 2) {
- if (countitem(Witch's_Spell_Book) > 0) {
+ if (countitem(Witchs_Spell_Book) > 0) {
mes "[Kirkena]";
mes "W-what's this?";
mes "Why is it that";
@@ -10481,7 +10480,7 @@ OnTouch:
mes "give you this. It will send";
mes "a living human back to one";
mes "of the towns in your realm.";
- delitem Witch's_Spell_Book,1;
+ delitem Witchs_Spell_Book,1;
sign_sq = 3;
getitem Wing_Of_Crow,1;
close;
@@ -10588,7 +10587,7 @@ OnTouch:
close;
}
else if (sign_q == 88) {
- if (countitem(Serin's_Gold_Ring) > 0) {
+ if (countitem(Serins_Gold_Ring) > 0) {
mes "[Kirkena]";
mes "As I expected,";
mes "there is something behind";
@@ -10662,7 +10661,7 @@ OnTouch:
mes "and take the ^FF0000secret passage";
mes "through the right side of the";
mes "portrait on the second floor^000000";
- mes "of this castle, "+strcharinfo(0)+".";
+ mes "of this castle, "+strcharinfo(PC_NAME)+".";
sign_q = 92;
next;
mes "[Kirkena]";
@@ -10764,7 +10763,7 @@ que_sign01,45,227,4 script Queen of the Dead 2_F_SIGN1,{
mes "invitation? Insolent mortal!";
mes "Go back to where you belong!^000000";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
else if (sign_q == 117) {
@@ -10826,7 +10825,7 @@ que_sign01,45,227,4 script Queen of the Dead 2_F_SIGN1,{
mes "^8C1717Ah.";
mes "You are the";
mes "mortal called";
- mes ""+strcharinfo(0)+", are you not?";
+ mes ""+strcharinfo(PC_NAME)+", are you not?";
mes "Yes, you are known to me.^000000";
next;
mes "[Lady Hell]";
@@ -10866,7 +10865,7 @@ que_sign01,45,227,4 script Queen of the Dead 2_F_SIGN1,{
mes "Now, I shall show";
mes "you something truly";
mes "interesting...^000000";
- delitem Star's_Sob,1;
+ delitem Stars_Sob,1;
sign_q = 143;
close;
case 2:
@@ -10914,7 +10913,7 @@ que_sign01,45,227,4 script Queen of the Dead 2_F_SIGN1,{
mes "Sobbing Starlight.^000000";
next;
sign_q = 144;
- getitem Lucifer's_Lament,1;
+ getitem Lucifers_Lament,1;
mes "[Lady Hell]";
mes "^8C1717Although you may also know";
mes "this object as God's Tear Drop, keep in mind that history, as you humans know it, may actually be different than the truth.^000000";
@@ -10963,7 +10962,7 @@ niflheim,146,241,0 script Depressing Man 4_M_JOB_WIZARD,{
close;
}
else if (sign_q == 87) {
- if (countitem(Serin's_Gold_Ring) > 1) {
+ if (countitem(Serins_Gold_Ring) > 1) {
mes "[Gen]";
mes "You lookin' for";
mes "something? Crayu";
@@ -11737,12 +11736,12 @@ OnTouch:
if (sign_q == 83) {
if(sign_sq == 0) {
sign_sq = 1;
- getitem Witch's_Spell_Book,1;
+ getitem Witchs_Spell_Book,1;
}
}
else if (sign_q == 90) {
sign_q = 91;
- getitem Witch's_Spell_Book,1;
+ getitem Witchs_Spell_Book,1;
}
close;
}
@@ -11835,7 +11834,7 @@ OnTouch:
mes "your point of view.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What do I need";
mes "to do to become one";
mes "of the chosen warriors?";
@@ -11978,11 +11977,11 @@ function script F_SignSeal {
mes "more powerful to break the seal...^000000";
close;
}
- if (countitem(Girl's_Diary) || countitem(Rapture_Rose)) {
+ if (countitem(Girls_Diary) || countitem(Rapture_Rose)) {
if (getarg(0) < 980) F_SealFail; }
else if (countitem(Weeder_Knife) || countitem(Combat_Knife) || countitem(Princess_Knife) || countitem(Cursed_Dagger) || countitem(Lariat) || countitem(Kaiser_Knuckle)) {
if (getarg(0) < 960) F_SealFail; }
- else if (countitem(Bow_Of_Roguemaster) || countitem(Nagan) || countitem(Fire_Brand) || countitem(Forturn_Sword) || countitem(Mama's_Knife) || countitem(Bazerald) || countitem(Gungnir) || countitem(Berserk) || countitem(Counter_Dagger)) {
+ else if (countitem(Bow_Of_Roguemaster) || countitem(Nagan) || countitem(Fire_Brand) || countitem(Forturn_Sword) || countitem(Mamas_Knife) || countitem(Bazerald) || countitem(Gungnir) || countitem(Berserk) || countitem(Counter_Dagger)) {
if (getarg(0) < 940) F_SealFail; }
else if (countitem(Ice_Falchon) || countitem(House_Auger) || countitem(Assasin_Dagger)) {
if (getarg(0) < 920) F_SealFail; }
@@ -12004,7 +12003,7 @@ function script F_SignSeal {
if (getarg(0) < 760) F_SealFail; }
else if (countitem(Sabbath) || countitem(Right_Epsilon) || countitem(Wizardy_Staff)) {
if (getarg(0) < 740) F_SealFail; }
- else if (countitem(Slaughter) || countitem(Tomahawk) || countitem(Crescent_Scythe) || countitem(Longinus's_Spear)) {
+ else if (countitem(Slaughter) || countitem(Tomahawk) || countitem(Crescent_Scythe) || countitem(Longinuss_Spear)) {
if (getarg(0) < 720) F_SealFail; }
else if (countitem(Guillotine) || countitem(Brionac)) {
if (getarg(0) < 700) F_SealFail; }
@@ -12202,7 +12201,7 @@ que_sign01,46,56,0 script Fountain#sign HIDDEN_NPC,{
case 1:
mes "...";
close2;
- percentheal -100,0;
+ unitkill getcharid(CHAR_ID_ACCOUNT);
end;
case 2:
mes "...";
@@ -12284,7 +12283,7 @@ OnTimer45000:
geffen,119,48,0 script Fountain#s HIDDEN_NPC,{
callfunc "F_UpdateSignVars";
- if (countitem(Lucifer's_Lament) > 0) {
+ if (countitem(Lucifers_Lament) > 0) {
mes "^3355FFAs you approach the fountain,";
mes "a strange light begins to emit from the Lucifer's Lament in your pocket and from something deep within";
mes "the fountain's water.^000000";
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index 7817db3b8..d140a0d24 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -842,7 +842,7 @@ OnTouch:
emotion e_sob;
emotion e_swt2;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, kid...";
next;
mes "[Ukki]";
@@ -854,7 +854,7 @@ OnTouch:
emotion e_sob;
emotion e_swt2;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "... ... ...";
emotion e_dots,1;
close;
diff --git a/npc/re/cities/dicastes.txt b/npc/re/cities/dicastes.txt
index 43571facb..a00a549ac 100644
--- a/npc/re/cities/dicastes.txt
+++ b/npc/re/cities/dicastes.txt
@@ -641,7 +641,7 @@ dicastes01,191,202,4 script Complaining Galten#fihs 4_MAN_GALTUN,{
mes "[Complaining Galten]";
mes "You also fell for that crazy man.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes";
emotion e_sob,1;
next;
@@ -684,18 +684,18 @@ dicastes01,202,197,4 script Crazy Venknick#fihsing1 4_MAN_BENKUNI,{
mes "Thanks.";
emotion e_gg,0,"Complaining Galten#fihs";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is the sad legend?";
next;
emotion e_dots;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I asked what the sad legend is about!";
next;
mes "[Crazy Venknick]";
mes "I don't believe in legends.";
next;
emotion e_dots,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Was I tricked?";
sc_start SC_BLIND,20000,0;
next;
diff --git a/npc/re/cities/malaya.txt b/npc/re/cities/malaya.txt
index c8171b9d6..f18bbd0af 100644
--- a/npc/re/cities/malaya.txt
+++ b/npc/re/cities/malaya.txt
@@ -183,17 +183,17 @@ OnBingx2:
donpcevent strnpcinfo(NPC_NAME)+"::OnDisable";
end;
OnTouch:
- if (getcharid(1)) {
- if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ if (getcharid(CHAR_ID_PARTY)) {
+ if ($ma_name04$ == strcharinfo(PC_NAME) || $ma_name05$ == strcharinfo(PC_NAME) || $ma_name06$ == strcharinfo(PC_NAME)) {
donpcevent strnpcinfo(NPC_NAME)+"::OnBingx2";
mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
close;
}
if (rand(1,5)%2) {
switch(atoi(strnpcinfo(NPC_NAME_HIDDEN))) {
- case 1: $ma_name04$ = strcharinfo(0); break;
- case 5: $ma_name05$ = strcharinfo(0); break;
- case 9: $ma_name06$ = strcharinfo(0); break;
+ case 1: $ma_name04$ = strcharinfo(PC_NAME); break;
+ case 5: $ma_name05$ = strcharinfo(PC_NAME); break;
+ case 9: $ma_name06$ = strcharinfo(PC_NAME); break;
}
}
donpcevent strnpcinfo(NPC_NAME)+"::OnBingx2";
@@ -236,7 +236,7 @@ OnBingx2:
OnTouch:
.@i = atoi(strnpcinfo(NPC_NAME_HIDDEN));
if (.@i%4 == 2) {
- if (getcharid(0) == getpartyleader(getcharid(1),2))
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2))
.@pass = 1;
} else if (.@i%4 == 3) {
if (questprogress(4229,PLAYTIME) && questprogress(9223,PLAYTIME) && questprogress(12278,PLAYTIME))
@@ -246,7 +246,7 @@ OnTouch:
.@pass = 1;
}
if (.@pass) {
- if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ if ($ma_name04$ == strcharinfo(PC_NAME) || $ma_name05$ == strcharinfo(PC_NAME) || $ma_name06$ == strcharinfo(PC_NAME)) {
donpcevent strnpcinfo(NPC_NAME)+"::OnBingx2";
mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
close;
@@ -256,16 +256,16 @@ OnTouch:
case 2:
case 3:
case 4:
- $ma_name04$ = strcharinfo(0);
+ $ma_name04$ = strcharinfo(PC_NAME);
break;
case 6:
case 7:
case 8:
- $ma_name05$ = strcharinfo(0);
+ $ma_name05$ = strcharinfo(PC_NAME);
break;
case 10:
case 11:
- $ma_name06$ = strcharinfo(0);
+ $ma_name06$ = strcharinfo(PC_NAME);
break;
}
}
diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt
index 48df72c11..1b231024c 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -481,7 +481,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "Okay! I think this is the one for you.";
next;
mes "[Raffle Philosopher]";
- mes strcharinfo(0)+", the quote I'm going to tell you is...";
+ mes strcharinfo(PC_NAME)+", the quote I'm going to tell you is...";
switch(rand(1,70)) {
case 1:
mes "Nothing is more difficult,";
@@ -954,7 +954,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "leaving the travelers behind you.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What's happening here?";
emotion e_what,1;
next;
@@ -983,7 +983,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
next;
switch(select("Roseten.", "Rose.", "How would I know that?")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The answer to the question is Roseten.";
mes "Why are you fighting over such a trivial matter?";
next;
@@ -998,7 +998,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
emotion e_an,0,"Traveler#ep14_1_2";
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The answer to the question is Rose.";
mes "You said Rose's mother had 10 sons.";
mes "So even if the other sons' names are";
@@ -1018,7 +1018,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
emotion e_ag,0,"Traveler#ep14_1_1";
break;
case 3:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I have no idea.";
mes "Try to sort it out yourselves.";
next;
@@ -1147,7 +1147,7 @@ mora,43,127,3 script Innkeeper#mora_inn 4_M_RAFLE_OR,{
}
case 3:
input .@inputstr$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I come from a place called "+.@inputstr$+".";
next;
mes "[Innkeeper]";
diff --git a/npc/re/events/halloween_2013.txt b/npc/re/events/halloween_2013.txt
index 92050128a..acfd60f9f 100644
--- a/npc/re/events/halloween_2013.txt
+++ b/npc/re/events/halloween_2013.txt
@@ -267,7 +267,7 @@ L_Explain:
niflheim,181,173,5 script Chef Candycon#2013HE 4_M_NFDEADSWDMAN,{
if (eve_bs == 1) {
- if (countitem(Organic_Pumpkin) * 3 + countitem(Inorganic_Pumpkin) >= 30) {
+ if (countitem(ORGANIC_PUMPKIN) * 3 + countitem(INORGANIC_PUMPKIN) >= 30) {
mes "[Chef Candycon]";
mes "Clang~Clang~!";
next;
@@ -314,7 +314,7 @@ niflheim,181,173,5 script Chef Candycon#2013HE 4_M_NFDEADSWDMAN,{
mes "O.....ver....but....";
mes "ca...me......a...gain....";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why don't you speak normally.";
next;
mes "[Chef Candycon]";
@@ -400,16 +400,16 @@ L_GivePumpkin:
mes "Eeh~~ You have no use for those pumpkins~~";
close;
}
- if (countitem(Organic_Pumpkin) * 3 + countitem(Inorganic_Pumpkin) < 30) {
+ if (countitem(ORGANIC_PUMPKIN) * 3 + countitem(INORGANIC_PUMPKIN) < 30) {
mes "[Chef Candycon]";
mes "Ooops where is pumpkin? escaped again?";
mes "Oh, boy...no... you should go to get them again...";
close;
}
- if (countitem(Inorganic_Pumpkin))
- delitem Inorganic_Pumpkin,countitem(Inorganic_Pumpkin);
- if (countitem(Organic_Pumpkin))
- delitem Organic_Pumpkin,countitem(Organic_Pumpkin);
+ if (countitem(INORGANIC_PUMPKIN))
+ delitem INORGANIC_PUMPKIN, countitem(INORGANIC_PUMPKIN);
+ if (countitem(ORGANIC_PUMPKIN))
+ delitem ORGANIC_PUMPKIN, countitem(ORGANIC_PUMPKIN);
eve_bs = 2;
getitem HALLOWEEN_G_BOX,1;
erasequest 11378;
diff --git a/npc/re/events/halloween_2014.txt b/npc/re/events/halloween_2014.txt
index c0677b2ef..2e9784058 100644
--- a/npc/re/events/halloween_2014.txt
+++ b/npc/re/events/halloween_2014.txt
@@ -160,7 +160,7 @@
mes "Ha... no time to rest!";
mes "My arms and legs hurt~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you're so tired... why don't you heal?";
next;
mes "[Mighty Priest]";
@@ -177,13 +177,13 @@
mes "I feel much better now!";
mes (Sex == SEX_MALE ? "Brother" : "Sister") +", thank you so much for waking me up.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What made you so tired?";
next;
mes "[Mighty Priest]";
mes (Sex == SEX_MALE ? "Brother" : "Sister") +", you didn't have any damage yet?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What happened to you?";
next;
mes "[Mighty Priest]";
@@ -294,7 +294,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Bolak]";
mes "Who?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I came back!";
next;
mes "[Bolak]";
@@ -319,7 +319,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Nathan]";
mes "Aww~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I've had help from church this time as well.";
mes "His body is still alive. His soul is not supposed to come here yet.";
next;
@@ -347,7 +347,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Bolak]";
mes "No, I said no! Anyway, maybe having hard time for good deed.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "By the way, that guy.. Richard? Why is he still here?";
next;
mes "[Loru]";
@@ -403,13 +403,13 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Bolak]";
mes "Sorry to give you such a small gift, please take this as a sign of our gratitude.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "wow... I don't know what to say...";
next;
mes "[Bolak]";
mes "It's nothing special, just take it!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you so much, see you around.";
next;
mes "[Loru]";
@@ -444,7 +444,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
close;
} else if (questprogress(14453) == 1) {
if (countitem("Sacred_Rosary") > 0) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Will this really work...?";
next;
mes "[Jack]";
@@ -479,7 +479,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Jack]";
mes "Dead men are already dead-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "W..Wait, There's a situation!!";
mes "Calm down..!";
next;
@@ -492,14 +492,14 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Richard]";
mes "What is going on? what happened?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^0000cdThat man is a living man^000000!!!";
mes "Living men don't react to a halidom!";
next;
mes "[Loru]";
mes "Anyway, get that thing out of my sight!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay.";
mes "I will get that thing away from here.";
specialeffect2 EF_SPRINKLESAND;
@@ -534,7 +534,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "I died!! The fact that I am here is proof!";
mes "Isn't that a fake halidom?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, calm down. Thaink clearly.";
next;
mes "[Richard]";
@@ -578,13 +578,13 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Jack]";
mes "There may be someone we can ask a favor from...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why... why are you guys looking at me like that?";
next;
mes "[Bolak]";
mes "I am sorry but, you should go there for us.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why should I?";
next;
mes "[Loru]";
@@ -593,7 +593,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Devi]";
mes "Totally.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hold on! I am here traveling.";
mes "I'm just trying to have fun!";
next;
@@ -603,7 +603,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Nathan]";
mes "Aww~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm... it seems like I have no choice. I'll go, but where am I going?";
next;
mes "[Richard]";
@@ -620,7 +620,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "a cold place... snow all year long...";
mes "^0000cdWarm place... behind Lutie Santa Clause..^000000";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will go find it.";
next;
mes "[Jack]";
@@ -699,7 +699,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "No, I am not your mother!";
mes "I am your father!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is all this about?";
next;
mes "[Loru]";
@@ -723,7 +723,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Devi]";
mes "There is a ^0000cdliving man^000000 among us.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who is that?";
next;
mes "[Loru]";
@@ -816,7 +816,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
next;
break;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm.. everyone.. please calm down.";
next;
mes "[Loru]";
@@ -834,7 +834,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Bolak]";
mes "Hey, you adventurer. You figure out how to distinguish ^0000cddead men with living men in living men's country^000000.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Me? why??";
next;
mes "[Bolak]";
@@ -847,7 +847,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "[Devi]";
mes "What? Cathedral? It will kill us all!!!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm, okay then I will go and figure this out.";
next;
mes "[Nathan]";
@@ -872,7 +872,7 @@ niflheim,195,183,1 script Nathan#14hal 4_LUDE,{
mes "Ma?";
mes "Dada!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How cute!!~";
next;
mes "[Nathan]";
@@ -984,7 +984,7 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "In additon, it looks more special and beautiful?";
mes "You selected beautiful ones for me? huh??";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm.. no..t.. really...";
next;
mes "[Loru]";
@@ -995,14 +995,14 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "Anyway, thank you.";
mes "Here's your reward. Then, see you ^0000cd tomorrow^000000!.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tomorrow? again??";
next;
mes "[Loru]";
mes "Ah, you didn't know. Here, we give away decoration when people leave the party.";
mes "We should put new decoration everyday.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I've never heard of it..";
next;
mes "[Loru]";
@@ -1038,7 +1038,7 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "[Loru]";
mes "It's not much but hope you like it! then see you ^0000cdtomorrow^000000 again!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tomorrow.. again??";
next;
mes "[Loru]";
@@ -1079,7 +1079,7 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "You know, everyone gets really excited because of Halloween?";
mes "And people here are just gathering around and having fun.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes.";
next;
if (BaseLevel < 100) {
@@ -1087,14 +1087,14 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "But people, who were supposed to have party together, have gone to living man's country.";
mes "You know, party is fun when there's many people. so... Could you bring them here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who? and how many??";
next;
mes "[Loru]";
mes "Oh, You do my favor?? ^0000cd10 Wandering Soul^000000!";
mes "Once you hunt them all, Niflheim comes along as well. get me 10 of them.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can do that.";
next;
mes "[Loru]";
@@ -1107,20 +1107,20 @@ niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{
mes "Look around. It looks so empty.";
mes "Nobody would dance and have fun in a place like this?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What can I do for you?";
next;
mes "[Loru]";
mes "^0000cd 10 Red Scarf and 10 Hanging Doll^000000! Could you bring me all this??";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you decorating with those? Your taste...seems....";
next;
mes "[Loru]";
mes "What? do you have any problem with that!";
mes "You don't know nothing about latest trend. you've been living only for decades!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry, I made a mistake.";
mes "so, 10 Red Scarf and 10 Hanging Doll, right??";
next;
@@ -1186,7 +1186,7 @@ niflheim,191,188,5 script Devi#14hal 4_DEVIRUCHI,5,5,{
mes "You escape from here and bring troublemakers in living man's country.";
mes "I can't go anywhere as I am too busy.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay. I don't want dead men create chaos in living man's country.";
next;
mes "[Devi]";
@@ -1203,7 +1203,7 @@ niflheim,191,188,5 script Devi#14hal 4_DEVIRUCHI,5,5,{
mes "Please catch them. they are making a chaos.";
mes "I can't go anywhere as I am too busy.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay.";
next;
mes "[Devi]";
@@ -1312,7 +1312,7 @@ niflheim,191,188,5 script Devi#14hal 4_DEVIRUCHI,5,5,{
mes "You escape from here and bring troublemakers in living man's country.";
mes "I can't go anywhere as I am too busy.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay. I don't want dead men create chaos in living man's country.";
next;
mes "[Devi]";
@@ -1329,7 +1329,7 @@ niflheim,191,188,5 script Devi#14hal 4_DEVIRUCHI,5,5,{
mes "Please catch them. they are making a chaos.";
mes "I can't go anywhere as I am too busy.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay.";
next;
mes "[Devi]";
@@ -1422,13 +1422,13 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "I hope all is well with everyone visiting here~";
mes "Oh! Is it you, "+ (Sex == SEX_MALE ? "brother" : "sister") +"? How is it going with the thing you need to do?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well.. I could identify the live ones.";
next;
mes "[Sister Haley]";
mes "I knew it! Any side effects?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But then there was another problem.";
mes "this is the reason I came here..";
next;
@@ -1436,7 +1436,7 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "Oh? What happen?";
mes "Tell me anything!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "There was a person who did not react on the halidom, but he insisted that he is dead.";
mes "So I went the place he lived, the body is alive. Just in a comma.";
next;
@@ -1446,14 +1446,14 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "Oh, dear, I can't believe it!!";
mes "Sometimes the soul is separated from the body if there was some big impact on the body, and ^0000cdsome spirits think they forget they are alive and move to the death's land^000000.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is there anything I can do about?";
next;
mes "[Sister Haley]";
mes "Simple! ";
mes "Make them to realize that they have their living body.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So, How..";
mes "They believe they are dead, but I should talk to them to make them return?";
next;
@@ -1461,21 +1461,21 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "Of course not. There are secret method in this church.";
mes "We have been trough lots of stuff, we have all kinds of solution.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So How..";
next;
mes "[Sister Haley]";
mes "You know Leaf Of Yggdrasil is good for resurrection?";
mes "Leaf Of Yggdrasil is a leaf from Yggdrasil and has a strong power of life.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, That is like common sense, so just tell me the materials and method to do that..";
next;
mes "[Sister Haley]";
mes "There is nothing else than Leaf of Yggdrasil to resurrect the character.";
mes "Even our priest used Leaf Of Yggdrasil!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "so, I mean! tell me the material I need and the method!";
next;
mes "[Sister Haley]";
@@ -1485,13 +1485,13 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "[Sister Haley]";
mes "the material and the method is quite simple.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I like simple thing, so tell me briefly.";
next;
mes "[Sister Haley]";
mes "^0000cd1 Leaf Of Yggdrasil and 1 live Coal^000000 are what you need.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Only that?";
next;
mes "[Sister Haley]";
@@ -1501,14 +1501,14 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "[Sister Haley]";
mes "Once they breathe in the smoke, they will remember where their bodies are and come back to real life.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is that all?";
next;
mes "[Sister Haley]";
mes "Yes. Indeed~";
mes "One think you must remember: The longer the soul left their body, the less chance he will get to come back.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You should have told me earlier!";
next;
mes "[Sister Haley]";
@@ -1548,7 +1548,7 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "Whoa~ It's done.";
mes "Hold ^0000cd this in your pocket^000000 and go to the crowd with live and dead ones, you will see who is dead or live.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is that it? Awesome.";
mes "But.. Um.. you know.. is.. it affecting to me.. like in bad way?";
next;
@@ -1560,7 +1560,7 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "But, For those who are dead.. Oh! I don't mean it's deadly threat, but it will give them little bit of pain.";
mes "So use it carefully not to damage the good dead people.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok.";
mes "Thank you for making this!";
next;
@@ -1596,14 +1596,14 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
next;
mes "[I told her what happened in Nifflheim.]";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So I came here.";
mes "But, I cannot tell who is dead and who is alive, is there any way ^0000cdto check that^000000?";
next;
mes "[Sister Haley]";
mes "Of course, there is. Very ^0000cdgood method^000000!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Really? I was not sure if I found the right place.";
mes "I think I found well!";
next;
@@ -1611,20 +1611,20 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "We study everything to make dead and live ones to peace.";
mes "There is secret way to do that, it kept secretly in our church.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tell me the way..";
next;
mes "[Sister Haley]";
mes "That is simple! Make ^0000cdspecial halidom^000000!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "S, so how..?";
next;
mes "[Sister Haley]";
mes "How you make it? Bring ^0000cd1 Rosary and 6 Holy Water^000000 to me.";
mes "Then I will make it for you. It's simple";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Y, yes!!";
erasequest 14451;
setquest 14452;
@@ -1653,21 +1653,21 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Dad, Dad~ Wake up! It's time to wake up!";
mes "I even made the stew for you. Wake and eat it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Everyone, I am here.";
next;
mes "[Richard's Wife]";
mes "Oh, dear, Adventurer! Welcome!";
mes "Did you find the way to make him back?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes! But I need your help to do this.";
next;
mes "[Richard's Wife]";
mes "How can I help you?";
mes "I will do my best to do it!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Just pray hard to get him back.";
next;
mes "[Richard's Daughter]";
@@ -1678,7 +1678,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "I will pray hard!";
mes "Please!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, So I will burn.. this.";
specialeffect2 EF_TORCH;
sleep2 1000;
@@ -1688,7 +1688,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
sleep2 1000;
specialeffect2 EF_SMOKE;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's almost ran out.. Why not he wakes up..";
mes "Oh!!";
specialeffect EF_RESURRECTION,AREA,"Richard#14hal02";
@@ -1747,7 +1747,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "[Richard]";
mes "I.. came back.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank god. Seriously.";
mes "It would have been really dangerous if I was a little late.";
next;
@@ -1761,7 +1761,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "[Richard]";
mes "Yes, yes. You and your mom are the best!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You can go to Niflheim later.";
mes "Why were you in a rush? You have a family.";
next;
@@ -1769,7 +1769,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "I know. How could I forget my family?";
mes "Anyway I could not even say good bye when I leave..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will go and send your regards.";
next;
mes "[Richard]";
@@ -1790,14 +1790,14 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Dad, Dad~ Wake up! It's time to wake up!";
mes "I even made the stew for you. Wake and eat it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Everyone, I am here.";
next;
mes "[Richard's Wife]";
mes "Oh, dear, Adventurer! Welcome!";
mes "Did you find a way to bring him back?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes! Oh, w.wait..";
mes "There is something missing. I will get it and come back.";
close;
@@ -1808,7 +1808,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "My sweet heart.. can he come back?";
close;
} else if (questprogress(14454) == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If it's correct, it should be around here..";
next;
mes "[Richard's Wife]";
@@ -1821,7 +1821,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Play with me~";
emotion e_sob, "Worried Daughter#14hal";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hi, Is this Richard's house?";
mes "I think I am right..";
next;
@@ -1835,7 +1835,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Did you find my husband?";
mes "But he is right now.. he hasn't waken up since after the accident..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So, he is still alive?";
mes "And.. his... arm is attached to his body?";
next;
@@ -1851,7 +1851,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Is there anything I can help you with..?";
mes "You seem to know my husband.. Do you know something?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think we should find out why he is like this.";
next;
mes "[Richard's Wife]";
@@ -1875,7 +1875,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "But for some reason, he is not waking up.";
mes "The doctor said it's nothing but a concussion and that he'll wake up soon..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I see.";
mes "His soul is in Niflhiem. He thinks he is dead.";
next;
@@ -1890,7 +1890,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "He wanted to be a swordsman.. He must have wanted it so deeply.";
mes "He never showed it to us..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It seems he went there even though he is not dead.";
mes "Something must be wrong.";
next;
@@ -1898,14 +1898,14 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
mes "Can.. can he come back?";
mes "He is still alive here..";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm.. what should I do..?";
mes "Oh, yes! I should go to ^0000cdProntera Church^000000.";
next;
mes "[Richard's Daughter]";
mes "Prontera?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "There is ^0000cda nun I get help from sometimes^000000, I should ask if she can help me.";
next;
mes "[Richard's Wife]";
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
index 8e1afe859..5e2ae7f33 100644
--- a/npc/re/instances/BakonawaLake.txt
+++ b/npc/re/instances/BakonawaLake.txt
@@ -56,7 +56,7 @@ ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{
close;
}
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Bakonawa Lake";
.@baku_time = questprogress(12278,PLAYTIME);
@@ -69,7 +69,7 @@ ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{
close;
}
if (!.@baku_time) {
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "[Taho]";
mes "Are you the leader of the Bakonawa slayers? The road is not well so we have to go down the cliff with a rope, is that OK?";
next;
@@ -104,7 +104,7 @@ ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{
mes "The party leader did not generate the dungeon yet.";
close;
} else {
- mapannounce "ma_scene01","A party member, "+strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce "ma_scene01","A party member, "+strcharinfo(PC_NAME)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
setquest 12278;
warp "1@ma_b",64,51;
end;
@@ -144,7 +144,7 @@ sec_in02,26,26,4 script Bakonawa's Rage 4_M_DEWZATIMAN,{
mes "[Taho]";
mes "Bakonawa becomes invincible at some point. When that time comes, listen to my guides carefully. Just trust me and all will be good.";
next;
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "[Taho]";
mes "Now I will make Bakonawa spring out from the lake.";
next;
@@ -528,7 +528,7 @@ OnTimer10000:
mes "[Taho]";
mes "HMM. We almost got him but he is one fast creature...";
next;
- if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "[Taho]";
mes "Are we going to try again?";
next;
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 66ed61f8a..1504f892f 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -39,7 +39,7 @@
ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
if (BaseLevel < 100) end;
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
cutin "malaya_nurseB",2;
if (!questprogress(9223)) {
.@quest = questprogress(9222);
@@ -60,7 +60,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
else if (malaya_bang == 31)
callsub L_Closed,0;
else if (malaya_bang > 39)
- callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,0,0;
+ callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,0,0;
else {
mes "[Nurse Maenne]";
mes "..........";
@@ -104,7 +104,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
} else {
//if (!.@party_id) goto L_NoParty; //unneeded
if (malaya_bang > 39)
- callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1;
+ callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
mes "[Nurse Maenne]";
mes ".......";
@@ -136,7 +136,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
} else if (.@playtime == 2) {
//if (!.@party_id) goto L_NoParty; //unneeded
if (malaya_bang > 39)
- callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1;
+ callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
mes "[Nurse Maenne]";
mes ".......";
@@ -215,7 +215,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
} else {
if (!.@party_id) goto L_NoParty;
if (malaya_bang > 39)
- callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1;
+ callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
mes "[Nurse Maenne]";
mes ".......";
@@ -267,7 +267,7 @@ L_Enter:
mes "appeared again.";
next;
mes "[Nurse Maenne]";
- mes strcharinfo(0) + "'s help";
+ mes strcharinfo(PC_NAME) + "'s help";
mes "is needed again.";
mes "Please, could you give me";
mes "one more chance?";
@@ -275,7 +275,7 @@ L_Enter:
next;
switch(select(((getarg(0))?"Prepare to enter the second floor.":""), "Enter the second floor.", "Do not enter.")) {
case 1:
- .@instance = instance_create(.@md_name$,getcharid(1));
+ .@instance = instance_create(.@md_name$,getcharid(CHAR_ID_PARTY));
if (.@instance < 0) {
mes "[Nurse Maenne]";
mes "A critical situation has happened.";
@@ -312,7 +312,7 @@ L_Enter:
mes "The party leader did not generate the dungeon yet.";
close;
} else {
- mapannounce "ma_dun01", getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member entered "+.@md_name$+".",bc_map,"0x00ff99";
+ mapannounce "ma_dun01", getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member entered "+.@md_name$+".",bc_map,"0x00ff99";
if (getarg(1)) {
if (questprogress(9223)) {
completequest 9223;
@@ -382,7 +382,7 @@ sec_in02,27,30,0 script Bangungot Gate 2_MONEMUS,{
end;
OnTouch:
.@map$ = instance_mapname("1@ma_h");
- mapannounce .@map$,"Bangungot: You silly "+strcharinfo(0)+" ....",bc_map,"0xFF82FF";
+ mapannounce .@map$,"Bangungot: You silly "+strcharinfo(PC_NAME)+" ....",bc_map,"0xFF82FF";
mapannounce .@map$,"Bangungot: Get out before you die...",bc_map,"0xFF82FF";
areamonster .@map$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Memorial Start")+"::OnMyMobDead";
donpcevent instance_npcname("#Memorial Start_time")+"::OnEnable";
diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
index 8d1639ea1..242d0a8e4 100644
--- a/npc/re/instances/BuwayaCave.txt
+++ b/npc/re/instances/BuwayaCave.txt
@@ -44,7 +44,7 @@ ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{
close;
}
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Buwaya Cave";
if (!.@party_id) {
@@ -54,7 +54,7 @@ ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{
mes "team with other people.";
close;
}
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "[Guard]";
mes "This place is dangerous. Please go back.";
mes "If you dont have any business here, please go back.";
@@ -98,7 +98,7 @@ ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{
if (.@instance < 0) {
mes "[Guard]";
mes "Party name is... "+getpartyname(.@party_id)+".";;
- mes "Party leader is... "+strcharinfo(0);
+ mes "Party leader is... "+strcharinfo(PC_NAME);
mes "^0000ff"+.@md_name$+"^000000 cannot be opened now.";
mes "Please try a moment later.";
close;
@@ -159,7 +159,7 @@ OnTouch:
mes "The party leader did not generate the dungeon yet.";
close;
} else {
- mapannounce "ma_fild02",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member began hunting Buwaya in Buwaya Cave.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce "ma_fild02",getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member began hunting Buwaya in Buwaya Cave.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
setquest 4229;
warp "1@ma_c",35,57;
end;
diff --git a/npc/re/instances/EclageInterior.txt b/npc/re/instances/EclageInterior.txt
index 9ee105bb9..9ad8519b4 100644
--- a/npc/re/instances/EclageInterior.txt
+++ b/npc/re/instances/EclageInterior.txt
@@ -33,7 +33,7 @@
//=========================================================================
ecl_hub01,132,12,3 script Chief of Staff#tl01::EclInstance 4_F_FAIRY,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Eclage Interior";
if (!.@party_id){
mes "-! Warning !-";
@@ -42,7 +42,7 @@ ecl_hub01,132,12,3 script Chief of Staff#tl01::EclInstance 4_F_FAIRY,{
close;
}
- if (getpartyleader(.@party_id,2) != getcharid(0)) {
+ if (getpartyleader(.@party_id,2) != getcharid(CHAR_ID_CHAR)) {
mes "-! Warning !-";
mes "This current quest will be held at Memorial dungeon.";
mes "Only the party leader will enter. Please create your party.";
@@ -93,7 +93,7 @@ ecl_hub01,130,15,0 script It is closed shut. CLEAR_NPC,{
next;
switch (select("Enter it.", "Forget it.")) {
case 1:
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
if (has_instance("1@ecl") == "") {
mes "It is closed shut.";
@@ -101,7 +101,7 @@ ecl_hub01,130,15,0 script It is closed shut. CLEAR_NPC,{
}
if (.@party_id) {
.@md_name$ = "Eclage Interior";
- if (getpartyleader(.@party_id,2) != getcharid(0)){
+ if (getpartyleader(.@party_id,2) != getcharid(CHAR_ID_CHAR)){
mes "-! Warning !-";
mes "This current quest will be held at Memorial dungeon.";
mes "Only the party leader will enter. Please create your party.";
@@ -114,7 +114,7 @@ ecl_hub01,130,15,0 script It is closed shut. CLEAR_NPC,{
close;
}
close2;
- mapannounce "ecl_hub01",getpartyname(.@party_id) + " Party leader " + strcharinfo(0) + " is entering " + .@md_name$,bc_map,"0x00ff99";
+ mapannounce "ecl_hub01",getpartyname(.@party_id) + " Party leader " + strcharinfo(PC_NAME) + " is entering " + .@md_name$,bc_map,"0x00ff99";
warp "1@ecl",60,50;
end;
}
@@ -145,7 +145,7 @@ ecl_hub01,130,15,0 script It is closed shut. CLEAR_NPC,{
mes "Farewell, then!";
specialeffect EF_BEGINSPELL3;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No...way!!!";
specialeffect2 EF_LORD;
percentheal -99,0;
@@ -228,7 +228,7 @@ OnTouch:
next;
mes "We couldn't communicate with them either, and one of them seemed furious after looking around and finding out that its fellows are defeated.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "They look as if they are incarnation of Morroc.";
mes "Is the King of Domons after the Orb?";
mes "Or is it just a coincidence?";
@@ -368,7 +368,7 @@ OnInstanceInit:
next;
cutin "minuel01",4;
mes "[Minuel]";
- mes "" + strcharinfo(0) + "Sir,";
+ mes "" + strcharinfo(PC_NAME) + "Sir,";
mes "Although you're detained on suspicion of being responsible for the recent incident in the lighting room,";
mes "there are some witnesses to prove your innocence.";
next;
@@ -416,7 +416,7 @@ OnInstanceInit:
cutin "",255;
mes "[Loki]";
mes "It's because of this.";
- mes "" + strcharinfo(0) + "It was inside the body of -";
+ mes "" + strcharinfo(PC_NAME) + "It was inside the body of -";
mes "This is how powerful Shenime is.";
next;
mes "On Loki's palm, there rested a small, thin, and dried piece of thorn.";
@@ -433,7 +433,7 @@ OnInstanceInit:
mes "His power enbales him to control another person directly or mentally influence that person indirectly through a part of his body.";
next;
select("Now that I think about it...");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Right before coming here, Shenime reached his hand out to me and I felt a spark when I held his hand.";
mes "I thought it was just my imagination and ignored it...maybe that's when he...";
next;
@@ -456,7 +456,7 @@ OnInstanceInit:
next;
mes "[Nydhog]";
mes "I swear by the name of the guardian of Yggdrasil, too.";
- mes "" + strcharinfo(0) + "- will by no means do such a thing.";
+ mes "" + strcharinfo(PC_NAME) + "- will by no means do such a thing.";
next;
cutin "hisie02",0;
mes "[Hisie]";
@@ -479,7 +479,7 @@ OnInstanceInit:
cutin "",255;
mes "[Loki]";
mes "Someone has to take the responsibility here then.";
- mes "In all probablility," + strcharinfo(0) + "it will be you.";
+ mes "In all probablility," + strcharinfo(PC_NAME) + "it will be you.";
next;
cutin "hisie02",0;
mes "[Hisie]";
@@ -504,7 +504,7 @@ OnInstanceInit:
mes "[Hisie]";
mes "Thank you for your help.";
mes "We will take off now.";
- mes "Let's go." + strcharinfo(0) + ".";
+ mes "Let's go." + strcharinfo(PC_NAME) + ".";
ep14_2_mylord = 30;
changequest 7450,7451;
erasequest 7450;
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
index c5e37ee3b..7f85fee50 100644
--- a/npc/re/instances/HazyForest.txt
+++ b/npc/re/instances/HazyForest.txt
@@ -38,7 +38,7 @@
//== Instance Creation =====================================
bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Mistwood Maze";
mes "[Laphine Soldier]";
@@ -51,7 +51,7 @@ bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
close;
}
.@playtime = questprogress(7211,PLAYTIME);
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
if (.@playtime == 1) {
mes "[Laphine Soldier]";
mes "...Are you sure you're not doing too much?";
@@ -101,7 +101,7 @@ bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
case 1:
mes "[Laphine Soldier]";
mes "Party Name "+getpartyname(.@party_id)+"...";
- mes "Party Leader "+strcharinfo(0)+"...";
+ mes "Party Leader "+strcharinfo(PC_NAME)+"...";
.@instance = instance_create(.@md_name$, .@party_id);
if (.@instance < 0) {
mes "Hmm...";
@@ -177,7 +177,7 @@ bif_fild01,161,355,0 script Log Tunnel CLEAR_NPC,{
} else {
if (questprogress(7211,PLAYTIME) == 2) erasequest 7211;
if (!questprogress(7211,PLAYTIME)) setquest 7211;
- mapannounce "bif_fild01",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce "bif_fild01",getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
warp "1@mist",89,29;
close;
}
@@ -581,12 +581,12 @@ OnTimer3000:
mes "That's my name.";
mes "And yours?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "....";
- mes "...."+strcharinfo(0)+" sir.";
+ mes "...."+strcharinfo(PC_NAME)+" sir.";
next;
mes "[Loki]";
- mes "I see. "+strcharinfo(0)+".";
+ mes "I see. "+strcharinfo(PC_NAME)+".";
mes "I'm asking you again.";
mes "Do you plan to pass through this forest?";
next;
@@ -905,7 +905,7 @@ mora,48,152,3 script Sharp Eyed Man 4_M_ROKI2,{
break;
}
mes "[Nydhogg the Guardian]";
- mes strcharinfo(0)+"...";
+ mes strcharinfo(PC_NAME)+"...";
mes "Thanks for listening to my long story.";
next;
mes "[Nydhogg the Guardian]";
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
index ff472e23d..164caf548 100644
--- a/npc/re/instances/MalangdoCulvert.txt
+++ b/npc/re/instances/MalangdoCulvert.txt
@@ -399,7 +399,7 @@ mal_in01,160,34,4 script Missing, the Cleaner 4_CAT_SAILOR2,{
mes "You don't look like you have Seagod Protection. I can't open door at the moment!";
close;
}
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@md_name$ = "Culvert";
if (!.@party_id) {
mes "^0000ffYou have to organize a party of";
@@ -409,7 +409,7 @@ mal_in01,160,34,4 script Missing, the Cleaner 4_CAT_SAILOR2,{
}
.@playtime = questprogress(12254,PLAYTIME);
if (!.@playtime) {
- if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
mes "[Missing, the Cleaner]";
mes "Ummm? What's up? Tell me the password if you're the leader!";
next;
@@ -422,7 +422,7 @@ mal_in01,160,34,4 script Missing, the Cleaner 4_CAT_SAILOR2,{
.@instance = instance_create(.@md_name$,.@party_id);
if (.@instance < 0) {
mes "Party name: "+getpartyname(.@party_id);
- mes "Party leader: "+strcharinfo(0);
+ mes "Party leader: "+strcharinfo(PC_NAME);
mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
close;
}
@@ -468,7 +468,7 @@ L_Enter:
mes "The party leader has not reserved entrance to the dungeon yet.";
close;
}
- mapannounce "mal_in01", strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the Culvert.",bc_map,"0x00ff99";
+ mapannounce "mal_in01", strcharinfo(PC_NAME)+" of the party "+getpartyname(.@party_id)+" is entering the Culvert.",bc_map,"0x00ff99";
if (!questprogress(12254)) setquest 12254;
warp "1@pump",63,98;
end;
@@ -476,7 +476,7 @@ L_Enter:
//== Instance: Common Scripts ==============================
1@pump,63,100,4 script Missing, the Cleaner#0 4_CAT_SAILOR2,{
- if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "[Missing, the Cleaner]";
mes "I am trying to have a conversation with your leader now. Please don't disturb and wait!";
close;
@@ -497,7 +497,7 @@ L_Enter:
mes "Huh? Not ready yet? Talk to me again when you're ready.";
close;
}
- 'party_id = getcharid(1);
+ 'party_id = getcharid(CHAR_ID_PARTY);
mapannounce instance_mapname("1@pump"),"Missing: Move toward the 3 o'clock direction and wait for my next order!",bc_map,"0xff88ff",FW_NORMAL,15;
disablenpc instance_npcname("Missing, the Cleaner#0");
enablenpc instance_npcname("Missing, the Cleaner#n");
@@ -519,7 +519,7 @@ L_Enter:
mes "Hmm? Talk to me again when you're ready.";
close;
}
- 'party_id = getcharid(1);
+ 'party_id = getcharid(CHAR_ID_PARTY);
mapannounce instance_mapname("1@pump"),"Missing: I'll go in first, so follow me! I'll open up a gate at the 3 o'clock direction!",bc_map,"0xff88ff",FW_NORMAL,15;
disablenpc instance_npcname("Missing, the Cleaner#0");
enablenpc instance_npcname("Culvert Entrance#i");
@@ -566,7 +566,7 @@ function script F_mal_missing {
mes "[Missing, the Cleaner]";
mes "I don't care if you get help from your friends or not. I want you to clean up all culverts! Don't forget! I will watch you and give you instructions. Just do what I said!!";
next;
- if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "[Missing, the Cleaner]";
mes "Once your leader finishes preparing, it will begin, so get your hearts ready for it!!";
close;
@@ -594,7 +594,7 @@ function script F_mal_missing {
mes "[Missing, the Cleaner]";
mes "I see seaweed everywhere because you're wiggling! All the culverts will be blocked with seaweed!";
next;
- if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
mes "[Missing, the Cleaner]";
mes "Once your leader finishes preparing, settlement will be decided so get your hearts ready for it!!";
close;
@@ -761,7 +761,7 @@ OnEnable:
copyarray .@partymemberaid[0],$@partymemberaid[0],$@partymembercount;
for(.@i = 0; .@i<$@partymembercount; ++.@i) {
if (attachrid(.@partymemberaid[.@i])) {
- if (strcharinfo(3) == .@map$)
+ if (strcharinfo(PC_MAP) == .@map$)
viewpoint 0,.@x,.@y,.@index,0xFFFF00;
detachrid;
}
diff --git a/npc/re/instances/OctopusCave.txt b/npc/re/instances/OctopusCave.txt
deleted file mode 100644
index c2087649c..000000000
--- a/npc/re/instances/OctopusCave.txt
+++ /dev/null
@@ -1,729 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Octopus Cave
-//================= Description ===========================================
-//= Defeat the Disgusting Octopus.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-1@cash mapflag src4instance
-
-//== Instance Creation =====================================
-mal_dun01,151,235,5 script Starfish 4_ASTER,{
-
- .@party_id = getcharid(1);
- .@md_name$ = "Octopus Cave";
-
- if (!.@party_id) {
- mes "[Starfish]";
- mes "You alone is powerless, hehe!";
- mes "Better get someone to help you out.";
- mes "Make a party, and come back later.";
- close;
- }
- if (getcharid(0) != getpartyleader(.@party_id,2)) {
- mes "[Starfish]";
- mes "Where is your leader, hehe.";
- mes "I don't talk to some random people.";
- mes "Bring your boss to me.";
- close;
- }
- mes "[Starfish]";
- mes "I am guarding here, hehe!";
- mes "It is just roughly blocked for now.";
- mes "But someday this cave must be sealed forever, hehe!";
- next;
- while(1) {
- switch(select("Ask what's going on.", "Ask to open the gate.", "Go to other location.")) {
- case 1:
- mes "[Starfish]";
- mes "Lately, our Starfish lady is";
- mes "suffering with some issues, ooh ooh.";
- mes "Something bad happen in this";
- mes "peaceful place, hehe!";
- next;
- mes "[Starfish]";
- mes "Weird looking limbs came out";
- mes "from the hole there,";
- mes "tried to kidnap our lady Starfish.";
- mes "Ooh Ooh.";
- next;
- mes "[Starfish]";
- mes "It seems those limbs belong to";
- mes "that ugly octopus.";
- mes "That monster should be taken care of,";
- mes "but it's hard for ourselves only to make it happen, hehe.";
- next;
- mes "[Starfish]";
- mes "I want to find someone special,";
- mes "and ask to punish this ugly octopus.";
- mes "I hope this octopus won't ever";
- mes "harass our lady, hehe.";
- next;
- mes "[Starfish]";
- mes "Go catch that octopus and stick it to this pick.";
- mes "If you bring back the pick, I will";
- mes "open this gate for a while.";
- mes "You should challenge if you are interested, hehe.";
- next;
- break;
- case 2:
- .@playtime = questprogress(4197,PLAYTIME);
- if (.@playtime == 1) {
- mes "[Starfish]";
- mes "Octopus is not around now, hehe.";
- mes "Please come back later.";
- close;
- }
- if (.@playtime == 2) erasequest 4197;
- if (countitem(Octopus_Hunt_Stick)) {
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "[Starfish]";
- mes "Party name is... "+getpartyname(.@party_id)+".";
- mes "Party leader is... "+strcharinfo(0)+".";
- mes "^0000ff"+.@md_name$+"^000000, I cannot open now, hehe.";
- mes "Now is not the time, please wait.";
- close;
- }
- if (instance_attachmap("1@cash",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout 3600,300,.@instance;
- instance_init(.@instance);
-
- mes "[Starfish]";
- mes "I will open the gate for a while to ^0000ff"+.@md_name$+"^000000.";
- mes "Please catch that pervert octopus,";
- mes "and come back with it sticked to the pick, hehe.";
- close;
- }
- mes "[Starfish]";
- mes "Prepare a pick first,";
- mes "so you can thread that octopus";
- mes "with that pick.";
- mes "Then, I will let you in for a while, hehe.";
- close;
- case 3:
- mes "[Starfish]";
- mes "This is not a good location, check someplace else.";
- close;
- }
- }
-}
-
-mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
- mes "There is a strange entrance";
- mes "blocked roughly with some boards.";
- next;
- switch(select("Go in.", "Stop.")) {
- case 1:
- if (countitem(Octopus_Hunt_Stick)) {
- if (has_instance("1@cash") == "") {
- if (questprogress(4197,PLAYTIME) == 1) {
- mes "[Starfish]";
- mes "Ah, now is not the time...";
- mes "Would you come back later? Hehe.";
- close;
- }
- mes "[Starfish]";
- mes "Shhh... Weird aura is";
- mes "coming from that entrance.";
- mes "Big trouble is waiting, if you go in now.";
- close;
- }
- mapannounce "mal_dun01", getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member started to hunt the Octopus!",bc_map,"0x00ff99";
- if (!questprogress(4197)) setquest 4197;
- warp "1@cash",199,99;
- end;
- }
- mes "[Starfish]";
- mes "You should definitely prepare";
- mes "hunting stick if you want to";
- mes "punish the Octopus.";
- mes "Or I will not let you in! Hehe.";
- close;
- case 2:
- mes "[Starfish]";
- mes "Yes Yes, you better quit.";
- close;
- }
-}
-
-//== Instance Scripts ======================================
-1@cash,199,99,0 script oct_enter HIDDEN_WARP_NPC,4,4,{
- end;
-OnTouch:
- donpcevent instance_npcname("oct_enter_broad")+"::OnEnable";
- specialeffect EF_BASH;
- disablenpc instance_npcname("oct_enter");
- end;
-}
-
-1@cash,1,1,0 script oct_enter_broad FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
- end;
-OnEnable:
- enablenpc instance_npcname("oct_enter_broad");
- donpcevent instance_npcname("oct_foot_4")+"::OnEnable";
- donpcevent instance_npcname("oct_mob_con")+"::OnEnable";
- initnpctimer;
- end;
-OnDisable:
- disablenpc instance_npcname("oct_enter_broad");
- end;
-OnTimer1000:
- mapannounce instance_mapname("1@cash"),"Pervert Octopus : How dare you to come inside of my place!",bc_map,"0xFFFF00";
- end;
-OnTimer4000:
- mapannounce instance_mapname("1@cash"),"Pervert Octopus : But I blocked all the cave gates!! There is nothing you can do!",bc_map,"0xFFFF00";
- end;
-OnTimer7000:
- mapannounce instance_mapname("1@cash"),"Pervert Octopus : My juniors~ There is your toy! Play with it~ kakaka",bc_map,"0xFFFF00";
- stopnpctimer;
- donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
- end;
-}
-
-1@cash,3,3,0 script oct_foot_4 FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname("oct_foot_4")+"::OnDisable";
- end;
-OnEnable:
- enablenpc instance_npcname("oct_foot_4");
- donpcevent instance_npcname("oct_foot1")+"::OnEnable";
- donpcevent instance_npcname("oct_foot2")+"::OnEnable";
- donpcevent instance_npcname("oct_foot3")+"::OnEnable";
- donpcevent instance_npcname("oct_foot4")+"::OnEnable";
- .@map$ = instance_mapname("1@cash");
- monster .@map$,20,114,"Octopus Leg#1",2193,1,instance_npcname("oct_foot_4")+"::OnMyMobDead";
- monster .@map$,88,190,"Octopus Leg#2",2193,1,instance_npcname("oct_foot_4")+"::OnMyMobDead";
- monster .@map$,307,215,"Octopus Leg#3",2193,1,instance_npcname("oct_foot_4")+"::OnMyMobDead";
- monster .@map$,372,131,"Octopus Leg#4",2193,1,instance_npcname("oct_foot_4")+"::OnMyMobDead";
- end;
-OnDisable:
- disablenpc instance_npcname("oct_foot_4");
- end;
-OnMyMobDead:
- .@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_foot_4")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("oct_boss_con")+"::OnEnable";
- mapannounce .@map$,"Hey you!! I'll personally take care of you all! Let's bring it on!",bc_map,"0x00ff99";
- enablenpc instance_npcname("oct_boss_warp");
- instance_warpall .@map$,199,99;
- end;
- }
- mapannounce .@map$,"Arrgg!! That hurts!!! I need another strategy...",bc_map,"0x00ff99";
- end;
-}
-
-1@cash,20,114,0 script oct_foot1 HIDDEN_WARP_NPC,6,6,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
- end;
-OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- .@map$ = instance_mapname("1@cash");
- switch(.@i) {
- case 1:
- areamonster .@map$,34,96,38,100,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,39,90,41,92,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,38,76,40,78,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,39,58,41,60,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,50,38,56,44,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,68,32,72,36,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,83,26,85,28,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,107,28,109,30,"Octopus's Henchman",2192,1,.@label$;
- areamonster .@map$,123,28,125,30,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,134,31,138,35,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,142,39,146,43,"Octopus's Henchman",2192,2,.@label$;
- break;
- case 2:
- areamonster .@map$,139,113,143,117,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,135,104,137,106,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,123,93,127,97,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,113,90,115,92,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,103,89,105,91,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,89,90,91,92,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,74,104,76,106,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,74,120,76,122,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,83,131,87,135,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,92,142,94,144,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,98,159,100,161,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,94,180,98,184,"Octopus's Henchman",2192,5,.@label$;
- break;
- case 3:
- areamonster .@map$,299,209,303,213,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,292,203,296,207,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,291,186,293,188,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,292,166,294,168,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,293,151,295,153,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,299,137,303,141,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,300,123,304,127,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,300,104,304,108,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,279,101,281,103,"Octopus's Henchman",2192,2,.@label$;
- monster .@map$,260,103,"Octopus's Henchman",2192,1,.@label$;
- break;
- case 4:
- areamonster .@map$,363,123,367,127,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,364,108,368,112,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,363,93,367,97,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,364,72,366,74,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,364,58,366,60,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,355,44,359,48,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,346,36,350,40,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,319,28,325,34,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,305,27,307,29,"Octopus's Henchman",2192,2,.@label$;
- areamonster .@map$,276,29,280,33,"Octopus's Henchman",2192,5,.@label$;
- areamonster .@map$,258,37,262,41,"Octopus's Henchman",2192,2,.@label$;
- break;
- }
- end;
-OnDisable:
- killmonster instance_mapname("1@cash"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; // Not in official script.
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnTouch:
- if (getd("."+strnpcinfo(NPC_NAME)+instance_id())) end;
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),1;
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
- mapannounce instance_mapname("1@cash"),"Come out all my babies and help me out!",bc_map,"0xFFFF00";
- initnpctimer;
- end;
-OnTimer5000:
- .@map$ = instance_mapname("1@cash");
- mapannounce .@map$,"Let's give them a lesson!",bc_map,"0xFFFF00";
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- switch(.@i) {
- case 1:
- areamonster .@map$,18,112,22,116,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,18,112,22,116,"Octopus's Henchman",2192,3,.@label$;
- break;
- case 2:
- areamonster .@map$,86,188,90,192,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,96,98,100,102,"Octopus's Henchman",2192,3,.@label$;
- break;
- case 3:
- areamonster .@map$,305,213,309,217,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,305,213,309,217,"Octopus's Henchman",2192,3,.@label$;
- break;
- case 4:
- areamonster .@map$,370,129,374,133,"Octopus's Henchman",2192,3,.@label$;
- areamonster .@map$,370,129,374,133,"Octopus's Henchman",2192,3,.@label$;
- break;
- }
- end;
-OnTimer30000:
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
- stopnpctimer;
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
- end;
-OnMyMobDead:
- .@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- mapannounce .@map$,"You hurt my babies!!? You'll have to pay for this!!!",bc_map,"0x00ff99";
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
- stopnpctimer;
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
- end;
- }
- end;
-}
-1@cash,88,190,0 duplicate(oct_foot1) oct_foot2 HIDDEN_WARP_NPC,6,6
-1@cash,307,215,0 duplicate(oct_foot1) oct_foot3 HIDDEN_WARP_NPC,6,6
-1@cash,372,131,0 duplicate(oct_foot1) oct_foot4 HIDDEN_WARP_NPC,6,6
-
-1@cash,16,117,0 script oct_foot_exit1 WARPNPC,2,2,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnTouch:
- warp instance_mapname("1@cash"),198,99;
- end;
-}
-1@cash,77,193,0 duplicate(oct_foot_exit1) oct_foot_exit2 WARPNPC,2,2
-1@cash,312,214,0 duplicate(oct_foot_exit1) oct_foot_exit3 WARPNPC,2,2
-1@cash,370,139,0 duplicate(oct_foot_exit1) oct_foot_exit4 WARPNPC,2,2
-
-1@cash,15,15,0 script oct_mob_con FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
- end;
-OnEnable:
- .@map$ = instance_mapname("1@cash");
- enablenpc instance_npcname("oct_mob_con");
- monster .@map$,32,94,"Hydra",1068,1;
- monster .@map$,41,101,"Hydra",1068,1;
- monster .@map$,35,78,"Hydra",1068,1;
- monster .@map$,35,62,"Hydra",1068,1;
- monster .@map$,49,54,"Hydra",1068,1;
- monster .@map$,70,28,"Hydra",1068,1;
- monster .@map$,83,22,"Hydra",1068,1;
- monster .@map$,99,23,"Hydra",1068,1;
- monster .@map$,115,23,"Hydra",1068,1;
- monster .@map$,132,25,"Hydra",1068,1;
- monster .@map$,100,185,"Hydra",1068,1;
- monster .@map$,92,178,"Hydra",1068,1;
- monster .@map$,92,162,"Hydra",1068,1;
- monster .@map$,70,121,"Hydra",1068,1;
- monster .@map$,70,105,"Hydra",1068,1;
- monster .@map$,105,85,"Hydra",1068,1;
- monster .@map$,121,84,"Hydra",1068,1;
- monster .@map$,292,209,"Hydra",1068,1;
- monster .@map$,303,206,"Hydra",1068,1;
- monster .@map$,290,163,"Hydra",1068,1;
- monster .@map$,299,150,"Hydra",1068,1;
- monster .@map$,308,141,"Hydra",1068,1;
- monster .@map$,308,125,"Hydra",1068,1;
- monster .@map$,295,97,"Hydra",1068,1;
- monster .@map$,279,97,"Hydra",1068,1;
- monster .@map$,370,111,"Hydra",1068,1;
- monster .@map$,370,110,"Hydra",1068,1;
- monster .@map$,371,96,"Hydra",1068,1;
- monster .@map$,371,80,"Hydra",1068,1;
- monster .@map$,367,55,"Hydra",1068,1;
- monster .@map$,343,29,"Hydra",1068,1;
- monster .@map$,327,24,"Hydra",1068,1;
- monster .@map$,311,22,"Hydra",1068,1;
- monster .@map$,295,22,"Hydra",1068,1;
- monster .@map$,279,22,"Hydra",1068,1;
- areamonster .@map$,30,67,50,87,"Stapo",1784,1;
- areamonster .@map$,102,19,122,39,"Stapo",1784,1;
- areamonster .@map$,89,138,109,158,"Stapo",1784,1;
- areamonster .@map$,112,83,132,103,"Stapo",1784,1;
- areamonster .@map$,283,168,303,188,"Stapo",1784,1;
- areamonster .@map$,292,97,312,117,"Stapo",1784,1;
- areamonster .@map$,355,64,375,84,"Stapo",1784,1;
- areamonster .@map$,317,17,337,37,"Stapo",1784,1;
- donpcevent instance_npcname("oct_backattack1")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack2")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack3")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack4")+"::OnEnable";
- donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
- end;
-OnDisable:
- disablenpc instance_npcname("oct_mob_con");
- end;
-}
-
-1@cash,45,53,0 script oct_backattack1 HIDDEN_WARP_NPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("oct_backattack1");
- end;
-OnTouch:
- .@map$ = instance_mapname("1@cash");
- monster .@map$,39,59,"Hydra",1068,1;
- monster .@map$,40,59,"Hydra",1068,1;
- monster .@map$,41,59,"Hydra",1068,1;
- monster .@map$,47,50,"Hydra",1068,1;
- monster .@map$,48,50,"Hydra",1068,1;
- monster .@map$,49,50,"Hydra",1068,1;
- monster .@map$,41,53,"Octopus's Henchman",2192,1;
- mapannounce .@map$,"Don't let them break through, stop them!!!",bc_map,"0x00ff99";
- specialeffect EF_BASH;
- disablenpc instance_npcname("oct_backattack1");
- end;
-OnEnable:
- enablenpc instance_npcname("oct_backattack1");
- end;
-}
-
-1@cash,78,99,0 script oct_backattack2 HIDDEN_WARP_NPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("oct_backattack2");
- end;
-OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
- initnpctimer;
- .@map$ = instance_mapname("1@cash");
- monster .@map$,71,105,"Octopus's Henchman ",2192,1;
- mapannounce .@map$,"Headquarters are empty, GO!!!",bc_map,"0x00ff99";
- hideonnpc instance_npcname("oct_backattack2");
- end;
-OnTimer2000:
- .@map$ = instance_mapname("1@cash");
- monster .@map$,71,105,"Octopus's Henchman ",2192,1;
- mapannounce .@map$,"Run, RUN! Go, GO!!!",bc_map,"0x00ff99";
- end;
-OnTimer4000:
- .@map$ = instance_mapname("1@cash");
- monster .@map$,71,105,"Octopus's Henchman ",2192,1;
- mapannounce .@map$,"No time, come out fast!",bc_map,"0x00ff99";
- end;
-OnTimer6000:
- .@map$ = instance_mapname("1@cash");
- monster .@map$,71,105,"Octopus's Henchman ",2192,3;
- mapannounce .@map$,"Let's take over the headquarters!!!",bc_map,"0x00ff99";
- end;
-OnTimer8000:
- .@map$ = instance_mapname("1@cash");
- monster .@map$,71,105,"Octopus's Henchman ",2192,1;
- mapannounce .@map$,"There is no time to lose, hurry up!!!",bc_map,"0x00ff99";
- stopnpctimer;
- end;
-OnEnable:
- enablenpc instance_npcname("oct_backattack2");
- end;
-}
-
-1@cash,299,144,0 script oct_backattack3 HIDDEN_WARP_NPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("oct_backattack3");
- end;
-OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
- .@map$ = instance_mapname("1@cash");
- monster .@map$,293,153,"Octopus's Henchman ",2192,1;
- monster .@map$,294,152,"Octopus's Henchman ",2192,1;
- monster .@map$,292,153,"Octopus's Henchman ",2192,1;
- monster .@map$,293,151,"Octopus's Henchman ",2192,1;
- monster .@map$,293,152,"Octopus's Henchman ?",2175,1;
- mapannounce .@map$,"Kakaka! Suprised??!!",bc_map,"0x00ff99";
- initnpctimer;
- hideonnpc instance_npcname("oct_backattack3");
- end;
-OnTimer5000:
- mapannounce instance_mapname("1@cash"),"... Looks like we have a spy among us.",bc_map,"0x00ff99";
- stopnpctimer;
- end;
-OnEnable:
- enablenpc instance_npcname("oct_backattack3");
- end;
-}
-
-1@cash,336,36,0 script oct_backattack4 HIDDEN_WARP_NPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("oct_backattack4");
- end;
-OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
- .@map$ = instance_mapname("1@cash");
- monster .@map$,332,37,"Octopus's Henchman ",2192,1;
- monster .@map$,332,36,"Octopus's Henchman ",2192,1;
- monster .@map$,332,35,"Octopus's Henchman ",2192,1;
- monster .@map$,332,34,"Octopus's Henchman ",2192,1;
- monster .@map$,341,37,"Octopus's Henchman ",2192,1;
- monster .@map$,341,36,"Octopus's Henchman ",2192,1;
- monster .@map$,341,35,"Octopus's Henchman ",2192,1;
- monster .@map$,341,34,"Octopus's Henchman ",2192,1;
- monster .@map$,260,40,"Mercenary Squid",2175,1;
- monster .@map$,260,41,"Mercenary Squid",2175,1;
- monster .@map$,260,39,"Mercenary Squid",2175,1;
- monster .@map$,259,40,"Mercenary Squid",2175,1;
- monster .@map$,261,40,"Mercenary Squid",2175,1;
- mapannounce .@map$,"What a successful pincer tactic! The enemy is strong! Let's not lose yourselves! Anyway, where are all the mercenaries??",bc_map,"0x00ff99";
- initnpctimer;
- hideonnpc instance_npcname("oct_backattack4");
- end;
-OnTimer5000:
- mapannounce instance_mapname("1@cash"),"Mercenary Squid : eh...eh... wrong direction. No enemies are shown in this direction.",bc_map,"0x00ff99";
- end;
-OnTimer7000:
- mapannounce instance_mapname("1@cash"),"Pervert Octopus : Fools! Can't you read the map??!! Useless!!",bc_map,"0x00ff99";
- stopnpctimer;
- end;
-OnEnable:
- enablenpc instance_npcname("oct_backattack4");
- end;
-}
-
-1@cash,2,2,0 script oct_boss_con FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
- end;
-OnDisable:
- disablenpc instance_npcname("oct_boss_con");
- end;
-OnEnable:
- enablenpc instance_npcname("oct_boss_con");
- donpcevent instance_npcname("oct_boss_foot")+"::OnEnable";
- monster instance_mapname("1@cash"),199,188,"Disgusting Octopus",2194,1,instance_npcname("oct_boss_con")+"::OnMyMobDead";
- initnpctimer;
- end;
-OnTimer7000:
- callsub OnAnnounce,
- "You won't attack the one man.",
- "I got fired from ink manufacturer last week.",
- "Disgusting Octopus : Arghhhhh, come on!";
- end;
-OnTimer14000:
- callsub OnAnnounce,
- "Why... why can't you know my heart!",
- "Do you know how hard it is to live these days because there are not many new adventurers?",
- "You.. I'll destroy you all...!";
- end;
-OnTimer21000:
- callsub OnAnnounce,
- "What? I'm a disgusting octopus? You're sadists.",
- "Let's not do this and how about we look for the best solution, huh??",
- "Even if I fail here, I will keep coming back, forever!!!";
- end;
-OnTimer28000:
- callsub OnAnnounce,
- "Instinct of mating is for males, what did I do wrong?",
- "Do you really want to solve the problem between humans by violence?? Ah, I'm an octopus...",
- "That's enough! Back off!";
- end;
-OnTimer35000:
- callsub OnAnnounce,
- "Do I have to spend Christmas alone again...",
- "Youth unemployment became a big issue these days... You won't get a job if you keep playing with me here.",
- "This is as far as I can go!";
- end;
-OnTimer42000:
- callsub OnAnnounce,
- "Hand on your heart and think if you come onto anyone...",
- "Let's not do this here and follow the law!",
- "You'll keep on doing this til the end, is that it?";
- end;
-OnTimer49000:
- callsub OnAnnounce,
- "errrrrrrrrrrrrrrrrrrrrrrrr... Cough! Cough!",
- "Disgusting Octopus : Violence cannot be justified in any case.",
- "This is my place!!!";
- stopnpctimer;
- initnpctimer;
- end;
-OnAnnounce:
- mapannounce instance_mapname("1@cash"),"Disgusting Octopus : "+getarg(rand(3)),bc_map,"0xFFFF00";
- return;
-OnMyMobDead:
- .@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_boss_con")+"::OnMyMobDead") < 1) {
- mapannounce .@map$,"Disgusting Octopus : That's it for the today! Next time, I will play with you badly!",bc_map,"0xFFFF00";
- enablenpc instance_npcname("oct_exit_1");
- enablenpc instance_npcname("oct_exit_2");
- donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
- stopnpctimer;
- donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
- end;
- }
- end;
-}
-
-1@cash,4,4,0 script oct_boss_foot FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
- end;
-OnEnable:
- enablenpc instance_npcname("oct_boss_foot");
- initnpctimer;
- end;
-OnCall:
- .@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_boss_foot")+"::OnMyMobDead") < 100) {
- switch(rand(2)) {
- case 0:
- mapannounce .@map$,"Disgusting Octopus : Do you know how many legs octopus have? It doesn't matter, I have unlimited legs!!",bc_map,"0xFFFF00";
- areamonster .@map$,192,181,206,195,"Octopus Leg",2193,1,instance_npcname("oct_boss_foot")+"::OnMyMobDead";
- break;
- case 1:
- mapannounce .@map$,"Disgusting Octopus : I...cannot..hold anymore, my babies~ please come out and fight!",bc_map,"0xFFFF00";
- areamonster .@map$,192,181,206,195,"Octopus's Henchman ",2192,5,instance_npcname("oct_boss_foot")+"::OnMyMobDead";
- break;
- }
- }
- initnpctimer;
- end;
-OnTimer10000:
- stopnpctimer;
- donpcevent instance_npcname("oct_boss_foot")+"::OnCall";
- end;
-OnDisable:
- stopnpctimer;
- killmonster instance_mapname("1@cash"),instance_npcname("oct_boss_foot")+"::OnMyMobDead"; // Not in official script.
- disablenpc instance_npcname("oct_boss_foot");
- end;
-OnMyMobDead:
- end;
-}
-
-1@cash,198,116,0 script oct_boss_warp WARPNPC,2,2,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("oct_boss_warp");
- end;
-OnTouch:
- warp instance_mapname("1@cash"),210,172;
- end;
-}
-
-1@cash,190,208,0 script oct_exit_1 WARPNPC,2,2,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnTouch:
- mes "Do you want to go out from the octopus dungeon?";
- next;
- if(select("No!", "Yes!") == 2)
- warp "mal_dun01",153,233;
- close;
-}
-1@cash,198,82,0 duplicate(oct_exit_1) oct_exit_2 WARPNPC,2,2
-// This is never enabled in the official script.
-//1@cash,200,161,0 duplicate(oct_exit_1) oct_exit_3 WARPNPC,2,2
-
-//== Warp Portals ==========================================
-1@cash,193,82,0 warp oct_door1 2,2,1@cash,151,48
-1@cash,154,53,0 warp oct_door2 2,2,1@cash,197,87
-1@cash,187,99,0 warp oct_door3 2,2,1@cash,148,128
-1@cash,153,133,0 warp oct_door4 2,2,1@cash,197,99
-1@cash,209,100,0 warp oct_door5 2,2,1@cash,250,111
-1@cash,244,118,0 warp oct_door6 2,2,1@cash,199,100
-1@cash,209,83,0 warp oct_door7 2,2,1@cash,252,46
-1@cash,246,53,0 warp oct_door8 2,2,1@cash,203,83
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index 329bee220..bf099cd2d 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -93,7 +93,7 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
mes("Umm? Did you see me at another place? I don't think so. What about this time?");
next;
if (!questprogress(12317, PLAYTIME)) {
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Old Glast Heim";
if (!instance_check_party(.@party_id)) {
@@ -103,18 +103,18 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
}
if (!questprogress(12318, HUNTING))
setquest 12318;
- if (getcharid(0) == getpartyleader(.@party_id, 2))
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
.@menu1$ = "Generate Time Gap";
else
.@menu1$ = "";
switch (select(.@menu1$, "Enter Old Glast Heim", "Cancel")) {
case 1:
- if (getcharid(0) != getpartyleader(.@party_id, 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
end;
.@instance = instance_create(.@md_name$, .@party_id);
if (.@instance < 0) {
mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(0));
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
close;
}
@@ -134,7 +134,7 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
"The party leader did not generate the dungeon yet.", .@md_name$);
close;
}
- mapannounce("glast_01", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(0), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
+ mapannounce("glast_01", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
setquest 12317;
warp "1@gl_k", 150, 20;
end;
@@ -165,7 +165,7 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
// Floor 1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,149,41,6 script Varmundt#ghinstance1 4_M_BARMUND,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("Where's your leader? I need his help.");
@@ -179,9 +179,9 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
npctalk(_("Are you the one Herico sent to help me?"));
next;
select("Oh. Well I...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Ah yes, I am. Herico told me to meet you.");
- unittalk(getcharid(3), _("Ah yes, I am. Herico told me to meet you."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Ah yes, I am. Herico told me to meet you."));
next;
cutin("gl_barmund2", 2);
mes("[Varmundt]");
@@ -189,9 +189,9 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
npctalk(_("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."));
next;
select("Himelmez...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Who is Himelmez?");
- unittalk(getcharid(3), _("Who is Himelmez?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Who is Himelmez?"));
next;
cutin("gl_barmund3", 2);
mes("[Varmundt]");
@@ -277,7 +277,7 @@ OnEnable:
1@gl_k,154,104,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#22 4_F_KHALITZBURG
1@gl_k,149,100,6 script Heinrich#ghinstance1 4_M_HEINRICH,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
cutin("gl_heinrich2", 2);
mes("[Heinrich]");
mes("Where is your leader? I must talk to him.");
@@ -287,9 +287,9 @@ OnEnable:
}
cutin("gl_heinrich2", 2);
select("Sir. Heinrich. Varmundt...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Sir. Heinrich. Do you know what is happening in the castle now?");
- unittalk(getcharid(3), _("Sir. Heinrich. Do you know what is happening in the castle now?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sir. Heinrich. Do you know what is happening in the castle now?"));
next;
mes("[Heinrich]");
mes("Aren't you the adventurer that came along with Varmundt?");
@@ -300,9 +300,9 @@ OnEnable:
npctalk(_("What is it? Something wrong with the castle?"));
next;
select("Himelmez's invasion...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!");
- unittalk(getcharid(3), _("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"));
next;
cutin("gl_heinrich1", 2);
mes("[Heinrich]");
@@ -319,9 +319,9 @@ OnEnable:
npctalk(_("We must hide the heart piece to a safe place before Himelmez's attack starts!"), instance_npcname("Varmundt#ghinstance2"));
next;
select("Even if you don't believe me...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("I can't make you believe me, but there's no time to argue!");
- unittalk(getcharid(3), _("I can't make you believe me, but there's no time to argue!"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("I can't make you believe me, but there's no time to argue!"));
cutin("gl_barmund2", 255);
next;
cutin("gl_heinrich1", 2);
@@ -801,7 +801,7 @@ OnMyMobDead:
}
1@gl_k,17,51,3 script Altar boy Domun#clearGH 4_M_KID1,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
mes("[Altar boy Domun]");
mes("Save me, save me, please...");
close;
@@ -811,10 +811,10 @@ OnMyMobDead:
npctalk(_("Save me! Save me!!!"));
next;
select("Hold on!Are you the only survivor?");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Hold on!\r"
"Are you the only survivor?");
- unittalk(getcharid(3), _("Hold on! Are you the only survivor?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Hold on! Are you the only survivor?"));
next;
mes("[Altar boy Domun]");
mes("Chamberlains... monks...\r"
@@ -828,9 +828,9 @@ OnMyMobDead:
npctalk(_("Altar boy Domun : All I could do was... Just hide in here... Nothing, nothing I could do..."));
next;
select("Pull it together!");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Wake up kid! Go east and find the middle passage to the outside! That is safe!");
- unittalk(getcharid(3), _("Wake up kid! Go east and find the middle passage to the outside! That is safe!")); // Displays 1st Letter of char name in small?
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Wake up kid! Go east and find the middle passage to the outside! That is safe!")); // Displays 1st Letter of char name in small?
next;
mes("[Altar boy Domun]");
mes("To the east passage?\r"
@@ -839,9 +839,9 @@ OnMyMobDead:
npctalk(_("Altar boy Domun : To the east passage? Alone? How?"));
next;
select("I will give you a weapon.");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Here's a weapon. Just close your eye and swing for those monsters.");
- unittalk(getcharid(3), _("Here's a weapon. Just close your eye and swing for those monsters."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Here's a weapon. Just close your eye and swing for those monsters."));
next;
mes("[Altar boy Domun]");
mes("Ok, I... I'l try.");
@@ -898,7 +898,7 @@ OnMyMobDead:
}
1@gl_k,291,145,3 script Holgren the Destroyer 4_F_JOB_BLACKSMITH,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
mes("[Holgren the Destroyer]");
mes("Are you human?");
close;
@@ -909,27 +909,27 @@ OnMyMobDead:
specialeffect EF_CRASHEARTH;
next;
select("Relax! I'm not a monster!");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Relax! I am Human. Are you alone? Anyone else here?");
- unittalk(getcharid(3), _("Relax! I am Human. Are you alone? Anyone else here?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Relax! I am Human. Are you alone? Anyone else here?"));
next;
mes("[Holgren the Destroyer]");
mes("It's only me alive.");
npctalk(_("Holgren the Destroyer : It's only me alive."));
next;
select("It's dangerous here...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("It's dangerous here. You know the way to the middle passage? Can you move?");
- unittalk(getcharid(3), _("It's dangerous here. You know the way to the middle passage? Can you move?")); // Displays 1st Letter of char name in small?
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("It's dangerous here. You know the way to the middle passage? Can you move?")); // Displays 1st Letter of char name in small?
next;
mes("[Holgren the Destroyer]");
mes("Yes, I can move. I need to get out of here.");
npctalk(_("Holgren the Destroyer : Yes, I can move. I need to get out of here."));
next;
select("Be safe...");
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Sorry, I can't go with you.");
- unittalk(getcharid(3), _("Sorry, I can't go with you."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sorry, I can't go with you."));
next;
mes("[Holgren the Destroyer]");
mes("It's ok. You've already done enough. I can help myself. Good luck to you too.");
@@ -2226,7 +2226,7 @@ OnEnable:
end;
}
-// Merchant, and Trade NPC - Get Temporal Boots --> exchange to Temporal_STAT_Boots
+// Merchant, and Trade NPC - Get Temporal Boots --> exchange to Temporal_*_Boots
// Upon trade all refines got removed
// Uses Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2275,7 +2275,7 @@ glast_01,210,273,5 script Hugin's Butler 1_F_04,{
mes("You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000.");
next;
setarray .@type$[0], "Strength", "Intelligence", "Agility", "Vitality", "Dexterity", "Luck";
- setarray .@equip_type[0], Temporal_STR_Boots, Temporal_INT_Boots, Temporal_AGI_Boots, Temporal_VIT_Boots, Temporal_DEX_Boots, Temporal_LUK_Boots;
+ setarray .@equip_type[0], Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots;
.@select = select("Cancel", "Str Boots", "Int Boots", "Agi Boots", "Vit Boots", "Dex Boots", "Luk Boots");
switch (.@select) {
case 1:
@@ -2296,7 +2296,7 @@ glast_01,210,273,5 script Hugin's Butler 1_F_04,{
mes("The boots has been upgraded as you want.");
delequip .@part;
delitem Temporal_Crystal, 5;
- getitem2 .@equip_type[.@select-2], 1, 1, 0, 0, 0, 0, 0, 0; // Temporal_STR_Boots, Temporal_INT_Boots, Temporal_AGI_Boots, Temporal_VIT_Boots, Temporal_DEX_Boots, Temporal_LUK_Boots
+ getitem2 .@equip_type[.@select-2], 1, 1, 0, 0, 0, 0, 0, 0; // Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots
close;
}
mes("[Hugin's Butler]");
@@ -2307,7 +2307,7 @@ glast_01,210,273,5 script Hugin's Butler 1_F_04,{
}
// Enchant NPC - Coagulated Spell to enchants on 4th slot. First one to pick --> upgraded --> additional random enchant on 3rd slot
-// Adding a socket on the Craftsman NPC will remove the 3rd and 4th slot enchants of the Temporal_STAT_Boots
+// Adding a socket on the Craftsman NPC will remove the 3rd and 4th slot enchants of the Temporal_*_Boots
// Enchanting can fail, the 3th slot random one is guaranteed
// Refine remains
// Item Used: Coagulated_Spell
@@ -2371,18 +2371,18 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
setarray .@enchant_rate[0], 90, 80, 70, 50, 100; // Enchant Success Rate in %
.@random = rand(1, 100);
switch (.@equip_id) {
- case Temporal_STR_Boots:
- case Temporal_INT_Boots:
- case Temporal_AGI_Boots:
- case Temporal_VIT_Boots:
- case Temporal_DEX_Boots:
- case Temporal_LUK_Boots:
- case Temporal_STR_Boots_:
- case Temporal_INT_Boots_:
- case Temporal_AGI_Boots_:
- case Temporal_VIT_Boots_:
- case Temporal_DEX_Boots_:
- case Temporal_LUK_Boots_:
+ case Temporal_Str_Boots:
+ case Temporal_Int_Boots:
+ case Temporal_Agi_Boots:
+ case Temporal_Vit_Boots:
+ case Temporal_Dex_Boots:
+ case Temporal_Luk_Boots:
+ case Temporal_Str_Boots_:
+ case Temporal_Int_Boots_:
+ case Temporal_Agi_Boots_:
+ case Temporal_Vit_Boots_:
+ case Temporal_Dex_Boots_:
+ case Temporal_Luk_Boots_:
if (.@card3 == 0) { //4th slot 1st try enchanting
.@cost = .@enchant_cost[0];
.@scs = .@enchant_rate[0];
@@ -2450,7 +2450,7 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
case MHP2:
case Attack_Delay_4:
case Luck6:
- .@enchant = callfunc("F_Rand", Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day);
+ .@enchant = callfunc("F_Rand", Bears_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day);
mes("[Hugin's Magic Master]"); // Custom text
mes("Seems you already completed the best upgrade option in your 4th slot. For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment...");
next;
@@ -2566,9 +2566,9 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
close;
}
-// Socket NPC - Contaminated_Magic or Temporal_Crystal to add card slot
+// Socket NPC - Corrupted_Charm or Temporal_Crystal to add card slot
// After the boots were slotted, you can still enchant, but slotting removes any enchants and refines applied before.
-// Item Used: Contaminated_Magic, Temporal_Crystal
+// Item Used: Corrupted_Charm, Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
disable_items;
@@ -2601,12 +2601,12 @@ glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
}
.@equip_id = getequipid(.@part);
switch (.@equip_id) {
- case Temporal_STR_Boots:
- case Temporal_INT_Boots:
- case Temporal_AGI_Boots:
- case Temporal_VIT_Boots:
- case Temporal_DEX_Boots:
- case Temporal_LUK_Boots:
+ case Temporal_Str_Boots:
+ case Temporal_Int_Boots:
+ case Temporal_Agi_Boots:
+ case Temporal_Vit_Boots:
+ case Temporal_Dex_Boots:
+ case Temporal_Luk_Boots:
mes("[Hugin's Craftsman]");
mes("The ^FF0000Boots and all enchants or refines will be lost if you fail this.^000000\r"
"Still want to risk it?");
@@ -2629,7 +2629,7 @@ glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
mes("Then my last question:\r"
"Which item are you gonna use to pay me?");
next;
- setarray .@slotpay[0], Temporal_Crystal, Contaminated_Magic;
+ setarray .@slotpay[0], Temporal_Crystal, Corrupted_Charm;
setarray .@slotcost[0], 10, 50;
setarray .@slotchance[0], 80, 65; // Custom rates
.@select = select("Cancel", "Temporal Crystal", "Contaminated Magic");
@@ -2664,18 +2664,18 @@ glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
specialeffect2 EF_PHARMACY_OK;
delequip .@part;
// todo: read aegis name and attach "_" to worn constant
- if (.@equip_id == Temporal_STR_Boots) {
- getitem2 Temporal_STR_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_INT_Boots) {
- getitem2 Temporal_INT_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_AGI_Boots) {
- getitem2 Temporal_AGI_Boots_, 1, 1, 0, 0, 0, 0, .0, 0;
- } else if (.@equip_id == Temporal_VIT_Boots) {
- getitem2 Temporal_VIT_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_DEX_Boots) {
- getitem2 Temporal_DEX_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_LUK_Boots) {
- getitem2 Temporal_LUK_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ if (.@equip_id == Temporal_Str_Boots) {
+ getitem2 Temporal_Str_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_Int_Boots) {
+ getitem2 Temporal_Int_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_Agi_Boots) {
+ getitem2 Temporal_Agi_Boots_, 1, 1, 0, 0, 0, 0, .0, 0;
+ } else if (.@equip_id == Temporal_Vit_Boots) {
+ getitem2 Temporal_Vit_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_Dex_Boots) {
+ getitem2 Temporal_Dex_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
+ } else if (.@equip_id == Temporal_Luk_Boots) {
+ getitem2 Temporal_Luk_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
}
close;
default:
@@ -2699,7 +2699,7 @@ glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{
mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000.");
mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>");
next;
- setarray .@item[0], Coagulated_Spell, Contaminated_Magic;
+ setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
setarray .@cost[0], 3000, 70;
.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
switch (.@select) {
@@ -2717,7 +2717,7 @@ glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{
close;
}
delitem .@item, .@cost;
- getitem White_Knight_Card, 1;
+ getitem White_Knightage_Card, 1;
close;
}
}
@@ -2732,7 +2732,7 @@ glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000.");
mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>");
next;
- setarray .@item[0], Coagulated_Spell, Contaminated_Magic;
+ setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
setarray .@cost[0], 5000, 100;
.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
switch (.@select) {
@@ -2750,92 +2750,7 @@ glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
close;
}
delitem .@item, .@cost;
- getitem Khalitzburg_Knight_Card, 1;
+ getitem Khali_Knightage_Card, 1;
close;
}
}
-
-// Glast Heim Nightmare Mode :: nightmare_gh
-//============================================================
-glast_01,195,273,4 script Hugin's Follower#n_gh 2_F_MAGICMASTER,{
- mes("[Hugin's Follower]");
- mes("I can't move between time and dimension like a master Hugin but I can pretend to move.");
- next;
- mes("[Hugin's Follower]");
- mes("What about this Glast Heim is born with powerful dark force?");
- next;
- if (select("I don't care", "That is interesting, please tell me more") == 1) {
- mes("[Hugin's Follower]");
- mes("Well~ If you are not interested in it, never mind.");
- close;
- }
- mes("[Hugin's Follower]");
- mes("As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force.");
- next;
- mes("[Hugin's Follower]");
- mes("How is it? Do you want to explore there?");
- next;
- if (select("No, I want to stop it", "I really want to do that!") == 1) {
- mes("[Hugin's Follower]");
- mes("Well~ If you are not interested in it, never mind.");
- close;
- }
- mes("[Hugin's Follower]");
- mes("Sure that is not free~ I have to get something little bit. Hoho...");
- next;
- mes("[Hugin's Follower]");
- mes("I can send you just two place. How is it? Do you want to try?");
- next;
- switch (select("Cancel", "Monastery Cemetery (Lv100~130) - 5000z", "Corridor of 2nd floor (Over Lv140) - 10000z")) {
- case 1:
- mes("[Hugin's Follower]");
- mes("Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me...");
- close;
- case 2:
- if (Zeny < 5000) {
- mes("[Hugin's Follower]");
- mes("Please make sure you already have all of the money.");
- close;
- }
- Zeny = Zeny-5000;
- warp "gl_chyard_", 148, 144;
- end;
- case 3:
- if (Zeny < 10000) {
- mes("[Hugin's Follower]");
- mes("Please make sure you already have all of the money.");
- close;
- }
- Zeny = Zeny-10000;
- warp "gl_cas02_", 104, 31;
- end;
- }
-}
-
-gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 2_F_MAGICMASTER,{
- mes("[Hugin's Follower]");
- mes("You want to break?");
- mes("Ok, let's get out of here.?");
- next;
- if (select("Ah, wrong click... I mean I was not talk to you", "Please let me out from here") == 1) {
- mes("[Hugin's Follower]");
- mes("Alright just tell me whenever you want to leave.");
- close;
- }
- warp "glast_01", 210, 269;
- end;
-}
-
-gl_cas02_,104,36,4 script Hugin's Follower#n_gh2 2_F_MAGICMASTER,{
- mes("[Hugin's Follower]");
- mes("You want to break?");
- mes("Ok, let's get out of here.?");
- next;
- if (select("Ah, wrong click... I mean I was not talk to you", "Please let me out from here") == 1) {
- mes("[Hugin's Follower]");
- mes("Alright just tell me whenever you want to leave.");
- close;
- }
- warp "glast_01", 210, 269;
- end;
-}
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
index 16eaad351..e88ec4332 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -1768,7 +1768,7 @@ lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{
mes "So, please prepare your party members, and take care of those boss creatures. I'm not sure how long this place can hold.";
close;
} else if (lght_duk01 > 6) {
- if (getcharid(1) > 0) {
+ if (getcharid(CHAR_ID_PARTY) > 0) {
mes "[Wolfchev]";
mes "Are you all set there? I will prepare the entrance if you are the leader of that party.";
next;
@@ -1859,8 +1859,8 @@ lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{
}
}
}
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
- .@instance = instance_create("Worsef", getcharid(1));
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
+ .@instance = instance_create("Worsef", getcharid(CHAR_ID_PARTY));
if (.@instance < 0) {
mes "[Wolfchev]";
mes "Hmm.. Lab entering system is a bit weird. Would wait for me to check the system?";
@@ -1876,7 +1876,7 @@ lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{
instance_init(.@instance);
mes "[Wolfchev]";
mes "Alright! I have marked lan entering system code as";
- mes "^0000ff"+ strcharinfo(1) +"^000000 party leader's name ^0000ff"+ strcharinfo(PC_NAME) +"^000000!!.";
+ mes "^0000ff"+ strcharinfo(PC_PARTY) +"^000000 party leader's name ^0000ff"+ strcharinfo(PC_NAME) +"^000000!!.";
next;
mes "[Wolfchev]";
mes "Now, your party is free to pass the entrance.";
@@ -1938,7 +1938,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
mes "You have been wounded by laboratory entrance system attack.";
close;
} else {
- mapannounce "lhz_dun04","Laboratory entrance system ["+ strcharinfo(1) +"] member ["+ strcharinfo(PC_NAME) +"] access granted..",bc_map,"0x0DF297";
+ mapannounce "lhz_dun04","Laboratory entrance system ["+ strcharinfo(PC_PARTY) +"] member ["+ strcharinfo(PC_NAME) +"] access granted..",bc_map,"0x0DF297";
setquest 5112;
warp "1@lhz.gat", 45, 148;
close;
@@ -2035,7 +2035,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
1@lhz,39,168,0 script Manual Sheet#1_1 CLEAR_NPC,{
mes "There are valve manual sheets littered on the floor.";
next;
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
mes "You the party leader, started to read the manual.";
next;
mes "[Emergency Access Valve Manual]";
@@ -2112,7 +2112,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
1@lhz,41,172,0 script Valve#1_2 CLEAR_NPC,{
.@open_portal = 0;
mes "This is the left valve for the emergency access.";
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
next;
mes "To which direction do you wish to turn?";
next;
@@ -2174,7 +2174,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
1@lhz,52,172,0 script Valve#1_3 CLEAR_NPC,{
.@open_portal = 0;
mes "This is the left valve for the emergency access.";
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
next;
mes "To which direction do you wish to turn?";
next;
@@ -2562,7 +2562,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
//== The Lab No.2 Valves ===================================
- script bio4FLab2Valve FAKE_NPC,{
- if (getpartyleader(getcharid(1),2) == getcharid(0)) {
+ if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
progressbar "0xffff00", 20;
stopnpctimer;
donpcevent instance_npcname("Lab2#2_2")+"::OnDisableValve1";
diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
index ea8f3d853..b1a8f3c10 100644
--- a/npc/re/instances/ghost_palace.txt
+++ b/npc/re/instances/ghost_palace.txt
@@ -59,13 +59,13 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
"I will be right behind you!");
close();
}
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
if (!.@party_id) {
mes("[Unpleasent Royal Guard]");
mes("This is a solo instance. Please form a solo party before continuing.");
close();
}
- if (getcharid(0) != getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id,2)) {
mes("[Unpleasent Royal Guard]");
mes("I'm looking for adventurers to help me!\r"
"I want to talk to the team leader, can I?");
@@ -94,7 +94,7 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
.@md_name$ = "Ghost Palace";
if (.@instance < 0) {
mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(0));
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
close();
}
@@ -134,7 +134,7 @@ dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
mes("The monsters that attacked the palace are wandering around the secret entrance. It would be very bad if they spotted us... Please wait until the time limit for re-entrance passed.");
close();
}
- if (getcharid(0) == getpartyleader(.@party_id,2) && !questprogress(1260)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2) && !questprogress(1260)) {
mes("[Unpleasent Royal Guard]");
mes("I'm looking for adventurers to help me!\r"
"I want to talk to the team leader, can I?");
@@ -155,7 +155,7 @@ dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
mes("^FF0000Inside the device you see a dark hole. If you wish to enter you may wish to talk to the Unpleasant Royal Guard first.^000000");
close();
}
- mapannounce("dali", sprintf(_$("%s of the party, %s, is entering the Ghost Palace."), strcharinfo(0), getpartyname(getcharid(1))), bc_map, C_SPRINGGREEN);
+ mapannounce("dali", sprintf(_$("%s of the party, %s, is entering the Ghost Palace."), strcharinfo(PC_NAME), getpartyname(getcharid(CHAR_ID_PARTY))), bc_map, C_SPRINGGREEN);
if (!questprogress(1260)) setquest 1260;
setquest 1261;
warp("1@spa", 198, 188);
@@ -318,9 +318,9 @@ OnInstanceInit:
"Everything will be vanished...");
close2();
if (first_time_gpmission)
- getitem Gray_Piece, 1;
+ getitem(Gray_Shard, 1);
if (!first_time_gpmission) {
- getitem Gray_Piece, 2;
+ getitem(Gray_Shard, 2);
getexp(900000, 500000);
++first_time_gpmission;
}
@@ -548,17 +548,17 @@ OnInstanceInit:
"Did you see?");
npctalk(_("Okay, that is good. A traveler. Did you see?"), instance_npcname("Sakray#gp5"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Sakray, What do you want sympathy? Or is it a trap?");
- unittalk(getcharid(3), _("Sakray, What do you want sympathy? Or is it a trap?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sakray, What do you want sympathy? Or is it a trap?"));
next;
mes("[Sakray]");
mes("Non...I did not need to make an effort to catch a novice.");
npctalk(_("Non...I did not need to make an effort to catch a novice."), instance_npcname("Sakray#gp5"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("If so... then why...?");
- unittalk(getcharid(3), _("If so... then why...?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("If so... then why...?"));
next;
cutin("cry-b", 3);
mes("[Sakray]");
@@ -578,9 +578,9 @@ OnInstanceInit:
mes("[Sakray]");
mes("Can you set yourself free from this curse?");
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("...");
- unittalk(getcharid(3), _("..."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("..."));
next;
mes("[Sakray]");
mes("Heh heh... I will keep watching you until the day you grow up enough.");
@@ -705,9 +705,10 @@ OnInstanceInit:
mes("The cursed knight...\r"
"Please help me save the soul of Sakray.");
next;
- setarray .@items_list, Thanatos_Sword, Thanatos_Great_Sword, Thanatos_Spear, Thanatos_Long_Spear, Thanatos_Staff, Thanatos_Two-Handed_Staff, Thanatos_Bow,
- Thanatos_Dagger, Thanatos_Katar, Thanatos_Knuckles, Thanatos_Hammer, Thanatos_Axe, Thanatos_Violin, Thanatos_Whip, Gray_Shield,
- Gray_Armor, Gray_Robe, Gray_Cloak, Boots_of_Gray, Gray_Helmet;
+ setarray(.@items_list,
+ Thanos_Sword, Thanos_Great_Sword, Thanos_Spear, Thanos_Long_Spear, Thanos_Staff, Thanos_Rod, Thanos_Bow,
+ Thanos_Dagger, Thanos_Katar, Thanos_Knuckle, Thanos_Hammer, Thanos_Axe, Thanos_Violin, Thanos_Whip, Shield_Of_Gray,
+ Armor_Of_Gray, Gray_Robe, Cloak_Of_Gray, Boots_Of_Gray, Gray_Helmet);
setarray .@cost, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 100, 100, 100, 100, 100, 100;
.@menulist$ = "";
@@ -734,7 +735,7 @@ OnInstanceInit:
break;
case 2:
next;
- if (countitem(Gray_Piece) < .@cost[.@choice]) {
+ if (countitem(Gray_Shard) < .@cost[.@choice]) {
mes("[King]");
mes("You don't have enough Gray Shards.");
mesf("I need %d Gray Shards to make a ^FF0000%s.^000000", .@cost[.@choice], getitemname(.@items_list[.@choice]));
@@ -755,7 +756,7 @@ OnInstanceInit:
mes("[King]");
mes("The power requires a sacrifice.\r"
"Please be careful...");
- delitem Gray_Piece, .@cost[.@choice];
+ delitem(Gray_Shard, .@cost[.@choice]);
getitem .@items_list[.@choice], 1;
close();
}
diff --git a/npc/re/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt
new file mode 100644
index 000000000..b09d243ab
--- /dev/null
+++ b/npc/re/instances/octopus_cave.txt
@@ -0,0 +1,701 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2013-2016 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Octopus Cave
+//================= Description ===========================================
+//= Defeat the Disgusting Octopus.
+//================= Current Version =======================================
+//= 1.1
+//=========================================================================
+
+1@cash mapflag src4instance
+
+//== Instance Creation =====================================
+mal_dun01,151,235,5 script Starfish 4_ASTER,{
+
+ .@party_id = getcharid(CHAR_ID_PARTY);
+ .@md_name$ = "Octopus Cave";
+
+ if (!.@party_id) {
+ mes("[Starfish]");
+ mes("You alone is powerless, hehe! Better get someone to help you out. Make a party, and come back later.");
+ close;
+ }
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2)) {
+ mes("[Starfish]");
+ mes("Where is your leader, hehe. I don't talk to some random people. Bring your boss to me.");
+ close;
+ }
+ mes("[Starfish]");
+ mes("I am guarding here, hehe! It is just roughly blocked for now. But someday this cave must be sealed forever, hehe!");
+ next;
+ while(1) {
+ switch (select("Ask what's going on.", "Ask to open the gate.", "Go to other location.")) {
+ case 1:
+ mes("[Starfish]");
+ mes("Lately, our Starfish lady is suffering with some issues, ooh ooh. Something bad happen in this peaceful place, hehe!");
+ next;
+ mes("[Starfish]");
+ mes("Weird looking limbs came out from the hole there, tried to kidnap our lady Starfish. Ooh Ooh.");
+ next;
+ mes("[Starfish]");
+ mes("It seems those limbs belong to that ugly octopus. That monster should be taken care of,\r"
+ "but it's hard for ourselves only to make it happen, hehe.");
+ next;
+ mes("[Starfish]");
+ mes("I want to find someone special, and ask to punish this ugly octopus.\r"
+ "I hope this octopus won't ever harass our lady, hehe.");
+ next;
+ mes("[Starfish]");
+ mes("Go catch that octopus and stick it to this pick. If you bring back the pick,\r"
+ "I will open this gate for a while. You should challenge if you are interested, hehe.");
+ next;
+ break;
+ case 2:
+ .@playtime = questprogress(4197, PLAYTIME);
+ if (.@playtime == 1) {
+ mes("[Starfish]");
+ mes("Octopus is not around now, hehe. Please come back later.");
+ close;
+ }
+ if (.@playtime == 2) erasequest 4197;
+ if (countitem(Octopus_Hunt_Stick)) {
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance < 0) {
+ mes("[Starfish]");
+ mesf("Party name is... %s.", getpartyname(.@party_id));
+ mesf("Party leader is... %s.", strcharinfo(PC_NAME));
+ mesf("^0000FF%s^000000, I cannot open now, hehe.", .@md_name$);
+ mes("Now is not the time, please wait.");
+ close;
+ }
+ if (instance_attachmap("1@cash", .@instance) == "") {
+ mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close;
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
+
+ mes("[Starfish]");
+ mesf("I will open the gate for a while to ^0000FF%s^000000.", .@md_name$);
+ mes("Please catch that pervert octopus, and come back with it sticked to the pick, hehe.");
+ close;
+ }
+ mes("[Starfish]");
+ mes("Prepare a pick first, so you can thread that octopus with that pick.\r"
+ "Then, I will let you in for a while, hehe.");
+ close;
+ case 3:
+ mes("[Starfish]");
+ mes("This is not a good location, check someplace else.");
+ close;
+ }
+ }
+}
+
+mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
+ mes("There is a strange entrance blocked roughly with some boards.");
+ next;
+ switch (select("Go in.", "Stop.")) {
+ case 1:
+ if (countitem(Octopus_Hunt_Stick)) {
+ if (has_instance("1@cash") == "") {
+ if (questprogress(4197, PLAYTIME) == 1) {
+ mes("[Starfish]");
+ mes("Ah, now is not the time... Would you come back later? Hehe.");
+ close;
+ }
+ mes("[Starfish]");
+ mes("Shhh... Weird aura is coming from that entrance. Big trouble is waiting, if you go in now.");
+ close;
+ }
+
+ mapannounce("mal_dun01", sprintf(_$("%s party's %s member started to hunt the Octopus!"), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN);
+ if (!questprogress(4197)) setquest 4197;
+ warp "1@cash", 199, 99;
+ end;
+ }
+ mes("[Starfish]");
+ mes("You should definitely prepare hunting stick if you want to punish the Octopus. Or I will not let you in! Hehe.");
+ close;
+ case 2:
+ mes("[Starfish]");
+ mes("Yes Yes, you better quit.");
+ close;
+ }
+}
+
+//== Instance Scripts ======================================
+1@cash,199,99,0 script oct_enter HIDDEN_WARP_NPC,4,4,{
+ end;
+OnTouch:
+ donpcevent instance_npcname("oct_enter_broad")+"::OnEnable";
+ specialeffect EF_BASH;
+ disablenpc instance_npcname("oct_enter");
+ end;
+}
+
+1@cash,1,1,0 script oct_enter_broad FAKE_NPC,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_enter_broad");
+ donpcevent instance_npcname("oct_foot_4")+"::OnEnable";
+ donpcevent instance_npcname("oct_mob_con")+"::OnEnable";
+ initnpctimer;
+ end;
+OnDisable:
+ disablenpc instance_npcname("oct_enter_broad");
+ end;
+OnTimer1000:
+ mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : How dare you to come inside of my place!"), bc_map, C_YELLOW);
+ end;
+OnTimer4000:
+ mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : But I blocked all the cave gates!! There is nothing you can do!"), bc_map, C_YELLOW);
+ end;
+OnTimer7000:
+ mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : My juniors~ There is your toy! Play with it~ kakaka"), bc_map, C_YELLOW);
+ stopnpctimer;
+ donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
+ end;
+}
+
+1@cash,3,3,0 script oct_foot_4 FAKE_NPC,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname("oct_foot_4")+"::OnDisable";
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_foot_4");
+ donpcevent instance_npcname("oct_foot1")+"::OnEnable";
+ donpcevent instance_npcname("oct_foot2")+"::OnEnable";
+ donpcevent instance_npcname("oct_foot3")+"::OnEnable";
+ donpcevent instance_npcname("oct_foot4")+"::OnEnable";
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 20, 114, _("Octopus Leg#1"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
+ monster(.@map$, 88, 190, _("Octopus Leg#2"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
+ monster(.@map$, 307, 215, _("Octopus Leg#3"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
+ monster(.@map$, 372, 131, _("Octopus Leg#4"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
+ end;
+OnDisable:
+ disablenpc instance_npcname("oct_foot_4");
+ end;
+OnMyMobDead:
+ .@map$ = instance_mapname("1@cash");
+ if (mobcount(.@map$,instance_npcname("oct_foot_4")+"::OnMyMobDead") < 1) {
+ donpcevent instance_npcname("oct_boss_con")+"::OnEnable";
+ mapannounce(.@map$, _("Hey you!! I'll personally take care of you all! Let's bring it on!"), bc_map, C_SPRINGGREEN);
+ enablenpc instance_npcname("oct_boss_warp");
+ instance_warpall .@map$, 199, 99;
+ end;
+ }
+ mapannounce(.@map$, _("Arrgg!! That hurts!!! I need another strategy..."), bc_map, C_SPRINGGREEN);
+ end;
+}
+
+1@cash,20,114,0 script oct_foot1 HIDDEN_WARP_NPC,6,6,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ end;
+OnEnable:
+ enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
+ .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ .@map$ = instance_mapname("1@cash");
+ switch (.@i) {
+ case 1:
+ areamonster(.@map$, 34, 96, 38, 100, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 39, 90, 41, 92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 38, 76, 40, 78, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 39, 58, 41, 60, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 50, 38, 56, 44, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 68, 32, 72, 36, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 83, 26, 85, 28, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 107, 28, 109, 30, _("Octopus's Henchman"), MD_OCTOPUS, 1, .@label$);
+ areamonster(.@map$, 123, 28, 125, 30, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 134, 31, 138, 35, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 142, 39, 146, 43, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ break;
+ case 2:
+ areamonster(.@map$, 139, 113, 143, 117, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 135, 104, 137, 106, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 123, 93, 127, 97, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 113, 90, 115, 92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 103, 89, 105, 91, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 89, 90, 91,92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 74, 104, 76, 106, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 74, 120, 76, 122, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 83, 131, 87, 135, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 92, 142, 94, 144, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 98, 159, 100, 161, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 94, 180, 98, 184, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ break;
+ case 3:
+ areamonster(.@map$, 299, 209, 303, 213, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 292, 203, 296, 207, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 291, 186, 293, 188, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 292, 166, 294, 168, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 293, 151, 295, 153, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 299, 137, 303, 141, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 300, 123, 304, 127, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 300, 104, 304, 108, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 279, 101, 281, 103, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ monster(.@map$, 260, 103, _("Octopus's Henchman"), MD_OCTOPUS, 1, .@label$);
+ break;
+ case 4:
+ areamonster(.@map$, 363, 123, 367, 127, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 364, 108, 368, 112, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 363, 93, 367, 97, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 364, 72, 366, 74, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 364, 58, 366, 60, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 355, 44, 359, 48, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 346, 36, 350, 40, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 319, 28, 325, 34, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 305, 27, 307, 29, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 276, 29, 280, 33, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
+ areamonster(.@map$, 258, 37, 262, 41, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ break;
+ }
+ end;
+OnDisable:
+ killmonster instance_mapname("1@cash"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; // Not in official script.
+ disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ end;
+OnTouch:
+ if (getd("."+strnpcinfo(NPC_NAME)+instance_id())) end;
+ setd "."+strnpcinfo(NPC_NAME)+instance_id(),1;
+ hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ mapannounce(instance_mapname("1@cash"), _("Come out all my babies and help me out!"), bc_map, C_YELLOW);
+ initnpctimer;
+ end;
+OnTimer5000:
+ .@map$ = instance_mapname("1@cash");
+ mapannounce(.@map$, _("Let's give them a lesson!"), bc_map, C_YELLOW);
+ .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
+ .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ switch (.@i) {
+ case 1:
+ areamonster(.@map$, 18, 112, 22,116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 18, 112, 22,116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ break;
+ case 2:
+ areamonster(.@map$, 86, 188, 90,192, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 96, 98, 100,102, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ break;
+ case 3:
+ areamonster(.@map$, 305, 213, 309,217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 305, 213, 309,217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ break;
+ case 4:
+ areamonster(.@map$, 370, 129, 374,133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 370, 129, 374,133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ break;
+ }
+ end;
+OnTimer30000:
+ setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
+ stopnpctimer;
+ .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
+ donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ end;
+OnMyMobDead:
+ .@map$ = instance_mapname("1@cash");
+ if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
+ mapannounce(.@map$, _("You hurt my babies!!? You'll have to pay for this!!!"), bc_map, C_SPRINGGREEN);
+ setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
+ stopnpctimer;
+ .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
+ donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ end;
+ }
+ end;
+}
+1@cash,88,190,0 duplicate(oct_foot1) oct_foot2 HIDDEN_WARP_NPC,6,6
+1@cash,307,215,0 duplicate(oct_foot1) oct_foot3 HIDDEN_WARP_NPC,6,6
+1@cash,372,131,0 duplicate(oct_foot1) oct_foot4 HIDDEN_WARP_NPC,6,6
+
+1@cash,16,117,0 script oct_foot_exit1 WARPNPC,2,2,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ end;
+OnEnable:
+ enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ end;
+OnTouch:
+ warp instance_mapname("1@cash"), 198, 99;
+ end;
+}
+1@cash,77,193,0 duplicate(oct_foot_exit1) oct_foot_exit2 WARPNPC,2,2
+1@cash,312,214,0 duplicate(oct_foot_exit1) oct_foot_exit3 WARPNPC,2,2
+1@cash,370,139,0 duplicate(oct_foot_exit1) oct_foot_exit4 WARPNPC,2,2
+
+1@cash,15,15,0 script oct_mob_con FAKE_NPC,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
+ end;
+OnEnable:
+ .@map$ = instance_mapname("1@cash");
+ enablenpc instance_npcname("oct_mob_con");
+ monster(.@map$, 32, 94, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 41, 101, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 35, 78, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 35, 62, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 49, 54, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 70, 28, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 83, 22, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 99, 23, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 115, 23, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 132, 25, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 100, 185, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 92, 178, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 92, 162, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 70, 121, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 70, 105, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 105, 85, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 121, 84, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 292, 209, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 303, 206, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 290, 163, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 299, 150, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 308, 141, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 308, 125, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 295, 97, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 279, 97, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 370, 111, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 370, 110, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 371, 96, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 371, 80, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 367, 55, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 343, 29, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 327, 24, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 311, 22, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 295, 22, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 279, 22, _("Hydra"), HYDRA, 1);
+ areamonster(.@map$, 30, 67, 50, 87, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 102, 19, 122, 39, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 89, 138, 109, 158, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 112, 83, 132, 103, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 283, 168, 303, 188, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 292, 97, 312, 117, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 355, 64, 375, 84, _("Stapo"), STAPO, 1);
+ areamonster(.@map$, 317, 17, 337, 37, _("Stapo"), STAPO, 1);
+ donpcevent instance_npcname("oct_backattack1")+"::OnEnable";
+ donpcevent instance_npcname("oct_backattack2")+"::OnEnable";
+ donpcevent instance_npcname("oct_backattack3")+"::OnEnable";
+ donpcevent instance_npcname("oct_backattack4")+"::OnEnable";
+ donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
+ end;
+OnDisable:
+ disablenpc instance_npcname("oct_mob_con");
+ end;
+}
+
+1@cash,45,53,0 script oct_backattack1 HIDDEN_WARP_NPC,3,3,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("oct_backattack1");
+ end;
+OnTouch:
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 39, 59, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 40, 59, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 41, 59, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 47, 50, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 48, 50, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 49, 50, _("Hydra"), HYDRA, 1);
+ monster(.@map$, 41, 53, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ mapannounce(.@map$, _("Don't let them break through, stop them!!!"), bc_map, C_SPRINGGREEN);
+ specialeffect EF_BASH;
+ disablenpc instance_npcname("oct_backattack1");
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_backattack1");
+ end;
+}
+
+1@cash,78,99,0 script oct_backattack2 HIDDEN_WARP_NPC,3,3,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("oct_backattack2");
+ end;
+OnTouch:
+ if (getd("."+instance_id())) end;
+ setd "."+instance_id(),1;
+ initnpctimer;
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ mapannounce(.@map$, _("Headquarters are empty, GO!!!"), bc_map, C_SPRINGGREEN);
+ hideonnpc instance_npcname("oct_backattack2");
+ end;
+OnTimer2000:
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ mapannounce(.@map$, _("Run, RUN! Go, GO!!!"), bc_map, C_SPRINGGREEN);
+ end;
+OnTimer4000:
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ mapannounce(.@map$, _("No time, come out fast!"), bc_map, C_SPRINGGREEN);
+ end;
+OnTimer6000:
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 3);
+ mapannounce(.@map$, _("Let's take over the headquarters!!!"), bc_map, C_SPRINGGREEN);
+ end;
+OnTimer8000:
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ mapannounce(.@map$, _("There is no time to lose, hurry up!!!"), bc_map, C_SPRINGGREEN);
+ stopnpctimer;
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_backattack2");
+ end;
+}
+
+1@cash,299,144,0 script oct_backattack3 HIDDEN_WARP_NPC,3,3,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("oct_backattack3");
+ end;
+OnTouch:
+ if (getd("."+instance_id())) end;
+ setd "."+instance_id(),1;
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 293, 153, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 294, 152, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 292, 153, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 293, 151, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 293, 152, _("Octopus's Henchman ?"), MD_MARSE, 1);
+ mapannounce(.@map$, _("Kakaka! Suprised??!!"), bc_map, C_SPRINGGREEN);
+ initnpctimer;
+ hideonnpc instance_npcname("oct_backattack3");
+ end;
+OnTimer5000:
+ mapannounce(instance_mapname("1@cash"), _("... Looks like we have a spy among us."), bc_map, C_SPRINGGREEN);
+ stopnpctimer;
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_backattack3");
+ end;
+}
+
+1@cash,336,36,0 script oct_backattack4 HIDDEN_WARP_NPC,3,3,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("oct_backattack4");
+ end;
+OnTouch:
+ if (getd("."+instance_id())) end;
+ setd "."+instance_id(),1;
+ .@map$ = instance_mapname("1@cash");
+ monster(.@map$, 332, 37, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 332, 36, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 332, 35, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 332, 34, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 341, 37, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 341, 36, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 341, 35, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 341, 34, _("Octopus's Henchman"), MD_OCTOPUS, 1);
+ monster(.@map$, 260, 40, _("Mercenary Squid"), MD_MARSE, 1);
+ monster(.@map$, 260, 41, _("Mercenary Squid"), MD_MARSE, 1);
+ monster(.@map$, 260, 39, _("Mercenary Squid"), MD_MARSE, 1);
+ monster(.@map$, 259, 40, _("Mercenary Squid"), MD_MARSE, 1);
+ monster(.@map$, 261, 40, _("Mercenary Squid"), MD_MARSE, 1);
+ mapannounce(.@map$, _("What a successful pincer tactic! The enemy is strong! Let's not lose yourselves! Anyway, where are all the mercenaries??"), bc_map, C_SPRINGGREEN);
+ initnpctimer;
+ hideonnpc instance_npcname("oct_backattack4");
+ end;
+OnTimer5000:
+ mapannounce(instance_mapname("1@cash"), _("Mercenary Squid : eh...eh... wrong direction. No enemies are shown in this direction."), bc_map, C_SPRINGGREEN);
+ end;
+OnTimer7000:
+ mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : Fools! Can't you read the map??!! Useless!!"), bc_map, C_SPRINGGREEN);
+ stopnpctimer;
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_backattack4");
+ end;
+}
+
+1@cash,2,2,0 script oct_boss_con FAKE_NPC,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
+ end;
+OnDisable:
+ disablenpc instance_npcname("oct_boss_con");
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_boss_con");
+ donpcevent instance_npcname("oct_boss_foot")+"::OnEnable";
+ monster(instance_mapname("1@cash"), 199, 188, _("Disgusting Octopus"), MD_GIANT_OCTOPUS, 1, instance_npcname("oct_boss_con")+"::OnMyMobDead");
+ initnpctimer;
+ end;
+OnTimer7000:
+ callsub OnAnnounce,
+ "You won't attack the one man.",
+ "I got fired from ink manufacturer last week.",
+ "Disgusting Octopus : Arghhhhh, come on!";
+ end;
+OnTimer14000:
+ callsub OnAnnounce,
+ "Why... why can't you know my heart!",
+ "Do you know how hard it is to live these days because there are not many new adventurers?",
+ "You.. I'll destroy you all...!";
+ end;
+OnTimer21000:
+ callsub OnAnnounce,
+ "What? I'm a disgusting octopus? You're sadists.",
+ "Let's not do this and how about we look for the best solution, huh??",
+ "Even if I fail here, I will keep coming back, forever!!!";
+ end;
+OnTimer28000:
+ callsub OnAnnounce,
+ "Instinct of mating is for males, what did I do wrong?",
+ "Do you really want to solve the problem between humans by violence?? Ah, I'm an octopus...",
+ "That's enough! Back off!";
+ end;
+OnTimer35000:
+ callsub OnAnnounce,
+ "Do I have to spend Christmas alone again...",
+ "Youth unemployment became a big issue these days... You won't get a job if you keep playing with me here.",
+ "This is as far as I can go!";
+ end;
+OnTimer42000:
+ callsub OnAnnounce,
+ "Hand on your heart and think if you come onto anyone...",
+ "Let's not do this here and follow the law!",
+ "You'll keep on doing this til the end, is that it?";
+ end;
+OnTimer49000:
+ callsub OnAnnounce,
+ "errrrrrrrrrrrrrrrrrrrrrrrr... Cough! Cough!",
+ "Disgusting Octopus : Violence cannot be justified in any case.",
+ "This is my place!!!";
+ stopnpctimer;
+ initnpctimer;
+ end;
+OnAnnounce:
+ mapannounce(instance_mapname("1@cash"), sprintf(_$("Disgusting Octopus : %s"), getarg(rand(3))), bc_map, C_YELLOW);
+ return;
+OnMyMobDead:
+ .@map$ = instance_mapname("1@cash");
+ if (mobcount(.@map$,instance_npcname("oct_boss_con")+"::OnMyMobDead") < 1) {
+ mapannounce(.@map$, _("Disgusting Octopus : That's it for the today! Next time, I will play with you badly!"), bc_map, C_YELLOW);
+ enablenpc instance_npcname("oct_exit_1");
+ enablenpc instance_npcname("oct_exit_2");
+ donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
+ stopnpctimer;
+ donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
+ end;
+ }
+ end;
+}
+
+1@cash,4,4,0 script oct_boss_foot FAKE_NPC,{
+ end;
+OnInstanceInit:
+ donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
+ end;
+OnEnable:
+ enablenpc instance_npcname("oct_boss_foot");
+ initnpctimer;
+ end;
+OnCall:
+ .@map$ = instance_mapname("1@cash");
+ if (mobcount(.@map$,instance_npcname("oct_boss_foot")+"::OnMyMobDead") < 100) {
+ switch(rand(2)) {
+ case 0:
+ mapannounce(.@map$, _("Disgusting Octopus : Do you know how many legs octopus have? It doesn't matter, I have unlimited legs!!"), bc_map, C_YELLOW);
+ areamonster(.@map$, 192, 181, 206, 195, _("Octopus Leg"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_boss_foot")+"::OnMyMobDead");
+ break;
+ case 1:
+ mapannounce(.@map$, _("Disgusting Octopus : I...cannot..hold anymore, my babies~ please come out and fight!"), bc_map, C_YELLOW);
+ areamonster(.@map$, 192, 181, 206, 195, _("Octopus's Henchman"), MD_OCTOPUS, 5, instance_npcname("oct_boss_foot")+"::OnMyMobDead");
+ break;
+ }
+ }
+ initnpctimer;
+ end;
+OnTimer10000:
+ stopnpctimer;
+ donpcevent instance_npcname("oct_boss_foot")+"::OnCall";
+ end;
+OnDisable:
+ stopnpctimer;
+ killmonster instance_mapname("1@cash"), instance_npcname("oct_boss_foot")+"::OnMyMobDead"; // Not in official script.
+ disablenpc instance_npcname("oct_boss_foot");
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@cash,198,116,0 script oct_boss_warp WARPNPC,2,2,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("oct_boss_warp");
+ end;
+OnTouch:
+ warp instance_mapname("1@cash"), 210, 172;
+ end;
+}
+
+1@cash,190,208,0 script oct_exit_1 WARPNPC,2,2,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ end;
+OnTouch:
+ mes("Do you want to go out from the octopus dungeon?");
+ next;
+ if (select("No!", "Yes!") == 2)
+ warp "mal_dun01", 153, 233;
+ close;
+}
+1@cash,198,82,0 duplicate(oct_exit_1) oct_exit_2 WARPNPC,2,2
+// This is never enabled in the official script.
+//1@cash,200,161,0 duplicate(oct_exit_1) oct_exit_3 WARPNPC,2,2
+
+//== Warp Portals ==========================================
+1@cash,193,82,0 warp oct_door1 2,2,1@cash,151,48
+1@cash,154,53,0 warp oct_door2 2,2,1@cash,197,87
+1@cash,187,99,0 warp oct_door3 2,2,1@cash,148,128
+1@cash,153,133,0 warp oct_door4 2,2,1@cash,197,99
+1@cash,209,100,0 warp oct_door5 2,2,1@cash,250,111
+1@cash,244,118,0 warp oct_door6 2,2,1@cash,199,100
+1@cash,209,83,0 warp oct_door7 2,2,1@cash,252,46
+1@cash,246,53,0 warp oct_door8 2,2,1@cash,203,83
diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt
index bb7dbdeec..2b3b4f2c0 100644
--- a/npc/re/instances/saras_memory.txt
+++ b/npc/re/instances/saras_memory.txt
@@ -159,7 +159,7 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
close;
}
.@sara_time = questprogress(15002, PLAYTIME);
- if ( .@sara_time == 1) {
+ if (.@sara_time == 1) {
mes("[Leon the Adventurer]");
mes("I think that in about 20 hours after you last entered the rift will stable enough for you to\r"
"transverse it again.");
@@ -168,7 +168,7 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
erasequest 15002;
end;
} else if (!.@sara_time) {
- .@party_id = getcharid(1);
+ .@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Sara's Memory";
if (!instance_check_party(.@party_id)) {
@@ -177,22 +177,22 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
"can use quotes to put spaces in a party name.");
close;
}
- if (getcharid(0) == getpartyleader(.@party_id, 2))
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
.@menu1$ = "Boot up the dimensional device";
else
.@menu1$ = "";
switch (select(.@menu1$, "Use the dimensional device", "Cancel")) {
case 1:
- if (getcharid(0) != getpartyleader(.@party_id, 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
end;
.@instance = instance_create(.@md_name$, .@party_id);
if (.@instance < 0) {
mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(0));
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
close;
}
- if (instance_attachmap("1@sara", .@instance) == "" ) {
+ if (instance_attachmap("1@sara", .@instance) == "") {
mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
instance_destroy(.@instance);
close;
@@ -202,12 +202,12 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
mes("^FF0000The dimensional boots up cleanly. Use the device to enter the crack in space and time.^000000");
close;
case 2:
- if ( has_instance("1@sara") == "" ) {
+ if (has_instance("1@sara") == "") {
mesf("The memorial dungeon ^0000FF%s^000000 does not exist.\r"
"The party leader did not generate the dungeon yet.", .@md_name$);
close;
}
- mapannounce("dali", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(0), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
+ mapannounce("dali", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
setquest 15002;
warp "1@sara", 250, 155;
end;
@@ -219,20 +219,20 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
}
1@sara,261,156,5 script A girl#sarains 4_F_SARAH_BABY,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Where am I?");
- unittalk(getcharid(3), _("Where am I?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Where am I?"));
next;
cutin "sara_9sara1.bmp", 2;
mes("[A girl]");
mes("Hello! This is the village of Payon. You don't seem to be from around here...");
npctalk(_("A girl : Hello! This is the village of Payon. You don't seem to be from around here..."));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Are you from here? You don't seem to quite match the locals either.");
- unittalk(getcharid(3), _("Are you from here? You don't seem to quite match to locals either."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Are you from here? You don't seem to quite match to locals either."));
next;
mes("[A girl]");
mes("Yes! I was born here! My name is Sara. Sara Irene!");
@@ -240,47 +240,47 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
next;
mes("[Sara Irene]");
mes("My father is doyen of this village! I just take after my mother.");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat1";
+ npctalk(_("My father is doyen of this village! I just take after my mother."), instance_npcname("Sara Irene#saratalk"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Oh! I am sorry! Uh... Why are you standing out here all alone?");
- unittalk(getcharid(3), _("Oh! I am sorry! Uh... Why are you standing out here all alone?"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Oh! I am sorry! Uh... Why are you standing out here all alone?"));
next;
mes("[Sara Irene]");
mes("I am waiting for my father. He said that he will be here soon.");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat2";
+ npctalk(_("I am waiting for my father. He said that he will be here soon."), instance_npcname("Sara Irene#saratalk"));
next;
mes("^FF0000An older man exits the house. Sara's face brightens at the sight of him.^000000");
donpcevent instance_npcname("Doyen Irene#sarains")+"::OnEnable";
next;
mes("[Sara Irene]");
mes("Hi daddy!");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat3";
+ npctalk(_("Hi daddy!"), instance_npcname("Sara Irene#saratalk"));
next;
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Sweetheart you look so happy.");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat1";
+ npctalk(_("Sweetheart you look so happy."), instance_npcname("Doyen Irene#sarains"));
next;
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
mes("You said you would come back soon! I waited for you and you lied!");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat4";
+ npctalk(_("You said you would come back soon! I waited for you and you lied!"), instance_npcname("Sara Irene#saratalk"));
next;
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected.");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat2";
+ npctalk(_("Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected."), instance_npcname("Doyen Irene#sarains"));
next;
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
mes("I hate those old fogeys.");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat5";
+ npctalk(_("I hate those old fogeys."), instance_npcname("Sara Irene#saratalk"));
next;
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Don't say that sweetheart... Who is this with you?");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat3";
+ npctalk(_("Don't say that sweetheart... Who is this with you?"), instance_npcname("Doyen Irene#sarains"));
next;
mes("^FF0000Doyen Irene stares at you with fire in this eyes.^000000");
dispbottom(_("Doyen Irene stares at you with fire in this eyes."));
@@ -292,17 +292,17 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
mes("Here you go daddy!");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat6";
+ npctalk(_("Here you go daddy!"), instance_npcname("Sara Irene#saratalk"));
next;
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Oh Sara, should I have them?");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat4";
+ npctalk(_("Oh Sara, should I have them?"), instance_npcname("Doyen Irene#sarains"));
next;
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
mes("Of course silly daddy!");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat7";
+ npctalk(_("Of course silly daddy!"), instance_npcname("Sara Irene#saratalk"));
next;
mes("^FF0000After being given the flowers the Doyen's mood seems to greatly improve.^000000");
dispbottom(_("After being given the flowers the Doyen's mood seems to greatly improve."));
@@ -310,17 +310,17 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Alright my princess, where should we go now?");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat5";
+ npctalk(_("Alright my princess, where should we go now?"), instance_npcname("Doyen Irene#sarains"));
next;
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
mes("Oh daddy! Let's go to the top of that hill over there!");
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat8";
+ npctalk(_("Oh daddy! Let's go to the top of that hill over there!"), instance_npcname("Sara Irene#saratalk"));
next;
cutin "sara_elder_irine1.bmp", 2;
mes("[Doyen Irene]");
mes("Hah! Hold onto me tight!");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat6";
+ npctalk(_("Hah! Hold onto me tight!"), instance_npcname("Doyen Irene#sarains"));
next;
cutin "sara_elder_irine1.bmp", 255;
mes("^FF0000As they wander off you hear strange voices from around the corner...^000000");
@@ -331,23 +331,23 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
next;
mes("[Strange Old Man A]");
mes("I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!");
- donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnChat1";
+ npctalk(_("I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!"), instance_npcname("Strange Old Man A#stalk"));
next;
mes("[Strange Old Man B]");
mes("She was born under a bad sign and her mother isn't even one of us!");
- donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat1";
+ npctalk(_("She was born under a bad sign and her mother isn't even one of us!"), instance_npcname("Strange Old Man B#stalk"));
next;
mes("[Strange Old Man B]");
mes("Someday she will cause blood to flow in our streets.");
- donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat2";
+ npctalk(_("Someday she will cause blood to flow in our streets."), instance_npcname("Strange Old Man B#stalk"));
next;
mes("[Strange Old Man A]");
mes("We have to do something before the Holy creatures select her. I asked HIM to take care of it.");
- donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnChat2";
+ npctalk(_("We have to do something before the Holy creatures select her. I asked HIM to take care of it."), instance_npcname("Strange Old Man A#stalk"));
next;
mes("[Strange Old Man B]");
mes("We will see... I look forward to hearing the bad news that has befallen her...");
- donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat3";
+ npctalk(_("We will see... I look forward to hearing the bad news that has befallen her..."), instance_npcname("Strange Old Man B#stalk"));
next;
mes("^FF0000The old man wander off it seems Sara might be in danger. We have to do something!^000000");
dispbottom(_("The old man wander off it seems Sara might be in danger. We have to do something!"));
@@ -382,24 +382,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Doyen Irene#sarains");
end;
-OnChat1:
- npctalk(_("Sweetheart you look so happy."));
- end;
-OnChat2:
- npctalk(_("Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected."));
- end;
-OnChat3:
- npctalk(_("Don't say that sweetheart... Who is this with you?"));
- end;
-OnChat4:
- npctalk(_("Oh Sara, should I have them?"));
- end;
-OnChat5:
- npctalk(_("Alright my princess, where should we go now?"));
- end;
-OnChat6:
- npctalk(_("Hah! Hold onto me tight!"));
- end;
}
1@sara,260,156,0 script Sara Irene#saratalk HIDDEN_NPC,{
@@ -413,30 +395,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Sara Irene#saratalk");
end;
-OnChat1:
- npctalk(_("My father is doyen of this village! I just take after my mother."));
- end;
-OnChat2:
- npctalk(_("I am waiting for my father. He said that he will be here soon."));
- end;
-OnChat3:
- npctalk(_("Hi daddy!"));
- end;
-OnChat4:
- npctalk(_("You said you would come back soon! I waited for you and you lied!"));
- end;
-OnChat5:
- npctalk(_("I hate those old fogeys."));
- end;
-OnChat6:
- npctalk(_("Here you go daddy!"));
- end;
-OnChat7:
- npctalk(_("Of course silly daddy!"));
- end;
-OnChat8:
- npctalk(_("Oh daddy! Let's go to the top of that hill over there!"));
- end;
}
@@ -451,12 +409,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Strange Old Man A#stalk");
end;
-OnChat1:
- npctalk(_("I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!"));
- end;
-OnChat2:
- npctalk(_("We have to do something before the Holy creatures select her. I asked HIM to take care of it."));
- end;
}
1@sara,260,156,0 script Strange Old Man B#stalk FAKE_NPC,{
@@ -470,15 +422,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Strange Old Man B#stalk");
end;
-OnChat1:
- npctalk(_("She was born under a bad sign and her mother isn't even one of us!"));
- end;
-OnChat2:
- npctalk(_("Someday she will cause blood to flow in our streets."));
- end;
-OnChat3:
- npctalk(_("We will see... I look forward to hearing the bad news that has befallen her..."));
- end;
}
1@sara,240,145,0 script #sarawarp1 WARPNPC,1,2,{
@@ -580,7 +523,7 @@ OnEnable:
OnTouch:
.@map$ = instance_mapname("1@sara");
warp .@map$, 89, 175;
- if (getcharid(0) == getpartyleader(getcharid(1),2))
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2))
viewpoint 1, 39, 142, 1, C_GREEN;
end;
}
@@ -603,7 +546,7 @@ OnTouch:
}
1@sara,107,325,5 script Sara Irene#sarains1 4_F_SARAH_BABY,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
cutin "sara_9sara1.bmp", 2;
mes("[Sara Irene]");
@@ -655,7 +598,7 @@ OnTouch:
cutin "sara_elder_irine4.bmp", 2;
mes("[Doyen Irene]");
mes("Ahh Sara! I was just looking for you...");
- donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnChat1";
+ npctalk(_("Ahh Sara! I was just looking for you..."), instance_npcname("Doyen Irene#sarains1"));
next;
cutin "sara_9sara2.bmp", 2;
mes("[Sara Irene]");
@@ -670,7 +613,7 @@ OnTouch:
cutin "sara_elder_irine3.bmp", 2;
mes("[Doyen Irene]");
mes("Guards! GUARDS! There is a murderer here! Catch him!");
- donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnChat2";
+ npctalk(_("Guards! GUARDS! There is a murderer here! Catch him!"), instance_npcname("Doyen Irene#sarains1"));
next;
mes("^FF0000The sound of many pairs of boots can be heard running outside!^000000");
dispbottom(_("The sound of many pairs of boots can be heard running outside!"));
@@ -730,12 +673,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Doyen Irene#sarains1");
end;
-OnChat1:
- npctalk(_("Ahh Sara! I was just looking for you..."));
- end;
-OnChat2:
- npctalk(_("Guards! GUARDS! There is a murderer here! Catch him!"));
- end;
}
1@sara,107,327,0 script #controlsara CLEAR_NPC,{
@@ -763,72 +700,73 @@ OnTimer5000:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$, .@x, .@y, "Maggot", MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,107,325,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,115,325,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,116,317,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,108,317,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,116,311,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,108,311,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,101,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,105,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,109,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,113,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,117,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,295,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,122,227,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,122,225,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,122,223,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,122,221,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,122,219,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,122,217,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,227,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,225,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,223,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,221,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,219,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,217,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,151,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,153,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,155,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,157,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,159,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,161,231,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,187,215,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,187,217,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,187,219,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,187,221,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,187,223,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,187,225,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,215,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,217,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,219,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,221,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,223,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,225,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,192,250,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,194,250,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,196,250,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,198,250,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,196,254,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,196,256,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,196,258,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,199,254,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,199,256,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,199,258,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,204,246,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,248,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,250,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,252,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,254,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,206,251,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, .@x, .@y, _("Maggot"), MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 107, 325, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 115, 325, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 116, 317, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 108, 317, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 116, 311, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 108, 311, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 101, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 105, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 109, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 113, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 117, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 122, 227, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 122, 225, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 122, 223, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 122, 221, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 122, 219, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 122, 217, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 227, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 225, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 223, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 221, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 219, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 217, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 151, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 153, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 155, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 157, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 159, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 161, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 187, 215, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 187, 217, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 187, 219, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 187, 221, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 187, 223, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 187, 225, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 215, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 217, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 219, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 221, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 223, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 225, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 192, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 194, 250, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 196, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 198, 250, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 196, 254, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 196, 256, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 196, 258, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 199, 254, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 199, 256, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 199, 258, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 204, 246, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 248, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 252, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 254, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 206, 251, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnMyMobDead:
.@callnum = 58;
@@ -860,27 +798,27 @@ OnDisable:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$,228,312,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,227,312,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,229,315,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 228, 312, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 227, 312, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 229, 315, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,247,290,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,248,290,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,249,290,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 247, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 248, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 249, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,223,264,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,230,248,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,227,248,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 223, 264, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 230, 248, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 227, 248, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,238,229,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,225,220,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,228,220,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 238, 229, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 225, 220, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 228, 220, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,220,212,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,223,212,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 220, 212, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 223, 212, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,219,203,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,222,203,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 219, 203, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 222, 203, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnMyMobDead:
.@callnum = 16;
@@ -912,59 +850,59 @@ OnDisable:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$, 255,91,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255,92,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255,93,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255,94,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,254,91,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,254,92,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,254,93,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,254,94,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,228,65,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,228,64,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,228,63,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,228,62,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,198,62,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,195,56,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,195,60,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,195,62,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,192,56,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,192,60,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,192,62,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,187,68,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,188,63,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,120,39,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,39,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,121,39,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,93,64,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,93,68,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,93,72,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,93,76,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,90,64,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,90,68,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,90,72,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,90,76,"A Gentle Guard Dog",2545,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,87,67,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,87,63,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,87,59,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,87,55,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,84,67,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,84,63,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,84,59,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,84,55,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,81,67,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,81,63,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,81,59,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,81,55,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,81,51,"A Fierce Guard Dog",2546,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 255, 91, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 255, 92, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 255, 93, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 255, 94, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 254, 91, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 254, 92, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 254, 93, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 254, 94, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 228, 65, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 228, 64, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 228, 63, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 228, 62, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 198, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 195, 56, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 195, 60, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 195, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 192, 56, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 192, 60, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 192, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 187, 68, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 188, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 120, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 121, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 93, 64, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 93, 68, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 93, 72, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 93, 76, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 90, 64, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 90, 68, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 90, 72, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 90, 76, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 87, 67, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 87, 63, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 87, 59, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 87, 55, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 84, 67, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 84, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 84, 59, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 84, 55, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 81, 67, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 81, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 81, 59, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 81, 55, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 81, 51, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnMyMobDead:
.@callnum = 45;
@@ -996,58 +934,58 @@ OnDisable:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$,155,97,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,157,97,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,159,97,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,161,97,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,201,113,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,113,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,207,113,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,210,113,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,213,113,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,201,117,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,204,117,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,207,117,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,210,117,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,213,117,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,223,152,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,223,148,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,223,144,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,221,152,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,221,148,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,221,144,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,151,174,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,153,174,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,155,174,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,157,174,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,159,174,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,151,177,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,153,177,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,155,177,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,157,177,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,159,177,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,151,180,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,153,180,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,155,180,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,157,180,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,159,180,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,173,139,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,170,139,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,167,139,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,164,139,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$,173,137,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,170,137,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,167,137,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$,164,137,"Payon Town Guard",2543,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 155, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 157, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 159, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 161, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 201, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 207, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 210, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 213, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 201, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 204, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 207, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 210, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 213, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 223, 152, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 223, 148, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 223, 144, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 221, 152, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 221, 148, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 221, 144, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 151, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 153, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 155, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 157, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 159, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 151, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 153, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 155, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 157, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 159, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 151, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 153, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 155, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 157, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 159, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 173, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 170, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 167, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 164, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+
+ monster(.@map$, 173, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 170, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 167, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ monster(.@map$, 164, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnMyMobDead:
.@callnum = 43;
@@ -1069,7 +1007,7 @@ OnMyMobDead:
}
1@sara,152,233,5 script Sara Irene#sarains2 4_F_SARAH_BABY,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
cutin "sara_9sara2.bmp", 2;
mes("[Sara Irene]");
@@ -1079,7 +1017,7 @@ OnMyMobDead:
cutin "sara_elder_irine4.bmp", 2;
mes("[Doyen Irene]");
mes("Sara...");
- donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat1";
+ npctalk(_("Sara..."), instance_npcname("Doyen Irene#sarains2"));
next;
cutin "sara_9sara2.bmp", 2;
mes("[Sara Irene]");
@@ -1089,20 +1027,20 @@ OnMyMobDead:
cutin "sara_elder_irine4.bmp", 2;
mes("[Doyen Irene]");
mes("I have been looking for you Sara. Please come with daddy it is very dangerous here!");
- donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat2";
+ npctalk(_("I have been looking for you Sara. Please come with daddy it is very dangerous here!"), instance_npcname("Doyen Irene#sarains2"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("I won't let you take Sara!");
- unittalk(getcharid(3), _("I won't let you take Sara!"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("I won't let you take Sara!"));
next;
cutin "sara_elder_irine3.bmp", 2;
mes("[Doyen Irene]");
mes("The murderer is here! Guards! We will finish him once and for all!");
- donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat3";
+ npctalk(_("The murderer is here! Guards! We will finish him once and for all!"), instance_npcname("Doyen Irene#sarains2"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Sara... run! Save yourself!");
- unittalk(getcharid(3), _("Sara... run! Save yourself!"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sara... run! Save yourself!"));
next;
cutin "sara_9sara2.bmp", 2;
mes("[Sara Irene]");
@@ -1136,15 +1074,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("Doyen Irene#sarains2");
end;
-OnChat1:
- npctalk(_("Sara..."));
- end;
-OnChat2:
- npctalk(_("I have been looking for you Sara. Please come with daddy it is very dangerous here!"));
- end;
-OnChat3:
- npctalk(_("The murderer is here! Guards! We will finish him once and for all!"));
- end;
}
1@sara,152,233,0 script #controlsara4 FAKE_NPC,{
@@ -1161,22 +1090,22 @@ OnDisable:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$,150,232,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("I am getting too old for this sh-"));
- monster(.@map$,150,227,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,150,222,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,150,217,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,161,232,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,161,227,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,161,222,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
- monster(.@map$,161,217,"Payon Town Guard",2544,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("For Payon!!"));
+ .@mobid = monster(.@map$, 150, 232, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("I am getting too old for this sh-"));
+ .@mobid = monster(.@map$, 150, 227, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 150, 222, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 150, 217, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 161, 232, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 161, 227, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 161, 222, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
+ .@mobid = monster(.@map$, 161, 217, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("For Payon!!"));
end;
OnMyMobDead:
.@callnum = 8;
@@ -1205,8 +1134,8 @@ OnDisable:
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
- monster(.@map$,155,226,"Doyen Irene",2542,1,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk($@mobid[0], _("I will have revenge for Sara's Mom!"));
+ .@mobid = monster(.@map$, 155, 226, _("Doyen Irene"), IRENE_ELDER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ unittalk(.@mobid, _("I will have revenge for Sara's Mom!"));
end;
OnMyMobDead:
.@callnum = 1;
@@ -1222,7 +1151,7 @@ OnMyMobDead:
}
1@sara,156,236,3 script Doyen Irene#sarains3 4_M_CHIEF_IRIN,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
cutin "sara_elder_irine4.bmp", 2;
mes("[Doyen Irene]");
@@ -1233,9 +1162,9 @@ OnMyMobDead:
mes("Why.. *hack* are you trying to kill my wife and daughter?");
npctalk(_("Why.. *hack* are you trying to kill my wife and daughter?"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!");
- unittalk(getcharid(3), _("What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!"));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!"));
next;
mes("[Doyen Irene]");
mes("You.. think I killed Sara's mother?");
@@ -1257,9 +1186,9 @@ OnMyMobDead:
mes("If.. you are not the assassin sent to kill my wife and daughter, who are you?");
npctalk(_("If.. you are not the assassin sent to kill my wife and daughter, who are you?"));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene.");
- unittalk(getcharid(3), _("I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene."));
next;
mes("[Doyen Irene]");
mes("If.. you are telling the truth...\r"
@@ -1270,13 +1199,13 @@ OnMyMobDead:
mes("Strange men... I bet they were some of the village elders. Ugh...");
npctalk(_("Strange men... I bet they were some of the village elders. Ugh..."));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("There might be more assassins so we have to find Sara as fast as we can.");
- unittalk(getcharid(3), _("There might be more assassins so we have to find Sara as fast as we can."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("There might be more assassins so we have to find Sara as fast as we can."));
next;
- mesf("[%s]", strcharinfo(0));
+ mesf("[%s]", strcharinfo(PC_NAME));
mes("Sara believes that you killed her mother. We need to tell her the truth.");
- unittalk(getcharid(3), _("Sara believes that you killed her mother. We need to tell her the truth."));
+ unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sara believes that you killed her mother. We need to tell her the truth."));
next;
mes("[Doyen Irene]");
mes("We must do our best to find her. Let's split up and search for her.\r"
@@ -1304,7 +1233,7 @@ OnDisable:
}
1@sara,39,142,3 script Sara Irene#sarains3 4_F_SARAH_BABY,{
- if (getcharid(0) != getpartyleader(getcharid(1), 2))
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
mes("^FF0000As you are about to call out to Sara a sudden blow knocks you down from behind.^000000");
dispbottom(_("As you are about to call out to Sara a sudden blow knocks you down from behind."));
@@ -1312,18 +1241,18 @@ OnDisable:
cutin "sara_beholder.bmp", 2;
mes("[?????]");
mes("The time travellers cannot interfere any longer. You cannot stop us from meeting Sara.");
- donpcevent instance_npcname("????-#saratalk")+"::OnChat1";
+ npctalk(_("The time travellers cannot interfere any longer. You cannot stop us from meeting Sara."), instance_npcname("????-#saratalk"));
next;
mes("[?????]");
mes("You should go back to the time where you belong.");
- donpcevent instance_npcname("????-#saratalk")+"::OnChat2";
+ npctalk(_("You should go back to the time where you belong."), instance_npcname("????-#saratalk"));
next;
mes("^FF0000As you fall to the ground two dark figures approach Sara.^000000");
dispbottom(_("As you fall to the ground two dark figures approach Sara."));
next;
mes("[?????]");
mes("A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate.");
- donpcevent instance_npcname("????-#saratalk")+"::OnChat3";
+ npctalk(_("A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate."), instance_npcname("????-#saratalk"));
next;
cutin "sara_9sara2.bmp", 2;
mes("[Sara Irene]");
@@ -1333,7 +1262,7 @@ OnDisable:
cutin "sara_beholder.bmp", 2;
mes("[?????]");
mes("Sara Irene, he will make your dreams come true.");
- donpcevent instance_npcname("????-#saratalk")+"::OnChat4";
+ npctalk(_("Sara Irene, he will make your dreams come true."), instance_npcname("????-#saratalk"));
next;
cutin "sara_beholder.bmp", 255;
mes("^FF0000One of the cloaked strangers covers Sara with their cloak and all three figures disappear.^000000");
@@ -1372,18 +1301,6 @@ OnEnable:
OnDisable:
hideonnpc instance_npcname("????-#saratalk");
end;
-OnChat1:
- npctalk(_("The time travellers cannot interfere any longer. You cannot stop us from meeting Sara."));
- end;
-OnChat2:
- npctalk(_("You should go back to the time where you belong."));
- end;
-OnChat3:
- npctalk(_("A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate."));
- end;
-OnChat4:
- npctalk(_("Sara Irene, he will make your dreams come true."));
- end;
}
1@sara,97,304,5 script Sara Irene#sarains4 4_F_SARAH_BABY,7,7,{
diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt
index 76474aa05..dae96908b 100644
--- a/npc/re/jobs/1-1/acolyte.txt
+++ b/npc/re/jobs/1-1/acolyte.txt
@@ -147,7 +147,7 @@ prt_fild03,365,255,2 script Ascetic#aco 4_M_ORIENT02,{
mes "Oh...? You must be the one who aspires to become an Acolyte. I've already received news from the Sanctuary that you might be coming.";
next;
mes "[Father Rubalkabara]";
- mes "Now, your name was " + strcharinfo(0) + ", right? Excellent, thank you for visiting me.";
+ mes "Now, your name was " + strcharinfo(PC_NAME) + ", right? Excellent, thank you for visiting me.";
next;
mes "[Father Rubalkabara]";
mes "I believe you've been told much about Acolytes from Friar Mareusis. Plus, there's plenty of helpful people in the Prontera Sanctuary.";
@@ -175,7 +175,7 @@ prt_fild03,365,255,2 script Ascetic#aco 4_M_ORIENT02,{
mes "Let's see...";
next;
mes "[Father Rubalkabara]";
- mes "Your name is " + strcharinfo(0) + "?";
+ mes "Your name is " + strcharinfo(PC_NAME) + "?";
mes "I don't think your name";
mes "is on my list. Hmmm...";
next;
@@ -224,10 +224,10 @@ moc_fild07,41,355,4 script Ascetic#2aco 4_F_SISTER,{
mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you.";
next;
mes "[Mother Mathilda]";
- mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list.";
+ mes "What is your name? " + strcharinfo(PC_NAME) + "? Let's see... Ah, you're on my list.";
next;
mes "[Mother Mathilda]";
- mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(0) + " visited me and completed your penance.";
+ mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(PC_NAME) + " visited me and completed your penance.";
next;
mes "[Mother Mathilda]";
mes "Please return to the Prontera Sanctuary and speak to the Priest in charge.";
@@ -244,7 +244,7 @@ moc_fild07,41,355,4 script Ascetic#2aco 4_F_SISTER,{
next;
mes "[Mother Mathilda]";
mes "Now, what is your name?";
- mes "" + strcharinfo(0) + "? Let's see...";
+ mes "" + strcharinfo(PC_NAME) + "? Let's see...";
next;
mes "[Mother Mathilda]";
mes "Hmm...";
@@ -301,10 +301,10 @@ prt_fild00,208,218,6 script Ascetic#3aco 4W_M_02,{
mes "So what's your name?";
next;
mes "[Father Yosuke]";
- mes "" + strcharinfo(0) + ", huh?";
+ mes "" + strcharinfo(PC_NAME) + ", huh?";
next;
mes "[Father Yosuke]";
- mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(0) + ", came to visit me.";
+ mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(PC_NAME) + ", came to visit me.";
next;
mes "[Father Yosuke]";
mes "Now go back to the Santuary and finish becoming an Acolyte, kid.";
@@ -321,7 +321,7 @@ prt_fild00,208,218,6 script Ascetic#3aco 4W_M_02,{
mes "Not bad at all, you've made it all the way here from Prontera. So what's your name, kid?";
next;
mes "[Father Yosuke]";
- mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?";
+ mes "" + strcharinfo(PC_NAME) + ", huh? Why isn't your name on my list?";
next;
mes "[Father Yosuke]";
mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop.";
diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt
index 0f2b92025..a7ef0ef10 100644
--- a/npc/re/jobs/1-1/archer.txt
+++ b/npc/re/jobs/1-1/archer.txt
@@ -97,7 +97,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 4_M_03,{
close;
}else{
mes "[Archer Guildsman]";
- mes "You are... "+strcharinfo(0)+". right?";
+ mes "You are... "+strcharinfo(PC_NAME)+". right?";
next;
if (getskilllv("NV_BASIC") < 9) {
mes "[Archer Guildsman]";
diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt
index 55107fd00..29593163b 100644
--- a/npc/re/jobs/1-1/mage.txt
+++ b/npc/re/jobs/1-1/mage.txt
@@ -113,7 +113,7 @@ geffen_in,164,124,4 script Mage Guildsman#mage 2_F_MAGICMASTER,{
close;
}
mes "Alright.. sign the application form.... Wow~ you have good handwriting! Ahh, okay. That's enough.";
- mes "You are... "+strcharinfo(0)+".";
+ mes "You are... "+strcharinfo(PC_NAME)+".";
next;
mes "[Mage Guildsman]";
mes "Hmm I can see that you've tried hard in your own way. Though it seems to be a little clumsy, but well I think it's okay!";
diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt
index 5e2da345c..393b9a13c 100644
--- a/npc/re/jobs/1-1/thief.txt
+++ b/npc/re/jobs/1-1/thief.txt
@@ -158,7 +158,7 @@ moc_prydb1,39,129,2 script Thief Guide#thief 1_F_04,{
}
mes "[Thief Guildsman]";
mes "Alright, tell me your name. Huh? What?";
- mes ""+strcharinfo(0)+". So "+strcharinfo(0)+", right...?";
+ mes ""+strcharinfo(PC_NAME)+". So "+strcharinfo(PC_NAME)+", right...?";
next;
if (getskilllv("NV_BASIC") < 9) {
mes "[Thief Guildsman]";
@@ -169,7 +169,7 @@ moc_prydb1,39,129,2 script Thief Guide#thief 1_F_04,{
}
mes "[Thief Guildsman]";
mes "Hmm.... I found your interesting criminal records from the data of the detective agency. Well you seem to have what it takes to be a good thief.";
- mes ""+strcharinfo(0)+". I now declare that you have passed the job interview!";
+ mes ""+strcharinfo(PC_NAME)+". I now declare that you have passed the job interview!";
next;
mes "[Thief Guildsman]";
mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?";
@@ -186,7 +186,7 @@ moc_prydb1,42,133,2 script Thief Guildsman#thief 2_M_THIEFMASTER,{
mes "Let's begin the job-changing ceremony of our guild!";
next;
mes "[Commander of Thief Guild]";
- mes "'"+strcharinfo(0)+".'";
+ mes "'"+strcharinfo(PC_NAME)+".'";
mes "'For those who are ready, the moonlight shall open the way. Now you are fully ready, I now officially allow you to become a member of the Thief Guild.'";
callfunc "Job_Change",Job_Thief;
q_job_thief = 0;
diff --git a/npc/re/jobs/1-1e/taekwon.txt b/npc/re/jobs/1-1e/taekwon.txt
index d4f512a94..1befa3b73 100644
--- a/npc/re/jobs/1-1e/taekwon.txt
+++ b/npc/re/jobs/1-1e/taekwon.txt
@@ -28,7 +28,7 @@
//================= Description ===========================================
//= Official TaeKwon Job Change Quest
//================= Current Version =======================================
-//= 1.0
+//= 1.0.1
//=========================================================================
-payon_in01,62,10,5 duplicate(Pheonix) Phoenix#TKJobChangeRE 4_M_MONK
+payon_in01,62,10,5 duplicate(TKJobChange) Phoenix#TKJobChangeRE 4_M_MONK
diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index c239e4a0e..ae28e7b2d 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -143,7 +143,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
cutin "",255;
end;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me...";
next;
mes "^1A95E6You tried to talk to the old man but there is no response. Just when you are about to turn away...^1A95E6";
@@ -1398,8 +1398,8 @@ OnTouch:
mes "< Used 5 LP >";
set job_kagero_lp, job_kagero_lp - 5;
next;
- set $20110808_sko01$, strcharinfo(0);
- mes strcharinfo(0)+" was here.";
+ set $20110808_sko01$, strcharinfo(PC_NAME);
+ mes strcharinfo(PC_NAME)+" was here.";
mes "You left your name.";
next;
} else {
@@ -1969,7 +1969,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
mes "Don't like it that I'm not the first one you visited but that is not important.";
next;
mes "[Red Leopard Joe]";
- mes "Alright, " + strcharinfo(0) + "!";
+ mes "Alright, " + strcharinfo(PC_NAME) + "!";
mes "Welcome to the workshop where weapons are created for the family.";
next;
mes "[Red Leopard Joe]";
@@ -2158,7 +2158,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
if (questprogress(5143) == 1) completequest 5143;
if (questprogress(5144) == 1) completequest 5144;
mes "[Red Leopard Joe]";
- mes "'" + strcharinfo(0) + "'";
+ mes "'" + strcharinfo(PC_NAME) + "'";
mes "Passed the weapon test!!";
close2;
enable_items;
@@ -2555,9 +2555,9 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
mes "[Guide Gion]";
mes "The Test of Battle will be put off for a while. Don't worry because this does not have affect to other tests.";
next;
- mapannounce "job_ko","[Gion] My Friend " + strcharinfo(0) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!",bc_map;
+ mapannounce "job_ko","[Gion] My Friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!",bc_map;
mes "[Guide Gion]";
- mes "My friend " + strcharinfo(0) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!";
+ mes "My friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!";
next;
cutin "job_ko02",2;
mes "[Guide Gion]";
@@ -2570,14 +2570,14 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
donpcevent "Red Leopard Joe#ko2::OnEnable";
cutin "job_ko04",2;
mes "[Guide Gion]";
- mes "I'm sorry I almost forgot about you two. Do you have anything to share with " + strcharinfo(0) + "?";
+ mes "I'm sorry I almost forgot about you two. Do you have anything to share with " + strcharinfo(PC_NAME) + "?";
next;
cutin "",255;
mes "[Cougar]";
mes "Hmm... Embarrassing... to speak so suddenly...";
next;
mes "[Cougar]";
- mes strcharinfo(0) + ", you are now a proud member of our family. Always hold your head high and...";
+ mes strcharinfo(PC_NAME) + ", you are now a proud member of our family. Always hold your head high and...";
next;
mes "[Cougar]";
mes "^777777(Gai's voice fades out.)^000000.";
@@ -2620,7 +2620,7 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
for (set .@i,5131; .@i<=5146; set .@i,.@i+1)
if (questprogress(.@i)) erasequest .@i;
set job_kagero,9;
- getnameditem .@item,strcharinfo(0);
+ getnameditem .@item,strcharinfo(PC_NAME);
jobchange(Sex == SEX_MALE ? Job_Kagerou : Job_Oboro);
donpcevent "Summon Target#ko::OnEnable";
mes "[Guide Gion]";
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index 9caa1f538..1a03af44c 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -212,7 +212,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "hahahahaha.";
mes "huhuhuhu. humhum.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hello. are you... Priest Dayan?";
next;
mes "[Priest]";
@@ -220,13 +220,13 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
next;
mes "He turns his head towards you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aren't you Priest Dayan?";
next;
mes "[Priest]";
mes "muttering...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Priest! Da~yan! Right!?";
next;
mes "[Priest Dayan]";
@@ -240,11 +240,11 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "I forgot to wear my hearing aid. hehe.";
mes "Anyway, why have you come here?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm, I wanted to tell you...";
next;
input .@inputstr$;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "" + .@inputstr$ + "";
next;
if (.@inputstr$ != "I'm here for the Holy Pilgrimage") {
@@ -259,7 +259,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
next;
mes "He cups his ears towards you.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
@@ -383,7 +383,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "I can feel that you have a fresh energy.";
mes "Maybe you did pray truthfully.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I feel light-hearted. Like I was just reborn...";
next;
mes "[Priest Dayan]";
@@ -391,7 +391,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "A smile from a peaceful mind will easily rid people of their wariness.";
mes "Please, inspire people with love and energy.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Thanks for your kind words.";
next;
mes "[Priest Dayan]";
@@ -409,7 +409,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "I think she is exhausted due to praying too much.";
mes "I hope the air of Yggdrasil will be helpful to her.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Don't worry.";
mes "I'll go and meet her.";
next;
@@ -429,32 +429,32 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
yggdrasil01,220,47,0 script #arch_pilgrimage HIDDEN_WARP_NPC,5,5,{
OnTouch:
if (job_arch == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is it the spring of Hvergelmir.";
mes "This place is a very vivid and peaceful place.";
mes "It's proper to pray.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Time to genuflect...";
mes "Time to start...";
mes "Hmm, what did that priest say to me?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm... What is the first way?";
next;
switch(select("The way of silence.", "The way of confession.", "The way of meditation.")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The way of silence...?";
mes "I don't think so.";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The way of confession...?";
mes "I don't think so.";
close;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The way of meditation...?";
mes "Yes, it's the way of meditation.";
next;
@@ -481,17 +481,17 @@ OnTouch:
mes "^3131FF[Priest Dayan]^000000";
mes "^3131FFDon't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Pain... What kind of faults have I had?";
input .@inputstr$;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I confess my guilt to the Almighty God Odin.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "^3131FF" + .@inputstr$ + ".^000000";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh benevolent Odin, Take mercy on me and pity me because I'm remiss in the discharge of my duties as a minister.";
mes "Please, lead the way and save a foolish minister with your wisdom.";
next;
@@ -518,7 +518,7 @@ OnTouch:
mes "^3131FFYou're drinking the Holy Water.^000000";
next;
if (countitem(Holy_Water) == 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh no! I forgot to bring a Holy Water!";
close;
}
@@ -548,19 +548,19 @@ OnTouch:
mes "A chord crashes out in the spring of Hvergelmir and a waterfall sound gives you a refreshing feeling. -";
specialeffect2 EF_GLORIA;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "~Descendants of Heimdal gather under the Ash tree Yggdrasil.~";
mes "~The Curdan bird which sits on a branch brings me the wisdom of whole world.~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The Curdan wolf protects me from all threats in the world.~";
specialeffect2 EF_GLORIA;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The host of ballascalf, rise up from your seat. The whole world shouts for joy.~";
mes "~The father of light, the poet of wisdom, sing for me.~";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The host of a glittering glass, give me a holy prediction.~";
specialeffect2 EF_GLORIA;
next;
@@ -568,7 +568,7 @@ OnTouch:
specialeffect2 EF_BLESSING;
specialeffect2 EF_RESURRECTION;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "That was refreshing.";
mes "I guess I should go back to Priest Dayan.";
job_arch = 3;
@@ -576,7 +576,7 @@ OnTouch:
warp "umbala",138,219;
end;
} else if (job_arch == 3) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The song is over. It's time to go back to Priest Dayan.";
close2;
warp "umbala",138,219;
@@ -593,7 +593,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "- You don't feel like disturbing her -";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umm, hello sister?";
next;
mes "[Vinue]";
@@ -601,7 +601,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "It's not time to have a service yet...";
mes "Are you here to pray, "+ (Sex == SEX_MALE ? "brother" : "sister") +"?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I came here to say hello from Priest Dayan from Prontera.";
next;
mes "[Vinue]";
@@ -609,11 +609,11 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "Is he good?";
mes "He is so cute even though he's old.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "He told me that he was worried because when he saw you last time, you seemed sad.";
mes "He asks you to go on a Holy Pilgrimage.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Umbala has the vital power of nature!";
next;
mes "[Vinue]";
@@ -643,7 +643,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "[Vinue]";
mes "At first, it was a dream that Valkyrie was sad and in darkness.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Valkyrie?";
next;
mes "[Vinue]";
@@ -657,7 +657,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "[Vinue]";
mes "What a cruel performance! I suddenly can't breathe properly and then I wake up.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "To have to see the death of Valkyrie, must be a tormenting dream.";
next;
mes "[Vinue]";
@@ -667,7 +667,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "[Vinue]";
mes "I've been wanting to pray at Odin's shrine to make the dream go away. But that shrine became a den of evil a long time ago.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The shrine?";
mes "Nobody tried to subdue the evil?";
next;
@@ -678,7 +678,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "[Vinue]";
mes "These days, there are a lot of people because of the development of the Odin shrine, but their situation is not so good.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is the dream related with the evil in the Odin shrine?";
next;
mes "[Vinue]";
@@ -698,7 +698,7 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "But, it'll be scary inside!";
mes "There are lots of devils inside!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But I can't pretend to ignore a Sister who is in trouble?";
mes "I'm a minister who copes with lots of asceticism!";
mes "Entrust me.";
@@ -707,13 +707,13 @@ hu_in01,205,204,7 script Praying Nun#benew 1_F_PRIEST,{
mes "Ah... I'm so worried....";
mes "I'll never forget your warm heart.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "How do I get to Odin shrine?";
next;
mes "[Vinue]";
mes "There is a ferry on the right side of the church.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ok, wait for good news!";
next;
mes "[Vinue]";
@@ -806,7 +806,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{
mes "You are a descendant of Heimdal living in pain as a mortal, why are you in here?";
mes "Are you here to ridicule my grim fate?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No way!";
mes "But it's true that I'm here for you.";
next;
@@ -822,7 +822,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{
mes "I was already expelled from Asgard.";
mes "My duty is protecting this small island from humans trying to take it from the Gods and even I don't have any energy to do so.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's not that kind of problem.";
mes "But someone who perceives your painful situation has sent me here.";
next;
@@ -875,11 +875,11 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{
mes "[Valkyrie Anguhilde]";
mes "Mortal one, what is your name?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "My name is " + strcharinfo(0) + ".";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "My name is " + strcharinfo(PC_NAME) + ".";
next;
mes "[Valkyrie Anguhilde]";
- mes "" + strcharinfo(0) + ",";
+ mes "" + strcharinfo(PC_NAME) + ",";
mes "You told me that you want to help me, right? Even though it disgraces me, I am asking for your help.";
next;
mes "[Valkyrie Anguhilde]";
@@ -919,7 +919,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{
if ($@archbs == 0) {
$@archbs = 1;
mes "[Valkyrie Anguhilde]";
- mes "" + strcharinfo(0) + " Did you finish preparing for your way of asceticism?";
+ mes "" + strcharinfo(PC_NAME) + " Did you finish preparing for your way of asceticism?";
next;
if (getmapusers("job3_arch02") > 0) {
mes "[Valkyrie Anguhilde]";
diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index 3f34e03f7..d56aff87d 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -43,10 +43,10 @@ que_job01,75,96,3 script Guild Member#3rdgc01 4_M_MOCASS1,{
mes "Finally, it's time...";
mes "Hey, what's your name?";
next;
- switch(select(strcharinfo(0),".....")) {
+ switch(select(strcharinfo(PC_NAME),".....")) {
case 1:
mes "[Ahcart]";
- mes strcharinfo(0)+"?";
+ mes strcharinfo(PC_NAME)+"?";
mes "Got it. I'll remember your name.";
mes "A master told me that you are a person with ability.";
break;
@@ -168,7 +168,7 @@ que_job01,75,96,3 script Guild Member#3rdgc01 4_M_MOCASS1,{
}
function script func_3rdgc {
- .@n$ = "["+strcharinfo(0)+"]";
+ .@n$ = "["+strcharinfo(PC_NAME)+"]";
mes .@n$;
mes "Let me collect all the information...";
.@i = 0;
@@ -302,8 +302,8 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
mes "Oh? You are a person of this world.";
mes "Your name is...";
next;
- mes "["+strcharinfo(0)+"]";
- mes strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes strcharinfo(PC_NAME)+".";
next;
mes "[Daora]";
if (job_3rd_gc == 3) {
@@ -630,7 +630,7 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
mes "[Daora]";
mes "My glass, you don't need it?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes. I already have enough information.";
mes "If that is a stuff has a long story behind it,";
mes "we have only one way.";
@@ -903,7 +903,7 @@ job3_guil01,16,20,4 script Mayshell#3rdgc03 4_F_KHELLISIA,{
mes "We saw a stranger in this village, we are quite sure that he is the person who we are looking for your task.";
next;
mes "[Mayshell]";
- mes strcharinfo(0)+".";
+ mes strcharinfo(PC_NAME)+".";
mes "Time is not waiting for you.";
mes "Go ahead. Spill blood with the blade of a knife that stands for a stoic life.";
job_3rd_gc = 5;
@@ -915,7 +915,7 @@ job3_guil01,16,20,4 script Mayshell#3rdgc03 4_F_KHELLISIA,{
next;
mes "[Mayshell]";
mes "It's a test to watch you.";
- mes "Let me see, "+strcharinfo(0)+"...";
+ mes "Let me see, "+strcharinfo(PC_NAME)+"...";
mes "Go out and think about what you have to do first.";
next;
mes "[Mayshell]";
@@ -1511,7 +1511,7 @@ ve_in,246,303,3 script Young Merchant#3rdgc05 4_M_RACHMAN2,{
mes "I'm a man of ability.";
next;
select("Where did you see her?");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A few days have passed already.";
mes "I want to find her as soon as possible.";
mes "You said you saw that child? Where did you see her?";
@@ -1798,10 +1798,10 @@ veins,187,143,5 script Peddler#3rdgc07 4_F_HUGRANMA,{
mes "You're an adventurer, so I'm asking you.";
next;
select("I'll send her your message.", "Hmm...");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "- Even though I don't have time to spare, the girl mentioned by the peddler is suspicious. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "- A girl who has no clear residence and buys expensive food. I have to find out. -";
next;
mes "[Peddler]";
@@ -2160,19 +2160,19 @@ OnTouch:
mes "- Estillda is in shock because she thinks that she's in trouble. -";
next;
select("Calm her down.");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Just relax for a second.";
mes "I totally understand what you're saying.";
mes "You won't get into any trouble.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm looking for a guy who committed a crime and ran away.";
mes "I have to catch him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So who made you get those supplies?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you cooperate with me, I'm going to protect you until this is all done.";
mes "The Assassin Guild will protect you.";
next;
@@ -2189,7 +2189,7 @@ OnTouch:
mes "Ah, these are mine.";
mes "I got a lot of zeny.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then go straight this way and pretend that nothing happened.";
next;
mes "- I demand that she walks as usual and tell her how to get to Daora's pub. -";
@@ -2290,7 +2290,7 @@ job3_guil01,79,15,1 script Estillda#3rdgc11 4_F_SHABBY,{
mes "Sorry. I'm sorry.";
mes "I'm going to do what you want...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your attitude is a problem.";
mes "Let's take up the main subject.";
break;
@@ -2319,13 +2319,13 @@ job3_guil01,79,15,1 script Estillda#3rdgc11 4_F_SHABBY,{
mes "In a couple of hours.";
mes "At a warehouse underground in the south.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thanks for your cooperation.";
mes "Your house is in Rachel?";
mes "Estillda is your real name?";
mes "Yes, I'm going to draw his rations in Rachel.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "To go back home without an accident.";
job_3rd_gc = 12;
changequest 7106,7107;
@@ -2467,7 +2467,7 @@ OnTouch:
mes "When did I give you a clue?!";
next;
select("You lost your head...");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is this the correct target?";
mes "Can you talk with me for a sec?";
next;
@@ -2475,7 +2475,7 @@ OnTouch:
mes "No way!!!!";
mes "You... I'll make you close your eyes forever!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What?!";
close2;
donpcevent "A man with black clothes::OnDisable";
@@ -2522,7 +2522,7 @@ job3_guil02,49,43,5 script Dandelion#3rdgc12 4_M_DSTMANDEAD,{
next;
mes "- He puts something in his mouth and swallows. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is that?!";
mes "What do you have in your mouth...?";
mes "Why did you do that?";
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index 91adb9b49..78e200843 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -452,7 +452,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 4_M_JOB_HUNTER,{
next;
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No thanks... anyway...";
next;
mes "[Test Instructor, Teardrop]";
@@ -561,7 +561,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 4_M_JOB_HUNTER,{
if (countitem(Bow__) > 0) {
mes "[Test Instructor, Teardrop]";
mes "Okay. I'll respect your opinion.";
- mes "I'll cancel the job change request from "+strcharinfo(0)+".";
+ mes "I'll cancel the job change request from "+strcharinfo(PC_NAME)+".";
delitem Bow__,1;
job_ranger01 = 0;
for(.@i = 8254; .@i <= 8262; ++.@i)
@@ -723,7 +723,7 @@ job3_rang01,30,44,3 script Test Waiting Room#jr_03 4_M_ORIENT01,{
if (countitem(Bow__) > 0) {
mes "[Staff DTS]";
mes "Okay. I'll respect your opinion.";
- mes "I'll cancel the job change request from "+strcharinfo(0)+".";
+ mes "I'll cancel the job change request from "+strcharinfo(PC_NAME)+".";
delitem Bow__,1;
job_ranger01 = 0;
for(.@i = 8254; .@i <= 8262; ++.@i)
@@ -1748,7 +1748,7 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 4_M_REIDIN_KURS,{
jobchange roclass(eaclass()|EAJL_THIRD);
getitem Sniper_Goggle,1;
getitem Green_Apple_Ring,1;
- getitem Wolf's_Flute,1;
+ getitem Wolfs_Flute,1;
close;
}
mes "Hey, you look great.";
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index fb875278d..caa540585 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -146,7 +146,7 @@ prt_in,162,24,3 script Splendid-Looking Knight 4_M_KNIGHT_SILVER,2,2,{
glast_01,44,363,3 script Guide, Jungberg 4_M_KNIGHT_BLACK,2,2,{
mes "[Guide, Jungberg]";
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
- mes "Oh, you must be "+strcharinfo(0)+".";
+ mes "Oh, you must be "+strcharinfo(PC_NAME)+".";
mes "Welcome.";
next;
mes "[Guide, Jungberg]";
@@ -217,7 +217,7 @@ glast_01,44,363,3 script Guide, Jungberg 4_M_KNIGHT_BLACK,2,2,{
mes "Um... Are you the Rune Knight candidate that Manuel talked about?";
next;
mes "[Guide, Jungberg]";
- mes "Your name is "+strcharinfo(0)+", right? I can see clearly that you are qualified to become our comrade.";
+ mes "Your name is "+strcharinfo(PC_NAME)+", right? I can see clearly that you are qualified to become our comrade.";
next;
mes "[Guide, Jungberg]";
mes "Good. I don't have to ask any more about your qualification to join our brethren....1.S... Now I'll give you your first assignment.";
@@ -270,7 +270,7 @@ glast_01,44,363,3 script Guide, Jungberg 4_M_KNIGHT_BLACK,2,2,{
gl_knt02,150,55,3 script Rune Knight Staff 4_M_01,2,2,{
mes "[Rune Knight Staff]";
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
- mes "Welcome, "+strcharinfo(0)+". Are you going to the gathering place?";
+ mes "Welcome, "+strcharinfo(PC_NAME)+". Are you going to the gathering place?";
next;
switch(select("Yes, take me there.", "I'm on other business.", "Cancel.")) {
case 1:
@@ -348,7 +348,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 4_M_KNIGHT_SILVER,2,2,{
job_rune_edq = 24;
close;
}
- mes "Hey, long time no see, "+strcharinfo(0)+". I don't think you've got any important matters to discuss but make yourself comfortable.";
+ mes "Hey, long time no see, "+strcharinfo(PC_NAME)+". I don't think you've got any important matters to discuss but make yourself comfortable.";
close;
}
if (BaseJob == Job_Knight) {
@@ -361,7 +361,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 4_M_KNIGHT_SILVER,2,2,{
mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is?";
next;
mes "[Captain Tigris]";
- mes "Oh, I've heard it before but I've forgotten it. Right, were you "+strcharinfo(0)+"? I truly welcome you from the heart for coming here.";
+ mes "Oh, I've heard it before but I've forgotten it. Right, were you "+strcharinfo(PC_NAME)+"? I truly welcome you from the heart for coming here.";
next;
mes "[Captain Tigris]";
mes "Let's see. How many candidates have come to this room? Hey, Lunarea, which candidate is this one here?";
@@ -709,7 +709,7 @@ L_Test:
job3_rune01,55,50,3 script Rune Knight, Renoa 4_M_KNIGHT_GOLD,2,2,{
mes "[Rune Knight, Renoa]";
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
- mes "Congratulations for becoming one of us. Junior Rune Knight, "+strcharinfo(0)+".";
+ mes "Congratulations for becoming one of us. Junior Rune Knight, "+strcharinfo(PC_NAME)+".";
next;
mes "[Rune Knight, Renoa]";
mes "Soon you'll see the way we need to go clearly.";
diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index ea926b0b1..cc7874f38 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -258,9 +258,9 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "[Devries]";
mes "What's your name, young alchemist?";
next;
- select("I'm "+strcharinfo(0)+".");
+ select("I'm "+strcharinfo(PC_NAME)+".");
mes "[Devries]";
- mes "Oh, "+strcharinfo(0)+"!";
+ mes "Oh, "+strcharinfo(PC_NAME)+"!";
mes "That's a very unusual name. Pleased to meet you.";
next;
mes "[Devries]";
@@ -553,18 +553,18 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "<I'm sure it will be a great inspiration for other Alchemists.>";
next;
mes "<Come to think of it, you've attached a paper?>";
- mes "<It was a new plant which makes plants grow super-fast, discovered by an Alchemist named, "+strcharinfo(0)+">";
+ mes "<It was a new plant which makes plants grow super-fast, discovered by an Alchemist named, "+strcharinfo(PC_NAME)+">";
next;
mes "<Myself and many other Alchemists from the Alchemist union are taking great interest in this.>";
next;
mes "<We are looking forward to more volumes of study papers and outcomes, especially from other Geneticists who?ve heard this news.>";
next;
mes "<Miss. Devries>";
- mes "<I think that "+strcharinfo(0)+" has enough ability and talent to be a Geneticist.>";
+ mes "<I think that "+strcharinfo(PC_NAME)+" has enough ability and talent to be a Geneticist.>";
next;
- mes "<Please tell "+strcharinfo(0)+" as soon as possible that we are expecting remarkable activities as a Geneticist from now on.>";
+ mes "<Please tell "+strcharinfo(PC_NAME)+" as soon as possible that we are expecting remarkable activities as a Geneticist from now on.>";
next;
- mes "<The Alchemist Union is very proud of Miss Devries, Miss Demi Calberine and "+strcharinfo(0)+" who are excellent talented people.>";
+ mes "<The Alchemist Union is very proud of Miss Devries, Miss Demi Calberine and "+strcharinfo(PC_NAME)+" who are excellent talented people.>";
mes "<We hope that you yield good fruits in the future as well.>";
next;
mes "[Devries]";
@@ -723,7 +723,7 @@ job3_gen01,7,50,3 script Testing Table#gen CLEAR_NPC,{
}
if (!questprogress(2209) && !questprogress(2210) && !questprogress(2211) && !questprogress(2212)
&& !questprogress(2213) && !questprogress(2213) && !questprogress(2214)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm, I need to gather plant materials first.";
close;
}
@@ -747,7 +747,7 @@ job3_gen01,7,50,3 script Testing Table#gen CLEAR_NPC,{
select("Testing Seed - Type A", "Testing Seed - Type B", "Testing Seed - Type C", "Testing Seed - Type D");
mes "I've put the prepared materials into the chosen testing seed.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Good. Now I can let Miss Devries take a look at this seed!";
if (!questprogress(2209) && !questprogress(2210) && !questprogress(2211)) {
job_gen = 61;
@@ -866,7 +866,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 4_F_SCIENCE,{
mes "Oh, by the way what made you come here?";
mes "Did you come here to order something";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm a Geneticist applicant.";
mes "I heard that you were very knowledgeable about portable mini cannons and stuff.";
next;
@@ -874,7 +874,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 4_F_SCIENCE,{
mes "Yep, I deal with many kinds of cannons.";
mes "Nowadays, there are those who want to remodel their carts, so I've been installing several additional functions such as mini cannons to their carts.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Cart remodeling?";
next;
mes "[Demi Calberine]";
diff --git a/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt
index ca5b7e261..a9f30975c 100644
--- a/npc/re/jobs/3-2/minstrel.txt
+++ b/npc/re/jobs/3-2/minstrel.txt
@@ -59,7 +59,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "[Old Man passing by]";
mes "Eeeee~ that's not real song...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Clap.";
mes "I can feel the rhythm.";
mes "Can I hear one more song?";
@@ -68,7 +68,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "Hum?";
mes "Judging by your outfit I think you are good at singing, why don't you sing us a song?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "??!!";
next;
mes "[Bard]";
@@ -76,7 +76,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "Just kidding.";
mes "Were you serious? Haha.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
next;
mes "[Karian]";
@@ -95,8 +95,8 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "[Karian]";
mes "No man can survive after hearing ^f57d7dthe voice of a Siren^000000.";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I'm "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I'm "+strcharinfo(PC_NAME)+".";
mes "Are you here in Alberta to travel?";
next;
mes "[Karian]";
@@ -107,7 +107,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "Yes!";
mes "I'm looking for '^f57d7dMaestro Song^000000'.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^f57d7d'Maestro Song'^000000, you mean the poet of legend?";
next;
mes "[Karian]";
@@ -115,7 +115,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "According to a rumor that I heard, he is a rich noble.";
mes "But other than that fact, I can't get any more information.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why can't you get any more information?";
next;
mes "[Karian]";
@@ -127,7 +127,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "If you are interested, why don't help me find out where ^f57d7d'Maestro Song'^000000 is?";
next;
if(select("Ok.", "No.") == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm not interested.";
next;
mes "[Karian]";
@@ -135,7 +135,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "See you later~";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I will.";
job_min = 1;
setquest 11135;
@@ -144,7 +144,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "It's good to travel by yourself but sometimes you feel that you want to have friends around.";
next;
mes "[Karian]";
- mes "Then "+strcharinfo(0)+".";
+ mes "Then "+strcharinfo(PC_NAME)+".";
mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?";
mes "Because I have something to investigate in Alberta.";
next;
@@ -164,7 +164,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "It's good to travel by yourself but sometimes you feel that you want to have friends around.";
next;
mes "[Karian]";
- mes "Then "+strcharinfo(0)+".";
+ mes "Then "+strcharinfo(PC_NAME)+".";
mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?";
mes "Because I have something to investigate in Alberta.";
next;
@@ -181,7 +181,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
close;
} else if (job_min == 4) {
mes "[Karian]";
- mes strcharinfo(0)+"! Did you already go to Prontera?";
+ mes strcharinfo(PC_NAME)+"! Did you already go to Prontera?";
mes "Did you get any useful information?";
next;
mes "[Karian]";
@@ -219,7 +219,7 @@ alberta,196,133,4 script Bard#job_min 4_M_BARD,{
mes "make them feel as if they are in the land of dreams.";
next;
mes "[Karian]";
- mes "Ah!!! "+strcharinfo(0)+" Long time no see!";
+ mes "Ah!!! "+strcharinfo(PC_NAME)+" Long time no see!";
mes "What? What am I doing here?";
next;
mes "[Karian]";
@@ -387,14 +387,14 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes "Eeeeh it's so painful.";
mes "I don't want to feel like this ever again.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you ok?";
next;
mes "[Karian]";
mes "...";
mes "No...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm feeling ok.";
mes "So, I'm going to find out information in town, you can take a rest.";
next;
@@ -402,7 +402,7 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes "Sorry, blech! I still feel bad...";
mes "You can get good information from the ^f57d7dPub^000000. Owww...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You don't have to tell me everything. I can take care of it.";
next;
mes "[Karian]";
@@ -426,7 +426,7 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
} else if (job_min == 9) {
mes "Owww...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "How do you feel?";
next;
mes "[Karian]";
@@ -437,7 +437,7 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes "Did you get anything?";
mes "I'm sorry that I can't be more helpful to you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No, it's ok.";
mes "I met a man in the Pub, he said that he got a song from 'Maestro Song'.";
next;
@@ -447,7 +447,7 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes ".....";
mes "Bleech...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey! Are you sure that you are ok?";
next;
mes "[Karian]";
@@ -455,28 +455,28 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes "It's just bad memories.";
mes "So did you hear something?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I heard a song named ^f57d7d'Metallic Sound'^000000.";
next;
mes "[Karian]";
mes "What?!?!?!?!!!!!";
mes "You heard that?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why? Do you know that song?";
next;
mes "[Karian]";
mes "Ahh...";
mes "Y-yes...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
next;
mes "[Karian]";
mes "I met him before.";
mes "He has a great voice...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes.";
mes "I blacked out as I heard that song.";
next;
@@ -485,7 +485,7 @@ hu_in01,267,5,3 script Karian#job_min2 4_M_BARD,{
mes "And he...";
mes "What else?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah!!";
mes "^f57d7d'Maestro Song'^000000 went to ^f57d7dThanatos Tower^000000.";
mes "I don't know why he went there.";
@@ -537,18 +537,18 @@ hu_in01,361,103,3 script Tone-deaf person 4_M_CASMAN1,{
mes "Hum!! Hey you, you were listening to my song.";
mes "You look like a "+((Class == Job_Clown)?"Clown":"Bard")+", how about you sing for me as rewarding my song?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What?!";
next;
mes "[Tone-deaf person]";
mes "Sing for me.";
mes "Come on~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok...";
mes "Hum hum...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You are standing in the middle of Asgard's field.";
mes "You hand the fruit of heaven over to me~";
mes "You are loved by every god~";
@@ -587,7 +587,7 @@ hu_in01,361,103,3 script Tone-deaf person 4_M_CASMAN1,{
mes "But ^f57d7d'Maestro Song'^000000 didn't get discouraged by my song.";
mes "Of course he isn't good enough to me.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Did you meet ^f57d7d'Maestro Song'^000000?";
next;
mes "[Tone-deaf person]";
@@ -607,14 +607,14 @@ hu_in01,361,103,3 script Tone-deaf person 4_M_CASMAN1,{
mes "[Tone-deaf person]";
mes "He said that he will go to Thanatos.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Did you get a song?";
next;
mes "[Tone-deaf person]";
mes "Yes!";
mes "He conceded my ability!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Can I hear the song?";
next;
mes "[Tone-deaf person]";
@@ -666,19 +666,19 @@ hu_in01,361,103,3 script Tone-deaf person 4_M_CASMAN1,{
mes "Clap";
mes "Hey~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Eeeee...";
next;
mes "[Tone-deaf person]";
mes "I think you are qualified, but you seem to need more training.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
next;
mes "-You're so exhausted.-";
mes "-So go back to the hotel.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you for your song.";
mes "I have to go back...";
next;
@@ -691,7 +691,7 @@ hu_in01,361,103,3 script Tone-deaf person 4_M_CASMAN1,{
changequest 11141,11142;
close;
} else if (job_min == 9) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
next;
mes "-I'm so exhausted.-";
@@ -731,7 +731,7 @@ OnTouch:
if (job_min == 10 || (job_min == 11 && countitem(Mins_Receipt) == 0)) {
mes "-There is a piece of paper on the ground.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is this?";
next;
mes "[Karian]";
@@ -751,7 +751,7 @@ OnTouch:
mes "- Directions : Around Juno's plaza.";
getitem Mins_Receipt,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Photo exchange receipt?";
mes "How did he drop it...";
next;
@@ -856,7 +856,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "I can take a picture for you.";
mes "Do you want to take a pic?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No...";
mes "Do you remember this receipt?";
next;
@@ -894,7 +894,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "[Mr. Click]";
mes "Here, take a look.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The picture!";
mes "Let me see it!";
next;
@@ -902,13 +902,13 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "Hurry.";
donpcevent "Karian#cmd2::OnEnable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...";
next;
mes "[Karian]";
mes "Oh~ Good pic, isn't it?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I expected I would see the face of 'Maestro Song', but he's wearing a mask...";
mes "He's wearing a mask?!";
mes "We came here for this?";
@@ -921,7 +921,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "-In front of Thanatos tower.";
mes "-Maestro Song.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What does it mean?";
next;
mes "[Karian]";
@@ -934,7 +934,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "[Karian]";
mes "We might be able to get something there.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then why would he need 33?";
next;
mes "[Karian]";
@@ -943,7 +943,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "[Karian]";
mes "Umm... Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place where Teddy Bears are?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok. Then let's meet at Lighthalzen's hotel.";
mes "I'll get the 33 Teddy Bears.";
donpcevent "Karian#cmd2::OnDisable";
@@ -961,7 +961,7 @@ yuno,143,170,6 script Mr. Click#job_min 4_M_ALCHE_A,{
mes "[Karian]";
mes "Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place where Teddy Bears are?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then let's meet at Lighthalzen's hotel.";
mes "I'll get the 33 Teddy Bears.";
donpcevent "Karian#cmd2::OnDisable";
@@ -985,14 +985,14 @@ OnTouch:
mes "Why do you have lots of teddy bears?";
mes "Where did you get them old man?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, I'm not an old man.";
next;
mes "[Little Girl]";
mes "And my name isn't 'Hey'!";
mes "My name is 'Rion'!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry~ sorry~";
mes "What if I give you a teddy bear.";
next;
@@ -1004,7 +1004,7 @@ OnTouch:
mes "[Rion]";
mes "A man who I saw before didn't give me teddy bears even though he had lots of them!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is he the guy in this pic?";
next;
mes "[Rion]";
@@ -1020,16 +1020,16 @@ OnTouch:
mes "[Rion]";
mes "My mother works here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ice Cave?";
next;
mes "[Rion]";
mes "Mother said that it's freezing.";
next;
mes "[Karian]";
- mes "Hey~ "+strcharinfo(0)+"~";
+ mes "Hey~ "+strcharinfo(PC_NAME)+"~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah, Karian. Did you just get here?";
next;
mes "[Karian]";
@@ -1037,14 +1037,14 @@ OnTouch:
mes "It was much farther away than I'd expected.";
donpcevent "Karian#cmd3::OnEnable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You... walked here?";
next;
mes "[Karian]";
mes "...";
mes "I didn't want to take the airship again...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... got it.";
mes "Then did you get anything in Einbroch?";
next;
@@ -1052,13 +1052,13 @@ OnTouch:
mes "I think 'Maestro Song' went to Einbroch, but he left soon because of air.";
mes "How about you? Did you find something about the teddy bears?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "'Maestro Song' might be in an Ice Cave.";
next;
mes "[Karian]";
mes "Might be?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This little... ah... Rion saw him.";
next;
mes "[Karian]";
@@ -1066,10 +1066,10 @@ OnTouch:
mes "Huu... legs hurt.";
mes "Ok, let's go to there.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thanks, Rion.";
mes "I'll give you all the teddy bears I have.";
next;
@@ -1077,7 +1077,7 @@ OnTouch:
mes "Really?!";
mes "Waaah!!!!!!!!!";
mes "I'm so happy!!!";
- mes "Thank you, "+strcharinfo(0)+".";
+ mes "Thank you, "+strcharinfo(PC_NAME)+".";
job_min = 13;
changequest 11145,11146;
donpcevent "Karian#cmd3::OnDisable";
@@ -1245,7 +1245,7 @@ OnTouch:
mes "Huu!!";
mes "Wake up!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where am I...?";
job_min = 15;
close;
@@ -1259,7 +1259,7 @@ ra_in01,358,130,4 script Old Woman#job_min 4_F_CAVE1,{
mes "Huu!!";
mes "Wake up!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where am I...?";
job_min = 15;
close;
@@ -1270,17 +1270,17 @@ ra_in01,358,130,4 script Old Woman#job_min 4_F_CAVE1,{
mes "[Old Woman]";
mes "You're lucky that my husband found you when he did.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry.";
next;
mes "[Old Woman]";
mes "Anyway!! Be careful!";
mes "You don't believe your youth alone will protect you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'll be careful.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you know that song written on the wall of the Ice cave?";
next;
mes "[Old Woman]";
@@ -1296,7 +1296,7 @@ ra_in01,358,130,4 script Old Woman#job_min 4_F_CAVE1,{
mes "[Old Woman]";
mes "And then he decided to go to Comodo.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Comodo?";
next;
mes "[Old Woman]";
@@ -1313,7 +1313,7 @@ ra_in01,358,130,4 script Old Woman#job_min 4_F_CAVE1,{
mes "Eee I don't want to go on an airship again!";
donpcevent "Karian#cmd4::OnEnable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Take it easy...";
mes "Is there another way to go there?";
next;
@@ -1357,7 +1357,7 @@ function Choice;
mes "Maestro Song, Go to Comodo by boat!";
mes "Be ambitious!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Will it be okay...";
next;
mes "[Karian]";
@@ -1381,7 +1381,7 @@ function Choice;
mes "-You should see-";
mes "-other small boats.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm...";
mes "I didn't think that there was anyone who would cross over this sea with a boat.";
mes "You sure I'll see other boats?";
@@ -1390,7 +1390,7 @@ function Choice;
mes "They will be headed the other direction.";
donpcevent "Karian#cmd5::OnDisable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where are you going?";
next;
mes "[Karian]";
@@ -1405,7 +1405,7 @@ function Choice;
mes "-You suddenly feel like-";
mes "-you're sitting in water.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey! There's a water leak!!";
next;
mes "[Karian]";
@@ -1492,30 +1492,30 @@ function Choice;
comodo,184,108,0 script #jmComodo Almost Dead HIDDEN_WARP_NPC,2,2,{
OnTouch:
if (job_min == 17) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm... I'm alive~";
next;
mes "[Karian]";
mes "That was a close call.";
donpcevent "Karian#cmd6::OnEnable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You're the one that insisted that we ride on that boat. That's how we ended up like this in the first place!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We wouldn't have suffered like this if we just took the Airship.";
next;
mes "[Karian]";
mes "But I told you that I don't ride airships!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I can't believe this!";
next;
mes "[Karian]";
mes "Well, let's forget about the past!";
mes "Since we're in Comodo, let's just have some fun okay?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then what should we do about looking for 'Maestro Song'??";
next;
mes "[Karian]";
@@ -1601,11 +1601,11 @@ comodo,159,316,4 script Woman Roasting Meat 4_F_GODEMOM,{
moc_fild16,206,232,0 script #jmTransfer news HIDDEN_WARP_NPC,3,3,{
OnTouch:
if (job_min == 20) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Um? What is this?";
mes "Something covered by sand?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah It's!!";
mes "I think 'Maestro Song' dropped it!";
next;
@@ -1613,17 +1613,17 @@ OnTouch:
mes "What?! How do you know?";
donpcevent "Karian#cmd7::OnEnable";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The lyrics from the man I met in Hugel on the receipt...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "and this poem written on this paper.";
mes "The calligraphy style is the same.";
next;
mes "[Karian]";
mes "I want to see clock tower...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But this poem can't be a clue...";
mes "...";
mes "What?";
@@ -1632,14 +1632,14 @@ OnTouch:
mes "......";
mes "I want to see clock tower.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Clock tower?";
mes "What are you saying all of a sudden?";
next;
mes "[Karian]";
mes "The... huge clock tower in Al De Baran.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I know but...";
next;
mes "[Karian]";
@@ -1658,7 +1658,7 @@ OnTouch:
mes "[Karian]";
break;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok that's not a bad idea...";
next;
mes "[Karian]";
@@ -1677,7 +1677,7 @@ OnTouch:
aldebaran,140,130,0 script #jmAldebaran Clock Tower HIDDEN_WARP_NPC,3,3,{
OnTouch:
if (job_min == 21) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anyway why do you want to visit this place?";
next;
mes "[Karian]";
@@ -1750,7 +1750,7 @@ OnTouch:
mes "[Karian]";
mes "I'm so tired.";
mes "I want to take a rest~";
- mes "Come here, "+strcharinfo(0)+".";
+ mes "Come here, "+strcharinfo(PC_NAME)+".";
job_min = 23;
close;
}
@@ -1824,10 +1824,10 @@ OnTouch:
mes "How'd you do that?";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "-It's a poem that you picked up in the desert.-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "-How does Karian know-";
mes "-that song's not a poem?-";
next;
@@ -1878,7 +1878,7 @@ prt_in,94,172,4 script Karian#job_min3 4_M_MINSTREL1,{
mes "[Karian]";
mes "I gave it to my friend but he kept it precious...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Did you give it to him?";
mes "Wait a second!";
mes "Just who are you?";
@@ -1887,7 +1887,7 @@ prt_in,94,172,4 script Karian#job_min3 4_M_MINSTREL1,{
mes "Yes! I'm 'Maestro Song'!";
mes "Are you surprised!?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "......";
next;
mes "[Maestro Song]";
diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index 0d87db5d2..5cead2250 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -87,20 +87,20 @@ prt_castle,48,161,3 script Middle-aged Gentleman#rg 1_M_LIBRARYMASTER,{
mes "Do you want to argue with me? Do you know who I am?";
next;
if(select("Not really, who are you?", "Sorry, I won't hurt your feelings.") == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry. I had to be sure. I didn't know that you are from the royal palace.";
next;
mes "[Middle-aged Gentleman]";
mes "That's enough. Don't make this mistake again.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm a member here and have the authority to find out what your business is here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You are a stranger and I'm not sure if you belong here.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you tell me your identity, I will apologize.";
next;
mes "[Middle-aged Gentleman]";
diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt
index 04c0abc11..9cdd3f732 100644
--- a/npc/re/jobs/3-2/shadow_chaser.txt
+++ b/npc/re/jobs/3-2/shadow_chaser.txt
@@ -1072,7 +1072,7 @@ s_atelier,167,129,3 script Manager#sc06_yuno 1_M_SIGNART,{
changequest 7176,7177;
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm sorry.";
mes "I found one more key but I didn't bring it.";
mes "I'll bring it soon.";
@@ -1115,11 +1115,11 @@ s_atelier,167,129,3 script Manager#sc06_yuno 1_M_SIGNART,{
mes "An assistant sells some paint and tool.";
close;
L_Code:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
next;
input .@inputstr$;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
mes "'"+.@inputstr$+"' .";
next;
@@ -1698,12 +1698,12 @@ tur_dun03,38,209,1 script Blue Flame#sc_f01 4_NFWISP,{
.@dap01$ = "blue fire in turtle island third floor";
.@dap02$ = "BLUE FIRE IN TURTLE ISLAND THIRD FLOOR";
if (.@inputstr$ != .@dap01$ && .@inputstr$ != .@dap02$) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What was it?";
mes "I guess I have to make sure I don't use any capital letters.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "^4d4dff"+.@inputstr$+"^000000";
mes "It's clearly pointing to this.";
next;
@@ -1846,16 +1846,16 @@ niflheim,230,276,1 script Red Flame#sc_f03 4_NFWISP,{
close;
}
else if (job_sha == 21) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The poem that Haled told me was pointing to Niflheim.";
mes "There is a flame that looks like the one from turtle island and ice dungeon.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The end of living tree's roots.";
mes "Tears of all living people.";
mes "Sign of all dead people.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "They are us but also not us.";
next;
mes "[Someone's voice]";
@@ -1974,7 +1974,7 @@ job3_sha01,22,78,0 script ????#keybox01 CLEAR_NPC,{
mes "And "+.@Codes1$[.@i]+".";
next;
select("What does it mean?");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Is it also code.";
mes "It must be!";
mes "Ah, something is showing up again...?";
@@ -2030,13 +2030,13 @@ job3_sha01,25,28,0 script ????#keybox02 CLEAR_NPC,{
mes "When you touched that number, then it moved.";
mes "You find the empty space.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I guess I have to put the number in the empty space...";
mes "I have two empty squares to put two numbers.";
mes "What will it be good for?";
next;
select("I think it's related with the word given by Paul.");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I got "+.@Words$[.@i]+".";
mes "Now I have to convert it into a number...";
next;
@@ -2049,12 +2049,12 @@ job3_sha01,25,28,0 script ????#keybox02 CLEAR_NPC,{
next;
mes "You got the Key of Illusion.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's not a treasure.";
mes "The Key of Illusion? Is it related with the Shadow of Illusion?";
mes "I got the Key of Deception after I handled Deception...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anyway, Paul will be disappointed.";
mes "Key again...";
mes "How can I escape from here...?";
@@ -2071,12 +2071,12 @@ job3_sha01,25,28,0 script ????#keybox02 CLEAR_NPC,{
mes "When you enter the number, it goes back to the first.";
close;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm.";
mes "I can't get it...";
mes "Is it the same code as the Prontera workplace...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "According to that method...";
mes "A means 11 and B means 12.";
close;
@@ -2106,10 +2106,10 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes " 19 8 1 11 5";
mes "-----------------";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think it's another code.";
} else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let me think again...";
mes "20 21 18 14";
mes "1 14 4 ";
@@ -2117,14 +2117,14 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "...";
}
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's the same as before.";
mes "There's no code, so 1 should be A.";
mes "And the answer is...";
next;
input .@inputstr$;
if (.@inputstr$ == "turn and shake" || .@inputstr$ == "TURN AND SHAKE") {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Turn... Turn... and";
mes "Shake? Shake?";
mes "For what?";
@@ -2139,7 +2139,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "Even though you shake the roof but";
mes "nothing happens.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's not it.";
mes "Hmm...";
next;
@@ -2148,7 +2148,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "You tried to shake the house but";
mes "it doesn't do anything.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's wrong.";
mes "Put it back";
mes "and try it again.";
@@ -2165,7 +2165,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "Nothing happens.";
mes "You think there is something inside, but it won't come out.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's not it.";
mes "Hmm...";
next;
@@ -2175,7 +2175,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "You can hear a noise,";
mes "but nothing's coming out.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That's not it.";
mes "Hmm...";
next;
@@ -2189,7 +2189,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
next;
mes "- You got the Key of Pleasure. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? A key again!";
mes "Haled will be disappointed.";
mes "I better go back.";
@@ -2203,14 +2203,14 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "You tried to turn the small handle";
mes "but it doesn't work.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What should I do now?";
next;
break;
}
}
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "..."+.@inputstr$+"...?";
if (job_sha == 23) {
mes "What does that mean?";
@@ -2243,7 +2243,7 @@ job3_sha01,71,27,0 script ????#keybox04 CLEAR_NPC,{
next;
select("Place the key in the holes.");
if (countitem(Cheat_Key) && countitem(Virtual_Key) && countitem(Mirth_Key)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "At first, Deception...";
mes "then Illusion...";
mes "and Pleasure...";
@@ -2260,23 +2260,23 @@ job3_sha01,71,27,0 script ????#keybox04 CLEAR_NPC,{
getitem Master_Brush,1;
changequest 7178,7179;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What???";
mes "A brush!!!!";
mes "This isn't treasure!!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ahahhah!!!!";
mes "*sniff*";
mes "It's not treasure!";
next;
select("Now I'm pissed off.");
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "*Sigh*";
mes "Guess I should bring this to ^4d4dffVicente^000000!";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I didn't bring all of the keys.";
mes "How could I be so stupid?";
close;
diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt
index a75480f24..0af118a0d 100644
--- a/npc/re/jobs/3-2/sorcerer.txt
+++ b/npc/re/jobs/3-2/sorcerer.txt
@@ -80,7 +80,7 @@ gef_tower,102,34,5 script Merito 2_M_SAGE_B,{
close;
}
mes "[Merito]";
- mes "So, you are [" + strcharinfo(0) + "].";
+ mes "So, you are [" + strcharinfo(PC_NAME) + "].";
next;
mes "[Merito]";
mes "Give me a second to register your name.";
@@ -91,7 +91,7 @@ gef_tower,102,34,5 script Merito 2_M_SAGE_B,{
mes "Good, then I'll give you a short explanation about the Sorcerer.";
next;
mes "[Merito]";
- mes "[" + strcharinfo(0) + "], can you handle magic skillfully?";
+ mes "[" + strcharinfo(PC_NAME) + "], can you handle magic skillfully?";
next;
if(select("Yes, I can.", "No, I'm not really good at it.") == 2) {
mes "[Merito]";
@@ -188,7 +188,7 @@ gef_tower,113,161,5 script Karacas 4_M_SAGE_A,{
mes "The list... has already arrived.";
next;
mes "[Karacas]";
- mes "So, you are [" + strcharinfo(0) + "]... right?";
+ mes "So, you are [" + strcharinfo(PC_NAME) + "]... right?";
next;
if(select("Yes, I am.", "No, I'm not!") == 2) {
mes "[Karacas]";
@@ -355,14 +355,14 @@ gef_tower,113,161,5 script Karacas 4_M_SAGE_A,{
mes "Originally my teacher needs to check the Sorcerer job change but after he went out to find the spirit of fish, I can't see him. So I'll check it myself.";
next;
mes "[Karacas]";
- mes "Dear [" + strcharinfo(0) + "],";
+ mes "Dear [" + strcharinfo(PC_NAME) + "],";
mes "you went around the rough wilds to open the door as a Sorcerer and passed all the requirements that our Academy has given.";
next;
mes "[Karacas]";
mes "Of course it is just a beginning, we don't know which spirit you're going to commune with or what kind of hardships await you.";
next;
mes "[Karacas]";
- mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear [" + strcharinfo(0) + "]";
+ mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear [" + strcharinfo(PC_NAME) + "]";
next;
mes "[Kalakas]";
if (BaseLevel < 99 || JobLevel < 50 || SkillPoint) {
@@ -380,7 +380,7 @@ gef_tower,113,161,5 script Karacas 4_M_SAGE_A,{
mes "Moreover, I formally acknowledge that you've completed all the job transfer tests of the Sorcerer Academy.";
next;
mes "[Karacas]";
- mes "Congratulations, [" + strcharinfo(0) + "]";
+ mes "Congratulations, [" + strcharinfo(PC_NAME) + "]";
jobchange roclass(eaclass()|EAJL_THIRD);
getitem Wind_Whisper,1;
getitem Green_Apple_Ring,1;
diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index f1353e282..3eae13edf 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -112,7 +112,7 @@ ve_in,237,125,0 script King Crab#job_shu 1_M_PAY_ELDER,{
mes "Huh! The boss is really mad!";
mes "I can beat you up with one blow...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey! How dare you use violence against a lady!?";
next;
mes "[???]";
@@ -236,7 +236,7 @@ OnTimer600000:
ve_in,97,149,0 script #Suraryokan HIDDEN_WARP_NPC,3,3,{
OnTouch:
if (job_shu == 1) {
- .@n$ = "["+strcharinfo(0)+"]";
+ .@n$ = "["+strcharinfo(PC_NAME)+"]";
mes "[???]";
mes "Who is it?!";
next;
@@ -298,7 +298,7 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes "Training is so tough and I have a long way to go!";
close;
} else if (job_shu == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I want to know about the skill you used a while ago.";
next;
mes "[???]";
@@ -307,7 +307,7 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes ".........";
mes "............ A rookie like you doesn't need to know.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Rookie?!";
mes "I have steadily practiced martial arts.";
mes "I am confident that I will never lose.";
@@ -315,35 +315,35 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes "[???]";
mes "So you can beat me, too?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No...";
mes "I guess that's too much...";
mes "Frankly speaking, I was quite amazed by you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I had thought that I was strong enough but after seeing you fight, I realized that I was full of conceit.";
next;
mes "[???]";
mes "Huuuh~ No matter how strong you are,";
mes "you cannot avoid reaching for your true limit.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You are just the person that I expected.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I think you would know";
mes "how to overcome this limitation.";
next;
mes "[???]";
mes "Stop it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What? Why?";
next;
mes "[???]";
mes "Are you a human?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What?";
mes "Of course, I am a human.";
next;
@@ -351,7 +351,7 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes "To become stronger is too hard for a mere human.";
mes "If you want to, just buy better equipment.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then, what are you?";
mes "You mean you're not a human being?";
next;
@@ -360,7 +360,7 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes "is impossible for a human.";
mes "It's a ghost's way...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ghost?";
next;
mes "[???]";
@@ -380,7 +380,7 @@ ve_in,98,159,0 script Fighter#job_shu 4_F_SURA,{
mes "[???]";
mes "You'll regret it, so just be satisfied with your present life.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, now that I've met you, I won't live my life this way anymore!";
next;
mes "[???]";
@@ -468,14 +468,14 @@ yuno_fild07,254,176,7 script Buddy#job_shu 4_M_MONK,{
mes "[Buddy]";
mes "I don't know why you're here but please don't stand behind me unless you want to die.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "'Bruno' sent me here.";
next;
mes "[Buddy]";
mes "Ah! My colleague introduced me to you!";
mes "Anyway, why are you here to see me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I asked Bruno about her strength, and she recommended me to you.";
next;
mes "[Buddy]";
@@ -497,7 +497,7 @@ yuno_fild07,254,176,7 script Buddy#job_shu 4_M_MONK,{
end;
} else if (job_shu == 100) {
mes "[Buddy]";
- mes "Ah, long time no see, "+strcharinfo(0)+".";
+ mes "Ah, long time no see, "+strcharinfo(PC_NAME)+".";
mes "Are you here to meet my master?";
next;
switch(select("Yes", "No")) {
@@ -515,7 +515,7 @@ yuno_fild07,254,176,7 script Buddy#job_shu 4_M_MONK,{
}
}
mes "[Buddy]";
- mes strcharinfo(0)+", didn't you meet the master yet?";
+ mes strcharinfo(PC_NAME)+", didn't you meet the master yet?";
next;
mes "[Buddy]";
mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000";
@@ -702,7 +702,7 @@ OnEnable:
sword_1-1,222,169,5 script Bruno#job_shu 4_F_SURA,{
if (job_shu > 4) {
mes "[Bruno]";
- mes "Hey~ "+strcharinfo(0)+", what's up?";
+ mes "Hey~ "+strcharinfo(PC_NAME)+", what's up?";
next;
switch(select("Let's have conversation.", "Go outside.")) {
case 1:
@@ -794,14 +794,14 @@ sword_1-1,223,167,2 script Master#job_shu 4_M_SURA,{
mes "Master! This is a wolf fur coat.";
mes "Put it on when it's cold.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ahhk! That is the wolf I... caught... Uhh.";
next;
mes "- Whack -";
next;
mes "[Bruno]";
mes "Ho ho ho~";
- mes "Do you have something to say, "+strcharinfo(0)+"?";
+ mes "Do you have something to say, "+strcharinfo(PC_NAME)+"?";
mes "You became a member of our family, let's get along together ~";
next;
mes "[Master]";
diff --git a/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt
index 6f131f2bc..30449e2fa 100644
--- a/npc/re/jobs/3-2/wanderer.txt
+++ b/npc/re/jobs/3-2/wanderer.txt
@@ -237,7 +237,7 @@ xmas,132,143,5 script Performance Manager#wnd 4_M_06,{
}
if (.@loop) break;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I see that you are worried that the performance is going down the drain.";
mes "You wanted to make a successful performance to meet the fan's expectations.";
next;
@@ -250,7 +250,7 @@ xmas,132,143,5 script Performance Manager#wnd 4_M_06,{
mes "Why is <Nollio> taking this kind of attitude towards me?";
mes "Did I make any mistakes? After making a contract with them, I did everything they demanded of me!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's because...";
input .@inputstr$;
mes "^3131FF" + .@inputstr$ + "^000000";
@@ -382,7 +382,7 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
job_wan = 3;
close;
} else if (job_wan == 3) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Would it be possible for me to make him tell me what happened with Nollio?)";
next;
switch(select("Use Dazzler", "Use Lullaby", "Use Lucky Luck")) {
@@ -390,10 +390,10 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
if (getskilllv("DC_UGLYDANCE") == 5 || rand(100) >= 80) {
mes "- You get closer to Song's ear. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oi-!!!!!";
specialeffect EF_STUNATTACK;
next;
@@ -402,22 +402,22 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "You almost damaged my eardrum.";
emotion e_an;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, cheer up!!!";
next;
mes "[Guitar Song]";
mes "What are you talking about?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You should know, people are addicted to your music?";
mes "So many people are supporting you with anticipation.";
mes "Would you break your promise and let people down? Not giving people any reason?";
next;
} else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Okay-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Aaaaahhh!!!!!";
next;
mes "[Guitar Song]";
@@ -436,7 +436,7 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "- You cannot use this skill without learning it. -";
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Looks like I will not get answer even if I force him.";
close;
case 3:
@@ -445,43 +445,43 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
close;
}
emotion e_what,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, ah my Guitar Song~";
next;
mes "[Guitar Song]";
mes "What? I've got goose bumps.";
next;
emotion e_what,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I've been watching <Nollio> for years.";
next;
mes "[Guitar Song]";
mes "I know that we are that popular! Ha ha ha!";
next;
emotion e_what,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I've seen other Maestro's performances but there was no one better then Guitar Song.";
next;
mes "[Guitar Song]";
mes "He he he! Yes, I know I am super great!";
next;
emotion e_no1,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh... When I hear Guitar Song's performance for the first time I has a crush on you immediately.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It felt like hearing mommy's lullaby~ It was so beautiful and moving... You are the best artist of our time.";
next;
specialeffect EF_STEAL;
mes "[Guitar Song]";
mes "Ha ha ha. I know that well, but it feels good to hear a compliment from you!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So I was looking forward to seeing your performance in Lutie this time.";
mes "But after I heard the performance got cancelled, I felt so sad.";
next;
emotion e_sob,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now I can't hear Guitar Song's melody~~";
mes "I wanted to dance to your music like a beautiful butterfly.";
mes "Is there no way for my dream to be true now? Sob sob...";
@@ -490,11 +490,11 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "Huh huh! No, that is not...";
next;
emotion e_sob,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I am really happy to meet you in person, but I hope to see your performance in the beautiful snowy town, Lutie.. Sob sob...";
next;
emotion e_sob,1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why in the world don't you show us the performance, Guitar Song?";
mes "Don't you like me? Sob sob..";
next;
@@ -502,7 +502,7 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "[Guitar Song]";
mes "No, it's not that kind of reason!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Then please tell me, I really love your music... but now I feel so blue...";
emotion e_what;
next;
@@ -522,7 +522,7 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "[Guitar Song]";
mes "Pshaw.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why did she get mad so suddenly?";
next;
emotion e_swt;
@@ -531,7 +531,7 @@ comodo,140,86,5 script Cheerless Maestro 4_M_MINSTREL,{
mes "That's what she's like.";
mes "She suddenly disappeared and sent me a letter telling me that the team would be disbanded.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Where is Dancer Kim now?";
next;
mes "[Guitar Song]";
@@ -645,7 +645,7 @@ hu_in01,305,251,5 script Vacant Looking Lady#wnd 4_F_CAPEGIRL,{
mes "[Vacant Looking Lady]";
mes "Are you also ignoring my wounded self-respect as a woman?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No! He is really a caring man!";
mes "But I don't think you disbanded your precious team just because of that.";
next;
@@ -714,7 +714,7 @@ hu_in01,305,251,5 script Vacant Looking Lady#wnd 4_F_CAPEGIRL,{
mes "But in this situation...";
mes "Do I really have a way to change it?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Exercise is the best way!";
mes "If you work hard, your bossy will be lighter than before!";
next;
@@ -999,8 +999,8 @@ xmas,147,135,5 script Dancer Kim#xmas 4_F_WANDERER,{
mes "Introducing!";
next;
mes "[Dancer Kim]";
- mapannounce "xmas","Dancer Kim: Introducing the rising Wanderer! " + strcharinfo(0) + "!",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
- mes "This rising Wanderer star, " + strcharinfo(0) + "!";
+ mapannounce "xmas","Dancer Kim: Introducing the rising Wanderer! " + strcharinfo(PC_NAME) + "!",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ mes "This rising Wanderer star, " + strcharinfo(PC_NAME) + "!";
jobchange roclass(eaclass()|EAJL_THIRD);
job_wan = 10;
getitem Green_Apple_Ring,1;
@@ -1017,7 +1017,7 @@ xmas,147,135,5 script Dancer Kim#xmas 4_F_WANDERER,{
mes "The goddess must be jealous to see your beauty.";
next;
mes "[Dancer Kim]";
- mes "" + strcharinfo(0) + "! I hope to see your beautiful exploits in the future.";
+ mes "" + strcharinfo(PC_NAME) + "! I hope to see your beautiful exploits in the future.";
mes "Also, I hope you to meet your precious Maestro.";
mes "Let's perform together later, shall we? Ha ha.";
next;
diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt
index 0d8f3a7e2..bee91f382 100644
--- a/npc/re/jobs/novice/academy.txt
+++ b/npc/re/jobs/novice/academy.txt
@@ -9,8 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) 2015 Kisuka
+//= Copyright (C) 2015-2016 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -36,583 +37,761 @@
//= Teaches the player about the basics.
//= Also contains Novice skill quests for First Aid and Trick Dead.
//================= Current Version =======================================
-//= 1.0.1
+//= 1.1
//=========================================================================
-//== Captain Carocc (Ship) =================================
-iz_int,100,91,3 script Captain Carocc#iz_int 4_M_REINDEER,{
- if(Class == Job_Novice) {
- cutin "fly_trock", 2;
- if(!questprogress(7471)) {
- mes "[Captain Carocc]";
- mes "Had a good dream?";
- mes "Soon, we will get to ^4d4fffIzlude^000000";
- next;
- mes "[Captain Carocc]";
- mes "And you can talk to other people like you just talked to me.";
- next;
- cutin "tutorial01",3;
- mes "!- Information -!";
- mes "^4d4fffLeft mouse click allows basic game controls.";
- mes "Such as conversation with NPC, movement, and attacks.^000000";
- next;
- cutin "fly_trock",2;
- mes "[Captain Carocc]";
- mes "Many youngsters visit the ^4d4fffRune Midgard Kingdom^000000 to chase their dreams.";
- mes "Izlude is a satellite city of Prontera, the capital of the Rune Midgard Kingdom.";
- next;
- mes "[Captain Carocc]";
- mes "Izlude always welcomes young adventurers like you who have just started their journey to the World.";
- mes "You are one of them of course.";
- next;
- mes "[Captain Carocc]";
- mes "I would like to tell you more stories, but it's time to get ready for arrival.";
- mes "There is an academy in Izlude for newcomers like yourself.";
- next;
- mes "[Captain Carocc]";
- mes "Let me give you more details later.";
- mes "See you back at the harbor deck.";
- next;
- mes "[Captain Carocc]";
- mes "To get off this ship, you should enter the ^4d4fffShining Portal^000000 over there.";
- mes "All transportation is made through the portals.";
- setquest 7471;
- completequest 7471;
- close2;
- cutin "", 255;
- end;
- }
- mes "[Captain Carocc]";
- mes "Now, we are here in Izlude~";
- mes "Go through that ^4d4fffShining Portal^000000 and exit outside.";
- next;
- mes "[Captain Carocc]";
- mes "Let's talk more when we get off to the deck.";
- mes "There are lots of things I want to teach you.";
- close2;
- cutin "", 255;
+//== Starting Point (iz_int) =================================
+iz_int,18,26,0 script startpoint HIDDEN_WARP_NPC,1,1,{
+OnTouch:
+ if (!izintspawn) {
+ specialeffect2(EF_ANGEL3); // On official it is some kind of Poring Angel, but I can't find it
+ navigateto("int_land", NAV_NONE, 1); // individual map name not required
+ izintspawn = 1;
+ }
+ end;
+}
+iz_int01,18,27,0 duplicate(startpoint) startpoint#01 HIDDEN_WARP_NPC,1,1
+iz_int02,18,27,0 duplicate(startpoint) startpoint#02 HIDDEN_WARP_NPC,1,1
+iz_int03,18,27,0 duplicate(startpoint) startpoint#03 HIDDEN_WARP_NPC,1,1
+iz_int04,18,27,0 duplicate(startpoint) startpoint#04 HIDDEN_WARP_NPC,1,1
+
+//== Wounded Swordsman (iz_int) =================================
+iz_int,56,32,3 script Wounded Swordsman#izint 4_TOWER_01,8,8,{
+ if (!@display) {
+ classchange(4_TOWER_02, 0);
+ npctalk(_("Ohhhhhhh...."));
+ @display = 1;
end;
}
+ switch(questprogress(21001)) {
+ case 0:
+ mes("[Wounded]");
+ mes("Wow! Thank you a lot!");
+ mes("I don't know how this happend to our ship");
+ mes("but we should go to see the captain.");
+ next();
+ mes("[Wounded]");
+ mes("... ohh, it seems my body is injured too much.");
+ mes("Maybe you can go without me?");
+ next();
+ setquest(21001);
+ break;
+ case 1:
+ mes("[Wounded]");
+ mes("Luckily the water does not occupy the ship.");
+ mes("I wait here, you should go and see the captain.");
+ next();
+ mes("[Wounded]");
+ mes("I'm fine! I'm fine!");
+ mes("Don't worry about me, you should really go to the captain!");
+ next();
+ break;
+ case 2:
+ break;
+ }
+ cutin("tutorial02", 4);
+ mes("^4d4dff!- Information -!^000000");
+ mes("NPC Quest Received.");
+ mes("^4d4dffQuestinfo Shortcut is Alt + U^000000 You can check your quest status there anytime.");
+ close2();
+ cutin("", 255);
+ end;
+
+OnInit:
+ questinfo(21001, QTYPE_QUEST, 1, Job_Novice);
+ end;
+
+OnTouch_:
+ if (@cd + 15 > gettimetick(2))
+ end;
+ @cd = gettimetick(2);
+ npctalk(_("Urgh... please... help me..."));
+ sleep(7000);
+ npctalk(_("In order to talk with me.. click my body.."));
+ end;
+}
+
+iz_int01,56,32,3 duplicate(Wounded Swordsman#izint) Wounded Swordsman#izinta 4_TOWER_01,8,8
+iz_int02,56,32,3 duplicate(Wounded Swordsman#izint) Wounded Swordsman#izintb 4_TOWER_01,8,8
+iz_int03,56,32,3 duplicate(Wounded Swordsman#izint) Wounded Swordsman#izintc 4_TOWER_01,8,8
+iz_int04,56,32,3 duplicate(Wounded Swordsman#izint) Wounded Swordsman#izintd 4_TOWER_01,8,8
+
+int_land,58,69,5 script Sailor#int_land 4W_SAILOR,{
+ if (!questprogress(21002) || questprogress(21002) == 2) {
+ mes("[Sailor]");
+ mes("The ship is heading to Izlude soon~!");
+ mes("I'll let you know when we set sail~!");
+ close();
+ } else {
+ if (countitem(Wood) >= 2) {
+ delitem(Wood, countitem(Wood));
+ completequest(21002);
+ mes("[Sailor]");
+ mes("Unbelievable, perfect! Any chance you want to join my crew?");
+ mes("Enough talking!!");
+ mes("Come on, we're ready to set sails!");
+ mes("Thank you so much!");
+ next();
+ mes("[Sailor]");
+ mes("If you want to sail with us to Izlude, jump on board!");
+ getexp(600, 0);
+ specialeffect2(EF_HEAL2);
+ heal(9999, 0);
+ specialeffect2(EF_INCAGILITY);
+ sc_start(SC_INC_AGI, 240000, 10);
+ specialeffect2(EF_BLESSING);
+ sc_start(SC_BLESSING, 240000, 10);
+ next();
+ mes("[Sailor]");
+ mes("Oh, and take thos ^4d4dffMagnifier^000000.");
+ mes("When you hunt monsters you can find ^4d4dffunidentified items^000000.");
+ getitem(Spectacles, 5);
+ next();
+ mes("[Sailor]");
+ mes("Using a Magnifier will identify the item.");
+ next();
+ mes("[Sailor]");
+ mes("Maybe you have already some unidentified items from your fights with those porings?");
+ close();
+ }
+ mes("[Sailor]");
+ mes("These Porings stole my materials to repaid the ship. Do you help me to get them back?");
+ mes("There are plenty of Porings on this Island.");
+ next();
+ mes("[Sailor]");
+ mes("I really appreciate it if you help me.");
+ mes("Apparently I am not allowed to move or discover this island.");
+ mes("Thats why I ask you~");
+ close();
+ }
+
+OnInit:
+ questinfo(21002, QTYPE_QUEST, 1, Job_Novice);
+ end;
}
-iz_int01,100,91,3 duplicate(Captain Carocc#iz_int) Captain Carocc#iz_int01 4_M_REINDEER
-iz_int02,100,91,3 duplicate(Captain Carocc#iz_int) Captain Carocc#iz_int02 4_M_REINDEER
-iz_int03,100,91,3 duplicate(Captain Carocc#iz_int) Captain Carocc#iz_int03 4_M_REINDEER
-iz_int04,100,91,3 duplicate(Captain Carocc#iz_int) Captain Carocc#iz_int04 4_M_REINDEER
-
-//== Lumin (Ship) ==========================================
-iz_int,91,81,3 script Lumin#iz_int 4_M_NOV_RUMIN,{
- if(Class == Job_Novice) {
- if(!questprogress(7471)) {
- mes "[Lumin]";
- mes "............";
- mes "...?";
- next;
- cutin "fly_trock",2;
- mes "[Captain Carocc]";
- mes "Hey, you awake now?";
- mes "That fella without much talk, I rescued him from the ocean.";
- next;
- mes "[Captain Carocc]";
- mes "Think he lost his memory.";
- mes "I gave him a new name 'Lumin'. But, just call him Lu...";
- next;
- mes "[Captain Carocc]";
- mes "And you can talk to other people like you just talked to me.";
- next;
- cutin "tutorial01",3;
- mes "!- Information -!";
- mes "^4d4fffLeft mouse click allows basic game control.";
- mes "Such as conversation with NPC, movement, and attacks.^000000";
- next;
- cutin "fly_trock",2;
- mes "[Captain Carocc]";
- mes "Many youngsters visit the ^4d4fffRune Midgard Kingdom^000000 to chase their dreams.";
- mes "Izlude is a satellite city of Prontera, the capital of the Rune Midgard Kingdom.";
- next;
- mes "[Captain Carocc]";
- mes "Izlude always welcomes young adventurers like you who have just started their journey to the World.";
- mes "You are one of them of course.";
- next;
- mes "[Captain Carocc]";
- mes "I would like to tell you more stories, but it's time to get ready for arrival.";
- mes "There is an academy in Izlude for newcomers like yourself.";
- next;
- mes "[Captain Carocc]";
- mes "Let me give you more detail later.";
- mes "See you back at the harbor deck.";
- next;
- mes "[Captain Carocc]";
- mes "To get off this ship, you should enter the ^4d4fffShining Portal^000000 over there.";
- mes "All transportation is made through those portals.";
- setquest 7471;
- completequest 7471;
- next;
- cutin "nov_lumin01",0;
- mes "[Lumin]";
- mes "Yes.";
- next;
- cutin "fly_trock",2;
- mes "[Carocc]";
- mes "Oh, boy.";
- mes "What cute reaction.";
- close2;
- cutin "", 255;
+int_land01,58,69,5 duplicate(Sailor#int_land) Sailor#int_land01 4W_SAILOR
+int_land02,58,69,5 duplicate(Sailor#int_land) Sailor#int_land02 4W_SAILOR
+int_land03,58,69,5 duplicate(Sailor#int_land) Sailor#int_land03 4W_SAILOR
+int_land04,58,69,5 duplicate(Sailor#int_land) Sailor#int_land04 4W_SAILOR
+
+//== Captain Carocc (int_land) =================================
+int_land,78,103,5 script Captain Carocc#int_land 4_M_REINDEER,{
+ switch(questprogress(21002)) {
+ case 0:
+ mes("[Captain Carocc]");
+ mes("There are still people in the cabins?!");
+ mes("At least you are save.");
+ mes("Are you alright?");
+ next();
+ if (select("Im alright, but others need help.", "I think I am the last?") == 1) {
+ mes("[Captain Carocc]");
+ mes("There are more people left?");
+ mes("I will send a rescue team to them");
+ mes("Thank you for your report");
+ } else {
+ mes("[Captain Carocc]");
+ mes("Alright, thats good.");
+ mes("The storm came unexpected but I never thought it hit us that hard.");
+ }
+ next();
+ mes("[Captain Carocc]");
+ mes("At least, most people are already in safety.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Look at the trees there, ^4d4dfffollow them to the southwest^000000 to find a new ship.");
+ mes("The Ship will take you to ^4d4dffIzlude^000000, our original destination.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Ah! Speaking of it, those ^4d4dffPorings^000000 on this island drop several material we could need for reparation.");
+ next();
+ mes("[Captain Carocc]");
+ mes("^4d4dffKill the Porings and bring 2 Lumber to the southern crew^000000.");
+ next();
+ mes("[Captain Carocc]");
+ mes("It is hard, but you look tough enough for this task.");
+ if (questprogress(21001) == 1)
+ completequest(21001);
+ specialeffect2(EF_HEAL2);
+ heal(9999, 0);
+ specialeffect2(EF_INCAGILITY);
+ sc_start(SC_INC_AGI, 240000, 10);
+ specialeffect2(EF_BLESSING);
+ sc_start(SC_BLESSING, 240000, 10);
+ getexp(600, 0);
+ setquest(21002);
+ next();
+ mes("[Captain Carocc]");
+ mes("Speaking of Porings, you have to equip your gears.");
+ mes("You should have a^4d4dffweapon and an armor^000000 equipped.");
+ next();
+ cutin("tutorial03", 4);
+ mes("!- Information -!");
+ mes("^4d4dffYou can equip gear or use items by simply double click them.");
+ mes("Item window can be opened by pressing Alt + E or using the buttons.^000000");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dffEquipped Items can be seen by pressing ALT + Q.");
+ mes("Either double click or drag & drop them.^000000");
+ next();
+ cutin("", 255);
+ mes("[Captain Carocc]");
+ mes("Kill Porings and bring the Lumber to the crew.");
+ mes("Good Luck!");
+ close();
+ case 1:
+ mes("[Captain Carocc]");
+ specialeffect2(EF_HEAL2);
+ heal(9999, 0);
+ specialeffect2(EF_INCAGILITY);
+ sc_start(SC_INC_AGI, 240000, 10);
+ specialeffect2(EF_BLESSING);
+ sc_start(SC_BLESSING, 240000, 10);
+ mes("^4d4dffThe Ship^000000 anchored in the southwest. It will take you to Izlude.");
+ mes("Don't forget to ^4d4dffget some Lumber^000000 for the ship.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Wear your equipment.");
+ mes("Your knife is more helpful than fists.");
+ mes("Once you have the Lumber, talk to the crew.");
+ close();
+ case 3:
+ break;
+ }
+ mes("[Captain Carocc]");
+ mes("Everything is ready to sail over to Izlude.");
+ mes("The ship is located at the south-western part of the island.");
+ close();
+
+OnInit:
+ questinfo(21002, QTYPE_QUEST, 1, Job_Novice);
+ end;
+}
+
+int_land01,78,103,5 duplicate(Captain Carocc#int_land) Captain Carocc#iz_int01 4_M_REINDEER
+int_land02,78,103,5 duplicate(Captain Carocc#int_land) Captain Carocc#iz_int02 4_M_REINDEER
+int_land03,78,103,5 duplicate(Captain Carocc#int_land) Captain Carocc#iz_int03 4_M_REINDEER
+int_land04,78,103,5 duplicate(Captain Carocc#int_land) Captain Carocc#iz_int04 4_M_REINDEER
+
+//== Lumin (int_land) ==========================================
+int_land,73,100,3 script Lumin#iz_int 4_M_NOV_RUMIN,{
+ if (Class == Job_Novice) {
+ if (!questprogress(7471)) {
+ cutin("nov_lumin01", 0);
+ mes("[Lumin]");
+ mes("............");
+ mes("...?");
+ next();
+ cutin("fly_trock", 2);
+ mes("[Captain Carocc]");
+ mes("Hey, you awake now?");
+ mes("That fella without much talk, I rescued him from the ocean.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Think he lost his memory.");
+ mes("I gave him a new name 'Lumin'. But, just call him Lu...");
+ next();
+ mes("[Captain Carocc]");
+ mes("And you can talk to other people like you just talked to me.");
+ next();
+ cutin("tutorial01", 3);
+ mes("!- Information -!");
+ mes("^4d4fffLeft mouse click allows basic game control.");
+ mes("Such as conversation with NPC, movement, and attacks.^000000");
+ next();
+ cutin("fly_trock", 2);
+ mes("[Captain Carocc]");
+ mes("Many youngsters visit the ^4d4fffRune Midgard Kingdom^000000 to chase their dreams.");
+ mes("Izlude is a satellite city of Prontera, the capital of the Rune Midgard Kingdom.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Izlude always welcomes(young adventurers like you who have just started their journey to the World.");
+ mes("You are one of them of course.");
+ next();
+ mes("[Captain Carocc]");
+ mes("I would like to tell you more stories, but it's time to get ready for arrival.");
+ mes("There is an academy in Izlude for newcomers like yourself.");
+ next();
+ mes("[Captain Carocc]");
+ mes("Let me give you more detail later.");
+ mes("See you back at the harbor deck.");
+ next();
+ mes("[Captain Carocc]");
+ mes("To get off this Island, you should enter the ^4d4fffShining Portal^000000 on the ship.");
+ mes("All transportation is made through those portals.");
+ setquest(7471);
+ completequest(7471);
+ next();
+ cutin("nov_lumin01", 0);
+ mes("[Lumin]");
+ mes("Yes.");
+ next();
+ classchange(HIDDEN_WARP_NPC, 0);
+ cutin("fly_trock", 2);
+ mes("[Carocc]");
+ mes("Oh, boy.");
+ mes("What cute reaction.");
+ close2();
+ cutin("", 255);
end;
}
- cutin "nov_lumin01",0;
- mes "[Lumin]";
- mes ".....";
- next;
+ cutin("nov_lumin01", 0);
+ mes("[Lumin]");
+ mes(".....");
+ next();
select("Should I introduce myself?", "My name is ~!");
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+"!";
- next;
- mes "[Lu]";
- mes ".....";
- next;
- mes "[Lu]";
- mes ".....";
- mes "....So?";
- next;
- mes "- Lu just walked away with a cynical look on his face.";
- next;
- cutin "fly_trock",2;
- mes "[Carocc]";
- mes "He's just shy, you know.";
- mes "You will see him again in Izlude, be good to him please.";
- next;
- mes "[Carocc]";
- mes "From now on, I'll be driving this ship around Izlude.";
- mes "Let's go, shall we?";
- close2;
- cutin "", 255;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("I am %s!", strcharinfo(PC_NAME));
+ next();
+ mes("[Lu]");
+ mes(".....");
+ next();
+ mes("[Lu]");
+ mes(".....");
+ mes("....So?");
+ next();
+ classchange(HIDDEN_WARP_NPC, 0);
+ mes("- Lu just walked away with a cynical look on his face.");
+ next();
+ cutin("fly_trock", 2);
+ mes("[Carocc]");
+ mes("He's just shy, you know.");
+ mes("You will see him again in Izlude, be good to him please.");
+ next();
+ mes("[Carocc]");
+ mes("From now on, I'll be driving this ship around Izlude.");
+ mes("Let's go, shall we?");
+ close2();
+ cutin("", 255);
end;
}
+OnInit:
+ questinfo(7471, QTYPE_QUEST, 1, Job_Novice);
+ end;
}
-iz_int01,91,81,3 duplicate(Lumin#iz_int) Lumin#iz_int01 4_M_NOV_RUMIN
-iz_int02,91,81,3 duplicate(Lumin#iz_int) Lumin#iz_int02 4_M_NOV_RUMIN
-iz_int03,91,81,3 duplicate(Lumin#iz_int) Lumin#iz_int03 4_M_NOV_RUMIN
-iz_int04,91,81,3 duplicate(Lumin#iz_int) Lumin#iz_int04 4_M_NOV_RUMIN
+int_land01,73,100,3 duplicate(Lumin#iz_int) Lumin#iz_int01 4_M_NOV_RUMIN
+int_land02,73,100,3 duplicate(Lumin#iz_int) Lumin#iz_int02 4_M_NOV_RUMIN
+int_land03,73,100,3 duplicate(Lumin#iz_int) Lumin#iz_int03 4_M_NOV_RUMIN
+int_land04,73,100,3 duplicate(Lumin#iz_int) Lumin#iz_int04 4_M_NOV_RUMIN
//== Captain Carocc ========================================
izlude,198,213,3 script Captain Carocc#iz 4_M_REINDEER,5,5,{
- cutin "fly_trock.bmp", 2;
+ cutin("fly_trock", 2);
if (Class == Job_Novice && BaseLevel < 15) {
if (questprogress(4269) == 2) {
if (questprogress(7471) == 2 || questprogress(7472) > 0) {
- mes "[Carocc]";
- mes "Oh, "+strcharinfo(0)+"!";
- mes "Why are you here at the wharf?";
- mes "I guess you are doing well at the academy.";
- next;
- mes "[Carocc]";
- mes "I'm going to be docking and reparing the ship here for a while.";
- mes "I will be taking the same route I tried before.";
- next;
+ mes("[Carocc]");
+ mesf("Oh, %s!", strcharinfo(PC_NAME));
+ mes("Why are you here at the wharf?");
+ mes("I guess you are doing well at the academy.");
+ next();
+ mes("[Carocc]");
+ mes("I'm going to be docking and reparing the ship here for a while.");
+ mes("I will be taking the same route I tried before.");
+ next();
} else {
- mes "[Carocc]";
- mes "Hmm? You must be a student of the Criatura Academy?";
- mes "Were you on my ship?";
- mes "Hmm I can't remember.";
- next;
- mes "[Carocc]";
- mes "Well, anything is fine.";
- mes "Shall I go easy on you since you said you were a student of the Academy?";
- mes "I am still the captain of the ship, regardless.";
- next;
+ mes("[Carocc]");
+ mes("Hmm? You must be a student of the Criatura Academy?");
+ mes("Were you on my ship?");
+ mes("Hmm I can't remember.");
+ next();
+ mes("[Carocc]");
+ mes("Well, anything is fine.");
+ mes("Shall I go easy on you since you said you were a student of the Academy?");
+ mes("I am still the captain of the ship, regardless.");
+ next();
}
- mes "[Carocc]";
- mes "I plan on taking off as soon as the repairs are complete.";
- mes "The route will open with ^4d4dffPharos Lighthouse^000000 by then.";
- close;
+ mes("[Carocc]");
+ mes("I plan on taking off as soon as the repairs are complete.");
+ mes("The route will open with ^4d4dffPharos Lighthouse^000000 by then.");
+ close();
} else {
if (questprogress(7471) == 2) {
if (!questprogress(7472)) {
- mes "[Carocc]";
- mes "This is Izlude.";
- mes "The best city for you to take wings to your dreams.";
- next;
- mes "[Carocc]";
- mes "Although I don't have any particular feelings for you,";
- mes "I've seen a lot of young people like you, while operating the ship.";
- next;
- mes "[Carocc]";
- mes "There were those among them who succeeded and failed and went back after being unable to adjust.";
- mes "I want you to have a successful start with this place.";
- next;
- mes "[Carocc]";
- mes "Did you know this?";
- mes "Izlude has a new Institute for budding adventurers like you!";
- next;
+ mes("[Carocc]");
+ mes("This is Izlude.");
+ mes("The best city for you to take wings to your dreams.");
+ next();
+ mes("[Carocc]");
+ mes("Although I don't have any particular feelings for you,");
+ mes("I've seen a lot of young people like you, while operating the ship.");
+ next();
+ mes("[Carocc]");
+ mes("There were those among them who succeeded and failed and went back after being unable to adjust.");
+ mes("I want you to have a successful start with this place.");
+ next();
+ mes("[Carocc]");
+ mes("Did you know this?");
+ mes("Izlude has a new Institute for budding adventurers like you!");
+ next();
select("You mean the Academy?");
- mes "[Carocc]";
- mes "Yes! It's called the ^4d4dffRoyal Criatura Academy^000000.";
- mes "Founded by the Rune Midgard lineage to help out new adventurers.";
- next;
- mes "[Carocc]";
- mes "A friend of mine works there, so I 'll give you the introduction to him.";
- mes "He could make a lot of things easier for you.";
- next;
- mes "[Carocc]";
- mes "He usually talks to new adventurers near the entrance of the academy.";
- mes "Go and meet him there.";
- next;
+ mes("[Carocc]");
+ mes("Yes! It's called the ^4d4dffRoyal Criatura Academy^000000.");
+ mes("Founded by the Rune Midgard lineage to help out new adventurers.");
+ next();
+ mes("[Carocc]");
+ mes("A friend of mine works there, so I 'll give you the introduction to him.");
+ mes("He could make a lot of things easier for you.");
+ next();
+ mes("[Carocc]");
+ mes("He usually talks to new adventurers near the entrance of the academy.");
+ mes("Go and meet him there.");
+ next();
if (!questprogress(7473)) {
- mes "[Carocc]";
- mes "His name is ^4d4dffHun^000000";
- mes "I will mark his spot on the map so go to see him.";
- setquest 7472;
- viewpoint 1,122,207,0,0x4d4dff;
- next;
- mes "!- Information -!";
- mes "The ^4d4dffMini map can be seen on the right top of the screen.";
- mes "You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000";
- next;
- cutin "tutorial02.bmp", 4;
- mes "!- Information -!";
- mes "Received a Quest from ^4d4dff Captain Carocc.";
- mes "The quest content can be checked from the quest window.";
- next;
- mes "!- Information -!";
- mes "Quest window can be opened by pressing ^4d4dffAlt + u^000000 keys together.";
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI>here";
- mes "Yes, the part that says 'Hun'.";
- next;
- mes "!- Information -!";
- mes "^4d4dffThe icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means a link to navigation directions.";
- cutin "navi01.bmp", 4;
- next;
- mes "!- Information -!";
- mes "If you press info after selecting a task in the objectives^4d4dff,";
- mes "an arrow pointing to the location of the objective will pop up along with the navigation help.";
- cutin "navi02.bmp", 4;
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "Anyway, my friend will help you register with the academy";
- mes "I hope it can help you for your future.";
- close;
+ mes("[Carocc]");
+ mes("His name is ^4d4dffHun^000000");
+ mes("I will mark his spot on the map so go to see him.");
+ setquest(7472);
+ viewpoint 1, 122, 207, 0, 0x4d4dff;
+ next();
+ mes("!- Information -!");
+ mes("The ^4d4dffMini map can be seen on the right top of the screen.");
+ mes("You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000");
+ next();
+ cutin("tutorial02", 4);
+ mes("!- Information -!");
+ mes("Received a Quest from ^4d4dff Captain Carocc.");
+ mes("The quest content can be checked from the quest window.");
+ next();
+ mes("!- Information -!");
+ mes("Quest window can be opened by pressing ^4d4dffAlt + u^000000 keys together.");
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI>here");
+ mes("Yes, the part that says 'Hun'.");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dffThe icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means a link to navigation directions.");
+ cutin("navi01", 4);
+ next();
+ mes("!- Information -!");
+ mes("If you press info after selecting a task in the objectives^4d4dff,");
+ mes("an arrow pointing to the location of the objective will pop up along with the navigation help.");
+ cutin("navi02", 4);
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("Anyway, my friend will help you register with the academy");
+ mes("I hope it can help you for your future.");
+ close();
} else {
select("I know who you're talking about.");
- mes "[Carocc]";
- mes "Then there's no worry.";
- mes "He'll introduce you to the academy.";
- next;
- mes "[Carocc]";
- mes "OK. I will show you the direction. You try it again.";
- mes "By the way, did I tell you his name? His name is ^4d4dffHun^000000";
- viewpoint 1,122,207,1,0x4d4dff;
- next;
- mes "!- Information -!";
- mes "^4d4dff Mini map can be seen on the right top of the screen.";
- mes "You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000";
- next;
- mes "[Carocc]";
- mes "If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here";
- mes "Yes, the part that says [Hun].";
- next;
- mes "!- Information -!";
- mes "^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means";
- mes "a link to navigation directions.";
- cutin "navi01.bmp", 4;
- next;
- mes "!- Information -!";
- mes "If you press info after selecting a task in the objectives^4d4dff,";
- mes "an arrow pointing to the location of the objective will pop up along with navigation help";
- cutin "navi02.bmp", 4;
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "Anyway, my friend will help you register with the academy";
- mes "I hope it will help you out in your journey";
- close;
+ mes("[Carocc]");
+ mes("Then there's no worry.");
+ mes("He'll introduce you to the academy.");
+ next();
+ mes("[Carocc]");
+ mes("OK. I will show you the direction. You try it again.");
+ mes("By the way, did I tell you his name? His name is ^4d4dffHun^000000");
+ viewpoint 1, 122, 207, 1, 0x4d4dff;
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff Mini map can be seen on the right top of the screen.");
+ mes("You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000");
+ next();
+ mes("[Carocc]");
+ mes("If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here");
+ mes("Yes, the part that says [Hun].");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means");
+ mes("a link to navigation directions.");
+ cutin("navi01", 4);
+ next();
+ mes("!- Information -!");
+ mes("If you press info after selecting a task in the objectives^4d4dff,");
+ mes("an arrow pointing to the location of the objective will pop up along with navigation help");
+ cutin("navi02", 4);
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("Anyway, my friend will help you register with the academy");
+ mes("I hope it will help you out in your journey");
+ close();
}
} else if (questprogress(7472) == 1) {
- mes "[Carocc]";
- mes "If you want, you can step forward to the world right away.";
- mes "However, I recommend you visit the Academy first.";
- next;
- mes "[Carocc]";
- mes "The world is a lonely place to be alone.";
- mes "The Academy has people you can make as lifetime companions.";
- next;
- mes "[Carocc]";
- mes "My friend Hun will be around the academy entrance.";
- mes "If you don't know the way I'll point it out to you again.";
- viewpoint 1,122,207,0,0x4d4dff;
- next;
- mes "[Carocc]";
- mes "If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI>here";
- mes "Yes, the part that says ''Hun''.";
- next;
- mes "!- Information -!";
- mes "^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means";
- mes "a link to navigation directions.";
- cutin "navi01.bmp", 4;
- next;
- mes "!- Information -!";
- mes "If you press info after selecting a task in the objectives^4d4dff,";
- mes "an arrow pointing to the location of the objective will pop up along with navigation help.";
- cutin "navi02.bmp", 4;
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "Anyway, my friend will help you register with the academy.";
- mes "I hope it will help you out in your journey.";
- close;
+ mes("[Carocc]");
+ mes("If you want, you can step forward to the world right away.");
+ mes("However, I recommend you visit the Academy first.");
+ next();
+ mes("[Carocc]");
+ mes("The world is a lonely place to be alone.");
+ mes("The Academy has people you can make as lifetime companions.");
+ next();
+ mes("[Carocc]");
+ mes("My friend Hun will be around the academy entrance.");
+ mes("If you don't know the way I'll point it out to you again.");
+ viewpoint 1, 122, 207, 0, 0x4d4dff;
+ next();
+ mes("[Carocc]");
+ mes("If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI>here");
+ mes("Yes, the part that says ''Hun''.");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means");
+ mes("a link to navigation directions.");
+ cutin("navi01", 4);
+ next();
+ mes("!- Information -!");
+ mes("If you press info after selecting a task in the objectives^4d4dff,");
+ mes("an arrow pointing to the location of the objective will pop up along with navigation help.");
+ cutin("navi02", 4);
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("Anyway, my friend will help you register with the academy.");
+ mes("I hope it will help you out in your journey.");
+ close();
} else {
- mes "[Carocc]";
- mes "Oh, " + strcharinfo(0) + "!";
- mes "Still being dilligent?";
- mes "I've been busy, also.";
- mes "I was reparing the ship.";
- next;
- mes "[Carocc]";
- mes "I'll be taking off as soon as the repairs are complete.";
- mes "At that time, the sailing route to ^4d4dffPharos lighthouse ^000000 will be opened.";
- mes "Be excited for it.";
- close;
+ mes("[Carocc]");
+ mesf("Oh, %s!", strcharinfo(PC_NAME));
+ mes("Still being dilligent?");
+ mes("I've been busy, also.");
+ mes("I was reparing the ship.");
+ next();
+ mes("[Carocc]");
+ mes("I'll be taking off as soon as the repairs are complete.");
+ mes("At that time, the sailing route to ^4d4dffPharos lighthouse ^000000 will be opened.");
+ mes("Be excited for it.");
+ close();
}
} else {
if (!questprogress(7472)) {
- mes "[Carocc]";
- mes "Hello?";
- mes "Is it your first time on Izlude?";
- next;
+ mes("[Carocc]");
+ mes("Hello?");
+ mes("Is it your first time on Izlude?");
+ next();
switch(select("Hello?", "Let me get on the ship!", "I don't know what to do.")) {
case 1:
- mes "[Carocc]";
- mes "You look strong and able!";
- mes "I like able people like you!";
- mes "Always be healthy and strong as you are now.";
- close;
+ mes("[Carocc]");
+ mes("You look strong and able!");
+ mes("I like able people like you!");
+ mes("Always be healthy and strong as you are now.");
+ close();
case 2:
- mes "[Carocc]";
- mes "I usually travel to ^4d4dffPharos Lighthouse^000000.";
- mes "But I'm resting up due to some problems.";
- next;
- mes "[Carocc]";
- mes "If it's Alberta or Byalan Island, talk to the next sailor.";
- close;
+ mes("[Carocc]");
+ mes("I usually travel to ^4d4dffPharos Lighthouse^000000.");
+ mes("But I'm resting up due to some problems.");
+ next();
+ mes("[Carocc]");
+ mes("If it's Alberta or Byalan Island, talk to the next sailor.");
+ close();
case 3:
- mes "[Carocc]";
- mes "Hmm? You said you didn't know what to do.";
- mes "Since you're at Izlude, why don't you visit ^4d4dffCriatura Academy^000000?";
- next;
- mes "[Carocc]";;
- mes "Izlude has the Institute for budding adventurers like you";
- mes "A friend of mine works there, so I'll give you the introduction to him.";
- next;
- mes "[Carocc]";
- mes "He ususally talks to new adventurers near the entrance of an academy.";
- mes "Go and meet him personally.";
- next;
+ mes("[Carocc]");
+ mes("Hmm? You said you didn't know what to do.");
+ mes("Since you're at Izlude, why don't you visit ^4d4dffCriatura Academy^000000?");
+ next();
+ mes("[Carocc]");;
+ mes("Izlude has the Institute for budding adventurers like you");
+ mes("A friend of mine works there, so I'll give you the introduction to him.");
+ next();
+ mes("[Carocc]");
+ mes("He ususally talks to new adventurers near the entrance of an academy.");
+ mes("Go and meet him personally.");
+ next();
if (!questprogress(7473)) {
- mes "[Carocc]";
- mes "His name is ^4d4dffHun^000000";
- mes "I will mark his location on the map so go to see him.";
- setquest 7472;
- viewpoint 1,122,207,0,0x4d4dff;
- next;
- mes "!- Information -!";
- mes "^4d4dff Mini map can be seen on the right top of the screen.";
- mes "You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000";
- next;
- mes "!- Information -!";
- mes "Received a Quest from ^4d4dffCaptain Carocc.";
- mes "Contents of your Quest can be monitored on the Quest information window.";
- next;
- mes "!- Information -!";
- mes "Quest window can be opened by pressing the ^4d4dffAlt + u^000000 key.";
- next;
- mes "[Carocc]";
- mes "If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here";
- mes "Yes, the part that says [Hun].";
- next;
- mes "!- Information -!";
- mes "^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means";
- mes "a link to navigation directions.";
- cutin "navi01.bmp", 4;
- next;
- mes "!- Information -!";
- mes "If you press info after selecting a task in the objectives^4d4dff,";
- mes "an arrow pointing to the location of the objective will pop up along with navigation help";
- cutin "navi02.bmp", 4;
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "Anyway, my friend will help you register with the academy";
- mes "I hope it will help you out in your journey";
- close;
+ mes("[Carocc]");
+ mes("His name is ^4d4dffHun^000000");
+ mes("I will mark his location on the map so go to see him.");
+ setquest(7472);
+ viewpoint 1, 122, 207, 0, 0x4d4dff;
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff Mini map can be seen on the right top of the screen.");
+ mes("You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000");
+ next();
+ mes("!- Information -!");
+ mes("Received a Quest from ^4d4dffCaptain Carocc.");
+ mes("Contents of your Quest can be monitored on the Quest information window.");
+ next();
+ mes("!- Information -!");
+ mes("Quest window can be opened by pressing the ^4d4dffAlt + u^000000 key.");
+ next();
+ mes("[Carocc]");
+ mes("If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here");
+ mes("Yes, the part that says [Hun].");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means");
+ mes("a link to navigation directions.");
+ cutin("navi01", 4);
+ next();
+ mes("!- Information -!");
+ mes("If you press info after selecting a task in the objectives^4d4dff,");
+ mes("an arrow pointing to the location of the objective will pop up along with navigation help");
+ cutin("navi02", 4);
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("Anyway, my friend will help you register with the academy");
+ mes("I hope it will help you out in your journey");
+ close();
} else {
select("I know who you're talking about.");
- mes "[Carocc]";
- mes "Then there's no worry.";
- mes "He'll introduce you to the academy.";
- next;
- mes "[Carocc]";
- mes "OK. I will show you the direction. You try it again.";
- mes "By the way, did I tell you his name? His name is ^4d4dffHun^000000";
- viewpoint 1,122,207,1,0x4d4dff;
- next;
- mes "!- Information -!";
- mes "^4d4dff Mini map can be seen on the right top of the screen.";
- mes "You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000";
- next;
- mes "[Carocc]";
- mes "If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here";
- mes "Yes, the part that says [Hun].";
- next;
- mes "!- Information -!";
- mes "^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means";
- mes "a link to navigation directions.";
- cutin "navi01.bmp", 4;
- next;
- mes "!- Information -!";
- mes "If you press info after selecting a task in the objectives^4d4dff,";
- mes "an arrow pointing to the location of the objective will pop up along with navigation help";
- cutin "navi02.bmp", 4;
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "Anyway, my friend will help you register with the academy";
- mes "I hope it will help you out in your journey";
- close;
+ mes("[Carocc]");
+ mes("Then there's no worry.");
+ mes("He'll introduce you to the academy.");
+ next();
+ mes("[Carocc]");
+ mes("OK. I will show you the direction. You try it again.");
+ mes("By the way, did I tell you his name? His name is ^4d4dffHun^000000");
+ viewpoint 1, 122, 207, 1, 0x4d4dff;
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff Mini map can be seen on the right top of the screen.");
+ mes("You can zoom in with +, zoom out with -. The waypoint from the NPC will be marked on it. ^000000");
+ next();
+ mes("[Carocc]");
+ mes("If you need more help with the map, press <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> here");
+ mes("Yes, the part that says [Hun].");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff the icon during talk <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> means");
+ mes("a link to navigation directions.");
+ cutin("navi01", 4);
+ next();
+ mes("!- Information -!");
+ mes("If you press info after selecting a task in the objectives^4d4dff,");
+ mes("an arrow pointing to the location of the objective will pop up along with navigation help");
+ cutin("navi02", 4);
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("Anyway, my friend will help you register with the academy");
+ mes("I hope it will help you out in your journey");
+ close();
}
}
} else if (questprogress(7472) == 1) {
- mes "[Carocc]";
- mes "Ah, it's you.";
- mes "This guy has also decided to register at Criatura Academy.";
- mes "This might be a good destiny for you. Hope you and him can be good friends.";
- next;
- cutin "nov_lumin01.bmp", 0;
- mes "[Lumin]";
- mes ".........";
- next;
- cutin "", 255;
- mes "[Carocc]";
- mes "If you want, you can step forward to the world right away.";
- mes "However, I recommend you visit the Academy first.";
- next;
- mes "[Carocc]";
- mes "The world is a lonely place to be alone.";
- mes "The Academy has people you could make into lifetime companions.";
- next;
- mes "[Carocc]";
- mes "My friend <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> will be around the academy entrance.";
- mes "If you don't know the way I'll point it out to you again.";
- viewpoint 1,122,207,1,0x4d4dff;
- next;
- mes "[Carocc]";
- mes "then, Good luck!";
- close;
+ mes("[Carocc]");
+ mes("Ah, it's you.");
+ mes("This guy has also decided to register at Criatura Academy.");
+ mes("This might be a good destiny for you. Hope you and him can be good friends.");
+ next();
+ cutin("nov_lumin01", 0);
+ mes("[Lumin]");
+ mes(".........");
+ next();
+ cutin("", 255);
+ mes("[Carocc]");
+ mes("If you want, you can step forward to the world right away.");
+ mes("However, I recommend you visit the Academy first.");
+ next();
+ mes("[Carocc]");
+ mes("The world is a lonely place to be alone.");
+ mes("The Academy has people you could make into lifetime companions.");
+ next();
+ mes("[Carocc]");
+ mes("My friend <NAVI>[Hun]<INFO>izlude,122,207</INFO></NAVI> will be around the academy entrance.");
+ mes("If you don't know the way I'll point it out to you again.");
+ viewpoint 1, 122, 207, 1, 0x4d4dff;
+ next();
+ mes("[Carocc]");
+ mes("then, Good luck!");
+ close();
} else {
- mes "[Carocc]";
- mes "Oh, We meet again.";
- mes "Do you by any chance need a ship?";
- mes "I usually travel to the port in Paros.";
- mes "If you need to go to Paros later, come see me.";
- close;
+ mes("[Carocc]");
+ mes("Oh, We meet again.");
+ mes("Do you by any chance need a ship?");
+ mes("I usually travel to the port in Paros.");
+ mes("If you need to go to Paros later, come see me.");
+ close();
}
}
}
} else {
if (questprogress(7471) == 2 || questprogress(7472) > 0) {
- mes "[Carocc]";
- mes "It's been a while!";
- mes "Looking at your expression, you must be doing well.";
- next;
+ mes("[Carocc]");
+ mes("It's been a while!");
+ mes("Looking at your expression, you must be doing well.");
+ next();
switch(select("Take me to Pharos Lighthouse", "To Alberta", "Talk")) {
case 1:
- mes "[Carocc]";
- mes "Do you want to go to Pharos Lighthouse on the southern coast of Morocc?";
- mes "The fee is 2800 zeny. I have a crew that needs payment so this fee is non-negotiable.";
- next;
- if(select("To Pharos Lighthouse!", "Cancel") == 1) {
+ mes("[Carocc]");
+ mes("Do you want to go to Pharos Lighthouse on the southern coast of Morocc?");
+ mes("The fee is 2800 zeny. I have a crew that needs payment so this fee is non-negotiable.");
+ next();
+ if (select("To Pharos Lighthouse!", "Cancel") == 1) {
if (Zeny > 2799) {
- mes "[Carocc]";
- mes "Let us travel with the wing in our hair.";
+ mes("[Carocc]");
+ mes("Let us travel with the wing in our hair.");
Zeny -= 2800;
- close2;
- cutin "", 255;
- warp "cmd_fild07", 92, 129;
+ close2();
+ cutin("", 255);
+ warp("cmd_fild07", 92, 129);
end;
} else {
- mes "[Carocc]";
- mes "Sorry but you are short of the boarding fee.";
- mes "I need 2800z to operate.";
- close;
+ mes("[Carocc]");
+ mes("Sorry but you are short of the boarding fee.");
+ mes("I need 2800z to operate.");
+ close();
}
}
- mes "[Carocc]";
- mes "OK.";
- mes "Do you know this, by the way?";
- mes "^4d4dffThere's a Rogue hideout at Pharos Lighthouse^000000.";
- mes "You already knew this?";
- close;
+ mes("[Carocc]");
+ mes("OK.");
+ mes("Do you know this, by the way?");
+ mes("^4d4dffThere's a Rogue hideout at Pharos Lighthouse^000000.");
+ mes("You already knew this?");
+ close();
case 2:
- mes "[Carocc]";
- mes "I thought you knew that I only go to Pharos?";
- mes "Ask the sailor over there, he's the one that goes there frequently.";
- next;
- mes "[Carocc]";
- mes "There are plenty of other ships that travel to Alberta and Byalan Islands.";
- close;
+ mes("[Carocc]");
+ mes("I thought you knew that I only go to Pharos?");
+ mes("Ask the sailor over there, he's the one that goes there frequently.");
+ next();
+ mes("[Carocc]");
+ mes("There are plenty of other ships that travel to Alberta and Byalan Islands.");
+ close();
case 3:
- mes "[Carocc]";
- mes "Hmm. I'm content with the well being of you and other adventurers who passed me by.";
- next;
- mes "[Carocc]";
- mes "Lumin must be doing well too.";
- mes "I wonder why you feel like my own child even though we've only met from the sea.";
- close;
+ mes("[Carocc]");
+ mes("Hmm. I'm content with the well being of you and other adventurers who passed me by.");
+ next();
+ mes("[Carocc]");
+ mes("Lumin must be doing well too.");
+ mes("I wonder why you feel like my own child even though we've only met from the sea.");
+ close();
}
} else {
- mes "[Carocc]";
- mes "I am Carocc, the caption of this ship.";
- mes "Do you need a ship?";
- next;
- if(select("Pharos Lighthouse - 2800z", "Don't need it.") == 1) {
+ mes("[Carocc]");
+ mes("I am Carocc, the caption of this ship.");
+ mes("Do you need a ship?");
+ next();
+ if (select("Pharos Lighthouse - 2800z", "Don't need it.") == 1) {
if (Zeny > 2799) {
- mes "[Carocc]";
- mes "Let us travel with the wind in our hair.";
+ mes("[Carocc]");
+ mes("Let us travel with the wind in our hair.");
Zeny -= 2800;
- close2;
- cutin "", 255;
- warp "cmd_fild07", 92, 129;
+ close2();
+ cutin("", 255);
+ warp("cmd_fild07", 92, 129);
end;
} else {
- mes "[Carocc]";
- mes "Sorry but you are short of the boarding fee.";
- mes "I need 2800z to operate.";
- close;
+ mes("[Carocc]");
+ mes("Sorry but you are short of the boarding fee.");
+ mes("I need 2800z to operate.");
+ close();
}
}
- mes "[Carocc]";
- mes "Then use it next time.";
- close;
+ mes("[Carocc]");
+ mes("Then use it next time.");
+ close();
}
}
- cutin "", 255;
+ cutin("", 255);
end;
OnInit:
- questinfo 7472, QTYPE_QUEST, 1, Job_Novice;
- //SetQuestLevel 7472 1 14
+ questinfo(7472, QTYPE_QUEST, 1, Job_Novice);
+ //setquestLevel 7472 1 14
//SetQuestQuest 7472 7473 0
end;
OnTouch:
if (Class == Job_Novice && BaseLevel < 15 && !questprogress(4269))
- emotion e_gasp;
+ emotion(e_gasp);
else
- emotion e_heh;
+ emotion(e_heh);
end;
}
@@ -625,314 +804,314 @@ izlude_d,198,213,3 duplicate(Captain Carocc#iz) Captain Carocc#iz_d 4_M_REINDEER
// - Teaches the player about the Inventory.
izlude,122,207,3 script Criatura Academy Staff#0 4_M_KHKYEL,3,3,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Quest cannot be continued due to the overfilled inventory.";
- mes "Continue the quest after organizing the inventory.";
- close;
+ mes("Quest cannot be continued due to the overfilled inventory.");
+ mes("Continue the quest after organizing the inventory.");
+ close();
}
- viewpoint 2,122,207,1,0xFFFFFF;
+ viewpoint 2, 122, 207, 1, 0xFFFFFF;
if (Class == Job_Novice && BaseLevel < 15) {
if (questprogress(7472) == 1) {
- mes "[Hun]";
- mes "Oh.. you must be the adventurer Carocc was talking about.";
- mes "I don't know where your homeland is but Midgard is a good place to start your life's journey.";
- next;
- mes "[Hun]";
- mes "It's a good sight to see new adventurers start their journey.";
- mes "You must be tired. Need a drink?";
- completequest 7472;
- getexp 200, 0;
- setquest 7473;
- getitem Apple_Juice, 1; // Apple_Juice
- next;
- mes "[Hun]";
- mes "You can open the Item window by clicking on the 'item' icon on top left portion of the screen.";
- next;
- mes "[Hun]";
- mes "The items are automatically catagorized by 'consumables' 'equipment' 'etcetera' and 'personal' suitable for each use.";
- mes "It will do the automatic sorting per indiviaul useage to";
- next;
- mes "[Hun]";
- mes "Either ^4d4dff double click on the item^000000 you intend to use";
- mes "or drag it onto^4d4dff the equipment window and use it^000000";
- next;
- cutin "tutorial03.bmp", 4;
- mes "!- Information -!";
- mes "^4d4dffItems can be used or equipped with simply double-clicking.";
- mes "Item window can be opened with shortcut key Alt+E";
- next;
- mes "!- Information -!";
- mes "^4d4dff Equipped items can be checked with Alt+ Q";
- mes "Items can also be dragged onto the location where you wish to equip it.";
- next;
- cutin "", 255;
- mes "[Hun]";
- mes "For detailed info on individual items^4d4dff, right click ^000000 on that item.";
- mes "You can check the detailed info on the item.";
- next;
- cutin "tutorial04.bmp", 4;
- mes "!- Information -!";
- mes "^4d4dffRight-clicking on the item icon^4d4dff brings up detailed info on the item.";
- next;
- mes "!- Information -!";
- mes "^4d4dffWhen you select other players, you can trade, party up with them with the community window that pops up.";
- next;
- cutin "", 255;
- mes "[Hun]";
- mes "Ok now ^4d4dffdrink the apple juice that I gave you^000000.";
- close;
+ mes("[Hun]");
+ mes("Oh.. you must be the adventurer Carocc was talking about.");
+ mes("I don't know where your homeland is but Midgard is a good place to start your life's journey.");
+ next();
+ mes("[Hun]");
+ mes("It's a good sight to see new adventurers start their journey.");
+ mes("You must be tired. Need a drink?");
+ completequest(7472);
+ getexp(200, 0);
+ setquest(7473);
+ getitem(Apple_Juice, 1); // Apple_Juice
+ next();
+ mes("[Hun]");
+ mes("You can open the Item window by clicking on the 'item' icon on top left portion of the screen.");
+ next();
+ mes("[Hun]");
+ mes("The items are automatically catagorized by 'consumables' 'equipment' 'etcetera' and 'personal' suitable for each use.");
+ mes("It will do the automatic sorting per indiviaul useage to");
+ next();
+ mes("[Hun]");
+ mes("Either ^4d4dff double click on the item^000000 you intend to use");
+ mes("or drag it onto^4d4dff the equipment window and use it^000000");
+ next();
+ cutin("tutorial03", 4);
+ mes("!- Information -!");
+ mes("^4d4dffItems can be used or equipped with simply double-clicking.");
+ mes("Item window can be opened with shortcut key Alt+E");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff Equipped items can be checked with Alt+ Q");
+ mes("Items can also be dragged onto the location where you wish to equip it.");
+ next();
+ cutin("", 255);
+ mes("[Hun]");
+ mes("For detailed info on individual items^4d4dff, right click ^000000 on that item.");
+ mes("You can check the detailed info on the item.");
+ next();
+ cutin("tutorial04", 4);
+ mes("!- Information -!");
+ mes("^4d4dffRight-clicking on the item icon^4d4dff brings up detailed info on the item.");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dffWhen you select other players, you can trade, party up with them with the community window that pops up.");
+ next();
+ cutin("", 255);
+ mes("[Hun]");
+ mes("Ok now ^4d4dffdrink the apple juice that I gave you^000000.");
+ close();
} else {
if (!questprogress(7473)) {
- mes "[Hun]";
- mes "Hey there.";
- mes "Rest up for a bit.";
- next;
- mes "[Hun]";
- mes "It's joyous to see new adventurers starting out.";
- mes "You want something to drink while you are resting?";
- setquest 7473;
- getitem Apple_Juice, 1; // Apple_Juice
- next;
- mes "[Hun]";
- mes "Right clicking on the item icon ^4d4dffon the basic item window at the upper left corner brings up the detailed info on the item";
- next;
- mes "[Hun]";
- mes "The items are automatically catagorized by 'consumables' 'equipment' 'etcetera' and 'personal' suitable for each use.";
- mes "It will do the automatic sorting per indiviaul useage to";
- next;
- mes "[Hun]";
- mes "Either ^4d4dffdouble click on the item^000000 you intend to use";
- mes "or drag it onto^4d4dff the equipment window and use it^000000";
- next;
- mes "[Hun]";
- mes "For detailed info on individual items^4d4dff, right-click ^000000 on the item.";
- mes "You can check the detailed info on the item.";
- next;
- cutin "tutorial04.bmp", 3;
- mes "!- Information -!";
- mes "Right clicking on the item icon ^4d4dffbrings up the detailed info on the item";
- next;
- mes "!- Information -!";
- mes "When you select on other players^4d4dff you can trade, party up with them with the community window that pops up.";
- next;
- cutin "", 255;
- mes "[Hun]";
- mes "Ok now ^4d4dffdrink the apple juice that I gave you^000000.";
- close;
+ mes("[Hun]");
+ mes("Hey there.");
+ mes("Rest up for a bit.");
+ next();
+ mes("[Hun]");
+ mes("It's joyous to see new adventurers starting out.");
+ mes("You want something to drink while you are resting?");
+ setquest(7473);
+ getitem(Apple_Juice, 1); // Apple_Juice
+ next();
+ mes("[Hun]");
+ mes("Right clicking on the item icon ^4d4dffon the basic item window at the upper left corner brings up the detailed info on the item");
+ next();
+ mes("[Hun]");
+ mes("The items are automatically catagorized by 'consumables' 'equipment' 'etcetera' and 'personal' suitable for each use.");
+ mes("It will do the automatic sorting per indiviaul useage to");
+ next();
+ mes("[Hun]");
+ mes("Either ^4d4dffdouble click on the item^000000 you intend to use");
+ mes("or drag it onto^4d4dff the equipment window and use it^000000");
+ next();
+ mes("[Hun]");
+ mes("For detailed info on individual items^4d4dff, right-click ^000000 on the item.");
+ mes("You can check the detailed info on the item.");
+ next();
+ cutin("tutorial04", 3);
+ mes("!- Information -!");
+ mes("Right clicking on the item icon ^4d4dffbrings up the detailed info on the item");
+ next();
+ mes("!- Information -!");
+ mes("When you select on other players^4d4dff you can trade, party up with them with the community window that pops up.");
+ next();
+ cutin("", 255);
+ mes("[Hun]");
+ mes("Ok now ^4d4dffdrink the apple juice that I gave you^000000.");
+ close();
} else if (questprogress(7473) == 1) {
if (countitem(Apple_Juice) > 0) {
- mes "[Hun]";
- mes "Consume the apple juice that I gave you in your inventory.";
- mes "Then we'll talk.";
- close;
+ mes("[Hun]");
+ mes("Consume the apple juice that I gave you in your inventory.");
+ mes("Then we'll talk.");
+ close();
} else {
if (questprogress(4269) > 0) {
- mes "[Hun]";
- mes "How's the taste?";
- mes "Pretty good-taste of sweet and sour, right? It might not be much but it also has healing properties.";
- next;
- mes "[Hun]";
- mes "I want to give you more but that was the last of it";
- mes "Anyways here's some potions. They'll come in handy when you start fighting.";
- completequest 7473;
- getitem Novice_Potion, 30; // Novice_Potion
- getexp 200, 0;
- next;
- mes "[Hun]";
- mes "Criatura Academy is a good place to build up experience for the future.";
- mes "And I'm not just saying this because I work here.";
- next;
- mes "[Hun]";
- mes "I'm for real... haha";
- close;
+ mes("[Hun]");
+ mes("How's the taste?");
+ mes("Pretty good-taste of sweet and sour, right? It might not be much but it also has healing properties.");
+ next();
+ mes("[Hun]");
+ mes("I want to give you more but that was the last of it");
+ mes("Anyways here's some potions. They'll come in handy when you start fighting.");
+ completequest(7473);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getexp(200, 0);
+ next();
+ mes("[Hun]");
+ mes("Criatura Academy is a good place to build up experience for the future.");
+ mes("And I'm not just saying this because I work here.");
+ next();
+ mes("[Hun]");
+ mes("I'm for real... haha");
+ close();
} else {
- mes "[Hun]";
- mes "How's the taste?";
- mes "Pretty good-taste of sweet and sour, right? It might not be much but it also has healing properties.";
- next;
- mes "[Hun]";
- mes "I want to give you more but that was the last of it";
- mes "Anyways here's some potions. They'll come in handy when you start fighting.";
- completequest 7473;
- getitem Novice_Potion, 30; // Novice_Potion
- getexp 200, 0;
- next;
- mes "[Hun]";
- mes "What do you plan to do from now on?";
- mes "Have you found a place to stay?";
- next;
+ mes("[Hun]");
+ mes("How's the taste?");
+ mes("Pretty good-taste of sweet and sour, right? It might not be much but it also has healing properties.");
+ next();
+ mes("[Hun]");
+ mes("I want to give you more but that was the last of it");
+ mes("Anyways here's some potions. They'll come in handy when you start fighting.");
+ completequest(7473);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getexp(200, 0);
+ next();
+ mes("[Hun]");
+ mes("What do you plan to do from now on?");
+ mes("Have you found a place to stay?");
+ next();
switch(select("I need help with that", "Anything will do really.", "Don't worry.")) {
case 1:
- mes "[Hun]";
- mes "But still, though.";
- mes "It's tough to be out alone in a new place.";
- mes "That's why Criatura Academy is there.";
- next;
- mes "[Hun]";
- mes "Carocc sent you to me probably for the same reason.";
- mes "Even though I'm just a work-hand here, I could show you around.";
- next;
- mes "[Hun]";
- mes "If you follow this road up to north, you can see";
- mes "<NAVI>[the Academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- mes "Anybody can enroll, so take advantage of it.";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "Sorry to interrupt.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits";
- close;
+ mes("[Hun]");
+ mes("But still, though.");
+ mes("It's tough to be out alone in a new place.");
+ mes("That's why Criatura Academy is there.");
+ next();
+ mes("[Hun]");
+ mes("Carocc sent you to me probably for the same reason.");
+ mes("Even though I'm just a work-hand here, I could show you around.");
+ next();
+ mes("[Hun]");
+ mes("If you follow this road up to north, you can see");
+ mes("<NAVI>[the Academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ mes("Anybody can enroll, so take advantage of it.");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("Sorry to interrupt.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits");
+ close();
case 2:
- mes "[Hun]";
- mes "How optimistic of you.";
- mes "If you need help, feel free to visit Criatura Academy any time.";
- next;
- mes "[Hun]";
- mes "There's no requirement or payment to enroll so it would be a great help to you.";
- mes "When you go through this way to the north, you'll find";
- mes "<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- next;
- mes "[Hun]";
- mes "If there are more adventurers like you, the future will be brighter.";
- mes "Hahahaha.";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "Sorry to interrupt.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits";
- close;
+ mes("[Hun]");
+ mes("How optimistic of you.");
+ mes("If you need help, feel free to visit Criatura Academy any time.");
+ next();
+ mes("[Hun]");
+ mes("There's no requirement or payment to enroll so it would be a great help to you.");
+ mes("When you go through this way to the north, you'll find");
+ mes("<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ next();
+ mes("[Hun]");
+ mes("If there are more adventurers like you, the future will be brighter.");
+ mes("Hahahaha.");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("Sorry to interrupt.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits");
+ close();
case 3:
- mes "[Hun]";
- mes "You already have a plan laid out?";
- mes "Well prepared.";
- mes "But just in case, if you are curious about the Criatura Academy, make a visit.";
- next;
- mes "[Hun]";
- mes "When you go through this way to the north, you'll find";
- mes "<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- mes "What is well, is well- isn't it?";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "You are correct.";
- mes "Preperation is the key.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits.";
- close;
+ mes("[Hun]");
+ mes("You already have a plan laid out?");
+ mes("Well prepared.");
+ mes("But just in case, if you are curious about the Criatura Academy, make a visit.");
+ next();
+ mes("[Hun]");
+ mes("When you go through this way to the north, you'll find");
+ mes("<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ mes("What is well, is well- isn't it?");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("You are correct.");
+ mes("Preperation is the key.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits.");
+ close();
}
}
}
} else {
if (!questprogress(4269)) {
- mes "[Hun]";
- mes "It's you..";
- mes "What do you plan to do from now on?";
- mes "Have you found a place to stay?";
- next;
+ mes("[Hun]");
+ mes("It's you..");
+ mes("What do you plan to do from now on?");
+ mes("Have you found a place to stay?");
+ next();
switch(select("I need help with that", "Anything will do really.", "Don't worry.")) {
case 1:
- mes "[Hun]";
- mes "But still, though.";
- mes "It's tough to be out alone in a new place.";
- mes "That's why Criatura Academy is there.";
- next;
- mes "[Hun]";
- mes "Carocc sent you to me probably for the same reason.";
- mes "Even though I'm just a work-hand here, I could show you around.";
- next;
- mes "[Hun]";
- mes "If you follow this road up to north, you can see";
- mes "<NAVI>[the Academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- mes "Anybody can enroll, so take advantage of it.";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "Sorry to interrupt.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits";
- close;
+ mes("[Hun]");
+ mes("But still, though.");
+ mes("It's tough to be out alone in a new place.");
+ mes("That's why Criatura Academy is there.");
+ next();
+ mes("[Hun]");
+ mes("Carocc sent you to me probably for the same reason.");
+ mes("Even though I'm just a work-hand here, I could show you around.");
+ next();
+ mes("[Hun]");
+ mes("If you follow this road up to north, you can see");
+ mes("<NAVI>[the Academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ mes("Anybody can enroll, so take advantage of it.");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("Sorry to interrupt.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits");
+ close();
case 2:
- mes "[Hun]";
- mes "How optimistic of you.";
- mes "If you need help, feel free to visit Criatura Academy any time.";
- next;
- mes "[Hun]";
- mes "There's no requirement or payment to enroll so it would be a great help to you.";
- mes "When you go through this way to the north, you'll find";
- mes "<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- next;
- mes "[Hun]";
- mes "If there are more adventurers like you, the future will be brighter.";
- mes "Hahahaha.";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "Sorry to interrupt.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits";
- close;
+ mes("[Hun]");
+ mes("How optimistic of you.");
+ mes("If you need help, feel free to visit Criatura Academy any time.");
+ next();
+ mes("[Hun]");
+ mes("There's no requirement or payment to enroll so it would be a great help to you.");
+ mes("When you go through this way to the north, you'll find");
+ mes("<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ next();
+ mes("[Hun]");
+ mes("If there are more adventurers like you, the future will be brighter.");
+ mes("Hahahaha.");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("Sorry to interrupt.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits");
+ close();
case 3:
- mes "[Hun]";
- mes "You already have a plan laid out?";
- mes "Well prepared.";
- mes "But just in case, if you are curious about the Criatura Academy, make a visit.";
- next;
- mes "[Hun]";
- mes "When you go through this way to the north, you'll find";
- mes "<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.";
- mes "What is well, is well- isn't it?";
- next;
- emotion e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Information Staff]";
- mes "You are correct.";
- mes "Preperation is the key.";
- mes "But ^4d4dff if you need location info, please ask me.^000000";
- next;
- mes "[Information Staff]";
- mes "Hun's information has limits.";
- close;
+ mes("[Hun]");
+ mes("You already have a plan laid out?");
+ mes("Well prepared.");
+ mes("But just in case, if you are curious about the Criatura Academy, make a visit.");
+ next();
+ mes("[Hun]");
+ mes("When you go through this way to the north, you'll find");
+ mes("<NAVI>[the academy building]<INFO>iz_ac01,100,39</INFO></NAVI>.");
+ mes("What is well, is well- isn't it?");
+ next();
+ emotion(e_gasp, 0, "Information Staff#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Information Staff]");
+ mes("You are correct.");
+ mes("Preperation is the key.");
+ mes("But ^4d4dff if you need location info, please ask me.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("Hun's information has limits.");
+ close();
}
} else {
- mes "[Hun]";
- mes "Criatura Academy is a good place to build up experience for the future.";
- mes "I'm not saying this just because I work here.";
- next;
- mes "[Hun]";
- mes "For real... hahahaha";
- close;
+ mes("[Hun]");
+ mes("Criatura Academy is a good place to build up experience for the future.");
+ mes("I'm not saying this just because I work here.");
+ next();
+ mes("[Hun]");
+ mes("For real... hahahaha");
+ close();
}
}
}
} else {
- mes "[Hun]";
- mes "The Royal Criatura Academy was founded to help budding adventurers on their initial journey.";
- next;
- mes "[Hun]";
- mes "Although I'm but a work-hand here, it makes me happy to see students graduate here and become fine members of society.";
- close;
+ mes("[Hun]");
+ mes("The Royal Criatura Academy was founded to help budding adventurers on their initial journey.");
+ next();
+ mes("[Hun]");
+ mes("Although I'm but a work-hand here, it makes me happy to see students graduate here and become fine members of society.");
+ close();
}
OnInit:
- questinfo 7473, QTYPE_QUEST, 1, Job_Novice;
- //SetQuestLevel 7473 1 14
+ questinfo(7473, QTYPE_QUEST, 1, Job_Novice);
+ //setquestLevel 7473 1 14
end;
OnTouch:
if (!questprogress(4269))
- emotion e_gasp;
+ emotion(e_gasp);
else
- emotion e_heh;
+ emotion(e_heh);
end;
}
@@ -945,142 +1124,142 @@ izlude_d,122,207,3 duplicate(Criatura Academy Staff#0) Criatura Academy Staff#d
// - Teaches the player about the Mini-Map through a quick quest.
izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Quest cannot be continued due to the invenory being full.";
- mes "Please try it again after re-organizing your items.";
- close;
+ mes("Quest cannot be continued due to the invenory being full.");
+ mes("Please try it again after re-organizing your items.");
+ close();
}
if (BaseLevel < 15 && !questprogress(7474)) {
- mes "[Information Staff]";
- mes "Hi, how are you?";
- mes "I am in charge of navigation directions for Izlude's key locations";
- mes "I wish to propose a simple game along with the navigation, would that be ok?";
- next;
- if(select("Sure, let's play!", "I already know them all.") == 1) {
- mes "[Information Staff]";
- mes "First of all, how to check the mini-map.";
- mes "You can check your location through the mini-map at the top right of the screen";
- next;
- mes "[Information Staff]";
- mes "If you receive information on a town or a city, a waypoint ^4d4dff+^000000 can be marked on the map.";
- next;
- mes "[Information Staff]";
- mes "Press ^4d4dff [Ctrl] and [ ~ ] on your keyboard and you can see the world map^000000.";
- next;
- mes "[Information Staff]";
- mes "Through the ^4d4dff world map you can check the location of you, your party members and the level of monsters in the area.^000000";
- next;
- mes "[Information Staff]";
- mes "This is useful info to remember.";
- mes "Now then, should we play a simple game?";
- next;
- mes "[Information Staff]";
- mes "I will ^4d4dff mark three specific locations on the mini-map.^000000";
- mes "Please ^4d4dffvisit those locations ^000000 using the waypoints as reference.";
- next;
- mes "[Information Staff]";
- mes "Think of it as a treasure hunt and go.";
- mes "I've hidden some useful items there.";
- viewpoint 1,179,75,1,0xCCFFFF;
- viewpoint 1,45,94,2,0x00FF00;
- viewpoint 1,207,167,3,0xFFEB46;
- setquest 7474;
- next;
- mes "[Information Staff]";
- mes "Vist me again after going by all three locations.";
- mes "I will check up on it.";
- next;
- mes "[Information Staff]";
- mes "Ah, there' somebody who started out right before you!";
- mes "If you don't hurry that person will take all the items!";
- mes "So, run!";
+ mes("[Information Staff]");
+ mes("Hi, how are you?");
+ mes("I am in charge of navigation directions for Izlude's key locations");
+ mes("I wish to propose a simple game along with the navigation, would that be ok?");
+ next();
+ if (select("Sure, let's play!", "I already know them all.") == 1) {
+ mes("[Information Staff]");
+ mes("First of all, how to check the mini-map.");
+ mes("You can check your location through the mini-map at the top right of the screen");
+ next();
+ mes("[Information Staff]");
+ mes("If you receive information on a town or a city, a waypoint ^4d4dff+^000000 can be marked on the map.");
+ next();
+ mes("[Information Staff]");
+ mes("Press ^4d4dff [Ctrl] and [ ~ ] on your keyboard and you can see the world map^000000.");
+ next();
+ mes("[Information Staff]");
+ mes("Through the ^4d4dff world map you can check the location of you, your party members and the level of monsters in the area.^000000");
+ next();
+ mes("[Information Staff]");
+ mes("This is useful info to remember.");
+ mes("Now then, should we play a simple game?");
+ next();
+ mes("[Information Staff]");
+ mes("I will ^4d4dff mark three specific locations on the mini-map.^000000");
+ mes("Please ^4d4dffvisit those locations ^000000 using the waypoints as reference.");
+ next();
+ mes("[Information Staff]");
+ mes("Think of it as a treasure hunt and go.");
+ mes("I've hidden some useful items there.");
+ viewpoint 1, 179, 75, 1, 0xCCFFFF;
+ viewpoint 1, 45, 94, 2, 0x00FF00;
+ viewpoint 1, 207, 167, 3, 0xFFEB46;
+ setquest(7474);
+ next();
+ mes("[Information Staff]");
+ mes("Vist me again after going by all three locations.");
+ mes("I will check up on it.");
+ next();
+ mes("[Information Staff]");
+ mes("Ah, there' somebody who started out right before you!");
+ mes("If you don't hurry that person will take all the items!");
+ mes("So, run!");
npcskill "AL_INCAGI", 10, 10, 10;
- close;
+ close();
}
- mes "[Information Staff]";
- mes "Do you need information on all the locations of Izlude?";
- mes "By clicking on the introduced ^B9062F[base camp name]^000000, I will offer you guidance so follow the ^B9062FRed Arrows^000000.";
- next;
- while(1) {
+ mes("[Information Staff]");
+ mes("Do you need information on all the locations of Izlude?");
+ mes("By clicking on the introduced ^B9062F[base camp name]^000000, I will offer you guidance so follow the ^B9062FRed Arrows^000000.");
+ next();
+ while(true) {
switch(select("[ Main facilities ]", "[ Guide & Helper ]", "Mini map marking removal", "End Conversation")) {
case 1:
- while (1) {
+ while (true) {
switch(select("[ Criatura Academy ]", "[ Wharf ]", "[ Airship (International) ]", "[ Arena ]", "[ Shop ]", "[ Swordman Guild ]", "[ Enchant Association ]", "[ Blacksmith's Workshop ]", "Go back to the previous menu")) {
case 1:
- mes "[Information Staff]";
- mes "If you are the first time adventurer,";
- mes "<NAVI>[Criatura Academy]<INFO>iz_ac01,100,39,</INFO></NAVI>";
- mes "can offer a lot of info and help.";
- mes "Do you need additonal directions?";
+ mes("[Information Staff]");
+ mes("If you are the first time adventurer,");
+ mes("<NAVI>[Criatura Academy]<INFO>iz_ac01,100,39,</INFO></NAVI>");
+ mes("can offer a lot of info and help.");
+ mes("Do you need additonal directions?");
viewpoint 1, 128, 260, 0, 0xFFD269;
- next;
+ next();
continue;
case 2:
- mes "[Information Staff]";
- mes "Through the <NAVI>[Wharf]<INFO>izlude,197,205,</INFO></NAVI> in the north east,";
- mes "^8B4513Alberta^000000 or ^8B4513the Byalan Island^000000 can be visted.";
- mes "you can go.";
- next;
- mes "[Information Staff]";
- mes "Byalan Island is the scary place with ^8B4513 Izlude dungeon^000000 in it.";
- mes "";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("Through the <NAVI>[Wharf]<INFO>izlude,197,205,</INFO></NAVI> in the north east,");
+ mes("^8B4513Alberta^000000 or ^8B4513the Byalan Island^000000 can be visted.");
+ mes("you can go.");
+ next();
+ mes("[Information Staff]");
+ mes("Byalan Island is the scary place with ^8B4513 Izlude dungeon^000000 in it.");
+ mes("");
+ mes("Do you need additional directions?");
viewpoint 1, 197, 205, 1, 0xFFFF00;
- next;
+ next();
continue;
case 3:
- mes "[Information Staff]";
- mes "To the southeast, the <NAVI>[Airship]<INFO>izlude,206,75,</INFO></NAVI>";
- mes "will be connected with the Capital of the republic of Schwarzwald -^8B4513 Yuno^000000, and";
- mes "The capital of the Arunapeltsdom -^8B4513 Rachel ^000000.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("To the southeast, the <NAVI>[Airship]<INFO>izlude,206,75,</INFO></NAVI>");
+ mes("will be connected with the Capital of the republic of Schwarzwald -^8B4513 Yuno^000000, and");
+ mes("The capital of the Arunapeltsdom -^8B4513 Rachel ^000000.");
+ mes("Do you need additional directions?");
viewpoint 1, 210, 73, 2, 0xFF0A82;
- next;
+ next();
continue;
case 4:
- mes "[Information Staff]";
- mes "The <NAVI>[Arena]<INFO>izlude,213,161,</INFO></NAVI> located in the east";
- mes "is for testing your battle ability.";
- mes "It's an excellent place.";
- mes "I will mark the location on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("The <NAVI>[Arena]<INFO>izlude,213,161,</INFO></NAVI> located in the east");
+ mes("is for testing your battle ability.");
+ mes("It's an excellent place.");
+ mes("I will mark the location on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 213, 161, 3, 0xFFFF54;
- next;
+ next();
continue;
case 5:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Shop]<INFO>izlude,110,182,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Shop]<INFO>izlude,110,182,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 108, 179, 4, 0xFFAAFF;
- next;
+ next();
continue;
case 6:
- mes "[Information Staff]";
- mes "<NAVI>[Swordman guild]<INFO>izlude,51,172,</INFO></NAVI> is the place to manage the job transfer to a swordman.";
- mes "I will mark the location of the swordman guild on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("<NAVI>[Swordman guild]<INFO>izlude,51,172,</INFO></NAVI> is the place to manage the job transfer to a swordman.");
+ mes("I will mark the location of the swordman guild on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 52, 172, 5, 0xFFDA70;
- next;
+ next();
continue;
case 7:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Enchant Association]<INFO>izlude,97,125,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Enchant Association]<INFO>izlude,97,125,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 97, 125, 6, 0xFFDA70;
- next;
+ next();
continue;
case 8:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Blacksmith's Workshop]<INFO>izlude,153,126,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Blacksmith's Workshop]<INFO>izlude,153,126,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 153, 126, 7, 0xFFAAFF;
- next;
+ next();
continue;
case 9:
break;
@@ -1089,60 +1268,60 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
}
break;
case 2:
- while (1) {
- switch(select("[ Eden Group Teleporter ]", "[ Kafra Employee ]", "[ Mesmerizer ]", "[ Wedding Secretary ]", "[ Mercenary Guild Official ]", "[ Taming Merchant ]", "Go back to the previous menu")) {
+ while (true) {
+ switch(select("[ Eden Group Teleporter ]", "[ Kafra Employee ]", "[ mesmerizer ]", "[ Wedding Secretary ]", "[ Mercenary Guild Official ]", "[ Taming Merchant ]", "Go back to the previous menu")) {
case 1:
- mes "[Information Staff]";
- mes "For now, I will mark the location of the";
- mes "<NAVI>[Eden Group Teleporter]<INFO>izlude,131,148,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("For now, I will mark the location of the");
+ mes("<NAVI>[Eden Group Teleporter]<INFO>izlude,131,148,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 131, 148, 8, 0xFF0A82;
- next;
+ next();
continue;
case 2:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Kafra Employee]<INFO>izlude,128,148,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Kafra Employee]<INFO>izlude,128,148,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 128, 148, 9, 0xFFFF54;
- next;
+ next();
continue;
case 3:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Mesmerizer]<INFO>izlude,124,127,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Mesmerizer]<INFO>izlude,124,127,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 125, 127, 10, 0xFF0064;
- next;
+ next();
continue;
case 4:
- mes "[Information Staff]";
- mes "If you want to visit ^8B4513Jawaii^000000 - the resort place for a couple,";
- mes "talk to the <NAVI>[Wedding Secretary]<INFO>izlude,180,224,</INFO></NAVI>.";
- mes "Just ask the question about it.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("If you want to visit ^8B4513Jawaii^000000 - the resort place for a couple,");
+ mes("talk to the <NAVI>[Wedding Secretary]<INFO>izlude,180,224,</INFO></NAVI>.");
+ mes("Just ask the question about it.");
+ mes("Do you need additional directions?");
viewpoint 1, 180, 224, 11, 0xFFFF00;
- next;
+ next();
continue;
case 5:
- mes "[Information Staff]";
- mes "If you need to know about the Mercenary Guild, go west and speak to the";
- mes "<NAVI>[Mercenary Guild Official]<INFO>izlude,47,170,</INFO></NAVI>.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("If you need to know about the Mercenary Guild, go west and speak to the");
+ mes("<NAVI>[Mercenary Guild Official]<INFO>izlude,47,170,</INFO></NAVI>.");
+ mes("Do you need additional directions?");
viewpoint 1, 47, 170, 12, 0xFFDA70;
- next;
+ next();
continue;
case 6:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Taming Merchant]<INFO>izlude,118,163,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Taming Merchant]<INFO>izlude,118,163,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 118, 163, 13, 0xFF0064;
- next;
+ next();
continue;
case 7:
break;
@@ -1151,9 +1330,9 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
}
break;
case 3:
- mes "[Information Staff]";
- mes "I will erase the marks.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will erase the marks.");
+ mes("Do you need additional directions?");
viewpoint 2, 197, 205, 1, 0xFF0000;
viewpoint 2, 210, 73, 2, 0xFF0000;
viewpoint 2, 213, 161, 3, 0xFF0000;
@@ -1167,187 +1346,187 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
viewpoint 2, 180, 224, 11, 0xFF0000;
viewpoint 2, 47, 170, 12, 0xFF0000;
viewpoint 2, 118, 163, 13, 0xFF0000;
- next;
+ next();
break;
case 4:
- mes "[Information Staff]";
- mes "Have a wonderful adventure.";
- mes "Good bye~~!";
- close;
+ mes("[Information Staff]");
+ mes("Have a wonderful adventure.");
+ mes("Good bye~~!");
+ close();
}
}
} else if (questprogress(7474) == 1) {
if ((questprogress(7475) + questprogress(7476) + questprogress(7477)) > 2) {
- mes "[Information Staff]";
- mes "What's with the long face?";
- mes "It looks like you found all the locations I marked.";
- next;
- mes "[Lumin]";
- mes "Turtle...";
- cutin "nov_lumin01.bmp", 2;
- next;
+ mes("[Information Staff]");
+ mes("What's with the long face?");
+ mes("It looks like you found all the locations I marked.");
+ next();
+ mes("[Lumin]");
+ mes("Turtle...");
+ cutin("nov_lumin01", 2);
+ next();
select("What'd you call me?");
- mes "[Lumin]";
- mes "Because you are too slow.";
- mes "Yes, it is. I have been waiting for you for what seems like forever.";
- next;
- mes "[Lumin]";
- mes ".......Shall I share with you?";
- cutin "nov_lumin03.bmp", 2;
- next;
- if(select("I don't need your sympathy.", "!!!!!") == 1) {
- mes "[Lumin]";
- mes "Is that so?";
- mes "Captain always told me to help the poor people.";
- mes "But you get rid of my chance to help.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Ahhh. Irritating.";
- next;
+ mes("[Lumin]");
+ mes("Because you are too slow.");
+ mes("Yes, it is. I have been waiting for you for what seems like forever.");
+ next();
+ mes("[Lumin]");
+ mes(".......Shall I share with you?");
+ cutin("nov_lumin03", 2);
+ next();
+ if (select("I don't need your sympathy.", "!!!!!") == 1) {
+ mes("[Lumin]");
+ mes("Is that so?");
+ mes("Captain always told me to help the poor people.");
+ mes("But you get rid of my chance to help.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Lumin]");
+ mes("Ahhh. Irritating.");
+ next();
} else {
- mes "[Lumin]";
- mes "Well, now we can divide 7 to 3?";
- mes "I am OK with 6 to 4.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[" + strcharinfo(0) + "]";
- mes "This guy...";
- next;
+ mes("[Lumin]");
+ mes("Well, now we can divide 7 to 3?");
+ mes("I am OK with 6 to 4.");
+ cutin("nov_lumin02", 2);
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("This guy...");
+ next();
}
- cutin "", 255;
- mes "[Information Staff]";
- mes "Ahhh, you two calm down.";
- mes "Lumin took them all.";
- mes ""+ strcharinfo(0) + " I will give you one set separately.";
- next;
- mes "[Information Staff]";
- mes "Think of the reason, it was my fault to leave one person's but sent both of you.";
- next;
- cutin "nov_lumin03.bmp", 2;
- mes "[Lumin]";
- mes "Simple and fair decision.";
- mes "OK. Now I am going.";
- mes "See you again, my friend.";
- next;
- cutin "", 255;
- mes "[Information Staff]";
- mes "Aren't you two friends?";
- mes "You guys both seemed friendly enough right?";
- next;
- mes "[Information Staff]";
- mes "Well, this is my present for you.";
- mes "Hope it will be useful.";
- completequest 7474;
- erasequest 7475;
- erasequest 7476;
- erasequest 7477;
- getexp 300, 20;
- getitem N_Fly_Wing, 20; // N_Fly_Wing
- getitem N_Butterfly_Wing, 10; // N_Butterfly_Wing
- getitem Novice_Potion, 20; // Novice_Potion
- next;
- mes "[Information Staff]";
- mes "Have a wonderful journey.";
- close;
+ cutin("", 255);
+ mes("[Information Staff]");
+ mes("Ahhh, you two calm down.");
+ mes("Lumin took them all.");
+ mesf("%s I will give you one set separately.", strcharinfo(PC_NAME));
+ next();
+ mes("[Information Staff]");
+ mes("Think of the reason, it was my fault to leave one person's but sent both of you.");
+ next();
+ cutin("nov_lumin03", 2);
+ mes("[Lumin]");
+ mes("Simple and fair decision.");
+ mes("OK. Now I am going.");
+ mes("See you again, my friend.");
+ next();
+ cutin("", 255);
+ mes("[Information Staff]");
+ mes("Aren't you two friends?");
+ mes("You guys both seemed friendly enough right?");
+ next();
+ mes("[Information Staff]");
+ mes("Well, this is my present for you.");
+ mes("Hope it will be useful.");
+ completequest(7474);
+ erasequest(7475);
+ erasequest(7476);
+ erasequest(7477);
+ getexp(300, 20);
+ getitem(N_Fly_Wing, 20); // N_Fly_Wing
+ getitem(N_Butterfly_Wing, 10); // N_Butterfly_Wing
+ getitem(Novice_Potion, 20); // Novice_Potion
+ next();
+ mes("[Information Staff]");
+ mes("Have a wonderful journey.");
+ close();
} else {
- mes "[Information Staff]";
- mes "You have not found the treasure I hid.";
- mes "Here are the locations again.";
- mes "Hurry up!";
- viewpoint 1,179,75,1,0xccffff;
- viewpoint 1,45,94,2,0x00ff00;
- viewpoint 1,207,167,3,0xFFEB46;
- close;
+ mes("[Information Staff]");
+ mes("You have not found the treasure I hid.");
+ mes("Here are the locations again.");
+ mes("Hurry up!");
+ viewpoint 1, 179, 75, 1, 0xccffff;
+ viewpoint 1, 45, 94, 2, 0x00ff00;
+ viewpoint 1, 207, 167, 3, 0xFFEB46;
+ close();
}
} else {
- mes "[Information Staff]";
- mes "This is Izlude - the satellite city of Prontera.";
- mes "Do you need directions?";
- next;
- mes "[Information Staff]";
- mes "If you click on the ^B9062F[area name]^000000, I can ^B9062Fnavigate^000000 a path for you to follow.";
- next;
- while(1) {
+ mes("[Information Staff]");
+ mes("This is Izlude - the satellite city of Prontera.");
+ mes("Do you need directions?");
+ next();
+ mes("[Information Staff]");
+ mes("If you click on the ^B9062F[area name]^000000, I can ^B9062Fnavigate^000000 a path for you to follow.");
+ next();
+ while(true) {
switch(select("[ Main facilities ]", "[ Guide & Helper ]", "Mini map marking removal", "End Conversation")) {
case 1:
- while (1) {
+ while (true) {
switch(select("[ Criatura Academy ]", "[ Wharf ]", "[ Airship (International) ]", "[ Arena ]", "[ Shop ]", "[ Swordman Guild ]", "[ Enchant Association ]", "[ Blacksmith's Workshop ]", "Go back to the previous menu")) {
case 1:
- mes "[Information Staff]";
- mes "If you are the first time adventurer,";
- mes "<NAVI>[Criatura Academy]<INFO>iz_ac01,100,39,</INFO></NAVI>";
- mes "can offer a lot of info and help.";
- mes "Do you need additonal directions?";
+ mes("[Information Staff]");
+ mes("If you are the first time adventurer,");
+ mes("<NAVI>[Criatura Academy]<INFO>iz_ac01,100,39,</INFO></NAVI>");
+ mes("can offer a lot of info and help.");
+ mes("Do you need additonal directions?");
viewpoint 1, 128, 260, 0, 0xFFD269;
- next;
+ next();
continue;
case 2:
- mes "[Information Staff]";
- mes "Through the <NAVI>[Wharf]<INFO>izlude,197,205,</INFO></NAVI> in the north east,";
- mes "^8B4513Alberta^000000 or ^8B4513the Byalan Island^000000 can be visted.";
- mes "you can go.";
- next;
- mes "[Information Staff]";
- mes "Byalan Island is the scary place with ^8B4513 Izlude dungeon^000000 in it.";
- mes "";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("Through the <NAVI>[Wharf]<INFO>izlude,197,205,</INFO></NAVI> in the north east,");
+ mes("^8B4513Alberta^000000 or ^8B4513the Byalan Island^000000 can be visted.");
+ mes("you can go.");
+ next();
+ mes("[Information Staff]");
+ mes("Byalan Island is the scary place with ^8B4513 Izlude dungeon^000000 in it.");
+ mes("");
+ mes("Do you need additional directions?");
viewpoint 1, 197, 205, 1, 0xFFFF00;
- next;
+ next();
continue;
case 3:
- mes "[Information Staff]";
- mes "To the southeast, the <NAVI>[Airship]<INFO>izlude,206,75,</INFO></NAVI>";
- mes "will be connected with the Capital of the republic of Schwarzwald -^8B4513 Yuno^000000, and";
- mes "The capital of the Arunapeltsdom -^8B4513 Rachel ^000000.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("To the southeast, the <NAVI>[Airship]<INFO>izlude,206,75,</INFO></NAVI>");
+ mes("will be connected with the Capital of the republic of Schwarzwald -^8B4513 Yuno^000000, and");
+ mes("The capital of the Arunapeltsdom -^8B4513 Rachel ^000000.");
+ mes("Do you need additional directions?");
viewpoint 1, 210, 73, 2, 0xFF0A82;
- next;
+ next();
continue;
case 4:
- mes "[Information Staff]";
- mes "The <NAVI>[Arena]<INFO>izlude,213,161,</INFO></NAVI> located in the east";
- mes "is for testing your battle ability.";
- mes "It's an excellent place.";
- mes "I will mark the location on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("The <NAVI>[Arena]<INFO>izlude,213,161,</INFO></NAVI> located in the east");
+ mes("is for testing your battle ability.");
+ mes("It's an excellent place.");
+ mes("I will mark the location on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 213, 161, 3, 0xFFFF54;
- next;
+ next();
continue;
case 5:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Shop]<INFO>izlude,110,182,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Shop]<INFO>izlude,110,182,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 108, 179, 4, 0xFFAAFF;
- next;
+ next();
continue;
case 6:
- mes "[Information Staff]";
- mes "<NAVI>[Swordman guild]<INFO>izlude,51,172,</INFO></NAVI> is the place to manage the job transfer to a swordman.";
- mes "I will mark the location of the swordman guild on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("<NAVI>[Swordman guild]<INFO>izlude,51,172,</INFO></NAVI> is the place to manage the job transfer to a swordman.");
+ mes("I will mark the location of the swordman guild on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 52, 172, 5, 0xFFDA70;
- next;
+ next();
continue;
case 7:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Enchant Association]<INFO>izlude,97,125,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Enchant Association]<INFO>izlude,97,125,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 97, 125, 6, 0xFFDA70;
- next;
+ next();
continue;
case 8:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Blacksmith's Workshop]<INFO>izlude,153,126,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Blacksmith's Workshop]<INFO>izlude,153,126,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 153, 126, 7, 0xFFAAFF;
- next;
+ next();
continue;
case 9:
break;
@@ -1356,60 +1535,60 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
}
break;
case 2:
- while (1) {
- switch(select("[ Eden Group Teleporter ]", "[ Kafra Employee ]", "[ Mesmerizer ]", "[ Wedding Secretary ]", "[ Mercenary Guild Official ]", "[ Taming Merchant ]", "Go back to the previous menu")) {
+ while (true) {
+ switch(select("[ Eden Group Teleporter ]", "[ Kafra Employee ]", "[ mesmerizer ]", "[ Wedding Secretary ]", "[ Mercenary Guild Official ]", "[ Taming Merchant ]", "Go back to the previous menu")) {
case 1:
- mes "[Information Staff]";
- mes "For now, I will mark the location of the";
- mes "<NAVI>[Eden Group Teleporter]<INFO>izlude,131,148,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("For now, I will mark the location of the");
+ mes("<NAVI>[Eden Group Teleporter]<INFO>izlude,131,148,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 131, 148, 8, 0xFF0A82;
- next;
+ next();
continue;
case 2:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Kafra Employee]<INFO>izlude,128,148,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Kafra Employee]<INFO>izlude,128,148,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 128, 148, 9, 0xFFFF54;
- next;
+ next();
continue;
case 3:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Mesmerizer]<INFO>izlude,124,127,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Mesmerizer]<INFO>izlude,124,127,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 125, 127, 10, 0xFF0064;
- next;
+ next();
continue;
case 4:
- mes "[Information Staff]";
- mes "If you want to visit ^8B4513Jawaii^000000 - the resort place for a couple,";
- mes "talk to the <NAVI>[Wedding Secretary]<INFO>izlude,180,224,</INFO></NAVI>.";
- mes "Just ask the question about it.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("If you want to visit ^8B4513Jawaii^000000 - the resort place for a couple,");
+ mes("talk to the <NAVI>[Wedding Secretary]<INFO>izlude,180,224,</INFO></NAVI>.");
+ mes("Just ask the question about it.");
+ mes("Do you need additional directions?");
viewpoint 1, 180, 224, 11, 0xFFFF00;
- next;
+ next();
continue;
case 5:
- mes "[Information Staff]";
- mes "If you need to know about the Mercenary Guild, go west and speak to the";
- mes "<NAVI>[Mercenary Guild Official]<INFO>izlude,47,170,</INFO></NAVI>.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("If you need to know about the Mercenary Guild, go west and speak to the");
+ mes("<NAVI>[Mercenary Guild Official]<INFO>izlude,47,170,</INFO></NAVI>.");
+ mes("Do you need additional directions?");
viewpoint 1, 47, 170, 12, 0xFFDA70;
- next;
+ next();
continue;
case 6:
- mes "[Information Staff]";
- mes "I will mark the location of the";
- mes "<NAVI>[Taming Merchant]<INFO>izlude,118,163,</INFO></NAVI>";
- mes "on the mini map.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will mark the location of the");
+ mes("<NAVI>[Taming Merchant]<INFO>izlude,118,163,</INFO></NAVI>");
+ mes("on the mini map.");
+ mes("Do you need additional directions?");
viewpoint 1, 118, 163, 13, 0xFF0064;
- next;
+ next();
continue;
case 7:
break;
@@ -1418,9 +1597,9 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
}
break;
case 3:
- mes "[Information Staff]";
- mes "I will erase the marks.";
- mes "Do you need additional directions?";
+ mes("[Information Staff]");
+ mes("I will erase the marks.");
+ mes("Do you need additional directions?");
viewpoint 2, 197, 205, 1, 0xFF0000;
viewpoint 2, 210, 73, 2, 0xFF0000;
viewpoint 2, 213, 161, 3, 0xFF0000;
@@ -1434,21 +1613,21 @@ izlude,120,207,4 script Information Staff#0 8W_SOLDIER,{
viewpoint 2, 180, 224, 11, 0xFF0000;
viewpoint 2, 47, 170, 12, 0xFF0000;
viewpoint 2, 118, 163, 13, 0xFF0000;
- next;
+ next();
break;
case 4:
- mes "[Information Staff]";
- mes "Have a wonderful adventure.";
- mes "Good bye~~!";
- close;
+ mes("[Information Staff]");
+ mes("Have a wonderful adventure.");
+ mes("Good bye~~!");
+ close();
}
}
}
OnInit:
- // AddQuestInfo 7474 1 0
- // SetQuestLevel 7474 1 14
- // AddQuestInfo 7495 1 0
+ // Addquestinfo 7474 1 0
+ // setquestLevel 7474 1 14
+ // Addquestinfo 7495 1 0
// SetQuestQuest 7495 7475 1
// SetQuestQuest 7495 7476 1
// SetQuestQuest 7495 7477 1
@@ -1465,137 +1644,137 @@ izlude,179,75,3 script Airship#iz 4_BULLETIN_BOARD2,3,3,{
.@total = questprogress(7475) + questprogress(7476) + questprogress(7477);
if (questprogress(7474)) {
if (!questprogress(7475)) {
- mes "==== Airship Information====";
- mes "";
- mes "Izlude - Juno - Rachel";
- mes "";
- mes "Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.";
- next;
+ mes("==== Airship Information====");
+ mes("");
+ mes("Izlude - Juno - Rachel");
+ mes("");
+ mes("Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.");
+ next();
if (.@total == 1) {
- mes "Except the signboard of the free airship, nothing can be found.";
- next;
+ mes("Except the signboard of the free airship, nothing can be found.");
+ next();
select("Where's the hidden treasure?");
- mes "[Lumin]";
- mes "Yo.";
- mes "Sorry pal I got here first.";
- mes "Should've used a Fly wing like I did.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Why do these wings teleport?";
- mes "I guess because they're from Creamy monsters...";
- next;
- mes "[Lumin]";
- mes "As the captain said, seeing is believing. The world is full of mysteries.";
- next;
- cutin "", 255;
- mes "Seems like Lumin beat you again.";
- mes "Better get to the next location before Lumin does.";
- setquest 7475;
- viewpoint 2,179,75,1,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Yo.");
+ mes("Sorry pal I got here first.");
+ mes("Should've used a Fly wing like I did.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Why do these wings teleport?");
+ mes("I guess because they're from Creamy monsters...");
+ next();
+ mes("[Lumin]");
+ mes("As the captain said, seeing is believing. The world is full of mysteries.");
+ next();
+ cutin("", 255);
+ mes("Seems like Lumin beat you again.");
+ mes("Better get to the next location before Lumin does.");
+ setquest(7475);
+ viewpoint 2, 179, 75, 1, 0xFF0000;
+ close();
} else if (.@total > 1) {
- mes "[Lumin]";
- mes ".......";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Muahahahaha.";
- cutin "nov_lumin03.bmp", 2;
- next;
- if(select("Are you kidding me?!", "Where's the treasure?") == 1) {
- mes "[Lumin]";
- mes "No...";
- mes "Meeting three times in one day must be destiny.";
- mes "You and I can be friends.";
- cutin "nov_lumin05.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes(".......");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Muahahahaha.");
+ cutin("nov_lumin03", 2);
+ next();
+ if (select("Are you kidding me?!", "Where's the treasure?") == 1) {
+ mes("[Lumin]");
+ mes("No...");
+ mes("Meeting three times(in one day must be destiny.");
+ mes("You and I can be friends.");
+ cutin("nov_lumin05", 2);
+ next();
select("Or Frenemies!");
- mes "[Lumin]";
- mes "Frene-what? Oh well I'm done with the mission.";
- mes "Take care.";
- cutin "nov_lumin02.bmp", 2;
- next;
- cutin "", 255;
- mes "[" + strcharinfo(0) + "]";
- mes "Are you even listening to me?!";
- setquest 7475;
- viewpoint 2,179,75,1,0xFF0000;
- next;
- mes "^4d4dff...I have to report the result to the Information Staff...^000000.";
- close;
+ mes("[Lumin]");
+ mes("Frene-what? Oh well I'm done with the mission.");
+ mes("Take care.");
+ cutin("nov_lumin02", 2);
+ next();
+ cutin("", 255);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Are you even listening to me?!");
+ setquest(7475);
+ viewpoint 2, 179, 75, 1, 0xFF0000;
+ next();
+ mes("^4d4dff...I have to report the result to the Information Staff...^000000.");
+ close();
}
- mes "[Lumin]";
- mes "Ooo Butterfly Wings.";
- mes "If I hand it over to you, you'll just waste 'em so I'll just keep them.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Come on this is just friendly competition.";
- cutin "nov_lumin05.bmp", 2;
- next;
- mes "[Lumin]";
- mes "I am doing this for you to make you stronger.";
- mes "Now, so long.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "^4d4dff...I have to report the result to the Information staff...^000000.";
- setquest 7475;
- viewpoint 2,179,75,1,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Ooo Butterfly Wings.");
+ mes("If I hand it over to you, you'll just waste 'em so I'll just keep them.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Come on this is just friendly competition.");
+ cutin("nov_lumin05", 2);
+ next();
+ mes("[Lumin]");
+ mes("I am doing this for you to make you stronger.");
+ mes("Now, so long.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("^4d4dff...I have to report the result to the Information staff...^000000.");
+ setquest(7475);
+ viewpoint 2, 179, 75, 1, 0xFF0000;
+ close();
} else {
- mes "Except for the signboard of the free airship, nothing particular was found.";
- next;
+ mes("Except for the signboard of the free airship, nothing particular was found.");
+ next();
select("Why is there nothing here?");
- mes "[Lumin]";
- mes "Of course.";
- mes "I already packed it in my bag.";
- mes "There were Butterfly Wings here.";
- cutin "nov_lumin01.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Of course.");
+ mes("I already packed it in my bag.");
+ mes("There were Butterfly Wings here.");
+ cutin("nov_lumin01", 2);
+ next();
select("So can I have some?");
- mes "[Lumin]";
- mes "That's not fair, I was here first so they're mine.";
- mes "You better get to the next stop faster if you want the prize.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Well, then.....";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "Lumin disappeared with his long hair in the air.";
- mes "......";
- setquest 7475;
- viewpoint 2,179,75,1,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("That's not fair, I was here first so they're mine.");
+ mes("You better get to the next stop faster if you want the prize.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Lumin]");
+ mes("Well, then.....");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("Lumin disappeared with his long hair in the air.");
+ mes("......");
+ setquest(7475);
+ viewpoint 2, 179, 75, 1, 0xFF0000;
+ close();
}
} else {
- mes "==== Airship Information ====";
- mes "";
- mes "Izlude - Juno - Rachel";
- mes "";
- mes "Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.";
- close;
+ mes("==== Airship Information ====");
+ mes("");
+ mes("Izlude - Juno - Rachel");
+ mes("");
+ mes("Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.");
+ close();
}
} else {
- mes "==== Airship Information ====";
- mes "";
- mes "Izlude - Juno - Rachel";
- mes "";
- mes "Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.";
- close;
+ mes("==== Airship Information ====");
+ mes("");
+ mes("Izlude - Juno - Rachel");
+ mes("");
+ mes("Travellers bound for either the ^4d4dffSchwarzwalt Republic^000000 or ^4d4dffArunafeltz^000000 may board the airship here.");
+ close();
}
OnInit:
- // AddQuestInfo 7475 0 0
- // SetQuestQuest 7475 7474 1
+ // Addquestinfo 7475 0 0
+ // setquestQuest 7475 7474 1
end;
OnTouch:
if (questprogress(7474) == 1 && !questprogress(7475))
- emotion e_gasp;
+ emotion(e_gasp);
end;
}
@@ -1609,138 +1788,138 @@ izlude,207,167,3 script Arena#iz 4_BULLETIN_BOARD2,3,3,{
.@total = questprogress(7475) + questprogress(7476) + questprogress(7477);
if (questprogress(7474) == 1) {
if (!questprogress(7476)) {
- mes "== Challenge! Arena! ==";
- mes "";
- mes "Breath taking battle with monsters!";
- mes "Where is your limit?";
- mes "PvE party with your comrad!";
- mes "All these at Arena!!";
- next;
+ mes("== Challenge! Arena! ==");
+ mes("");
+ mes("Breath taking battle with monsters!");
+ mes("Where is your limit?");
+ mes("PvE party with your comrad!");
+ mes("All these at Arena!!");
+ next();
if (.@total == 1) {
- mes "Except for the Arena promtional board, nothing can be found here.";
- next;
+ mes("Except for the Arena promtional board, nothing can be found here.");
+ next();
select("Nothing again?");
- mes "[Lumin]";
- mes "Hmmm. Its not nothing....";
- mes "There were potions here...";
- mes "I was tired of waiting for you so I took it too.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "But why does this potion never make me full?";
- mes "*gulp*";
- mes "Oh well looks like it's all gone.";
- next;
- cutin "", 255;
- mes "Lumin beat you again.";
- mes "Better beat him to the last spot.";
- setquest 7476;
- viewpoint 2,207,167,3,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Hmmm. Its not nothing....");
+ mes("There were potions here...");
+ mes("I was tired of waiting for you so I took it too.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("But why does this potion never make me full?");
+ mes("*gulp*");
+ mes("Oh well looks like it's all gone.");
+ next();
+ cutin("", 255);
+ mes("Lumin beat you again.");
+ mes("Better beat him to the last spot.");
+ setquest(7476);
+ viewpoint 2, 207, 167, 3, 0xFF0000;
+ close();
} else if (.@total > 1) {
- mes "[Lumin]";
- mes ".......";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Muahahaha.";
- cutin "nov_lumin03.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes(".......");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Muahahaha.");
+ cutin("nov_lumin03", 2);
+ next();
switch(select("Are you kidding me?!", "Where's the treasure?") == 1) {
- mes "[Lumin]";
- mes "No...";
- mes "Meeting three times in one day must be destiny.";
- mes "You and I can be friends.";
- cutin "nov_lumin05.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("No...");
+ mes("Meeting three times(in one day must be destiny.");
+ mes("You and I can be friends.");
+ cutin("nov_lumin05", 2);
+ next();
select("Or Frenemies!");
- mes "[Lumin]";
- mes "Frene-what? Oh well I'm done with the mission.";
- mes "Take care.";
- cutin "nov_lumin02.bmp", 2;
- next;
- cutin "", 255;
- mes "[" + strcharinfo(0) + "]";
- mes "Are you even listening to me?!";
- setquest 7476;
- viewpoint 2,207,167,3,0xFF0000;
- next;
- mes "^4d4dff...I have to report the result to the Information Staff...^000000.";
- close;
+ mes("[Lumin]");
+ mes("Frene-what? Oh well I'm done with the mission.");
+ mes("Take care.");
+ cutin("nov_lumin02", 2);
+ next();
+ cutin("", 255);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Are you even listening to me?!");
+ setquest(7476);
+ viewpoint 2, 207, 167, 3, 0xFF0000;
+ next();
+ mes("^4d4dff...I have to report the result to the Information Staff...^000000.");
+ close();
}
- mes "[Lumin]";
- mes "Red potions.";
- mes "If I hand it over to you, you'll just waste 'em so I'll just keep them.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Come on this is just friendly competition.";
- cutin "nov_lumin05.bmp", 2;
- next;
- mes "[Lumin]";
- mes "I am doing this for you to make you stronger.";
- mes "Now, so long.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "^4d4dff...I have to report of the result to Information staff...^000000.";
- setquest 7476;
- viewpoint 2,207,167,3,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Red potions.");
+ mes("If I hand it over to you, you'll just waste 'em so I'll just keep them.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Come on this is just friendly competition.");
+ cutin("nov_lumin05", 2);
+ next();
+ mes("[Lumin]");
+ mes("I am doing this for you to make you stronger.");
+ mes("Now, so long.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("^4d4dff...I have to report of the result to Information staff...^000000.");
+ setquest(7476);
+ viewpoint 2, 207, 167, 3, 0xFF0000;
+ close();
} else {
- mes "Except for the Arena promotion signboard, nothing can be found.";
- next;
+ mes("Except for the Arena promotion signboard, nothing can be found.");
+ next();
select("Why is there nothing?");
- mes "[Lumin]";
- mes "Of course.";
- mes "I already packed it.";
- mes "There were Red Potion hidden here.";
- cutin "nov_lumin01.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Of course.");
+ mes("I already packed it.");
+ mes("There were Red Potion hidden here.");
+ cutin("nov_lumin01", 2);
+ next();
select("So can I have some?");
- mes "[Lumin]";
- mes "That's not fair, I was here first so they're mine.";
- mes "You better get to the next stop faster if you want the prize.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Well, then.....";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "Lumin disappeared with his long hair in the air.";
- mes "This guy...";
- setquest 7476;
- viewpoint 2,207,167,3,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("That's not fair, I was here first so they're mine.");
+ mes("You better get to the next stop faster if you want the prize.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Lumin]");
+ mes("Well, then.....");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("Lumin disappeared with his long hair in the air.");
+ mes("This guy...");
+ setquest(7476);
+ viewpoint 2, 207, 167, 3, 0xFF0000;
+ close();
}
} else {
- mes "== Challenge! Arena! ==";
- mes "";
- mes "Breath taking battle with monsters!";
- mes "Where is your limit?";
- mes "PvE party with your comrad!";
- mes "All these at Arena!!";
- close;
+ mes("== Challenge! Arena! ==");
+ mes("");
+ mes("Breath taking battle with monsters!");
+ mes("Where is your limit?");
+ mes("PvE party with your comrad!");
+ mes("All these at Arena!!");
+ close();
}
} else {
- mes "== Challenge! Arena! ==";
- mes "";
- mes "Breath taking battle with monsters!";
- mes "Where is your limit?";
- mes "PvE party with your comrad!";
- mes "All these at Arena!!";
- close;
+ mes("== Challenge! Arena! ==");
+ mes("");
+ mes("Breath taking battle with monsters!");
+ mes("Where is your limit?");
+ mes("PvE party with your comrad!");
+ mes("All these at Arena!!");
+ close();
}
OnInit:
- // AddQuestInfo 7476 0 0
- // SetQuestQuest 7476 7474 1
+ // Addquestinfo 7476 0 0
+ // setquestQuest 7476 7474 1
end;
OnTouch:
if (questprogress(7474) == 1 && !questprogress(7476))
- emotion e_gasp;
+ emotion(e_gasp);
end;
}
@@ -1754,138 +1933,138 @@ izlude,45,94,3 script Bulletin Board#iz 4_BULLETIN_BOARD2,3,3,{
.@total = questprogress(7475) + questprogress(7476) + questprogress(7477);
if (questprogress(7474) == 1) {
if (!questprogress(7477)) {
- mes "==== Information ====";
- mes "";
- mes "Prontera Field.";
- mes "The city of Prontera is located to the north.";
- next;
+ mes("==== Information ====");
+ mes("");
+ mes("Prontera Field.");
+ mes("The city of Prontera is located to the north.");
+ next();
if (.@total == 1) {
- mes "Except for the simple signboard, nothing can be found here.";
- next;
+ mes("Except for the simple signboard, nothing can be found here.");
+ next();
select("Where's the treasure?");
- mes "[Lumin]";
- mes "Yo.";
- mes "Sorry but I am quicker than you.";
- mes "There were Fly Wings here..";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "In fact, I don't like Fly's wings.";
- mes "Flies are so dirty.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Lumin]";
- mes "By the way, why is one of the convenient transportations fly wing shaped?";
- mes "Perhaps you know?";
- next;
- mes "[Lumin]";
- mes "...you don't know.";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "", 255;
- mes "Defeated by Lumin again.";
- mes "Keep calm and find the next location.";
- setquest 7477;
- viewpoint 2,45,94,2,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Yo.");
+ mes("Sorry but I am quicker than you.");
+ mes("There were Fly Wings here..");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("In fact, I don't like Fly's wings.");
+ mes("Flies are so dirty.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Lumin]");
+ mes("By the way, why is one of the convenient transportations fly wing shaped?");
+ mes("Perhaps you know?");
+ next();
+ mes("[Lumin]");
+ mes("...you don't know.");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("", 255);
+ mes("Defeated by Lumin again.");
+ mes("Keep calm and find the next location.");
+ setquest(7477);
+ viewpoint 2, 45, 94, 2, 0xFF0000;
+ close();
} else if (.@total > 1) {
- mes "[Lumin]";
- mes ".......";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "...Hello";
- cutin "nov_lumin03.bmp", 2;
- next;
- if(select("Are you kidding me?!", "Where's the treasure?") == 1) {
- mes "[Lumin]";
- mes "No...";
- mes "Meeting three times in one day must be destiny.";
- mes "You and I can be friends.";
- cutin "nov_lumin05.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes(".......");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("...Hello");
+ cutin("nov_lumin03", 2);
+ next();
+ if (select("Are you kidding me?!", "Where's the treasure?") == 1) {
+ mes("[Lumin]");
+ mes("No...");
+ mes("Meeting three times(in one day must be destiny.");
+ mes("You and I can be friends.");
+ cutin("nov_lumin05", 2);
+ next();
select("Or Frenemies!");
- mes "[Lumin]";
- mes "Frene-what? Oh well I'm done with the mission.";
- mes "Take care.";
- cutin "nov_lumin02.bmp", 2;
- next;
- cutin "", 255;
- mes "[" + strcharinfo(0) + "]";
- mes "Are you even listening to me?!";
- setquest 7477;
- viewpoint 2,45,94,2,0xFF0000;
- next;
- mes "^4d4dff...I have to report the result to the Information Staff...^000000.";
- close;
+ mes("[Lumin]");
+ mes("Frene-what? Oh well I'm done with the mission.");
+ mes("Take care.");
+ cutin("nov_lumin02", 2);
+ next();
+ cutin("", 255);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Are you even listening to me?!");
+ setquest(7477);
+ viewpoint 2, 45, 94, 2, 0xFF0000;
+ next();
+ mes("^4d4dff...I have to report the result to the Information Staff...^000000.");
+ close();
}
- mes "[Lumin]";
- mes "Fly Wings.";
- mes "If I hand them over to you, you'll just waste 'em so I think I'll keep them.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Come on this is just friendly competition.";
- cutin "nov_lumin05.bmp", 2;
- next;
- mes "[Lumin]";
- mes "I am doing this for you to make you stronger.";
- mes "Now, so long.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "^4d4dff...I have to report of the result to Information staff...^000000.";
- setquest 7477;
- viewpoint 2,45,94,2,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("Fly Wings.");
+ mes("If I hand them over to you, you'll just waste 'em so I think I'll keep them.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("Come on this is just friendly competition.");
+ cutin("nov_lumin05", 2);
+ next();
+ mes("[Lumin]");
+ mes("I am doing this for you to make you stronger.");
+ mes("Now, so long.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("^4d4dff...I have to report of the result to Information staff...^000000.");
+ setquest(7477);
+ viewpoint 2, 45, 94, 2, 0xFF0000;
+ close();
} else {
- mes "Except for the simple signboard, nothing can be found.";
- next;
+ mes("Except for the simple signboard, nothing can be found.");
+ next();
select("Why is there nothing?");
- mes "[Lumin]";
- mes "Of course.";
- mes "Fly's wings were here so I already packed them in my bag.";
- cutin "nov_lumin01.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Of course.");
+ mes("Fly's wings were here so I already packed them in my bag.");
+ cutin("nov_lumin01", 2);
+ next();
select("So can I have some?");
- mes "[Lumin]";
- mes "That's not fair, I was here first so they're mine.";
- mes "You better get to the next stop faster if you want the prize.";
- cutin "nov_lumin03.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Well, then.....";
- next;
- cutin "", 255;
- mes "Lumin disappeared with his long hair in the air.";
- mes "This guy....";
- setquest 7477;
- viewpoint 2,45,94,2,0xFF0000;
- close;
+ mes("[Lumin]");
+ mes("That's not fair, I was here first so they're mine.");
+ mes("You better get to the next stop faster if you want the prize.");
+ cutin("nov_lumin03", 2);
+ next();
+ mes("[Lumin]");
+ mes("Well, then.....");
+ next();
+ cutin("", 255);
+ mes("Lumin disappeared with his long hair in the air.");
+ mes("This guy....");
+ setquest(7477);
+ viewpoint 2, 45, 94, 2, 0xFF0000;
+ close();
}
} else {
- mes "==== Information ====";
- mes "";
- mes "Prontera Field.";
- mes "The city of Prontera is located to the north.";
- close;
+ mes("==== Information ====");
+ mes("");
+ mes("Prontera Field.");
+ mes("The city of Prontera is located to the north.");
+ close();
}
} else {
- mes "==== Information ====";
- mes "";
- mes "Prontera Field.";
- mes "The city of Prontera is located to the north.";
- close;
+ mes("==== Information ====");
+ mes("");
+ mes("Prontera Field.");
+ mes("The city of Prontera is located to the north.");
+ close();
}
OnInit:
- // AddQuestInfo 7477 0 0
- // SetQuestQuest 7477 7474 1
+ // Addquestinfo 7477 0 0
+ // setquestQuest 7477 7474 1
end;
OnTouch:
if (questprogress(7474) == 1 && !questprogress(7477))
- emotion e_gasp;
+ emotion(e_gasp);
end;
}
@@ -1898,202 +2077,202 @@ izlude_d,45,94,3 duplicate(Bulletin Board#iz) Bulletin Board#iz_d 4_BULLETIN_BOA
// - Gives the player a basic quest and teaches them First Aid.
iz_ac01,59,43,3 script Therapist#ac 4_M_6THPRIN1,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Quest cannot be continued due to the overfilled inventory.";
- mes "Please try it again after organizing the items.";
- close;
- }
- mes "[Therapist]";
- if(questprogress(4269) == 2) {
- mes "Are you a student?";
- mes "Do you have any problem in your body?";
- next;
+ mes("Quest cannot be continued due to the overfilled inventory.");
+ mes("Please try it again after organizing the items.");
+ close();
+ }
+ mes("[Therapist]");
+ if (questprogress(4269) == 2) {
+ mes("Are you a student?");
+ mes("Do you have any problem in your body?");
+ next();
.@menu$ = "Help me!:Teach me the First Aid Skill:^ff0000Red Herb Quest^000000:Save Location";
} else {
- mes "This is the dispensary of the Royal Criatura Academy.";
- mes "How can I help you?";
- next;
+ mes("This is the dispensary of the Royal Criatura Academy.");
+ mes("How can I help you?");
+ next();
.@menu$ = "Help me!:First Aid Skill::I want to rest.";
}
switch(select(.@menu$)) {
case 1:
if (BaseLevel <= 20) {
- mes "[Therapist]";
- mes "Are you injured?";
- mes "Even the emergency treatment didn't work for you?";
- next;
+ mes("[Therapist]");
+ mes("Are you injured?");
+ mes("Even the emergency treatment didn't work for you?");
+ next();
npcskill "AL_HEAL", 3, 50, 60;
- percentheal 0, 50;
- mes "[Therapist]";
- mes "Is that good enough?";
- mes "Have you recovered?";
- mes "If you are sane, go to bed and rest before you go.";
- close;
+ percentheal(0, 50);
+ mes("[Therapist]");
+ mes("Is that good enough?");
+ mes("Have you recovered?");
+ mes("If you are sane, go to bed and rest before you go.");
+ close();
} else {
- mes "[Therapist]";
- mes "I feel sorry for you but...";
- mes "I can only give my free healing service to those under base level 20.";
- mes "You don't look like you're going to die anyways.";
- next;
- mes "[Therapist]";
- mes "Just take a rest here until you've recovered.";
- mes "There are lots of vacant beds!";
- close;
+ mes("[Therapist]");
+ mes("I feel sorry for you but...");
+ mes("I can only give my free healing service to those under base level 20.");
+ mes("You don't look like you're going to die anyways.");
+ next();
+ mes("[Therapist]");
+ mes("Just take a rest here until you've recovered.");
+ mes("There are lots of vacant beds!");
+ close();
}
break;
case 2:
if (getskilllv("NV_FIRSTAID")) {
- mes "[Therapist]";
- mes "You already know about First Aid.";
- mes "We both are busy. Don't bother me.";
- close;
+ mes("[Therapist]");
+ mes("You already know about First Aid.");
+ mes("We both are busy. Don't bother me.");
+ close();
} else {
- mes "[Therapist]";
- mes "You are commendable!";
- mes "First Aid is a skill that transfers SP to HP during emergency situations.";
- next;
- mes "[Therapist]";
- mes "Recovery ratio is very minimal...";
- mes "It can help you avoid dying but won't give you much HP.";
- specialeffect2 EF_BEGINSPELL6;
- specialeffect2 EF_SPELLBREAKER;
- next;
- mes "[Therapist]";
- mes "Press ^4d4dffALT + S^000000 to open your Skill window to see your skills.";
+ mes("[Therapist]");
+ mes("You are commendable!");
+ mes("First Aid is a skill that transfers SP to HP during emergency situations.");
+ next();
+ mes("[Therapist]");
+ mes("Recovery ratio is very minimal...");
+ mes("It can help you avoid dying but won't give you much HP.");
+ specialeffect2(EF_BEGINSPELL6);
+ specialeffect2(EF_SPELLBREAKER);
+ next();
+ mes("[Therapist]");
+ mes("Press ^4d4dffALT + S^000000 to open your Skill window to see your skills.");
skill "NV_FIRSTAID", 1, 0;
skill_nov = 3;
- getexp 1000, 40;
- next;
- mes "[Therapist]";
- mes "If you press ^4d4dffF12^000000...";
- mes "The shortcut window will open up with nine small compartments to register your skills to.";
- next;
- mes "[Therapist]";
- mes "Dragging the right hand corner at the shortcut window, you can open up more skill shortcut pages.";
- next;
- mes "[Therapist]";
- mes "It is a simple use.. ^4d4dff Each slot responds to individual keys from F1 to F9^000000.";
- mes "Needed skills or items can be immediately used after registering on the corresponding slots.";
- next;
- cutin "tutorial05.bmp", 4;
- mes "!- Information -!";
- mes "You can register needed items or skills at ^4d4dff shortcut slots by dragging the icons.";
- next;
- mes "!- Information -!";
- mes "^4d4dff The registered items and equipment at^4d4dff the slots can be immediately used or armed by pressing the reponding F1 - F9 keys.";
- next;
- mes "!- Information -!";
- mes "By setting the ^4d4dffshortcut keys as you want, you can use the responding shortcut key.";
- next;
- mes "!- Information -!";
- mes "^4d4dffyou may register the frequently using items and skills, and use them at your convenience.";
- cutin "", 255;
- next;
- mes "[Therapist]";
- mes "Now open the skill window and register [First Aid] as shortcut key, then use it.";
- mes "You will find it is more covenient to use this way.";
- close;
+ getexp(1000, 40);
+ next();
+ mes("[Therapist]");
+ mes("If you press ^4d4dffF12^000000...");
+ mes("The shortcut window will open up with nine small compartments to register your skills to.");
+ next();
+ mes("[Therapist]");
+ mes("Dragging the right hand corner at the shortcut window, you can open up more skill shortcut pages.");
+ next();
+ mes("[Therapist]");
+ mes("It is a simple use.. ^4d4dff Each slot responds to individual keys from F1 to F9^000000.");
+ mes("Needed skills or items can be immediately used after registering on the corresponding slots.");
+ next();
+ cutin("tutorial05", 4);
+ mes("!- Information -!");
+ mes("You can register needed items or skills at ^4d4dff shortcut slots by dragging the icons.");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dff The registered items and equipment at^4d4dff the slots can be immediately used or armed by pressing the reponding F1 - F9 keys.");
+ next();
+ mes("!- Information -!");
+ mes("By setting the ^4d4dffshortcut keys as you want, you can use the responding shortcut key.");
+ next();
+ mes("!- Information -!");
+ mes("^4d4dffyou may register the frequently using items and skills, and use them at your convenience.");
+ cutin("", 255);
+ next();
+ mes("[Therapist]");
+ mes("Now open the skill window and register [First Aid] as shortcut key, then use it.");
+ mes("You will find it is more covenient to use this way.");
+ close();
}
case 3:
if (!questprogress(7478)) {
- mes "[Therapist]";
- mes "Have you investigated the growing plants in the field?";
- mes "^4d4dff Red Plant, Blue Plant, Green Plant, White Plant^000000etc..";
- next;
- mes "[Therapist]";
- mes "You can get different colored herbs from the various plants.";
- mes "Processing herbs turns to be a various useful potions.";
- next;
- mes "[Therapist]";
- mes "Now, shall we collect the Red Herb with your hands?";
- next;
- mes "[Therapist]";
- mes "A ^4d4dffRed Plant is growing near the academy building.^000000.";
- mes "I secretly planted it for today.";
- mes "Go and get ^4d4dff1 Red Herb^000000.";
- setquest 7478;
- close;
+ mes("[Therapist]");
+ mes("Have you investigated the growing plants in the field?");
+ mes("^4d4dff Red Plant, Blue Plant, Green Plant, White Plant^000000etc..");
+ next();
+ mes("[Therapist]");
+ mes("You can get different colored herbs from the various plants.");
+ mes("Processing herbs turns to be a various useful potions.");
+ next();
+ mes("[Therapist]");
+ mes("Now, shall we collect the Red Herb with your hands?");
+ next();
+ mes("[Therapist]");
+ mes("A ^4d4dffRed Plant is growing near the academy building.^000000.");
+ mes("I secretly planted it for today.");
+ mes("Go and get ^4d4dff1 Red Herb^000000.");
+ setquest(7478);
+ close();
} else if (questprogress(7478) == 1) {
if (countitem(Red_Herb) > 0) {
- mes "[Therapist]";
- mes "You got it.";
- mes "^4d4dffYou could eat this herb and get the benefit of it immediately but it will be more efficient if you make it into a potion.^000000.";
- next;
- mes "[Therapist]";
- mes "Herbs vary their virtues according to their color.";
- mes "^4d4dffGreen Herbs^000000 detox you.";
- mes "^4d4dffBlue Herbs^000000 recover your SP.";
- next;
- mes "[Therapist]";
- mes "Any other?";
- mes "Well, HP is recovering like this red herb.";
- mes "This like this... Make a nectar and put it into a bottle....";
- next;
- mes "[Therapist]";
- mes "This becomes the recovering potion possible to take anywhere, anytime.";
- mes "I will give it to you as souvenir.";
- mes "And also give you the recipe to make potions easily.";
- next;
- mes "[Therapist]";
- mes "This is the book for the simple combination of potion use.";
- mes "You can make it easily by ^4d4dffusing the combination kit or cooking tool^000000.";
- completequest 7478;
- getexp 2000, 50;
- getitem Novice_Potion, 30; // Novice_Potion
- getitem Novice_Combi_Book, 1; // Novice_Combi_Book
- getitem Combination_Kit, 10; // Combination_Kit
- getitem Red_Herb, 1; // Red_Herb
- getitem Apple, 1; // Apple
- next;
- mes "[Therapist]";
- mes "Not only potions but also other easily attainable things can be turned to various tools. Please make use of them.";
- next;
- mes "[Therapist]";
- mes "For your trial to make it, I gave you a Red Herb and one Apple,";
- mes "How about making it with the combination kit?";
- next;
- mes "[Therapist]";
- mes "Read the combination kit by ^4d4dffright-clicking^000000, and ^4d4dffclick the book shaped icon^000000 which will open up the explanation window.";
- close;
+ mes("[Therapist]");
+ mes("You got it.");
+ mes("^4d4dffYou could eat this herb and get the benefit of it immediately but it will be more efficient if you make it into a potion.^000000.");
+ next();
+ mes("[Therapist]");
+ mes("Herbs vary their virtues according to their color.");
+ mes("^4d4dffGreen Herbs^000000 detox you.");
+ mes("^4d4dffBlue Herbs^000000 recover your SP.");
+ next();
+ mes("[Therapist]");
+ mes("Any other?");
+ mes("Well, HP is recovering like this red herb.");
+ mes("This like this... Make a nectar and put it into a bottle....");
+ next();
+ mes("[Therapist]");
+ mes("This becomes(the recovering potion possible to take anywhere, anytime.");
+ mes("I will give it to you as souvenir.");
+ mes("And also give you the recipe to make potions easily.");
+ next();
+ mes("[Therapist]");
+ mes("This is the book for the simple combination of potion use.");
+ mes("You can make it easily by ^4d4dffusing the combination kit or cooking tool^000000.");
+ completequest(7478);
+ getexp(2000, 50);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getitem(Novice_Combi_Book, 1); // Novice_Combi_Book
+ getitem(Combination_Kit, 10); // Combination_Kit
+ getitem(Red_Herb, 1); // Red_Herb
+ getitem(Apple, 1); // Apple
+ next();
+ mes("[Therapist]");
+ mes("Not only potions but also other easily attainable things can be turned to various tools. Please make use of them.");
+ next();
+ mes("[Therapist]");
+ mes("For your trial to make it, I gave you a Red Herb and one Apple,");
+ mes("How about making it with the combination kit?");
+ next();
+ mes("[Therapist]");
+ mes("Read the combination kit by ^4d4dffright-clicking^000000, and ^4d4dffclick the book shaped icon^000000 which will open up the explanation window.");
+ close();
} else {
- mes "[Therapist]";
- mes "Why don't you learn about the virtues of herbs?";
- mes "Bring one Red Herb by beating the growing Red Herb near the academy building.";
- next;
- mes "[Therapist]";
- mes "You can find it near the entrance of the academy.";
- close;
+ mes("[Therapist]");
+ mes("Why don't you learn about the virtues of herbs?");
+ mes("Bring one Red Herb by beating the growing Red Herb near the academy building.");
+ next();
+ mes("[Therapist]");
+ mes("You can find it near the entrance of the academy.");
+ close();
}
} else {
- mes "[Therapist]";
- mes "I already let you know about the basic medical botany.";
- mes "By the way, there is something called a ^4d4dffShining Plant^000000 here on Rune Midgard.";
- next;
- mes "[Therapist]";
- mes "Nobody knows which herb comes out from this plant.";
- mes "Once I got the fruit of Yggdrasil.";
- next;
- mes "[Therapist]";
- mes "And, in the Alberta merchant guild, there is an old man making potions.";
- mes "You can ask him for help.";
- next;
- mes "[Therapist]";
- mes "^4d4dffAlchemist^000000 or ^4d4dffBiochemist^000000 or the higher class job ^4d4dff Geneticist^000000 are all good at creating potions.";
- next;
- mes "[Therapist]";
- mes "If you want to have a well-made potion, it may be a good idea to ask for a specialist.";
- close;
+ mes("[Therapist]");
+ mes("I already let you know about the basic medical botany.");
+ mes("By the way, there is something called a ^4d4dffShining Plant^000000 here on Rune Midgard.");
+ next();
+ mes("[Therapist]");
+ mes("Nobody knows which herb comes(out from this plant.");
+ mes("Once I got the fruit of Yggdrasil.");
+ next();
+ mes("[Therapist]");
+ mes("And, in the Alberta merchant guild, there is an old man making potions.");
+ mes("You can ask him for help.");
+ next();
+ mes("[Therapist]");
+ mes("^4d4dffAlchemist^000000 or ^4d4dffBiochemist^000000 or the higher class job ^4d4dff Geneticist^000000 are all good at creating potions.");
+ next();
+ mes("[Therapist]");
+ mes("If you want to have a well-made potion, it may be a good idea to ask for a specialist.");
+ close();
}
case 4:
- mes "[Therapist]";
- mes "I see...";
- mes "For emergency situations, in case you've fainted and want to be brought back here, I will save your current location.";
- savepoint "iz_ac01", 45, 46;
- close;
+ mes("[Therapist]");
+ mes("I see...");
+ mes("For emergency situations, in case you've fainted and want to be brought back here, I will save your current location.");
+ savepoint("iz_ac01", 45, 46);
+ close();
}
OnInit:
- // AddQuestInfo 7478 0 0
- // SetQuestQuest 7478 4269 2
+ // Addquestinfo 7478 0 0
+ // setquestQuest 7478 4269 2
end;
}
@@ -2108,20 +2287,20 @@ izlude,141,251,0 script Cultivated Red Plant#0 RED_PLANT,3,3,{
OnTouch:
if (questprogress(7478) == 1 && !questprogress(7479))
- donpcevent "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable";
+ donpcevent("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable");
end;
OnDisable:
- specialeffect EF_STEAL;
- disablenpc "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN);
- emotion e_gasp, 1;
- emotion e_heh, 0, "Academy Student#"+strnpcinfo(NPC_NAME_HIDDEN);
- initnpctimer;
+ specialeffect(EF_STEAL);
+ disablenpc("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN));
+ emotion(e_gasp, 1);
+ emotion(e_heh, 0, "Academy Student#"+strnpcinfo(NPC_NAME_HIDDEN));
+ initnpctimer();
end;
OnTimer30000:
- enablenpc "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN);
- stopnpctimer;
+ enablenpc("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN));
+ stopnpctimer();;
end;
}
@@ -2133,108 +2312,108 @@ izlude_d,141,251,0 duplicate(Cultivated Red Plant#0) Cultivated Red Plant#d RED_
//- Academy Student (Red Herb Quest) -
izlude,140,249,7 script Academy Student#0 4_M_NOV_RUMIN,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Your inventory is too full so you can't continue this quest.";
- mes "Please try it again after organizing the items.";
- close;
+ mes("Your inventory is too full so you can't continue this quest.");
+ mes("Please try it again after organizing the items.");
+ close();
}
if (questprogress(7478) == 1 && !questprogress(7479)) {
- specialeffect EF_STEAL, AREA, "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN);
- donpcevent "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable";
- emotion e_gasp, 1;
- emotion e_heh;
- mes "[Lumin]";
- mes "Hey there Turtle";
- mes "You are really slow.";
- mes "This Red Plant is no longer useful for you.";
- cutin "nov_lumin01.bmp", 2;
- next;
- if(select("What are you talking about?", "Who're you?") == 1) {
- mes "[Lumin]";
- mes "You heard me.";
- mes "Aren't you here to collect the Red Plant for the Academy Therapist.";
- next;
- mes "[Lumin]";
- mes "But, But something weird just happened.";
- mes "It happened right before my eyes.";
- next;
+ specialeffect(EF_STEAL, AREA, "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN));
+ donpcevent("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable");
+ emotion(e_gasp, 1);
+ emotion(e_heh);
+ mes("[Lumin]");
+ mes("Hey there Turtle");
+ mes("You are really slow.");
+ mes("This Red Plant is no longer useful for you.");
+ cutin("nov_lumin01", 2);
+ next();
+ if (select("What are you talking about?", "Who're you?") == 1) {
+ mes("[Lumin]");
+ mes("You heard me.");
+ mes("Aren't you here to collect the Red Plant for the Academy Therapist.");
+ next();
+ mes("[Lumin]");
+ mes("But, But something weird just happened.");
+ mes("It happened right before my eyes.");
+ next();
} else {
if (questprogress(7472) > 0 || questprogress(7474) > 1) {
- mes "[Lumin]";
- mes "Did you lose your memory?";
- mes "If the captain hears about it, he'll cry.";
- mes "It is still ok as long as I remember you.";
- cutin "nov_lumin02.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Did you lose your memory?");
+ mes("If the captain hears about it, he'll cry.");
+ mes("It is still ok as long as I remember you.");
+ cutin("nov_lumin02", 2);
+ next();
} else {
- mes "[Lumin]";
- mes "Lumin.";
- mes ".......";
- mes "How about being happy?";
- cutin "nov_lumin04.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Lumin.");
+ mes(".......");
+ mes("How about being happy?");
+ cutin("nov_lumin04", 2);
+ next();
}
}
- mes "[Lumin]";
- mes "Anyway, let me explain it to you, I have just cut all the leaves of this Red Plant.";
- mes "You can't collect the Red Plant anymore.";
- cutin "nov_lumin02.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("Anyway, let me explain it to you, I have just cut all the leaves of this Red Plant.");
+ mes("You can't collect the Red Plant anymore.");
+ cutin("nov_lumin02", 2);
+ next();
select("Ok so give me a ^ff0000Red Herb^000000");
- mes "[Lumin]";
- mes "OK... then...";
- mes "I don't even need it anyways. I already know all about basic medical botany.";
- cutin "nov_lumin03.bmp", 2;
- next;
+ mes("[Lumin]");
+ mes("OK... then...");
+ mes("I don't even need it anyways. I already know all about basic medical botany.");
+ cutin("nov_lumin03", 2);
+ next();
select("Then, why did you do it?");
- mes "[Lumin]";
- mes "I didn't do it!";
- mes "I was just standing here.";
- cutin "nov_lumin05.bmp", 2;
- next;
- mes "[Lumin]";
- mes "Here take this Red Herb.";
- cutin "nov_lumin01.bmp", 2;
- setquest 7479;
- completequest 7479;
- getitem Red_Herb, 1; // Red_Herb
- next;
- mes "[Lumin]";
- mes "Ah... see it's growing back.";
- enablenpc "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
+ mes("[Lumin]");
+ mes("I didn't do it!");
+ mes("I was just standing here.");
+ cutin("nov_lumin05", 2);
+ next();
+ mes("[Lumin]");
+ mes("Here take this Red Herb.");
+ cutin("nov_lumin01", 2);
+ setquest(7479);
+ completequest(7479);
+ getitem(Red_Herb, 1); // Red_Herb
+ next();
+ mes("[Lumin]");
+ mes("Ah... see it's growing back.");
+ enablenpc("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
} else {
if (Class == Job_Novice) {
if (questprogress(7478) == 1) {
- mes "[Lumin]";
- mes "I guess you should go back to the Therapist.";
- mes "He's probably waiting for you..";
- cutin "nov_lumin01.bmp", 2;
- close2;
+ mes("[Lumin]");
+ mes("I guess you should go back to the Therapist.");
+ mes("He's probably waiting for you..");
+ cutin("nov_lumin01", 2);
+ close2();
} else {
- mes "He seems to think of something deeply.";
- mes "Disregard it.";
- close;
+ mes("He seems to think of something deeply.");
+ mes("Disregard it.");
+ close();
}
} else {
if (questprogress(7479) == 2) {
- mes "[Criatura Student]";
- mes ".......";
- next;
- mes "This student looks familiar...";
- close;
+ mes("[Criatura Student]");
+ mes(".......");
+ next();
+ mes("This student looks familiar...");
+ close();
} else {
- mes "[Criatura Student]";
- mes ".......";
- close;
+ mes("[Criatura Student]");
+ mes(".......");
+ close();
}
}
}
- cutin "", 255;
+ cutin("", 255);
end;
OnInit:
- //AddQuestInfo 7479 1 0
- //SetQuestQuest 7479 7478 1
+ //Addquestinfo 7479 1 0
+ //setquestQuest 7479 7478 1
end;
}
@@ -2246,163 +2425,163 @@ izlude_d,140,249,7 duplicate(Academy Student#0) Academy Student#d 4_M_NOV_RUMIN
//- Instructor Argos (Trick Dead Quest) -
izlude,140,260,3 script Instructor Argos#iz 4_M_LIEMAN,{
if (Class != Job_Novice && getskilllv("NV_TRICKDEAD") != 0) {
- mes "[Instructor Argos]";
- mes "snoring... snoring...";
- close;
+ mes("[Instructor Argos]");
+ mes("snoring... snoring...");
+ close();
}
if (questprogress(15001) == 2) {
- mes "[Instructor Argos]";
- mes "snoring... snoring...";
- close;
+ mes("[Instructor Argos]");
+ mes("snoring... snoring...");
+ close();
}
if (!questprogress(15001, PLAYTIME)) {
- mes "- ......";
- next;
- mes "- A man is lying here";
- mes "- he's barely breathing.";
- next;
- mes "- Is this maybe...?!";
- next;
- mes "- an accident...";
- mes "- yes, this is a murder!";
- mes "- There's a murderer here!";
- next;
- mes "- I swear on some old person's grave";
- mes "- I will solve this case!";
- next;
- mes "[Instructor Argos]";
- mes "Yawn. Who are you making so much noise next to me...";
- next;
+ mes("- ......");
+ next();
+ mes("- A man is lying here");
+ mes("- he's barely breathing.");
+ next();
+ mes("- Is this maybe...?!");
+ next();
+ mes("- an accident...");
+ mes("- yes, this is a murder!");
+ mes("- There's a murderer here!");
+ next();
+ mes("- I swear on some old person's grave");
+ mes("- I will solve this case!");
+ next();
+ mes("[Instructor Argos]");
+ mes("Yawn. Who are you making so much noise next to me...");
+ next();
select("You aren't dead?");
- emotion e_omg, 1;
- mes "[Instructor Argos]";
- mes "Dead?! Who....?";
- mes "me? Pu ha ha ha!!";
- next;
- emotion e_heh;
- mes "[Instructor Argos]";
- mes "Sorry for laughing. Ha ha ha!";
- mes "I was just taking a nap because the weather is good.";
- next;
+ emotion(e_omg, 1);
+ mes("[Instructor Argos]");
+ mes("Dead?! Who....?");
+ mes("me? Pu ha ha ha!!");
+ next();
+ emotion(e_heh);
+ mes("[Instructor Argos]");
+ mes("Sorry for laughing. Ha ha ha!");
+ mes("I was just taking a nap because the weather is good.");
+ next();
select("But you weren't breathing...");
- mes "[Instructor Argos]";
- mes "Ahh...... that?";
- mes "Right it makes sense that you misunderstood.";
- next;
- mes "[Instructor Argos]";
- mes "I used the skill<^ff0000Play Dead^000000> because I didn't want to be disturbed by monsters or someone else.";
- next;
- mes "[Instructor Argos]";
- mes "I never thought someone would think of me as an actual dead body.";
- next;
- mes "[Instructor Argos]";
- mes "Oh, I see... you are a new novice who just has arrived here?";
- next;
- mes "[Instructor Argos]";
- mes "I guess it is unexpected and surprising but do you want to learn <^ff0000Play Dead^000000>?";
- next;
- mes "[Instructor Argos]";
- mes "I am sure that it will help you. How do you think about it?";
- next;
- if(select("I am sorry but I am busy.", "I want to learn it!") == 1) {
- mes "[Instructor Argos]";
- mes "Really ? If you are busy then fine by me.";
- mes "I should keep sleeping.";
- mes "yawning...";
- close;
- }
- mes "[Instructor Argos]";
- mes "You made a right decision!";
- mes "I want to teach you for good.";
- emotion e_no1;
- next;
- mes "[Instructor Argos]";
- mes "A novice does not know the potential power of himself nor how strong the enemy is.";
- next;
- mes "[Instructor Argos]";
- mes "There is a studious type of novice who studies well..but i guess we are not.";
- next;
- mes "[Instructor Argos]";
- mes "Just take prompt action.";
- mes "And sometimes you'll be defeated by stong enemies...";
- next;
- mes "[Instructor Argos]";
- mes "Huh? You're right this is my story.";
- mes "I was getting sick of being defeated.";
- next;
- mes "[Instructor Argos]";
- mes "One day, a good idea came to my mind. If I pretend to be dead when I find a strong enemy...";
- next;
- mes "[Instructor Argos]";
- mes "I was faced with the risk of death, because I was not good at pretending to be dead.";
- mes "Even when I look back at that time. it is still thrilling...";
- emotion e_wah;
- next;
- mes "[Instructor Argos]";
- mes "let's continue to talk";
- mes "So ever since then, Playing Dead started working out for me!";
- next;
- mes "[Instructor Argos]";
- mes "And then...";
- mes "I could not hold a breath for a long time.";
- mes "That was a problem!";
- mes "Clever monsters were checking out my breath!";
- next;
- mes "[Instructor Argos]";
- mes "So I had to train myself to hold my breath for a long time.";
- next;
- mes "[Instructor Argos]";
- mes "Sounds complicated.. but it is quite simple.";
- next;
- mes "[Instructor Argos]";
- mes "If you feel like you can not beat the enemy, when a strong one appears, just fall down on the ground and pretend to be dead.";
- next;
- mes "[Instructor Argos]";
- mes "I will put you on a brief test whether you hold you breathe or not.";
- next;
- mes "[Instructor Argos]";
- mes "Hold a breath for 20 seconds, then talk to me later. I won't admit you if you talk to me before that time is over!";
- next;
- mes "[Instructor Argos]";
- mes "Start!";
- close2;
- setquest 15001;
+ mes("[Instructor Argos]");
+ mes("Ahh...... that?");
+ mes("Right it makes sense that you misunderstood.");
+ next();
+ mes("[Instructor Argos]");
+ mes("I used the skill<^ff0000Play Dead^000000> because I didn't want to be disturbed by monsters or someone else.");
+ next();
+ mes("[Instructor Argos]");
+ mes("I never thought someone would think of me as an actual dead body.");
+ next();
+ mes("[Instructor Argos]");
+ mes("Oh, I see... you are a new novice who just has arrived here?");
+ next();
+ mes("[Instructor Argos]");
+ mes("I guess it is unexpected and surprising but do you want to learn <^ff0000Play Dead^000000>?");
+ next();
+ mes("[Instructor Argos]");
+ mes("I am sure that it will help you. How do you think about it?");
+ next();
+ if (select("I am sorry but I am busy.", "I want to learn it!") == 1) {
+ mes("[Instructor Argos]");
+ mes("Really ? If you are busy then fine by me.");
+ mes("I should keep sleeping.");
+ mes("yawning...");
+ close();
+ }
+ mes("[Instructor Argos]");
+ mes("You made a right decision!");
+ mes("I want to teach you for good.");
+ emotion(e_no1);
+ next();
+ mes("[Instructor Argos]");
+ mes("A novice does not know the potential power of himself nor how strong the enemy is.");
+ next();
+ mes("[Instructor Argos]");
+ mes("There is a studious type of novice who studies well..but i guess we are not.");
+ next();
+ mes("[Instructor Argos]");
+ mes("Just take prompt action.");
+ mes("And sometimes(you'll be defeated by stong enemies...");
+ next();
+ mes("[Instructor Argos]");
+ mes("Huh? You're right this is my story.");
+ mes("I was getting sick of being defeated.");
+ next();
+ mes("[Instructor Argos]");
+ mes("One day, a good idea came to my mind. If I pretend to be dead when I find a strong enemy...");
+ next();
+ mes("[Instructor Argos]");
+ mes("I was faced with the risk of death, because I was not good at pretending to be dead.");
+ mes("Even when I look back at that time. it is still thrilling...");
+ emotion(e_wah);
+ next();
+ mes("[Instructor Argos]");
+ mes("let's continue to talk");
+ mes("So ever since then, Playing Dead started working out for me!");
+ next();
+ mes("[Instructor Argos]");
+ mes("And then...");
+ mes("I could not hold a breath for a long time.");
+ mes("That was a problem!");
+ mes("Clever monsters were checking out my breath!");
+ next();
+ mes("[Instructor Argos]");
+ mes("So I had to train myself to hold my breath for a long time.");
+ next();
+ mes("[Instructor Argos]");
+ mes("Sounds complicated.. but it is quite simple.");
+ next();
+ mes("[Instructor Argos]");
+ mes("If you feel like you can not beat the enemy, when a strong one appears, just fall down on the ground and pretend to be dead.");
+ next();
+ mes("[Instructor Argos]");
+ mes("I will put you on a brief test whether you hold you breathe or not.");
+ next();
+ mes("[Instructor Argos]");
+ mes("Hold a breath for 20 seconds, then talk to me later. I won't admit you if you talk to me before that time is over!");
+ next();
+ mes("[Instructor Argos]");
+ mes("Start!");
+ close2();
+ setquest(15001);
end;
} else if (questprogress(15001, PLAYTIME) == 1) {
- mes "[Instructor Argos]";
- mes "What? You aren't able to hold your breath for even 20 seconds?";
- mes "You can't learn this skill until you are able to hold it!";
- next;
- mes "[Instructor Argos]";
- mes "Hold breath for 20 seconds again!";
- mes "Then talk to me.";
- close2;
- erasequest 15001;
- setquest 15001;
+ mes("[Instructor Argos]");
+ mes("What? You aren't able to hold your breath for even 20 seconds?");
+ mes("You can't learn this skill until you are able to hold it!");
+ next();
+ mes("[Instructor Argos]");
+ mes("Hold breath for 20 seconds again!");
+ mes("Then talk to me.");
+ close2();
+ erasequest(15001);
+ setquest(15001);
end;
} else {
- mes "- Learned the <^ff0000Play Dead^000000>skill.";
- completequest 15001;
+ mes("- Learned the <^ff0000Play Dead^000000>skill.");
+ completequest(15001);
skill "NV_TRICKDEAD", 1, 0;
skill_nov = 6;
- next;
- mes "[Instructor Argos]";
- mes "Okay, good job.";
- mes "If you have strong patience like that, it will save you. There will be no monsters that can hurt you.";
- next;
- mes "[Instructor Argos]";
- mes "The <^ff0000Play Dead^000000> skill is in your skill list which you can open by pressing <Alt + S>, Please do not forget to use it, it will save you when you are in a danger.";
- next;
- mes "[Instructor Argos]";
- mes "If you grow up and get another job, then you do not need this skill so do not spare it! Wse it when you need to and don't hesitate.";
- next;
- mes "[Instructor Argos]";
- mes "I need to get some sleep, do not wake me up. Yawn.";
- close;
+ next();
+ mes("[Instructor Argos]");
+ mes("Okay, good job.");
+ mes("If you have strong patience like that, it will save you. There will be no monsters that can hurt you.");
+ next();
+ mes("[Instructor Argos]");
+ mes("The <^ff0000Play Dead^000000> skill is in your skill list which you can open by pressing <Alt + S>, Please do not forget to use it, it will save you when you are in a danger.");
+ next();
+ mes("[Instructor Argos]");
+ mes("If you grow up and get another job, then you do not need this skill so do not spare it! Wse it when you need to and don't hesitate.");
+ next();
+ mes("[Instructor Argos]");
+ mes("I need to get some sleep, do not wake me up. Yawn.");
+ close();
}
OnInit:
- questinfo 15001, QTYPE_QUEST, 0, Job_Novice;
+ questinfo(15001, QTYPE_QUEST, 0, Job_Novice);
end;
}
@@ -2414,32 +2593,32 @@ izlude_d,140,260,3 duplicate(Instructor Argos#iz) Instructor Argos#iz_d 4_M_LIEM
//== Academy Receptionist ==================================
// - Gives player some basic equipment and starts Academy quests.
iz_ac01,100,39,5 script Academy Receptionist#1 4_F_01,{
- if (questprogress(7117) == 1) { erasequest 7117; }
- if (questprogress(7118) == 1) { erasequest 7118; }
- if (questprogress(7119) == 1) { erasequest 7119; }
- if (questprogress(7120) == 1) { erasequest 7120; }
- if (questprogress(7121) == 1) { erasequest 7121; }
- if (questprogress(7122) == 1) { erasequest 7122; }
- if (questprogress(7123) == 1) { erasequest 7123; }
- if (questprogress(7124) == 1) { erasequest 7124; }
- if (questprogress(7126) == 1) { erasequest 7126; }
- if (questprogress(7127) == 1) { erasequest 7127; }
+ if (questprogress(7117) == 1) { erasequest(7117); }
+ if (questprogress(7118) == 1) { erasequest(7118); }
+ if (questprogress(7119) == 1) { erasequest(7119); }
+ if (questprogress(7120) == 1) { erasequest(7120); }
+ if (questprogress(7121) == 1) { erasequest(7121); }
+ if (questprogress(7122) == 1) { erasequest(7122); }
+ if (questprogress(7123) == 1) { erasequest(7123); }
+ if (questprogress(7124) == 1) { erasequest(7124); }
+ if (questprogress(7126) == 1) { erasequest(7126); }
+ if (questprogress(7127) == 1) { erasequest(7127); }
if (questprogress(4269) == 2) {
- mes "[Receptionist]";
- mes "Hello, " + strcharinfo(0) +".";
- mes "How are you today?";
- mes "I am in charge guiding you here in the Academy.";
+ mes("[Receptionist]");
+ mesf("Hello, %s.", strcharinfo(PC_NAME));
+ mes("How are you today?");
+ mes("I am in charge guiding you here in the Academy.");
} else {
- mes "[Receptionist]";
- mes "Welcome to our Academy. I am in charge with the guide and registration for Novice education courses.";
- }
- next;
- while(1) {
- mes "[Receptionist]";
- mes "What can I do for you?";
- next;
- if(questprogress(4269) == 2)
+ mes("[Receptionist]");
+ mes("Welcome to our Academy. I am in charge with the guide and registration for Novice education courses.");
+ }
+ next();
+ while(true) {
+ mes("[Receptionist]");
+ mes("What can I do for you?");
+ next();
+ if (questprogress(4269) == 2)
.@menu$ = ":What's inside and outside the Academy.:Trainer location guide.:End Coversation.";
else
.@menu$ = "Register for the Academy:Explanation about the Academy:Location for trainers:Coversation finished";
@@ -2447,173 +2626,173 @@ iz_ac01,100,39,5 script Academy Receptionist#1 4_F_01,{
case 1:
if (Class == Job_Novice) {
if (!checkweight(Axe, 10)) {
- mes "- As you are overloaded with too many items, quest can't be continued.-";
- close;
+ mes("- As you are overloaded with too many items, quest can't be continued.-");
+ close();
}
- mes "[Receptionist]";
- mes "Let me see... Your name is... " + strcharinfo(0) + ".";
- mes "I will make a new registration for you.";
- mes "You can choose the course freely and each course has individual features.";
- next;
- mes "[Receptionist]";
- mes "And this is the the basic equipment for the educational course.";
- mes "Please make a good use of it.";
- mes "Be careful with it as it won't be provided again.";
- setquest 4269;
- completequest 4269;
- getitem Novice_Plate, 1; // Novice_Plate
- getitem Novice_Hood, 1; // Novice_Hood
- getitem Novice_Boots, 1; // Novice_Boots
- getitem Novice_Egg_Cap, 1; // Novice_Egg_Cap
- getitem Novice_Knife, 1; // Novice_Knife
- getitem Novice_Guard, 1; // Novice_Guard
- getitem Criatura_Academy_Hat, 1; // Criatura_Academy_Hat
- getitem Criatura_Hair_Coupon, 1; // Criatura_Hair_Coupon
- getitem Novice_Potion, 300; // Novice_Potion
- next;
- mes "[Receptionist]";
- mes "It is your first step to be an adventurer that you have made a visit to us.";
- getexp 100,100;
- next;
- mes "[Receptionist]";
- mes "On our next meeting, I anticipate you will grow up a bit more.";
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ mes("[Receptionist]");
+ mesf("Let me see... Your name is... %s.", strcharinfo(PC_NAME));
+ mes("I will make a new registration for you.");
+ mes("You can choose the course freely and each course has individual features.");
+ next();
+ mes("[Receptionist]");
+ mes("And this is the the basic equipment for the educational course.");
+ mes("Please make a good use of it.");
+ mes("Be careful with it as it won't be provided again.");
+ setquest(4269);
+ completequest(4269);
+ getitem(Novice_Plate, 1); // Novice_Plate
+ getitem(Novice_Hood, 1); // Novice_Hood
+ getitem(Novice_Boots, 1); // Novice_Boots
+ getitem(Novice_Egg_Cap, 1); // Novice_Egg_Cap
+ getitem(Novice_Knife, 1); // Novice_Knife
+ getitem(Novice_Guard, 1); // Novice_Guard
+ getitem(Cryptura_Academy_Hat, 1);
+ getitem(Cryptura_Hair_Coupon, 1);
+ getitem(Novice_Potion, 300); // Novice_Potion
+ next();
+ mes("[Receptionist]");
+ mes("It is your first step to be an adventurer that you have made a visit to us.");
+ getexp(100,100);
+ next();
+ mes("[Receptionist]");
+ mes("On our next meeting, I anticipate you will grow up a bit more.");
+ //ConsumespecialItem Inspector_Certificate_
+ close();
} else {
- mes "[Receptionist]";
- mes "One who is not a Novice can't attend the educational course.";
- next;
- mes "[Receptionist]";
- mes "However, a part of the educational course except the character cultivation can be freely attended. So, you may look around the Academy and neighboring places.";
- close;
+ mes("[Receptionist]");
+ mes("One who is not a Novice can't attend the educational course.");
+ next();
+ mes("[Receptionist]");
+ mes("However, a part of the educational course except the character cultivation can be freely attended. So, you may look around the Academy and neighboring places.");
+ close();
}
case 2:
switch(select("What's on the 1st floor", "What's on the 2nd floor", "Explanation about towns", "End Conversation")) {
case 1:
- mes "[Receptionist]";
- mes "The first floor is equipped with instructors that give you lessons on how the world works here in Rune Midgard.";
- next;
- mes "[Receptionist]";
- mes "First of all, at the dispensary, you can learn how to recover your physical strength and learn a skill to heal your HP";
- next;
- mes "[Receptionist]";
- mes "At the armory, you can get simple training about battling monsters in Rune Midgard.";
- next;
- mes "[Receptionist]";
- mes "At the cafeteria, you can practice cooking and and will learn its many benefits.";
- next;
+ mes("[Receptionist]");
+ mes("The first floor is equipped with instructors that give you lessons on how the world works here in Rune Midgard.");
+ next();
+ mes("[Receptionist]");
+ mes("First of all, at the dispensary, you can learn how to recover your physical strength and learn a skill to heal your HP");
+ next();
+ mes("[Receptionist]");
+ mes("At the armory, you can get simple training about battling monsters in Rune Midgard.");
+ next();
+ mes("[Receptionist]");
+ mes("At the cafeteria, you can practice cooking and and will learn its many benefits.");
+ next();
break;
case 2:
- mes "[Receptionist]";
- mes "At the 2nd floor, there are trainers that will teach you about the different job classes in the world.";
- next;
- mes "[Receptionist]";
- mes "Listen to the trainers and decide for yourself which job suits your personal style.";
- next;
+ mes("[Receptionist]");
+ mes("At the 2nd floor, there are trainers that will teach you about the different job classes in the world.");
+ next();
+ mes("[Receptionist]");
+ mes("Listen to the trainers and decide for yourself which job suits your personal style.");
+ next();
break;
case 3:
- mes "[Receptionist]";
- mes "This town is called 'Izlude' the satellite and port city of the Capital City of the Rune-Midgarts Kingdom Prontera.";
- next;
- mes "[Receptionist]";
- mes "This town was re-organized to suit the education of Novices.";
- next;
+ mes("[Receptionist]");
+ mes("This town is called 'Izlude' the satellite and port city of the Capital City of the Rune-Midgarts Kingdom Prontera.");
+ next();
+ mes("[Receptionist]");
+ mes("This town was re-organized to suit the education of Novices.");
+ next();
break;
case 4:
- mes "[Receptionist]";
- mes "Please find me, if you need anything else.";
+ mes("[Receptionist]");
+ mes("Please find me, if you need anything else.");
//if (Class == Job_Novice)
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ //ConsumespecialItem Inspector_Certificate_
+ close();
}
break;
case 3:
- while(1) {
+ while(true) {
switch(select("Game Mechanic Tutorial Instructors", "1st job trainers", "Return to the previous menu", "End Conversation")) {
case 1:
- mes "[Receptionist]";
- mes "Left-Click your mouse on the name of the trainer you are looking for and I will give guide you to them.";
- next;
- mes "<NAVI>[Therapist]<INFO>iz_ac01,59,43</INFO></NAVI>, status recovery trainer";
- mes "<NAVI>[Subino]<INFO>iz_ac01,59,83</INFO></NAVI>, battle trainer";
- mes "<NAVI>[Mainz]<INFO>iz_ac01,134,47</INFO></NAVI>, abnormal stats trainer";
- mes "<NAVI>[Dakuwazu]<INFO>iz_ac01,147,47</INFO></NAVI>, Cooking Trainer.";
- mes "<NAVI>[Han]<INFO>izlude,153,126</INFO></NAVI>, Refining Trainer.";
- mes "<NAVI>[Mounds]<INFO>izlude,96,125</INFO></NAVI> Enchanting Trainer.";
- mes "<NAVI>[Cream Puff]<INFO>iz_ac02,143,55</INFO></NAVI>, Class Aptitude Test.";
- next;
- mes "[Receptionist]";
- mes "Is that helpful?";
- next;
- if(select("Just a moment.", "I have to leave.") == 1) {
+ mes("[Receptionist]");
+ mes("Left-Click your mouse on the name of the trainer you are looking for and I will give guide you to them.");
+ next();
+ mes("<NAVI>[Therapist]<INFO>iz_ac01,59,43</INFO></NAVI>, status recovery trainer");
+ mes("<NAVI>[Subino]<INFO>iz_ac01,59,83</INFO></NAVI>, battle trainer");
+ mes("<NAVI>[Mainz]<INFO>iz_ac01,134,47</INFO></NAVI>, abnormal stats trainer");
+ mes("<NAVI>[Dakuwazu]<INFO>iz_ac01,147,47</INFO></NAVI>, Cooking Trainer.");
+ mes("<NAVI>[Han]<INFO>izlude,153,126</INFO></NAVI>, Refining Trainer.");
+ mes("<NAVI>[Mounds]<INFO>izlude,96,125</INFO></NAVI> Enchanting Trainer.");
+ mes("<NAVI>[Cream Puff]<INFO>iz_ac02,143,55</INFO></NAVI>, Class Aptitude Test.");
+ next();
+ mes("[Receptionist]");
+ mes("Is that helpful?");
+ next();
+ if (select("Just a moment.", "I have to leave.") == 1) {
break;
} else {
if (Class == Job_Novice) {
- mes "[Receptionist]";
- mes "I believe you'll become nicer on our next meeting. Try your best~~~";
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ mes("[Receptionist]");
+ mes("I believe you'll become nicer on our next meeting. Try your best~~~");
+ //ConsumespecialItem Inspector_Certificate_
+ close();
} else {
- mes "[Receptionist]";
- mes "Please find me, if you need anything else.";
- close;
+ mes("[Receptionist]");
+ mes("Please find me, if you need anything else.");
+ close();
}
}
break;
case 2:
- mes "[Receptionist]";
- mes "Left-Click your mouse on the name of the trainer you are looking for and I will give guide you to them.";
- next;
- mes "Swordman Instructor <NAVI>[Adric]<INFO>iz_ac02,62,51</INFO></NAVI>";
- mes "Acolyte Instructor <NAVI>[Alice]<INFO>iz_ac02,156,169</INFO></NAVI>";
- mes "Archer Instructor <NAVI>[Marlbron]<INFO>iz_ac02,65,109</INFO></NAVI>";
- mes "Mage Instructor <NAVI>[Chuck]<INFO>iz_ac02,148,110</INFO></NAVI> ";
- mes "Thief Instructor <NAVI>[Mayssel]<INFO>iz_ac02,52,136</INFO></NAVI>";
- mes "Merchant Instructor <NAVI>[Salim]<INFO>iz_ac02,50,169</INFO></NAVI>";
- mes "Ninja Instructor <NAVI>[Ninja Guide]<INFO>iz_ac02,140,139</INFO></NAVI>";
- mes "Gunslinger Instructor<NAVI>[Lusa]<INFO>iz_ac02,142,85</INFO></NAVI>";
- mes "Taekwon Instructor <NAVI>[Arang]<INFO>iz_ac02,70,85</INFO></NAVI>";
- next;
- mes "[Receptionist]";
- mes "Is that helpful?";
- next;
- if(select("Just a moment.", "I have to leave.") == 1) {
+ mes("[Receptionist]");
+ mes("Left-Click your mouse on the name of the trainer you are looking for and I will give guide you to them.");
+ next();
+ mes("Swordman Instructor <NAVI>[Adric]<INFO>iz_ac02,62,51</INFO></NAVI>");
+ mes("Acolyte Instructor <NAVI>[Alice]<INFO>iz_ac02,156,169</INFO></NAVI>");
+ mes("Archer Instructor <NAVI>[Marlbron]<INFO>iz_ac02,65,109</INFO></NAVI>");
+ mes("Mage Instructor <NAVI>[Chuck]<INFO>iz_ac02,148,110</INFO></NAVI> ");
+ mes("Thief Instructor <NAVI>[Mayssel]<INFO>iz_ac02,52,136</INFO></NAVI>");
+ mes("Merchant Instructor <NAVI>[Salim]<INFO>iz_ac02,50,169</INFO></NAVI>");
+ mes("Ninja Instructor <NAVI>[Ninja Guide]<INFO>iz_ac02,140,139</INFO></NAVI>");
+ mes("Gunslinger Instructor<NAVI>[Lusa]<INFO>iz_ac02,142,85</INFO></NAVI>");
+ mes("Taekwon Instructor <NAVI>[Arang]<INFO>iz_ac02,70,85</INFO></NAVI>");
+ next();
+ mes("[Receptionist]");
+ mes("Is that helpful?");
+ next();
+ if (select("Just a moment.", "I have to leave.") == 1) {
break;
} else {
if (Class == Job_Novice) {
- mes "[Receptionist]";
- mes "I believe you'll become nicer on our next meeting. Try your best~~~";
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ mes("[Receptionist]");
+ mes("I believe you'll become nicer on our next meeting. Try your best~~~");
+ //ConsumespecialItem Inspector_Certificate_
+ close();
} else {
- mes "[Receptionist]";
- mes "Please find me, if you need anything else.";
- close;
+ mes("[Receptionist]");
+ mes("Please find me, if you need anything else.");
+ close();
}
}
break;
case 3:
break;
case 4:
- mes "[Receptionist]";
- mes "Please find me, if you need anything else.";
+ mes("[Receptionist]");
+ mes("Please find me, if you need anything else.");
if (Class == Job_Novice)
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ //ConsumespecialItem Inspector_Certificate_
+ close();
}
}
break;
case 4:
- mes "[Receptionist]";
- mes "Please find me, if you need anything else.";
+ mes("[Receptionist]");
+ mes("Please find me, if you need anything else.");
if (Class == Job_Novice)
- //ConsumeSpecialItem Inspector_Certificate_
- close;
+ //ConsumespecialItem Inspector_Certificate_
+ close();
}
}
OnInit:
- questinfo 4269, QTYPE_QUEST, 0, Job_Novice;
+ questinfo(4269, QTYPE_QUEST, 0, Job_Novice);
end;
}
@@ -2626,458 +2805,458 @@ iz_ac01_d,100,39,5 duplicate(Academy Receptionist#1) Academy Receptionist#1_d 4_
// - Teaches the player about Status Effects (poison, stun, etc).
iz_ac01,134,47,5 script Trainer Mainz#ac 4_M_KY_KNT,4,4,{
if (!questprogress(4269)) {
- mes "[Mainz]";
- mes "Ha ah....";
- mes "What should I do with this lunchbox?";
- close;
+ mes("[Mainz]");
+ mes("Ha ah....");
+ mes("What should I do with this lunchbox?");
+ close();
}
if (questprogress(15000) == 1) {
if (!checkweight(Knife, 1) || (MaxWeight - Weight) < 40) {
- mes "- Here, just moment!! -";
- mes "- As you are overloaded with too many items in your inventory -";
- mes "- You can't receive the items anymore -";
- mes "- Let yourself enlightened -";
- mes "- and please try again -";
- close;
- }
- mes "[Mainz]";
- mes "Are you ready to learn about abnormal statuses? I promise that I won't trick you anymore. I am a ''trainer'' after all right?";
- next;
- mes "[Mainz]";
- mes "First of all, I'll tell you about <^FF0000Poison^000000>.";
- next;
- mes "[Mainz]";
- mes "As you already experienced, when you are poisoned, your body turns purple and you lose a little HP every second.";
- next;
- mes "[Mainz]";
- mes "You can't lose HP forever so you won't die from poison.";
- next;
- mes "[Mainz]";
- mes "Experiencing is believing! I will put you in a poisoned status.";
- next;
- mes "[Mainz]";
- mes "See what happens to you in the poisoned status.";
- next;
- sc_start SC_POISON, 30000, 0;
- mes "You are- <^FF0000Poisoned^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_POISON;
- mes "[Mainz]";
- mes "Did you see what is the poisoned status? After a certain period of time, you could be detoxicated, but if you're being attached, it is dangerous to expect being detoxicated naturally.";
- next;
- mes "[Mainz]";
- mes "Refer to the detoxicants such as <^0022FFGreen Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.";
- next;
- mes "[Mainz]";
- mes "Next, I'll tell you about<^FF0000 Stun^000000.";
- next;
- mes "[Mainz]";
- mes "While in the Stun status, stars will circle around your head and you can't move basically you'll be ''defenseless''.";
- next;
- mes "[Mainz]";
- mes "As you are defenseless, you can't move, use skills, and use items.";
- mes "So, it is impossible to recover from it by yourself.";
- next;
- mes "[Mainz]";
- mes "The exceptional case is you can recover from it by the skill called <^0022FFGentle Touch-Cure^000000> if you are a Sura.";
- next;
- mes "[Mainz]";
- mes "You can recover with skills such as the Priest's <^0022FFRecovery ^000000> or the Arch Bishop's <^0022FFLauda Ramus^000000>.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in the Stun status!";
- next;
- sc_start SC_STUN, 30000, 0;
- mes "<^FF0000 Stun ^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_STUN;
- mes "[Mainz]";
- mes "How was it?";
- mes "Didn't you feel oppressed since you couldn't move?";
- next;
- mes "[Mainz]";
- mes "Imagine that you are in that status and monsters are rushing to you...";
- mes "Believe me it'll happen.";
- emotion e_wah;
- next;
- mes "[Mainz]";
- mes "This time, I will teach you about <^FF0000Sleep^000000>.";
- next;
- mes "[Mainz]";
- mes "In Sleep status, you fall asleep with a <Zzz> popped up over your head.";
- next;
- mes "[Mainz]";
- mes "Same as the Stun status, you are defenseless, but the difference is you can recover from the enemy's attack.";
- next;
- mes "[Mainz]";
- mes "But in Sleep status, the possibility to be hit by ''Critical'' attacks from enemy's attack is increased, you are in danger and exposed a severe damage.";
- next;
- mes "[Mainz]";
- mes "For your reference, recovery by yourself is impossible and is only possible with the <^0022FF Recovery ^000000>skill of a Priest.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in the Sleep status.";
- next;
- sc_start SC_SLEEP, 30000, 0;
- mes "<^FF0000 Sleep ^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_SLEEP;
- mes "[Mainz]";
- mes "How was it? It isn't fun to imagine being asleep in front of a dangerous enemy is it?";
- next;
- mes "[Mainz]";
- mes "Sleep is good for recovery but not necessarily good while you're in the middle of a battle.";
- emotion e_flash;
- next;
- mes "[Mainz]";
- mes "Lastly, I will teach you about <^FF0000 Silence ^000000>.";
- next;
- mes "[Mainz]";
- mes "In Silence status, you can't use any magic skills and a <...> will appear above your head.";
- next;
- mes "[Mainz]";
- mes "But all attacks are not impossible. Normal attacks can still be done while silenced.";
- next;
- mes "[Mainz]";
- mes "In the silence status, you can merely still physically attack or recover by using potions.";
- next;
- mes "[Mainz]";
- mes "It's possible to recover with the items such as<^0022FF Green Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in Sleep status.";
- next;
- sc_start SC_SILENCE, 30000, 0;
- mes "<^FF0000Silence^000000>";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_SILENCE;
- mes "[Mainz]";
- mes "It's frustrating to not be able to use your skills right?";
- next;
- mes "[Mainz]";
- mes "Especially, when you are a high class depending upon the skills rather than physical attacks or in Sleep status during the battle, you will be damaged severely.";
- next;
- mes "[Mainz]";
- mes "In addtion, there are other statuses like Darkness, Frozen, Curse, Stone, Confusion etc, but I can let you experience all of them.";
- next;
- mes "[Mainz]";
- mes "I hope this was helpful for you to experience some of the things that you will see out in the world.";
- next;
- mes "[Mainz]";
- mes "Whenever you want to experience an abnormal status, please come to me.";
- next;
- mes "[Mainz]";
- mes "As an apology for the lunchbox matter, I will give you a small gift.";
- next;
- mes "[Mainz]";
- mes "Wish you have good luck in your adventures!";
- completequest 15000;
- getitem Apple, 10; // Apple
- getexp 180, 100;
- close;
+ mes("- Here, just moment!! -");
+ mes("- As you are overloaded with too many items in your inventory -");
+ mes("- You can't receive the items anymore -");
+ mes("- Let yourself enlightened -");
+ mes("- and please try again -");
+ close();
+ }
+ mes("[Mainz]");
+ mes("Are you ready to learn about abnormal statuses? I promise that I won't trick you anymore. I am a ''trainer'' after all right?");
+ next();
+ mes("[Mainz]");
+ mes("First of all, I'll tell you about <^FF0000Poison^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("As you already experienced, when you are poisoned, your body turns purple and you lose a little HP every second.");
+ next();
+ mes("[Mainz]");
+ mes("You can't lose HP forever so you won't die from poison.");
+ next();
+ mes("[Mainz]");
+ mes("Experiencing is believing! I will put you in a poisoned status.");
+ next();
+ mes("[Mainz]");
+ mes("See what happens to you in the poisoned status.");
+ next();
+ sc_start(SC_POISON, 30000, 0);
+ mes("You are- <^FF0000Poisoned^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_POISON);
+ mes("[Mainz]");
+ mes("Did you see what is the poisoned status? After a certain period of time, you could be detoxicated, but if you're being attached, it is dangerous to expect being detoxicated naturally.");
+ next();
+ mes("[Mainz]");
+ mes("Refer to the detoxicants such as <^0022FFGreen Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("Next, I'll tell you about<^FF0000 Stun^000000.");
+ next();
+ mes("[Mainz]");
+ mes("While in the Stun status, stars will circle around your head and you can't move basically you'll be ''defenseless''.");
+ next();
+ mes("[Mainz]");
+ mes("As you are defenseless, you can't move, use skills, and use items.");
+ mes("So, it is impossible to recover from it by yourself.");
+ next();
+ mes("[Mainz]");
+ mes("The exceptional case is you can recover from it by the skill called <^0022FFGentle Touch-Cure^000000> if you are a Sura.");
+ next();
+ mes("[Mainz]");
+ mes("You can recover with skills such as the Priest's <^0022FFRecovery ^000000> or the Arch Bishop's <^0022FFLauda Ramus^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in the Stun status!");
+ next();
+ sc_start(SC_STUN, 30000, 0);
+ mes("<^FF0000 Stun ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_STUN);
+ mes("[Mainz]");
+ mes("How was it?");
+ mes("Didn't you feel oppressed since you couldn't move?");
+ next();
+ mes("[Mainz]");
+ mes("Imagine that you are in that status and monsters are rushing to you...");
+ mes("Believe me it'll happen.");
+ emotion(e_wah);
+ next();
+ mes("[Mainz]");
+ mes("This time, I will teach you about <^FF0000Sleep^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("In sleep status, you fall asleep with a <Zzz> popped up over your head.");
+ next();
+ mes("[Mainz]");
+ mes("Same as the Stun status, you are defenseless, but the difference is you can recover from the enemy's attack.");
+ next();
+ mes("[Mainz]");
+ mes("But in sleep status, the possibility to be hit by ''Critical'' attacks from enemy's attack is increased, you are in danger and exposed a severe damage.");
+ next();
+ mes("[Mainz]");
+ mes("For your reference, recovery by yourself is impossible and is only possible with the <^0022FF Recovery ^000000>skill of a Priest.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in the sleep status.");
+ next();
+ sc_start(SC_SLEEP, 30000, 0);
+ mes("<^FF0000 sleep ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_SLEEP);
+ mes("[Mainz]");
+ mes("How was it? It isn't fun to imagine being asleep in front of a dangerous enemy is it?");
+ next();
+ mes("[Mainz]");
+ mes("Sleep is good for recovery but not necessarily good while you're in the middle of a battle.");
+ emotion(e_flash);
+ next();
+ mes("[Mainz]");
+ mes("Lastly, I will teach you about <^FF0000 Silence ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("In Silence status, you can't use any magic skills and a <...> will appear above your head.");
+ next();
+ mes("[Mainz]");
+ mes("But all attacks are not impossible. Normal attacks can still be done while silenced.");
+ next();
+ mes("[Mainz]");
+ mes("In the silence status, you can merely still physically attack or recover by using potions.");
+ next();
+ mes("[Mainz]");
+ mes("It's possible to recover with the items such as<^0022FF Green Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in sleep status.");
+ next();
+ sc_start(SC_SILENCE, 30000, 0);
+ mes("<^FF0000Silence^000000>");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_SILENCE);
+ mes("[Mainz]");
+ mes("It's frustrating to not be able to use your skills right?");
+ next();
+ mes("[Mainz]");
+ mes("Especially, when you are a high class depending upon the skills rather than physical attacks or in sleep status during the battle, you will be damaged severely.");
+ next();
+ mes("[Mainz]");
+ mes("In addtion, there are other statuses like Darkness, Frozen, Curse, Stone, Confusion etc, but I can let you experience all of them.");
+ next();
+ mes("[Mainz]");
+ mes("I hope this was helpful for you to experience some of the things that you will see out in the world.");
+ next();
+ mes("[Mainz]");
+ mes("Whenever you want to experience an abnormal status, please come to me.");
+ next();
+ mes("[Mainz]");
+ mes("As an apology for the lunchbox matter, I will give you a small gift.");
+ next();
+ mes("[Mainz]");
+ mes("Wish you have good luck in your adventures!");
+ completequest(15000);
+ getitem(Apple, 10); // Apple
+ getexp(180, 100);
+ close();
} else if (questprogress(4269) && !questprogress(15000)) {
- mes "[Mainz]";
- mes "Hey, you there!";
- mes "By any chance, are you a training beginner?";
- emotion e_flash;
- next;
- mes "[Mainz]";
- mes "I'm Trainer Mainz; and I'm in charge of education at this Academy.";
- next;
- mes "[Mainz]";
- mes "Which course?";
- mes "It is not important so I will let you know later.";
- next;
- mes "[Mainz]";
- mes "You must be very exhausted after having to read and learn so much right?";
- next;
- mes "[Mainz]";
- mes "Of course, you are... Oh, you poor thing.";
- next;
- mes "[Mainz]";
- mes "There's a person who can help you when you need it.";
- mes "Do you know who is it?";
- next;
- mes "[Mainz]";
- mes "That's me!";
- next;
- mes "[Mainz]";
- mes "What does that mean?";
- mes "It means I have prepared a special gift just for your exhausted self!";
- next;
- mes "[Mainz]";
- mes "A lunchbox for you!!! Hahahaha!";
- next;
- mes "[Mainz]";
- mes "Since I'm not the one who made it don't worry.";
- mes "My beloved wife prepared it. So, just be my guest and enjoy!";
- next;
- if(select("Don't take it.", "Take it.") == 1) {
- mes "[Mainz]";
- mes "You don't want to have this lunchbox? I guess it's your loss then.";
- next;
- mes "[Mainz]";
- mes "Should I just take it for myself then?";
- close2;
- emotion e_sigh;
+ mes("[Mainz]");
+ mes("Hey, you there!");
+ mes("By any chance, are you a training beginner?");
+ emotion(e_flash);
+ next();
+ mes("[Mainz]");
+ mes("I'm Trainer Mainz; and I'm in charge of education at this Academy.");
+ next();
+ mes("[Mainz]");
+ mes("Which course?");
+ mes("It is not important so I will let you know later.");
+ next();
+ mes("[Mainz]");
+ mes("You must be very exhausted after having to read and learn so much right?");
+ next();
+ mes("[Mainz]");
+ mes("Of course, you are... Oh, you poor thing.");
+ next();
+ mes("[Mainz]");
+ mes("There's a person who can help you when you need it.");
+ mes("Do you know who is it?");
+ next();
+ mes("[Mainz]");
+ mes("That's me!");
+ next();
+ mes("[Mainz]");
+ mes("What does that mean?");
+ mes("It means I have prepared a special gift just for your exhausted self!");
+ next();
+ mes("[Mainz]");
+ mes("A lunchbox for you!!! Hahahaha!");
+ next();
+ mes("[Mainz]");
+ mes("Since I'm not the one who made it don't worry.");
+ mes("My beloved wife prepared it. So, just be my guest and enjoy!");
+ next();
+ if (select("Don't take it.", "Take it.") == 1) {
+ mes("[Mainz]");
+ mes("You don't want to have this lunchbox? I guess it's your loss then.");
+ next();
+ mes("[Mainz]");
+ mes("Should I just take it for myself then?");
+ close2();
+ emotion(e_sigh);
end;
}
- mes "[Mainz]";
- mes "Yes... You made a right decision.";
- mes "Please keep in mind that I really wanted to have it but since you look exhausted I offered it to you first!";
- emotion e_no1;
- next;
- mes "- You open the lunchbox and there is some type of food inside -";
- next;
- mes "[Mainz]";
- mes "Wahahahat! Don't hesitate and just take it!";
- mes "It will refresh you from your fatigue!";
- mes "Eat it~~ Eat it~~";
- next;
- mes "- Since you're tired and starved you're obliged to take the box -";
- next;
- mes ".........";
- next;
- sc_start SC_POISON, 60000, 0;
- mes "- You eat the food and suddenly feel a sharp pain in your stomach. Your vision seems to be blurry too -";
- next;
- mes "[Mainz]";
- mes "Oh... what happened to you?";
- mes "You don't look too good!";
- emotion e_what;
- next;
- mes "[Mainz]";
- mes "Oh, man...";
- mes "I think you've been poisoned.";
- next;
- mes "[Mainz]";
- mes "I will give you an antidote. You might get better if you take it.";
- next;
- mes "- You reluctantly take the antidote -";
- sc_end SC_POISON;
- percentheal 100, 0;
- next;
- mes "[Mainz]";
- mes "Well, how the heck were you poisoned?";
- next;
- mes "[Mainz]";
- mes "By the way, I heard that there's a ghost wandering around the Royal Criatura Academy.";
- next;
- mes "[Mainz]";
- mes "I think the ghost must have poisoned you.";
- next;
- mes "- You roll your eyes at Mainz -";
- mes "- Mainz turns his head as if he doesn't notice -";
- emotion e_bzz;
- next;
- mes "[Mainz]";
- mes "Ehem! Anyway, I am sorry.";
- mes "Please understand there is no malice.";
- next;
- mes "[Mainz]";
- mes "All of these are for you...";
- mes "Want to know what I mean?";
- next;
- mes "[Mainz]";
- mes "There are various kinds of monsters on the Rune Midgard continent. And some of them can poison you or put you in abnormal conditions.";
- next;
- mes "[Mainz]";
- mes "Usually, anybody is too embarrassed to admit being poisoned without knowing. I just did it on purpose to let you have the experience in case it happens out in the real world.";
- next;
- mes "[Mainz]";
- mes "Understand that I didn't intend to pass my wife's lunchbox as if it was a present. It was just another lesson from the Criatura Academy.";
- emotion e_otl;
- next;
- mes "[Mainz]";
- mes "As an apology, I would like to inform you of several abnormal statuses you might experience in the Rune Midgard Continent.";
- next;
- mes "[Mainz]";
- mes "Don't decline it! Being ready to learn so speak to me again.";
- setquest 15000;
- close2;
- emotion e_sry;
+ mes("[Mainz]");
+ mes("Yes... You made a right decision.");
+ mes("Please keep in mind that I really wanted to have it but since you look exhausted I offered it to you first!");
+ emotion(e_no1);
+ next();
+ mes("- You open the lunchbox and there is some type of food inside -");
+ next();
+ mes("[Mainz]");
+ mes("Wahahahat! Don't hesitate and just take it!");
+ mes("It will refresh you from your fatigue!");
+ mes("Eat it~~ Eat it~~");
+ next();
+ mes("- Since you're tired and starved you're obliged to take the box -");
+ next();
+ mes(".........");
+ next();
+ sc_start(SC_POISON, 60000, 0);
+ mes("- You eat the food and suddenly feel a sharp pain in your stomach. Your vision seems to be blurry too -");
+ next();
+ mes("[Mainz]");
+ mes("Oh... what happened to you?");
+ mes("You don't look too good!");
+ emotion(e_what);
+ next();
+ mes("[Mainz]");
+ mes("Oh, man...");
+ mes("I think you've been poisoned.");
+ next();
+ mes("[Mainz]");
+ mes("I will give you an antidote. You might get better if you take it.");
+ next();
+ mes("- You reluctantly take the antidote -");
+ sc_end(SC_POISON);
+ percentheal(100, 0);
+ next();
+ mes("[Mainz]");
+ mes("Well, how the heck were you poisoned?");
+ next();
+ mes("[Mainz]");
+ mes("By the way, I heard that there's a ghost wandering around the Royal Criatura Academy.");
+ next();
+ mes("[Mainz]");
+ mes("I think the ghost must have poisoned you.");
+ next();
+ mes("- You roll your eyes at Mainz -");
+ mes("- Mainz turns his head as if he doesn't notice -");
+ emotion(e_bzz);
+ next();
+ mes("[Mainz]");
+ mes("Ehem! Anyway, I am sorry.");
+ mes("Please understand there is no malice.");
+ next();
+ mes("[Mainz]");
+ mes("All of these are for you...");
+ mes("Want to know what I mean?");
+ next();
+ mes("[Mainz]");
+ mes("There are various kinds of monsters on the Rune Midgard continent. And some of them can poison you or put you in abnormal conditions.");
+ next();
+ mes("[Mainz]");
+ mes("Usually, anybody is too embarrassed to admit being poisoned without knowing. I just did it on purpose to let you have the experience in case it happens out in the real world.");
+ next();
+ mes("[Mainz]");
+ mes("Understand that I didn't intend to pass my wife's lunchbox as if it was a present. It was just another lesson from the Criatura Academy.");
+ emotion(e_otl);
+ next();
+ mes("[Mainz]");
+ mes("As an apology, I would like to inform you of several abnormal statuses you might experience in the Rune Midgard Continent.");
+ next();
+ mes("[Mainz]");
+ mes("Don't decline it! Being ready to learn so speak to me again.");
+ setquest(15000);
+ close2();
+ emotion(e_sry);
end;
} else {
- mes "[Mainz]";
- mes "Are you here for an explanation about the abnormal statuses? What makes you anxious?";
- next;
- while(1) {
+ mes("[Mainz]");
+ mes("Are you here for an explanation about the abnormal statuses? What makes you anxious?");
+ next();
+ while(true) {
switch(select("<^FF0000Poison^000000>", "<^FF0000Stun^000000>", "<^FF0000Sleep^000000>", "<^FF0000Silence ^000000>", "I have no questions.")) {
case 1:
- mes "[Mainz]";
- mes "I'll tell you about <^FF0000Poison^000000>.";
- next;
- mes "[Mainz]";
- mes "As you already experienced, when you are poisoned, your body turns purple and you lose a little HP every second.";
- next;
- mes "[Mainz]";
- mes "You can't lose HP forever so you won't die from poison.";
- next;
- mes "[Mainz]";
- mes "Experiencing is believing! I will put you in a poisoned status.";
- next;
- mes "[Mainz]";
- mes "See what happens to you in the poisoned status.";
- next;
- sc_start SC_POISON, 30000, 0;
- mes "You are- <^FF0000Poisoned^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_POISON;
- mes "[Mainz]";
- mes "Did you see what is the poisoned status? After a certain period of time, you could be detoxicated, but if you're being attached, it is dangerous to expect being detoxicated naturally.";
- next;
- mes "[Mainz]";
- mes "Refer to the detoxicants such as <^0022FFGreen Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.";
- next;
- mes "[Mainz]";
- mes "What else are you anxious about?";
- next;
+ mes("[Mainz]");
+ mes("I'll tell you about <^FF0000Poison^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("As you already experienced, when you are poisoned, your body turns purple and you lose a little HP every second.");
+ next();
+ mes("[Mainz]");
+ mes("You can't lose HP forever so you won't die from poison.");
+ next();
+ mes("[Mainz]");
+ mes("Experiencing is believing! I will put you in a poisoned status.");
+ next();
+ mes("[Mainz]");
+ mes("See what happens to you in the poisoned status.");
+ next();
+ sc_start(SC_POISON, 30000, 0);
+ mes("You are- <^FF0000Poisoned^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_POISON);
+ mes("[Mainz]");
+ mes("Did you see what is the poisoned status? After a certain period of time, you could be detoxicated, but if you're being attached, it is dangerous to expect being detoxicated naturally.");
+ next();
+ mes("[Mainz]");
+ mes("Refer to the detoxicants such as <^0022FFGreen Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("What else are you anxious about?");
+ next();
break;
case 2:
- mes "[Mainz]";
- mes "I'll tell you about <^FF0000Stun^000000>.";
- next;
- mes "[Mainz]";
- mes "While in the Stun status, stars will circle around your head and you can't move basically you'll be ''defenseless''.";
- next;
- mes "[Mainz]";
- mes "As you are defenseless, you can't move, use skills, and use items.";
- mes "So, it is impossible to recover from it by yourself.";
- next;
- mes "[Mainz]";
- mes "The exceptional case is you can recover from it by the skill called <^0022FFGentle Touch-Cure^000000> if you are a Sura.";
- next;
- mes "[Mainz]";
- mes "You can recover with skills such as the Priest's <^0022FFRecovery ^000000> or the Arch Bishop's <^0022FFLauda Ramus^000000>.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in the Stun status!";
- next;
- sc_start SC_STUN, 30000, 0;
- mes "<^FF0000 Stun ^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_STUN;
- mes "[Mainz]";
- mes "How was it?";
- mes "Didn't you feel oppressed since you couldn't move?";
- next;
- mes "[Mainz]";
- mes "Imagine that you are in that status and monsters are rushing to you...";
- mes "Believe me it'll happen.";
- emotion e_wah;
- next;
- mes "[Mainz]";
- mes "What else are you anxious about?";
- next;
+ mes("[Mainz]");
+ mes("I'll tell you about <^FF0000Stun^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("While in the Stun status, stars will circle around your head and you can't move basically you'll be ''defenseless''.");
+ next();
+ mes("[Mainz]");
+ mes("As you are defenseless, you can't move, use skills, and use items.");
+ mes("So, it is impossible to recover from it by yourself.");
+ next();
+ mes("[Mainz]");
+ mes("The exceptional case is you can recover from it by the skill called <^0022FFGentle Touch-Cure^000000> if you are a Sura.");
+ next();
+ mes("[Mainz]");
+ mes("You can recover with skills such as the Priest's <^0022FFRecovery ^000000> or the Arch Bishop's <^0022FFLauda Ramus^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in the Stun status!");
+ next();
+ sc_start(SC_STUN, 30000, 0);
+ mes("<^FF0000 Stun ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_STUN);
+ mes("[Mainz]");
+ mes("How was it?");
+ mes("Didn't you feel oppressed since you couldn't move?");
+ next();
+ mes("[Mainz]");
+ mes("Imagine that you are in that status and monsters are rushing to you...");
+ mes("Believe me it'll happen.");
+ emotion(e_wah);
+ next();
+ mes("[Mainz]");
+ mes("What else are you anxious about?");
+ next();
break;
case 3:
- mes "[Mainz]";
- mes "I will teach you about <^FF0000Sleep^000000>.";
- next;
- mes "[Mainz]";
- mes "In Sleep status, you fall asleep with a <Zzz> popped up over your head.";
- next;
- mes "[Mainz]";
- mes "Same as the Stun status, you are defenseless, but the difference is you can recover from the enemy's attack.";
- next;
- mes "[Mainz]";
- mes "But in Sleep status, the possibility to be hit by ''Critical'' attacks from enemy's attack is increased, you are in danger and exposed a severe damage.";
- next;
- mes "[Mainz]";
- mes "For your reference, recovery by yourself is impossible and is only possible with the <^0022FF Recovery ^000000>skill of a Priest.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in the Sleep status.";
- next;
- sc_start SC_SLEEP, 30000, 0;
- mes "<^FF0000 Sleep ^000000>.";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_SLEEP;
- mes "[Mainz]";
- mes "How was it? It isn't fun to imagine being asleep in front of a dangerous enemy is it?";
- next;
- mes "[Mainz]";
- mes "Sleep is good for recovery but not necessarily good while you're in the middle of a battle.";
- emotion e_flash;
- next;
- mes "[Mainz]";
- mes "What else are you anxious about?";
- next;
+ mes("[Mainz]");
+ mes("I will teach you about <^FF0000Sleep^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("In sleep status, you fall asleep with a <Zzz> popped up over your head.");
+ next();
+ mes("[Mainz]");
+ mes("Same as the Stun status, you are defenseless, but the difference is you can recover from the enemy's attack.");
+ next();
+ mes("[Mainz]");
+ mes("But in sleep status, the possibility to be hit by ''Critical'' attacks from enemy's attack is increased, you are in danger and exposed a severe damage.");
+ next();
+ mes("[Mainz]");
+ mes("For your reference, recovery by yourself is impossible and is only possible with the <^0022FF Recovery ^000000>skill of a Priest.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in the sleep status.");
+ next();
+ sc_start(SC_SLEEP, 30000, 0);
+ mes("<^FF0000 sleep ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_SLEEP);
+ mes("[Mainz]");
+ mes("How was it? It isn't fun to imagine being asleep in front of a dangerous enemy is it?");
+ next();
+ mes("[Mainz]");
+ mes("Sleep is good for recovery but not necessarily good while you're in the middle of a battle.");
+ emotion(e_flash);
+ next();
+ mes("[Mainz]");
+ mes("What else are you anxious about?");
+ next();
break;
case 4:
- mes "[Mainz]";
- mes "I will teach you about <^FF0000 Silence ^000000>.";
- next;
- mes "[Mainz]";
- mes "In Silence status, you can't use any magic skills and a <...> will appear above your head.";
- next;
- mes "[Mainz]";
- mes "But all attacks are not impossible. Normal attacks can still be done while silenced.";
- next;
- mes "[Mainz]";
- mes "In the silence status, you can merely still physically attack or recover by using potions.";
- next;
- mes "[Mainz]";
- mes "It's possible to recover with the items such as<^0022FF Green Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.";
- next;
- mes "[Mainz]";
- mes "Let me show you what will happen in Sleep status.";
- next;
- sc_start SC_SILENCE, 30000, 0;
- mes "<^FF0000Silence^000000>";
- next;
- mes "[Mainz]";
- mes "......";
- next;
- sc_end SC_SILENCE;
- mes "[Mainz]";
- mes "It's frustrating to not be able to use your skills right?";
- next;
- mes "[Mainz]";
- mes "Especially, when you are a high class depending upon the skills rather than physical attacks or in Sleep status during the battle, you will be damaged severely.";
- next;
- mes "[Mainz]";
- mes "Do you have any more questions?";
- next;
+ mes("[Mainz]");
+ mes("I will teach you about <^FF0000 Silence ^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("In Silence status, you can't use any magic skills and a <...> will appear above your head.");
+ next();
+ mes("[Mainz]");
+ mes("But all attacks are not impossible. Normal attacks can still be done while silenced.");
+ next();
+ mes("[Mainz]");
+ mes("In the silence status, you can merely still physically attack or recover by using potions.");
+ next();
+ mes("[Mainz]");
+ mes("It's possible to recover with the items such as<^0022FF Green Herb^000000>, <^0022FFGreen Potion^000000>, <^0022FFPanacea^000000> and <^0022FFRoyal Jelly^000000>.");
+ next();
+ mes("[Mainz]");
+ mes("Let me show you what will happen in sleep status.");
+ next();
+ sc_start(SC_SILENCE, 30000, 0);
+ mes("<^FF0000Silence^000000>");
+ next();
+ mes("[Mainz]");
+ mes("......");
+ next();
+ sc_end(SC_SILENCE);
+ mes("[Mainz]");
+ mes("It's frustrating to not be able to use your skills right?");
+ next();
+ mes("[Mainz]");
+ mes("Especially, when you are a high class depending upon the skills rather than physical attacks or in sleep status during the battle, you will be damaged severely.");
+ next();
+ mes("[Mainz]");
+ mes("Do you have any more questions?");
+ next();
break;
case 5:
- mes "[Mainz]";
- mes "If you don't have any more questions, would you please have my lunchbox on behalf of me?";
- mes "No?";
- next;
- mes "[Mainz]";
- mes "Haaaaa...";
- mes "What should I do with this lunchbox?";
- close2;
- emotion e_sigh;
+ mes("[Mainz]");
+ mes("If you don't have any more questions, would you please have my lunchbox on behalf of me?");
+ mes("No?");
+ next();
+ mes("[Mainz]");
+ mes("Haaaaa...");
+ mes("What should I do with this lunchbox?");
+ close2();
+ emotion(e_sigh);
end;
}
}
}
OnTouch:
- emotion e_otl;
+ emotion(e_otl);
end;
}
@@ -3089,19 +3268,19 @@ iz_ac01_d,134,47,5 duplicate(Trainer Mainz#ac) Trainer Mainz#ac_d 4_M_KY_KNT,4,4
//== Odd Novice ============================================
// - Introduces the player to the concept of Super Novices.
iz_ac01,36,52,3 script Odd Novice#ac 4_M_SIT_NOVICE,{
- mes "[Odd Novice]";
- mes "Ahaaa~~ sticking at the dispensary.";
- mes "Playing hooky is cool and awesome.";
+ mes("[Odd Novice]");
+ mes("Ahaaa~~ sticking at the dispensary.");
+ mes("Playing hooky is cool and awesome.");
if (Class == Job_Novice) {
- mes "while XXXXXX, but what are you?";
- mes "Are you the same kind of XXXXX?";
- next;
+ mes("while XXXXXX, but what are you?");
+ mes("Are you the same kind of XXXXX?");
+ next();
.@choice = rand(1,10);
if (.@choice < 3) {
- mes "[Odd Novice]";
- mes "Hmmm... you look like you have some talent.";
- mes "Being in a good mood, shall I show you something newfangled?";
- next;
+ mes("[Odd Novice]");
+ mes("Hmmm... you look like you have some talent.");
+ mes("Being in a good mood, shall I show you something newfangled?");
+ next();
switch(select("Newfangled?", "Who are you..?", "Why are you here?", "End Conversation")) {
case 1:
.@message = 1;
@@ -3132,151 +3311,151 @@ iz_ac01,36,52,3 script Odd Novice#ac 4_M_SIT_NOVICE,{
switch(.@message)
{
case 1:
- mes "[Odd Novice]";
- mes "I may look ordinary to you but I have a newfangled talent.";
- mes "Not my fault, if you are shocked at seeing it.";
- next;
- mes "[Odd Novice]";
- mes "OK. Where should I start?";
- mes "First, Bash!";
- specialeffect2 EF_BASH;
- next;
- mes "[Odd Novice]";
- mes "Hehehe.. Surprised?";
- mes "I'm just pretending...";
- mes "It's not a real punch.";
- next;
- mes "[Odd Novice]";
- mes "Looks like you were surprised!";
- specialeffect2 EF_BLESSING;
- next;
- mes "[Odd Novice]";
- mes "Just keep calm";
- mes "and have a potion";
- mes "But that's not the last of it.";
- specialeffect2 EF_STEAL;
- next;
- mes "[Odd Novice]";
- mes "I have stolen one thread of your hair.";
- mes "I don't believe in Voodooism.";
- mes "Regard it as your luck.";
- next;
- mes "[Odd Novice]";
- mes "The last one is a flame, to say the least!";
- mes "How about it? Newfangled.";
- mes "Idling away too long,";
- mes "All the skills learnt over your shoulder could be used.";
- specialeffect EF_SIGHT, "Odd Novice#nk1";
- next;
- mes "[Odd Novice]";
- mes "Ugh, all my SP is gone...";
- mes "and wasted... I am tired.";
- mes "I am going back to rest.";
- mes "So long, Bye-bye~~ Don't bother me anymore.";
- close;
+ mes("[Odd Novice]");
+ mes("I may look ordinary to you but I have a newfangled talent.");
+ mes("Not my fault, if you are shocked at seeing it.");
+ next();
+ mes("[Odd Novice]");
+ mes("OK. Where should I start?");
+ mes("First, Bash!");
+ specialeffect2(EF_BASH);
+ next();
+ mes("[Odd Novice]");
+ mes("Hehehe.. Surprised?");
+ mes("I'm just pretending...");
+ mes("It's not a real punch.");
+ next();
+ mes("[Odd Novice]");
+ mes("Looks like you were surprised!");
+ specialeffect2(EF_BLESSING);
+ next();
+ mes("[Odd Novice]");
+ mes("Just keep calm");
+ mes("and have a potion");
+ mes("But that's not the last of it.");
+ specialeffect2(EF_STEAL);
+ next();
+ mes("[Odd Novice]");
+ mes("I have stolen one thread of your hair.");
+ mes("I don't believe in Voodooism.");
+ mes("Regard it as your luck.");
+ next();
+ mes("[Odd Novice]");
+ mes("The last one is a flame, to say the least!");
+ mes("How about it? Newfangled.");
+ mes("Idling away too long,");
+ mes("All the skills learnt over your shoulder could be used.");
+ specialeffect(EF_SIGHT, "Odd Novice#nk1");
+ next();
+ mes("[Odd Novice]");
+ mes("Ugh, all my SP is gone...");
+ mes("and wasted... I am tired.");
+ mes("I am going back to rest.");
+ mes("So long, Bye-bye~~ Don't bother me anymore.");
+ close();
case 2:
if (.@choice == 10) {
- mes "[Odd Novice]";
- mes "What? You, disturbing me.";
- mes "Get away from me kid you're botherin' me.";
- close;
+ mes("[Odd Novice]");
+ mes("What? You, disturbing me.");
+ mes("Get away from me kid you're botherin' me.");
+ close();
} else {
switch(rand(1, 3)) {
case 1:
- mes "[Odd Novice]";
- mes "Me? I'm Novice.";
- mes "What? Strange? You seein' me for the first time?";
- next;
- mes "[Odd Novice]";
- mes "If I look shabby, you should go find a mirror.";
- mes "You and I are wearing the same thing pal.";
- close;
+ mes("[Odd Novice]");
+ mes("Me? I'm Novice.");
+ mes("What? Strange? You seein' me for the first time?");
+ next();
+ mes("[Odd Novice]");
+ mes("If I look shabby, you should go find a mirror.");
+ mes("You and I are wearing the same thing pal.");
+ close();
case 2:
- mes "[Odd Novice]";
- mes "I'm what you call a Novice of all Novices.";
- mes "A Jack of all trades but a master of none.";
- next;
- mes "[Odd Novice]";
- mes "If you don't graduate from school and hang around and only mimic other's lifesstyles you'll end up like me.";
- next;
- mes "[Odd Novice]";
- mes "Genius and idiot has a paper thin difference.";
- mes "Those of versatility but of no special capability, that is the Super Novice.";
- mes "That's what everyone calls us.";
- close;
+ mes("[Odd Novice]");
+ mes("I'm what you call a Novice of all Novices.");
+ mes("A Jack of all trades but a master of none.");
+ next();
+ mes("[Odd Novice]");
+ mes("If you don't graduate from school and hang around and only mimic other's lifesstyles you'll end up like me.");
+ next();
+ mes("[Odd Novice]");
+ mes("Genius and idiot has a paper thin difference.");
+ mes("Those of versatility but of no special capability, that is the Super Novice.");
+ mes("That's what everyone calls us.");
+ close();
case 3:
- mes "[Odd Novice]";
- mes "A rose by any other name...";
- mes "I am what I am. A Super Novice!";
- close;
+ mes("[Odd Novice]");
+ mes("A rose by any other name...");
+ mes("I am what I am. A Super Novice!");
+ close();
}
}
case 3:
if (.@choice == 10) {
- mes "[Odd Novice]";
- mes "What? You, disturbing me.";
- mes "Get away from me kid you're botherin' me.";
- close;
+ mes("[Odd Novice]");
+ mes("What? You, disturbing me.");
+ mes("Get away from me kid you're botherin' me.");
+ close();
} else {
if (getskilllv(NV_BASIC) > 8) {
- mes "[Odd Novice]";
- mes "You, talking like this, why don't you go and change your job already instead of hanging around here?";
- mes "Hmm, did you want to be like me maybe?";
- next;
- mes "[Odd Novice]";
- mes "Aha~ If you want all the different skills...";
- next;
- mes "[Odd Novice]";
- mes "If you do like I do, then you will be a great Super Novice.";
- close;
+ mes("[Odd Novice]");
+ mes("You, talking like this, why don't you go and change your job already instead of hanging around here?");
+ mes("Hmm, did you want to be like me maybe?");
+ next();
+ mes("[Odd Novice]");
+ mes("Aha~ If you want all the different skills...");
+ next();
+ mes("[Odd Novice]");
+ mes("If you do like I do, then you will be a great Super Novice.");
+ close();
} else {
switch(rand(1, 3)) {
case 1:
- mes "[Odd Novice]";
- mes "Hmmm. Dirty mouth!";
- mes "When I was at your age,";
- mes "If I recklessly spoke like you, I was dragged to the backside mountain, and then...";
- next;
- mes "[Odd Novice]";
- mes "OK... that's enough..";
- mes "Now I am in a good mood?";
- mes "When I am using good words,";
- mes "go away silently, yes?";
- close;
+ mes("[Odd Novice]");
+ mes("Hmmm. Dirty mouth!");
+ mes("When I was at your age,");
+ mes("If I recklessly spoke like you, I was dragged to the backside mountain, and then...");
+ next();
+ mes("[Odd Novice]");
+ mes("OK... that's enough..");
+ mes("Now I am in a good mood?");
+ mes("When I am using good words,");
+ mes("go away silently, yes?");
+ close();
case 2:
- mes "[Odd Novice]";
- mes "Are you idling around at school?";
- mes "I don't need to tell you about it.";
- mes "If you are loafing around here,";
- mes "Once grown up, you will be a man like me.";
- mes "Scary, isn't it?";
- next;
- mes "[Odd Novice]";
- mes "I know, I know, before we are found by a teacher or even worse the principal.";
- mes "Go away, gooooooawaaaaaayyyyyyyyy~";
- close;
+ mes("[Odd Novice]");
+ mes("Are you idling around at school?");
+ mes("I don't need to tell you about it.");
+ mes("If you are loafing around here,");
+ mes("Once grown up, you will be a man like me.");
+ mes("Scary, isn't it?");
+ next();
+ mes("[Odd Novice]");
+ mes("I know, I know, before we are found by a teacher or even worse the principal.");
+ mes("Go away, gooooooawaaaaaayyyyyyyyy~");
+ close();
case 3:
- mes "[Odd Novice]";
- mes "Well,";
- mes "What am I doing?";
- mes "I became like this, in the blink of an eye.";
- next;
- mes "[Odd Novice]";
- mes "By nature, I had a great dream...";
- mes "Haaaa~~ Because I dreamt of too many things to do?";
- close;
+ mes("[Odd Novice]");
+ mes("Well,");
+ mes("What am I doing?");
+ mes("I became like this, in the blink of an eye.");
+ next();
+ mes("[Odd Novice]");
+ mes("By nature, I had a great dream...");
+ mes("Haaaa~~ Because I dreamt of too many things to do?");
+ close();
}
}
}
case 4:
- mes "[Odd Novice]";
- mes "Yes, yes, take your way...";
- mes "I am the Novice of pride and loneliness.";
- mes "I can enjoy myself.";
- close;
+ mes("[Odd Novice]");
+ mes("Yes, yes, take your way...");
+ mes("I am the Novice of pride and loneliness.");
+ mes("I can enjoy myself.");
+ close();
}
}
- close;
+ close();
}
iz_ac01_a,36,52,3 duplicate(Odd Novice#ac) Odd Novice#ac_a 4_M_SIT_NOVICE
@@ -3288,209 +3467,209 @@ iz_ac01_d,36,52,3 duplicate(Odd Novice#ac) Odd Novice#ac_d 4_M_SIT_NOVICE
// - Teaches the player about Shops and Currency.
izlude,115,181,5 script Shop Helper#iz 4_F_KHELLISIA,{
if (!checkweight(Axe, 3)) {
- mes "- Quest cannot be continued due to your overfilled inventory. -";
- close;
- }
-
- if(Class == Job_Novice) {
- if(!questprogress(1237)) {
- mes "[Shop Helper Leonie]";
- mes "How are you doing with your basic studies?";
- mes "You need to learn about the shop information.";
- next;
- if(select("I'm doing fine myself!", "Ok I'll listen!") == 1) {
- mes "[Shop Helper Leonie]";
- mes "If you listen carefully, I will give you a souvenir.";
- close;
+ mes("- Quest cannot be continued due to your overfilled inventory. -");
+ close();
+ }
+
+ if (Class == Job_Novice) {
+ if (!questprogress(1237)) {
+ mes("[Shop Helper Leonie]");
+ mes("How are you doing with your basic studies?");
+ mes("You need to learn about the shop information.");
+ next();
+ if (select("I'm doing fine myself!", "Ok I'll listen!") == 1) {
+ mes("[Shop Helper Leonie]");
+ mes("If you listen carefully, I will give you a souvenir.");
+ close();
}
- mes "[Shop Helper Leonie]";
- mes "Wise choise.";
- mes "Rune Midgard has many shops and many variety of currencies.";
- mes "So you need to listen to me well to use them accordingly.";
- setquest 1237;
- close;
- }
- if(!questprogress(1238)) {
- mes "[Shop Helper Leonie]";
- mes "Let's start.";
- } else if(questprogress(1238) == 1) {
- if(countitem(Red_Potion) > 0) {
- mes "[Shop Helper Leonie]";
- mes "Ok 1 ^0000ffRed Potion^000000.";
- mes "For now on you can use them at a field in a dungeon.";
- mes "As a reward I'll give you a couple of ^ff0000Fly Wing^000000s.";
- completequest 1238;
- setquest 1239;
- getitem N_Fly_Wing, 50; // N_Fly_Wing
- getexp 1300, 100;
- close;
+ mes("[Shop Helper Leonie]");
+ mes("Wise choise.");
+ mes("Rune Midgard has many shops and many variety of currencies.");
+ mes("So you need to listen to me well to use them accordingly.");
+ setquest(1237);
+ close();
+ }
+ if (!questprogress(1238)) {
+ mes("[Shop Helper Leonie]");
+ mes("Let's start.");
+ } else if (questprogress(1238) == 1) {
+ if (countitem(Red_Potion) > 0) {
+ mes("[Shop Helper Leonie]");
+ mes("Ok 1 ^0000ffRed Potion^000000.");
+ mes("For now on you can use them at a field in a dungeon.");
+ mes("As a reward I'll give you a couple of ^ff0000Fly Wing^000000s.");
+ completequest(1238);
+ setquest(1239);
+ getitem(N_Fly_Wing, 50); // N_Fly_Wing
+ getexp(1300, 100);
+ close();
}
- mes "[Shop Helper Leonie]";
- mes "Go to the shop and buy one ^0000ffRed Potion^000000 and bring it back.";
- mes "You have that much money, right?";
- next;
- mes "[Shop Helper Leonie]";
- mes "If not, go hunt monsters in the vicnity and then when you sell their loot you should make enough money.";
- next;
- if(select("I will do it.", "Question about the shop.") == 1) {
- mes "[Shop Helper Leonie]";
- mes "Let's go into the next lesson.";
- mes "Hurry back.";
- close;
+ mes("[Shop Helper Leonie]");
+ mes("Go to the shop and buy one ^0000ffRed Potion^000000 and bring it back.");
+ mes("You have that much money, right?");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("If not, go hunt monsters in the vicnity and then when you sell their loot you should make enough money.");
+ next();
+ if (select("I will do it.", "Question about the shop.") == 1) {
+ mes("[Shop Helper Leonie]");
+ mes("Let's go into the next lesson.");
+ mes("Hurry back.");
+ close();
}
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
} else {
- if(!questprogress(1240)) {
- mes "[Shop Helper Leonie]";
- mes "We'll do the next lesson.";
- mes "In your future travels.";
- mes "You will acquire many items in your inventory.";
- next;
- mes "[Shop Helper Leonie]";
- mes "Among those items, there will be ones that you can't drop or trade, these are for quests. These are important items but often times you will also find them to be a burden.";
- next;
- mes "[Shop Helper Leonie]";
- mes "In those times, sell what you can to shops in order to decrease your inventory.";
- mes "I'll give you an example.";
- mes "Go to a shop to unload it.";
- next;
+ if (!questprogress(1240)) {
+ mes("[Shop Helper Leonie]");
+ mes("We'll do the next lesson.");
+ mes("In your future travels.");
+ mes("You will acquire many items in your inventory.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("Among those items, there will be ones that you can't drop or trade, these are for quests. These are important items but often times(you will also find them to be a burden.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("In those times, sell what you can to shops in order to decrease your inventory.");
+ mes("I'll give you an example.");
+ mes("Go to a shop to unload it.");
+ next();
switch(select("I don't want to do it.", "I will do it.", "Question about the shop.")) {
case 1:
- mes "[Shop Helper Leonie]";
- mes "Stingy person!";
- close;
+ mes("[Shop Helper Leonie]");
+ mes("Stingy person!");
+ close();
case 2:
- mes "[Shop Helper Leonie]";
- mes "About shop variety.";
- mes "You can buy these items everywhere in the world.";
- mes "Go sell one ^ff0000Poor Can^000000 that I gave you to the shop.";
- completequest 1239;
- setquest 1240;
- getitem Bad_Can,1; // Bad_Can
- close;
+ mes("[Shop Helper Leonie]");
+ mes("About shop variety.");
+ mes("You can buy these items everywhere in the world.");
+ mes("Go sell one ^ff0000Poor Can^000000 that I gave you to the shop.");
+ completequest(1239);
+ setquest(1240);
+ getitem(Bad_Can,1); // Bad_Can
+ close();
case 3:
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
break;
}
- } else if(questprogress(1240) == 1) {
- if(!countitem(Bad_Can)) {
- mes "[Shop Helper Leonie]";
- mes "You went and sold the ^ff0000Poor Can^000000.";
- mes "Good work, here's the reward for it.";
- mes "The things I haven't told you, you will learn throughout your travels.";
- completequest 1240;
- getitem N_Butterfly_Wing,10; // N_Butterfly_Wing
- getexp 1000,50;
- close;
+ } else if (questprogress(1240) == 1) {
+ if (!countitem(Bad_Can)) {
+ mes("[Shop Helper Leonie]");
+ mes("You went and sold the ^ff0000Poor Can^000000.");
+ mes("Good work, here's the reward for it.");
+ mes("The things I haven't told you, you will learn throughout your travels.");
+ completequest(1240);
+ getitem(N_Butterfly_Wing,10); // N_Butterfly_Wing
+ getexp(1000,50);
+ close();
}
- mes "[Shop Helper Leonie]";
- mes "You are now in trial period.";
- mes "Go sell the Poor Can and come back after selling it.";
- next;
- if(select("I will do it.", "Question about the shop.") == 1) {
- mes "[Shop Helper Leonie]";
- mes "About shop variety.";
- mes "You can buy these items everywhere in the world.";
- mes "Go sell one ^ff0000Poor Can^000000 that I gave you to the shop.";
- close;
+ mes("[Shop Helper Leonie]");
+ mes("You are now in trial period.");
+ mes("Go sell the Poor Can and come back after selling it.");
+ next();
+ if (select("I will do it.", "Question about the shop.") == 1) {
+ mes("[Shop Helper Leonie]");
+ mes("About shop variety.");
+ mes("You can buy these items everywhere in the world.");
+ mes("Go sell one ^ff0000Poor Can^000000 that I gave you to the shop.");
+ close();
}
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
}
}
}
- if(Class != Job_Novice || questprogress(1240) == 2) {
- mes "[Shop Helper Leonie]";
- mes "Anything else?";
- next;
- if(select("No", "Yes, there are lot.") == 1) {
- mes "[Shop Helper Leonie]";
- mes "Goodbye.";
- mes "The things I haven't told you, you will learn throughout your travels.";
- close;
+ if (Class != Job_Novice || questprogress(1240) == 2) {
+ mes("[Shop Helper Leonie]");
+ mes("Anything else?");
+ next();
+ if (select("No", "Yes, there are lot.") == 1) {
+ mes("[Shop Helper Leonie]");
+ mes("Goodbye.");
+ mes("The things I haven't told you, you will learn throughout your travels.");
+ close();
}
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
}
- while(1) {
- mes "What would you like to know?";
- next;
+ while(true) {
+ mes("What would you like to know?");
+ next();
set .@menu$,"Shop types:Currency types:Cash Shop:"+(Class == Job_Novice && !questprogress(1238)?"Experience training.":"No, I know enough.");
switch(select(.@menu$)) {
case 1:
- mes "[Shop Helper Leonie]";
- mes "You can buy weapons and armor at various armory merchants in each town.";
- next;
- mes "[Shop Helper Leonie]";
- mes "Healing potions and movement consummables can be found at Tool Shops.";
- next;
- mes "[Shop Helper Leonie]";
- mes "You'll also find merchants selling items for refining.";
- next;
- mes "[Shop Helper Leonie]";
- mes "So when you go into a town, try figuring out what shops there are for your benefit.";
- if(questprogress(1237) == 1)
- completequest 1237;
- next;
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
+ mes("You can buy weapons and armor at various armory merchants in each town.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("Healing potions and movement consummables can be found at Tool Shops.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("You'll also find merchants selling items for refining.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("So when you go into a town, try figuring out what shops there are for your benefit.");
+ if (questprogress(1237) == 1)
+ completequest(1237);
+ next();
+ mes("[Shop Helper Leonie]");
break;
case 2:
- mes "[Shop Helper Leonie]";
- mes "Kafras and most NPC merchants use ^ff0000Zeny^000000 but Malangdo and some of the Ash Vacuum worlds use different types of currency.";
- next;
- mes "[Shop Helper Leonie]";
- mes "They are ^ff0000Silvervine Fruit^000000, ^ff0000Splendide Coins^000000, they can be bought at Cash Shop or acquired through quests. The fruits and coins that are collected this way.";
- next;
- mes "[Shop Helper Leonie]";
- mes "They can be exchanged with unique equipments or gears.";
- mes "So, if you have plans to venture out to these areas, be sure to collect them.";
- if(questprogress(1237) == 1)
- completequest 1237;
- next;
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
+ mes("Kafras and most NPC merchants use ^ff0000Zeny^000000 but Malangdo and some of the Ash Vacuum worlds use different types of currency.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("They are ^ff0000Silvervine Fruit^000000, ^ff0000Splendide Coins^000000, they can be bought at Cash Shop or acquired through quests. The fruits and coins that are collected this way.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("They can be exchanged with unique equipments or gears.");
+ mes("So, if you have plans to venture out to these areas, be sure to collect them.");
+ if (questprogress(1237) == 1)
+ completequest(1237);
+ next();
+ mes("[Shop Helper Leonie]");
break;
case 3:
- mes "[Shop Helper Leonie]";
- mes "The icon on the right side called Cash Shop, if you click on it, whether you're in a town, dungeon, or field, you can still buy items anywhere you want.";
- next;
- mes "[Shop Helper Leonie]";
- mes "The cash you need to buy the items can be charged on the website.";
- if(questprogress(1237) == 1)
- completequest 1237;
- next;
- mes "[Shop Helper Leonie]";
+ mes("[Shop Helper Leonie]");
+ mes("The icon on the right side called Cash Shop, if you click on it, whether you're in a town, dungeon, or field, you can still buy items anywhere you want.");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("The cash you need to buy the items can be charged on the website.");
+ if (questprogress(1237) == 1)
+ completequest(1237);
+ next();
+ mes("[Shop Helper Leonie]");
break;
case 4:
- if(Class == Job_Novice && !questprogress(1238)) {
- mes "[Shop Helper Leonie]";
- mes "Let's do a simple tutorial.";
- mes "Go to the shop and buy one ^0000ffRed Potion^000000 and bring it back.";
- mes "You have that much money, right?";
- next;
- mes "[Shop Helper Leonie]";
- mes "If not, go hunt monsters in the vicnity and then when you sell their loot you should make enough money.";
- next;
- if(select("That's too tedious.", "I will do it.") == 1) {
- mes "[Shop Helper Leonie]";
- mes "Are you that lazy?";
- mes "I am watching!";
- close;
+ if (Class == Job_Novice && !questprogress(1238)) {
+ mes("[Shop Helper Leonie]");
+ mes("Let's do a simple tutorial.");
+ mes("Go to the shop and buy one ^0000ffRed Potion^000000 and bring it back.");
+ mes("You have that much money, right?");
+ next();
+ mes("[Shop Helper Leonie]");
+ mes("If not, go hunt monsters in the vicnity and then when you sell their loot you should make enough money.");
+ next();
+ if (select("That's too tedious.", "I will do it.") == 1) {
+ mes("[Shop Helper Leonie]");
+ mes("Are you that lazy?");
+ mes("I am watching!");
+ close();
}
- mes "[Shop Helper Leonie]";
- mes "Let's go into the next lesson.";
- mes "Hurry back.";
- if(questprogress(1237) == 1)
- completequest 1237;
- setquest 1238;
- close;
+ mes("[Shop Helper Leonie]");
+ mes("Let's go into the next lesson.");
+ mes("Hurry back.");
+ if (questprogress(1237) == 1)
+ completequest(1237);
+ setquest(1238);
+ close();
}
- mes "[Shop Helper Leonie]";
- mes "That's a relief that you know enough.";
- mes "If you have more questions, please ask me again.";
- close;
+ mes("[Shop Helper Leonie]");
+ mes("That's a relief that you know enough.");
+ mes("If you have more questions, please ask me again.");
+ close();
}
}
OnInit:
- questinfo 1237, QTYPE_QUEST, 0;
+ questinfo(1237, QTYPE_QUEST, 0);
end;
}
@@ -3502,96 +3681,96 @@ izlude_d,115,181,5 duplicate(Shop Helper#iz) Shop Helper#iz_d 4_F_KHELLISIA
//== Attribute Expert ======================================
// - Teaches the player about Attributes.
iz_ac01,53,74,3 script Attribute Expert#ac 1_M_WIZARD,{
- mes "[Attribute Expert]";
- mes "Are you a new student? Ask me anything if you have questions about atttribute. I am an attribute expert.";
- next;
- while(1) {
+ mes("[Attribute Expert]");
+ mes("Are you a new student? Ask me anything if you have questions about atttribute. I am an attribute expert.");
+ next();
+ while(true) {
switch(select("What are attributes?", "Harmony of attributes", "Experience of attribute", "End Conversation")) {
case 1:
- mes "[Attribute Expert]";
- mes "All materials in the world have their own attributes.";
- next;
- mes "[Attribute Expert]";
- mes "There are many types of attributes. There are 4 elemental attributes ^0D6EF2Water^000000, ^006600Wind^000000, ^FF0000Fire^000000, ^B97246Earth^000000.";
- next;
- mes "[Attribute Expert]";
- mes "There are more uncommon ones like... Neutral, Poison, Holy, Dark, Angel, Undead.";
- mes "There are more types than you think right?";
- next;
- mes "[Attribute Expert]";
- mes "All right, here's the question which attribute do we belong to?";
- next;
- if(select("Water", "Wind", "Fire", "Earth", "Neutral", "Poison", "Holy", "Dark", "Angel", "Undead") == 5) {
- mes "[Attribute Expert]";
- mes "Correct! You are good. Yes we belong to the Neutral attribute.";
- next;
+ mes("[Attribute Expert]");
+ mes("All materials in the world have their own attributes.");
+ next();
+ mes("[Attribute Expert]");
+ mes("There are many types of attributes. There are 4 elemental attributes ^0D6EF2Water^000000, ^006600Wind^000000, ^FF0000Fire^000000, ^B97246Earth^000000.");
+ next();
+ mes("[Attribute Expert]");
+ mes("There are more uncommon ones like... Neutral, Poison, Holy, Dark, Angel, Undead.");
+ mes("There are more types than you think right?");
+ next();
+ mes("[Attribute Expert]");
+ mes("All right, here's the question which attribute do we belong to?");
+ next();
+ if (select("Water", "Wind", "Fire", "Earth", "Neutral", "Poison", "Holy", "Dark", "Angel", "Undead") == 5) {
+ mes("[Attribute Expert]");
+ mes("Correct! You are good. Yes we belong to the Neutral attribute.");
+ next();
break;
} else {
- mes "[Attribute Expert]";
- mes "Do you think so?";
- mes "We belong to the Neutral.";
- next;
+ mes("[Attribute Expert]");
+ mes("Do you think so?");
+ mes("We belong to the Neutral.");
+ next();
break;
}
- next;
- mes "[Attribute Expert]";
- mes "Then, why do we need attributes? Maybe you know the answer... right?";
- next;
+ next();
+ mes("[Attribute Expert]");
+ mes("Then, why do we need attributes? Maybe you know the answer... right?");
+ next();
break;
case 2:
- mes "[Attribute Expert]";
- mes "Everything needs to balance with something srong and something weak. So ^3131FFbalance and harmony^000000 comes along all the time.";
- next;
- mes "[Attribute Expert]";
- mes "Balance and harmony is strongly related to your power as well. So remember well.";
- next;
- while(1) {
+ mes("[Attribute Expert]");
+ mes("Everything needs to balance with something srong and something weak. So ^3131FFbalance and harmony^000000 comes(along all the time.");
+ next();
+ mes("[Attribute Expert]");
+ mes("Balance and harmony is strongly related to your power as well. So remember well.");
+ next();
+ while(true) {
switch(select("Water", "Fire", "Earth", "Wind", "Etc...", "I already know")) {
case 1:
- mes "[Attribute Expert]";
- mes "^0D6EF2Water^000000 is stronger than ^FF0000Fire^000000, so they give bonus damage to anything with Fire attribute!";
- mes "But it is weak to ^006600Wind^000000.";
- next;
- mes "[Attribute Expert]";
- mes "Examples of monsters with the Water Attribute are Poring and Roda Frog... have you heard of those monsters?";
- next;
+ mes("[Attribute Expert]");
+ mes("^0D6EF2Water^000000 is stronger than ^FF0000Fire^000000, so they give bonus damage to anything with Fire attribute!");
+ mes("But it is weak to ^006600Wind^000000.");
+ next();
+ mes("[Attribute Expert]");
+ mes("Examples of monsters with the Water Attribute are Poring and Roda Frog... have you heard of those monsters?");
+ next();
continue;
case 2:
- mes "[Attribute Expert]";
- mes "^FF0000Fire^000000 is stronger than ^B97246Earth^000000, so they give bonus damage to anything with Earth attribute!";
- mes "Examples of monsters with the Fire Attribute are Drops and Picky.";
- next;
- mes "[Attribute Expert]";
- mes "Examples of monsters with the Fire Attribute are Drops and Picky.";
- next;
+ mes("[Attribute Expert]");
+ mes("^FF0000Fire^000000 is stronger than ^B97246Earth^000000, so they give bonus damage to anything with Earth attribute!");
+ mes("Examples of monsters with the Fire Attribute are Drops and Picky.");
+ next();
+ mes("[Attribute Expert]");
+ mes("Examples of monsters with the Fire Attribute are Drops and Picky.");
+ next();
continue;
case 3:
- mes "[Attribute Expert]";
- mes "^B97246Earth^000000 is stronger than ^006600Wind^000000, so they give bonus damage to anything with Wind attribute!";
- mes "But it is weak to ^FF0000Fire^000000.";
- next;
- mes "[Attribute Expert]";
- mes "Examples of monsters with the Earth Attribute are Pupa and Fabre.";
- next;
+ mes("[Attribute Expert]");
+ mes("^B97246Earth^000000 is stronger than ^006600Wind^000000, so they give bonus damage to anything with Wind attribute!");
+ mes("But it is weak to ^FF0000Fire^000000.");
+ next();
+ mes("[Attribute Expert]");
+ mes("Examples of monsters with the Earth Attribute are Pupa and Fabre.");
+ next();
continue;
case 4:
- mes "[Attribute Expert]";
- mes "^006600Wind^000000 is stronger than ^0D6EF2Water^000000, so they give bonus damage to anything with Water attribute!";
- mes "But it is weak to ^B97246Earth^000000.";
- next;
- mes "[Attribute Expert]";
- mes "Examples of monsters with the Wind Attribute are ChonChon and Hornet.";
- next;
+ mes("[Attribute Expert]");
+ mes("^006600Wind^000000 is stronger than ^0D6EF2Water^000000, so they give bonus damage to anything with Water attribute!");
+ mes("But it is weak to ^B97246Earth^000000.");
+ next();
+ mes("[Attribute Expert]");
+ mes("Examples of monsters with the Wind Attribute are ChonChon and Hornet.");
+ next();
continue;
case 5:
- mes "[Attribute Expert]";
- mes "^3131FFPoison^000000 is stronger than Fire, Wind, and Earth, but weak at Undead attribute.";
- next;
+ mes("[Attribute Expert]");
+ mes("^3131FFPoison^000000 is stronger than Fire, Wind, and Earth, but weak at Undead attribute.");
+ next();
continue;
case 6:
- mes "[Attribute Expert]";
- mes "It is important.. Isn't it?";
- next;
+ mes("[Attribute Expert]");
+ mes("It is important.. Isn't it?");
+ next();
break;
}
break;
@@ -3599,83 +3778,83 @@ iz_ac01,53,74,3 script Attribute Expert#ac 1_M_WIZARD,{
break;
case 3:
if (!questprogress(2299)) {
- mes "[Attribute Expert]";
- mes "Do you want to experience an attribute?";
- next;
- mes "[Attribute Expert]";
- mes "All right, do you see those ^3131FFFire Eggs^000000 over there?";
- mes "Go over there and smack one of them.";
- mes "Don't worry about destroying it either.";
- setquest 2299;
- close;
+ mes("[Attribute Expert]");
+ mes("Do you want to experience an attribute?");
+ next();
+ mes("[Attribute Expert]");
+ mes("All right, do you see those ^3131FFFire Eggs^000000 over there?");
+ mes("Go over there and smack one of them.");
+ mes("Don't worry about destroying it either.");
+ setquest(2299);
+ close();
} else if (questprogress(2299) == 1) {
- mes "[Attribute Expert]";
- mes "How is it? Have you ever attacked to Fire Eggs?";
- next;
+ mes("[Attribute Expert]");
+ mes("How is it? Have you ever attacked to Fire Eggs?");
+ next();
switch(select("Yes", "No", "I want to quit.")) {
case 1:
- mes "[Attribute Expert]";
- mes "How much damage did you give?";
- next;
- input .@input, 1, 100000;
+ mes("[Attribute Expert]");
+ mes("How much damage did you give?");
+ next();
+ input(.@input, 1, 100000);
if (.@input < 10) {
- mes "[Attribute Expert]";
- mes "Oh man, "+.@input+"! Are you even trying?";
- mes "You're barely hitting it.";
- next;
+ mes("[Attribute Expert]");
+ mesf("Oh man, %d! Are you even trying?", .@input);
+ mes("You're barely hitting it.");
+ next();
} else if (.@input > 9 && .@input < 100001) {
- mes "[Attribute Expert]";
- mes "You are good I guess...";
- next;
+ mes("[Attribute Expert]");
+ mes("You are good I guess...");
+ next();
} else {
- mes "[Attribute Expert]";
- mes "But wait that's impossible.";
- close;
+ mes("[Attribute Expert]");
+ mes("But wait that's impossible.");
+ close();
}
- mes "[Attribute Expert]";
- mes "All right. Class is over.";
- next;
- mes "[Attribute Expert]";
- mes "I am not sure if you remember monsters with ^FF0000Fire^000000 are weak against ^0D6EF2Water^000000.";
- next;
- mes "[Attribute Expert]";
- mes "I will give the ^0D6EF2Water^000000 attribute to you as a present.";
- mes "If you attack the Fire Eggs again you should do more damage now.";
- next;
- mes "[Attribute Expert]";
- mes "There is only one more chance!";
- mes "Hurry up, the attribute magic will be gone if you take more time thanks for joining to my class.";
- completequest 2299;
- // ConsumeSpecialItem 12115
+ mes("[Attribute Expert]");
+ mes("All right. Class is over.");
+ next();
+ mes("[Attribute Expert]");
+ mes("I am not sure if you remember monsters with ^FF0000Fire^000000 are weak against ^0D6EF2Water^000000.");
+ next();
+ mes("[Attribute Expert]");
+ mes("I will give the ^0D6EF2Water^000000 attribute to you as a present.");
+ mes("If you attack the Fire Eggs again you should do more damage now.");
+ next();
+ mes("[Attribute Expert]");
+ mes("There is only one more chance!");
+ mes("Hurry up, the attribute magic will be gone if you take more time thanks for joining to my class.");
+ completequest(2299);
+ // ConsumespecialItem 12115
if (Class == Job_Novice)
- getexp 100, 20;
- close;
+ getexp(100, 20);
+ close();
case 2:
- mes "[Attribute Expert]";
- mes "Go and smack those eggs over there.";
- mes "The egg of an ant is strong so don't worry about destroying them too much.";
- close;
+ mes("[Attribute Expert]");
+ mes("Go and smack those eggs over there.");
+ mes("The egg of an ant is strong so don't worry about destroying them too much.");
+ close();
case 3:
- mes "[Attribute Expert]";
- mes "There is nothing I can do. But I will help you anytime if you need.";
- erasequest 2299;
- close;
+ mes("[Attribute Expert]");
+ mes("There is nothing I can do. But I will help you anytime if you need.");
+ erasequest(2299);
+ close();
}
} else {
- mes "[Attribute Expert]";
- mes "Magic basically consists of different attribute attacks. There is another way of giving the attribute to your weapon by using skill or item. You will learn more the longer you play. Good luck!";
- close;
+ mes("[Attribute Expert]");
+ mes("Magic basically consists of different attribute attacks. There is another way of giving the attribute to your weapon by using skill or item. You will learn more the longer you play. Good luck!");
+ close();
}
break;
case 4:
- mes "[Attribute Expert]";
- mes "Are you getting interested in the depth of the different attributes?";
- close;
+ mes("[Attribute Expert]");
+ mes("Are you getting interested in the depth of the different attributes?");
+ close();
}
}
OnInit:
- questinfo 2299, QTYPE_NONE, 0;
+ questinfo(2299, QTYPE_NONE, 0);
end;
}
@@ -3713,524 +3892,524 @@ iz_ac01_d,56,68,0,0 monster Lv 10 2408,1,5000,0,0
// - Teaches the player about Cooking.
iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Why are you carrying so much stuff?";
- mes "Put them down and come back.";
- close;
+ mes("Why are you carrying so much stuff?");
+ mes("Put them down and come back.");
+ close();
}
if (Class == Job_Novice || (questprogress(14154) == 1 || questprogress(14155) == 1 || questprogress(14156) == 1 || questprogress(14157) == 1)) {
if (!new_cook) {
- mes "[Dacquoise]";
- mes "What an alluring smell!";
- next;
- mes "[Eclaire]";
- mes "Various dishes to stimulate the five senses. Oh, its heaven!";
- next;
- mes "[Mille Feuille]";
- mes "It's not an accident that you came here!";
- next;
- mes "[Dacquoise]";
- mes "What's your name stranger?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes ""+strcharinfo(0)+", hello.";
- next;
- emotion e_no1;
- mes "[Dacquoise]";
- mes "I am Dacquoise, the pupil of the legendary chef of Rune Midgard, ^0000cdCharles Orleans^000000.";
- next;
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "And we are also club members of Sir Orleans' ^0000cdfan club- Loverleans^000000.";
- next;
- emotion e_lv,"Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Orlean belongs to all of us!";
- next;
- emotion e_sob;
- mes "[Dacquoise]";
- mes "Ah, what do all the fools of the land eat?";
- next;
- mes "[Dacquoise]";
- mes "Fruits? Of course you can eat it raw, but isn't it art when you see the red strawberries laying on top of a creampie?";
- next;
- mes "[Eclaire]";
- mes "Bread? Of course you can eat it plain, but can you resist the fantastic harmony of meat and cheese and vegetables in a perfect sandwich?";
- next;
- mes "[Mille Feuille]";
- mes "I like the steamed horse feet of Minourus!";
- next;
- mes "[Dacquoise]";
- mes "If you eat a dedicated meal, you can ^0000cd raise a specific stats^000000 and additionally, ^0000cdrecover your health^000000, so what's the reason not to cook?";
- next;
- mes "[Eclaire]";
- mes "You, do you want to know more about cooking?";
- next;
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Will you exeprience the various spectrums of cooking?";
- next;
- if(select("I'm not interested, excuse me...", "Wow! I want to know more!") == 1) {
- mes "[Dacquoise]";
- mes "Really? Okay then... come back whenever you change your mind.";
- next;
- mes "[Eclaire]";
- mes "I have a hunch that you will come back again!";
- next;
- mes "[Mille Feuille]";
- mes "Don't forget to pound your chest if you choke on sweet potato!";
- close;
+ mes("[Dacquoise]");
+ mes("What an alluring smell!");
+ next();
+ mes("[Eclaire]");
+ mes("Various dishes to stimulate the five senses. Oh, its heaven!");
+ next();
+ mes("[Mille Feuille]");
+ mes("It's not an accident that you came here!");
+ next();
+ mes("[Dacquoise]");
+ mes("What's your name stranger?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("%s, Hello.", strcharinfo(PC_NAME));
+ next();
+ emotion(e_no1);
+ mes("[Dacquoise]");
+ mes("I am Dacquoise, the pupil of the legendary chef of Rune Midgard, ^0000cdCharles Orleans^000000.");
+ next();
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("And we are also club members of Sir Orleans' ^0000cdfan club- Loverleans^000000.");
+ next();
+ emotion(e_lv,"Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Orlean belongs to all of us!");
+ next();
+ emotion(e_sob);
+ mes("[Dacquoise]");
+ mes("Ah, what do all the fools of the land eat?");
+ next();
+ mes("[Dacquoise]");
+ mes("Fruits? Of course you can eat it raw, but isn't it art when you see the red strawberries laying on top of a creampie?");
+ next();
+ mes("[Eclaire]");
+ mes("Bread? Of course you can eat it plain, but can you resist the fantastic harmony of meat and cheese and vegetables in a perfect sandwich?");
+ next();
+ mes("[Mille Feuille]");
+ mes("I like the steamed horse feet of Minourus!");
+ next();
+ mes("[Dacquoise]");
+ mes("If you eat a dedicated meal, you can ^0000cd raise a specific stats^000000 and additionally, ^0000cdrecover your health^000000, so what's the reason not to cook?");
+ next();
+ mes("[Eclaire]");
+ mes("You, do you want to know more about cooking?");
+ next();
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Will you exeprience the various spectrums of cooking?");
+ next();
+ if (select("I'm not interested, excuse me...", "Wow! I want to know more!") == 1) {
+ mes("[Dacquoise]");
+ mes("Really? Okay then... come back whenever you change your mind.");
+ next();
+ mes("[Eclaire]");
+ mes("I have a hunch that you will come back again!");
+ next();
+ mes("[Mille Feuille]");
+ mes("Don't forget to pound your chest if you choke on sweet potato!");
+ close();
}
- emotion e_no1;
- mes "[Dacquoise]";
- mes "Ok, we will be kind guides to the journey of cooking!!";
- next;
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "It's ok with me, asking me everthing you want to know.";
- next;
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Kindness is our spice~";
- next;
+ emotion(e_no1);
+ mes("[Dacquoise]");
+ mes("Ok, we will be kind guides to the journey of cooking!!");
+ next();
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("It's ok with me, asking me everthing you want to know.");
+ next();
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Kindness is our spice~");
+ next();
switch(select("Cooking Benefits", "Cooking Methods", "Actually, I have to go...")) {
case 1:
- mes "[Dacquoise]";
- mes "Aha! You want to know about the benefits of cooking? Cooked meals have two benefits!";
- next;
- emotion e_gasp;
- mes "[Dacquoise]";
- mes "First, ^0000cdincreased stats!^000000 Baaam!!";
- next;
- mes "[Eclaire]";
- mes "Cooking is divided into 6 catagories. Each will raise up ^0000cdStr, Agi, Vit, Int, Dex, Luk^000000.";
- next;
- mes "[Mille Feuille]";
- mes "The amount of the stat increase changes depending on the level of cooking.";
- next;
- emotion e_gasp;
- mes "[Dacquoise]";
- mes "And the next benefit? Babam!";
- next;
- mes "[Eclaire]";
- mes "^0000cdHP and SP recovery^000000 effect!";
- next;
- mes "[Mille Feuille]";
- mes "This also differs with cooking levels, and some only recover HP.";
- next;
- mes "[Dacquoise]";
- mes "How is it? Sounds yummy right?";
- next;
- mes "[Eclaire]";
- mes "Your level is too low to experience the effects right now. If you level up more you will experience and cry for the effect of cooking.";
- next;
- mes "[Mille Feuille]";
- mes "Prepare lace handkerchief.";
- next;
+ mes("[Dacquoise]");
+ mes("Aha! You want to know about the benefits of cooking? Cooked meals have two benefits!");
+ next();
+ emotion(e_gasp);
+ mes("[Dacquoise]");
+ mes("First, ^0000cdincreased stats!^000000 Baaam!!");
+ next();
+ mes("[Eclaire]");
+ mes("Cooking is divided into 6 catagories. Each will raise up ^0000cdStr, Agi, Vit, Int, Dex, Luk^000000.");
+ next();
+ mes("[Mille Feuille]");
+ mes("The amount of the stat increase changes depending on the level of cooking.");
+ next();
+ emotion(e_gasp);
+ mes("[Dacquoise]");
+ mes("And the next benefit? Babam!");
+ next();
+ mes("[Eclaire]");
+ mes("^0000cdHP and SP recovery^000000 effect!");
+ next();
+ mes("[Mille Feuille]");
+ mes("This also differs with cooking levels, and some only recover HP.");
+ next();
+ mes("[Dacquoise]");
+ mes("How is it? Sounds yummy right?");
+ next();
+ mes("[Eclaire]");
+ mes("Your level is too low to experience the effects right now. If you level up more you will experience and cry for the effect of cooking.");
+ next();
+ mes("[Mille Feuille]");
+ mes("Prepare lace handkerchief.");
+ next();
select("How can I cook?");
- mes "[Dacquoise]";
- mes "There you go! Now you seem interested!";
- next;
- mes "[Dacquoise]";
- mes "But haste is waste in cooking! Proper cooking requires preparation.";
- next;
- mes "[Eclaire]";
- mes "Only the one who is well prepared can enter the world of cooking!";
- next;
- mes "[Mille Feuille]";
- mes "Preparation, it's not hard!";
- next;
- mes "[Dacquoise]";
- mes "Preparation can also be split into two stages.";
- next;
- emotion e_gasp;
+ mes("[Dacquoise]");
+ mes("There you go! Now you seem interested!");
+ next();
+ mes("[Dacquoise]");
+ mes("But haste is waste in cooking! Proper cooking requires preparation.");
+ next();
+ mes("[Eclaire]");
+ mes("Only the one who is well prepared can enter the world of cooking!");
+ next();
+ mes("[Mille Feuille]");
+ mes("Preparation, it's not hard!");
+ next();
+ mes("[Dacquoise]");
+ mes("Preparation can also be split into two stages.");
+ next();
+ emotion(e_gasp);
break;
case 2:
- mes "[Dacquoise]";
- mes "Right, cooking needs some preparation. This can also be divided into two catagories.";
- next;
- emotion e_gasp,"Dacquoise#"+strnpcinfo(NPC_NAME_HIDDEN);
+ mes("[Dacquoise]");
+ mes("Right, cooking needs some preparation. This can also be divided into two catagories.");
+ next();
+ emotion(e_gasp,"Dacquoise#"+strnpcinfo(NPC_NAME_HIDDEN));
break;
case 3:
- emotion e_an;
- mes "[Dacquoise]";
- mes "What is this? What a waste of time!";
- next;
- emotion e_ag, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "I thought we were going to get more members!";
- next;
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Never show up again!!";
- close;
+ emotion(e_an);
+ mes("[Dacquoise]");
+ mes("What is this? What a waste of time!");
+ next();
+ emotion(e_ag, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("I thought we were going to get more members!");
+ next();
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Never show up again!!");
+ close();
}
- mes "[Dacquoise]";
- mes "First, you need a ^0000cdCookbook.^000000";
- next;
- mes "[Eclaire]";
- mes "Let's say you have a mountain of ingredients, but you don't know what to do with them?";
- next;
- mes "[Mille Feuille]";
- mes "That's when you open the Cookbook.";
- next;
- mes "[Dacquoise]";
- mes "You need a Cookbook to know how to prepare the ingredients for cooking.";
- next;
- mes "[Eclaire]";
- mes "So how can I get these Cookbooks?";
- next;
- mes "[Mille Feuille]";
- mes "Cookbook can be earned ^0000cdthrough Quest^000000s or can be found by hunting ^0000cdmonster^000000s.";
- next;
- emotion e_gasp;
- mes "[Dacquoise]";
- mes "After getting the Cookbook, next preperation is!";
- mes "The ^0000cdingredients!^000000.";
- next;
- mes "[Eclaire]";
- mes "You can't cook without ingredients! Even a novice knows that!";
- next;
- mes "[Mille Feuille]";
- mes "You can get ingredients by beating or smashing ^0000cdmonster^000000 or you can buy them from a ^0000cdCooking Ingredient Merchant^000000.";
- next;
- mes "[Dacquoise]";
- mes "Cooking requires some preparation but the benefits are well worth it.";
- next;
- mes "[Dacquoise]";
- mes "And one thing to remember, there is ^0000cd a potential to fail in cooking^000000. Be careful as it depends on your cookwares and cooking level.";
- next;
- if(new_cook == 1) {
+ mes("[Dacquoise]");
+ mes("First, you need a ^0000cdCookbook.^000000");
+ next();
+ mes("[Eclaire]");
+ mes("Let's say you have a mountain of ingredients, but you don't know what to do with them?");
+ next();
+ mes("[Mille Feuille]");
+ mes("That's when you open the Cookbook.");
+ next();
+ mes("[Dacquoise]");
+ mes("You need a Cookbook to know how to prepare the ingredients for cooking.");
+ next();
+ mes("[Eclaire]");
+ mes("So how can I get these Cookbooks?");
+ next();
+ mes("[Mille Feuille]");
+ mes("Cookbook can be earned ^0000cdthrough Quest^000000s or can be found by hunting ^0000cdmonster^000000s.");
+ next();
+ emotion(e_gasp);
+ mes("[Dacquoise]");
+ mes("After getting the Cookbook, next preperation is!");
+ mes("The ^0000cdingredients!^000000.");
+ next();
+ mes("[Eclaire]");
+ mes("You can't cook without ingredients! Even a novice knows that!");
+ next();
+ mes("[Mille Feuille]");
+ mes("You can get ingredients by beating or smashing ^0000cdmonster^000000 or you can buy them from a ^0000cdCooking Ingredient Merchant^000000.");
+ next();
+ mes("[Dacquoise]");
+ mes("Cooking requires some preparation but the benefits are well worth it.");
+ next();
+ mes("[Dacquoise]");
+ mes("And one thing to remember, there is ^0000cd a potential to fail in cooking^000000. Be careful as it depends on your cookwares and cooking level.");
+ next();
+ if (new_cook == 1) {
select("I want to cook!");
- mes "[Dacquoise]";
- mes "That's the spirit! Let's cook for real!";
- mes "Get prepared and come back!";
- emotion e_no1;
+ mes("[Dacquoise]");
+ mes("That's the spirit! Let's cook for real!");
+ mes("Get prepared and come back!");
+ emotion(e_no1);
} else {
- mes "[Eclaire]";
- mes "We are not responsible even if it fails!";
+ mes("[Eclaire]");
+ mes("We are not responsible even if it fails!");
}
new_cook = 1;
- close;
+ close();
} else if (new_cook >= 1) {
- if(questprogress(14154) == 1 || questprogress(14155) == 1 || questprogress(14156) == 1 || questprogress(14157) == 1) {
- mes "[Dacquoise]";
- mes "Did you bring them all?";
- next;
- if(select("Yes! I did!", "No, I gave up.") == 2) {
- mes "[Dacquoise]";
- mes "I used my valuable time to introduce the cooking world to you.";
- mes "Then you just give up?";
- emotion e_an;
- next;
- mes "[Eclaire]";
- mes "You have insulted us!";
- emotion e_ag, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- next;
- mes "[Mille Feuille]";
- mes "Come back again, if you want to learn later~ I guess...";
- emotion e_dots, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- if(questprogress(14154) == 1)
- erasequest 14154;
- if(questprogress(14155) == 1)
- erasequest 14155;
- if(questprogress(14156) == 1)
- erasequest 14156;
- if(questprogress(14157) == 1)
- erasequest 14157;
+ if (questprogress(14154) == 1 || questprogress(14155) == 1 || questprogress(14156) == 1 || questprogress(14157) == 1) {
+ mes("[Dacquoise]");
+ mes("Did you bring them all?");
+ next();
+ if (select("Yes! I did!", "No, I gave up.") == 2) {
+ mes("[Dacquoise]");
+ mes("I used my valuable time to introduce the cooking world to you.");
+ mes("Then you just give up?");
+ emotion(e_an);
+ next();
+ mes("[Eclaire]");
+ mes("You have insulted us!");
+ emotion(e_ag, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ next();
+ mes("[Mille Feuille]");
+ mes("Come back again, if you want to learn later~ I guess...");
+ emotion(e_dots, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ if (questprogress(14154) == 1)
+ erasequest(14154);
+ if (questprogress(14155) == 1)
+ erasequest(14155);
+ if (questprogress(14156) == 1)
+ erasequest(14156);
+ if (questprogress(14157) == 1)
+ erasequest(14157);
end;
}
- mes "[Dacquoise]";
- mes "Can I have a look?";
- next;
- if(questprogress(14154) == 1 && countitem(Clover) > 0 && countitem(Green_Herb) > 0 && countitem(Red_Herb) > 0) {
- mes "[Dacquoise]";
- mes "You brough what I need! Okay, then I will cook for you as I promised.";
- mes "Time to move like greased lightning!!!!";
- emotion e_flash;
- next;
- mes "[Eclaire]";
- mes "Go hunting after eating this. You will feel your power enhanced.";
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- next;
- mes "[Mille Feuille]";
- mes "If you really want to cook, go and see ^0000ffSir. Charles Orleans at the basement of Prontera castle^000000!!";
- mes "Kya... Sir Orleans!!";
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- delitem Clover, 1; // Clover
- delitem Green_Herb, 1; // Green_Herb
- delitem Red_Herb, 1; // Red_Herb
- getitem Savory_Herb_Salad, 1; // Savory_Herb_Salad
- erasequest 14154;
+ mes("[Dacquoise]");
+ mes("Can I have a look?");
+ next();
+ if (questprogress(14154) == 1 && countitem(Clover) > 0 && countitem(Green_Herb) > 0 && countitem(Red_Herb) > 0) {
+ mes("[Dacquoise]");
+ mes("You brough what I need! Okay, then I will cook for you as I promised.");
+ mes("Time to move like greased lightning!!!!");
+ emotion(e_flash);
+ next();
+ mes("[Eclaire]");
+ mes("Go hunting after eating this. You will feel your power enhanced.");
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ next();
+ mes("[Mille Feuille]");
+ mes("If you really want to cook, go and see ^0000ffSir. Charles Orleans at the basement of Prontera castle^000000!!");
+ mes("Kya... Sir Orleans!!");
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ delitem(Clover, 1); // Clover
+ delitem(Green_Herb, 1); // Green_Herb
+ delitem(Red_Herb, 1); // Red_Herb
+ getitem(Savory_Herb_Salad, 1); // Savory_Herb_Salad
+ erasequest(14154);
end;
}
- if(questprogress(14155) == 1 && countitem(Apple) > 0 && countitem(Carrot) > 1) {
- mes "[Dacquoise]";
- mes "You brough what I need! Okay, then I will cook for you as I promised.";
- mes "Time to move like greased lightning!!!!";
- emotion e_flash;
- next;
- mes "[Eclaire]";
- mes "Try this. It will make you run like you are a flying bee.";
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- next;
- mes "[Mille Feuille]";
- mes "If you really want to cook, go and see ^0000ffSir. Charles Orleans at the basement of Prontera castle^000000!! You must be attracted by him!!";
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- delitem Apple, 1; // Apple
- delitem Carrot, 2; // Carrot
- getitem Apple_Carrot_Salad, 1; // Apple_Carrot_Salad
- erasequest 14155;
+ if (questprogress(14155) == 1 && countitem(Apple) > 0 && countitem(Carrot) > 1) {
+ mes("[Dacquoise]");
+ mes("You brough what I need! Okay, then I will cook for you as I promised.");
+ mes("Time to move like greased lightning!!!!");
+ emotion(e_flash);
+ next();
+ mes("[Eclaire]");
+ mes("Try this. It will make you run like you are a flying bee.");
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ next();
+ mes("[Mille Feuille]");
+ mes("If you really want to cook, go and see ^0000ffSir. Charles Orleans at the basement of Prontera castle^000000!! You must be attracted by him!!");
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ delitem(Apple, 1); // Apple
+ delitem(Carrot, 2); // Carrot
+ getitem(Apple_Carrot_Salad, 1); // Apple_Carrot_Salad
+ erasequest(14155);
end;
}
- if(questprogress(14156) == 1 && countitem(Jellopy) > 0 && countitem(Fluff) > 0 && countitem(Feather) > 0) {
- mes "[Dacquoise]";
- mes "You brough what I need! Okay, then I will cook for you as I promised.";
- mes "Time to move like greased lightning!!!!";
- emotion e_flash;
- next;
- mes "[Eclaire]";
- mes "Can you feel unknown power coursing through your veins? You're eating it!";
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- next;
- mes "[Mille Feuille]";
- mes "If you are really curious about the cooking, go seek Sir. Charles Orleans at the basement of Prontera Castle.";
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- delitem Jellopy, 1; // Jellopy
- delitem Fluff, 1; // Fluff
- delitem Feather, 1; // Feather
- getitem Casual_Stew, 1; // Casual_Stew
- erasequest 14156;
+ if (questprogress(14156) == 1 && countitem(Jellopy) > 0 && countitem(Fluff) > 0 && countitem(Feather) > 0) {
+ mes("[Dacquoise]");
+ mes("You brough what I need! Okay, then I will cook for you as I promised.");
+ mes("Time to move like greased lightning!!!!");
+ emotion(e_flash);
+ next();
+ mes("[Eclaire]");
+ mes("Can you feel unknown power coursing through your veins? You're eating it!");
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ next();
+ mes("[Mille Feuille]");
+ mes("If you are really curious about the cooking, go seek Sir. Charles Orleans at the basement of Prontera Castle.");
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ delitem(Jellopy, 1); // Jellopy
+ delitem(Fluff, 1); // Fluff
+ delitem(Feather, 1); // Feather
+ getitem(Casual_Stew, 1); // Casual_Stew
+ erasequest(14156);
end;
}
- if(questprogress(14157) == 1 && countitem(Apple) > 0 && countitem(Clover) > 0) {
- mes "[Dacquoise]";
- mes "You brough what I need! Okay, then I will cook for you as I promised.";
- mes "Time to move like greased lightning!!!!";
- emotion e_flash;
- next;
- mes "[Eclaire]";
- mes "If you eat this. You will never miss your target!";
- mes "In fact, never miss the target for level 1!";
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- next;
- mes "[Mille Feuille]";
- mes "Go and see Sir. Charles Orleans at the basement of Prontera castle!!";
- mes "You can learn real cooking from him!";
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- delitem Apple, 1; // Apple
- delitem Clover, 1; // Clover
- getitem Golden_Roasted_Apple, 1; // Golden_Roasted_Apple
- erasequest 14157;
+ if (questprogress(14157) == 1 && countitem(Apple) > 0 && countitem(Clover) > 0) {
+ mes("[Dacquoise]");
+ mes("You brough what I need! Okay, then I will cook for you as I promised.");
+ mes("Time to move like greased lightning!!!!");
+ emotion(e_flash);
+ next();
+ mes("[Eclaire]");
+ mes("If you eat this. You will never miss your target!");
+ mes("In fact, never miss the target for level 1!");
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ next();
+ mes("[Mille Feuille]");
+ mes("Go and see Sir. Charles Orleans at the basement of Prontera castle!!");
+ mes("You can learn real cooking from him!");
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ delitem(Apple, 1); // Apple
+ delitem(Clover, 1); // Clover
+ getitem(Golden_Roasted_Apple, 1); // Golden_Roasted_Apple
+ erasequest(14157);
end;
}
- mes "[Dacquoise]";
- mes "What do you want me to do without ingredients? Go and get them myself?";
- close;
+ mes("[Dacquoise]");
+ mes("What do you want me to do without ingredients? Go and get them myself?");
+ close();
}
- if(new_cook == 2) {
- mes "[Dacquoise]";
- mes "You came back to me again because you want to cook, right?";
- next;
- mes "[Eclaire]";
- mes "So what do you want to cook?";
- next;
- mes "[Mille Feuille]";
- mes "Oh? That kid is back again. "+strcharinfo(0)+" right? So what do you want?";
- next;
+ if (new_cook == 2) {
+ mes("[Dacquoise]");
+ mes("You came back to me again because you want to cook, right?");
+ next();
+ mes("[Eclaire]");
+ mes("So what do you want to cook?");
+ next();
+ mes("[Mille Feuille]");
+ mesf("Oh? That kid is back again. %s right? So what do you want?", strcharinfo(PC_NAME));
+ next();
} else {
- mes "[Dacquoise]";
- mes "Are you ready? Then making is believing! Let's cook!";
- next;
- mes "[Eclaire]";
- mes "For this demonstration the duration of the cooking will be shortened.";
- next;
- mes "[Mille Feuille]";
- mes "The cooking we are about to show you requires a recipe and cooking equipment but it is difficult for novices so I will cook for you.";
- next;
- emotion e_bzz;
- mes "[Dacquoise]";
- mes "Why are you saying you will make them?";
- next;
- emotion e_hmm, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Ah, Why not?";
- next;
- mes "[Dacquoise]";
- mes "I am the leader of this flame cooking trio chefs!";
- next;
- emotion e_omg, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "What?!! When was that decided?";
- next;
- emotion e_no;
- mes "[Dacquoise]";
- mes "Is there anyone who is older than me?";
- next;
- emotion e_omg, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "Age! There is nothing I can do with it.";
- next;
- emotion e_ok,"Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "Just because you're one year older, you want to automatically be rejected. Anyone have an objection?";
- next;
- emotion e_an;
- mes "[Dacquoise]";
- mes "Quiet!";
- next;
- mes "[Dacquoise]";
- mes "So what do you want to make? Int and Luk meals would have no benefit to you, so I prepared the other 4 foods.";
- next;
+ mes("[Dacquoise]");
+ mes("Are you ready? Then making is believing! Let's cook!");
+ next();
+ mes("[Eclaire]");
+ mes("For this demonstration the duration of the cooking will be shortened.");
+ next();
+ mes("[Mille Feuille]");
+ mes("The cooking we are about to show you requires a recipe and cooking equipment but it is difficult for novices so I will cook for you.");
+ next();
+ emotion(e_bzz);
+ mes("[Dacquoise]");
+ mes("Why are you saying you will make them?");
+ next();
+ emotion(e_hmm, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Ah, Why not?");
+ next();
+ mes("[Dacquoise]");
+ mes("I am the leader of this flame cooking trio chefs!");
+ next();
+ emotion(e_omg, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("What?!! When was that decided?");
+ next();
+ emotion(e_no);
+ mes("[Dacquoise]");
+ mes("Is there anyone who is older than me?");
+ next();
+ emotion(e_omg, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("Age! There is nothing I can do with it.");
+ next();
+ emotion(e_ok,"Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("Just because you're one year older, you want to automatically be rejected. Anyone have an objection?");
+ next();
+ emotion(e_an);
+ mes("[Dacquoise]");
+ mes("Quiet!");
+ next();
+ mes("[Dacquoise]");
+ mes("So what do you want to make? Int and Luk meals would have no benefit to you, so I prepared the other 4 foods.");
+ next();
}
switch(select("Fragrant Herb Mix", "Crunchy Salad", "Mixed Shabu Shabu", "Golden Apple Roast")) {
case 1:
// Fragrant Herb Mix
- mes "[Dacquoise]";
- mes "^0000cdFragrant Herb Mix^000000. It increases ^0000cdStr^000000.";
- next;
- mes "[Equazu]";
- mes "It's usually eaten by people of strength.";
- next;
- mes "[Mille Feuille]";
- mes "Ingredients- ^0000cd 1 Clover, 1 Green Herb, 1 Red Herb^000000.";
- next;
- cutin "·ç³ªÆ½Ä«µå.bmp", 3;
- mes "[Dacquoise]";
- mes "Clover and the Red Herb are dropped by Lunatic or Fabre monsters wandering everywhere on the field outside Izlude.";
- next;
- cutin "Æĺ긣īµå.bmp", 3;
- mes "[Eclaire]";
- mes "Green Herbs are dropped by Fabres.";
- next;
- cutin "", 255;
- mes "[Mille Feuille]";
- mes "We can cook once you bring all the ingredients.";
- close2;
+ mes("[Dacquoise]");
+ mes("^0000cdFragrant Herb Mix^000000. It increases ^0000cdStr^000000.");
+ next();
+ mes("[Equazu]");
+ mes("It's usually eaten by people of strength.");
+ next();
+ mes("[Mille Feuille]");
+ mes("Ingredients- ^0000cd 1 Clover, 1 Green Herb, 1 Red Herb^000000.");
+ next();
+ cutin("·ç³ªÆ½Ä«µå", 3);
+ mes("[Dacquoise]");
+ mes("Clover and the Red Herb are dropped by Lunatic or Fabre monsters wandering everywhere on the field outside Izlude.");
+ next();
+ cutin("Æĺ긣īµå", 3);
+ mes("[Eclaire]");
+ mes("Green Herbs are dropped by Fabres.");
+ next();
+ cutin("", 255);
+ mes("[Mille Feuille]");
+ mes("We can cook once you bring all the ingredients.");
+ close2();
new_cook = 2;
- setquest 14154;
+ setquest(14154);
end;
case 2:
// Crunchy Salad
- mes "[Dacquoise]";
- mes "Crunchy Salad. This I really like. You know your cooking.";
- next;
- mes "[Eclaire]";
- mes "Crunchy Salad increases ^0000cdAgi^000000. Good for fast attacks and avoiding damage from monsters.";
- next;
- mes "[Mille Feuille]";
- mes "Ingredients are ^0000cd 1 Apple & 2 Carrots^000000.";
- next;
- cutin "Æ÷¸µÄ«µå.bmp", 3;
- mes "[Dacquoise]";
- mes "Apples are dropped by Porings bouncing around the field outside of Izlude.";
- next;
- cutin "·ç³ªÆ½Ä«µå.bmp", 3;
- mes "[Eclaire]";
- mes "Carrots are given by Lunatics.";
- next;
- cutin "", 255;
- mes "[Mille Feuille]";
- mes "If you bring all the ingredients we can cook.";
- close2;
+ mes("[Dacquoise]");
+ mes("Crunchy Salad. This I really like. You know your cooking.");
+ next();
+ mes("[Eclaire]");
+ mes("Crunchy Salad increases ^0000cdAgi^000000. Good for fast attacks and avoiding damage from monsters.");
+ next();
+ mes("[Mille Feuille]");
+ mes("Ingredients are ^0000cd 1 Apple & 2 Carrots^000000.");
+ next();
+ cutin("Æ÷¸µÄ«µå", 3);
+ mes("[Dacquoise]");
+ mes("Apples are dropped by Porings bouncing around the field outside of Izlude.");
+ next();
+ cutin("·ç³ªÆ½Ä«µå", 3);
+ mes("[Eclaire]");
+ mes("Carrots are given by Lunatics.");
+ next();
+ cutin("", 255);
+ mes("[Mille Feuille]");
+ mes("If you bring all the ingredients we can cook.");
+ close2();
new_cook = 2;
- setquest 14155;
+ setquest(14155);
end;
case 3:
// Mixed Shabu Shabu
- mes "[Dacquoise]";
- mes "Scary ^0000cdAnything ShabuShabu!^000000 This raises ^0000cdVit^000000. Even a small portion makes you full.";
- next;
- mes "[Eclaire]";
- mes "If you eat this, you can feel less pain from monsters.";
- next;
- mes "[Mille Feuille]";
- mes "Ingredients are ^0000cd 1 Jellopy, 1 Fluff, 1 Feather^000000.";
- next;
- cutin "Æ÷¸µÄ«µå.bmp", 3;
- mes "[Dacquoise]";
- mes "Jellopy are dropped by Porings bouncing around the field of Izlude.";
- next;
- cutin "Æĺ긣īµå.bmp", 3;
- mes "[Eclaire]";
- mes "Fluff can be received from Fabre or Lunatic.";
- next;
- cutin "·ç³ªÆ½Ä«µå.bmp", 3;
- mes "[Mille Feuille]";
- mes "Feathers are dropped by Lunatics or Fabres.";
- next;
- cutin "", 255;
- mes "[Dacquoise]";
- mes "When you bring all the ingredients I'll make them for you.";
- close2;
+ mes("[Dacquoise]");
+ mes("Scary ^0000cdAnything ShabuShabu!^000000 This raises ^0000cdVit^000000. Even a small portion makes you full.");
+ next();
+ mes("[Eclaire]");
+ mes("If you eat this, you can feel less pain from monsters.");
+ next();
+ mes("[Mille Feuille]");
+ mes("Ingredients are ^0000cd 1 Jellopy, 1 Fluff, 1 Feather^000000.");
+ next();
+ cutin("Æ÷¸µÄ«µå", 3);
+ mes("[Dacquoise]");
+ mes("Jellopy are dropped by Porings bouncing around the field of Izlude.");
+ next();
+ cutin("Æĺ긣īµå", 3);
+ mes("[Eclaire]");
+ mes("Fluff can be received from Fabre or Lunatic.");
+ next();
+ cutin("·ç³ªÆ½Ä«µå", 3);
+ mes("[Mille Feuille]");
+ mes("Feathers are dropped by Lunatics or Fabres.");
+ next();
+ cutin("", 255);
+ mes("[Dacquoise]");
+ mes("When you bring all the ingredients I'll make them for you.");
+ close2();
new_cook = 2;
- setquest 14156;
+ setquest(14156);
end;
case 4:
// Golden Apple Roast
- mes "[Dacquoise]";
- mes "^0000cdGolden Apple Toast~^000000 shiny golden glaze... It tastes as good as it looks.";
- next;
- mes "[Eclaire]";
- mes "This raises ^0000cdDex^000000. It is mainly enjoyed by Archers who want to increase his attacking power or by people to increase their hit rate.";
- next;
- mes "[Mille Feuille]";
- mes "Ingredients are-^0000cd 1 Apple & 1 Clover^000000.";
- next;
- cutin "Æ÷¸µÄ«µå.bmp", 3;
- mes "[Dacquoise]";
- mes "Apple can be found in Porings in the field outside of Izlude.";
- next;
- cutin "·ç³ªÆ½Ä«µå.bmp", 3;
- mes "[Eclaire]";
- mes "Clovers are dropped by Lunatics or Fabre in the field outside Izlude.";
- next;
- cutin "", 255;
- mes "[Mille Feuille]";
- mes "When you bring all the ingredients I'll make them for you.";
- close2;
+ mes("[Dacquoise]");
+ mes("^0000cdGolden Apple Toast~^000000 shiny golden glaze... It tastes as good as it looks.");
+ next();
+ mes("[Eclaire]");
+ mes("This raises ^0000cdDex^000000. It is mainly enjoyed by Archers who want to increase his attacking power or by people to increase their hit rate.");
+ next();
+ mes("[Mille Feuille]");
+ mes("Ingredients are-^0000cd 1 Apple & 1 Clover^000000.");
+ next();
+ cutin("Æ÷¸µÄ«µå", 3);
+ mes("[Dacquoise]");
+ mes("Apple can be found in Porings in the field outside of Izlude.");
+ next();
+ cutin("·ç³ªÆ½Ä«µå", 3);
+ mes("[Eclaire]");
+ mes("Clovers are dropped by Lunatics or Fabre in the field outside Izlude.");
+ next();
+ cutin("", 255);
+ mes("[Mille Feuille]");
+ mes("When you bring all the ingredients I'll make them for you.");
+ close2();
new_cook = 2;
- setquest 14157;
+ setquest(14157);
end;
}
} else {
- emotion e_no1;
- mes "[Dacquoise]";
- mes "I am Dacquoise, the pupil of the legendary chef of Rune Midgard, ^0000cdCharles Orleans^000000.";
- next;
- emotion e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Eclaire]";
- mes "Steaks not only increase stats but also recover both your HP and SP.";
- next;
- emotion e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Mille Feuille]";
- mes "If you really want to cook, go and see^0000cd Sir. Charles Orleans at the basement of Prontera castle^000000!! You must be attracted by him!!";
- close;
+ emotion(e_no1);
+ mes("[Dacquoise]");
+ mes("I am Dacquoise, the pupil of the legendary chef of Rune Midgard, ^0000cdCharles Orleans^000000.");
+ next();
+ emotion(e_no1, 0, "Eclaire#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Eclaire]");
+ mes("Steaks not only increase stats but also recover both your HP and SP.");
+ next();
+ emotion(e_lv, 0, "Mille Feuille#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Mille Feuille]");
+ mes("If you really want to cook, go and see^0000cd Sir. Charles Orleans at the basement of Prontera castle^000000!! You must be attracted by him!!");
+ close();
}
} else {
- mes "[Dacquoise]";
- mes "Looks like you're no longer a beginner. Are you cooking these days?";
- next;
- mes "[Eclaire]";
- mes "If not why don't we start?";
- next;
- mes "[Mille Feuille]";
- mes "Steaks not only increase stats but also recover both your HP and SP.";
- next;
- mes "[Flame Cook Trio Chefs]";
- mes "If you really want to cook, go and meet ^0000cdSir. Charles Olreans at the basement of the Prontera castle^000000! You must be attracted by him.";
- close;
+ mes("[Dacquoise]");
+ mes("Looks like you're no longer a beginner. Are you cooking these days?");
+ next();
+ mes("[Eclaire]");
+ mes("If not why don't we start?");
+ next();
+ mes("[Mille Feuille]");
+ mes("Steaks not only increase stats but also recover both your HP and SP.");
+ next();
+ mes("[Flame Cook Trio Chefs]");
+ mes("If you really want to cook, go and meet ^0000cdSir. Charles Olreans at the basement of the Prontera castle^000000! You must be attracted by him.");
+ close();
}
OnInit:
- questinfo 14154, QTYPE_QUEST, 1, Job_Novice;
- questinfo 14155, QTYPE_QUEST, 1, Job_Novice;
- questinfo 14156, QTYPE_QUEST, 1, Job_Novice;
- questinfo 14157, QTYPE_QUEST, 1, Job_Novice;
+ questinfo(14154, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(14155, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(14156, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(14157, QTYPE_QUEST, 1, Job_Novice);
end;
}
@@ -4243,94 +4422,94 @@ iz_ac01_d,147,50,3 duplicate(Dacquoise#ac) Dacquoise#ac_d 4_COOK
// - Sells the player the Novice Combination Book and Kit.
iz_ac01,68,49,3 script General Store Owner#ac 4_F_03,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Quest cannot be continued due to the overfilled inventory.";
- mes "Please try it again after organizing the items.";
- close;
- }
- mes "[Querrie]";
- mes "Are you interested in the beginner's guild?";
- mes "I am selling Combination books and kits.";
- next;
- mes "[Querrie]";
- mes "To the Criatura students below level 20, a special sale is going on. Hope you to buy a lot!!!";
- next;
+ mes("Quest cannot be continued due to the overfilled inventory.");
+ mes("Please try it again after organizing the items.");
+ close();
+ }
+ mes("[Querrie]");
+ mes("Are you interested in the beginner's guild?");
+ mes("I am selling Combination books and kits.");
+ next();
+ mes("[Querrie]");
+ mes("To the Criatura students below level 20, a special sale is going on. Hope you to buy a lot!!!");
+ next();
switch(select("Novice Combination Book", "Combination Kit", "Cancel.")) {
case 1:
if (questprogress(4269) && questprogress(7478)) {
- mes "[Querrie]";
- mes "Have you been treated by the Therapist?";
- mes "At the medical botany class, you may receive a guild book.";
- next;
- if(select("Ah... is that so?", "I lost it.") == 1) {
- mes "[Querrie]";
- mes "Later, buy a lot of the guild combination kits~~~";
- mes "I am selling them at a jaw dropping price to students below base level 20.";
- close;
+ mes("[Querrie]");
+ mes("Have you been treated by the Therapist?");
+ mes("At the medical botany class, you may receive a guild book.");
+ next();
+ if (select("Ah... is that so?", "I lost it.") == 1) {
+ mes("[Querrie]");
+ mes("Later, buy a lot of the guild combination kits~~~");
+ mes("I am selling them at a jaw dropping price to students below base level 20.");
+ close();
}
- mes "[Querrie]";
- mes "Say what?";
+ mes("[Querrie]");
+ mes("Say what?");
} else {
- mes "[Querrie]";
- mes "You mean the combination book.";
- }
- mes "A book costs you 1000z.";
- next;
- if(select("Buy", "Don't buy.") == 2) {
- mes "[Querrie]";
- mes "Use it next time.";
+ mes("[Querrie]");
+ mes("You mean the combination book.");
+ }
+ mes("A book costs you 1000z.");
+ next();
+ if (select("Buy", "Don't buy.") == 2) {
+ mes("[Querrie]");
+ mes("Use it next time.");
} else {
if (Zeny >= 1000) {
- mes "[Querrie]";
- mes "Here you are.";
- mes "This book is for the beginners. But it will allow you combine the useful tools together, if you use it correctly.";
+ mes("[Querrie]");
+ mes("Here you are.");
+ mes("This book is for the beginners. But it will allow you combine the useful tools together, if you use it correctly.");
Zeny -= 1000;
- getitem Novice_Combi_Book, 1; // Novice_Combi_Book
+ getitem(Novice_Combi_Book, 1); // Novice_Combi_Book
} else {
- mes "[Querrie]";
- mes "The book price is 1000 zeny.";
- mes "You seem to be short of zeny.";
+ mes("[Querrie]");
+ mes("The book price is 1000 zeny.");
+ mes("You seem to be short of zeny.");
}
}
- close;
+ close();
case 2:
- if(BaseLevel <= 20) {
- mes "[Querrie]";
- mes "Breaking news! Special sale for you only!";
- mes "One combination kit only for 30z!";
- mes "How many do you need?";
+ if (BaseLevel <= 20) {
+ mes("[Querrie]");
+ mes("Breaking news! Special sale for you only!");
+ mes("One combination kit only for 30z!");
+ mes("How many do you need?");
} else {
- mes "[Querrie]";
- mes "No sales today.";
- mes "One combination kit costs you 500z.";
- mes "Tell me how many pieces you need?";
- }
- next;
- input .@input;
- if(!.@input) {
- mes "[Querrie]";
- mes "Well, you don't need to buy it now.";
- mes "Use it next time.";
- close;
- }
- if(.@input > 99) {
- mes "[Querrie]";
- mes "How many pieces do you need?";
- mes "You can buy up to 99 at once.";
- close;
+ mes("[Querrie]");
+ mes("No sales today.");
+ mes("One combination kit costs you 500z.");
+ mes("Tell me how many pieces you need?");
+ }
+ next();
+ input(.@input);
+ if (!.@input) {
+ mes("[Querrie]");
+ mes("Well, you don't need to buy it now.");
+ mes("Use it next time.");
+ close();
+ }
+ if (.@input > 99) {
+ mes("[Querrie]");
+ mes("How many pieces do you need?");
+ mes("You can buy up to 99 at once.");
+ close();
}
set .@cost, .@input * (BaseLevel <= 20 ? 30 : 500);
- mes "[Querrie]";
- mes .@input+" combination kits will cost you "+.@cost+".... zeny.";
- if(Zeny < .@cost) {
- mes "You look short of money for that amount.";
- close;
+ mes("[Querrie]");
+ mesf("%d combination kits will cost you %d.... zeny.", .@input, .@cost);
+ if (Zeny < .@cost) {
+ mes("You look short of money for that amount.");
+ close();
}
- mes "Thank you. Come back again.";
+ mes("Thank you. Come back again.");
Zeny -= .@cost;
- getitem Combination_Kit, .@input; // Combination_Kit
- close;
+ getitem(Combination_Kit, .@input); // Combination_Kit
+ close();
case 3:
- close;
+ close();
}
}
@@ -4342,20 +4521,20 @@ iz_ac01_d,68,49,3 duplicate(General Store Owner#ac) General Store Owner#ac_d 4_F
//== Battle Instructor =====================================
// - Gives the player monster hunting quests.
iz_ac01,59,83,3 script Battle Instructor#08 4_M_NOV_HUNT,{
- if(!checkweight(Knife, 1) || (MaxWeight - Weight) < 2000) {
- mes "- You have too many items.";
- mes "- Clear inventory and try again.";
- close;
- }
- if(Class == Job_Novice) {
- if(questprogress(4269) == 2) {
- if(JobLevel == 10) {
- mes "[Battle Instructor Subino]";
- mes "You shouldn't be like this, you are high enough to change your job.";
- mes "I won't stop you even if you stay still...";
- next;
- mes "[Battle Instructor Subino]";
- mes "Try to talk to ^ff0000each job instructor^000000 on the 2nd floor of the Academy if you aren't sure what job you want still.";
+ if (!checkweight(Knife, 1) || (MaxWeight - Weight) < 2000) {
+ mes("- You have too many items.");
+ mes("- Clear inventory and try again.");
+ close();
+ }
+ if (Class == Job_Novice) {
+ if (questprogress(4269) == 2) {
+ if (JobLevel == 10) {
+ mes("[Battle Instructor Subino]");
+ mes("You shouldn't be like this, you are high enough to change your job.");
+ mes("I won't stop you even if you stay still...");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("Try to talk to ^ff0000each job instructor^000000 on the 2nd floor of the Academy if you aren't sure what job you want still.");
for(set .@i,0; .@i<6; set .@i,.@i+1) {
set .@quest_id,11339+.@i;
setarray .@bexp[0],90,90,135,200,0,120;
@@ -4363,210 +4542,210 @@ iz_ac01,59,83,3 script Battle Instructor#08 4_M_NOV_HUNT,{
setarray .@material[0],909,515,914,939,0,915;
setarray .@count[0],5,1,3,3,0,2;
- if(.@quest_id == 11343)
+ if (.@quest_id == 11343)
continue;
- if(questprogress(.@quest_id,HUNTING) == 1)
- erasequest .@quest_id;
- else if(questprogress(.@quest_id,HUNTING) == 2) {
- erasequest .@quest_id;
- if(countitem(.@material[.@i]) >= .@count[i]) {
- delitem .@material[.@i],.@count[.@i];
- getexp .@bexp[.@i],.@jexp[.@i];
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
+ if (questprogress(.@quest_id,HUNTING) == 1)
+ erasequest(.@quest_id);
+ else if (questprogress(.@quest_id,HUNTING) == 2) {
+ erasequest(.@quest_id);
+ if (countitem(.@material[.@i]) >= .@count[i]) {
+ delitem(.@material[.@i],.@count[.@i]);
+ getexp(.@bexp[.@i],.@jexp[.@i]);
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
}
}
}
- close;
+ close();
}
- mes "[Battle Instructor Subino]";
- mes "Welcome!";
- mes "I am ^ff0000Battle Instructor Subino^000000.";
- mes "I ^ff0000provice a simple request^000000 to help you to grow up as good a soldier as fast as you can, so look around.";
- next;
+ mes("[Battle Instructor Subino]");
+ mes("Welcome!");
+ mes("I am ^ff0000Battle Instructor Subino^000000.");
+ mes("I ^ff0000provice a simple request^000000 to help you to grow up as good a soldier as fast as you can, so look around.");
+ next();
switch(select("Check requests", "Warp me to the Field", "End Conversation")) {
+ case 1:
+ switch(select("The most delicious in the world (1~3)", "Carrots are delicious (1~3)", "Fabre rolling clothes (4~6)", "Barrier!! (4~6)", (BaseLevel<7?"":"Buzzing~ (7~10)"), "Stop.")) {
case 1:
- switch(select("The most delicious in the world (1~3)", "Carrots are delicious (1~3)", "Fabre rolling clothes (4~6)", "Barrier!! (4~6)", (BaseLevel<7?"":"Buzzing~ (7~10)"), "Stop.")) {
- case 1:
- if(!questprogress(11338)) {
- setquest 11338;
- completequest 11338;
- }
- if(questprogress(11339,HUNTING) < 2) {
- mes "[Battle Instructor Subino]";
- mes "^ff0000Poring^000000s are very cute monsters when you see them.";
- next;
- mes "[Battle Instructor Subino]";
- mes "They drop Jellopy which are regarded as a main cooking material in Criatura Academy so we always need to hunt Porings.";
- next;
- }
- callsub L_Quest,11339,90,50,909,5,"Poring","can easily be found","Hunt","Jellopies";
- case 2:
- if(!questprogress(11338)) {
- setquest 11338;
- completequest 11338;
- }
- if(questprogress(11340,HUNTING) < 2) {
- mes "[Battle Instructor Subino]";
- mes "^ff0000Lunatic^000000s are very cute animal that live near Prontera.";
- mes "Tender...Soft...Very cute... It is very cute........";
- next;
- mes "[Battle Instructor Subino]";
- mes "It always bring ^ff0000Carrot^000000s with it, so it is easy to get a delicious carrot by hunting them.";
- next;
- mes "[Battle Instructor Subino]";
- mes "A carrot has lots of fibrous cells and contains vitamin A and carotin so it is good for eyes!";
- next;
- }
- callsub L_Quest,11340,90,50,515,1,"Lunatic","is easily found","Catch","Carrot";
- case 3:
- if(!questprogress(11338)) {
- setquest 11338;
- completequest 11338;
- }
- if(questprogress(11341,HUNTING) < 2) {
- mes "[Battle Instructor Subino]";
- mes "^ff0000Fabre^000000 is the most common bug which is usually seen in Rune Midgard Kingdom..";
- mes "It is a worm but it is very popular because it looks cute.";
- next;
- mes "[Battle Instructor Subino]";
- mes "Most of the clothes provided by Criatura Academy are made from ^ff0000Fluff^000000 from Fabres. It makes very strong and warm fabric.";
- next;
- }
- callsub L_Quest,11341,135,100,914,3,"Fabre","is easily found","Hunt","Fluffs";
- case 4:
- if(!questprogress(11338)) {
- setquest 11338;
- completequest 11338;
- }
- if(questprogress(11344,HUNTING) < 2) {
- mes "[Battle Instructor Subino]";
- mes "^ff0000Pupa^000000 is the intermediate stage of a Fabre before transforming into a Creamy.";
- mes "The process of a larva turning into a buttefly is mysterious.";
- next;
- mes "[Battle Instructor Subino]";
- mes "As a Fabre transforms to a Creamy I hope that all Novices turn to be great adventurers! So ^ff0000Chrysalis^000000.";
- next;
- }
- callsub L_Quest,11344,120,90,915,2,"Pupa","is easily found","Hunt","Chrysalises";
- case 5:
- if(!questprogress(11338)) {
- setquest 11338;
- completequest 11338;
- }
- if(questprogress(11342,HUNTING) < 2) {
- mes "[Battle Instructor Subino]";
- mes "^ff0000Hornet^000000s are a group of bees that live near Prontera under control of the Queen bee Mistress.";
- mes "Not aggressive... They only attack with their stingers when they are in danger.";
- next;
- mes "[Battle Instructor Subino]";
- mes "There is a study about using the poison extracted from their stingers to make an antidote in Criatura Academy.";
- next;
- }
- callsub L_Quest,11342,200,175,939,3,"Hornet","are found","Hunt","Bee Stings";
- case 6:
- mes "[Battle Instructor Subino]";
- mes "You don't seem to be interested.";
- mes "Come back again if you change your mind.";
- close;
+ if (!questprogress(11338)) {
+ setquest(11338);
+ completequest(11338);
}
+ if (questprogress(11339,HUNTING) < 2) {
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Poring^000000s are very cute monsters when you see them.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("They drop Jellopy which are regarded as a main cooking material in Criatura Academy so we always need to hunt Porings.");
+ next();
+ }
+ callsub(L_Quest,11339,90,50,909,5,"Poring","can easily be found","Hunt","Jellopies");
case 2:
- mes "[Battle Instructor Subino]";
- mes "Ok, I'll send you to the West field of Izlude.";
- mes "Be sure you know how to get back.";
- close2;
- warp "prt_fild"+strnpcinfo(NPC_NAME_HIDDEN), 344, 213;
- end;
+ if (!questprogress(11338)) {
+ setquest(11338);
+ completequest(11338);
+ }
+ if (questprogress(11340,HUNTING) < 2) {
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Lunatic^000000s are very cute animal that live near Prontera.");
+ mes("Tender...Soft...Very cute... It is very cute........");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("It always bring ^ff0000Carrot^000000s with it, so it is easy to get a delicious carrot by hunting them.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("A carrot has lots of fibrous cells and contains vitamin A and carotin so it is good for eyes!");
+ next();
+ }
+ callsub(L_Quest,11340,90,50,515,1,"Lunatic","is easily found","Catch","Carrot");
case 3:
- mes "[Battle Instructor Subino]";
- mes "You don't seem to be interested.";
- mes "Come back again if you change your mind.";
- close;
+ if (!questprogress(11338)) {
+ setquest(11338);
+ completequest(11338);
+ }
+ if (questprogress(11341,HUNTING) < 2) {
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Fabre^000000 is the most common bug which is usually seen in Rune Midgard Kingdom..");
+ mes("It is a worm but it is very popular because it looks cute.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("Most of the clothes provided by Criatura Academy are made from ^ff0000Fluff^000000 from Fabres. It makes very strong and warm fabric.");
+ next();
+ }
+ callsub(L_Quest,11341,135,100,914,3,"Fabre","is easily found","Hunt","Fluffs");
+ case 4:
+ if (!questprogress(11338)) {
+ setquest(11338);
+ completequest(11338);
+ }
+ if (questprogress(11344,HUNTING) < 2) {
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Pupa^000000 is the intermediate stage of a Fabre before transforming into a Creamy.");
+ mes("The process of a larva turning into a buttefly is mysterious.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("As a Fabre transforms to a Creamy I hope that all Novices turn to be great adventurers! So ^ff0000Chrysalis^000000.");
+ next();
+ }
+ callsub(L_Quest,11344,120,90,915,2,"Pupa","is easily found","Hunt","Chrysalises");
+ case 5:
+ if (!questprogress(11338)) {
+ setquest(11338);
+ completequest(11338);
+ }
+ if (questprogress(11342,HUNTING) < 2) {
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Hornet^000000s are a group of bees that live near Prontera under control of the Queen bee Mistress.");
+ mes("Not aggressive... They only attack with their stingers when they are in danger.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("There is a study about using the poison extracted from their stingers to make an antidote in Criatura Academy.");
+ next();
+ }
+ callsub(L_Quest,11342,200,175,939,3,"Hornet","are found","Hunt","Bee Stings");
+ case 6:
+ mes("[Battle Instructor Subino]");
+ mes("You don't seem to be interested.");
+ mes("Come back again if you change your mind.");
+ close();
+ }
+ case 2:
+ mes("[Battle Instructor Subino]");
+ mes("Ok, I'll send you to the West field of Izlude.");
+ mes("Be sure you know how to get back.");
+ close2();
+ warp("prt_fild"+strnpcinfo(NPC_NAME_HIDDEN), 344, 213);
+ end;
+ case 3:
+ mes("[Battle Instructor Subino]");
+ mes("You don't seem to be interested.");
+ mes("Come back again if you change your mind.");
+ close();
}
}
- mes "[Battle Instructor Subino]";
- mes "You didn't register with the ^ff0000Criatura Academy^000000 yet?";
- mes "It requires a simple procedure so go and register.";
- mes "You can register at the ^ff0000information center of academy^000000.";
- close;
+ mes("[Battle Instructor Subino]");
+ mes("You didn't register with the ^ff0000Criatura Academy^000000 yet?");
+ mes("It requires a simple procedure so go and register.");
+ mes("You can register at the ^ff0000information center of academy^000000.");
+ close();
} else {
- mes "[Battle Instructor Subino]";
- mes "You don't seem to need my help.";
- mes "You'd better look around somewhere else or go to the wider world.";
- next;
- mes "[Battle Instructor Subino]";
- mes "Visit the ^ff0000support of the class guild (Lv. 10~20) or check out the Eden Group (Lv. 15~100)^000000.";
- next;
- mes "[Battle Instructor Subino]";
- mes "^ff0000Ask the staff of each job on the second floor about the location of each class guild^000000 and you will find the ^ff0000Eden Group Headquarters^000000 where you can find easy hunt quests.";
- next;
- mes "[Battle Instructor Subino]";
- mes "It is ^ff0000displayed in the map of right screen^000000, so search for it.";
- mes "If you do not know, then you should get a help from a ^ff0000Town Guide^000000.";
- close;
+ mes("[Battle Instructor Subino]");
+ mes("You don't seem to need my help.");
+ mes("You'd better look around somewhere else or go to the wider world.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("Visit the ^ff0000support of the class guild (Lv. 10~20) or check out the Eden Group (Lv. 15~100)^000000.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("^ff0000Ask the staff of each job on the second floor about the location of each class guild^000000 and you will find the ^ff0000Eden Group Headquarters^000000 where you can find easy hunt quests.");
+ next();
+ mes("[Battle Instructor Subino]");
+ mes("It is ^ff0000displayed in the map of right screen^000000, so search for it.");
+ mes("If you do not know, then you should get a help from a ^ff0000Town Guide^000000.");
+ close();
}
L_Quest:
- if(!questprogress(getarg(0),HUNTING)) {
- if(select("Take quest.", "Stop.") == 2) {
- mes "[Battle Instructor Subino]";
- mes "You don't seem to be interested.";
- mes "Come back again if you change your mind.";
- close;
+ if (!questprogress(getarg(0),HUNTING)) {
+ if (select("Take quest.", "Stop.") == 2) {
+ mes("[Battle Instructor Subino]");
+ mes("You don't seem to be interested.");
+ mes("Come back again if you change your mind.");
+ close();
}
- mes "[Battle Instructor Subino]";
- if(getarg(0) == 11342) {
- mes getarg(5)+"s "+getarg(6)+" in ^ff0000West field of Prontera^000000.";
- mes getarg(5)+"s are difficult to catch for a Novice... But if you gather more Novices, you can do it.";
- next;
- mes "[Battle Instructor Subino]";
+ mes("[Battle Instructor Subino]");
+ if (getarg(0) == 11342) {
+ mesf("%ss %s in ^ff0000West field of Prontera^000000.", getarg(5), getarg(6));
+ mesf("%ss are difficult to catch for a Novice... But if you gather more Novices, you can do it.", getarg(5));
+ next();
+ mes("[Battle Instructor Subino]");
} else
- mes getarg(5)+" "+getarg(6)+" at the ^ff0000West field of Izlude^000000.";
- mes getarg(7)+" ^ff0000"+(getarg(0)==11344?"5":"10")+" "+getarg(5)+"s^000000 and bring ^ff0000"+getarg(4)+" "+getarg(8)+"^000000.";
- mes "You can check received quests by pressing ^ff0000Alt + U^000000.";
- setquest getarg(0);
- close;
- } else if(questprogress(getarg(0),HUNTING) == 1) {
- if(select("End Conversation", "Give up on the quest.") == 2) {
- mes "[Battle Instructor Subino]";
- mes "Will you really give up on the quest?";
- next;
- if(select("End Conversation", "Give up for sure.") == 2) {
- mes "[Battle Instructor Subino]";
- mes "You can challenge the quest as long as you need my help so come to me anytime.";
- erasequest getarg(0);
+ mesf("%s ^ff0000 %d %ss^000000 and bring ^ff0000%d %s^000000.", getarg(7), getarg(0)==11344?"5":"10", getarg(5), getarg(4), getarg(8));
+ mesf("%ss %s at the ^ff0000West field of Izlude^000000.", getarg(5), getarg(6));
+ mes("You can check received quests by pressing ^ff0000Alt + U^000000.");
+ setquest(getarg(0));
+ close();
+ } else if (questprogress(getarg(0),HUNTING) == 1) {
+ if (select("End Conversation", "Give up on the quest.") == 2) {
+ mes("[Battle Instructor Subino]");
+ mes("Will you really give up on the quest?");
+ next();
+ if (select("End Conversation", "Give up for sure.") == 2) {
+ mes("[Battle Instructor Subino]");
+ mes("You can challenge the quest as long as you need my help so come to me anytime.");
+ erasequest(getarg(0));
}
}
- close;
+ close();
} else {
- if(countitem(getarg(3)) < getarg(4)) {
- mes "[Battle Instructor Subino]";
- mes "You don't have enough ^ff0000"+getarg(8)+"^000000.";
- mes "Do better!";
- next;
- if(select("End Conversation", "Give up on the quest.") == 2) {
- mes "[Battle Instructor Subino]";
- mes "Will you really give up on the quest?";
- next;
- if(select("End Conversation", "Yes, give up.") == 2) {
- mes "[Battle Instructor Subino]";
- mes "You can challenge the quest as long as you need my help so come to me anytime.";
- erasequest getarg(0);
+ if (countitem(getarg(3)) < getarg(4)) {
+ mes("[Battle Instructor Subino]");
+ mesf("You don't have enough ^ff0000%d^000000.", getarg(8));
+ mes("Do better!");
+ next();
+ if (select("End Conversation", "Give up on the quest.") == 2) {
+ mes("[Battle Instructor Subino]");
+ mes("Will you really give up on the quest?");
+ next();
+ if (select("End Conversation", "Yes, give up.") == 2) {
+ mes("[Battle Instructor Subino]");
+ mes("You can challenge the quest as long as you need my help so come to me anytime.");
+ erasequest(getarg(0));
}
}
- close;
+ close();
}
- mes "[Battle Instructor Subino]";
- mes "Wow..!!";
- mes "Well done!!";
- erasequest getarg(0);
- delitem getarg(3), getarg(4);
- getexp getarg(1), getarg(2);
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- close;
+ mes("[Battle Instructor Subino]");
+ mes("Wow..!!");
+ mes("Well done!!");
+ erasequest(getarg(0));
+ delitem(getarg(3), getarg(4));
+ getexp(getarg(1), getarg(2));
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ close();
}
OnInit:
- //questinfo QTYPE_QUEST,4269,2,0,0,1,0,EAJ_NOVICE;
+ //questinfo(QTYPE_QUEST,4269,2,0,0,1,0,EAJ_NOVICE);
end;
}
@@ -4579,153 +4758,153 @@ iz_ac01_d,59,83,3 duplicate(Battle Instructor#08) Battle Instructor#08d 4_M_NOV_
// - Teaches the player about Pets.
iz_ac01,45,80,5 script Adept Adventurer#ac 4_M_JOB_BLACKSMITH,{
if (questprogress(2298) > 1) {
- mes "[Adept Adventurer]";
- mes "Any questions about getting a monster to become a pet?";
- next;
- while(1) {
+ mes("[Adept Adventurer]");
+ mes("Any questions about getting a monster to become a pet?");
+ next();
+ while(true) {
switch(select("Taming a monster", "Hatching the egg", "Monitoring pet's status", "Feeding", "Performances", "Removing the accessory", "Transforming back to egg", "End Conversation")) {
case 1:
- mes "[Adept Adventurer]";
- mes "Only some monsters can become pets and they all have different things to tame them.";
- next;
- mes "[Adept Adventurer]";
- mes "Each monster that can be tamed requires a specific ^3131FFtaming item^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "To begin taming,";
- mes "^3131FFdouble click^000000 the taming item in your inventory and select which monster to tame.";
- cutin "pet_ex_01.bmp", 3;
- next;
- mes "[Adept Adventurer]";
- mes "Press ^3131FFClick^000000 in the center of the pop-up slot machine to tame the monster..";
- cutin "pet_ex_02.bmp", 3;
- next;
- cutin "", 255;
- mes "[Adept Adventurer]";
- mes "If successful, the monster will be tranformed into an egg!";
- next;
+ mes("[Adept Adventurer]");
+ mes("Only some monsters can become pets and they all have different things to tame them.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Each monster that can be tamed requires a specific ^3131FFtaming item^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("To begin taming,");
+ mes("^3131FFdouble click^000000 the taming item in your inventory and select which monster to tame.");
+ cutin("pet_ex_01", 3);
+ next();
+ mes("[Adept Adventurer]");
+ mes("Press ^3131FFClick^000000 in the center of the pop-up slot machine to tame the monster..");
+ cutin("pet_ex_02", 3);
+ next();
+ cutin("", 255);
+ mes("[Adept Adventurer]");
+ mes("If successful, the monster will be tranformed into an egg!");
+ next();
break;
case 2:
- mes "[Adept Adventurer]";
- mes "Hatching requires you to have a ^3131FF<Pet Incubator>^000000 to awaken a monster in the egg.";
- next;
- mes "[Adept Adventurer]";
- mes "Most towns have a ^3131FF<Pet Groomer>^000000 where you can buy the ^3131FF<Pet Incubator>^000000.";
- mes "Ask the town guide for the location of the Pet Groomer if you can't find them.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Hatching requires you to have a ^3131FF<Pet Incubator>^000000 to awaken a monster in the egg.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Most towns have a ^3131FF<Pet Groomer>^000000 where you can buy the ^3131FF<Pet Incubator>^000000.");
+ mes("Ask the town guide for the location of the Pet Groomer if you can't find them.");
+ next();
break;
case 3:
- mes "[Adept Adventurer]";
- mes "^3131FFRight-click^000000 on your pet and select ^3131ffCheck the Pet Status^000000 to check on its status. Or you can press ^3131FF<Alt+J>^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "This will open up the Status Window. Here you can change the pet's ^3131FFname^000000 as well as check their ^3131FFHunter^000000 and ^3131FFIntimacy^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "There are some special pets that gives special skills when their ^3131FFIntimacy^000000 level becomes Loyal. Most pets start off as shy and time and food changes that.";
- next;
+ mes("[Adept Adventurer]");
+ mes("^3131FFRight-click^000000 on your pet and select ^3131ffCheck the Pet Status^000000 to check on its status. Or you can press ^3131FF<Alt+J>^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("This will open up the Status Window. Here you can change the pet's ^3131FFname^000000 as well as check their ^3131FFHunter^000000 and ^3131FFIntimacy^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("There are some special pets that gives special skills when their ^3131FFIntimacy^000000 level becomes(Loyal. Most pets start off as shy and time and food changes that.");
+ next();
break;
case 4:
- mes "[Adept Adventurer]";
- mes "<Pet Food> is normal food for pets but some pets prefer other foods. You should keep enough with you so your pet doesn't get hungry.";
- next;
- mes "[Adept Adventurer]";
- mes "Pets will ^3131FFrun away^000000 if they are too full or too hungry. So make sure you check your pets hunger status frequently!";
- next;
+ mes("[Adept Adventurer]");
+ mes("<Pet Food> is normal food for pets but some pets prefer other foods. You should keep enough with you so your pet doesn't get hungry.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Pets will ^3131FFrun away^000000 if they are too full or too hungry. So make sure you check your pets hunger status frequently!");
+ next();
break;
case 5:
- mes "[Adept Adventurer]";
- mes "Some pets will show a special performance when they are in a good mood.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Some pets will show a special performance when they are in a good mood.");
+ next();
break;
case 6:
- mes "[Adept Adventurer]";
- mes "Some pets can even wear accessory items.";
- mes "^3131FF<Pet Groomer>^000000 will sell some pet accessory items but some monsters will also drop pet accessory items as well.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Some pets can even wear accessory items.");
+ mes("^3131FF<Pet Groomer>^000000 will sell some pet accessory items but some monsters will also drop pet accessory items as well.");
+ next();
break;
case 7:
- mes "[Adept Adventurer]";
- mes "I think it is better off experiencing more together than transforming back to the eggs?";
- next;
+ mes("[Adept Adventurer]");
+ mes("I think it is better off experiencing more together than transforming back to the eggs?");
+ next();
break;
case 8:
- mes "[Adept Adventurer]";
- mes "Come back again when you have another question.";
- close;
+ mes("[Adept Adventurer]");
+ mes("Come back again when you have another question.");
+ close();
}
}
}
if (!questprogress(2293)) {
- mes "[Adventurer's Pet]";
- mes "I am hungry~ Feed me first, then let's walk around~";
- next;
- mes "[Adept Adventurer]";
- mes "Calm down now, here you go!";
- next;
- mes "[Adventurer's Pet]";
- mes "Phew, it was good. I'm full.";
- next;
- if(select("A talking monster!", "Ignore it.") == 2) {
- mes "[Adept Adventurer]";
- mes "Pets make the best companions for lonely journeys...";
- close;
- }
- mes "[Adept Adventurer]";
- mes "Once it was a dangerous monster, now it is my closest friend. This is my ^3131FFpet^000000 which is called as Debbie Ruchi.";
- next;
- if(select("What is a pet?", "End Conversation") == 2) {
- mes "[Adventurer's Pet]";
- mes "Yawn~ I am bored to death!";
- close;
- }
- mes "[Adept Adventurer]";
- mes "Well they're loyal ^3131FFmonster^000000s that stand by your side.";
- next;
+ mes("[Adventurer's Pet]");
+ mes("I am hungry~ Feed me first, then let's walk around~");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Calm down now, here you go!");
+ next();
+ mes("[Adventurer's Pet]");
+ mes("Phew, it was good. I'm full.");
+ next();
+ if (select("A talking monster!", "Ignore it.") == 2) {
+ mes("[Adept Adventurer]");
+ mes("Pets make the best companions for lonely journeys...");
+ close();
+ }
+ mes("[Adept Adventurer]");
+ mes("Once it was a dangerous monster, now it is my closest friend. This is my ^3131FFpet^000000 which is called as Debbie Ruchi.");
+ next();
+ if (select("What is a pet?", "End Conversation") == 2) {
+ mes("[Adventurer's Pet]");
+ mes("Yawn~ I am bored to death!");
+ close();
+ }
+ mes("[Adept Adventurer]");
+ mes("Well they're loyal ^3131FFmonster^000000s that stand by your side.");
+ next();
select("Does it help you fight?");
- mes "[Adept Adventurer]";
- mes "It doesn't help me battle but it helps by giving me bonus ^3131FFstats^000000 and other bonus effects.";
- next;
- mes "[Adept Adventurer]";
- mes "All these things are possible when ^3131FFIntimacy^000000 with your pet is very high.";
- next;
- mes "[Adept Adventurer]";
- mes "Intimacy requires a time commitment and a lot of food. Food is the way to any being's loyalty right? ha ha";
- next;
- if(select("How do I get a pet?", "End Conversation") == 2) {
- mes "[Adept Adventurer]";
- mes "Pets make the best companions for lonely journeys...";
- close;
- }
- mes "[Adept Adventurer]";
- mes "Do you need a pet?";
- next;
- mes "[Adept Adventurer]";
- mes "Hmm then let's go to the Academy Gardens together!";
- mes "I'll show you how it's done.";
- next;
- mes "[Adept Adventurer]";
- mes "Talk to me when you are ready to go to the garden!";
- setquest 2293;
- close;
+ mes("[Adept Adventurer]");
+ mes("It doesn't help me battle but it helps by giving me bonus ^3131FFstats^000000 and other bonus effects.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("All these things are possible when ^3131FFIntimacy^000000 with your pet is very high.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Intimacy requires a time commitment and a lot of food. Food is the way to any being's loyalty right? ha ha");
+ next();
+ if (select("How do I get a pet?", "End Conversation") == 2) {
+ mes("[Adept Adventurer]");
+ mes("Pets make the best companions for lonely journeys...");
+ close();
+ }
+ mes("[Adept Adventurer]");
+ mes("Do you need a pet?");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Hmm then let's go to the Academy Gardens together!");
+ mes("I'll show you how it's done.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Talk to me when you are ready to go to the garden!");
+ setquest(2293);
+ close();
} else {
- mes "[Adept Adventurer]";
- mes "Shall we go to the garden of Criatura Academy?";
- next;
- if(select("Send me now!", "Stay") == 1) {
- mes "[Adept Adventurer]";
- mes "All right, come this way.";
- close2;
- warp "new_1-3", 95, 171;
+ mes("[Adept Adventurer]");
+ mes("Shall we go to the garden of Criatura Academy?");
+ next();
+ if (select("Send me now!", "Stay") == 1) {
+ mes("[Adept Adventurer]");
+ mes("All right, come this way.");
+ close2();
+ warp("new_1-3", 95, 171);
end;
}
- mes "[Adept Adventurer]";
- mes "If you want, I will guide you anytime.";
- close;
+ mes("[Adept Adventurer]");
+ mes("If you want, I will guide you anytime.");
+ close();
}
OnInit:
- questinfo 2298, QTYPE_QUEST, 0;
+ questinfo(2298, QTYPE_QUEST, 0);
end;
}
@@ -4741,24 +4920,24 @@ iz_ac01,43,80,7 script Adventurer's Pet#ac 4_DEVIRUCHI,{
OnTimer60000:
switch(rand(1, 4)) {
case 1:
- npctalk "Yawn~ I am so bored!";
+ npctalk(_("Yawn~ I am so bored!"));
break;
case 2:
- npctalk "Red Potion.. Is it delicious? Herb does not look delicious.. I bet that is bitter.";
+ npctalk(_("Red Potion.. Is it delicious? Herb does not look delicious.. I bet that is bitter."));
break;
case 3:
- npctalk "Ha. You are lucky to have this Devi.";
+ npctalk(_("Ha. You are lucky to have this Devi."));
break;
case 4:
- npctalk "Isn't the floor cold? Well.. For me, Undead is more familiar.";
+ npctalk(_("Isn't the floor cold? Well.. For me, Undead is more familiar."));
break;
}
- initnpctimer;
+ initnpctimer();
end;
OnInit:
- initnpctimer;
+ initnpctimer();
end;
}
@@ -4773,361 +4952,361 @@ new_1-3,0,0,0,0 monster Little Poring 2398,30,50000,0,0
//- Adept Adventurer (Cont...) -
new_1-3,92,169,5 script Adept Adventurer#new_1-3 4_M_JOB_BLACKSMITH,{
if (questprogress(2298) == 2) {
- mes "[Adept Adventurer]";
- mes "Any questions about the cute pet?";
- next;
- while(1) {
+ mes("[Adept Adventurer]");
+ mes("Any questions about the cute pet?");
+ next();
+ while(true) {
switch(select("Taming a monster", "Hatching the egg", "Monitoring pet's status", "Feeding", "Performances", "Removing the accessory", "Transforming back to egg", "End Conversation")) {
case 1:
- mes "[Adept Adventurer]";
- mes "Only some monsters can become pets and they all have different things to tame them.";
- next;
- mes "[Adept Adventurer]";
- mes "Each monster that can be tamed requires a specific ^3131FFtaming item^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "To begin taming,";
- mes "^3131FFdouble click^000000 the taming item in your inventory and select which monster to tame.";
- cutin "pet_ex_01.bmp", 3;
- next;
- mes "[Adept Adventurer]";
- mes "Press ^3131FFClick^000000 in the center of the pop-up slot machine to tame the monster..";
- cutin "pet_ex_02.bmp", 3;
- next;
- cutin "", 255;
- mes "[Adept Adventurer]";
- mes "If successful, the monster will be tranformed into an egg!";
- next;
+ mes("[Adept Adventurer]");
+ mes("Only some monsters can become pets and they all have different things to tame them.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Each monster that can be tamed requires a specific ^3131FFtaming item^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("To begin taming,");
+ mes("^3131FFdouble click^000000 the taming item in your inventory and select which monster to tame.");
+ cutin("pet_ex_01", 3);
+ next();
+ mes("[Adept Adventurer]");
+ mes("Press ^3131FFClick^000000 in the center of the pop-up slot machine to tame the monster..");
+ cutin("pet_ex_02", 3);
+ next();
+ cutin("", 255);
+ mes("[Adept Adventurer]");
+ mes("If successful, the monster will be tranformed into an egg!");
+ next();
break;
case 2:
- mes "[Adept Adventurer]";
- mes "Hatching requires you to have a ^3131FF<Pet Incubator>^000000 to awaken a monster in the egg.";
- next;
- mes "[Adept Adventurer]";
- mes "Most towns have a ^3131FF<Pet Groomer>^000000 where you can buy the ^3131FF<Pet Incubator>^000000.";
- mes "Ask the town guide for the location of the Pet Groomer if you can't find them.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Hatching requires you to have a ^3131FF<Pet Incubator>^000000 to awaken a monster in the egg.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Most towns have a ^3131FF<Pet Groomer>^000000 where you can buy the ^3131FF<Pet Incubator>^000000.");
+ mes("Ask the town guide for the location of the Pet Groomer if you can't find them.");
+ next();
break;
case 3:
- mes "[Adept Adventurer]";
- mes "^3131FFRight-click^000000 on your pet and select ^3131ffCheck the Pet Status^000000 to check on its status. Or you can press ^3131FF<Alt+J>^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "This will open up the Status Window. Here you can change the pet's ^3131FFname^000000 as well as check their ^3131FFHunter^000000 and ^3131FFIntimacy^000000.";
- next;
- mes "[Adept Adventurer]";
- mes "There are some special pets that gives special skills when their ^3131FFIntimacy^000000 level becomes Loyal. Most pets start off as shy and time and food changes that.";
- next;
+ mes("[Adept Adventurer]");
+ mes("^3131FFRight-click^000000 on your pet and select ^3131ffCheck the Pet Status^000000 to check on its status. Or you can press ^3131FF<Alt+J>^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("This will open up the Status Window. Here you can change the pet's ^3131FFname^000000 as well as check their ^3131FFHunter^000000 and ^3131FFIntimacy^000000.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("There are some special pets that gives special skills when their ^3131FFIntimacy^000000 level becomes(Loyal. Most pets start off as shy and time and food changes that.");
+ next();
break;
case 4:
- mes "[Adept Adventurer]";
- mes "<Pet Food> is normal food for pets but some pets prefer other foods. You should keep enough with you so your pet doesn't get hungry.";
- next;
- mes "[Adept Adventurer]";
- mes "Pets will ^3131FFrun away^000000 if they are too full or too hungry. So make sure you check your pets hunger status frequently!";
- next;
+ mes("[Adept Adventurer]");
+ mes("<Pet Food> is normal food for pets but some pets prefer other foods. You should keep enough with you so your pet doesn't get hungry.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Pets will ^3131FFrun away^000000 if they are too full or too hungry. So make sure you check your pets hunger status frequently!");
+ next();
break;
case 5:
- mes "[Adept Adventurer]";
- mes "Some pets will show a special performance when they are in a good mood.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Some pets will show a special performance when they are in a good mood.");
+ next();
break;
case 6:
- mes "[Adept Adventurer]";
- mes "Some pets can even wear accessory items.";
- mes "^3131FF<Pet Groomer>^000000 will sell some pet accessory items but some monsters will also drop pet accessory items as well.";
- next;
+ mes("[Adept Adventurer]");
+ mes("Some pets can even wear accessory items.");
+ mes("^3131FF<Pet Groomer>^000000 will sell some pet accessory items but some monsters will also drop pet accessory items as well.");
+ next();
break;
case 7:
- mes "[Adept Adventurer]";
- mes "I think it is better off experiencing more together than transforming back to the eggs?";
- next;
+ mes("[Adept Adventurer]");
+ mes("I think it is better off experiencing more together than transforming back to the eggs?");
+ next();
break;
case 8:
- mes "[Adept Adventurer]";
- mes "Come back again when you have another question.";
- close;
+ mes("[Adept Adventurer]");
+ mes("Come back again when you have another question.");
+ close();
}
}
}
if (!questprogress(2293)) {
- mes "[Adept Adventurer]";
- mes "You can return to the Academy through the portal to the north.";
- close;
+ mes("[Adept Adventurer]");
+ mes("You can return to the Academy through the portal to the north.");
+ close();
} else if (questprogress(2293) == 1) {
- mes "[Adept Adventurer]";
- mes "Would you look at that...Porings growing in the garden of the closed Criatura Academy like little Jelly Babies.";
- next;
- mes "[Adept Adventurer]";
- mes "Not all monsters in Rune Midgards are our for your blood, just most of them.";
- next;
- mes "[Adept Adventurer]";
- mes "Take a look at that, looks like that ^3131FFPoring^000000 has something to say to you";
- completequest 2293;
- setquest 2294;
- close;
+ mes("[Adept Adventurer]");
+ mes("Would you look at that...Porings growing in the garden of the closed Criatura Academy like little Jelly Babies.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Not all monsters in Rune Midgards are our for your blood, just most of them.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Take a look at that, looks like that ^3131FFPoring^000000 has something to say to you");
+ completequest(2293);
+ setquest(2294);
+ close();
} else {
if (questprogress(2296) == 1) {
- mes "[Adept Adventurer]";
- mes "If you are confused, Please check the quest status by pressing ^3131FF<Alt+U>^000000 anytime.";
- next;
- if(select("How to gain Unripe Apples", "End Conversation") == 1) {
- mes "[Adept Adventurer]";
- mes "You'd want to go to the Dispensary to learn how to make ^3131FFUnripe Apple^000000s.";
- next;
- mes "[Adept Adventurer]";
- mes "One of the staff there should have a ^3131FFItem compounding book^000000 for novices, ^3131FFHow to make Unripe Apples^000000 is one of the subjects.";
- close;
+ mes("[Adept Adventurer]");
+ mes("If you are confused, Please check the quest status by pressing ^3131FF<Alt+U>^000000 anytime.");
+ next();
+ if (select("How to gain Unripe Apples", "End Conversation") == 1) {
+ mes("[Adept Adventurer]");
+ mes("You'd want to go to the Dispensary to learn how to make ^3131FFUnripe Apple^000000s.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("One of the staff there should have a ^3131FFItem compounding book^000000 for novices, ^3131FFHow to make Unripe Apples^000000 is one of the subjects.");
+ close();
}
}
if (questprogress(2297) == 1) {
- mes "[Adept Adventurer]";
- mes "So you used the taming item on the Little Porings, then they turned into eggs?";
- next;
- mes "[Adept Adventurer]";
- mes "Ha ha ha, don't fret my pet.";
- mes "You just cleared ^3131FFtaming^000000.";
- next;
+ mes("[Adept Adventurer]");
+ mes("So you used the taming item on the Little Porings, then they turned into eggs?");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Ha ha ha, don't fret my pet.");
+ mes("You just cleared ^3131FFtaming^000000.");
+ next();
select("Taming?");
- mes "[Adept Adventurer]";
- mes "Yep, it means you are ready to be a friend like me and Debbie Ruchi.";
- next;
- mes "[Adept Adventurer]";
- mes "There are lots of different monsters and tames out there.";
- next;
- mes "[Adept Adventurer]";
- mes "If you successfully tame it you end up with a little egg.";
- next;
- mes "[Adept Adventurer]";
- mes "So congratulations again for passing the test, the friendship test!";
- mes "Ask anytime whenever you have a question about cute pets.";
- next;
- mes "[Adept Adventurer]";
- mes "Do you see the shivering poring over there? Go easy on the lil' blighter, okay?";
- completequest 2297;
- setquest 2298;
- close;
- }
- mes "[Adept Adventurer]";
- mes "If you are confused, Please check the quest status by clicking ^3131FF<Alt+U>^000000 anytime.";
- close;
+ mes("[Adept Adventurer]");
+ mes("Yep, it means you are ready to be a friend like me and Debbie Ruchi.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("There are lots of different monsters and tames(out there.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("If you successfully tame it you end up with a little egg.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("So congratulations again for passing the test, the friendship test!");
+ mes("Ask anytime whenever you have a question about cute pets.");
+ next();
+ mes("[Adept Adventurer]");
+ mes("Do you see the shivering poring over there? Go easy on the lil' blighter, okay?");
+ completequest(2297);
+ setquest(2298);
+ close();
+ }
+ mes("[Adept Adventurer]");
+ mes("If you are confused, Please check the quest status by clicking ^3131FF<Alt+U>^000000 anytime.");
+ close();
}
}
//== Friendly Poring =======================================
new_1-3,99,169,3 script Friendly Poring#ac 4_PORING,{
if (!checkweight(Axe, 3)) {
- mes "[Poring]";
- mes "You have too many items to continue the quest.";
- next;
- mes "[Poring]";
- mes "Open inventory with ^3131FFAlt+E^000000 key, if you find unnecessaty items, sell them to ^3131FFmerchant^000000 or put into ^3131FFwarehouse^000000 by using kafra service~.";
- close;
+ mes("[Poring]");
+ mes("You have too many items to continue the quest.");
+ next();
+ mes("[Poring]");
+ mes("Open inventory with ^3131FFAlt+E^000000 key, if you find unnecessaty items, sell them to ^3131FFmerchant^000000 or put into ^3131FFwarehouse^000000 by using kafra service~.");
+ close();
}
if (!questprogress(2294)) {
- mes "[Poring]";
- mes "Help me novice...";
- close;
+ mes("[Poring]");
+ mes("Help me novice...");
+ close();
} else if (questprogress(2294) == 1) {
- mes "[Poring]";
- mes "Dear oh dear...what do we have 'ere?";
- next;
- if(select("What happend?", "Ignore him/it?") == 2) {
- mes "[Poring]";
- mes "Oh dear, oh dear...";
- close;
- }
- mes "[Poring]";
- mes "Wot a sad state of affairs.";
- next;
- mes "[Poring]";
- mes "That geeza' ghostring got defeated out in his dungeon and came here to pick on other monsters like me.";
- next;
- mes "[Poring]";
- mes "I'm too low level to stop 'im, you can hear them cheering now...";
- next;
- mes "[Ghostring]";
- mes "Oi you lot! Tell me wot I want to hear!";
- emotion e_gasp, 0, "Ghostring#cupet";
- next;
- mes "[Unskilled Poring]";
- mes "Ghostring's the strongest in the world!";
- emotion e_paper, 0, "Cowardly Poring#pet_1";
- emotion e_paper, 0, "Unskilled Poring#pet_2";
- emotion e_paper, 0, "Foolish Poring#pet_3";
- next;
- mes "[Ghostring]";
- mes "What kind of monster I am?";
- emotion e_gasp, 0, "Ghostring#cupet";
- next;
- mes "[Unskilled Poring]";
- mes "Ghostring's da Boss!";
- emotion e_paper, 0, "Cowardly Poring#pet_1";
- emotion e_paper, 0, "Unskilled Poring#pet_2";
- emotion e_paper, 0, "Foolish Poring#pet_3";
- next;
- mes "[Ghostring]";
- mes "Bwa ha ha ha~";
- emotion e_heh, 0, "Ghostring#cupet";
- next;
- emotion e_sob, 0, "Friendly Poring#ac";
- mes "[Poring]";
- mes "Bleedin' shame...";
- mes "Little Porings takin' up with a git like that and not bein' cute anymore.";
- next;
- mes "[Poring]";
- mes "The Little Porings aren't bad'uns, they've just not been to the outside world.";
- next;
- mes "[Poring]";
- mes "If this keeps up, all of the Porings in Rune Midgard'll be under the sway of Ghostring.";
- next;
- if(select("Can I help you?", "Too bad.") == 2) {
- mes "[Poring]";
- mes "Oh dear, oh dear.....";
- close;
- }
- mes "[Poring]";
- mes "Now that you mention it sir, I could use some help.";
- next;
- mes "[Unskilled Poring]";
- mes "Wot's Dat? Onna them Poring's talkin' to a huumie.";
- mes "Shall we beat him up?";
- emotion e_paper, 0, "Cowardly Poring#pet_1";
- emotion e_paper, 0, "Unskilled Poring#pet_2";
- emotion e_paper, 0, "Foolish Poring#pet_3";
- next;
- mes "[Poring]";
- mes "Blimey!";
- mes "Help me! Save me!";
- emotion e_omg, 0, "Friendly Poring#ac";
- next;
+ mes("[Poring]");
+ mes("Dear oh dear...what do we have 'ere?");
+ next();
+ if (select("What happend?", "Ignore him/it?") == 2) {
+ mes("[Poring]");
+ mes("Oh dear, oh dear...");
+ close();
+ }
+ mes("[Poring]");
+ mes("Wot a sad state of affairs.");
+ next();
+ mes("[Poring]");
+ mes("That geeza' ghostring got defeated out in his dungeon and came here to pick on other monsters like me.");
+ next();
+ mes("[Poring]");
+ mes("I'm too low level to stop 'im, you can hear them cheering now...");
+ next();
+ mes("[Ghostring]");
+ mes("Oi you lot! Tell me wot I want to hear!");
+ emotion(e_gasp, 0, "Ghostring#cupet");
+ next();
+ mes("[Unskilled Poring]");
+ mes("Ghostring's the strongest in the world!");
+ emotion(e_paper, 0, "Cowardly Poring#pet_1");
+ emotion(e_paper, 0, "Unskilled Poring#pet_2");
+ emotion(e_paper, 0, "Foolish Poring#pet_3");
+ next();
+ mes("[Ghostring]");
+ mes("What kind of monster I am?");
+ emotion(e_gasp, 0, "Ghostring#cupet");
+ next();
+ mes("[Unskilled Poring]");
+ mes("Ghostring's da Boss!");
+ emotion(e_paper, 0, "Cowardly Poring#pet_1");
+ emotion(e_paper, 0, "Unskilled Poring#pet_2");
+ emotion(e_paper, 0, "Foolish Poring#pet_3");
+ next();
+ mes("[Ghostring]");
+ mes("Bwa ha ha ha~");
+ emotion(e_heh, 0, "Ghostring#cupet");
+ next();
+ emotion(e_sob, 0, "Friendly Poring#ac");
+ mes("[Poring]");
+ mes("Bleedin' shame...");
+ mes("Little Porings takin' up with a git like that and not bein' cute anymore.");
+ next();
+ mes("[Poring]");
+ mes("The Little Porings aren't bad'uns, they've just not been to the outside world.");
+ next();
+ mes("[Poring]");
+ mes("If this keeps up, all of the Porings in Rune Midgard'll be under the sway of Ghostring.");
+ next();
+ if (select("Can I help you?", "Too bad.") == 2) {
+ mes("[Poring]");
+ mes("Oh dear, oh dear.....");
+ close();
+ }
+ mes("[Poring]");
+ mes("Now that you mention it sir, I could use some help.");
+ next();
+ mes("[Unskilled Poring]");
+ mes("Wot's Dat? Onna them Poring's talkin' to a huumie.");
+ mes("Shall we beat him up?");
+ emotion(e_paper, 0, "Cowardly Poring#pet_1");
+ emotion(e_paper, 0, "Unskilled Poring#pet_2");
+ emotion(e_paper, 0, "Foolish Poring#pet_3");
+ next();
+ mes("[Poring]");
+ mes("Blimey!");
+ mes("Help me! Save me!");
+ emotion(e_omg, 0, "Friendly Poring#ac");
+ next();
select("What can I do to help?");
- mes "[Poring]";
- mes "I do have a good idea!";
- mes "Come over here!";
- completequest 2294;
- setquest 2295;
- close;
+ mes("[Poring]");
+ mes("I do have a good idea!");
+ mes("Come over here!");
+ completequest(2294);
+ setquest(2295);
+ close();
} else if (questprogress(2295) == 1) {
- mes "[Poring]";
- mes "This is ^3131FFunripe apple^000000.";
- mes "The favorite items for Little Poring to eat.";
- next;
- mes "[Poring]";
- mes "Maybe you can use it to tempt them away from listenin' to Ghostring.";
- next;
- mes "[Poring]";
- mes "^3131FFDouble click the unripe apple^000000 that I gave you and ^3131FFselect^000000 a ^3131FFLittle Poring^000000 that you fancy.";
- cutin "pet_ex_01.bmp", 3;
- next;
- mes "[Poring]";
- mes "TThe click the centre of the slot machine.";
- cutin "pet_ex_02.bmp", 3;
- next;
- mes "[Poring]";
- mes "That'll lure them from out of Ghostring's influence.";
- cutin "", 255;
- completequest 2295;
- setquest 2296;
- getitem Little_Unripe_Apple, 5; // Little_Unripe_Apple
- close;
+ mes("[Poring]");
+ mes("This is ^3131FFunripe apple^000000.");
+ mes("The favorite items for Little Poring to eat.");
+ next();
+ mes("[Poring]");
+ mes("Maybe you can use it to tempt them away from listenin' to Ghostring.");
+ next();
+ mes("[Poring]");
+ mes("^3131FFDouble click the unripe apple^000000 that I gave you and ^3131FFselect^000000 a ^3131FFLittle Poring^000000 that you fancy.");
+ cutin("pet_ex_01", 3);
+ next();
+ mes("[Poring]");
+ mes("TThe click the centre of the slot machine.");
+ cutin("pet_ex_02", 3);
+ next();
+ mes("[Poring]");
+ mes("That'll lure them from out of Ghostring's influence.");
+ cutin("", 255);
+ completequest(2295);
+ setquest(2296);
+ getitem(Unripe_Apple2, 5);
+ close();
} else if (questprogress(2296) == 1) {
if (countitem(Novice_Poring_Egg) > 0) {
- mes "[Poring]";
- mes "Ello' mate. Were you successful? Where are the lil' bleeders?";
- next;
+ mes("[Poring]");
+ mes("Ello' mate. Were you successful? Where are the lil' bleeders?");
+ next();
select("Show eggs");
- mes "[Poring]";
- mes "Steady on now guv'na...";
- mes "What did you do to Unskilled Poring!?!? Novice!!!!!!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "I used the unripe apples that you gave me, then they turned into eggs.";
- next;
- emotion e_sob, 0, "Friendly Poring#ac";
- mes "[Poring]";
- mes "Oh, guess I didn't expect they'd be turned into pets so easily!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Yeah, don't worry, I'll make sure to";
- mes "give them a good home.";
- completequest 2296;
- setquest 2297;
- close;
+ mes("[Poring]");
+ mes("Steady on now guv'na...");
+ mes("What did you do to Unskilled Poring!?!? Novice!!!!!!");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I used the unripe apples that you gave me, then they turned into eggs.");
+ next();
+ emotion(e_sob, 0, "Friendly Poring#ac");
+ mes("[Poring]");
+ mes("Oh, guess I didn't expect they'd be turned into pets so easily!");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Yeah, don't worry, I'll make sure to");
+ mes("give them a good home.");
+ completequest(2296);
+ setquest(2297);
+ close();
} else {
- mes "[Poring]";
- mes "^3131FFDouble click the unripe apple^000000 that I gave you and ^3131FFselect^000000 your preferred ^3131FFLittle Poring^000000.";
- cutin "pet_ex_01.bmp", 3;
- next;
- mes "[Poring]";
- mes "The all you have to do is ^3131FF click ^0000 the middle of the slot machine.";
- cutin "pet_ex_02.bmp", 3;
- next;
- mes "[Poring]";
- mes "It may fail, but keep trying to lure way those Little Porings!";
- close;
+ mes("[Poring]");
+ mes("^3131FFDouble click the unripe apple^000000 that I gave you and ^3131FFselect^000000 your preferred ^3131FFLittle Poring^000000.");
+ cutin("pet_ex_01", 3);
+ next();
+ mes("[Poring]");
+ mes("The all you have to do is ^3131FF click ^0000 the middle of the slot machine.");
+ cutin("pet_ex_02", 3);
+ next();
+ mes("[Poring]");
+ mes("It may fail, but keep trying to lure way those Little Porings!");
+ close();
}
} else if (questprogress(2297) == 1) {
- mes "[Poring]";
- mes "Have you ever heard about the changes of a novice from adept adventurer?";
- close;
+ mes("[Poring]");
+ mes("Have you ever heard about the changes of a novice from adept adventurer?");
+ close();
} else if (questprogress(2298) == 1) {
- mes "[Poring]";
- mes "Unripe Apples are the item to tame.";
- mes "It will only work on the Little Porings hopping around.";
- next;
- mes "[Poring]";
- mes "If you're going to make them a cute pet...";
- mes "You must take care of your Little Poring!";
- next;
+ mes("[Poring]");
+ mes("Unripe Apples are the item to tame.");
+ mes("It will only work on the Little Porings hopping around.");
+ next();
+ mes("[Poring]");
+ mes("If you're going to make them a cute pet...");
+ mes("You must take care of your Little Poring!");
+ next();
select("What?");
- mes "[Poring]";
- mes "Even before that Ghostring came here, the Little Porings were kind of cowardly.";
- next;
- mes "[Poring]";
- mes "Since they've never been out in the real world, sort of like human novices.";
- next;
- mes "[Poring]";
- mes "You're just starting out on your adventure, right? You will visit many towns and meet many people and encounter the frightful Boss Monsters.";
- next;
- mes "[Poring]";
- mes "Won't you consider taking one of these chavs with you?";
- next;
- mes "[Poring]";
- mes "They're smeggin' talkative, but they'll be loyal friends!";
- next;
- mes "[Poring]";
- mes "I'd say that the ^31311F Adept adventurer ^000000 knows lots of things about pets, so you can ask him about your new Little Poring Friend.";
- next;
- mes "[Poring]";
- mes "By the way, you should have a ^3131FFportable egg incubator ^000000.";
- mes "It was dropped by a careless ^3131FFPet Groomer^000000 traveling through.";
- next;
- mes "[Poring]";
- mes "I will also give you the Little Poring's favorite ^3131FFapple juice^000000, so make sure that it stays fed all the time!";
- next;
- mes "[Poring]";
- mes "Oi, Little Poring.";
- mes "I look forward to seeing you once you've explored Rune Midgards!";
- mes "Cheers mate.";
- completequest 2298;
+ mes("[Poring]");
+ mes("Even before that Ghostring came here, the Little Porings were kind of cowardly.");
+ next();
+ mes("[Poring]");
+ mes("Since they've never been out in the real world, sort of like human novices.");
+ next();
+ mes("[Poring]");
+ mes("You're just starting out on your adventure, right? You will visit many towns and meet many people and encounter the frightful Boss Monsters.");
+ next();
+ mes("[Poring]");
+ mes("Won't you consider taking one of these chavs with you?");
+ next();
+ mes("[Poring]");
+ mes("They're smeggin' talkative, but they'll be loyal friends!");
+ next();
+ mes("[Poring]");
+ mes("I'd say that the ^31311F Adept adventurer ^000000 knows lots of things about pets, so you can ask him about your new Little Poring Friend.");
+ next();
+ mes("[Poring]");
+ mes("By the way, you should have a ^3131FFportable egg incubator ^000000.");
+ mes("It was dropped by a careless ^3131FFPet Groomer^000000 traveling through.");
+ next();
+ mes("[Poring]");
+ mes("I will also give you the Little Poring's favorite ^3131FFapple juice^000000, so make sure that it stays fed all the time!");
+ next();
+ mes("[Poring]");
+ mes("Oi, Little Poring.");
+ mes("I look forward to seeing you once you've explored Rune Midgards!");
+ mes("Cheers mate.");
+ completequest(2298);
if (Class == Job_Novice)
- getexp 500, 50;
- getitem Apple_Juice, 3; // Apple_Juice
- getitem Pet_Incubator, 1; // Pet_Incubator
- close;
+ getexp(500, 50);
+ getitem(Apple_Juice, 3); // Apple_Juice
+ getitem(Pet_Incubator, 1); // Pet_Incubator
+ close();
} else {
- mes "[Poring]";
- mes "Take good care of your Little Poring. Ask the adept adventurer if you have any questions about cute pets!";
- close;
+ mes("[Poring]");
+ mes("Take good care of your Little Poring. Ask the adept adventurer if you have any questions about cute pets!");
+ close();
}
}
//== Ghostring =============================================
new_1-3,108,165,3 script Ghostring#cupet 4_GHOSTRING,{
- mes "[Ghostring]";
- mes "I am da biggest and da meanest Ghostring!";
- close;
+ mes("[Ghostring]");
+ mes("I am da biggest and da meanest Ghostring!");
+ close();
}
//== Little Porings ========================================
@@ -5138,191 +5317,191 @@ new_1-3,105,163,5 script Foolish Poring#pet_3 LITTLE_PORING,{ end; }
//== Kafra Guide Trainer ===================================
// - Teaches the player about Kafra Services.
iz_ac01,95,46,5 script Kafra Guide Trainer#ac 4_F_KAFRA1,{
- cutin "kafra_01.bmp", 2;
+ cutin("kafra_01", 2);
if (questprogress(4269) == 2) {
- mes "[Kafra Guide Trainer]";
- mes "Welcome, Kafra service is always close to your heart";
- next;
- mes "[Kafra Guide Trainer]";
- mes "For those who are using the Kafra service for the first time.";
- mes "Kafra service offers thorough information rundown~!";
- next;
- while(1) {
- next;
- mes "[Kafra Guide Trainer]";
- mes "Tell us what you would like to know";
- mes "about the Kafra service~!";
- next;
+ mes("[Kafra Guide Trainer]");
+ mes("Welcome, Kafra service is always close to your heart");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("For those who are using the Kafra service for the first time.");
+ mes("Kafra service offers thorough information rundown~!");
+ next();
+ while(true) {
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Tell us what you would like to know");
+ mes("about the Kafra service~!");
+ next();
switch(select("Saving", "Storage Service", "Teleport Service", "Use of Pushcart Service", "Check Other Information", "Cancel")) {
case 1:
- mes "[Kafra Guide Trainer]";
- mes "Save service is for when you ^8B4513die in battle^000000 or use an item like ^8B4513Butterfly Wings^000000, you will be sent back to your Save Location.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Easy to understand~?";
- mes "You want to try the Save service~?";
- next;
- if(select("No", "Yes")) {
- mes "[Kafra Guide Trainer]";
- mes "Don't be afraid of it~!";
- mes "Save service doesn't swallow you.";
- mes "If you change your mind, you would better try it definitely~!";
+ mes("[Kafra Guide Trainer]");
+ mes("Save service is for when you ^8B4513die in battle^000000 or use an item like ^8B4513Butterfly Wings^000000, you will be sent back to your Save Location.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Easy to understand~?");
+ mes("You want to try the Save service~?");
+ next();
+ if (select("No", "Yes")) {
+ mes("[Kafra Guide Trainer]");
+ mes("Don't be afraid of it~!");
+ mes("Save service doesn't swallow you.");
+ mes("If you change your mind, you would better try it definitely~!");
} else {
- mes "[Kafra Guide Trainer]";
- mes "Well~ then, for now, ^8B4513Izlude Square^000000 where the Criatura Academy is located will be saved as your save point~!.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Voila~!";
- next;
- mes "[Kafra Guide Trainer]";
- mes "It's already done. Easy huh?";
- savepoint "izlude", 128, 98;
- next;
- mes "[Kafra Guide Trainer]";
- mes "Now, when you use a ^006400Butterfly Wing^000000, it will send you to the last saved location.";
+ mes("[Kafra Guide Trainer]");
+ mes("Well~ then, for now, ^8B4513Izlude Square^000000 where the Criatura Academy is located will be saved as your save point~!.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Voila~!");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("It's already done. Easy huh?");
+ savepoint("izlude", 128, 98);
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Now, when you use a ^006400Butterfly Wing^000000, it will send you to the last saved location.");
}
break;
case 2:
- mes "[Kafra Guide Trainer]";
- mes "Storage service is a place where you can safely store your items.";
- mes "Your items can be accessed by all characters in your account.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "To use the storage, you need to be over Novice Job Level 6 and higher.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "For a small fee, most Kafra Employees will let you open your storage.";
- mes "You can even buy Kafra Cards from the Item Mall to open storage from anywhere!";
- mes "Do you want to use the storage?";
- next;
- if(select("No", "Yes")) {
- mes "[Kafra Guide Trainer]";
- mes "Storage is necessary for you to survive so use it regularly.";
+ mes("[Kafra Guide Trainer]");
+ mes("Storage service is a place where you can safely store your items.");
+ mes("Your items can be accessed by all characters in your account.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("To use the storage, you need to be over Novice Job Level 6 and higher.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("For a small fee, most Kafra Employees will let you open your storage.");
+ mes("You can even buy Kafra Cards from the Item Mall to open storage from anywhere!");
+ mes("Do you want to use the storage?");
+ next();
+ if (select("No", "Yes")) {
+ mes("[Kafra Guide Trainer]");
+ mes("Storage is necessary for you to survive so use it regularly.");
} else {
if (getskilllv("NV_BASIC") < 6) {
- mes "[Kafra Guide Trainer]";
- mes "To use the storage, you need to be raised the beginner level 6 and higher.";
+ mes("[Kafra Guide Trainer]");
+ mes("To use the storage, you need to be raised the beginner level 6 and higher.");
} else if (countitem(Cargo_Free_Ticket) || Zeny >= 500) {
if (countitem(Cargo_Free_Ticket)) {
- delitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
+ delitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
} else {
Zeny -= 500;
RESRVPTS += 5;
}
- mes "[Kafra Guide Trainer]";
- mes "I'll open the storage~.";
- mes "Thanks for using~!";
- close2;
- cutin "", 255;
+ mes("[Kafra Guide Trainer]");
+ mes("I'll open the storage~.");
+ mes("Thanks for using~!");
+ close2();
+ cutin("", 255);
openstorage;
end;
} else {
- mes "[Kafra Guide Trainer]";
- mes "Dear customer, you don't have enough money~!";
- mes "You need 500 zeny to use the storage~!";
+ mes("[Kafra Guide Trainer]");
+ mes("Dear customer, you don't have enough money~!");
+ mes("You need 500 zeny to use the storage~!");
}
}
break;
case 3:
- mes "[Kafra Guide Trainer]";
- mes "Teleport service is a service that sends you to various locations throughout Rune Midgard.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Different Kafra Employees have different teleport locations to send you to so you need to talk to them to find out where they're teleporting to.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Ok, so for educational purposes I'm offering a free teleport service here at the Academy.";
- mes "Why don't you try it out?~!";
- next;
- if(select("No", "Yes")) {
- mes "[Kafra Guide Trainer]";
- mes "You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!";
- mes "This is an essential service~";
- mes "So, you better get used to it ok?";
+ mes("[Kafra Guide Trainer]");
+ mes("Teleport service is a service that sends you to various locations throughout Rune Midgard.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Different Kafra Employees have different teleport locations to send you to so you need to talk to them to find out where they're teleporting to.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Ok, so for educational purposes I'm offering a free teleport service here at the Academy.");
+ mes("Why don't you try it out?~!");
+ next();
+ if (select("No", "Yes")) {
+ mes("[Kafra Guide Trainer]");
+ mes("You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!");
+ mes("This is an essential service~");
+ mes("So, you better get used to it ok?");
break;
} else {
switch(select("Academy 1st floor Great Hall", "Academy 2nd floor Principal's Office", "Izlude southern entrance", "Use later")) {
case 1:
- cutin "", 255;
- warp "iz_ac01", 97, 86;
+ cutin("", 255);
+ warp("iz_ac01", 97, 86);
end;
case 2:
- cutin "", 255;
- warp "iz_ac02", 101, 36;
+ cutin("", 255);
+ warp("iz_ac02", 101, 36);
end;
case 3:
- mes "[Kafra Guide Trainer]";
- mes "This will take you to the outside of the Criatura Academy, is that ok?";
- mes "If you want to come back to the academy, find the entrance to the north of Izlude.";
- next;
- if(select("No", "Yes")) {
- mes "[Kafra Guide Trainer]";
- mes "You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!";
+ mes("[Kafra Guide Trainer]");
+ mes("This will take you to the outside of the Criatura Academy, is that ok?");
+ mes("If you want to come back to the academy, find the entrance to the north of Izlude.");
+ next();
+ if (select("No", "Yes")) {
+ mes("[Kafra Guide Trainer]");
+ mes("You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!");
break;
} else {
- cutin "", 255;
- warp "izlude", 128, 98;
+ cutin("", 255);
+ warp("izlude", 128, 98);
end;
}
break;
case 4:
- mes "[Kafra Guide Trainer]";
- mes "You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!";
+ mes("[Kafra Guide Trainer]");
+ mes("You afraid of having your cells spliced or something? Don't worry this is perfectly safe~!");
break;
}
}
break;
case 4:
- mes "[Kafra Guide Trainer]";
- mes "Pushcart service is used for those who have the job ^8B4513Merchant^000000.";
- mes "To rent a Pushcart Merchants pay a small zeny fee and that's it.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "If you aren't a Merchant class or if you haven't learned the Cart Skill then you can't use this Kafra service.";
+ mes("[Kafra Guide Trainer]");
+ mes("Pushcart service is used for those who have the job ^8B4513Merchant^000000.");
+ mes("To rent a Pushcart Merchants pay a small zeny fee and that's it.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("If you aren't a Merchant class or if you haven't learned the Cart Skill then you can't use this Kafra service.");
break;
case 5:
- mes "[Kafra Guide Trainer]";
- mes "Among the other services we provide, there is a Customer point service system from Kafra!";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Every time you use a Kafra Service you get Special Reserve Points~";
- mes "You can use these points at the Kafra Headquarters in Aldebaran to trade for certain items.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "Here, I'll show you how many Special Reserve Points you currently have.";
- next;
- if(select("Check Special Reserve Points.", "Cancel") == 2) {
- mes "[Kafra Guide Trainer]";
- mes "Even later~~!!";
- mes "Please check your accumulated customer points~!";
+ mes("[Kafra Guide Trainer]");
+ mes("Among the other services we provide, there is a Customer point service system from Kafra!");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Every time you use a Kafra Service you get Special Reserve Points~");
+ mes("You can use these points at the Kafra Headquarters in Aldebaran to trade for certain items.");
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("Here, I'll show you how many Special Reserve Points you currently have.");
+ next();
+ if (select("Check Special Reserve Points.", "Cancel") == 2) {
+ mes("[Kafra Guide Trainer]");
+ mes("Even later~~!!");
+ mes("Please check your accumulated customer points~!");
} else {
- mes "[Kafra Guide Trainer]";
- mes ""+strcharinfo(0)+", your accummulated points are "+RESRVPTS+" points.";
- next;
- mes "[Kafra Guide Trainer]";
- mes "You can exchange your";
- mes "Special Reserve Points for";
- mes "rewards at the Kafra Main Office in Al De Baran. Please use our";
- mes "convenient services to see the benefits of our rewards program.";
+ mes("[Kafra Guide Trainer]");
+ mesf("%s, your accummulated points are %d points.", strcharinfo(PC_NAME), RESRVPTS);
+ next();
+ mes("[Kafra Guide Trainer]");
+ mes("You can exchange your");
+ mes("Special Reserve Points for");
+ mes("rewards at the Kafra Main Office in Al De Baran. Please use our");
+ mes("convenient services to see the benefits of our rewards program.");
}
break;
case 6:
- mes "[Kafra Guide Trainer]";
- mes "Our Kafra service is doing our best to give you the best satisfaction that you deserve as a customer.";
- mes "Thanks for using us.";
- close2;
- cutin "", 255;
+ mes("[Kafra Guide Trainer]");
+ mes("Our Kafra service is doing our best to give you the best satisfaction that you deserve as a customer.");
+ mes("Thanks for using us.");
+ close2();
+ cutin("", 255);
end;
}
}
} else {
- mes "[Kafra Guide Trainer]";
- mes "First, you need to complete your^8B4513 registration^000000 at the Academy's front desk.";
- mes "If you go to the first floor,";
- mes "there'll be someone";
- mes "to take your registration.";
- close2;
- cutin "", 255;
+ mes("[Kafra Guide Trainer]");
+ mes("First, you need to complete your^8B4513 registration^000000 at the Academy's front desk.");
+ mes("If you go to the first floor,");
+ mes("there'll be someone");
+ mes("to take your registration.");
+ close2();
+ cutin("", 255);
end;
}
}
@@ -5350,103 +5529,103 @@ iz_ac02_d,101,176,5 duplicate(Kafra Guide Trainer#ac) Kafra Guide Trainer#02_d 4
// - Teaches the player about in-game Marriage & Adoption mechanics.
izlude,102,150,5 script Wedding Secretary#iz 1_F_LIBRARYGIRL,{
if (Class == Job_Novice) {
- mes "[Wedding Secretary]";
- mes "You are the just a beginner.";
- next;
- mes "[Wedding Secretary]";
- mes "Everything looks new and unfamiliar, doesn't it? Isn't it all exiciting?";
- next;
- mes "[Wedding Secretary]";
- mes "What can be a more exciting start than a marriage in your life?";
- next;
+ mes("[Wedding Secretary]");
+ mes("You are the just a beginner.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Everything looks new and unfamiliar, doesn't it? Isn't it all exiciting?");
+ next();
+ mes("[Wedding Secretary]");
+ mes("What can be a more exciting start than a marriage in your life?");
+ next();
} else {
- mes "[Wedding Secretary]";
- mes "Are you in love?";
- next;
- }
- mes "[Wedding Secretary]";
- mes "I am the Wedding Secretary sent here for those people wanting to join their lives to another.";
- next;
- while(1) {
- mes "[Wedding Secretary]";
- mes "Please ask anything you are concerned with about marriage!";
- next;
+ mes("[Wedding Secretary]");
+ mes("Are you in love?");
+ next();
+ }
+ mes("[Wedding Secretary]");
+ mes("I am the Wedding Secretary sent here for those people wanting to join their lives to another.");
+ next();
+ while(true) {
+ mes("[Wedding Secretary]");
+ mes("Please ask anything you are concerned with about marriage!");
+ next();
switch(select("How to get married.", "Benefits of marriage", "Adoption", "Shut up!")) {
case 1:
- mes "[Wedding Secretary]";
- mes "Concluding the ceremony between two lovers is really the most beautiful and special event in one's life.";
- next;
- mes "[Wedding Secretary]";
- mes "However, being together requires several procedures.";
- next;
- mes "[Wedding Secretary]";
- mes "First, the two of you wishing to get married have to be at least base level ^0000cd45^000000 or higher, meaning you should be at the level responsible for your life and your finances.";
- next;
- mes "[Wedding Secretary]";
- mes "Next, you need to prepare some tokens of appreciation. Men need a ^0000cdTuxedo^000000 Ladies need a ^0000cdWedding Dress^000000 and both need to have ^0000cdDiamond Ring^000000s as the symbol of everlasting love.";
- next;
- mes "[Wedding Secretary]";
- mes "You will also need to provide a fee of ^0000cd1 million Zeny^000000.";
- next;
- mes "[Wedding Secretary]";
- mes "Having prepared all of these things, you must create a party with just the two of you and go to the ^0000cdProntera Cathedral^000000.";
- next;
- mes "[Wedding Secretary]";
- mes "There, another ^0000cdWedding Secretary^000000 like me is wating for you. When you speak to her, she will give more details of what to do.";
- next;
- mes "[Wedding Secretary]";
- mes "I hope that you will meet a great fiance and enjoy a happy marriage!";
- next;
+ mes("[Wedding Secretary]");
+ mes("Concluding the ceremony between two lovers is really the most beautiful and special event in one's life.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("However, being together requires several procedures.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("First, the two of you wishing to get married have to be at least base level ^0000cd45^000000 or higher, meaning you should be at the level responsible for your life and your finances.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Next, you need to prepare some tokens of appreciation. Men need a ^0000cdTuxedo^000000 Ladies need a ^0000cdWedding Dress^000000 and both need to have ^0000cdDiamond Ring^000000s as the symbol of everlasting love.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("You will also need to provide a fee of ^0000cd1 million Zeny^000000.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Having prepared all of these things, you must create a party with just the two of you and go to the ^0000cdProntera Cathedral^000000.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("There, another ^0000cdWedding Secretary^000000 like me is wating for you. When you speak to her, she will give more details of what to do.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("I hope that you will meet a great fiance and enjoy a happy marriage!");
+ next();
break;
case 2:
- mes "[Wedding Secretary]";
- mes "To say the least, the benefit of marriage is being together forever!";
- next;
- mes "[Wedding Secretary]";
- mes "After the wedding ceremony, you can enjoy a sweet honeymoon at the ^0000cdJawaii^000000 resort only for you.";
- next;
- mes "[Wedding Secretary]";
- mes "And, upon marriage you will both get a ^0000cd special skill^000000.";
- next;
- mes "[Wedding Secretary]";
- mes "Two of these skills are called ^0000cdLoving Touch^000000 and ^0000cdUndying Love^000000 which are used to sacrifice HP or SP and send it to your partner.";
- next;
- mes "[Wedding Secretary]";
- mes "But among them, the skill called ^0000cdRomantic Rendezvous^000000 is the most romantic one, enabling you to summon your partner to you from anywhere in the world.";
- next;
- mes "[Wedding Secretary]";
- mes "Aren't these skill great? Don't you want to get married right now?";
- next;
+ mes("[Wedding Secretary]");
+ mes("To say the least, the benefit of marriage is being together forever!");
+ next();
+ mes("[Wedding Secretary]");
+ mes("After the wedding ceremony, you can enjoy a sweet honeymoon at the ^0000cdJawaii^000000 resort only for you.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("And, upon marriage you will both get a ^0000cd special skill^000000.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Two of these skills are called ^0000cdLoving Touch^000000 and ^0000cdUndying Love^000000 which are used to sacrifice HP or SP and send it to your partner.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("But among them, the skill called ^0000cdRomantic Rendezvous^000000 is the most romantic one, enabling you to summon your partner to you from anywhere in the world.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Aren't these skill great? Don't you want to get married right now?");
+ next();
break;
case 3:
- mes "[Wedding Secretary]";
- mes "Being together is wonderful but people without experience of it in the past couldn't understand the full Euphoria of being a parent.";
- next;
- mes "[Wedding Secretary]";
- mes "Married couple can adopt other characters as their children.";
- next;
- mes "[Wedding Secretary]";
- mes "^0000cdKids of extended jobs such as Taekwon boy/girl, Gunslinger or Ninja can't be adopted^000000.";
- next;
- mes "[Wedding Secretary]";
- mes "And any prospecting parents need to be at least base level ^0000cd70^000000, meaning you should be at the level responsible enough to be parents.";
- next;
- mes "[Wedding Secretary]";
- mes "Having made a family, ^0000cdaSkill to be used among the family^000000 will be earned.";
- next;
- mes "[Wedding Secretary]";
- mes "There is another skill enables you to concrete your bond such as being able to summon your child when you miss them or not losing your earned level if you die during battle.";
- next;
- mes "[Wedding Secretary]";
- mes "Cute charms coming from your kid is a bonus~";
- next;
+ mes("[Wedding Secretary]");
+ mes("Being together is wonderful but people without experience of it in the past couldn't understand the full Euphoria of being a parent.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Married couple can adopt other characters as their children.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("^0000cdKids of extended jobs such as Taekwon boy/girl, Gunslinger or Ninja can't be adopted^000000.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("And any prospecting parents need to be at least base level ^0000cd70^000000, meaning you should be at the level responsible enough to be parents.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Having made a family, ^0000cdaSkill to be used among the family^000000 will be earned.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("There is another skill enables you to concrete your bond such as being able to summon your child when you miss them or not losing your earned level if you die during battle.");
+ next();
+ mes("[Wedding Secretary]");
+ mes("Cute charms coming from your kid is a bonus~");
+ next();
break;
case 4:
- emotion e_omg;
- mes "[Wedding Secretary]";
- mes "Your mother didn't teach you right?";
- mes "Mercy on you. You are ignorant of the beauty of love!!!";
- close;
+ emotion(e_omg);
+ mes("[Wedding Secretary]");
+ mes("Your mother didn't teach you right?");
+ mes("Mercy on you. You are ignorant of the beauty of love!!!");
+ close();
}
}
}
@@ -5458,62 +5637,62 @@ izlude_d,102,150,5 duplicate(Wedding Secretary#iz) Wedding Secretary#iz_d 1_F_LI
//- Mom -
izlude,95,146,5 script Mom#iz 4_F_CAVE1,{
- mes "[Mom]";
- mes "Honey~~~";
- next;
- mes "[Dad]";
- mes "Yep~~";
- next;
- mes "[Mom]";
- mes "Did you see Etinifni playing at the backyard?";
- next;
- mes "[Dad]";
- mes "Nope~~";
- next;
- emotion e_an;
- mes "[Mom]";
- mes "He's out again? Never stays in the house!! Shall I use it?";
- next;
- mes "[Dad]";
- mes "Leave him alone~ He may be playing somewhere.";
- next;
- emotion e_an;
- mes "[Mom]";
- mes "You spoil him too much!";
- next;
- mes "[Mom]";
- mes "^0000cd[Come to me, honey~]^000000";
- next;
- enablenpc "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
- specialeffect EF_PORTAL, AREA, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Etinifni]";
- mes "What's up? Where am I?";
- next;
- mes "[Mom]";
- mes "Here!";
- next;
- emotion e_ag, 0, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Etinifni]";
- mes "Ah... Again!! I have been out hunting Orcs.";
- next;
- mes "[Mom]";
- mes "I told you stop hunting! Go and buy us milk!";
- next;
- mes "[Etinifni]";
- mes "Why am I just your errand boy? Go, get me a brother!";
- next;
- mes "[Mom]";
- mes "What? This moron?!";
- next;
- emotion e_sigh, 0, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Etinifni]";
- mes "OK. I will do it.";
- next;
- disablenpc "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
- emotion e_sob, 0, "Dad#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Dad]";
- mes "I am sorry... Dad has no power over your mom.";
- close;
+ mes("[Mom]");
+ mes("Honey~~~");
+ next();
+ mes("[Dad]");
+ mes("Yep~~");
+ next();
+ mes("[Mom]");
+ mes("Did you see Etinifni playing at the backyard?");
+ next();
+ mes("[Dad]");
+ mes("Nope~~");
+ next();
+ emotion(e_an);
+ mes("[Mom]");
+ mes("He's out again? Never stays in the house!! Shall I use it?");
+ next();
+ mes("[Dad]");
+ mes("Leave him alone~ He may be playing somewhere.");
+ next();
+ emotion(e_an);
+ mes("[Mom]");
+ mes("You spoil him too much!");
+ next();
+ mes("[Mom]");
+ mes("^0000cd[Come to me, honey~]^000000");
+ next();
+ enablenpc("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_PORTAL, AREA, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Etinifni]");
+ mes("What's up? Where am I?");
+ next();
+ mes("[Mom]");
+ mes("Here!");
+ next();
+ emotion(e_ag, 0, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Etinifni]");
+ mes("Ah... Again!! I have been out hunting Orcs.");
+ next();
+ mes("[Mom]");
+ mes("I told you stop hunting! Go and buy us milk!");
+ next();
+ mes("[Etinifni]");
+ mes("Why am I just your errand boy? Go, get me a brother!");
+ next();
+ mes("[Mom]");
+ mes("What? This moron?!");
+ next();
+ emotion(e_sigh, 0, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Etinifni]");
+ mes("OK. I will do it.");
+ next();
+ disablenpc("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ emotion(e_sob, 0, "Dad#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Dad]");
+ mes("I am sorry... Dad has no power over your mom.");
+ close();
}
izlude_a,95,146,5 duplicate(Mom#iz) Mom#iz_a 4_F_CAVE1
@@ -5523,18 +5702,18 @@ izlude_d,95,146,5 duplicate(Mom#iz) Mom#iz_d 4_F_CAVE1
//- Dad -
izlude,97,147,3 script Dad#iz 1_M_JOBGUIDER,{
- mes "[Dad]";
- mes "Got this boy ten years ago after years of childlessness.";
- next;
- mes "[Dad]";
- mes "He is the apple of my eyes to me, but my wife is too strict on him.";
- next;
- mes "[Dad]";
- mes "So, I am always worrying if the only son might be spoiled.";
- next;
- mes "[Dad]";
- mes "Maybe all parents worry?";
- close;
+ mes("[Dad]");
+ mes("Got this boy ten years ago after years of childlessness.");
+ next();
+ mes("[Dad]");
+ mes("He is the apple of my eyes to me, but my wife is too strict on him.");
+ next();
+ mes("[Dad]");
+ mes("So, I am always worrying if the only son might be spoiled.");
+ next();
+ mes("[Dad]");
+ mes("Maybe all parents worry?");
+ close();
}
izlude_a,97,147,3 duplicate(Dad#iz) Dad#iz_a 1_M_JOBGUIDER
@@ -5544,12 +5723,12 @@ izlude_d,97,147,3 duplicate(Dad#iz) Dad#iz_d 1_M_JOBGUIDER
//- Etinifni -
izlude,97,144,1 script Etinifni#iz 4_M_DEWBOY,{
- mes "[Etinifni]";
- mes "Once you have time, come to Orc Dungeon!";
- close;
+ mes("[Etinifni]");
+ mes("Once you have time, come to Orc Dungeon!");
+ close();
OnInit:
- disablenpc "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN);
+ disablenpc("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
end;
}
@@ -5560,26 +5739,26 @@ izlude_d,97,144,1 duplicate(Etinifni#iz) Etinifni#iz_d 4_M_DEWBOY
//- Romantic Male -
izlude,99,138,3 script Romantic Male#iz 4_M_SITDOWN,{
- emotion e_ho;
- mes "[Romantic Male]";
- mes "Let's go~~ together hand in hand~~ Put everything aside ~~ in the dark blue night of Jawaii~~ under the stars~~";
- next;
- mes "[Romantic Male]";
- mes "We are leaving for Jawaii-the place of our honeymoon to celebrate our 10th wedding anniversary!";
- next;
- emotion e_lv;
- mes "[Romantic Male]";
- mes "Are you lifting up our good old memories renting my wedding dress and your tuxedo!! It will strenghthen our relationship, won't it?";
- next;
- specialeffect EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- emotion e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Romantic Male]";
- mes "Honey~~ I love you!! Sweetheart~";
- next;
- emotion e_kis2;
- mes "[Romantic Male]";
- mes "No!! I love you more than you do!!";
- close;
+ emotion(e_ho);
+ mes("[Romantic Male]");
+ mes("Let's go~~ together hand in hand~~ Put everything aside ~~ in the dark blue night of Jawaii~~ under the stars~~");
+ next();
+ mes("[Romantic Male]");
+ mes("We are leaving for Jawaii-the place of our honeymoon to celebrate our 10th wedding anniversary!");
+ next();
+ emotion(e_lv);
+ mes("[Romantic Male]");
+ mes("Are you lifting up our good old memories renting my wedding dress and your tuxedo!! It will strenghthen our relationship, won't it?");
+ next();
+ specialeffect(EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Romantic Male]");
+ mes("Honey~~ I love you!! Sweetheart~");
+ next();
+ emotion(e_kis2);
+ mes("[Romantic Male]");
+ mes("No!! I love you more than you do!!");
+ close();
}
izlude_a,99,138,3 duplicate(Romantic Male#iz) Romantic Male#iz_a 4_M_SITDOWN
@@ -5589,39 +5768,39 @@ izlude_d,99,138,3 duplicate(Romantic Male#iz) Romantic Male#iz_d 4_M_SITDOWN
//- Romantic Female -
izlude,97,138,5 script Romantic Female#iz 4_F_SITDOWN,{
- mes "[Romantic Female]";
- mes "Shout like this when I miss you, honey!!";
- next;
- emotion e_lv, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Romantic Female]";
- mes "^0000cd[I miss you.]^000000";
- next;
- mes "[Romantic Female]";
- mes "Then, you run towards me leaving everything behind,~ don't you?";
- next;
- mes "[Romantic Female]";
- mes "I will definitely do as you call me!!";
- next;
- mes "[Romantic Female]";
- mes "You are tired of sitting, aren't you?";
- next;
- specialeffect EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- emotion e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Romantic Female]";
- mes "My sweetheart!!! I love you!!!";
- next;
- mes "[Romantic Male]";
- mes "Yes, thank you for sharing your SP! You are also tired, aren't you?";
- next;
- specialeffect EF_HEARTCASTING, AREA, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN);
- emotion e_kis2, 0, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Romantic Male]";
- mes "My sweetheart!! I love you!!!";
- next;
- emotion e_lv, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Romantic Female]";
- mes "Kia~ You are Coolest!!!";
- close;
+ mes("[Romantic Female]");
+ mes("Shout like this when I miss you, honey!!");
+ next();
+ emotion(e_lv, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Romantic Female]");
+ mes("^0000cd[I miss you.]^000000");
+ next();
+ mes("[Romantic Female]");
+ mes("Then, you run towards me leaving everything behind,~ don't you?");
+ next();
+ mes("[Romantic Female]");
+ mes("I will definitely do as you call me!!");
+ next();
+ mes("[Romantic Female]");
+ mes("You are tired of sitting, aren't you?");
+ next();
+ specialeffect(EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Romantic Female]");
+ mes("My sweetheart!!! I love you!!!");
+ next();
+ mes("[Romantic Male]");
+ mes("Yes, thank you for sharing your SP! You are also tired, aren't you?");
+ next();
+ specialeffect(EF_HEARTCASTING, AREA, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN));
+ emotion(e_kis2, 0, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Romantic Male]");
+ mes("My sweetheart!! I love you!!!");
+ next();
+ emotion(e_lv, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Romantic Female]");
+ mes("Kia~ You are Coolest!!!");
+ close();
}
izlude_a,97,138,5 duplicate(Romantic Female#iz) Romantic Female#iz_a 4_F_SITDOWN
@@ -5631,33 +5810,33 @@ izlude_d,97,138,5 duplicate(Romantic Female#iz) Romantic Female#iz_d 4_F_SITDOWN
//- Manufacturing Maniac -
izlude,93,143,3 script Manufacturing Maniac#0 FAKE_NPC,{
- mes "[Manufacturing Maniac]";
- mes "Hi~! I am an Alchemist.";
- mes "It's one of the second jobs after Merchant.";
- next;
- mes "[Manufacturing Maniac]";
- mes "I am making a potion.";
- mes "I came to izlude to make potions at a quiet place.";
- mes "I feel that quiet places help to increase the rate of success.";
- mes "I am feeling good!";
- close;
+ mes("[Manufacturing Maniac]");
+ mes("Hi~! I am an Alchemist.");
+ mes("It's one of the second jobs after Merchant.");
+ next();
+ mes("[Manufacturing Maniac]");
+ mes("I am making a potion.");
+ mes("I came to izlude to make potions at a quiet place.");
+ mes("I feel that quiet places help to increase the rate of success.");
+ mes("I am feeling good!");
+ close();
OnTimer30000:
.@npc_potion = rand(1,2);
if (.@npc_potion == 1) {
- emotion e_no1;
- specialeffect EF_PHARMACY_OK;
+ emotion(e_no1);
+ specialeffect(EF_PHARMACY_OK);
} else {
- emotion e_omg;
- specialeffect EF_PHARMACY_FAIL;
+ emotion(e_omg);
+ specialeffect(EF_PHARMACY_FAIL);
}
end;
OnTimer35000:
- stopnpctimer;
+ stopnpctimer();;
OnInit:
- initnpctimer;
+ initnpctimer();
end;
}
@@ -5668,15 +5847,15 @@ izlude_d,93,143,3 duplicate(Manufacturing Maniac#0) Manufacturing Maniac#d 2_M_A
//- Repairing Blacksmith -
izlude,147,131,5 script Repairing Blacksmith#0 4_F_JOB_BLACKSMITH,5,7,{
- mes "[Working Blacksmith]";
- mes "The guy sitting over there has been staring at Wagzak. I was told that only one knife is left after losing all weapons?";
- next;
- mes "[Working Blacksmith]";
- mes "He can use safe refining... I don't understand why he takes such risks.";
- close;
+ mes("[Working Blacksmith]");
+ mes("The guy sitting over there has been staring at Wagzak. I was told that only one knife is left after losing all weapons?");
+ next();
+ mes("[Working Blacksmith]");
+ mes("He can use safe refining... I don't understand why he takes such risks.");
+ close();
OnTouch:
- specialeffect EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON);
end;
}
@@ -5687,31 +5866,31 @@ izlude_d,147,131,5 duplicate(Repairing Blacksmith#0) Repairing Blacksmith#d 4_F_
//- Refining Maniac -
izlude,148,122,5 script Refining Maniac#iz 4_M_SITDOWN,{
- mes "[Refining Maniac]";
- mes "Shh...! Be quiet.";
- mes "I am focusing on ^3131FFrefining^000000.";
- next;
- if(select("What is refining?", "Good luck.") == 2) {
- mes "[Refining Maniac]";
- mes "Come on.. Co..me on...!!";
- close;
- }
- mes "[Refining Maniac]";
- mes "Some equipment except some specific ones can be enhanced by ^3131FFrefining^000000.";
- next;
- mes "[Refining Maniac]";
- mes "Weapons get increased ^3131FFAttack Power^000000, so the more you refine them the stronger they become.";
- next;
- mes "[Refining Maniac]";
- mes "Each weapon level has a different refining safe point. So it's important to pay attention when refining.";
- mes "If you break it you lose it.";
- next;
- mes "[Refining Maniac]";
- mes "I'm trying to get to +10 right now... All my training is for this!";
- next;
- mes "[Refining Maniac]";
- mes "Please ask to the owner of refining, I have a important mission +10!";
- close;
+ mes("[Refining Maniac]");
+ mes("Shh...! Be quiet.");
+ mes("I am focusing on ^3131FFrefining^000000.");
+ next();
+ if (select("What is refining?", "Good luck.") == 2) {
+ mes("[Refining Maniac]");
+ mes("Come on.. Co..me on...!!");
+ close();
+ }
+ mes("[Refining Maniac]");
+ mes("Some equipment except some specific ones can be enhanced by ^3131FFrefining^000000.");
+ next();
+ mes("[Refining Maniac]");
+ mes("Weapons get increased ^3131FFAttack Power^000000, so the more you refine them the stronger they become.");
+ next();
+ mes("[Refining Maniac]");
+ mes("Each weapon level has a different refining safe point. So it's important to pay attention when refining.");
+ mes("If you break it you lose it.");
+ next();
+ mes("[Refining Maniac]");
+ mes("I'm trying to get to +10 right now... All my training is for this!");
+ next();
+ mes("[Refining Maniac]");
+ mes("Please ask to the owner of refining, I have a important mission +10!");
+ close();
}
izlude_a,148,122,5 duplicate(Refining Maniac#iz) Refining Maniac#iz_a 4_M_SITDOWN
@@ -5722,350 +5901,350 @@ izlude_d,148,122,5 duplicate(Refining Maniac#iz) Refining Maniac#iz_d 4_M_SITDOW
//- Otter Samssoon -
// - Allows the player to change their hair style and color once.
iz_ac01,69,36,3 script Otter Samssoon#ac 4W_SAILOR,{
- mes "[Otter Samssoon]";
- mes "Welcome~";
- mes "I am Samssoon~! I am a royal hair designer otter sent to academy.";
- next;
- mes "[Otter Samssoon]";
- mes "If you take ^ff0000Criatura Hair Coupon^000000, they change your hairstyle for free! So do not miss this ^ff0000once in a lifetime^000000 chance~";
- next;
+ mes("[Otter Samssoon]");
+ mes("Welcome~");
+ mes("I am Samssoon~! I am a royal hair designer otter sent to academy.");
+ next();
+ mes("[Otter Samssoon]");
+ mes("If you take ^ff0000Criatura Hair Coupon^000000, they change your hairstyle for free! So do not miss this ^ff0000once in a lifetime^000000 chance~");
+ next();
switch(select("Read style book.", "Change hair style.", "How to get a coupon", "Stop.")) {
case 1:
- mes "[Otter Samssoon]";
- mes "Oh my~ I am sure any hair style will suit you! You really have a good style~";
- mes "There are many styles so pick ^ff0000from page 1 to 19^000000.";
- mes "If you want to stop, say 0.";
- next;
- input .@style;
- if(.@style > 19) {
- mes "[Otter Samssoon]";
- mes "Oh my!!? Honey~ You can use a coupon for the hair style in here~";
- close;
- } else if(!.@style) {
- mes "[Otter Samssoon]";
- mes "Did you decide? Which style??";
- mes "I want to touch your hair with my hands~ Honey~";
- close;
+ mes("[Otter Samssoon]");
+ mes("Oh my~ I am sure any hair style will suit you! You really have a good style~");
+ mes("There are many styles so pick ^ff0000from page 1 to 19^000000.");
+ mes("If you want to stop, say 0.");
+ next();
+ input(.@style);
+ if (.@style > 19) {
+ mes("[Otter Samssoon]");
+ mes("Oh my!!? Honey~ You can use a coupon for the hair style in here~");
+ close();
+ } else if (!.@style) {
+ mes("[Otter Samssoon]");
+ mes("Did you decide? Which style??");
+ mes("I want to touch your hair with my hands~ Honey~");
+ close();
} else {
- callsub L_cutin, .@style;
- mes "[Otter Samssoon]";
+ callsub(L_cutin, .@style);
+ mes("[Otter Samssoon]");
switch(.@style) {
case 1:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Play Dead' cut?";
- mes "This looks neat and relaxed.. So popular style.";
+ mes("Oh my!!? 'Play Dead' cut?");
+ mes("This looks neat and relaxed.. So popular style.");
} else {
- mes "Oh my!!? 'First Aid' cut?";
- mes "This is and adorable style.";
- mes "I guess it looks good on you too!!";
+ mes("Oh my!!? 'First Aid' cut?");
+ mes("This is and adorable style.");
+ mes("I guess it looks good on you too!!");
}
break;
case 2:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Two Handed Sword Mastery' cut?";
- mes "You... You know the famous D..? He has exactly the same style!";
+ mes("Oh my!!? 'Two Handed Sword Mastery' cut?");
+ mes("You... You know the famous D..? He has exactly the same style!");
} else {
- mes "Oh my!!? 'Bash' cut?";
- mes "This style gives strong curls on both side hair.";
+ mes("Oh my!!? 'Bash' cut?");
+ mes("This style gives strong curls on both side hair.");
}
break;
case 3:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Napalm Beat' cut?";
- mes "It has well arranges hair line that makes feel charisma.";
+ mes("Oh my!!? 'Napalm Beat' cut?");
+ mes("It has well arranges hair line that makes feel charisma.");
} else {
- mes "Oh my!!? 'Frost Diver' cut?";
- mes "It is mysterious style that gives cold and warm feeling at the same time.";
+ mes("Oh my!!? 'Frost Diver' cut?");
+ mes("It is mysterious style that gives cold and warm feeling at the same time.");
}
break;
case 4:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Double Strafe' cut?";
- mes "Natural hair is shaking by wind.. Clean and good feeling.";
+ mes("Oh my!!? 'Double Strafe' cut?");
+ mes("Natural hair is shaking by wind.. Clean and good feeling.");
} else {
- mes "Oh my!!? 'Arrow Shower' cut?";
- mes "Cool and nice shaggy cut makes good style.";
+ mes("Oh my!!? 'Arrow Shower' cut?");
+ mes("Cool and nice shaggy cut makes good style.");
}
break;
case 5:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Angelus' cut?";
- mes "Calm and piety feeling.. Not boring style.";
+ mes("Oh my!!? 'Angelus' cut?");
+ mes("Calm and piety feeling.. Not boring style.");
} else {
- mes "Oh my!!? 'Heal' cut?";
- mes "Feminine style give healing feeling.";
+ mes("Oh my!!? 'Heal' cut?");
+ mes("Feminine style give healing feeling.");
}
break;
case 6:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Push Cart' cut?";
- mes "Big Kar is motivated for this style with a romance of a man.";
+ mes("Oh my!!? 'Push Cart' cut?");
+ mes("Big Kar is motivated for this style with a romance of a man.");
} else {
- mes "Oh my!!? 'Vending' cut?";
- mes "Royal ladies like this style. Make good money style.";
+ mes("Oh my!!? 'Vending' cut?");
+ mes("Royal ladies like this style. Make good money style.");
}
break;
case 7:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Envenom' cut?";
- mes "Tough style makes addicted.";
+ mes("Oh my!!? 'Envenom' cut?");
+ mes("Tough style makes addicted.");
} else {
- mes "Oh my!!? 'Double Attack' cut?";
- mes "Whoever will dash twice for this style.";
- mes "Ponytail is important.";
+ mes("Oh my!!? 'Double Attack' cut?");
+ mes("Whoever will dash twice for this style.");
+ mes("Ponytail is important.");
}
break;
case 8:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Bowling Bash' cut?";
- mes "This style makes a nice guy to challenge.";
- mes "Just a giving a glance can steal the heart.";
+ mes("Oh my!!? 'Bowling Bash' cut?");
+ mes("This style makes a nice guy to challenge.");
+ mes("Just a giving a glance can steal the heart.");
} else {
- mes "Oh my!!? 'Gloria' cut?";
- mes "This style is ultimately gorgeous and graceful.";
+ mes("Oh my!!? 'Gloria' cut?");
+ mes("This style is ultimately gorgeous and graceful.");
}
break;
case 9:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Venom Dust' cut?";
- mes "This style has special ending line that looks fatal.";
+ mes("Oh my!!? 'Venom Dust' cut?");
+ mes("This style has special ending line that looks fatal.");
} else {
- mes "Oh my!!? 'SP Recovery' cut?";
- mes "This style has neat cutting that inspires.";
+ mes("Oh my!!? 'SP Recovery' cut?");
+ mes("This style has neat cutting that inspires.");
}
break;
case 10:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Turn Undead' cut?";
- mes "This style is like a cold city man who is strong enough to kill a monster.";
+ mes("Oh my!!? 'Turn Undead' cut?");
+ mes("This style is like a cold city man who is strong enough to kill a monster.");
} else {
- mes "Oh my!!? 'Prepare Potion' cut?";
- mes "This style has a liquid medicine motive so it makes feel cure.";
+ mes("Oh my!!? 'Prepare Potion' cut?");
+ mes("This style has a liquid medicine motive so it makes feel cure.");
}
break;
case 11:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Dragonology' cut?";
- mes "This style is intelligent style of mysterious dragon.";
+ mes("Oh my!!? 'Dragonology' cut?");
+ mes("This style is intelligent style of mysterious dragon.");
} else {
- mes "Oh my!!? 'Grand Cross' cut?";
- mes "Well trimmed hair cut line gives trust.";
+ mes("Oh my!!? 'Grand Cross' cut?");
+ mes("Well trimmed hair cut line gives trust.");
}
break;
case 12:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Mace Mastery' cut?";
- mes "Look fresh and look neat with wax treatment.";
+ mes("Oh my!!? 'Mace Mastery' cut?");
+ mes("Look fresh and look neat with wax treatment.");
} else {
- mes "Oh my!!? 'Intimidate' cut?";
- mes "This style is very familiar.";
+ mes("Oh my!!? 'Intimidate' cut?");
+ mes("This style is very familiar.");
}
break;
case 13:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Thunder Storm' cut?";
- mes "This style has natural attractive perm which is like hitting by thunder storm.";
+ mes("Oh my!!? 'Thunder Storm' cut?");
+ mes("This style has natural attractive perm which is like hitting by thunder storm.");
} else {
- mes "Oh my!!? 'Spiritual Sphere";
- mes "Calm and a little bit looks like a boy cut draw attention.";
+ mes("Oh my!!? 'Spiritual Sphere");
+ mes("Calm and a little bit looks like a boy cut draw attention.");
}
break;
case 14:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Encore' cut?";
- mes "Rocker's favorite style.. Even the name itself..";
+ mes("Oh my!!? 'Encore' cut?");
+ mes("Rocker's favorite style.. Even the name itself..");
} else {
- mes "Oh my!!? 'Gypsy's Kiss' cut?";
- mes "The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.";
+ mes("Oh my!!? 'Gypsy's Kiss' cut?");
+ mes("The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.");
}
break;
case 15:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Grimtooth' cut?";
- mes "The style with edge.";
+ mes("Oh my!!? 'Grimtooth' cut?");
+ mes("The style with edge.");
} else {
- mes "Oh my!!? 'Counter Attack' cut?";
- mes "It is the style that looks cold and arrogant. Hard to talk to..";
- mes "But might be nice to boyfriend..?";
+ mes("Oh my!!? 'Counter Attack' cut?");
+ mes("It is the style that looks cold and arrogant. Hard to talk to..");
+ mes("But might be nice to boyfriend..?");
}
break;
case 16:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Blitz Beat' cut?";
- mes "It is the style my senior invented after he broke up with his girlfriends 5 times.";
+ mes("Oh my!!? 'Blitz Beat' cut?");
+ mes("It is the style my senior invented after he broke up with his girlfriends 5 times.");
} else {
- mes "Oh my!!? 'Anke Snare' cut?";
- mes "It is killing style.. No one can take eyes off!";
+ mes("Oh my!!? 'Anke Snare' cut?");
+ mes("It is killing style.. No one can take eyes off!");
}
break;
case 17:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Find Ore' cut?";
- mes "This style seems to bring encounter or find unexpected things while walking on the street.";
+ mes("Oh my!!? 'Find Ore' cut?");
+ mes("This style seems to bring encounter or find unexpected things while walking on the street.");
} else {
- mes "Oh my!!? 'Hammer Fall' cut?";
- mes "Stunning hair with attraction.";
+ mes("Oh my!!? 'Hammer Fall' cut?");
+ mes("Stunning hair with attraction.");
}
break;
case 18:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Fire Pillar' cut?";
- mes "Everyone used to have this hair style.. Which means that was a trend of an era.";
+ mes("Oh my!!? 'Fire Pillar' cut?");
+ mes("Everyone used to have this hair style.. Which means that was a trend of an era.");
} else {
- mes "Oh my!!? 'Jupitel Thunder'";
- mes "Fresh style by giving light waves on both side hairs.";
+ mes("Oh my!!? 'Jupitel Thunder'");
+ mes("Fresh style by giving light waves on both side hairs.");
}
break;
case 19:
if (Sex == SEX_MALE) {
- mes "Oh my!!? 'Guillotine Fist'";
- mes "It is like one-shot style.. Like a real man. Right?";
+ mes("Oh my!!? 'Guillotine Fist'");
+ mes("It is like one-shot style.. Like a real man. Right?");
} else {
- mes "Oh my!!? 'Whirlwind' cut?";
- mes "It is cool style which flows with wind. Lah, lah, lah, lah ~";
+ mes("Oh my!!? 'Whirlwind' cut?");
+ mes("It is cool style which flows with wind. Lah, lah, lah, lah ~");
}
break;
}
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
}
- close;
+ close();
case 2:
- if(!countitem(Criatura_Hair_Coupon)) {
- mes "[Otter Samssoon]";
- mes "Come on.. Honey~";
- mes "You should bring ^ff0000'Criatura Hair Coupon'^000000 for changing hair...";
- close;
+ if (!countitem(Cryptura_Hair_Coupon)) {
+ mes("[Otter Samssoon]");
+ mes("Come on.. Honey~");
+ mes("You should bring ^ff0000'Criatura Hair Coupon'^000000 for changing hair...");
+ close();
}
- mes "[Otter Samssoon]";
- mes "Honey~ What style do you want?";
- mes "You are totally my style. So I am very excited~~";
- mes "Pick the style from page 1 to 19.";
- next;
- input .@style;
- if(.@style > 19) {
- mes "[Otter Samssoon]";
- mes "Come on.. Honey~ You can use a coupon for the hair style in here~";
- close;
- } else if(!.@style) {
- mes "[Otter Samssoon]";
- mes "Oh my!!? You do not want to?";
- close;
- } else if(getlook(1) == .@style) {
- mes "[Otter Samssoon]";
- mes "Come on.. Honey~ That is the same style you have.";
- mes "Do you want to try something new?";
- close;
+ mes("[Otter Samssoon]");
+ mes("Honey~ What style do you want?");
+ mes("You are totally my style. So I am very excited~~");
+ mes("Pick the style from page 1 to 19.");
+ next();
+ input(.@style);
+ if (.@style > 19) {
+ mes("[Otter Samssoon]");
+ mes("Come on.. Honey~ You can use a coupon for the hair style in here~");
+ close();
+ } else if (!.@style) {
+ mes("[Otter Samssoon]");
+ mes("Oh my!!? You do not want to?");
+ close();
+ } else if (getlook(1) == .@style) {
+ mes("[Otter Samssoon]");
+ mes("Come on.. Honey~ That is the same style you have.");
+ mes("Do you want to try something new?");
+ close();
}
- callsub L_cutin, .@style;
- mes "[Otter Samssoon]";
- mes "Style ("+.@style+")?";
- mes "It feels like this.. How is it?";
- next;
- if(select("Good.", "No.") == 1) {
- if(!getlook(6)) {
- mes "[Otter Samssoon]";
- mes "Right!";
- mes "Honey! What about dying hair as well?";
- mes "Dying hair also included in this service.";
- next;
+ callsub(L_cutin, .@style);
+ mes("[Otter Samssoon]");
+ mesf("Style (%d)?", .@style);
+ mes("It feels like this.. How is it?");
+ next();
+ if (select("Good.", "No.") == 1) {
+ if (!getlook(6)) {
+ mes("[Otter Samssoon]");
+ mes("Right!");
+ mes("Honey! What about dying hair as well?");
+ mes("Dying hair also included in this service.");
+ next();
switch(select("Passionate Red", "Sweet Yellow", "Fatal Purple", "Glamourous Orange", "Comfortable Green", "Clear Blue", "Transparent White", "Dark Black", "Stop.")) {
- case 1:
- .@pallete = 8;
- break;
- case 2:
- .@pallete = 1;
- break;
- case 3:
- .@pallete = 2;
- break;
- case 4:
- .@pallete = 3;
- break;
- case 5:
- .@pallete = 4;
- break;
- case 6:
- .@pallete = 5;
- break;
- case 7:
- .@pallete = 6;
- break;
- case 8:
- .@pallete = 7;
- break;
- case 9:
- mes "[Otter Samssoon]";
- mes "No?";
- mes "Do you need more time? If you want to keep the same color, then select the same one.";
- close2;
- cutin "", 255;
- end;
+ case 1:
+ .@pallete = 8;
+ break;
+ case 2:
+ .@pallete = 1;
+ break;
+ case 3:
+ .@pallete = 2;
+ break;
+ case 4:
+ .@pallete = 3;
+ break;
+ case 5:
+ .@pallete = 4;
+ break;
+ case 6:
+ .@pallete = 5;
+ break;
+ case 7:
+ .@pallete = 6;
+ break;
+ case 8:
+ .@pallete = 7;
+ break;
+ case 9:
+ mes("[Otter Samssoon]");
+ mes("No?");
+ mes("Do you need more time? If you want to keep the same color, then select the same one.");
+ close2();
+ cutin("", 255);
+ end;
}
}
nude;
- mes "[Otter Samssoon]";
- mes "Relax, it is almost done~";
- next;
- mes "[Otter Samssoon]";
- mes "- Sha sha shak shak shak -";
- mes "- Chikak, crack, crack.. -";
- mes "- Snap, snap, snap.. Crack -";
- next;
- delitem Criatura_Hair_Coupon, 1; // Criatura_Hair_Coupon
- cutin "", 255;
- mes "[Otter Samssoon]";
- mes "Oh my! Oh my! Oh my!";
- mes "This hair style no.("+.@style+") suits to you looks good~";
- mes "What do you think?";
- setlook 1, .@style;
- setlook 6, .@pallete;
- next;
- mes "[Otter Samssoon]";
- mes "I want to take care of your style..";
- mes "But I have no choice to select customers because I belong to here.";
- next;
- mes "[Otter Samssoon]";
- mes "For changing to new style, ^ff0000Alberta or Lighthalzen^000000.";
- mes "For dying hair, ^ff0000Prontera or Lighthalzen^000000.";
- close;
+ mes("[Otter Samssoon]");
+ mes("Relax, it is almost done~");
+ next();
+ mes("[Otter Samssoon]");
+ mes("- Sha sha shak shak shak -");
+ mes("- Chikak, crack, crack.. -");
+ mes("- Snap, snap, snap.. Crack -");
+ next();
+ delitem(Cryptura_Hair_Coupon, 1);
+ cutin("", 255);
+ mes("[Otter Samssoon]");
+ mes("Oh my! Oh my! Oh my!");
+ mesf("This hair style no.%d suits to you looks good~", .@style);
+ mes("What do you think?");
+ setlook(1, .@style);
+ setlook(6, .@pallete);
+ next();
+ mes("[Otter Samssoon]");
+ mes("I want to take care of your style..");
+ mes("But I have no choice to select customers because I belong to here.");
+ next();
+ mes("[Otter Samssoon]");
+ mes("For changing to new style, ^ff0000Alberta or Lighthalzen^000000.");
+ mes("For dying hair, ^ff0000Prontera or Lighthalzen^000000.");
+ close();
}
- mes "[Otter Samssoon]";
- mes "Honey~ You don't like it?";
- mes "Ahem.. Do you want to read style book again?";
- mes "Take your time and tell me when you decide~ Okay?~";
- close;
+ mes("[Otter Samssoon]");
+ mes("Honey~ You don't like it?");
+ mes("Ahem.. Do you want to read style book again?");
+ mes("Take your time and tell me when you decide~ Okay?~");
+ close();
case 3:
- mes "[Otter Samssoon]";
- mes "You can receive ^ff0000criatura hair coupon^000000 from ^ff0000academy receptionist for novice at academy front desk or eden group^000000";
- next;
- mes "[Otter Samssoon]";
- mes "They don't give you for free.. Well..";
- mes "The equipment you had received when you arrived at academy?";
- mes "They change ^ff0000egg shell for novice^000000 to coupon?";
- next;
- mes "[Otter Samssoon]";
- mes "This service has started since I came here. So.. No free service if you have no coupon~";
- close;
+ mes("[Otter Samssoon]");
+ mes("You can receive ^ff0000criatura hair coupon^000000 from ^ff0000academy receptionist for novice at academy front desk or eden group^000000");
+ next();
+ mes("[Otter Samssoon]");
+ mes("They don't give you for free.. Well..");
+ mes("The equipment you had received when you arrived at academy?");
+ mes("They change ^ff0000egg shell for novice^000000 to coupon?");
+ next();
+ mes("[Otter Samssoon]");
+ mes("This service has started since I came here. So.. No free service if you have no coupon~");
+ close();
case 4:
- mes "[Otter Samssoon]";
- mes "Oh my!!? Honey, you are not going to change hair?";
- mes "You look nice now rough style.";
- close;
+ mes("[Otter Samssoon]");
+ mes("Oh my!!? Honey, you are not going to change hair?");
+ mes("You look nice now rough style.");
+ close();
}
L_cutin:
if (Sex == SEX_MALE) {
- if(getarg(0) < 10)
- cutin "hair_m_0"+getarg(0),4;
+ if (getarg(0) < 10)
+ cutin("hair_m_0"+getarg(0),4);
else
- cutin "hair_m_"+getarg(0),4;
+ cutin("hair_m_"+getarg(0),4);
} else {
- if(getarg(0) < 10)
- cutin "hair_f_0"+getarg(0),4;
+ if (getarg(0) < 10)
+ cutin("hair_f_0"+getarg(0),4);
else
- cutin "hair_f_"+getarg(0),4;
+ cutin("hair_f_"+getarg(0),4);
}
return;
}
@@ -6077,22 +6256,22 @@ iz_ac01_d,69,36,3 duplicate(Otter Samssoon#ac) Otter Samssoon#ac_d 4W_SAILOR
//- Lady -
iz_ac01,138,69,3 script Lady#ac 1_F_ORIENT_02,{
- mes "[Lady]";
- mes "^3377FF Is the east window enlightened? Pecopeco is singing.^000000";
- next;
- mes "[Lady]";
- mes "^3377FF Haven't the kids feeding Picky awaken yet?^000000";
- next;
- mes "[Lady]";
- mes "^3377FF When are you going to Morocc over the dessert?^000000";
- next;
- mes "[Lady]";
- mes "... Anonymous...";
- next;
- mes "[Lady]";
- mes "You have a pretty name... Anonymous... I am attacted by your work.";
- emotion e_lv;
- close;
+ mes("[Lady]");
+ mes("^3377FF Is the east window enlightened? Pecopeco is singing.^000000");
+ next();
+ mes("[Lady]");
+ mes("^3377FF Haven't the kids feeding Picky awaken yet?^000000");
+ next();
+ mes("[Lady]");
+ mes("^3377FF When are you going to Morocc over the dessert?^000000");
+ next();
+ mes("[Lady]");
+ mes("... Anonymous...");
+ next();
+ mes("[Lady]");
+ mes("You have a pretty name... Anonymous... I am attacted by your work.");
+ emotion(e_lv);
+ close();
}
iz_ac01_a,138,69,3 duplicate(Lady#ac) Lady#ac_a 1_F_ORIENT_02
@@ -6102,9 +6281,9 @@ iz_ac01_d,138,69,3 duplicate(Lady#ac) Lady#ac_d 1_F_ORIENT_02
//- Eclaire -
iz_ac01,149,46,3 script Eclaire#ac 4_F_KAFRA7,{
- mes "[Eclaire]";
- mes "Cooking is caring!";
- close;
+ mes("[Eclaire]");
+ mes("Cooking is caring!");
+ close();
}
iz_ac01_a,149,46,3 duplicate(Eclaire#ac) Eclaire#ac_a 4_F_KAFRA7
@@ -6114,10 +6293,10 @@ iz_ac01_d,149,46,3 duplicate(Eclaire#ac) Eclaire#ac_d 4_F_KAFRA7
//- Mille Feuille -
iz_ac01,150,50,3 script Mille Feuille#ac 4_F_KAFRA8,{
- emotion e_lv;
- mes "[Mille Feuille]";
- mes "Ahh. Hey is Sir. Orleons doing well?";
- close;
+ emotion(e_lv);
+ mes("[Mille Feuille]");
+ mes("Ahh. Hey is Sir. Orleons doing well?");
+ close();
}
iz_ac01_a,150,50,3 duplicate(Mille Feuille#ac) Mille Feuille#ac_a 4_F_KAFRA8
@@ -6127,17 +6306,17 @@ iz_ac01_d,150,50,3 duplicate(Mille Feuille#ac) Mille Feuille#ac_d 4_F_KAFRA8
//- Chef -
iz_ac01,160,50,3 script Chef#ac 4_F_GODEMOM,{
- mes "[Chef]";
- mes "Are you the new Criatura trainee?";
- mes "Then go look for Dacquoise.";
- next;
- mes "[Chef]";
- mes "I also learned from Sir. Charles Orleans.";
- mes "Everyone became happy from eating my meals.";
- next;
- mes "[Chef]";
- mes "Now it is my pleasure to feed the newbies of the Academy....";
- close;
+ mes("[Chef]");
+ mes("Are you the new Criatura trainee?");
+ mes("Then go look for Dacquoise.");
+ next();
+ mes("[Chef]");
+ mes("I also learned from Sir. Charles Orleans.");
+ mes("Everyone became happy from eating my meals.");
+ next();
+ mes("[Chef]");
+ mes("Now it is my pleasure to feed the newbies of the Academy....");
+ close();
}
iz_ac01_a,160,50,3 duplicate(Chef#ac) Chef#ac_a 4_F_GODEMOM
@@ -6147,23 +6326,23 @@ iz_ac01_d,160,50,3 duplicate(Chef#ac) Chef#ac_d 4_F_GODEMOM
//- Hungry Trainee -
iz_ac01,159,32,3 script Hungry Trainee#ac 4_M_SIT_NOVICE,{
- mes "[Hungry Trainee]";
- mes "Wonder when my order will get taken... it's already been an hour...";
- mes "Look at the helpers lingering on the side...";
- next;
- emotion e_an, 0, "Scholarship Trainee#"+strnpcinfo(NPC_NAME_HIDDEN);
- mes "[Scholarship Trainee]";
- mes "Ugh... this guy...";
- mes "I already told you eight hundred times! It's buffet style! Ah!";
- next;
- mes "[Hungry Trainee]";
- mes "Buffet? What's that? Can you eat it?";
- mes "You look down on me because I'm from the country, don't you?";
- next;
- emotion e_ag;
- mes "[Hungry Trainee]";
- mes "Don't tell me it's not difficult to understand! Explain it to me!";
- close;
+ mes("[Hungry Trainee]");
+ mes("Wonder when my order will get taken... it's already been an hour...");
+ mes("Look at the helpers lingering on the side...");
+ next();
+ emotion(e_an, 0, "Scholarship Trainee#"+strnpcinfo(NPC_NAME_HIDDEN));
+ mes("[Scholarship Trainee]");
+ mes("Ugh... this guy...");
+ mes("I already told you eight hundred times! It's buffet style! Ah!");
+ next();
+ mes("[Hungry Trainee]");
+ mes("Buffet? What's that? Can you eat it?");
+ mes("You look down on me because I'm from the country, don't you?");
+ next();
+ emotion(e_ag);
+ mes("[Hungry Trainee]");
+ mes("Don't tell me it's not difficult to understand! Explain it to me!");
+ close();
}
iz_ac01_a,159,32,3 duplicate(Hungry Trainee#ac) Hungry Trainee#ac_a 4_M_SIT_NOVICE
@@ -6173,9 +6352,9 @@ iz_ac01_d,159,32,3 duplicate(Hungry Trainee#ac) Hungry Trainee#ac_d 4_M_SIT_NOVI
//- Scholarship Trainee -
iz_ac01,164,36,3 script Scholarship Trainee#ac 1_F_PUBGIRL,{
- mes "[Scholarship Trainee]";
- mes "I've worked at many different places, but this place is the strangest.";
- close;
+ mes("[Scholarship Trainee]");
+ mes("I've worked at many different places, but this place is the strangest.");
+ close();
}
iz_ac01_a,164,36,3 duplicate(Scholarship Trainee#ac) Scholarship Trainee#ac_a 1_F_PUBGIRL
@@ -6185,17 +6364,17 @@ iz_ac01_d,164,36,3 duplicate(Scholarship Trainee#ac) Scholarship Trainee#ac_d 1_
//- Broke Trainee -
iz_ac01,133,34,5 script Broke Trainee#ac 4_M_SITDOWN,{
- mes "[Broke Trainee]";
- mes "Since the prices have risen I try to get my belly full at every chance I get.";
- next;
- mes "[Broke Trainee]";
- mes "It's been 21 hours since I've been here.";
- mes "It's a buffet so you can eat without time limit.";
- next;
- mes "[Broke Trainee]";
- mes "Eat and digest, eat and digest, heh.";
- mes "Do you want to join?";
- close;
+ mes("[Broke Trainee]");
+ mes("Since the prices have risen I try to get my belly full at every chance I get.");
+ next();
+ mes("[Broke Trainee]");
+ mes("It's been 21 hours since I've been here.");
+ mes("It's a buffet so you can eat without time limit.");
+ next();
+ mes("[Broke Trainee]");
+ mes("Eat and digest, eat and digest, heh.");
+ mes("Do you want to join?");
+ close();
}
iz_ac01_a,133,34,5 duplicate(Broke Trainee#ac) Broke Trainee#ac_a 4_M_SITDOWN
@@ -6206,35 +6385,35 @@ iz_ac01_d,133,34,5 duplicate(Broke Trainee#ac) Broke Trainee#ac_d 4_M_SITDOWN
//- Noisy Trainee -
iz_ac02,152,79,3 script Noisy Trainee#ac 4_M_HUBOY,{
if (Class == Job_Novice) {
- mes "[Noisy Trainee]";
- mes "Hey, do you know about the gunslinger's own weapon?";
- next;
- if(select("Don't know", "Know") == 2) {
- mes "[Noisy Trainee]";
- mes "Cha, yeah right!";
- close;
- }
- mes "[Noisy Trainee]";
- mes "I guessed you were.";
- next;
- mes "[Noisy Trainee]";
- mes "Gunslinger handles 5 kinds of guns and each gun has its own character.";
- next;
+ mes("[Noisy Trainee]");
+ mes("Hey, do you know about the gunslinger's own weapon?");
+ next();
+ if (select("Don't know", "Know") == 2) {
+ mes("[Noisy Trainee]");
+ mes("Cha, yeah right!");
+ close();
+ }
+ mes("[Noisy Trainee]");
+ mes("I guessed you were.");
+ next();
+ mes("[Noisy Trainee]");
+ mes("Gunslinger handles 5 kinds of guns and each gun has its own character.");
+ next();
select("What character?");
- mes "[Noisy Trainee]";
- mes "Hahahaha~ I am also taking the lesson, but I don't know the details as I haven't become a gunslinger.";
- next;
- mes "[Noisy Trainee]";
- mes "I heard that as it was a dangerous weapon they don't let us use them yet!";
- close;
+ mes("[Noisy Trainee]");
+ mes("Hahahaha~ I am also taking the lesson, but I don't know the details as I haven't become a gunslinger.");
+ next();
+ mes("[Noisy Trainee]");
+ mes("I heard that as it was a dangerous weapon they don't let us use them yet!");
+ close();
} else if (Class == Job_Gunslinger) {
- mes "[Noisy Trainee]";
- mes "Oh Mr. gunslinger!! Nice.";
- close;
+ mes("[Noisy Trainee]");
+ mes("Oh Mr. gunslinger!! Nice.");
+ close();
} else {
- mes "[Noisy Trainee]";
- mes "What? Why did you take the other job rather than being a nice gunslinger?";
- close;
+ mes("[Noisy Trainee]");
+ mes("What? Why did you take the other job rather than being a nice gunslinger?");
+ close();
}
}
@@ -6246,35 +6425,35 @@ iz_ac02_d,152,79,3 duplicate(Noisy Trainee#ac) Noisy Trainee#ac_d 4_M_HUBOY
//- Quiet Trainee -
iz_ac02,143,77,3 script Quite Trainee#ac 4_F_KID2,{
if (Class == Job_Novice) {
- mes "[Quiet Trainee]";
+ mes("[Quiet Trainee]");
switch(rand(1, 5)) {
case 1:
- mes "Are you coming to take the lesson for gunslinger?";
+ mes("Are you coming to take the lesson for gunslinger?");
break;
case 2:
- mes "Ms. Lusa really looks pretty.";
+ mes("Ms. Lusa really looks pretty.");
break;
case 3:
- mes "I wish to be a gunslinger, like her.";
+ mes("I wish to be a gunslinger, like her.");
break;
case 4:
- mes "I hope I finish my lessons soon!";
+ mes("I hope I finish my lessons soon!");
break;
case 5:
- mes "Learning is too difficult...";
+ mes("Learning is too difficult...");
break;
}
- close;
+ close();
} else if (Class == Job_Gunslinger) {
- mes "[Quiet Trainee]";
- mes "You are a gunslinger? You look great! I want to become a gunslinger......";
- close;
+ mes("[Quiet Trainee]");
+ mes("You are a gunslinger? You look great! I want to become a gunslinger......");
+ close();
} else {
- mes "[Quiet Trainee]";
- mes "Desperado is the bullet... Blable... Ranged attack... Physics....";
- next;
- mes "You can't hear her clearly because of her small voice.";
- close;
+ mes("[Quiet Trainee]");
+ mes("Desperado is the bullet... Blable... Ranged attack... Physics....");
+ next();
+ mes("You can't hear her clearly because of her small voice.");
+ close();
}
}
@@ -6285,9 +6464,9 @@ iz_ac02_d,143,77,3 duplicate(Quite Trainee#ac) Quite Trainee#ac_d 4_F_KID2
//- Frightened Trainee -
iz_ac02,159,79,7 script Frightened Trainee#ac 4_F_HUGIRL,{
- mes "[Frightened Trainee]";
- mes "That man looks too scary.";
- close;
+ mes("[Frightened Trainee]");
+ mes("That man looks too scary.");
+ close();
}
iz_ac02_a,159,79,7 duplicate(Frightened Trainee#ac) Frightened Trainee#ac_a 4_F_HUGIRL
@@ -6298,111 +6477,111 @@ iz_ac02_d,159,79,7 duplicate(Frightened Trainee#ac) Frightened Trainee#ac_d 4_F_
//- Ragie -
// - Teaches the player about Transcendent and Third classes.
iz_ac02,149,43,3 script Ragie#ac 1_M_BARD,{
- mes "[Ragie]";
- mes "A sudden poetic inspiration hit me!";
- next;
- mes "[Ragie]";
- mes "^3377FFIn the night of the Byalan Island under the moonlight, sitting alone in Izlude^000000";
- next;
- mes "[Ragie]";
- mes "^3377FFWearing Tzurugie on my belly, in the deep anxiety,^000000";
- next;
- mes "[Ragie]";
- mes "^3377FFHearing I made a fortune from somewhere, killing me softly.^000000";
- next;
- mes "[Ragie]";
- mes "........";
- next;
- mes "[Ragie]";
- mes "How about it? It is excellent, isn't it?";
- next;
- mes "[Ragie]";
- mes "I will ^FF0000transcend ^000000 and ^FF00003rd job change^000000. Become a nice Minstrel, I can play with a famous Wanderer like Mr. Igoo.";
- next;
- while (1) {
+ mes("[Ragie]");
+ mes("A sudden poetic inspiration hit me!");
+ next();
+ mes("[Ragie]");
+ mes("^3377FFIn the night of the Byalan Island under the moonlight, sitting alone in Izlude^000000");
+ next();
+ mes("[Ragie]");
+ mes("^3377FFWearing Tzurugie on my belly, in the deep anxiety,^000000");
+ next();
+ mes("[Ragie]");
+ mes("^3377FFHearing I made a fortune from somewhere, killing me softly.^000000");
+ next();
+ mes("[Ragie]");
+ mes("........");
+ next();
+ mes("[Ragie]");
+ mes("How about it? It is excellent, isn't it?");
+ next();
+ mes("[Ragie]");
+ mes("I will ^FF0000transcend ^000000 and ^FF00003rd job change^000000. Become a nice Minstrel, I can play with a famous Wanderer like Mr. Igoo.");
+ next();
+ while (true) {
switch(select("What is transcending?", "What is the 3rd job change?", "Who is Igoo?", "End Conversation")) {
case 1:
if (ADVJOB != 0) {
- mes "[Ragie]";
- mes "You seem to already know what it is!";
- next;
+ mes("[Ragie]");
+ mes("You seem to already know what it is!");
+ next();
} else {
- mes "[Ragie]";
- mes "Transcending is great. Very great.";
- next;
- mes "[Ragie]";
- mes "Basically the 2nd job adventurer gains the base level 99 and job level 50, on then can that person transcend.";
- next;
- mes "[Ragie]";
- mes "Once you transcend, you can go back to the base level Novice.";
- next;
- mes "[Ragie]";
- mes "It is very hard to start your adventure again. However, there is a merit to the hardship.";
- next;
- mes "[Ragie]";
- mes "The most important merit is to learn new skills at a new upgraded level. In my case, I could transfer to not an ordinary Bard but a Minstrel.";
- next;
- mes "[Ragie]";
- mes "Indeed, be careful as you can only follow the way of the job you chose before transcending.";
- next;
- mes "[Ragie]";
- mes "If you are interested in transcending, recommend you visit the Sage castle in ^FF0000Juno^000000. I may be far behind for it.";
- next;
+ mes("[Ragie]");
+ mes("Transcending is great. Very great.");
+ next();
+ mes("[Ragie]");
+ mes("Basically the 2nd job adventurer gains the base level 99 and job level 50, on then can that person transcend.");
+ next();
+ mes("[Ragie]");
+ mes("Once you transcend, you can go back to the base level Novice.");
+ next();
+ mes("[Ragie]");
+ mes("It is very hard to start your adventure again. However, there is a merit to the hardship.");
+ next();
+ mes("[Ragie]");
+ mes("The most important merit is to learn new skills at a new upgraded level. In my case, I could transfer to not an ordinary Bard but a Minstrel.");
+ next();
+ mes("[Ragie]");
+ mes("Indeed, be careful as you can only follow the way of the job you chose before transcending.");
+ next();
+ mes("[Ragie]");
+ mes("If you are interested in transcending, recommend you visit the Sage castle in ^FF0000Juno^000000. I may be far behind for it.");
+ next();
}
break;
case 2:
if (BaseLevel > 99) {
- mes "[Ragie]";
- mes "Oh, you know very well, don't you?";
- next;
+ mes("[Ragie]");
+ mes("Oh, you know very well, don't you?");
+ next();
} else {
- mes "[Ragie]";
- mes "The 3rd job change is obviously a new job.";
- next;
- mes "[Ragie]";
- mes "Adventurers with the 2nd job or can be transferred to the 3rd job class once gaining the base level 99 and the job level more than 50.";
- next;
- mes "[Ragie]";
- mes "For example, a Bard like me was an Archer in the beginning. Now I became a Bard. As I am diligently adventuring, I may be able to change jobs to a third job.";
- next;
- mes "[Ragie]";
- mes "Ah, of course, though I don't make transfer, I could be Minstrel as my final target. However, I won't compromise with the reality. Someday I will be the best Minstrel.";
- next;
- mes "[Ragie]";
- mes "So, if you transfer, you could first be Novice and be a Bard. But someday I could be Minstrel, couldn't I?";
- next;
- mes "[Ragie]";
- mes "Choice is always on you. Be ambitious, adventurer. Someday I will sing an encouraging song for you.";
- next;
+ mes("[Ragie]");
+ mes("The 3rd job change is obviously a new job.");
+ next();
+ mes("[Ragie]");
+ mes("Adventurers with the 2nd job or can be transferred to the 3rd job class once gaining the base level 99 and the job level more than 50.");
+ next();
+ mes("[Ragie]");
+ mes("For example, a Bard like me was an Archer in the beginning. Now I became a Bard. As I am diligently adventuring, I may be able to change jobs to a third job.");
+ next();
+ mes("[Ragie]");
+ mes("Ah, of course, though I don't make transfer, I could be Minstrel as my final target. However, I won't compromise with the reality. Someday I will be the best Minstrel.");
+ next();
+ mes("[Ragie]");
+ mes("So, if you transfer, you could first be Novice and be a Bard. But someday I could be Minstrel, couldn't I?");
+ next();
+ mes("[Ragie]");
+ mes("Choice is always on you. Be ambitious, adventurer. Someday I will sing an encouraging song for you.");
+ next();
}
break;
case 3:
- mes "[Ragie]";
- mes "No! You don't know the most beautiful girl Wanderer Igoo in this era?";
- next;
- mes "[Ragie]";
- mes "Haven't you heard about [Volume 1 - Lost Poring] or [Volume 2 : Poring my love]?";
- next;
- mes "[Ragie]";
- mes "Then, have you never heard the songs like [It's a Good day for an OCA] or [Baphomet I hardly knew you]";
- next;
- mes "[Ragie]";
- mes "A beautiful Wanderer from Comodo at the age of 20. Not only Midgard but also wherever her wandering troupe goes, a fan club follows.";
- next;
- mes "[Ragie]";
- mes "I am ^FF0000Ragie^000000 in charge with the Rune Midgard branch head of Igoo's informal fan club! As Igoo has gone to the 2nd world, I am taking a rest for a while. But she will be back soon.";
- next;
- mes "[Ragie]";
- mes "As I am still a low level of adventurer, I haven't followed her to the 2nd world... See! I will make great efforts and follow her everywhere.";
- next;
- mes "[Ragie]";
- mes "Ahaa. No sweat no sweat. It is useless to tell such a story to those ignorant.";
- next;
+ mes("[Ragie]");
+ mes("No! You don't know the most beautiful girl Wanderer Igoo in this era?");
+ next();
+ mes("[Ragie]");
+ mes("Haven't you heard about [Volume 1 - Lost Poring] or [Volume 2 : Poring my love]?");
+ next();
+ mes("[Ragie]");
+ mes("Then, have you never heard the songs like [It's a Good day for an OCA] or [Baphomet I hardly knew you]");
+ next();
+ mes("[Ragie]");
+ mes("A beautiful Wanderer from Comodo at the age of 20. Not only Midgard but also wherever her wandering troupe goes, a fan club follows.");
+ next();
+ mes("[Ragie]");
+ mes("I am ^FF0000Ragie^000000 in charge with the Rune Midgard branch head of Igoo's informal fan club! As Igoo has gone to the 2nd world, I am taking a rest for a while. But she will be back soon.");
+ next();
+ mes("[Ragie]");
+ mes("As I am still a low level of adventurer, I haven't followed her to the 2nd world... See! I will make great efforts and follow her everywhere.");
+ next();
+ mes("[Ragie]");
+ mes("Ahaa. No sweat no sweat. It is useless to tell such a story to those ignorant.");
+ next();
break;
case 4:
- mes "[Ragie]";
- mes "Ah! I happened to come up with another great poetic inspiration.. Take a memo.. Memo..";
- close;
+ mes("[Ragie]");
+ mes("Ah! I happened to come up with another great poetic inspiration.. Take a memo.. Memo..");
+ close();
}
}
}
@@ -6414,13 +6593,13 @@ iz_ac02_d,149,43,3 duplicate(Ragie#ac) Ragie#ac_d 1_M_BARD
//- Lady Harvesting Herbs -
pay_fild08,153,83,1 script Lady Harvesting Herbs#2 1_F_ORIENT_02,{
- mes "[Lady]";
- mes "There is a town called Payon to the east. Taking a long way to the south, you can even reach Alberta.";
- next;
- mes "[Lady]";
- mes "Payon is the wonderful city. There you can be transferred to an Archer or to a Taekwon. And a nice Dungeon there. If you have time, please make a visit.";
- emotion e_heh;
- close;
+ mes("[Lady]");
+ mes("There is a town called Payon to the east. Taking a long way to the south, you can even reach Alberta.");
+ next();
+ mes("[Lady]");
+ mes("Payon is the wonderful city. There you can be transferred to an Archer or to a Taekwon. And a nice Dungeon there. If you have time, please make a visit.");
+ emotion(e_heh);
+ close();
}
//- Signs -
@@ -6530,85 +6709,85 @@ iz_ac02_d,107,180,3 duplicate(ac_board) [Principal's Office]#ad 2_BULLETIN_BOARD
//- Cream Puff -
// - Gives the player a personality test to determine the class they should be.
iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
- cutin "choucream_n.bmp", 2;
+ cutin("choucream_n", 2);
if (Class == Job_Novice) {
- emotion e_what;
- mes "[Cream Puff]";
- mes "You are a novice? right?";
- next;
+ emotion(e_what);
+ mes("[Cream Puff]");
+ mes("You are a novice? right?");
+ next();
} else {
- emotion e_sigh;
- mes "[Cream Puff]";
- mes "Class aptitude test is nonsense for those who already have a job.";
- close2;
- cutin "", 255;
+ emotion(e_sigh);
+ mes("[Cream Puff]");
+ mes("Class aptitude test is nonsense for those who already have a job.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Cream Puff]";
- mes "You haven't decided your job yet?";
- next;
- if(select("No... how did you know?", "I decided.") == 2) {
- cutin "choucream_d.bmp",2;
- emotion e_sigh;
- mes "[Cream Puff]";
- mes "Have you already decided? Ok then.";
- next;
- mes "[Cream Puff]";
- mes "I wanted you to take the Class aptitude test for fun...";
- close2;
- cutin "", 255;
+ mes("[Cream Puff]");
+ mes("You haven't decided your job yet?");
+ next();
+ if (select("No... how did you know?", "I decided.") == 2) {
+ cutin("choucream_d",2);
+ emotion(e_sigh);
+ mes("[Cream Puff]");
+ mes("Have you already decided? Ok then.");
+ next();
+ mes("[Cream Puff]");
+ mes("I wanted you to take the Class aptitude test for fun...");
+ close2();
+ cutin("", 255);
end;
}
- cutin "choucream_e.bmp",2;
- emotion e_flash;
- mes "[Cream Puff]";
- mes "Oh, that is good.";
- mes "What is the ^0000FFClass aptitude test^000000.";
- mes "I have one book left. Do you want to try? I won't say it will be help for sure but it will be fun.";
- next;
- while(1) {
+ cutin("choucream_e",2);
+ emotion(e_flash);
+ mes("[Cream Puff]");
+ mes("Oh, that is good.");
+ mes("What is the ^0000FFClass aptitude test^000000.");
+ mes("I have one book left. Do you want to try? I won't say it will be help for sure but it will be fun.");
+ next();
+ while(true) {
switch(select("Class aptitude test?", "Take the Class aptitude test.", "stop.")) {
case 1:
- cutin "choucream_n.bmp",2;
- mes "[Cream Puff]";
- mes "The Class aptitude test is a test for recommending jobs by reviewing your personality and capability with the answers.";
- next;
- mes "[Cream Puff]";
- mes "It has 3 types of test and each one give 30 minutes to finish.";
- next;
- emotion e_what;
- mes "[Cream Puff]";
- mes "If you have free time and have not decided your job... how about taking this test?";
- next;
+ cutin("choucream_n",2);
+ mes("[Cream Puff]");
+ mes("The Class aptitude test is a test for recommending jobs by reviewing your personality and capability with the answers.");
+ next();
+ mes("[Cream Puff]");
+ mes("It has 3 types of test and each one give 30 minutes to finish.");
+ next();
+ emotion(e_what);
+ mes("[Cream Puff]");
+ mes("If you have free time and have not decided your job... how about taking this test?");
+ next();
continue;
case 2:
break;
case 3:
- cutin "choucream_d.bmp",2;
- emotion e_pif;
- mes "[Cream Puff]";
- mes "All right. Good bye.";
- close2;
- cutin "", 255;
+ cutin("choucream_d",2);
+ emotion(e_pif);
+ mes("[Cream Puff]");
+ mes("All right. Good bye.");
+ close2();
+ cutin("", 255);
end;
}
break;
}
- cutin "choucream_e.bmp",2;
- mes "[Cream Puff]";
- mes "Shall we start?";
- next;
- mes "[Cream Puff]";
- mes "The first type of question is about taking an action for a given situation.";
- next;
- mes "In the middle of the dark, you're walking on the street of Prontera when suddenly you hear someone scream.";
- next;
- mes "'Aaaahh!! Don't hurt me ~'";
- next;
- mes "You run to the place and see someone surrounded by punks. Because of your sudden appearace, the punks are surprised.";
- next;
- mes "What would be your reaction to this situation?";
- next;
+ cutin("choucream_e",2);
+ mes("[Cream Puff]");
+ mes("Shall we start?");
+ next();
+ mes("[Cream Puff]");
+ mes("The first type of question is about taking an action for a given situation.");
+ next();
+ mes("In the middle of the dark, you're walking on the street of Prontera when suddenly you hear someone scream.");
+ next();
+ mes("'Aaaahh!! Don't hurt me ~'");
+ next();
+ mes("You run to the place and see someone surrounded by punks. Because of your sudden appearace, the punks are surprised.");
+ next();
+ mes("What would be your reaction to this situation?");
+ next();
switch(select("Fight against the punks", "Cast Magic.", "Call for Guards.", "Throw rocks at them.")) {
case 1:
.@question_01$ = "You subdue them easily.";
@@ -6630,24 +6809,24 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@gunslinger_p = .@gunslinger_p + 1;
break;
}
- mes ""+.@question_01$+"";
- next;
- mes "After clear up the mess, you approach the person who was being attacked.";
- mes "Do you think the person who was surrounded by punks is a man or a woman?";
- next;
- if(select("Man", "Woman") == 1) {
+ mes(""+.@question_01$+"");
+ next();
+ mes("After clear up the mess, you approach the person who was being attacked.");
+ mes("Do you think the person who was surrounded by punks is a man or a woman?");
+ next();
+ if (select("Man", "Woman") == 1) {
.@question_02_01$ = "he";
.@question_02_02$ = "son";
} else {
.@question_02_01$ = "she";
.@question_02_02$ = "daughter";
}
- mes "The situation of encountering the gangs were like this";
- next;
- mes "You find out that "+.@question_02_01$+" is the "+.@question_02_02$+" of very rich family in Alberta and Punks attacked while "+.@question_02_01$+" was on an errand for the family";
- next;
- mes "What kind of errand was he doing?";
- next;
+ mes("The situation of encountering the gangs were like this");
+ next();
+ mes("You find out that "+.@question_02_01$+" is the "+.@question_02_02$+" of very rich family in Alberta and Punks attacked while "+.@question_02_01$+" was on an errand for the family");
+ next();
+ mes("What kind of errand was he doing?");
+ next();
switch(select("Delivering an important object", "Deliver a small souvenir", "Deliver a message")) {
case 1:
.@swordman_p = .@swordman_p + 1;
@@ -6662,9 +6841,9 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@acolyte_p = .@acolyte_p + 1;
break;
}
- mes "For your bravery, "+.@question_02_01+" becomes your friend and decides to go on a trip.";
- mes "Where is "+.@question_02_01+" going?";
- next;
+ mes("For your bravery, "+.@question_02_01+" becomes(your friend and decides to go on a trip.");
+ mes("Where is "+.@question_02_01+" going?");
+ next();
switch(select("Capital city, Prontera", "Mountain city, Payon", "Port city, Alberta", "Magic city, Geffen", "Satelite city, Izlude", "Desert city, Morocc", "Industrial city, Einbroch", "World of natural life, Amatsu", "Garden city, Hugel")) {
case 1:
.@acolyte_p = .@acolyte_p + 1;
@@ -6694,9 +6873,9 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@archer_p = .@archer_p + 1;
break;
}
- mes "You're having a great time. Do you feel like something will be happening or not?";
- next;
- if(select("Happening", "Not happening.") == 1) {
+ mes("You're having a great time. Do you feel like something will be happening or not?");
+ next();
+ if (select("Happening", "Not happening.") == 1) {
.@thief_p = .@thief_p + 1;
.@swordman_p = .@swordman_p + 1;
.@ninja_p = .@ninja_p + 1;
@@ -6708,12 +6887,12 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@merchant_p = .@merchant_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- mes "[Cream Puff]";
- mes "Now for the second test. Choose the best answer in your own opinion.";
- next;
- mes "[Cream Puff]";
- mes "2nd type of question is to select a word or sentence which is closest to yourself.";
- next;
+ mes("[Cream Puff]");
+ mes("Now for the second test. Choose the best answer in your own opinion.");
+ next();
+ mes("[Cream Puff]");
+ mes("2nd type of question is to select a word or sentence which is closest to yourself.");
+ next();
switch(select("Study", "Exercise", "Service", "Violence")) {
case 1:
.@magician_p = .@magician_p + 1;
@@ -6731,7 +6910,7 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@ninja_p = .@ninja_p + 1;
break;
}
- if(select("Change", "Preservation") == 1) {
+ if (select("Change", "Preservation") == 1) {
.@magician_p = .@magician_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
@@ -6751,132 +6930,132 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@magician_p = .@magician_p + 1;
break;
}
- if(select("Speedy", "Cautious") == 1) {
+ if (select("Speedy", "Cautious") == 1) {
.@thief_p = .@thief_p + 1;
.@ninja_p = .@ninja_p + 1;
} else {
.@archer_p = .@archer_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- if(select("Theory", "Experience") == 1) {
+ if (select("Theory", "Experience") == 1) {
.@magician_p = .@magician_p + 1;
} else {
.@swordman_p = .@swordman_p + 1;
.@taekwon_p = .@taekwon_p + 1;
}
- mes "[Cream Puff]";
- mes "2nd type of question is done. It was simple. Right ? Let's move to next.";
- next;
- mes "[Cream Puff]";
- mes "Now for the third test. Please choose (Yes) or (No) to each question.";
- next;
- mes "Do you always pick up money that you find on the ground?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("[Cream Puff]");
+ mes("2nd type of question is done. It was simple. Right ? Let's move to next.");
+ next();
+ mes("[Cream Puff]");
+ mes("Now for the third test. Please choose (Yes) or (No) to each question.");
+ next();
+ mes("Do you always pick up money that you find on the ground?");
+ next();
+ if (select("Yes", "No") == 1) {
.@merchant_p = .@merchant_p + 1;
.@ninja_p = .@ninja_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
}
- mes "If you had the same name as someone of the opposite sex, would that make you less attracted to them?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("If you had the same name as someone of the opposite sex, would that make you less attracted to them?");
+ next();
+ if (select("Yes", "No") == 1) {
.@ninja_p = .@ninja_p + 1;
.@archer_p = .@archer_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- mes "Do you like to be able to carry a lot of items at once?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you like to be able to carry a lot of items at once?");
+ next();
+ if (select("Yes", "No") == 1) {
.@swordman_p = .@swordman_p + 1;
.@merchant_p = .@merchant_p + 1;
} else {
.@magician_p = .@magician_p + 1;
.@taekwon_p = .@taekwon_p + 1;
}
- mes "Do you like to read books?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you like to read books?");
+ next();
+ if (select("Yes", "No") == 1) {
.@taekwon_p = .@taekwon_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}else {
.@ninja_p = ninja_p + 1;
.@merchant_p = .@merchant_p + 1;
}
- mes "You read everything in a magazine?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("You read everything in a magazine?");
+ next();
+ if (select("Yes", "No") == 1) {
.@magician_p = .@magician_p + 1;
} else {
.@archer_p = archer_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- mes "Do you take the time to worry about what you are wearing?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you take the time to worry about what you are wearing?");
+ next();
+ if (select("Yes", "No") == 1) {
.@merchant_p = .@merchant_p + 1;
.@ninja_p = .@ninja_p + 1;
} else {
.@swordman_p = .@swordman_p + 1;
.@thief_p = .@thief_p + 1;
}
- mes "Do you tell others what kind of fancy foods you've eaten recently?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you tell others what kind of fancy foods you've eaten recently?");
+ next();
+ if (select("Yes", "No") == 1) {
.@thief_p = .@thief_p + 1;
.@swordman_p = .@swordman_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
.@taekwon_p = .@taekwon_p + 1;
}
- mes "Do you write things down in a notebook often?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you write things down in a notebook often?");
+ next();
+ if (select("Yes", "No") == 1) {
.@magician_p = .@magician_p + 1;
.@merchant_p = .@merchant_p + 1;
} else {
.@thief_p = .@thief_p + 1;
.@archer_p = .@archer_p + 1;
}
- mes "Do you consider yourself attractive?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you consider yourself attractive?");
+ next();
+ if (select("Yes", "No") == 1) {
.@ninja_p = .@ninja_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
.@swordman_p = .@swordman_p + 1;
}
- mes "Do you like to be in areas where a lot of people gather?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you like to be in areas where a lot of people gather?");
+ next();
+ if (select("Yes", "No") == 1) {
.@acolyte_p = .@acolyte_p + 1;
.@swordman_p = .@swordman_p + 1;
} else {
.@archer_p = .@archer_p + 1;
.@ninja_p = .@ninja_p + 1;
}
- mes "Do you like the idea of living a single life?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you like the idea of living a single life?");
+ next();
+ if (select("Yes", "No") == 1) {
.@thief_p = .@thief_p + 1;
.@ninja_p = .@ninja_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
}
- mes "Do you like to keep your distance from others?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you like to keep your distance from others?");
+ next();
+ if (select("Yes", "No") == 1) {
.@gunslinger_p = .@gunslinger_p + 1;
.@archer_p = .@archer_p + 1;
} else {
.@taekwon_p = .@taekwon_p + 1;
}
- mes "Do you think that having a good hiding space is important in battle?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you think that having a good hiding space is important in battle?");
+ next();
+ if (select("Yes", "No") == 1) {
.@magician_p = .@magician_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
.@archer_p = .@archer_p + 1;
@@ -6884,213 +7063,213 @@ iz_ac02,143,55,3 script Cream Puff#ac 4_M_KID1,{
.@taekwon_p = .@taekwon_p + 1;
.@magician_p = .@magician_p + 1;
}
- mes "Would you defend your friend even if you knew they were wrong?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Would you defend your friend even if you knew they were wrong?");
+ next();
+ if (select("Yes", "No") == 1) {
.@swordman_p = .@swordman_p + 1;
} else {
.@thief_p = .@thief_p + 1;
.@ninja_p = .@ninja_p + 1;
}
- mes "Would you try to convince an enemy not to fight you with logic?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Would you try to convince an enemy not to fight you with logic?");
+ next();
+ if (select("Yes", "No") == 1) {
.@archer_p = .@archer_p + 1;
.@merchant_p = .@merchant_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
.@archer_p = .@archer_p + 1;
}
- mes "Can you sit still in the same place for a long time?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Can you sit still in the same place for a long time?");
+ next();
+ if (select("Yes", "No") == 1) {
.@taekwon_p = .@taekwon_p + 1;
.@thief_p = .@thief_p + 1;
} else {
.@archer_p = .@archer_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- mes "Do you think that you can take a punch straight to the gut from an Orc?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you think that you can take a punch straight to the gut from an Orc?");
+ next();
+ if (select("Yes", "No") == 1) {
.@swordman_p = .@swordman_p + 1;
.@merchant_p = .@merchant_p + 1;
} else {
.@magician_p = .@magician_p + 1;
.@thief_p = .@thief_p + 1;
}
- mes "Do you make up nicknames for your friends?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you make up nicknames(for your friends?");
+ next();
+ if (select("Yes", "No") == 1) {
.@gunslinger_p = .@gunslinger_p + 1;
.@archer_p = .@archer_p + 1;
} else {
.@acolyte_p = .@acolyte_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
}
- mes "Do you always have a plan B for various situations?";
- next;
- if(select("Yes", "No") == 1) {
+ mes("Do you always have a plan B for various situations?");
+ next();
+ if (select("Yes", "No") == 1) {
.@thief_p = .@thief_p + 1;
.@gunslinger_p = .@gunslinger_p + 1;
} else {
.@gunslinger_p = .@gunslinger_p + 1;
.@merchant_p = .@merchant_p + 1;
}
- mes "I think about something else while talking to others.";
- next;
- if(select("Yes", "No") == 1) {
+ mes("I think about something else while talking to others.");
+ next();
+ if (select("Yes", "No") == 1) {
.@magician_p = .@agician_p + 1;
} else {
.@ninja_p = .@ninja_p + 1;
.@archer_p = .@archer_p + 1;
}
- mes "[Cream Puff]";
- mes "Class aptitude test is finished with 1,2 and 3rd test. Please wait for a moment.";
- next;
- cutin "choucream_d.bmp",2;
- mes "[Cream Puff]";
- mes "It requires to manually calculate as you know.";
- next;
+ mes("[Cream Puff]");
+ mes("Class aptitude test is finished with 1,2 and 3rd test. Please wait for a moment.");
+ next();
+ cutin("choucream_d",2);
+ mes("[Cream Puff]");
+ mes("It requires to manually calculate as you know.");
+ next();
setarray .@points[0],.@swordman_p,.@magician_p,.@archer_p,.@merchant_p,.@thief_p,.@acolyte_p,.@taekwon_p,.@gunslinger_p,.@ninja_p;
.@max = .@points[0];
for(.@i = 1; .@i < 9; .@i = .@i+1) {
- if(.@points[.@i] >= .@max) {
+ if (.@points[.@i] >= .@max) {
.@max = .@points[.@i];
.@ele = .@i;
}
}
set .@who_job, .@ele + 1;
- mes "[Cream Puff]";
- mes "All right!!!! It's done!!!!!!!!";
- next;
- cutin "choucream_e.bmp", 2;
- mes "[Cream Puff]";
- mes "Finished calculating. Math is always difficult.";
- next;
- mes "[Cream Puff]";
- mes "According to the Class aptitude test!";
- next;
- mes "[Cream Puff]";
+ mes("[Cream Puff]");
+ mes("All right!!!! It's done!!!!!!!!");
+ next();
+ cutin("choucream_e", 2);
+ mes("[Cream Puff]");
+ mes("Finished calculating. Math is always difficult.");
+ next();
+ mes("[Cream Puff]");
+ mes("According to the Class aptitude test!");
+ next();
+ mes("[Cream Puff]");
if (.@who_job == 1) {
.@job_name$ = "Swordman";
- mes "The one who wants to be a hero with stong belief and wants to influence on the world.";
- next;
- mes "[Cream Puff]";
- mes "The one who wants to protect the weak.";
+ mes("The one who wants to be a hero with stong belief and wants to influence on the world.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who wants to protect the weak.");
} else if (.@who_job == 2) {
.@job_name$ = "Mage";
- mes "The one who is curious about knowing everything and independently work alone.";
- next;
- mes "[Cream Puff]";
- mes "the one who has good judgement, not out-going, analyzing and insightful and likes to observe...";
+ mes("The one who is curious about knowing everything and independently work alone.");
+ next();
+ mes("[Cream Puff]");
+ mes("the one who has good judgement, not out-going, analyzing and insightful and likes to observe...");
} else if (.@who_job == 3) {
.@job_name$ = "Archer";
- mes "The one who is romantic and understands the feeling of others and tries to be understood by others as well.";
- next;
- mes "[Cream Puff]";
- mes "The one who wants to spend time finding out who they are.";
+ mes("The one who is romantic and understands the feeling of others and tries to be understood by others as well.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who wants to spend time finding out who they are.");
} else if (.@who_job == 4) {
.@job_name$ = "Merchant";
- mes "the one who is good at reading the mind of others and is decisive.";
- next;
- mes "[Cream Puff]";
- mes "the one who is strongly interested in achieving and target-driving and responsible.";
+ mes("the one who is good at reading the mind of others and is decisive.");
+ next();
+ mes("[Cream Puff]");
+ mes("the one who is strongly interested in achieving and target-driving and responsible.");
} else if (.@who_job == 5) {
.@job_name$ = "Thief";
- mes "The one who wants to have fun is optimistic who loves adventure.";
- next;
- mes "[Cream Puff]";
- mes "The one who wants to find out something exciting and wants to donate to the world in his own way.";
+ mes("The one who wants to have fun is optimistic who loves adventure.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who wants to find out something exciting and wants to donate to the world in his own way.");
} else if (.@who_job == 6) {
.@job_name$ = "Acolyte";
- mes "The one who has a great heart to help others and understand.";
- next;
- mes "[Cream Puff]";
- mes "The one who wants to be loved and wants to care for others.";
+ mes("The one who has a great heart to help others and understand.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who wants to be loved and wants to care for others.");
} else if (.@who_job == 7) {
.@job_name$ = "Taekwon boy/girl";
- mes "the one who has sound mind from right training.";
- next;
- mes "[Cream Puff]";
- mes "The one who tries hard everyday with certain belief and tries to make people understand.";
+ mes("the one who has sound mind from right training.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who tries hard everyday with certain belief and tries to make people understand.");
} else if (.@who_job == 8) {
.@job_name$ = "Gunslinger";
- mes "The one who is called as a justice giver but also gives chaos and fear.";
- next;
- mes "[Cream Puff]";
- mes "The one who tries to balance between justice and chaos.";
+ mes("The one who is called as a justice giver but also gives chaos and fear.");
+ next();
+ mes("[Cream Puff]");
+ mes("The one who tries to balance between justice and chaos.");
} else if (.@who_job == 9) {
.@job_name$ = "Ninja";
- mes "The one who does not want to get attention.";
- next;
- mes "[Cream Puff]";
- mes "and who is persistant without giving up until reaching the target.";
+ mes("The one who does not want to get attention.");
+ next();
+ mes("[Cream Puff]");
+ mes("and who is persistant without giving up until reaching the target.");
} else {
- mes "An error occurred.";
- close2;
- cutin "", 255;
+ mes("An error occurred.");
+ close2();
+ cutin("", 255);
end;
}
- next;
- emotion e_no1;
- mes "[Cream Puff]";
- mes "^8014EB"+.@job_name$+"^000000 is a good matching job for you.";
- next;
- cutin "choucream_n.bmp", 2;
- mes "[Cream Puff]";
- mes "Hmm, it says.";
- next;
- mes "[Cream Puff]";
- mes "You do not have to choose the job from Class aptitude test. That is only just for fun.";
- next;
- emotion e_what;
- mes "[Cream Puff]";
- mes "If you want, I will send it to the class that was recommended by the aptitude result.";
- next;
- if(select("Send me now.", "It's okay, I'm still deciding.") == 2) {
- mes "[Cream Puff]";
- mes "Ok, you know what you want I guess.";
- close2;
- cutin "", 255;
+ next();
+ emotion(e_no1);
+ mes("[Cream Puff]");
+ mes("^8014EB"+.@job_name$+"^000000 is a good matching job for you.");
+ next();
+ cutin("choucream_n", 2);
+ mes("[Cream Puff]");
+ mes("Hmm, it says.");
+ next();
+ mes("[Cream Puff]");
+ mes("You do not have to choose the job from Class aptitude test. That is only just for fun.");
+ next();
+ emotion(e_what);
+ mes("[Cream Puff]");
+ mes("If you want, I will send it to the class that was recommended by the aptitude result.");
+ next();
+ if (select("Send me now.", "It's okay, I'm still deciding.") == 2) {
+ mes("[Cream Puff]");
+ mes("Ok, you know what you want I guess.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Cream Puff]";
- mes "Your recommended job is "+.@job_name$+". I will send you to where you can talk to that job professional.";
- close2;
+ mes("[Cream Puff]");
+ mes("Your recommended job is "+.@job_name$+". I will send you to where you can talk to that job professional.");
+ close2();
switch(.@who_job) {
case 1:
- warp "iz_ac02",84,49;
+ warp("iz_ac02",84,49);
break;
case 2:
- warp "iz_ac02",123,109;
+ warp("iz_ac02",123,109);
break;
case 3:
- warp "iz_ac02",84,109;
+ warp("iz_ac02",84,109);
break;
case 4:
- warp "iz_ac02",84,169;
+ warp("iz_ac02",84,169);
break;
case 5:
- warp "iz_ac02",84,139;
+ warp("iz_ac02",84,139);
break;
case 6:
- warp "iz_ac02",122,169;
+ warp("iz_ac02",122,169);
break;
case 7:
- warp "iz_ac02",84,79;
+ warp("iz_ac02",84,79);
break;
case 8:
- warp "iz_ac02",123,79;
+ warp("iz_ac02",123,79);
break;
case 9:
- warp "iz_ac02",123,139;
+ warp("iz_ac02",123,139);
break;
default:
- warp "iz_ac02",123,49;
+ warp("iz_ac02",123,49);
break;
}
- cutin "", 255;
+ cutin("", 255);
end;
}
@@ -7105,17 +7284,17 @@ iz_ac02_d,143,55,3 duplicate(Cream Puff#ac) Cream Puff#ac_d 4_M_KID1
// - Teaches the player about Gunslinger class.
iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
if (!checkweight(Axe, 1)) {
- mes "- Quest can't be continued as your overloaded items. -";
- close;
+ mes("- Quest can't be continued as your overloaded items. -");
+ close();
}
- cutin "aca_gung_01.bmp", 2;
+ cutin("aca_gung_01", 2);
if (Class == Job_Novice) {
if (questprogress(4269) != 2) {
- mes "[Lusa]";
- mes "Oh! I am sorry but in order to take the class, y'all have to register first. Ya come back here after registration at that there counter on the 1st floor, ya hear?";
- close2;
- // ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Oh! I am sorry but in order to take the class, y'all have to register first. Ya come back here after registration at that there counter on the 1st floor, ya hear?");
+ close2();
+ // ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
}
.@has_manual = 0;
@@ -7128,10 +7307,10 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
if (countitem(.@manuals[.@i]))
.@has_manual = 1;
}
- emotion e_awsm;
- mes "[Lusa]";
- mes "Gosh Darnit! You are cuter then a piglet! Are ya trying ta learn to be a ^ff0000Gunslinger^000000?";
- next;
+ emotion(e_awsm);
+ mes("[Lusa]");
+ mes("Gosh Darnit! You are cuter then a piglet! Are ya trying ta learn to be a ^ff0000Gunslinger^000000?");
+ next();
if (.@has_manual == 1) {
.@menu$ = "What is a Gunslinger?:Can I try out the skills?:Becoming a Gunslinger?:How can I try out the skills?:Cancel";
} else {
@@ -7139,298 +7318,298 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
}
switch(select(.@menu$)) {
case 1:
- emotion e_lv;
- mes "[Lusa]";
- mes "You're so cute! A ^ff0000Gunslinger^000000 who has true grit wield his weapons bringing justice in these wild times.";
- next;
- mes "[Lusa]";
+ emotion(e_lv);
+ mes("[Lusa]");
+ mes("You're so cute! A ^ff0000Gunslinger^000000 who has true grit wield his weapons bringing justice in these wild times.");
+ next();
+ mes("[Lusa]");
if (Sex == SEX_MALE)
- mes "Ya, know you remind me of my little brother, that varmint couldn't shoot the broadside of a barn.. at least not until I taught him.";
+ mes("Ya, know you remind me of my little brother, that varmint couldn't shoot the broadside of a barn.. at least not until I taught him.");
else
- mes "Ya, know you remind me of my little sister, that scamp couldn't shoot the broadside of barn.. At least not until I taught her.";
- next;
- mes "[Lusa]";
- mes "Now y'all need to understand, guns aren't some little thing that you just swing at an animal, you don't wiggle those there fingers and shock them to death.";
- next;
- mes "[Lusa]";
- mes "No! You shoot things, which means ya need to aim straight. This takes alot of ^ff0000dexterity^000000 on the part of the gunslinger.";
- next;
- mes "[Lusa]";
- mes "Now before ya go running off shooting dem guns in the air, all high fallootin and dancing around. Ya need to understand that this isn't an easy job!";
- next;
- mes "[Lusa]";
- mes "Bullets cost zeny so you need to be sure that everything you shoot is worth the price! We attack at range so that nasty cur with the pig sticker doesn't rustle your jimmies!";
- next;
- mes "[Lusa]";
- mes "Y'all understand?";
- next;
- while(1) {
+ mes("Ya, know you remind me of my little sister, that scamp couldn't shoot the broadside of barn.. At least not until I taught her.");
+ next();
+ mes("[Lusa]");
+ mes("Now y'all need to understand, guns aren't some little thing that you just swing at an animal, you don't wiggle those there fingers and shock them to death.");
+ next();
+ mes("[Lusa]");
+ mes("No! You shoot things, which means ya need to aim straight. This takes alot of ^ff0000dexterity^000000 on the part of the gunslinger.");
+ next();
+ mes("[Lusa]");
+ mes("Now before ya go running off shooting dem guns in the air, all high fallootin and dancing around. Ya need to understand that this isn't an easy job!");
+ next();
+ mes("[Lusa]");
+ mes("Bullets cost zeny so you need to be sure that everything you shoot is worth the price! We attack at range so that nasty cur with the pig sticker doesn't rustle your jimmies!");
+ next();
+ mes("[Lusa]");
+ mes("Y'all understand?");
+ next();
+ while(true) {
switch(select("Ranged attack?", "Why is ammo expensive?", "Job Change Test?", "Yes~!!")) {
case 1:
- mes "[Lusa]";
- mes "Those low tech barbarians need both Strength and Dexterity in order to fight properly. This isn't true for gunslingers.";
- next;
- mes "[Lusa]";
- mes "Why our dexterity influences both attack power and accuracy! Remember, Talk slowly but think quickly!";
- next;
+ mes("[Lusa]");
+ mes("Those low tech barbarians need both Strength and Dexterity in order to fight properly. This isn't true for gunslingers.");
+ next();
+ mes("[Lusa]");
+ mes("Why our dexterity influences both attack power and accuracy! Remember, Talk slowly but think quickly!");
+ next();
break;
case 2:
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "Do y'all see lots of factories around here? Mines? Alchemical labs? All these things take zeny to run and thats how they fund it!";
- next;
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("Do y'all see lots of factories around here? Mines? Alchemical labs? All these things take zeny to run and thats how they fund it!");
+ next();
break;
case 3:
- mes "[Lusa]";
- mes "Some other jobs may think it is safe enough to hand any yonkle the strength to seriously hurt someone.";
- next;
- mes "[Lusa]";
- mes "But we have to see that you have grit! Remember, fast is good but accurate is better.";
- next;
+ mes("[Lusa]");
+ mes("Some other jobs may think it is safe enough to hand any yonkle the strength to seriously hurt someone.");
+ next();
+ mes("[Lusa]");
+ mes("But we have to see that you have grit! Remember, fast is good but accurate is better.");
+ next();
break;
case 4:
break;
}
- cutin "aca_gung_01.bmp", 2;
+ cutin("aca_gung_01", 2);
break;
}
- mes "[Lusa]";
- mes "Y'all can come back now if you gets any more questions.";
- close2;
- //ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Y'all can come back now if you gets any more questions.");
+ close2();
+ //ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
case 2:
- mes "[Lusa]";
- mes "They tell me Criatura Academy is for the novices not yet decided what job to take.";
- next;
- mes "[Lusa]";
- mes "They hired me, gun and all, to show you how to be a gunslinger!";
- next;
- mes "[Lusa]";
- mes "Would you like me to show you how?";
- next;
- if(select("Yes mam!", "No, thanks.") == 2) {
- mes "[Lusa]";
- mes "Hrmm, you didn't look like you had the grit any how.";
- close2;
- //ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ mes("[Lusa]");
+ mes("They tell me Criatura Academy is for the novices not yet decided what job to take.");
+ next();
+ mes("[Lusa]");
+ mes("They hired me, gun and all, to show you how to be a gunslinger!");
+ next();
+ mes("[Lusa]");
+ mes("Would you like me to show you how?");
+ next();
+ if (select("Yes mam!", "No, thanks.") == 2) {
+ mes("[Lusa]");
+ mes("Hrmm, you didn't look like you had the grit any how.");
+ close2();
+ //ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
}
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@has_manual == 1) {
- mes "Hey! What kind of con is this?! You already had a manual!";
+ mes("Hey! What kind of con is this?! You already had a manual!");
} else {
- getitem Gunslinger_Manual, 1; // Gunslinger_Manual
- mes "Here take this manual, I ain't too good at that there book learnin' but I can answer your questions.";
+ getitem(Gunslinger_Manual, 1); // Gunslinger_Manual
+ mes("Here take this manual, I ain't too good at that there book learnin' but I can answer your questions.");
}
- next;
- mes "[Lusa]";
- mes "If you need the battle training, visit <NAVI>[Subino]<INFO>iz_ac01,59,83</INFO></NAVI>.";
- close2;
- //ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ next();
+ mes("[Lusa]");
+ mes("If you need the battle training, visit <NAVI>[Subino]<INFO>iz_ac01,59,83</INFO></NAVI>.");
+ close2();
+ //ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
case 3:
if (Upper == 2) {
- emotion e_slur;
- mes "[Lusa]";
- mes "Oh, sorry! Children cannot become Gunslingers!";
- next;
- mes "[Lusa]";
- mes "Perhaps you should talk to your parents about other professions.";
- close2;
- // ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ emotion(e_slur);
+ mes("[Lusa]");
+ mes("Oh, sorry! Children cannot become Gunslingers!");
+ next();
+ mes("[Lusa]");
+ mes("Perhaps you should talk to your parents about other professions.");
+ close2();
+ // ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
}
- mes "[Lusa]";
- mes "Are you going to learn to shoot as a gunslinger?";
- next;
+ mes("[Lusa]");
+ mes("Are you going to learn to shoot as a gunslinger?");
+ next();
if (JobLevel < 10) {
- mes "[Lusa]";
- mes "Wooo doggy! You aren't ready for the big city yet!";
- next;
- mes "[Lusa]";
- mes "Get to ^ff0000Job Level: ^0000ff10^000000 and come back here and I will help ya!";
- close2;
- //ConsumeSpecialItem Inspector_Certificate_
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Wooo doggy! You aren't ready for the big city yet!");
+ next();
+ mes("[Lusa]");
+ mes("Get to ^ff0000Job Level: ^0000ff10^000000 and come back here and I will help ya!");
+ close2();
+ //ConsumespecialItem Inspector_Certificate_
+ cutin("", 255);
end;
} else {
- mes "[Lusa]";
- mes "Y'all ready to take the test to become a gunslinger?";
- next;
+ mes("[Lusa]");
+ mes("Y'all ready to take the test to become a gunslinger?");
+ next();
}
- if(select("Wait a moment.", "Send me.") == 1) {
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "When ya are ready, come to me!";
- close2;
- cutin "", 255;
+ if (select("Wait a moment.", "Send me.") == 1) {
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("When ya are ready, come to me!");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Lusa]";
- mes "Okay then, you should find a^ff0000 Mr. Master Miller^000000 and ask him about the test.";
- next;
- mes "[Lusa]";
- mes "Remember, if you find yourself in a hole, the first thing to do is stop digging!";
- close2;
- warp "que_ng", 150, 167;
+ mes("[Lusa]");
+ mes("Okay then, you should find a^ff0000 Mr. Master Miller^000000 and ask him about the test.");
+ next();
+ mes("[Lusa]");
+ mes("Remember, if you find yourself in a hole, the first thing to do is stop digging!");
+ close2();
+ warp("que_ng", 150, 167);
end;
case 4:
- mes "[Lusa]";
- mes "Y'all need help with that book?";
- next;
- while(1) {
+ mes("[Lusa]");
+ mes("Y'all need help with that book?");
+ next();
+ while(true) {
switch(select("How do I use this book?", "I can't find the skill.", "I don't have a gun....", "No more questions now.")) {
case 1:
- mes "[Lusa]";
- mes "Oh.. I think I know what the problem is,";
- next;
- mes "[Lusa]";
- mes "Ta use the guide, first ya need to equip it. ^ff0000 To open the equipment window the Shortcut key is Alt + E.^000000";
- next;
- mes "[Lusa]";
- mes "Sometimes I forget ta do that too! ^ff0000Drag the item from your inventory to the appropriate slot in the equipment window. Alternatively you can double click the item in inventory.^000000";
- next;
+ mes("[Lusa]");
+ mes("Oh.. I think I know what the problem is,");
+ next();
+ mes("[Lusa]");
+ mes("Ta use the guide, first ya need to equip it. ^ff0000 To open the equipment window the Shortcut key is Alt + E.^000000");
+ next();
+ mes("[Lusa]");
+ mes("Sometimes(I forget ta do that too! ^ff0000Drag the item from your inventory to the appropriate slot in the equipment window. Alternatively you can double click the item in inventory.^000000");
+ next();
break;
case 2:
- mes "[Lusa]";
- mes "Y'all need ta learn how to use the skill?";
- next;
- mes "[Lusa]";
- mes "^ff0000To open the skill window use the short cut Alt + S. The skill will be located in the ETC tab.^000000";
- next;
- mes "[Lusa]";
- mes "^ff0000You can then drag the skill to your hot bar for easy use!.^000000";
- next;
- mes "[Lusa]";
- mes "... and thats how I learned that When in doubt, let your peco do the thinkin'.";
- next;
+ mes("[Lusa]");
+ mes("Y'all need ta learn how to use the skill?");
+ next();
+ mes("[Lusa]");
+ mes("^ff0000To open the skill window use the short cut Alt + S. The skill will be located in the ETC tab.^000000");
+ next();
+ mes("[Lusa]");
+ mes("^ff0000You can then drag the skill to your hot bar for easy use!.^000000");
+ next();
+ mes("[Lusa]");
+ mes("... and thats how I learned that When in doubt, let your peco do the thinkin'.");
+ next();
break;
case 3:
- mes "[Lusa]";
- mes "Well, I don't think that you are quite ready to get a shootin iron. So the training book only shows ya skills that don't need guns.";
- next;
+ mes("[Lusa]");
+ mes("Well, I don't think that you are quite ready to get a shootin iron. So the training book only shows ya skills that don't need guns.");
+ next();
break;
case 4:
break;
}
- mes "[Lusa]";
- mes "Do ya have any other questions?";
- next;
+ mes("[Lusa]");
+ mes("Do ya have any other questions?");
+ next();
}
- mes "[Lusa]";
- mes "If ya need more questions you can always come back ta me.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("If ya need more questions you can always come back ta me.");
+ close2();
+ cutin("", 255);
end;
case 5:
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
}
} else if (Class == Job_Gunslinger) {
if (!nov_3_guns && BaseLevel < 21) {
- mes "[Lusa]";
- mes "Oh! Are you just darling, a newly minted gunslinger!";
- next;
- mes "[Lusa]";
- mes "Why your shootin iron looks shinier then a silver zeny! Do ya need anything?";
- next;
- if(select("Can you help me get to Einbroch?", "No, thanks.") == 1) {
- mes "[Lusa]";
- mes "Sure, why not? Make sure to spend some time trainin!";
- next;
- mes "[Lusa]";
- mes "Get over there ya scamp!";
- close2;
- warp "que_ng", 150, 167;
+ mes("[Lusa]");
+ mes("Oh! Are you just darling, a newly minted gunslinger!");
+ next();
+ mes("[Lusa]");
+ mes("Why your shootin iron looks shinier then a silver zeny! Do ya need anything?");
+ next();
+ if (select("Can you help me get to Einbroch?", "No, thanks.") == 1) {
+ mes("[Lusa]");
+ mes("Sure, why not? Make sure to spend some time trainin!");
+ next();
+ mes("[Lusa]");
+ mes("Get over there ya scamp!");
+ close2();
+ warp("que_ng", 150, 167);
end;
}
- mes "[Lusa]";
- mes "Oh, I am glad to hear that you are so strong!";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Oh, I am glad to hear that you are so strong!");
+ close2();
+ cutin("", 255);
end;
} else if (nov_3_guns > 0 && nov_3_guns < 7) {
- mes "[Lusa]";
- mes "Ah, still in basic training eh? You're not carelessly using Butterfly Wings, right?";
- next;
- mes "[Lusa]";
- mes "Are you going to Einbroch to complete basic training?";
- next;
- if(select("Can you help me get to Einbroch?", "No, I have other things to do.") == 1) {
- mes "[Lusa]";
- mes "Sure, why not? Make sure to spend some time trainin!";
- next;
- mes "[Lusa]";
- mes "Get over there ya scamp!";
- close2;
- warp "que_ng", 150, 167;
+ mes("[Lusa]");
+ mes("Ah, still in basic training eh? You're not carelessly using Butterfly Wings, right?");
+ next();
+ mes("[Lusa]");
+ mes("Are you going to Einbroch to complete basic training?");
+ next();
+ if (select("Can you help me get to Einbroch?", "No, I have other things to do.") == 1) {
+ mes("[Lusa]");
+ mes("Sure, why not? Make sure to spend some time trainin!");
+ next();
+ mes("[Lusa]");
+ mes("Get over there ya scamp!");
+ close2();
+ warp("que_ng", 150, 167);
end;
}
- mes "[Lusa]";
- mes "Oh, is that so? If you wish to go to Einbroch but not take the Airship, come speak to me.";
- mes "Because you're still training, I will send you there for free.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Oh, is that so? If you wish to go to Einbroch but not take the Airship, come speak to me.");
+ mes("Because you're still training, I will send you there for free.");
+ close2();
+ cutin("", 255);
end;
} else if (nov_3_guns == 7) {
- emotion e_ok;
- mes "[Lusa]";
- mes "Ah you're back, and now wearing lovely Gunslinger clothing! It suits you well, congratulations!";
- next;
- mes "[Lusa]";
- mes "I just received the news from my brother regarding your achievement of completing basic training.";
- next;
+ emotion(e_ok);
+ mes("[Lusa]");
+ mes("Ah you're back, and now wearing lovely Gunslinger clothing! It suits you well, congratulations!");
+ next();
+ mes("[Lusa]");
+ mes("I just received the news from my brother regarding your achievement of completing basic training.");
+ next();
select("Brother?");
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "Huh? My brother did not tell you? My brother is the one in charge of Basic Training.";
- next;
- mes "[Lusa]";
- mes "Louie and Lusa are very similar names, right?";
- next;
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("Huh? My brother did not tell you? My brother is the one in charge of Basic Training.");
+ next();
+ mes("[Lusa]");
+ mes("Louie and Lusa are very similar names, right?");
+ next();
select("I guess so...");
- cutin "aca_gung_01.bmp", 2;
- mes "[Lusa]";
- mes "Ha ha~ Well, our relationship is not really that important.";
- next;
- mes "[Lusa]";
- mes "I have been assigned to conduct Combat Training for the Gunslinger guild.";
- next;
+ cutin("aca_gung_01", 2);
+ mes("[Lusa]");
+ mes("Ha ha~ Well, our relationship is not really that important.");
+ next();
+ mes("[Lusa]");
+ mes("I have been assigned to conduct Combat Training for the Gunslinger guild.");
+ next();
select("Why you?");
- mes "[Lusa]";
- mes "Gunslingers are very fond of freedom, so the Guild had limited choices to choose from.";
- next;
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "They suddenly called me to do this. Frankly I think it's a bit absurd.";
- next;
- mes "[Lusa]";
- mes "But on the basis of there being no previous Combat Training before, I have agreed to help.";
- next;
- mes "[Lusa]";
- mes "So it was decided that we would use this opporunity to help get rid of some of the monsters near Prontera and Izlude.";
- next;
- mes "[Lusa]";
- mes "It should help the people of those areas that are plagued by the same monsters every day.";
- next;
- mes "[Lusa]";
- mes "In accordance with the principles of guilds, the Combat Training is not mandatory.";
- next;
- mes "[Lusa]";
- mes "Once you complete a task, talk to me again to complete to process.";
- next;
+ mes("[Lusa]");
+ mes("Gunslingers are very fond of freedom, so the Guild had limited choices to choose from.");
+ next();
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("They suddenly called me to do this. Frankly I think it's a bit absurd.");
+ next();
+ mes("[Lusa]");
+ mes("But on the basis of there being no previous Combat Training before, I have agreed to help.");
+ next();
+ mes("[Lusa]");
+ mes("So it was decided that we would use this opporunity to help get rid of some of the monsters near Prontera and Izlude.");
+ next();
+ mes("[Lusa]");
+ mes("It should help the people of those areas that are plagued by the same monsters every day.");
+ next();
+ mes("[Lusa]");
+ mes("In accordance with the principles of guilds, the Combat Training is not mandatory.");
+ next();
+ mes("[Lusa]");
+ mes("Once you complete a task, talk to me again to complete to process.");
+ next();
nov_3_guns = 8;
- erasequest 5148;
- mes "[Lusa]";
- mes "Well that's all! If a task proves to be too difficult you can cancel at any time, so please don't worry.";
- close2;
- cutin "", 255;
+ erasequest(5148);
+ mes("[Lusa]");
+ mes("Well that's all! If a task proves to be too difficult you can cancel at any time, so please don't worry.");
+ close2();
+ cutin("", 255);
end;
} else if (nov_3_guns == 8 && BaseLevel < 21) {
.@gun_quest_01 = questprogress(5149, HUNTING);
@@ -7439,121 +7618,121 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
.@gun_quest_04 = questprogress(5152, HUNTING);
if (!.@gun_quest_01 && !.@gun_quest_02 && !.@gun_quest_03 && !.@gun_quest_04) {
- mes "[Lusa]";
- mes "Haven't started your basic combat training yet have you? What do you want to know about training?";
- next;
+ mes("[Lusa]");
+ mes("Haven't started your basic combat training yet have you? What do you want to know about training?");
+ next();
switch(select("How long can I train for?", "Where do I receive tasks for training?", "Why do combat training?", "Cancel")) {
case 1:
- mes "[Lusa]";
- mes "Basic combat training can be performed until Base Level 20.";
- next;
- mes "[Lusa]";
- mes "You must've thought that the training would be pretty low because this is still the beginning.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Basic combat training can be performed until Base Level 20.");
+ next();
+ mes("[Lusa]");
+ mes("You must've thought that the training would be pretty low because this is still the beginning.");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Lusa]";
- mes "Sorry! Did I not mention this?";
- next;
- mes "[Lusa]";
- mes "You can choose any task you wish from the requests on my desk near the entrance.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Sorry! Did I not mention this?");
+ next();
+ mes("[Lusa]");
+ mes("You can choose any task you wish from the requests on my desk near the entrance.");
+ close2();
+ cutin("", 255);
end;
case 3:
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "Right, ah, why? Well, The Gunslinger guild didn't have any combat training in the beginning.";
- next;
- mes "[Lusa]";
- mes "So they suddenly asked me to perform combat training for new recruits.";
- next;
- mes "[Lusa]";
- mes "This training is not mandatory if you do not want to do it.";
- close2;
- cutin "", 255;
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("Right, ah, why? Well, The Gunslinger guild didn't have any combat training in the beginning.");
+ next();
+ mes("[Lusa]");
+ mes("So they suddenly asked me to perform combat training for new recruits.");
+ next();
+ mes("[Lusa]");
+ mes("This training is not mandatory if you do not want to do it.");
+ close2();
+ cutin("", 255);
end;
case 4:
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
}
}
.@gun_tok = 0;
if (.@gun_quest_01 == 2 || .@gun_quest_02 == 2 || .@gun_quest_03 == 2 || .@gun_quest_04 == 2) {
if (.@gun_quest_01 == 2) {
- mes "[Lusa]";
- mes "You finished <Assignment A>?";
- next;
- mes "[Lusa]";
- mes "Wow! You did perfectly! I have confirmed the 10 Hornets. Kids will be happy.";
- next;
- erasequest 5149;
- getexp 700, 450;
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- mes "After looking over the report, you receive experience and a Kafra Storage Coupon.";
- next;
+ mes("[Lusa]");
+ mes("You finished <Assignment A>?");
+ next();
+ mes("[Lusa]");
+ mes("Wow! You did perfectly! I have confirmed the 10 Hornets. Kids will be happy.");
+ next();
+ erasequest(5149);
+ getexp(700, 450);
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ mes("After looking over the report, you receive experience and a Kafra Storage Coupon.");
+ next();
.@gun_tok = 1;
}
if (.@gun_quest_02 == 2) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You finished <Assignment B>?";
+ mes("You finished <Assignment B>?");
else
- mes "You finished <Assignment B> too?";
- next;
- mes "[Lusa]";
- mes "Wow! You did perfect! I have confirmed the 10 Roda Frogs. Tonight I should get a good sleep.";
- next;
- erasequest 5150;
- getexp 950, 590;
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- mes "After looking over the report, you receive experience and a Kafra Storage Coupon.";
- next;
+ mes("You finished <Assignment B> too?");
+ next();
+ mes("[Lusa]");
+ mes("Wow! You did perfect! I have confirmed the 10 Roda Frogs. Tonight I should get a good sleep.");
+ next();
+ erasequest(5150);
+ getexp(950, 590);
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ mes("After looking over the report, you receive experience and a Kafra Storage Coupon.");
+ next();
.@gun_tok = 1;
}
if (.@gun_quest_03 == 2) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You finished <Assignment C>?";
+ mes("You finished <Assignment C>?");
else
- mes "You finished <Assignment C> too?";
- next;
- mes "[Lusa]";
- mes "Wow! You did perfect! I have confirm the 10 Savage Babes. Students who want to develop specialist pets must be very happy.";
- next;
- erasequest 5151;
- getexp 850, 540;
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- mes "After looking over the report, you receive experience and a Kafra Storage Coupon.";
- next;
+ mes("You finished <Assignment C> too?");
+ next();
+ mes("[Lusa]");
+ mes("Wow! You did perfect! I have confirm the 10 Savage Babes. Students who want to develop specialist pets must be very happy.");
+ next();
+ erasequest(5151);
+ getexp(850, 540);
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ mes("After looking over the report, you receive experience and a Kafra Storage Coupon.");
+ next();
.@gun_tok = 1;
}
if (.@gun_quest_04 == 2) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You finished <Assignment D>?";
+ mes("You finished <Assignment D>?");
else
- mes "You finished <Assignment D> too?";
- next;
- mes "[Lusa]";
- mes "Wow! You did perfect! I have confirmed the 10 Rockers. Were they hard to catch?";
- next;
- erasequest 5152;
- getexp 690, 470;
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- mes "After looking over the report, you receive experience and a Kafra Storage Coupon.";
- next;
+ mes("You finished <Assignment D> too?");
+ next();
+ mes("[Lusa]");
+ mes("Wow! You did perfect! I have confirmed the 10 Rockers. Were they hard to catch?");
+ next();
+ erasequest(5152);
+ getexp(690, 470);
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ mes("After looking over the report, you receive experience and a Kafra Storage Coupon.");
+ next();
}
- mes "[Lusa]";
- mes "I have finished processing your completed tasks. Would you like to cancel any existing tasks?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Lusa]";
- mes "Okay, good luck continuing your training!";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("I have finished processing your completed tasks. Would you like to cancel any existing tasks?");
+ next();
+ if (select("Yes", "No") == 2) {
+ mes("[Lusa]");
+ mes("Okay, good luck continuing your training!");
+ close2();
+ cutin("", 255);
end;
}
.@gun_quest_01 = questprogress(5149, HUNTING);
@@ -7561,120 +7740,120 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
.@gun_quest_03 = questprogress(5151, HUNTING);
.@gun_quest_04 = questprogress(5152, HUNTING);
if (!.@gun_quest_01 || !.@gun_quest_02 || !.@gun_quest_03 || !.@gun_quest_04) {
- mes "[Lusa]";
- mes "Huh? You do not have any assignments to cancel. Are you sure you have them?";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Huh? You do not have any assignments to cancel. Are you sure you have them?");
+ close2();
+ cutin("", 255);
end;
}
}
if (.@gun_quest_01 == 1 || .@gun_quest_02 == 1 || .@gun_quest_03 == 1 || .@gun_quest_04 == 1) {
- mes "[Lusa]";
- mes "You still have some assignments, are they too difficult? Do you want to cancel them?";
- next;
- if(select("Cancel Assignment", "Nevermind") == 2) {
- mes "[Lusa]";
- mes "Well then, continue to impress!";
- close;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("You still have some assignments, are they too difficult? Do you want to cancel them?");
+ next();
+ if (select("Cancel Assignment", "Nevermind") == 2) {
+ mes("[Lusa]");
+ mes("Well then, continue to impress!");
+ close();
+ cutin("", 255);
end;
}
.@gun_tok = 0;
if (.@gun_quest_01 == 1) {
- mes "[Lusa]";
- mes "You are currently doing <Assignment A>.";
- next;
- mes "[Lusa]";
- mes "Hornets are not easy to deal with, huh? Do you want to cancel the assignment?";
- next;
- mes "[Lusa]";
- mes "If you do cancel the assignment, you will be unable to receive the reward you know?";
- next;
- if(select("Cancel Assignment", "Nevermind") == 1) {
- erasequest 5149;
- mes "[Lusa]";
- mes "Oh... Hornets are too tough?";
- next;
- mes "[Lusa]";
- mes "I have cancelled <Assignment A>. Now you don't have to worry about it.";
- next;
+ mes("[Lusa]");
+ mes("You are currently doing <Assignment A>.");
+ next();
+ mes("[Lusa]");
+ mes("Hornets are not easy to deal with, huh? Do you want to cancel the assignment?");
+ next();
+ mes("[Lusa]");
+ mes("If you do cancel the assignment, you will be unable to receive the reward you know?");
+ next();
+ if (select("Cancel Assignment", "Nevermind") == 1) {
+ erasequest(5149);
+ mes("[Lusa]");
+ mes("Oh... Hornets are too tough?");
+ next();
+ mes("[Lusa]");
+ mes("I have cancelled <Assignment A>. Now you don't have to worry about it.");
+ next();
}
.@gun_tok = 1;
}
if (.@gun_quest_02 == 1) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You are currently doing <Assignment B>.";
+ mes("You are currently doing <Assignment B>.");
else
- mes "You are also currently doing <Assignment B>.";
- next;
- mes "[Lusa]";
- mes "Roda Frogs are not easy to deal with, huh? Do you want to cancel the assignment?";
- next;
- mes "[Lusa]";
- mes "If you do cancel the assignment, you will be unable to receive the reward you know?";
- next;
- if(select("Cancel Assignment", "Nevermind") == 1) {
- erasequest 5150;
- mes "[Lusa]";
- mes "Oh... Roda Frogs are too tough?";
- next;
- mes "[Lusa]";
- mes "I have cancelled <Assignment B>. Now you don't have to worry about it.";
- next;
+ mes("You are also currently doing <Assignment B>.");
+ next();
+ mes("[Lusa]");
+ mes("Roda Frogs are not easy to deal with, huh? Do you want to cancel the assignment?");
+ next();
+ mes("[Lusa]");
+ mes("If you do cancel the assignment, you will be unable to receive the reward you know?");
+ next();
+ if (select("Cancel Assignment", "Nevermind") == 1) {
+ erasequest(5150);
+ mes("[Lusa]");
+ mes("Oh... Roda Frogs are too tough?");
+ next();
+ mes("[Lusa]");
+ mes("I have cancelled <Assignment B>. Now you don't have to worry about it.");
+ next();
}
.@gun_tok = 1;
}
if (.@gun_quest_03 == 1) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You are currently doing <Assignment C>.";
+ mes("You are currently doing <Assignment C>.");
else
- mes "You are also currently doing <Assignment C>.";
- next;
- mes "[Lusa]";
- mes "Savage Babe are not easy to deal with, huh? Do you want to cancel the assignment?";
- next;
- mes "[Lusa]";
- mes "If you do cancel the assignment, you will be unable to receive the reward you know?";
- next;
- if(select("Cancel Assignment", "Nevermind") == 1) {
- erasequest 5151;
- mes "[Lusa]";
- mes "Oh... Savage Babe are too tough?";
- next;
- mes "[Lusa]";
- mes "I have cancelled <Assignment C>. Now you don't have to worry about it.";
- next;
+ mes("You are also currently doing <Assignment C>.");
+ next();
+ mes("[Lusa]");
+ mes("Savage Babe are not easy to deal with, huh? Do you want to cancel the assignment?");
+ next();
+ mes("[Lusa]");
+ mes("If you do cancel the assignment, you will be unable to receive the reward you know?");
+ next();
+ if (select("Cancel Assignment", "Nevermind") == 1) {
+ erasequest(5151);
+ mes("[Lusa]");
+ mes("Oh... Savage Babe are too tough?");
+ next();
+ mes("[Lusa]");
+ mes("I have cancelled <Assignment C>. Now you don't have to worry about it.");
+ next();
}
.@gun_tok = 1;
}
if (.@gun_quest_04 == 1) {
- mes "[Lusa]";
+ mes("[Lusa]");
if (.@gun_tok == 0)
- mes "You are currently doing <Assignment D>.";
+ mes("You are currently doing <Assignment D>.");
else
- mes "You are also currently doing <Assignment D>.";
- mes "[Lusa]";
- mes "Rockers are not easy to deal with, huh? Do you want to cancel the assignment?";
- next;
- mes "[Lusa]";
- mes "If you do cancel the assignment, you will be unable to receive the reward you know?";
- next;
- if(select("Cancel Assignment", "Nevermind") == 1) {
- erasequest 5152;
- mes "[Lusa]";
- mes "Oh... Rockers are too tough?";
- next;
- mes "[Lusa]";
- mes "I have cancelled <Assignment D>. Now you don't have to worry about it.";
- next;
+ mes("You are also currently doing <Assignment D>.");
+ mes("[Lusa]");
+ mes("Rockers are not easy to deal with, huh? Do you want to cancel the assignment?");
+ next();
+ mes("[Lusa]");
+ mes("If you do cancel the assignment, you will be unable to receive the reward you know?");
+ next();
+ if (select("Cancel Assignment", "Nevermind") == 1) {
+ erasequest(5152);
+ mes("[Lusa]");
+ mes("Oh... Rockers are too tough?");
+ next();
+ mes("[Lusa]");
+ mes("I have cancelled <Assignment D>. Now you don't have to worry about it.");
+ next();
}
}
- mes "[Lusa]";
- mes "I have cancelled all the assignments you wished to cancel. If you have a hard time with any others, please come see me.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("I have cancelled all the assignments you wished to cancel. If you have a hard time with any others, please come see me.");
+ close2();
+ cutin("", 255);
end;
}
} else if (nov_3_guns == 8 && BaseLevel > 20) {
@@ -7683,166 +7862,166 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
.@gun_quest_03 = questprogress(5151, HUNTING);
.@gun_quest_04 = questprogress(5152, HUNTING);
.@gun_quest_all = .@gun_quest_01 + .@gun_quest_02 + .@gun_quest_03 + .@gun_quest_04;
- mes "[Lusa]";
- mes "Times flies, your basic training is coming to an end!";
- next;
- mes "[Lusa]";
- mes "You have worked hard during this period! You have become a good marksman.";
- next;
+ mes("[Lusa]");
+ mes("Times(flies, your basic training is coming to an end!");
+ next();
+ mes("[Lusa]");
+ mes("You have worked hard during this period! You have become a good marksman.");
+ next();
if (.@gun_quest_all > 0) {
- mes "[Lusa]";
- mes "However, you have still not completed your tasks.";
- next;
- mes "[Lusa]";
- mes "You cannot receive any rewards if you do not complete the tasks assigned to you.";
- next;
- if(select("What?! I'll go complete them!", "I'm done with training!") == 1) {
- mes "[Lusa]";
- mes "Take care!";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("However, you have still not completed your tasks.");
+ next();
+ mes("[Lusa]");
+ mes("You cannot receive any rewards if you do not complete the tasks assigned to you.");
+ next();
+ if (select("What?! I'll go complete them!", "I'm done with training!") == 1) {
+ mes("[Lusa]");
+ mes("Take care!");
+ close2();
+ cutin("", 255);
end;
}
if (.@gun_quest_01 == 2)
- getexp 700, 450;
+ getexp(700, 450);
if (.@gun_quest_02 == 2)
- getexp 950, 590;
+ getexp(950, 590);
if (.@gun_quest_03 == 2)
- getexp 850, 540;
+ getexp(850, 540);
if (.@gun_quest_04 == 2)
- getexp 690, 470;
+ getexp(690, 470);
if (questprogress(5149))
- erasequest 5149;
+ erasequest(5149);
if (questprogress(5150))
- erasequest 5150;
+ erasequest(5150);
if (questprogress(5151))
- erasequest 5151;
+ erasequest(5151);
if (questprogress(5152))
- erasequest 5152;
+ erasequest(5152);
if (.@gun_quest_01 == 2 || .@gun_quest_02 == 2 || .@gun_quest_03 == 2 || .@gun_quest_04 == 2) {
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- mes "After looking over the report, you receive experience and a Kafra Storage Coupon.";
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ mes("After looking over the report, you receive experience and a Kafra Storage Coupon.");
}
- next;
+ next();
}
nov_3_guns = 9;
- mes "[Lusa]";
- mes "Your Gunslinger basic training is now over.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Your Gunslinger basic training is now over.");
+ close2();
+ cutin("", 255);
end;
} else if (nov_3_guns == 9) {
- mes "[Lusa]";
- mes "Oh my god! It's you again!";
- next;
+ mes("[Lusa]");
+ mes("Oh my god! It's you again!");
+ next();
select("How are you?");
- mes "[Lusa]";
- mes "Same old, same old. Every day teaching newbies about Gunslingers. But I love it.";
- next;
- mes "[Lusa]";
- mes "Oh yeah! My brother said he hasn't seen you for a long time. Be sure to take some time to visit him.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Same old, same old. Every day teaching newbies about Gunslingers. But I love it.");
+ next();
+ mes("[Lusa]");
+ mes("Oh yeah! My brother said he hasn't seen you for a long time. Be sure to take some time to visit him.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lusa]";
- mes "Howdy! It's nice to see you again.";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Howdy! It's nice to see you again.");
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Lusa]";
- mes "Howdy!";
- mes "Huh! You seem to have transferred into a different class, why have you come here?";
- next;
- if(select("To become a Gunslinger", "Leave") == 2) {
- cutin "aca_gung_02.bmp", 2;
- mes "[Lusa]";
- mes "Huh? Huh? Where are you going?";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Howdy!");
+ mes("Huh! You seem to have transferred into a different class, why have you come here?");
+ next();
+ if (select("To become a Gunslinger", "Leave") == 2) {
+ cutin("aca_gung_02", 2);
+ mes("[Lusa]");
+ mes("Huh? Huh? Where are you going?");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Lusa]";
- mes "You cannot have more than one job. But you seem really serious to learn.";
- next;
- mes "[Lusa]";
- mes "Since this is my job, and because it's no trouble, I will give you a simple explaination!";
- next;
- mes "[Lusa]";
- mes "Gunslingers is a class with long-range attacks. However, unlike arrows, bullets are expensive. This tends to give beginners some reason for concern.";
- next;
- mes "[Lusa]";
- mes "Is that enough?";
- next;
+ mes("[Lusa]");
+ mes("You cannot have more than one job. But you seem really serious to learn.");
+ next();
+ mes("[Lusa]");
+ mes("Since this is my job, and because it's no trouble, I will give you a simple explaination!");
+ next();
+ mes("[Lusa]");
+ mes("Gunslingers is a class with long-range attacks. However, unlike arrows, bullets are expensive. This tends to give beginners some reason for concern.");
+ next();
+ mes("[Lusa]");
+ mes("Is that enough?");
+ next();
select("Isn't that a little too simple?");
- mes "[Lusa]";
- mes "Huh, is it? What else do you want to know?";
- next;
- while(1) {
+ mes("[Lusa]");
+ mes("Huh, is it? What else do you want to know?");
+ next();
+ while(true) {
switch(select("Stats", "Skills", "Weapons", "Nevermind.")) {
case 1:
- mes "[Lusa]";
- mes "Gunslingers is a long-range attack class, so hand agility (DEX) will be very important.";
- next;
- mes "[Lusa]";
- mes "If you want to increase your attack power, then you must strengthen your hands.";
- next;
+ mes("[Lusa]");
+ mes("Gunslingers is a long-range attack class, so hand agility (DEX) will be very important.");
+ next();
+ mes("[Lusa]");
+ mes("If you want to increase your attack power, then you must strengthen your hands.");
+ next();
break;
case 2:
- mes "[Lusa]";
- mes "Gunslinger skills are not like other classes. Each weapon type has skills that can be specifically used with them.";
- next;
- mes "[Lusa]";
- mes "Like with other classes, there is no standard toward which skills you should learn.";
- next;
+ mes("[Lusa]");
+ mes("Gunslinger skills are not like other classes. Each weapon type has skills that can be specifically used with them.");
+ next();
+ mes("[Lusa]");
+ mes("Like with other classes, there is no standard toward which skills you should learn.");
+ next();
break;
case 3:
- mes "[Lusa]";
- mes "Gunslingers have five different kinds of guns.";
- next;
- mes "[Lusa]";
- mes "Revolvers have low hit rates, but the attack speed is fast.";
- next;
- mes "[Lusa]";
- mes "Rifles are average in their performance, and is typically the weapon of choice for new Gunslingers.";
- next;
- mes "[Lusa]";
- mes "Shotguns have strong attack power, but pretty low attack speeds.";
- next;
- mes "[Lusa]";
- mes "Gatling guns have quite a fast attack speed, but the attack power is low.";
- next;
- mes "[Lusa]";
- mes "Gernade Launchers can be used for strong ground attacks, but the bullets will be consumed quickly.";
- next;
+ mes("[Lusa]");
+ mes("Gunslingers have five different kinds of guns.");
+ next();
+ mes("[Lusa]");
+ mes("Revolvers have low hit rates, but the attack speed is fast.");
+ next();
+ mes("[Lusa]");
+ mes("Rifles are average in their performance, and is typically the weapon of choice for new Gunslingers.");
+ next();
+ mes("[Lusa]");
+ mes("Shotguns have strong attack power, but pretty low attack speeds.");
+ next();
+ mes("[Lusa]");
+ mes("Gatling guns have quite a fast attack speed, but the attack power is low.");
+ next();
+ mes("[Lusa]");
+ mes("Gernade Launchers can be used for strong ground attacks, but the bullets will be consumed quickly.");
+ next();
break;
case 4:
- mes "[Lusa]";
- mes "Phew~ I hope I answered all your questions. This is the first time I've seen someone want to study other classes.";
- next;
- mes "[Lusa]";
- mes "Take care!";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Phew~ I hope I answered all your questions. This is the first time I've seen someone want to study other classes.");
+ next();
+ mes("[Lusa]");
+ mes("Take care!");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Lusa]";
- mes "Do you have any other questions?";
- next;
- }
- mes "[Lusa]";
- mes "Phew~ I hope I answered all your questions. This is the first time I've seen someone want to study other classes.";
- next;
- mes "[Lusa]";
- mes "Take care!";
- close2;
- cutin "", 255;
+ mes("[Lusa]");
+ mes("Do you have any other questions?");
+ next();
+ }
+ mes("[Lusa]");
+ mes("Phew~ I hope I answered all your questions. This is the first time I've seen someone want to study other classes.");
+ next();
+ mes("[Lusa]");
+ mes("Take care!");
+ close2();
+ cutin("", 255);
end;
}
- cutin "", 255;
+ cutin("", 255);
end;
}
@@ -7854,15 +8033,15 @@ iz_ac02_d,142,85,6 duplicate(Lusa#ac) Lusa#ac_d 4_F_GUNSLINGER
//- Lusa's desk -
iz_ac02,131,82,4 script Lusa's Desk#ac CLEAR_NPC,{
if (nov_3_guns == 8) {
- mes "[Lusa's Desk]";
- mes "There are lots of files on the desk, they seem to be tasks from Prontera and Izlude residents.";
- next;
+ mes("[Lusa's Desk]");
+ mes("There are lots of files on the desk, they seem to be tasks from Prontera and Izlude residents.");
+ next();
} else {
- mes "[Lusa's Desk]";
- mes "There is a stack of papers on the desk.";
- close;
+ mes("[Lusa's Desk]");
+ mes("There is a stack of papers on the desk.");
+ close();
}
- while(1) {
+ while(true) {
.@gun_quest_01 = questprogress(5149, HUNTING);
.@gun_quest_02 = questprogress(5150, HUNTING);
.@gun_quest_03 = questprogress(5151, HUNTING);
@@ -7907,94 +8086,94 @@ iz_ac02,131,82,4 script Lusa's Desk#ac CLEAR_NPC,{
switch(select("Assignment A ("+.@gque_01$+")", "Assignment B ("+.@gque_02$+")", "Assignment C ("+.@gque_03$+")", "Assignment D ("+.@gque_04$+")", "Cancel")) {
case 1:
if (!.@gun_quest_01) {
- mes "This is the <Assignment A> information.";
- mes "Client: Children";
- mes "On the outskirts of the village is a very bad Hornet, because of this, the children cannot play outside. Please get rid of 10 Hornets.";
- next;
- if(select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
- setquest 5149;
- mes "You have received ^A2563E<Assignment A>^000000 details. Please press ALT + U to check them.";
- next;
+ mes("This is the <Assignment A> information.");
+ mes("Client: Children");
+ mes("On the outskirts of the village is a very bad Hornet, because of this, the children cannot play outside. Please get rid of 10 Hornets.");
+ next();
+ if (select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
+ setquest(5149);
+ mes("You have received ^A2563E<Assignment A>^000000 details. Please press ALT + U to check them.");
+ next();
}
} else if (.@gun_quest_01 == 1) {
- mes "["+strcharinfo(0)+"]";
- mes "I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.");
+ next();
} else if (.@gun_quest_01 == 2) {
- mes "["+strcharinfo(0)+"]";
- mes "I have already completed this assignment. I should talk to Lusa for my reward.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I have already completed this assignment. I should talk to Lusa for my reward.");
+ next();
}
break;
case 2:
if (!.@gun_quest_02) {
- mes "This is the <Assignment B> information.";
- mes "Client: Resident H";
- mes "Recently, Roda Frogs have been keeping me awake at night. Get rid of 10 Roda Frogs so I can get a good nights rest.";
- next;
- if(select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
- setquest 5150;
- mes "You have received ^A2563E<Assignment B>^000000 details. Please press ALT + U to check them.";
- next;
+ mes("This is the <Assignment B> information.");
+ mes("Client: Resident H");
+ mes("Recently, Roda Frogs have been keeping me awake at night. Get rid of 10 Roda Frogs so I can get a good nights rest.");
+ next();
+ if (select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
+ setquest(5150);
+ mes("You have received ^A2563E<Assignment B>^000000 details. Please press ALT + U to check them.");
+ next();
}
} else if (.@gun_quest_02 == 1) {
- mes "["+strcharinfo(0)+"]";
- mes "I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.");
+ next();
} else if (.@gun_quest_02 == 2) {
- mes "["+strcharinfo(0)+"]";
- mes "I have already completed this assignment. I should talk to Lusa for my reward.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I have already completed this assignment. I should talk to Lusa for my reward.");
+ next();
}
break;
case 3:
if (!.@gun_quest_03) {
- mes "This is the <Assignment C> information.";
- mes "Client: Cute Pet Research Student";
- mes "I want a cute pet of my own to walk around with. Can you help me catch 10 Savage Babes?";
- next;
- if(select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
- setquest 5151;
- mes "You have received ^A2563E<Assignment C>^000000 details. Please press ALT + U to check them.";
- next;
+ mes("This is the <Assignment C> information.");
+ mes("Client: Cute Pet Research Student");
+ mes("I want a cute pet of my own to walk around with. Can you help me catch 10 Savage Babes?");
+ next();
+ if (select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
+ setquest(5151);
+ mes("You have received ^A2563E<Assignment C>^000000 details. Please press ALT + U to check them.");
+ next();
}
} else if (.@gun_quest_03 == 1) {
- mes "["+strcharinfo(0)+"]";
- mes "I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.");
+ next();
} else if (.@gun_quest_03 == 2) {
- mes "["+strcharinfo(0)+"]";
- mes "I have already completed this assignment. I should talk to Lusa for my reward.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I have already completed this assignment. I should talk to Lusa for my reward.");
+ next();
}
break;
case 4:
if (!.@gun_quest_04) {
- mes "This is the <Assignment D> information.";
- mes "Client: Volunteer Bards";
- mes "I heard some Rockers were having a singing contest, but I got lost, can you help me catch 10 Rockers? One day Rockers will disappear from the world!";
- next;
- if(select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
- setquest 5152;
- mes "You have received ^A2563E<Assignment D>^000000 details. Please press ALT + U to check them.";
- next;
+ mes("This is the <Assignment D> information.");
+ mes("Client: Volunteer Bards");
+ mes("I heard some Rockers were having a singing contest, but I got lost, can you help me catch 10 Rockers? One day Rockers will disappear from the world!");
+ next();
+ if (select("Take Assignment", "Look at Other Assignments", "Cancel") == 1) {
+ setquest(5152);
+ mes("You have received ^A2563E<Assignment D>^000000 details. Please press ALT + U to check them.");
+ next();
}
} else if (.@gun_quest_04 == 1) {
- mes "["+strcharinfo(0)+"]";
- mes "I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am already doing this task currently. Lusa said if I ever wanted to abondon the assignment that I should talk to her.");
+ next();
} else if (.@gun_quest_04 == 2) {
- mes "["+strcharinfo(0)+"]";
- mes "I have already completed this assignment. I should talk to Lusa for my reward.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I have already completed this assignment. I should talk to Lusa for my reward.");
+ next();
}
break;
case 5:
break;
}
- mes "[Lusa's desk]";
- mes "There are lots of files on the desk, they seem to be tasks from Prontera and Izlude residents.";
- next;
+ mes("[Lusa's desk]");
+ mes("There are lots of files on the desk, they seem to be tasks from Prontera and Izlude residents.");
+ next();
}
}
@@ -8006,162 +8185,162 @@ iz_ac02_d,131,82,4 duplicate(Lusa's Desk#ac) Lusa's Desk#ac_d CLEAR_NPC
//- Staff sent by guild -
iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
if (!checkweight(Axe, 1)) {
- mes "- You are carrying too many items. -";
- close;
+ mes("- You are carrying too many items. -");
+ close();
}
if (nov_3_guns < 8) {
- mes "[Sharp Snake's Fang]";
- mes "Yesssssss? I wass sssent by the academy.";
- close;
+ mes("[Sharp Snake's Fang]");
+ mes("Yesssssss? I wass sssent by the academy.");
+ close();
} else if (nov_3_guns > 7) {
- disable_items;
- }
- mes "[Sharp Snake's Fang]";
- mes "I am ^A2563ESharp Snake's Fang^000000 from the Gunslinger Guild. What do you need?";
- next;
- if(select("Exchange Guns", "Just Saying Hello") == 2) {
- mes "[Sharp Snake's Fang]";
- mes "You seem to be that guy our brother mentioned.";
- next;
- mes "[Sharp Snake's Fang]";
- mes "You don't need to worry, he said you're doing great!";
- close2;
+ disable_items();
+ }
+ mes("[Sharp Snake's Fang]");
+ mes("I am ^A2563ESharp Snake's Fang^000000 from the Gunslinger Guild. What do you need?");
+ next();
+ if (select("Exchange Guns", "Just Saying Hello") == 2) {
+ mes("[Sharp Snake's Fang]");
+ mes("You seem to be that guy our brother mentioned.");
+ next();
+ mes("[Sharp Snake's Fang]");
+ mes("You don't need to worry, he said you're doing great!");
+ close2();
enable_items;;
end;
}
- mes "[Sharp Snake's Fang]";
- mes "Do you wish to exchange your guild issued weapon?";
- next;
- mes "[Sharp Snake's Fang]";
- mes "Let's first check your gun's condition.";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("Do you wish to exchange your guild issued weapon?");
+ next();
+ mes("[Sharp Snake's Fang]");
+ mes("Let's first check your gun's condition.");
+ next();
if (getequipname(EQI_HAND_R) == "") {
- mes "[Sharp Snake's Fang]";
- mes "If you want to proceed, you need to have your weapon equipped.";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("If you want to proceed, you need to have your weapon equipped.");
+ close2();
enable_items;
end;
} else {
.@gun = getequipid(EQI_HAND_R);
}
- mes "[Sharp Snake's Fang]";
- mes "Let's see...";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("Let's see...");
+ next();
if (.@gun == Novice_Revolver) {
.@gun_code$ = "RV";
.@now_gun$ = "Revolver";
- mes "[Sharp Snake's Fang]";
- mes "You want to exchange your Guild issued Revolver?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("You want to exchange your Guild issued Revolver?");
+ next();
} else if (.@gun == Novice_Rifle) {
.@gun_code$ = "RF";
.@now_gun$ = "Rifle";
- mes "[Sharp Snake's Fang]";
- mes "You want to exchange your Guild issued Rifle?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("You want to exchange your Guild issued Rifle?");
+ next();
} else if (.@gun == Novice_Shotgun) {
.@gun_code$ = "SG";
.@now_gun$ = "Shotgun";
- mes "[Sharp Snake's Fang]";
- mes "You want to exchange your Guild issued Shotgun?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("You want to exchange your Guild issued Shotgun?");
+ next();
} else if (.@gun == Novice_Gatling) {
.@gun_code$ = "GT";
.@now_gun$ = "Gatling";
- mes "[Sharp Snake's Fang]";
- mes "You want to exchange your Guild issued Gatling Gun?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("You want to exchange your Guild issued Gatling Gun?");
+ next();
} else if (.@gun == Novice_Grenade_Launcher) {
.@gun_code$ = "GL";
.@now_gun$ = "Grenade Launcher";
- mes "[Sharp Snake's Fang]";
- mes "You want to exchange your Guild issued Grenade Launcher?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("You want to exchange your Guild issued Grenade Launcher?");
+ next();
} else {
- mes "[Sharp Snake's Fang]";
- mes "The gun you are using is was not provided by the guild.";
- close;
- }
- mes "[Sharp Snake's Fang]";
- mes "The gun looks to be in good condition.";
- next;
- mes "[Sharp Snake's Fang]";
- mes "Please select the novice weapon you wish to exchange for your "+.@now_gun$+"!";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("The gun you are using is was not provided by the guild.");
+ close();
+ }
+ mes("[Sharp Snake's Fang]");
+ mes("The gun looks to be in good condition.");
+ next();
+ mes("[Sharp Snake's Fang]");
+ mes("Please select the novice weapon you wish to exchange for your "+.@now_gun$+"!");
+ next();
switch(select("Exchange for Revolver", "Exchange for Rifle", "Exchange for Shotgun", "Exchange for Gatling Gun", "Exchange for Grenade Launcher", "Cancel")) {
case 1:
if (.@gun == 13116) {
- mes "[Sharp Snake's Fang]";
- mes "You already have that gun, just use it!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("You already have that gun, just use it!");
+ close2();
enable_items;
end;
} else {
delequip EQI_HAND_R;
- getitem Novice_Revolver, 1; // Novice_Revolver
+ getitem(Novice_Revolver, 1); // Novice_Revolver
}
break;
case 2:
if (.@gun == 13180) {
- mes "[Sharp Snake's Fang]";
- mes "You already have that gun, just use it!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("You already have that gun, just use it!");
+ close2();
enable_items;
end;
} else {
delequip EQI_HAND_R;
- getitem Novice_Rifle, 1; // Novice_Rifle
+ getitem(Novice_Rifle, 1); // Novice_Rifle
}
break;
case 3:
if (.@gun == 13181) {
- mes "[Sharp Snake's Fang]";
- mes "You already have that gun, just use it!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("You already have that gun, just use it!");
+ close2();
enable_items;
end;
} else {
delequip EQI_HAND_R;
- getitem Novice_Shotgun, 1; // Novice_Shotgun
+ getitem(Novice_Shotgun, 1); // Novice_Shotgun
}
break;
case 4:
if (.@gun == 13182) {
- mes "[Sharp Snake's Fang]";
- mes "You already have that gun, just use it!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("You already have that gun, just use it!");
+ close2();
enable_items;
end;
} else {
delequip EQI_HAND_R;
- getitem Novice_Gatling, 1; // Novice_Gatling
+ getitem(Novice_Gatling, 1); // Novice_Gatling
}
break;
case 5:
if (.@gun == 13183) {
- mes "[Sharp Snake's Fang]";
- mes "You already have that gun, just use it!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("You already have that gun, just use it!");
+ close2();
enable_items;
end;
} else {
delequip EQI_HAND_R;
- getitem Novice_Grenade_Launcher, 1; // Novice_Grenade_Launcher
+ getitem(Novice_Grenade_Launcher, 1); // Novice_Grenade_Launcher
}
break;
case 6:
break;
}
- mes "[Sharp Snake's Fang]";
- mes "Gun control management number ^FF0000"+.@gun_code$+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+"^000000.";
- next;
- mes "[Sharp Snake's Fang]";
- mes "Are there any issues?";
- next;
+ mes("[Sharp Snake's Fang]");
+ mes("Gun control management number ^FF0000"+.@gun_code$+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+"^000000.");
+ next();
+ mes("[Sharp Snake's Fang]");
+ mes("Are there any issues?");
+ next();
select("No issues.");
- mes "[Sharp Snake's Fang]";
- mes "Cherish your gun!";
- close2;
+ mes("[Sharp Snake's Fang]");
+ mes("Cherish your gun!");
+ close2();
enable_items;
end;
}
@@ -8175,180 +8354,180 @@ iz_ac02_d,162,86,4 duplicate(Guild Staff#ac) Guild Staff#ac_d 4W_M_02
//- Arang -
iz_ac02,70,85,5 script Arang#ac 4_F_TAEKWON,{
- mes "[Arang]";
- mes "Hi, Good morning!";
- emotion e_ho;
- cutin "arang03.bmp", 0;
- next;
+ mes("[Arang]");
+ mes("Hi, Good morning!");
+ emotion(e_ho);
+ cutin("arang03", 0);
+ next();
if (Class == Job_Novice) {
if (questprogress(4269) == 2) {
if (nov_3_taekwon == 1) {
if (JobLevel >= 10) {
- cutin "arang01.bmp", 0;
- mes "[Arang]";
- mes "It's time to choose your job? How about Taekwon "+ (Sex == SEX_MALE ? "boy" : "girl") +"? You may be a nice adult like me.";
- next;
+ cutin("arang01", 0);
+ mes("[Arang]");
+ mes("It's time to choose your job? How about Taekwon "+ (Sex == SEX_MALE ? "boy" : "girl") +"? You may be a nice adult like me.");
+ next();
}
- while (1) {
+ while (true) {
switch(select("People following the Taekwon way", "I want to follow the Taekwon way!!!", "Good morning! Now it is...", "End Conversation")) {
case 1:
- mes "[Arang]";
- mes "Do you want to know about taekwon boy/girl? You want to be a cool guy like me right?";
- next;
- mes "[Arang]";
- mes "Make the world wonderful by making a strong body with the right spirit. That's the Taekwondo motto!";
- next;
- mes "[Arang]";
- mes "Later if you are trained to be a stronger body, you can change your job to ^FF0000Taekwon Master^000000 or a ^FF0000 Soul Linker ^000000.";
- next;
- mes "[Arang]";
- mes "It is not an easy way. So I don't like to recommend it to you if you aren't fully prepared. But it is definitely a nice and great way to follow!!";
- next;
+ mes("[Arang]");
+ mes("Do you want to know about taekwon boy/girl? You want to be a cool guy like me right?");
+ next();
+ mes("[Arang]");
+ mes("Make the world wonderful by making a strong body with the right spirit. That's the Taekwondo motto!");
+ next();
+ mes("[Arang]");
+ mes("Later if you are trained to be a stronger body, you can change your job to ^FF0000Taekwon Master^000000 or a ^FF0000 Soul Linker ^000000.");
+ next();
+ mes("[Arang]");
+ mes("It is not an easy way. So I don't like to recommend it to you if you aren't fully prepared. But it is definitely a nice and great way to follow!!");
+ next();
if (isequipped(Taekwon_Manual) > 0 || countitem(Taekwon_Manual) > 0) {
- mes "[Arang]";
- mes "Introduction to the class may let you know about what Taekwon in more detail.";
- next;
+ mes("[Arang]");
+ mes("Introduction to the class may let you know about what Taekwon in more detail.");
+ next();
} else {
- mes "[Arang]";
- mes "If you are really anxious about Taekown, I would like to recommend you a brief introduction. Will you use it?";
- next;
- if(select("After I look around more.", "Yes, let's do this!") == 1) {
- mes "[Arang]";
- mes "Every adventurer may have their own job! Hope you can find what you want!";
- next;
+ mes("[Arang]");
+ mes("If you are really anxious about Taekown, I would like to recommend you a brief introduction. Will you use it?");
+ next();
+ if (select("After I look around more.", "Yes, let's do this!") == 1) {
+ mes("[Arang]");
+ mes("Every adventurer may have their own job! Hope you can find what you want!");
+ next();
} else {
- getitem Taekwon_Manual, 1; // Taekwon_Manual
- mes "[Arang]";
- mes "Go to the [Misc] tab on Skill Window after equipping the Manual and there you will see some skills.";
- next;
- mes "[Arang]";
- mes "^FF0000Flying Kick^000000 is the skill to approach rapidly and attack the enemy! It fully contains the typical feature of Taekwon!";
- next;
- mes "[Arang]";
- mes "^FF0000Warm Wind^000000 is the skill to change the feature of attacks. This is the essential skill for ^FF0000Taekwon unable to use weapons^000000.";
- next;
- mes "[Arang]";
- mes "While taking the Quest, experience the skills of a Taekwon! You could meet an adept trainer on the 1st floor.";
- next;
+ getitem(Taekwon_Manual, 1); // Taekwon_Manual
+ mes("[Arang]");
+ mes("Go to the [Misc] tab on Skill Window after equipping the Manual and there you will see some skills.");
+ next();
+ mes("[Arang]");
+ mes("^FF0000Flying Kick^000000 is the skill to approach rapidly and attack the enemy! It fully contains the typical feature of Taekwon!");
+ next();
+ mes("[Arang]");
+ mes("^FF0000Warm Wind^000000 is the skill to change the feature of attacks. This is the essential skill for ^FF0000Taekwon unable to use weapons^000000.");
+ next();
+ mes("[Arang]");
+ mes("While taking the Quest, experience the skills of a Taekwon! You could meet an adept trainer on the 1st floor.");
+ next();
}
}
break;
case 2:
- mes "[Arang]";
- mes "Want to follow the Taekwon way? Let me see....";
- next;
+ mes("[Arang]");
+ mes("Want to follow the Taekwon way? Let me see....");
+ next();
if (JobLevel >= 10) {
- mes "[Arang]";
- mes "Taekwon is the tough way training himself rather than learning from somebody. However, if you want to follow, I will recommend you to a trainer.";
- next;
- mes "[Arang]";
- mes "Training is on you, but he will give you the direction for training. I can take you about there. Want to go now?";
- next;
- if(select("Let me think a little more.", "Let's go!!") == 1) {
- mes "[Arang]";
- mes "Choose it with discretion. It is a matter of your future adventure.";
- next;
+ mes("[Arang]");
+ mes("Taekwon is the tough way training himself rather than learning from somebody. However, if you want to follow, I will recommend you to a trainer.");
+ next();
+ mes("[Arang]");
+ mes("Training is on you, but he will give you the direction for training. I can take you about there. Want to go now?");
+ next();
+ if (select("Let me think a little more.", "Let's go!!") == 1) {
+ mes("[Arang]");
+ mes("Choose it with discretion. It is a matter of your future adventure.");
+ next();
} else {
- mes "[Arang]";
- mes "You can find a boy with the same appearance as me, when you get in the town through ^FF0000 the west entrance^000000, and continue follow the way ^FF0000to the north^000000 after passing the pub house but just before the archer town.";
- next;
- setquest 13101;
- cutin "", 255;
- warp "pay_fild08", 148, 76;
+ mes("[Arang]");
+ mes("You can find a boy with the same appearance as me, when you get in the town through ^FF0000 the west entrance^000000, and continue follow the way ^FF0000to the north^000000 after passing the pub house but just before the archer town.");
+ next();
+ setquest(13101);
+ cutin("", 255);
+ warp("pay_fild08", 148, 76);
end;
}
} else {
- mes "[Arang]";
- mes "To follow the Taekwon way, you have to get to job level 10. To be a Taekwon, train yourself until you get to job level 10!";
- next;
- mes "[Arang]";
- mes "If you feel difficult in training alone, make a visit to the trainer on the 1st floor.";
- next;
+ mes("[Arang]");
+ mes("To follow the Taekwon way, you have to get to job level 10. To be a Taekwon, train yourself until you get to job level 10!");
+ next();
+ mes("[Arang]");
+ mes("If you feel difficult in training alone, make a visit to the trainer on the 1st floor.");
+ next();
}
break;
case 3:
- mes "[Arang]";
- mes "Ahahaha.. It is already time? While I am inside... Don't worry.";
- next;
+ mes("[Arang]");
+ mes("Ahahaha.. It is already time? While I am inside... Don't worry.");
+ next();
break;
case 4:
- mes "[Arang]";
- mes "Have a good day!";
- close2;
- cutin "", 255;
+ mes("[Arang]");
+ mes("Have a good day!");
+ close2();
+ cutin("", 255);
end;
}
}
} else {
- cutin "arang01.bmp", 0;
- mes "[Arang]";
- mes "If you are interested in being a Taekwon making a healthy body with strong sprit, you can learn a lot here.";
- next;
- mes "[Arang]";
- mes "What do you think? Are you interested in being a Taekwon? I don't push you to do! But if you do, I may become your trainer.. So..";
- cutin "arang02.bmp", 0;
- next;
- if(select("I have interest!", "I have interest in you!") == 1) {
- mes "[Arang]";
- mes "Is that so!? You are!? Yaho! Now I am a teacher! Now, ask me whatever!";
+ cutin("arang01", 0);
+ mes("[Arang]");
+ mes("If you are interested in being a Taekwon making a healthy body with strong sprit, you can learn a lot here.");
+ next();
+ mes("[Arang]");
+ mes("What do you think? Are you interested in being a Taekwon? I don't push you to do! But if you do, I may become your trainer.. So..");
+ cutin("arang02", 0);
+ next();
+ if (select("I have interest!", "I have interest in you!") == 1) {
+ mes("[Arang]");
+ mes("Is that so!? You are!? Yaho! Now I am a teacher! Now, ask me whatever!");
nov_3_taekwon = 1;
- emotion e_heh;
- close2;
- cutin "", 255;
+ emotion(e_heh);
+ close2();
+ cutin("", 255);
end;
}
- mes "[Arang]";
- mes "Hahaha.. You are interested in me?";
- emotion e_an;
- cutin "arang03.bmp", 0;
- next;
- mes "Suddenly, you see Arang's foot flying towards you.";
- specialeffect2 EF_TRIPLEATTACK;
- emotion e_wah, 1;
- next;
- cutin "", 255;
- mes "All you see are stars...";
- sc_start SC_BLIND,10000,0;
- sc_start SC_STUN,10000,0;
- percentheal -90, 0;
- setquest 13102;
- close2;
- warp "iz_ac01", 53, 49;
+ mes("[Arang]");
+ mes("Hahaha.. You are interested in me?");
+ emotion(e_an);
+ cutin("arang03", 0);
+ next();
+ mes("Suddenly, you see Arang's foot flying towards you.");
+ specialeffect2(EF_TRIPLEATTACK);
+ emotion(e_wah, 1);
+ next();
+ cutin("", 255);
+ mes("All you see are stars...");
+ sc_start(SC_BLIND, 10000, 0);
+ sc_start(SC_STUN, 10000, 0);
+ percentheal(-90, 0);
+ setquest(13102);
+ close2();
+ warp("iz_ac01", 53, 49);
end;
}
} else {
- mes "[Arang]";
- mes "You look like a naive beginner? If you want to get in the class, come after registering on the 1st floor.";
- close2;
- cutin "", 255;
+ mes("[Arang]");
+ mes("You look like a naive beginner? If you want to get in the class, come after registering on the 1st floor.");
+ close2();
+ cutin("", 255);
end;
}
} else {
if (nov_3_taekwon > 0) {
if (Class == Job_Taekwon) {
- mes "[Arang]";
- mes "Are you diligently training? Once you are trained well, you could become a Taekwon Master or a Soul Linker.";
- close2;
+ mes("[Arang]");
+ mes("Are you diligently training? Once you are trained well, you could become a Taekwon Master or a Soul Linker.");
+ close2();
} else if (Class == Job_Star_Gladiator) {
- mes "[Arang]";
- mes "You became a nice Taekwon Master!? Please keep in mind power is followed by responsibility.";
- close2;
+ mes("[Arang]");
+ mes("You became a nice Taekwon Master!? Please keep in mind power is followed by responsibility.");
+ close2();
} else if (Class == Job_Soul_Linker) {
- mes "[Arang]";
- mes "Handling spirits is a very delicate job to do, I heard. Excellent! The adventurer led by me has grown up like this.";
- close2;
+ mes("[Arang]");
+ mes("Handling spirits is a very delicate job to do, I heard. Excellent! The adventurer led by me has grown up like this.");
+ close2();
} else {
- mes "[Arang]";
- mes "Ehra! I thought you followed the Taekwon way~~ it is regretful but everyone has their own life, hehe.";
- close2;
+ mes("[Arang]");
+ mes("Ehra! I thought you followed the Taekwon way~~ it is regretful but everyone has their own life, hehe.");
+ close2();
}
} else {
- mes "[Arang]";
- mes "I am propagating the way of Taekwons!";
- close2;
+ mes("[Arang]");
+ mes("I am propagating the way of Taekwons!");
+ close2();
}
}
- cutin "", 255;
+ cutin("", 255);
end;
}
@@ -8362,12 +8541,12 @@ iz_ac01,53,49,0 script #acKick HIDDEN_NPC,5,5,{
OnTouch:
if (questprogress(13102) == 1) {
- mes "As I can't recall, I feel the shock that something hit me on my head.";
- mes "^FF0000I should look for somebody to heal me nearby.^000000.";
- erasequest 13102;
- close;
+ mes("As I can't recall, I feel the shock that something hit me on my head.");
+ mes("^FF0000I should look for somebody to heal me nearby.^000000.");
+ erasequest(13102);
+ close();
} else if (questprogress(13102) == 2) {
- erasequest 13102;
+ erasequest(13102);
end;
}
}
@@ -8382,305 +8561,305 @@ iz_ac01_d,53,49,0 duplicate(#acKick) #acKick_d HIDDEN_NPC,5,5
//- Archer Teacher (Marlbron) -
iz_ac02,65,109,5 script Archer Teacher#ac 4_M_ARCHER,{
if (!checkweight(Orcish_Axe, 3)) {
- mes "Why are you carrying so much with you? Unload it somewhere and come back.";
- close;
+ mes("Why are you carrying so much with you? Unload it somewhere and come back.");
+ close();
}
if (Class == Job_Archer) {
if (nov_3_archer == 0) {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Emmm. This is?";
- next;
- mes "[Marlbron]";
- mes "You were never trained by me.";
- mes "Then, I have no interest in you.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Emmm. This is?");
+ next();
+ mes("[Marlbron]");
+ mes("You were never trained by me.");
+ mes("Then, I have no interest in you.");
+ close2();
+ cutin("", 255);
end;
} else if (nov_3_archer > 0 && nov_3_archer < 9) {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "I see you received a complete education in Payon.";
- next;
- mes "[Marlbron]";
- mes "Then again... you may want to learn more.";
- next;
- mes "[Marlbron]";
- mes "Either way, there is nothing I can teach you.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("I see you received a complete education in Payon.");
+ next();
+ mes("[Marlbron]");
+ mes("Then again... you may want to learn more.");
+ next();
+ mes("[Marlbron]");
+ mes("Either way, there is nothing I can teach you.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gsmi.bmp", 2;
- mes "[Marlbron]";
- mes "Ah~ You've become a skilled Archer.";
- next;
- mes "[Marlbron]";
- mes "The difference is great now compared to when you were a novice!";
- next;
- mes "[Marlbron]";
- mes "Because of my teachings, you have grown very fast!";
- close2;
- cutin "", 255;
+ cutin("gsmi", 2);
+ mes("[Marlbron]");
+ mes("Ah~ You've become a skilled Archer.");
+ next();
+ mes("[Marlbron]");
+ mes("The difference is great now compared to when you were a novice!");
+ next();
+ mes("[Marlbron]");
+ mes("Because of my teachings, you have grown very fast!");
+ close2();
+ cutin("", 255);
end;
}
} else if (Class == Job_Novice) {
if (questprogress(4269) == 2) {
if (nov_3_archer == 0) {
- cutin "gsmi.bmp", 2;
- mes "[Marlbron]";
- mes "Sniff sniff! It is the smell of a novice!";
- mes "Nice to meet you!!!";
- mes "What brought you here?";
- next;
- mes "[Marlbron]";
- mes "I can guess most, but hehehehe~~";
- mes "Please feel comfortable and tell me everything you want!";
- next;
- cutin "", 255;
- if(select("I get bored! Play with me!", "Tell me about Archers.") == 1) {
- cutin "gbad.bmp", 2;
- mes "[Marlbron]";
- mes "What? Bored? Play with you?";
- mes "You think this is just some kids playground?";
- next;
- mes "[Marlbron]";
- mes "If you are bored, walk around and punch a monster in the face and see what happens.";
- close2;
- cutin "", 255;
+ cutin("gsmi", 2);
+ mes("[Marlbron]");
+ mes("Sniff sniff! It is the smell of a novice!");
+ mes("Nice to meet you!!!");
+ mes("What brought you here?");
+ next();
+ mes("[Marlbron]");
+ mes("I can guess most, but hehehehe~~");
+ mes("Please feel comfortable and tell me everything you want!");
+ next();
+ cutin("", 255);
+ if (select("I get bored! Play with me!", "Tell me about Archers.") == 1) {
+ cutin("gbad", 2);
+ mes("[Marlbron]");
+ mes("What? Bored? Play with you?");
+ mes("You think this is just some kids playground?");
+ next();
+ mes("[Marlbron]");
+ mes("If you are bored, walk around and punch a monster in the face and see what happens.");
+ close2();
+ cutin("", 255);
end;
}
- cutin "gsmi.bmp", 2;
- mes "[Marlbron]";
- mes "Oh dear~ another sheep here to get a free lesson from me.";
- next;
- mes "[Marlbron]";
- mes "The main point of Archers is to use bows to attack enemies quickly from a long distance.";
- next;
- mes "[Marlbron]";
- mes "Only problem is they are physically weak.";
- mes "But, it doesn't matter if they are trained correctly.";
- next;
- while(1) {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "What do you want to know about an Archer? I will tell you everything~";
- mes "With my full explanation~, you can be an excellent one.";
- next;
+ cutin("gsmi", 2);
+ mes("[Marlbron]");
+ mes("Oh dear~ another sheep here to get a free lesson from me.");
+ next();
+ mes("[Marlbron]");
+ mes("The main point of Archers is to use bows to attack enemies quickly from a long distance.");
+ next();
+ mes("[Marlbron]");
+ mes("Only problem is they are physically weak.");
+ mes("But, it doesn't matter if they are trained correctly.");
+ next();
+ while(true) {
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("What do you want to know about an Archer? I will tell you everything~");
+ mes("With my full explanation~, you can be an excellent one.");
+ next();
switch(select("Archer's stats", "Archer's skills", "I want to become an Archer.", "Nevermind")) {
case 1:
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Are you curious about the Archer's stats?";
- mes "Do you know the most necessary stats for Archers?";
- next;
- mes "[Marlbron]";
- mes "That is ^0000cdDex^000000.";
- next;
- mes "[Marlbron]";
- mes "To raise up the attacking power in other jobs, Str should be raised but Archers vary in accordance with their Dex figures.";
- next;
- mes "[Marlbron]";
- mes "Here is a simple question! What is the name of the stat determining the Archer's attacking power?";
- next;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Are you curious about the Archer's stats?");
+ mes("Do you know the most necessary stats for Archers?");
+ next();
+ mes("[Marlbron]");
+ mes("That is ^0000cdDex^000000.");
+ next();
+ mes("[Marlbron]");
+ mes("To raise up the attacking power in other jobs, Str should be raised but Archers vary in accordance with their Dex figures.");
+ next();
+ mes("[Marlbron]");
+ mes("Here is a simple question! What is the name of the stat determining the Archer's attacking power?");
+ next();
select("Dex!");
- cutin "gsmi.bmp", 2;
- mes "[Marlbron]";
- mes "You are correct~~";
- next;
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "If you want to know more about the role of other stats, ^0000cdopen the status window by pressing ALT+Q.^000000";
- next;
- mes "[Marlbron]";
- mes "If you are curious about stats except Dex, you can check it out.";
- mes "If you have a job later, you can reset the stats anyway.";
- next;
- mes "[Marlbron]";
- mes "Hey, just click this and that!";
- next;
- cutin "", 255;
+ cutin("gsmi", 2);
+ mes("[Marlbron]");
+ mes("You are correct~~");
+ next();
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("If you want to know more about the role of other stats, ^0000cdopen the status window by pressing ALT+Q.^000000");
+ next();
+ mes("[Marlbron]");
+ mes("If you are curious about stats except Dex, you can check it out.");
+ mes("If you have a job later, you can reset the stats anyway.");
+ next();
+ mes("[Marlbron]");
+ mes("Hey, just click this and that!");
+ next();
+ cutin("", 255);
break;
case 2:
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Hmm. You are interested in skills? Then, let's study ^0000cd skill^000000s.";
- next;
- mes "[Marlbron]";
- mes "I thought you would better experience the skill than talking, so I prepared the experience of the archer's skill in a manual.";
- next;
- mes "[Marlbron]";
- mes "Archer have a lot of very useful skills.";
- mes "But regretfully as most of them are skills useful only with arrows and bows, you can't experience them.";
- next;
- mes "[Marlbron]";
- mes "There is a useful skill without a bow... Called ^0000cdImprove Concentration^000000";
- next;
- mes "[Marlbron]";
- mes "At the same time, it will reveal hidden enemies nearby.";
- next;
- mes "[Marlbron]";
- mes "If you want to know more anout skill, then open the skill window by pressing the key ^0000cdALT+S^000000";
- next;
- mes "[Marlbron]";
- mes "When you scoll the mouse on the skill icon, there pops up the details about the skill. Please read it.";
- next;
- mes "[Marlbron]";
- mes "To use skills, click the skill icon on the skill window. Then drag and register it on the ^0000cdshortcut window^000000 to use conveniently.";
- next;
- mes "[Marlbron]";
- mes "Will you go and find a hunting teacher on the 1st floor? if you do not want, then no need.";
- next;
- mes "[Marlbron]";
- mes "But he may train you with a lot of useful hunting skills for you.";
- mes "<NAVI>^4D4DFF[Battle Trainer Subino]^000000<INFO>iz_ac01,59,83,</INFO></NAVI>";
- mes "You may visit him.";
- next;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Hmm. You are interested in skills? Then, let's study ^0000cd skill^000000s.");
+ next();
+ mes("[Marlbron]");
+ mes("I thought you would better experience the skill than talking, so I prepared the experience of the archer's skill in a manual.");
+ next();
+ mes("[Marlbron]");
+ mes("Archer have a lot of very useful skills.");
+ mes("But regretfully as most of them are skills useful only with arrows and bows, you can't experience them.");
+ next();
+ mes("[Marlbron]");
+ mes("There is a useful skill without a bow... Called ^0000cdImprove Concentration^000000");
+ next();
+ mes("[Marlbron]");
+ mes("At the same time, it will reveal hidden enemies nearby.");
+ next();
+ mes("[Marlbron]");
+ mes("If you want to know more anout skill, then open the skill window by pressing the key ^0000cdALT+S^000000");
+ next();
+ mes("[Marlbron]");
+ mes("When you scoll the mouse on the skill icon, there pops up the details about the skill. Please read it.");
+ next();
+ mes("[Marlbron]");
+ mes("To use skills, click the skill icon on the skill window. Then drag and register it on the ^0000cdshortcut window^000000 to use conveniently.");
+ next();
+ mes("[Marlbron]");
+ mes("Will you go and find a hunting teacher on the 1st floor? if you do not want, then no need.");
+ next();
+ mes("[Marlbron]");
+ mes("But he may train you with a lot of useful hunting skills for you.");
+ mes("<NAVI>^4D4DFF[Battle Trainer Subino]^000000<INFO>iz_ac01,59,83,</INFO></NAVI>");
+ mes("You may visit him.");
+ next();
if (questprogress(14158) != 2) {
- setquest 14158;
- completequest 14158;
- getitem Archer_Manual, 1; // Archer_Manual
+ setquest(14158);
+ completequest(14158);
+ getitem(Archer_Manual, 1); // Archer_Manual
}
- cutin "", 255;
+ cutin("", 255);
end;
case 3:
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Do you want to become an^0000cd Archer^000000?";
- mes "It hasn't been a long time since we met together. But I am sad about saying good bye to you.";
- next;
- mes "[Marlbron]";
- mes "Let me check a little while, before you change your job you have to be at job level 10.";
- next;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Do you want to become an^0000cd Archer^000000?");
+ mes("It hasn't been a long time since we met together. But I am sad about saying good bye to you.");
+ next();
+ mes("[Marlbron]");
+ mes("Let me check a little while, before you change your job you have to be at job level 10.");
+ next();
if (JobLevel == 10) {
- mes "[Marlbron]";
- mes "Change conditions satisfied!!";
- next;
- mes "[Marlbron]";
- mes "Do you really want to become an Archer?";
- next;
- if(select("Yes, change me to an Archer.", "Let me think of it a little while.") == 1) {
- mes "[Marlbron]";
- mes "First, let me explain some things to you about the Job Change.";
- next;
- mes "[Marlbron]";
- mes "An Archer's hometown is ^0000cdPayon^000000; Which has a very long history.";
- next;
- mes "[Marlbron]";
- mes "When you are feeling fatigued, you can go there.";
- mes "You will be given a warm hometown welcome.";
- next;
- mes "[Marlbron]";
- mes "The Archers Guild is located to the ^0000cdNorth of Payon Archer Village^000000.";
- next;
- mes "[Marlbron]";
- mes "I will take you to the gates of Payon.";
- mes "I would love to accompany you the rest of the way, but you must do this alone.";
- mes "I'll give you the directions which you must remember.";
- next;
- cutin "paymap1.bmp", 3;
- mes "[Marlbron]";
- mes "Here is where I will send you to.";
- mes "Once you arrive, you will see the area marked by this ^0000cdRed Circle^000000. Go through there, then...";
- next;
- cutin "paymap2.bmp", 3;
- mes "[Marlbron]";
- mes "You will reach the village of Payon.";
- mes "Follow the direction of the ^0000cdRed Arrow^000000, you will enter ^0000cdArcher Village^000000.";
- next;
- cutin "paymap3.bmp", 3;
- mes "[Marlbron]";
- mes "Once you get there, make your way to the ^0000cdCircled Area^000000. Here you will find the ^0000cdArcher Job Change Guild^000000.";
- mes "Got it? Easy to find, right?";
- next;
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Due to satellite navigation, you shouldn't worry about getting lost.";
- mes "However, if you are still worried, you can ask the local ^0000cdGuide^000000 where to go.";
- next;
- mes "[Marlbron]";
- mes "You can find me after your visit to the guild.";
- next;
- mes "[Marlbron]";
- mes "Now then, I wish you success in becoming an Archer. Until next time!";
- close2;
- cutin "", 255;
+ mes("[Marlbron]");
+ mes("Change conditions satisfied!!");
+ next();
+ mes("[Marlbron]");
+ mes("Do you really want to become an Archer?");
+ next();
+ if (select("Yes, change me to an Archer.", "Let me think of it a little while.") == 1) {
+ mes("[Marlbron]");
+ mes("First, let me explain some things to you about the Job Change.");
+ next();
+ mes("[Marlbron]");
+ mes("An Archer's hometown is ^0000cdPayon^000000); Which has a very long history.");
+ next();
+ mes("[Marlbron]");
+ mes("When you are feeling fatigued, you can go there.");
+ mes("You will be given a warm hometown welcome.");
+ next();
+ mes("[Marlbron]");
+ mes("The Archers Guild is located to the ^0000cdNorth of Payon Archer Village^000000.");
+ next();
+ mes("[Marlbron]");
+ mes("I will take you to the gates of Payon.");
+ mes("I would love to accompany you the rest of the way, but you must do this alone.");
+ mes("I'll give you the directions which you must remember.");
+ next();
+ cutin("paymap1", 3);
+ mes("[Marlbron]");
+ mes("Here is where I will send you to.");
+ mes("Once you arrive, you will see the area marked by this ^0000cdRed Circle^000000. Go through there, then...");
+ next();
+ cutin("paymap2", 3);
+ mes("[Marlbron]");
+ mes("You will reach the village of Payon.");
+ mes("Follow the direction of the ^0000cdRed Arrow^000000, you will enter ^0000cdArcher Village^000000.");
+ next();
+ cutin("paymap3", 3);
+ mes("[Marlbron]");
+ mes("Once you get there, make your way to the ^0000cdCircled Area^000000. Here you will find the ^0000cdArcher Job Change Guild^000000.");
+ mes("Got it? Easy to find, right?");
+ next();
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Due to satellite navigation, you shouldn't worry about getting lost.");
+ mes("However, if you are still worried, you can ask the local ^0000cdGuide^000000 where to go.");
+ next();
+ mes("[Marlbron]");
+ mes("You can find me after your visit to the guild.");
+ next();
+ mes("[Marlbron]");
+ mes("Now then, I wish you success in becoming an Archer. Until next time!");
+ close2();
+ cutin("", 255);
nov_3_archer = 1;
- setquest 14142;
- warp "pay_fild01", 339, 346;
+ setquest(14142);
+ warp("pay_fild01", 339, 346);
end;
}
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Yes, come back and see me after reconsideration.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Yes, come back and see me after reconsideration.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Hmmm. You are a little bit short of Job Level.";
- mes "Are you coming back after more training?";
- next;
- mes "[Marlbron]";
- mes "Visit <NAVI>^4D4DFF[Battle Trainer Subino]^000000<INFO>iz_ac01,59,83,</INFO></NAVI>";
- mes "at Armory on the 1st floor.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Hmmm. You are a little bit short of Job Level.");
+ mes("Are you coming back after more training?");
+ next();
+ mes("[Marlbron]");
+ mes("Visit <NAVI>^4D4DFF[Battle Trainer Subino]^000000<INFO>iz_ac01,59,83,</INFO></NAVI>");
+ mes("at Armory on the 1st floor.");
+ close2();
+ cutin("", 255);
end;
}
case 4:
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Really? Then, don't be lazy but get some training.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Really? Then, don't be lazy but get some training.");
+ close2();
+ cutin("", 255);
end;
}
}
} else if (nov_3_archer == 1) {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Why are you still here? Are you not going to become an Archer?";
- mes "Are you going to pursue a different job?";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Why are you still here? Are you not going to become an Archer?");
+ mes("Are you going to pursue a different job?");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Well? How is it being an Archer?";
- mes "The student has surpassed the teacher, as the saying goes.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Well? How is it being an Archer?");
+ mes("The student has surpassed the teacher, as the saying goes.");
+ close2();
+ cutin("", 255);
end;
}
} else if (questprogress(4269) == 1) {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "You don't seem to be fully registered at the Academy yet.";
- mes "Hurry and complete your registration.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("You don't seem to be fully registered at the Academy yet.");
+ mes("Hurry and complete your registration.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gnor.bmp", 2;
- mes "[Marlbron]";
- mes "Did you directly come here without the entrance application for Critura Academy yet?";
- mes "You are too in a hurry. Rush to go to the 1st floor for application, and come back to me.";
- close2;
- cutin "", 255;
+ cutin("gnor", 2);
+ mes("[Marlbron]");
+ mes("Did you directly come here without the entrance application for Critura Academy yet?");
+ mes("You are too in a hurry. Rush to go to the 1st floor for application, and come back to me.");
+ close2();
+ cutin("", 255);
end;
}
} else {
- cutin "gbad.bmp", 2;
- mes "[Marlbron]";
- mes "Why are you of a different job snooping around here?";
- next;
- mes "[Marlbron]";
- mes "Don't snoop around and get out of here!!";
- close2;
- cutin "", 255;
+ cutin("gbad", 2);
+ mes("[Marlbron]");
+ mes("Why are you of a different job snooping around here?");
+ next();
+ mes("[Marlbron]");
+ mes("Don't snoop around and get out of here!!");
+ close2();
+ cutin("", 255);
end;
}
}
@@ -8696,276 +8875,276 @@ iz_ac02_d,65,109,5 duplicate(Archer Teacher#ac) Archer Teacher#ac_d 4_M_ARCHER
// - Teaches the player about the Swordsman class.
iz_ac02,60,51,5 script Swordman Trainer#ac 4_M_SWORDMAN,{
if (!checkweight(Axe, 3)) {
- mes "- Quest cannot be continued due to your overfilled inventory. -";
- close;
+ mes("- Quest cannot be continued due to your overfilled inventory. -");
+ close();
}
- cutin "aca_sword.bmp", 2;
+ cutin("aca_sword", 2);
if (questprogress(4269) != 2) {
- mes "[Trainer Adric]";
- mes "You want to learn about Swordsman?";
- mes "If you want to take the class you must register.";
- next;
- mes "[Trainer Adric]";
- mes "Go and register at the counter on the 1st floor!";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("You want to learn about Swordsman?");
+ mes("If you want to take the class you must register.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Go and register at the counter on the 1st floor!");
+ cutin("", 255);
+ close();
}
if (Class == Job_Novice) {
if (!nov_3_swordman) {
- mes "[Trainer Adric]";
- mes "You want to become a swordsman?";
- mes "Great decision.";
- next;
- mes "[Trainer Adric]";
- mes "Fight on the frontline with large swords,";
- mes "Bringing victory and with a high defense to protect your comrades.";
- mes "Simply put, we're the best.";
- next;
- mes "[Trainer Adric]";
- mes "What do you think?";
- mes "You want to become a Swordsman here?";
- next;
+ mes("[Trainer Adric]");
+ mes("You want to become a swordsman?");
+ mes("Great decision.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Fight on the frontline with large swords,");
+ mes("Bringing victory and with a high defense to protect your comrades.");
+ mes("Simply put, we're the best.");
+ next();
+ mes("[Trainer Adric]");
+ mes("What do you think?");
+ mes("You want to become a Swordsman here?");
+ next();
switch(select("No thanks", "I want to test Swordsman Skills!", "Change me right now!")) {
case 1:
- mes "[Trainer Adric]";
- mes "Since you're not intersted in this opportunity,";
- next;
- mes "[Trainer Adric]";
- mes "Go hunt Porings and stay";
- mes "as a novice forever!";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("Since you're not intersted in this opportunity,");
+ next();
+ mes("[Trainer Adric]");
+ mes("Go hunt Porings and stay");
+ mes("as a novice forever!");
+ cutin("", 255);
+ close();
case 2:
- mes "[Trainer Adric]";
- mes "Calm down, lets's start over.";
- mes "First, I'll give you a ^FF0000Swordman Manual^000000";
- mes "Read it carefuly before asking any questions.";
- getitem Swordman_Manual, 1; // Swordman_Manual
+ mes("[Trainer Adric]");
+ mes("Calm down, lets's start over.");
+ mes("First, I'll give you a ^FF0000Swordman Manual^000000");
+ mes("Read it carefuly before asking any questions.");
+ getitem(Swordman_Manual, 1); // Swordman_Manual
nov_3_swordman = 1;
- setquest 1229;
- cutin "", 255;
- close;
+ setquest(1229);
+ cutin("", 255);
+ close();
case 3:
if (JobLevel < 10) {
- mes "[Trainer Adric]";
- mes "If you want to become a Swordman,";
- mes "You should reach over ^006400Base level 10^000000,";
- mes "And become more than ^006400beginner's skill level 9^000000.";
- next;
- mes "[Trainer Adric]";
- mes "Get taught here and follow the steps.";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("If you want to become a Swordman,");
+ mes("You should reach over ^006400Base level 10^000000,");
+ mes("And become more than ^006400beginner's skill level 9^000000.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Get taught here and follow the steps.");
+ cutin("", 255);
+ close();
} else {
- mes "[Trainer Adric]";
- mes "It seems you have learned enough.";
- mes "Head over to the Swordsman Guild";
- mes "to continue your change into a Swordsman!";
- next;
- mes "[Trainer Adric]";
- mes "The Swordsman Guild is located";
- mes "to the west of the Izlude Plaza Center.";
- mes "It should be very easy to find.";
- cutin "", 255;
+ mes("[Trainer Adric]");
+ mes("It seems you have learned enough.");
+ mes("Head over to the Swordsman Guild");
+ mes("to continue your change into a Swordsman!");
+ next();
+ mes("[Trainer Adric]");
+ mes("The Swordsman Guild is located");
+ mes("to the west of the Izlude Plaza Center.");
+ mes("It should be very easy to find.");
+ cutin("", 255);
nov_3_swordman = 4;
- erasequest 1230;
- close;
+ erasequest(1230);
+ close();
}
}
} else if (nov_3_swordman == 1) {
- mes "[Trainer Adric]";
- mes "If you are equipped with a ^FF0000Swordman Manual^000000";
- mes "You'll be able to experience the basic skills of the swordsman.";
- mes "Now let's study the basics of Swordsman skills.";
- next;
- while(1) {
+ mes("[Trainer Adric]");
+ mes("If you are equipped with a ^FF0000Swordman Manual^000000");
+ mes("You'll be able to experience the basic skills of the swordsman.");
+ mes("Now let's study the basics of Swordsman skills.");
+ next();
+ while(true) {
switch(select("Swordman key points", "Heightened Attack and defense.", "Related stats", "Additional Swordman classes?", "I learned enough already.")) {
case 1:
- mes "[Trainer Adric]";
- mes "Swordsman uses strong constitution; shrugs off damage easily from foes and when in a party, is a leader and the protector of others.";
- next;
+ mes("[Trainer Adric]");
+ mes("Swordsman uses strong constitution); shrugs off damage easily from foes and when in a party, is a leader and the protector of others.");
+ next();
continue;
case 2:
- mes "[Trainer Adric]";
- mes "Swordsman prefer to use spears, two-handed swords or combination sword and shield.";
- next;
- mes "[Trainer Adric]";
- mes "Also the swordsman's vitality is normally high making them able to carry massive amounts of weight.";
- next;
+ mes("[Trainer Adric]");
+ mes("Swordsman prefer to use spears, two-handed swords or combination sword and shield.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Also the swordsman's vitality is normally high making them able to carry massive amounts of weight.");
+ next();
continue;
case 3:
- mes "[Trainer Adric]";
- mes "Desired stats are usually ^0000FFStr^000000, ^0000FFAgi^000000, ^0000FFVit^000000, ^0000FFDex^000000";
- mes "Of course this is all up to you";
- next;
- mes "[Trainer Adric]";
- mes "^0000FFVit^000000 affects^FF0000HP recovery rate^000000.";
- mes "^0000FFStr^000000 affects ^FF0000 strength and attacking power^000000.";
- mes "^0000FFDex^00000 increases ^FF0000 accuracy of your attack^000000,";
- next;
- mes "[Trainer Adric]";
- mes "^0000FFAgi^000000 increases ^FF0000 attacking speed^000000 and ^FF0000 evasion rate^000000,";
- mes "^0000FFLuk^000000 affects ^FF0000 probability of critical ^000000.";
- next;
+ mes("[Trainer Adric]");
+ mes("Desired stats are usually ^0000FFStr^000000, ^0000FFAgi^000000, ^0000FFVit^000000, ^0000FFDex^000000");
+ mes("Of course this is all up to you");
+ next();
+ mes("[Trainer Adric]");
+ mes("^0000FFVit^000000 affects^FF0000HP recovery rate^000000.");
+ mes("^0000FFStr^000000 affects ^FF0000 strength and attacking power^000000.");
+ mes("^0000FFDex^00000 increases ^FF0000 accuracy of your attack^000000,");
+ next();
+ mes("[Trainer Adric]");
+ mes("^0000FFAgi^000000 increases ^FF0000 attacking speed^000000 and ^FF0000 evasion rate^000000,");
+ mes("^0000FFLuk^000000 affects ^FF0000 probability of critical ^000000.");
+ next();
continue;
case 4:
- mes "[Trainer Adric]";
- mes "After changing to a Swordsman you can change to a ^0000FF Knight ^000000 or ^0000FFCrusader^000000.";
- next;
- mes "[Trainer Adric]";
- mes "Go raise your strength while figuring out if you're offensive or defensive.";
- mes "This is something you should do.";
- next;
+ mes("[Trainer Adric]");
+ mes("After changing to a Swordsman you can change to a ^0000FF Knight ^000000 or ^0000FFCrusader^000000.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Go raise your strength while figuring out if you're offensive or defensive.");
+ mes("This is something you should do.");
+ next();
continue;
case 5:
break;
}
break;
}
- mes "[Trainer Adric]";
- mes "The study material can be retaught by Neals the assitant trainer.";
- mes "Remember this.";
+ mes("[Trainer Adric]");
+ mes("The study material can be retaught by Neals the assitant trainer.");
+ mes("Remember this.");
nov_3_swordman = 2;
if (questprogress(1229))
- erasequest 1229;
- setquest 1230;
- cutin "", 255;
- close;
+ erasequest(1229);
+ setquest(1230);
+ cutin("", 255);
+ close();
} else if (nov_3_swordman == 2) {
if (JobLevel < 10) {
- mes "[Trainer Adric]";
- mes "Using the Swordman Manual I gave you train by hunting monsters.";
- mes "Go to the Battle Instructor Subino on the first floor Armory room.";
- next;
- mes "[Trainer Adric]";
- mes "Raise your level to ^006400job level 10^000000 and get to ^006400 beginner's skill level 9^000000, come back here again.";
+ mes("[Trainer Adric]");
+ mes("Using the Swordman Manual I gave you train by hunting monsters.");
+ mes("Go to the Battle Instructor Subino on the first floor Armory room.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Raise your level to ^006400job level 10^000000 and get to ^006400 beginner's skill level 9^000000, come back here again.");
nov_3_swordman = 3;
if (questprogress(1230))
- erasequest 1230;
- cutin "", 255;
- close;
+ erasequest(1230);
+ cutin("", 255);
+ close();
} else {
- mes "[Trainer Adric]";
- mes "Since you have enough job levels,";
- mes "you don't need any more lecturing.";
- next;
+ mes("[Trainer Adric]");
+ mes("Since you have enough job levels,");
+ mes("you don't need any more lecturing.");
+ next();
switch(select("Then I will stop.", "But I want to listen more.", "I want to be a Swordsman right away!")) {
case 1:
- mes "[Trainer Adric]";
- mes "You surpassed the study material to raise your level.";
- next;
- mes "[Trainer Adric]";
- mes "Impressive.";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("You surpassed the study material to raise your level.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Impressive.");
+ cutin("", 255);
+ close();
case 2:
- mes "[Trainer Adric]";
- mes "There's nothing else special to teach you.";
- mes "Everything I taught you if you remember them well, that's all you need.";
- next;
- mes "[Trainer Adric]";
- mes "If you need additional training,";
- mes "Go to the Battle Instructor Subino";
- mes "on the first floor Armory room.";
- next;
+ mes("[Trainer Adric]");
+ mes("There's nothing else special to teach you.");
+ mes("Everything I taught you if you remember them well, that's all you need.");
+ next();
+ mes("[Trainer Adric]");
+ mes("If you need additional training,");
+ mes("Go to the Battle Instructor Subino");
+ mes("on the first floor Armory room.");
+ next();
switch(select("This is very tedious.", "I need more training.", "I want to be a Swordsman right away!")) {
case 1:
- mes "[Trainer Adric]";
- mes "A simple No would've sufficed.";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("A simple No would've sufficed.");
+ cutin("", 255);
+ close();
case 2:
- mes "[Trainer Adric]";
- mes "Go to the Battle Instructor Subino on the first floor Armory room.";
- mes "If you think you're ready, come back here.";
- mes "You need to change to a Swordsman job soon!";
+ mes("[Trainer Adric]");
+ mes("Go to the Battle Instructor Subino on the first floor Armory room.");
+ mes("If you think you're ready, come back here.");
+ mes("You need to change to a Swordsman job soon!");
nov_3_swordman = 3;
if (questprogress(1230))
- erasequest 1230;
- cutin "", 255;
- close;
+ erasequest(1230);
+ cutin("", 255);
+ close();
case 3:
- mes "[Trainer Adric]";
- mes "It seems you have learned enough.";
- mes "Head over to the Swordsman Guild";
- mes "to continue your transfer to a Swordsman!";
- next;
- mes "[Trainer Adric]";
- mes "The Swordsman Guild is located";
- mes "to the west of the Izlude Plaza Center.";
- mes "It should be very easy to find.";
- cutin "", 255;
+ mes("[Trainer Adric]");
+ mes("It seems you have learned enough.");
+ mes("Head over to the Swordsman Guild");
+ mes("to continue your transfer to a Swordsman!");
+ next();
+ mes("[Trainer Adric]");
+ mes("The Swordsman Guild is located");
+ mes("to the west of the Izlude Plaza Center.");
+ mes("It should be very easy to find.");
+ cutin("", 255);
nov_3_swordman = 4;
- erasequest 1230;
- close;
+ erasequest(1230);
+ close();
}
case 3:
- mes "[Trainer Adric]";
- mes "It seems you have learned enough.";
- mes "Head over to the Swordsman Guild";
- mes "to continue your change into a Swordsman!";
- next;
- mes "[Trainer Adric]";
- mes "The Swordsman Guild is located";
- mes "to the west of the Izlude Plaza Center.";
- mes "It should be very easy to find.";
- cutin "", 255;
+ mes("[Trainer Adric]");
+ mes("It seems you have learned enough.");
+ mes("Head over to the Swordsman Guild");
+ mes("to continue your change into a Swordsman!");
+ next();
+ mes("[Trainer Adric]");
+ mes("The Swordsman Guild is located");
+ mes("to the west of the Izlude Plaza Center.");
+ mes("It should be very easy to find.");
+ cutin("", 255);
nov_3_swordman = 4;
if (questprogress(1230))
- erasequest 1230;
- close;
+ erasequest(1230);
+ close();
}
}
} else if (nov_3_swordman == 3) {
if (JobLevel < 10) {
- mes "[Trainer Adric]";
- mes "You still don't have enough to become a Swordman.";
- next;
- mes "[Trainer Adric]";
- mes "If you need some battle training find Subino on the first floor Armory of the Academy.";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("You still don't have enough to become a Swordman.");
+ next();
+ mes("[Trainer Adric]");
+ mes("If you need some battle training find Subino on the first floor Armory of the Academy.");
+ cutin("", 255);
+ close();
} else {
- mes "[Trainer Adric]";
- mes "It seems you have learned enough.";
- mes "Head over to the Swordsman Guild";
- mes "to continue your change into a Swordsman!";
- next;
- mes "[Trainer Adric]";
- mes "The Swordsman Guild is located";
- mes "to the west of the Izlude Plaza Center.";
- mes "It should be very easy to find.";
- cutin "", 255;
+ mes("[Trainer Adric]");
+ mes("It seems you have learned enough.");
+ mes("Head over to the Swordsman Guild");
+ mes("to continue your change into a Swordsman!");
+ next();
+ mes("[Trainer Adric]");
+ mes("The Swordsman Guild is located");
+ mes("to the west of the Izlude Plaza Center.");
+ mes("It should be very easy to find.");
+ cutin("", 255);
nov_3_swordman = 4;
if (questprogress(1230))
- erasequest 1230;
- close;
+ erasequest(1230);
+ close();
}
} else if (nov_3_swordman == 4) {
- mes "[Trainer Adric]";
- mes "During this period, you must train really hard.";
- next;
- mes "[Trainer Adric]";
- mes "Continue to improve your abilities to change to an amazing job!";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("During this period, you must train really hard.");
+ next();
+ mes("[Trainer Adric]");
+ mes("Continue to improve your abilities to change to an amazing job!");
+ cutin("", 255);
+ close();
}
} else if (Class == Job_Swordman) {
- mes "[Trainer Adric]";
- mes "You're already a Swordsman!";
- next;
- mes "[Trainer Adric]";
- mes "There's nothing else special to teach you.";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("You're already a Swordsman!");
+ next();
+ mes("[Trainer Adric]");
+ mes("There's nothing else special to teach you.");
+ cutin("", 255);
+ close();
} else {
- mes "[Trainer Adric]";
- mes "Hey! You already have a job!";
- next;
- mes "[Trainer Adric]";
- mes "Go away!";
- cutin "", 255;
- close;
+ mes("[Trainer Adric]");
+ mes("Hey! You already have a job!");
+ next();
+ mes("[Trainer Adric]");
+ mes("Go away!");
+ cutin("", 255);
+ close();
}
}
@@ -8977,102 +9156,102 @@ iz_ac02_d,60,51,5 duplicate(Swordman Trainer#ac) Swordman Trainer#ac_d 4_M_SWORD
//- Swordman Assistant (Neals) -
iz_ac02,53,48,5 script Swordman Assistant#ac 4_M_KY_KNT,{
if (questprogress(4269) != 2) {
- mes "[Assitant Trainer Neals]";
- mes "You want to learn about Swordsman?";
- mes "If you want to take the class you must register and come back here.";
- close;
+ mes("[Assitant Trainer Neals]");
+ mes("You want to learn about Swordsman?");
+ mes("If you want to take the class you must register and come back here.");
+ close();
}
if (Class == Job_Novice && JobLevel >= 10) {
- mes "[Assitant Trainer Neals]";
- mes "As you are at the enough job level, you don't need any more lecturing.";
- next;
- if(select("Then I will stop.", "Become a swordsman right away!") == 1) {
- mes "[Assitant Trainer Neals]";
- mes "Before the training starts, you already raised your level.";
- mes "Impressive.";
- close;
- }
- mes "[Assitant Trainer Neals]";
- mes "It seems that you have fully grown.";
- mes "Head to the Swordsman Guild to become a swordsman!";
- next;
- mes "[Assitant Trainer Neals]";
- mes "The Swordsman Guild is located in Izlude square";
- mes "From the center, go west.";
- mes "It should be easy to find.";
- cutin "", 255;
+ mes("[Assitant Trainer Neals]");
+ mes("As you are at the enough job level, you don't need any more lecturing.");
+ next();
+ if (select("Then I will stop.", "Become a swordsman right away!") == 1) {
+ mes("[Assitant Trainer Neals]");
+ mes("Before the training starts, you already raised your level.");
+ mes("Impressive.");
+ close();
+ }
+ mes("[Assitant Trainer Neals]");
+ mes("It seems that you have fully grown.");
+ mes("Head to the Swordsman Guild to become a swordsman!");
+ next();
+ mes("[Assitant Trainer Neals]");
+ mes("The Swordsman Guild is located in Izlude square");
+ mes("From the center, go west.");
+ mes("It should be easy to find.");
+ cutin("", 255);
if (questprogress(1230))
- erasequest 1230;
- close;
+ erasequest(1230);
+ close();
} else {
if (Class == Job_Swordman) {
- mes "[Assitant Trainer Neals]";
- mes "You are now a swordsman!";
- mes "There's nothing else special to teach you.";
- close;
+ mes("[Assitant Trainer Neals]");
+ mes("You are now a swordsman!");
+ mes("There's nothing else special to teach you.");
+ close();
} else if (Class != Job_Novice) {
- mes "[Assitant Trainer Neals]";
- mes "You already have another job!";
- mes "Go away!";
- close;
+ mes("[Assitant Trainer Neals]");
+ mes("You already have another job!");
+ mes("Go away!");
+ close();
} else {
if (questprogress(1229) == 2) {
- mes "[Assitant Trainer Neals]";
- mes "Let's repeat the prerequisite of Swordsmanhood, this is a review study!";
- next;
- while(1) {
+ mes("[Assitant Trainer Neals]");
+ mes("Let's repeat the prerequisite of Swordsmanhood, this is a review study!");
+ next();
+ while(true) {
switch(select("Swordman key points", "Heightened Attack and defense.", "Related stats","Additional Swordman classes?", "I learned enough already.")) {
case 1:
- mes "[Assitant Trainer Neals]";
- mes "Swordsman uses strong constitution; shrugs off damage easily from foes and when in a party, is a leader and the protector of others.";
- next;
+ mes("[Assitant Trainer Neals]");
+ mes("Swordsman uses strong constitution); shrugs off damage easily from foes and when in a party, is a leader and the protector of others.");
+ next();
break;
case 2:
- mes "[Assitant Trainer Neals]";
- mes "Swordsman prefer to use spears, two-handed swords or combination sword and shield.";
- next;
- mes "[Assitant Trainer Neals]";
- mes "Also the swordsman's vitality is normally high making them able to carry massive amounts of weight.";
- next;
+ mes("[Assitant Trainer Neals]");
+ mes("Swordsman prefer to use spears, two-handed swords or combination sword and shield.");
+ next();
+ mes("[Assitant Trainer Neals]");
+ mes("Also the swordsman's vitality is normally high making them able to carry massive amounts of weight.");
+ next();
break;
case 3:
- mes "[Assitant Trainer Neals]";
- mes "Desired stats are usually ^0000FFStr^000000, ^0000FFAgi^000000, ^0000FFVit^000000, ^0000FFDex^000000 Of course this is all up to you";
- next;
- mes "[Assitant Trainer Neals]";
- mes "^0000FFVit^000000 affects^FF0000HP recovery rate^000000.";
- mes "^0000FFStr^000000 affects ^FF0000 strength and attacking power^000000.";
- mes "^0000FFDex^00000 increases ^FF0000 accuracy of your attack^000000.";
- next;
- mes "[Trainer Adric]";
- mes "^0000FFAgi^000000 increases ^FF0000 attacking speed^000000 and ^FF0000 evasion rate^000000.";
- mes "^0000FFLuk^000000 affects ^FF0000 probability of critical ^000000.";
- next;
+ mes("[Assitant Trainer Neals]");
+ mes("Desired stats are usually ^0000FFStr^000000, ^0000FFAgi^000000, ^0000FFVit^000000, ^0000FFDex^000000 Of course this is all up to you");
+ next();
+ mes("[Assitant Trainer Neals]");
+ mes("^0000FFVit^000000 affects^FF0000HP recovery rate^000000.");
+ mes("^0000FFStr^000000 affects ^FF0000 strength and attacking power^000000.");
+ mes("^0000FFDex^00000 increases ^FF0000 accuracy of your attack^000000.");
+ next();
+ mes("[Trainer Adric]");
+ mes("^0000FFAgi^000000 increases ^FF0000 attacking speed^000000 and ^FF0000 evasion rate^000000.");
+ mes("^0000FFLuk^000000 affects ^FF0000 probability of critical ^000000.");
+ next();
break;
case 4:
- mes "[Assitant Trainer Neals]";
- mes "After changing to a Swordsman you can change to a ^0000FF Knight ^000000 or ^0000FFCrusader^000000.";
- next;
- mes "[Assitant Trainer Neals]";
- mes "Go raise your strength while figuring out if you're offensive or defensive.";
- mes "This is something you should do.";
+ mes("[Assitant Trainer Neals]");
+ mes("After changing to a Swordsman you can change to a ^0000FF Knight ^000000 or ^0000FFCrusader^000000.");
+ next();
+ mes("[Assitant Trainer Neals]");
+ mes("Go raise your strength while figuring out if you're offensive or defensive.");
+ mes("This is something you should do.");
break;
case 5:
- mes "[Assitant Trainer Neals]";
- mes "Ask again anytime.";
- mes "I'll answer everything!";
- close;
+ mes("[Assitant Trainer Neals]");
+ mes("Ask again anytime.");
+ mes("I'll answer everything!");
+ close();
}
- mes "[Assitant Trainer Neals]";
- mes "Let's repeat the prequisite of swordsmanhood,";
- mes "this is a review study!";
- next;
+ mes("[Assitant Trainer Neals]");
+ mes("Let's repeat the prequisite of swordsmanhood,");
+ mes("this is a review study!");
+ next();
}
} else {
- mes "[Assitant Trainer Neals]";
- mes "Feeble people like you can become a gallant Swordsman soon.";
- mes "Yes, you can. Be ambitious.";
- close;
+ mes("[Assitant Trainer Neals]");
+ mes("Feeble people like you can become a gallant Swordsman soon.");
+ mes("Yes, you can. Be ambitious.");
+ close();
}
}
}
@@ -9087,264 +9266,264 @@ iz_ac02_d,53,48,5 duplicate(Swordman Assistant#ac) Swordman Assistant#ac_d 4_M_K
//- Mage Chuck -
iz_ac02,148,110,3 script Mage Chuck#ac 4_M_JOB_WIZARD,{
- cutin "nov_magicsoul01.bmp", 2;
+ cutin("nov_magicsoul01", 2);
if (Class == Job_Novice) {
if (questprogress(4269) == 2) {
- mes "[Mage Chuck]";
- mes "I am the one in charge of magic studies in Criatura Academy";
- mes "^0000FFA genius Mage^000000~!";
- mes "^0000FFMage Chuck^000000.";
- next;
- mes "[Mage Chuck]";
- mes "Someone like you who has magic talent but doesn't know how to become a Mage.";
- mes "For a ^FF0000Novice^000000 like you I'm offering my training.";
- next;
- mes "[Mage Chuck]";
- mes "How about it?";
- mes "Do you wanna try out my priceless lessons?";
- next;
- if(select("I will learn.", "No thanks!") == 2) {
- mes "[Mage Chuck]";
- mes "If you don't listen to me, you'll regret of it.";
- next;
- mes "[Mage Chuck]";
- mes "When you change your mind, come back to me.";
+ mes("[Mage Chuck]");
+ mes("I am the one in charge of magic studies in Criatura Academy");
+ mes("^0000FFA genius Mage^000000~!");
+ mes("^0000FFMage Chuck^000000.");
+ next();
+ mes("[Mage Chuck]");
+ mes("Someone like you who has magic talent but doesn't know how to become a Mage.");
+ mes("For a ^FF0000Novice^000000 like you I'm offering my training.");
+ next();
+ mes("[Mage Chuck]");
+ mes("How about it?");
+ mes("Do you wanna try out my priceless lessons?");
+ next();
+ if (select("I will learn.", "No thanks!") == 2) {
+ mes("[Mage Chuck]");
+ mes("If you don't listen to me, you'll regret of it.");
+ next();
+ mes("[Mage Chuck]");
+ mes("When you change your mind, come back to me.");
} else {
- mes "[Mage Chuck]";
- mes "Good! If that's your decision, I will do my best.";
- mes "How much you learn depends on your own effort.";
- next;
- mes "[Mage Chuck]";
- mes "To become a Mage, you need to be very studious.";
- mes "Ask me what you want to learn!";
- while(1) {
- next;
+ mes("[Mage Chuck]");
+ mes("Good! If that's your decision, I will do my best.");
+ mes("How much you learn depends on your own effort.");
+ next();
+ mes("[Mage Chuck]");
+ mes("To become a Mage, you need to be very studious.");
+ mes("Ask me what you want to learn!");
+ while(true) {
+ next();
switch(select("What is a Mage's primary role?", "What ^8B4513stats^000000 are good for Mage?", "What are Mage's ^8B4513skill^000000s?", "Can I try some skills?!", "I want to ^8B451Cchange job^000000 to Mage!", "I'll get back to you later")) {
case 1:
- mes "[Mage Chuck]";
- mes "A Mage's primary role is to use magic to inflict powerful attacks.";
- next;
- mes "[Mage Chuck]";
- mes "We have low defense but have various attack ^006400skills^000000.";
- mes "Be careful about the damage you take as a Mage.";
- next;
- mes "[Mage Chuck]";
- mes "If you remember these little things you can become a great Mage.";
- mes "Walk with pride as you grow in magic power~";
- next;
- mes "[Mage Chuck]";
- mes "Anything else you want to know about Mages?";
+ mes("[Mage Chuck]");
+ mes("A Mage's primary role is to use magic to inflict powerful attacks.");
+ next();
+ mes("[Mage Chuck]");
+ mes("We have low defense but have various attack ^006400skills^000000.");
+ mes("Be careful about the damage you take as a Mage.");
+ next();
+ mes("[Mage Chuck]");
+ mes("If you remember these little things you can become a great Mage.");
+ mes("Walk with pride as you grow in magic power~");
+ next();
+ mes("[Mage Chuck]");
+ mes("Anything else you want to know about Mages?");
break;
case 2:
- mes "[Mage Chuck]";
- mes "Doesn't a Mage remind you something solid?";
- next;
- mes "[Mage Chuck]";
- mes "Sheer physical force is for brutes who increase their ^006400STR^000000.";
- mes "For a ^0000FFgenius Mage^000000 like myself that's a waste.";
- next;
- mes "[Mage Chuck]";
- mes "Become wise and clever with your^006400 mind power^000000.";
- mes "This is Mage's primary attribute- ^006400INT^000000, it's what's most important!";
- next;
- mes "[Mage Chuck]";
- mes "If you remember these little things you can become a great Mage.";
- mes "Walk with pride as you grow in magic power~";
- next;
- mes "[Mage Chuck]";
- mes "Anything else you want to know about Mages?";
+ mes("[Mage Chuck]");
+ mes("Doesn't a Mage remind you something solid?");
+ next();
+ mes("[Mage Chuck]");
+ mes("Sheer physical force is for brutes who increase their ^006400STR^000000.");
+ mes("For a ^0000FFgenius Mage^000000 like myself that's a waste.");
+ next();
+ mes("[Mage Chuck]");
+ mes("Become wise and clever with your^006400 mind power^000000.");
+ mes("This is Mage's primary attribute- ^006400INT^000000, it's what's most important!");
+ next();
+ mes("[Mage Chuck]");
+ mes("If you remember these little things you can become a great Mage.");
+ mes("Walk with pride as you grow in magic power~");
+ next();
+ mes("[Mage Chuck]");
+ mes("Anything else you want to know about Mages?");
break;
case 3:
- mes "[Mage Chuck]";
- mes "Mages have powerful magical skills.";
- mes "The basis of these skills are the attributes ^006400<Water, Wind, Earth, Fire>^000000.";
- next;
- mes "[Mage Chuck]";
- mes "As each element has its own^006400 range attack magic^000000, these are useful when dealing with many enemies~!!";
- next;
- mes "[Mage Chuck]";
- mes "Ok enough talk.";
- mes "I will show you my power by offering a demonstration.";
- mes "You should be honored to be witnessing this!";
- next;
- mes "[Mage Chuck]";
+ mes("[Mage Chuck]");
+ mes("Mages have powerful magical skills.");
+ mes("The basis of these skills are the attributes ^006400<Water, Wind, Earth, Fire>^000000.");
+ next();
+ mes("[Mage Chuck]");
+ mes("As each element has its own^006400 range attack magic^000000, these are useful when dealing with many enemies~!!");
+ next();
+ mes("[Mage Chuck]");
+ mes("Ok enough talk.");
+ mes("I will show you my power by offering a demonstration.");
+ mes("You should be honored to be witnessing this!");
+ next();
+ mes("[Mage Chuck]");
switch(rand(1, 7)) {
case 1:
- mes "Detecting hidden enemies";
- mes "^006400Sight^000000 !!!!";
- specialeffect EF_SIGHT;
+ mes("Detecting hidden enemies");
+ mes("^006400Sight^000000 !!!!");
+ specialeffect(EF_SIGHT);
break;
case 2:
- mes "Deflect all physical attacks";
- mes "^006400Safety Wall^000000!!!!";
- specialeffect EF_GLASSWALL;
+ mes("Deflect all physical attacks");
+ mes("^006400Safety Wall^000000!!!!");
+ specialeffect(EF_GLASSWALL);
break;
case 3:
- mes "Fire damage premier ~!!!";
- mes "^006400Fire Ball^000000!!!!";
- specialeffect EF_FIREBALL;
+ mes("Fire damage premier ~!!!");
+ mes("^006400Fire Ball^000000!!!!");
+ specialeffect(EF_FIREBALL);
break;
case 4:
- mes "Wall of Fire~!!";
- mes "^006400Fire Wall^000000!!!!";
- specialeffect EF_FIREWALL;
+ mes("Wall of Fire~!!");
+ mes("^006400Fire Wall^000000!!!!");
+ specialeffect(EF_FIREWALL);
break;
case 5:
- mes "Want a taste of thunder?";
- mes "^006400Lightening Bolt^000000!!!!";
- specialeffect EF_LIGHTBOLT;
+ mes("Want a taste of thunder?");
+ mes("^006400Lightening Bolt^000000!!!!");
+ specialeffect(EF_LIGHTBOLT);
break;
case 6:
- mes "Get lost in the storm!";
- mes "^006400Thunder Storm^000000!!!!";
- specialeffect EF_THUNDERSTORM;
+ mes("Get lost in the storm!");
+ mes("^006400Thunder Storm^000000!!!!");
+ specialeffect(EF_THUNDERSTORM);
break;
case 7:
- mes "What killed the dinosaurs?";
- mes "The Ice Age!";
- mes "^006400Frost Diver^000000!!!!";
- specialeffect EF_FROSTDIVER2;
+ mes("What killed the dinosaurs?");
+ mes("The Ice Age!");
+ mes("^006400Frost Diver^000000!!!!");
+ specialeffect(EF_FROSTDIVER2);
break;
}
- next;
- mes "[Mage Chuck]";
- mes "Doesn't it shake your heart to see my skills?";
- mes "You won't get hurt so don't worry~!";
- next;
- mes "[Mage Chuck]";
- mes "Anything else you want to know about Mages?";
+ next();
+ mes("[Mage Chuck]");
+ mes("Doesn't it shake your heart to see my skills?");
+ mes("You won't get hurt so don't worry~!");
+ next();
+ mes("[Mage Chuck]");
+ mes("Anything else you want to know about Mages?");
break;
case 4:
if (isequippedcnt(Mage_Manual) > 0 || countitem(Mage_Manual) > 0) {
- mes "[Mage Chuck]";
- mes "I think you already received a ^FF0000Mage Manual^000000~!";
- mes "I can't offer you two of them.";
- mes "One is good enough~!";
- next;
- mes "[Mage Chuck]";
- mes "Try out the skills after equipping the^006400 Mage Manual^000000.";
- mes "Then hunt with the skills given to you in your skill window.";
- next;
- mes "[Mage Chuck]";
- mes "Anything else you want to know about Mages?";
+ mes("[Mage Chuck]");
+ mes("I think you already received a ^FF0000Mage Manual^000000~!");
+ mes("I can't offer you two of them.");
+ mes("One is good enough~!");
+ next();
+ mes("[Mage Chuck]");
+ mes("Try out the skills after equipping the^006400 Mage Manual^000000.");
+ mes("Then hunt with the skills given to you in your skill window.");
+ next();
+ mes("[Mage Chuck]");
+ mes("Anything else you want to know about Mages?");
} else {
if (checkweight(Yggdrasilberry, 1)) {
- mes "[Mage Chuck]";
- mes "Right, you must be set with your heart firm on becoming a Mage.";
- next;
- mes "[Mage Chuck]";
- mes "OK! Then I'll give you a chance to taste what it is to become a Mage.";
- mes "Take this ^006400Mage Manual^000000.";
- mes "I'll let you borrow it!";
- next;
- mes "[Mage Chuck]";
- mes "Try out the skills after equipping the^006400 Mage Manual^000000.";
- mes "Then hunt with the skills given to you in your skill window.";
- next;
- mes "[Mage Chuck]";
- mes "It's a valuable item so don't lose it.";
- mes "If you want to become a genius ^0000FFMage^000000 like me, follow in my path.";
- getitem Mage_Manual, 1; // Mage_Manual
+ mes("[Mage Chuck]");
+ mes("Right, you must be set with your heart firm on becoming a Mage.");
+ next();
+ mes("[Mage Chuck]");
+ mes("OK! Then I'll give you a chance to taste what it is to become a Mage.");
+ mes("Take this ^006400Mage Manual^000000.");
+ mes("I'll let you borrow it!");
+ next();
+ mes("[Mage Chuck]");
+ mes("Try out the skills after equipping the^006400 Mage Manual^000000.");
+ mes("Then hunt with the skills given to you in your skill window.");
+ next();
+ mes("[Mage Chuck]");
+ mes("It's a valuable item so don't lose it.");
+ mes("If you want to become a genius ^0000FFMage^000000 like me, follow in my path.");
+ getitem(Mage_Manual, 1); // Mage_Manual
break;
} else {
- mes "[Mage Chuck]";
- mes "If you want to become a Mage lighten up your inventory load.";
- next;
- mes "[Mage Chuck]";
- mes "Anything else you want to know about Mages?";
+ mes("[Mage Chuck]");
+ mes("If you want to become a Mage lighten up your inventory load.");
+ next();
+ mes("[Mage Chuck]");
+ mes("Anything else you want to know about Mages?");
}
}
break;
case 5:
if (questprogress(9264) == 2) {
- mes "[Mage Chuck]";
- mes "Ah~ you want to change to a magician?";
- next;
- mes "[Mage Chuck]";
- mes "I seem to have used a great deal of magic sending you before...";
- mes "Because of too many students like you, I cannot send you again!";
- next;
- mes "[Mage Chuck]";
- mes "If you really want to go, then please go speak to the Kafra Staff and use their Teleport Service.";
+ mes("[Mage Chuck]");
+ mes("Ah~ you want to change to a magician?");
+ next();
+ mes("[Mage Chuck]");
+ mes("I seem to have used a great deal of magic sending you before...");
+ mes("Because of too many students like you, I cannot send you again!");
+ next();
+ mes("[Mage Chuck]");
+ mes("If you really want to go, then please go speak to the Kafra Staff and use their Teleport Service.");
} else {
- mes "[Mage Chuck]";
- mes "Ah~ you want to change to a magician?";
- next;
- mes "[Mage Chuck]";
- mes "To change your job to a magician, you must visit the Magician's Guild.";
- mes "I can send you close to there, but...";
- next;
- mes "[Mage Chuck]";
- mes "You must first reach ^006400Job level 10^000000 and ^006400Basic Skill level 9^000000.";
- next;
- if(getskilllv("NV_BASIC") < 9) {
- mes "[Mage Chuck]";
- mes "You don't seem ready!";
- mes "If you want to change your job, you must first be ^006400Job level 10^000000 and ^006400Basic Skill level 9^000000.";
- mes "Then come back and see me!";
- next;
- mes "[Mage Chuck]";
- mes "What else do you want to know about magicians?";
+ mes("[Mage Chuck]");
+ mes("Ah~ you want to change to a magician?");
+ next();
+ mes("[Mage Chuck]");
+ mes("To change your job to a magician, you must visit the Magician's Guild.");
+ mes("I can send you close to there, but...");
+ next();
+ mes("[Mage Chuck]");
+ mes("You must first reach ^006400Job level 10^000000 and ^006400Basic Skill level 9^000000.");
+ next();
+ if (getskilllv("NV_BASIC") < 9) {
+ mes("[Mage Chuck]");
+ mes("You don't seem ready!");
+ mes("If you want to change your job, you must first be ^006400Job level 10^000000 and ^006400Basic Skill level 9^000000.");
+ mes("Then come back and see me!");
+ next();
+ mes("[Mage Chuck]");
+ mes("What else do you want to know about magicians?");
} else {
- mes "[Mage Chuck]";
- mes "Ah, it seems that you already have those requirements!";
- mes "Do you want to change your job immediately?";
- next;
- if(select("No", "Yes") == 1) {
- mes "[Mage Chuck]";
- mes "Okay, when you have decided please come back!";
- next;
- mes "[Mage Chuck]";
- mes "What else do you want to know about magicians?";
+ mes("[Mage Chuck]");
+ mes("Ah, it seems that you already have those requirements!");
+ mes("Do you want to change your job immediately?");
+ next();
+ if (select("No", "Yes") == 1) {
+ mes("[Mage Chuck]");
+ mes("Okay, when you have decided please come back!");
+ next();
+ mes("[Mage Chuck]");
+ mes("What else do you want to know about magicians?");
} else {
- mes "[Mage Chuck]";
- mes "In that case, I'll use magic to send you near ^8B4513Geffen^000000, where the Magician's Guild is.";
- mes "It is there that you will be able to become a magician.";
- next;
- mes "[Mage Chuck]";
- mes "Once I send you, you will speak to the ^0000FFMage's Guild Guide^000000.";
- mes "They will be able to assist you further.";
- mes "Let's go! I'm ready to send you there!";
- next;
- mes "[Mage Chuck]";
- mes "Whoosh Whoosh";
- mes "Ooo... Ooo... Hum... Hmm!";
- mes "Teleport!";
- cutin "", 255;
- next;
- setquest 9264;
- savepoint "geffen", 120, 38;
- warp "gef_fild07", 88, 205;
+ mes("[Mage Chuck]");
+ mes("In that case, I'll use magic to send you near ^8B4513Geffen^000000, where the Magician's Guild is.");
+ mes("It is there that you will be able to become a magician.");
+ next();
+ mes("[Mage Chuck]");
+ mes("Once I send you, you will speak to the ^0000FFMage's Guild Guide^000000.");
+ mes("They will be able to assist you further.");
+ mes("Let's go! I'm ready to send you there!");
+ next();
+ mes("[Mage Chuck]");
+ mes("Whoosh Whoosh");
+ mes("Ooo... Ooo... Hum... Hmm!");
+ mes("Teleport!");
+ cutin("", 255);
+ next();
+ setquest(9264);
+ savepoint("geffen", 120, 38);
+ warp("gef_fild07", 88, 205);
end;
}
}
}
break;
case 6:
- mes "[Mage Chuck]";
- mes "Yes~ Go meet other teachers then come back.";
- mes "Of course, Mages are most alluring of them all.~";
- next;
- mes "[Mage Chuck]";
- mes "You'll choose Mage again I have no doubt about it~~!!";
- mes "Haha see you later~";
+ mes("[Mage Chuck]");
+ mes("Yes~ Go meet other teachers then come back.");
+ mes("Of course, Mages are most alluring of them all.~");
+ next();
+ mes("[Mage Chuck]");
+ mes("You'll choose Mage again I have no doubt about it~~!!");
+ mes("Haha see you later~");
break;
}
break;
}
}
} else {
- mes "[Mage Chuck]";
- mes "First you'll have to complete your ^8B4513registration^000000 at the Academy front desk.";
- mes "If you go to the 1st floor of the academy someone will help you register.";
+ mes("[Mage Chuck]");
+ mes("First you'll have to complete your ^8B4513registration^000000 at the Academy front desk.");
+ mes("If you go to the 1st floor of the academy someone will help you register.");
}
} else {
- mes "[Mage Chuck]";
- mes "You're no longer the innocent ^8b4513Novice^000000 who doesn't know anything~?";
- mes "I don't have anything to teach you~!";
+ mes("[Mage Chuck]");
+ mes("You're no longer the innocent ^8b4513Novice^000000 who doesn't know anything~?");
+ mes("I don't have anything to teach you~!");
}
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
}
@@ -9359,96 +9538,96 @@ gef_fild07,90,208,6 script #acmageguide HIDDEN_NPC,7,7,{
OnTouch:
if (questprogress(9264) == 1) {
- mes "[Magician's Guild Guide]";
- mes "It seems that you've come from Criatura Academy.";
- next;
- mes "[Magician's Guild Guide]";
- mes "You look a little exhausted...";
- mes "Though.. to become a magician is exhausting in a way...";
- next;
- mes "[Magician's Guild Guide]";
- mes "First off, my task is to guide you to the Mage's guild!";
- mes "Go straight to the right!";
- mes "After ^8B4513crossing the bridge^000000, you will see the entrance to ^FF0000Geffen^000000!";
- next;
- mes "[Magician's Guild Guide]";
- mes "Once there,";
- mes "You should find our <NAVI>^4D4DFF[Magician's Guild Guide]^000000<INFO>geffen,43,123,</INFO></NAVI>.";
- mes "Speak to him, he will continue to guide you to the Magician's Guild!";
+ mes("[Magician's Guild Guide]");
+ mes("It seems that you've come from Criatura Academy.");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("You look a little exhausted...");
+ mes("Though.. to become a magician is exhausting in a way...");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("First off, my task is to guide you to the Mage's guild!");
+ mes("Go straight to the right!");
+ mes("After ^8B4513crossing the bridge^000000, you will see the entrance to ^FF0000Geffen^000000!");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Once there,");
+ mes("You should find our <NAVI>^4D4DFF[Magician's Guild Guide]^000000<INFO>geffen,43,123,</INFO></NAVI>.");
+ mes("Speak to him, he will continue to guide you to the Magician's Guild!");
nov_3_magician = 2;
- completequest 9264;
- erasequest 9264;
- setquest 9265;
- close;
+ completequest(9264);
+ erasequest(9264);
+ setquest(9265);
+ close();
}
}
//- Magician's Guild Guide -
gef_fild07,89,208,6 script Magician's Guild Guide#1 2_F_MAGICMASTER,{
if (questprogress(9265) == 1) {
- mes "[Magician's Guild Guide]";
- mes "First off, my task is to guide you to the Mage's guild!";
- mes "Go straight to the right!";
- mes "After ^8B4513crossing the bridge^000000, you will see the entrance to ^FF0000Geffen^000000!";
- next;
- mes "[Magician's Guild Guide]";
- mes "Once there,";
- mes "You should find our <NAVI>^4D4DFF[Magician's Guild Guide]^000000<INFO>geffen,43,123,</INFO></NAVI>.";
- mes "Speak to him, he will continue to guide you to the Magician's Guild!";
+ mes("[Magician's Guild Guide]");
+ mes("First off, my task is to guide you to the Mage's guild!");
+ mes("Go straight to the right!");
+ mes("After ^8B4513crossing the bridge^000000, you will see the entrance to ^FF0000Geffen^000000!");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Once there,");
+ mes("You should find our <NAVI>^4D4DFF[Magician's Guild Guide]^000000<INFO>geffen,43,123,</INFO></NAVI>.");
+ mes("Speak to him, he will continue to guide you to the Magician's Guild!");
} else {
- mes "[Magician's Guild Guide]";
- mes "I am in charge of bringing ^8B4513Criatura Academy^000000 students to the Mage's guild.";
- mes "These days the academy has a lot of new students so I'm happy to be working.";
+ mes("[Magician's Guild Guide]");
+ mes("I am in charge of bringing ^8B4513Criatura Academy^000000 students to the Mage's guild.");
+ mes("These days the academy has a lot of new students so I'm happy to be working.");
}
- close;
+ close();
OnInit:
- //AddQuestInfo 9265 1 0
- //SetQuestQuest 9265 9264 1
+ //Addquestinfo 9265 1 0
+ //setquestQuest 9265 9264 1
end;
}
//- Magician's Guild Guide -
geffen,43,123,6 script Magician's Guild Guide#2 2_F_MAGICMASTER,{
if (questprogress(9265) == 1) {
- mes "[Magician's Guild Guide]";
- mes "Ah, you made it all the way here. Very good for an academy student!";
- next;
- mes "[Magician's Guild Guide]";
- mes "Before this step-by-step guide, they would get lost and frustrated.";
- next;
- mes "[Magician's Guild Guide]";
- mes "Anyways, let's keep this short.";
- mes "I will now tell you the route to the Mage's Guild!";
- mes "The way to go is quite simple...";
- mes "From here, go toward 11 o'clock, you will see the Mage's Guild.";
- next;
- mes "[Magician's Guild Guide]";
- mes "Just go inside, and upstairs a little to find the";
- mes "<NAVI>^4D4DFF[Mage Guildsman]^000000<INFO>geffen_in,164,124,</INFO></NAVI>";
- mes "From there, he will assist you in becoming a Mage.";
- completequest 9265;
- erasequest 9265;
- setquest 9266;
+ mes("[Magician's Guild Guide]");
+ mes("Ah, you made it all the way here. Very good for an academy student!");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Before this step-by-step guide, they would get lost and frustrated.");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Anyways, let's keep this short.");
+ mes("I will now tell you the route to the Mage's Guild!");
+ mes("The way to go is quite simple...");
+ mes("From here, go toward 11 o'clock, you will see the Mage's Guild.");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Just go inside, and upstairs a little to find the");
+ mes("<NAVI>^4D4DFF[Mage Guildsman]^000000<INFO>geffen_in,164,124,</INFO></NAVI>");
+ mes("From there, he will assist you in becoming a Mage.");
+ completequest(9265);
+ erasequest(9265);
+ setquest(9266);
} else if (questprogress(9266) == 1) {
- mes "[Magician's Guild Guide]";
- mes "The way to go is quite simple...";
- mes "From here, go toward 11 o'clock, you will see the Mage's Guild.";
- next;
- mes "[Magician's Guild Guide]";
- mes "Just go inside, and upstairs a little to find the";
- mes "<NAVI>^4D4DFF[Mage Guildsman]^000000<INFO>geffen_in,164,124,</INFO></NAVI>";
- mes "From there, he will assist you in becoming a Mage.";
+ mes("[Magician's Guild Guide]");
+ mes("The way to go is quite simple...");
+ mes("From here, go toward 11 o'clock, you will see the Mage's Guild.");
+ next();
+ mes("[Magician's Guild Guide]");
+ mes("Just go inside, and upstairs a little to find the");
+ mes("<NAVI>^4D4DFF[Mage Guildsman]^000000<INFO>geffen_in,164,124,</INFO></NAVI>");
+ mes("From there, he will assist you in becoming a Mage.");
} else {
- mes "[Magician's Guild Guide]";
- mes "I am in charge of bringing ^8B4513Criatura Academy^000000 students to the Mage's guild.";
- mes "These days the academy has a lot of new students so I'm happy to be working.";
+ mes("[Magician's Guild Guide]");
+ mes("I am in charge of bringing ^8B4513Criatura Academy^000000 students to the Mage's guild.");
+ mes("These days the academy has a lot of new students so I'm happy to be working.");
}
- close;
+ close();
OnInit:
- //AddQuestInfo 9266 1 0
- //SetQuestQuest 9266 9265 1
+ //Addquestinfo 9266 1 0
+ //setquestQuest 9266 9265 1
end;
}
@@ -9456,407 +9635,407 @@ geffen,43,123,6 script Magician's Guild Guide#2 2_F_MAGICMASTER,{
//- Salim Hamid -
iz_ac02,50,169,3 script Salim Hamid#ac 1_M_MERCHANT,{
- disable_items;
+ disable_items();
if (!checkweight(Emperium, 3) || (MaxWeight - Weight) < 10000) {
- mes "- As you are overloaded with so many items, quest can't be proceeded. -";
- close;
+ mes("- As you are overloaded with so many items, quest can't be proceeded. -");
+ close();
}
if (BaseLevel > 15 || Class != Job_Novice) {
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Ehm?";
- mes "This class only for Novices just starting their adventure.";
- next;
- mes "[Salim Hamid]";
- mes "Looking at you, you seem like you need some help. How about going to another place?";
- close2;
- cutin "", 255;
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Ehm?");
+ mes("This class only for Novices just starting their adventure.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Looking at you, you seem like you need some help. How about going to another place?");
+ close2();
+ cutin("", 255);
end;
}
if (questprogress(4269) < 1) {
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Oh~";
- mes "At a glance, hey, you like the lost baby sheep.. Here the non registered passengers are prohibited.";
- next;
- mes "[Salim Hamid]";
- mes "If you want to look around this area without physical prohibiton, you would better register first at the info desk at the Academy entrance.";
- close2;
- cutin "", 255;
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Oh~");
+ mes("At a glance, hey, you like the lost baby sheep.. Here the non registered passengers are prohibited.");
+ next();
+ mes("[Salim Hamid]");
+ mes("If you want to look around this area without physical prohibiton, you would better register first at the info desk at the Academy entrance.");
+ close2();
+ cutin("", 255);
end;
}
if (JobLevel >= 10) {
- cutin "aca_salim01.bmp", 2;
- mes "[Salim Hamid]";
- mes "Ho Oh~";
- mes "You look like you're ready to change to a first job.";
- next;
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "How about it? Are you interested in the way of the Merchant? If so, I may be helpful for you.";
- next;
- if(select("Not interest.", "Interested.") == 1) {
- mes "[Salim Hamid]";
- mes "Oh.. No...";
- mes "Well, there is no way. Our Criatura Academy put the priority to the adventurer's choice.";
- close2;
- cutin "", 255;
+ cutin("aca_salim01", 2);
+ mes("[Salim Hamid]");
+ mes("Ho Oh~");
+ mes("You look like you're ready to change to a first job.");
+ next();
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mes("How about it? Are you interested in the way of the Merchant? If so, I may be helpful for you.");
+ next();
+ if (select("Not interest.", "Interested.") == 1) {
+ mes("[Salim Hamid]");
+ mes("Oh.. No...");
+ mes("Well, there is no way. Our Criatura Academy put the priority to the adventurer's choice.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Salim Hamid]";
- mes "Good~ Then, I will send you to the town of Alberta. There you can become a merchant.";
- next;
- mes "[Salim Hamid]";
- mes "Do not go elsewhere, immediately enter the town.";
- mes "Find the <NAVI>[Forge]<INFO>alberta_in,75 48</INFO></NAVI>.";
- next;
- if(select("Not yet ready.", "I'm Ready!") == 1) {
- mes "[Salim Hamid]";
- mes "Yes, I understand. When you are ready, let me see you again.";
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Good~ Then, I will send you to the town of Alberta. There you can become a merchant.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Do not go elsewhere, immediately enter the town.");
+ mes("Find the <NAVI>[Forge]<INFO>alberta_in,75 48</INFO></NAVI>.");
+ next();
+ if (select("Not yet ready.", "I'm Ready!") == 1) {
+ mes("[Salim Hamid]");
+ mes("Yes, I understand. When you are ready, let me see you again.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Salim Hamid]";
- mes "Good~ Please go to the Forge and find me.";
- close2;
- setquest 12307;
- cutin "", 255;
- warp "pay_fild03", 388, 68;
+ mes("[Salim Hamid]");
+ mes("Good~ Please go to the Forge and find me.");
+ close2();
+ setquest(12307);
+ cutin("", 255);
+ warp("pay_fild03", 388, 68);
end;
}
} else {
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "Hahaha. "+strcharinfo(0)+" you have completed the Merchant theory course at the Criatura Academy.";
- next;
- mes "[Salim Hamid]";
- mes "When you want to test the other battle skills in the Merchant's Manual,";
- mes "visit <NAVI>[Battle Trainer Subino]<INFO>iz_ac01,59,83</INFO></NAVI> on the 1st floor.";
- next;
- mes "[Salim Hamid]";
- mes "You can fully experience the battle related practice through him.";
- next;
- mes "[Salim Hamid]";
- mes "The guide for the next course "+strcharinfo(0)+" will be serviced when you reach job level 10. Good luck.";
- close2;
- cutin "", 255;
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mesf("Hahaha. %s you have completed the Merchant theory course at the Criatura Academy.", strcharinfo(PC_NAME));
+ next();
+ mes("[Salim Hamid]");
+ mes("When you want to test the other battle skills in the Merchant's Manual,");
+ mes("visit <NAVI>[Battle Trainer Subino]<INFO>iz_ac01,59,83</INFO></NAVI> on the 1st floor.");
+ next();
+ mes("[Salim Hamid]");
+ mes("You can fully experience the battle related practice through him.");
+ next();
+ mes("[Salim Hamid]");
+ mesf("The guide for the next course %s will be serviced when you reach job level 10. Good luck.", strcharinfo(PC_NAME));
+ close2();
+ cutin("", 255);
end;
}
if (questprogress(12302) < 1) {
- cutin "aca_salim02.bmp", 2;
- mes "[Salim Hamid]";
- mes "Oh~";
- mes "Hey, you like a lost sheep. Do you know why you've come here?";
- next;
- if(select("Don't Know", "Know.") == 1) {
- mes "[Salim Hamid]";
- mes "Oh... you don't?";
- next;
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mes("Oh~");
+ mes("Hey, you like a lost sheep. Do you know why you've come here?");
+ next();
+ if (select("Don't Know", "Know.") == 1) {
+ mes("[Salim Hamid]");
+ mes("Oh... you don't?");
+ next();
} else {
- mes "[Salim Hamid]";
- mes "Oh~ you seem like a quick learner.";
- next;
- }
- mes "[Salim Hamid]";
- mes "Well, I should at least give a briefing.";
- next;
- cutin "aca_salim01.bmp", 2;
- mes "[Salim Hamid]";
- mes "I am ^0000ffSalim Hamid^000000 in charge with training the merchant course here at the Criatura Academy.";
- next;
- mes "[Salim Hamid]";
- mes "This classroom is for Merchant applicants. In fact, this room is mainly for doing the finacial management of the Criatura Academy.";
- next;
- cutin "aca_salim02.bmp", 2;
- mes "[Salim Hamid]";
- mes "Next time, if you want to observe the merchant course, you can visit me, Salim Hamid and register.";
- setquest 12302;
- completequest 12302;
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Oh~ you seem like a quick learner.");
+ next();
+ }
+ mes("[Salim Hamid]");
+ mes("Well, I should at least give a briefing.");
+ next();
+ cutin("aca_salim01", 2);
+ mes("[Salim Hamid]");
+ mes("I am ^0000ffSalim Hamid^000000 in charge with training the merchant course here at the Criatura Academy.");
+ next();
+ mes("[Salim Hamid]");
+ mes("This classroom is for Merchant applicants. In fact, this room is mainly for doing the finacial management of the Criatura Academy.");
+ next();
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mes("Next time, if you want to observe the merchant course, you can visit me, Salim Hamid and register.");
+ setquest(12302);
+ completequest(12302);
+ close2();
+ cutin("", 255);
end;
}
if (questprogress(12303) < 1) {
- cutin "aca_salim01.bmp", 2;
- mes "[Salim Hamid]";
- mes "Oh~ You came back. Do you want to experience the Merchant training course? It is a little bit difficult to the average beginner.";
- next;
- if(select("No thanks!", "Sign me up!.") == 1) {
- mes "[Salim Hamid]";
- mes "Oh~ though it is a bit hard, it is worth learning. Sadly, there's no other way.";
- close2;
- cutin "", 255;
+ cutin("aca_salim01", 2);
+ mes("[Salim Hamid]");
+ mes("Oh~ You came back. Do you want to experience the Merchant training course? It is a little bit difficult to the average beginner.");
+ next();
+ if (select("No thanks!", "Sign me up!.") == 1) {
+ mes("[Salim Hamid]");
+ mes("Oh~ though it is a bit hard, it is worth learning. Sadly, there's no other way.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Salim Hamid]";
- mes "Oh, yes... Then, first will you register your name in this student list?";
- next;
- if(select("Refuse.", "Put your name on the list.") == 1) {
- cutin "aca_salim03.bmp", 2;
- mes "[Salim Hamid]";
- mes "Resistance from the beginning? This isn't the way to start training.";
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Oh, yes... Then, first will you register your name in this student list?");
+ next();
+ if (select("Refuse.", "Put your name on the list.") == 1) {
+ cutin("aca_salim03", 2);
+ mes("[Salim Hamid]");
+ mes("Resistance from the beginning? This isn't the way to start training.");
+ close2();
+ cutin("", 255);
end;
}
- cutin "aca_salim01.bmp", 2;
- mes "[Salim Hamid]";
- mes "Ummm~ Your name is...";
- mes "^0000ff"+ strcharinfo(0) +"^000000...... right?";
- next;
- mes "[Salim Hamid]";
- mes "First to observe the Merchant course, you need to have the Merchant mindset. A trader with less than 100 zeny could not be called a Merchant.";
- next;
- cutin "aca_salim02.bmp", 2;
- mes "[Salim Hamid]";
- mes ""+ strcharinfo(0) +"^000000 come back to me with 100 Zeny in hand before the next class.";
- next;
- mes "[Salim Hamid]";
- mes "Of course, that money won't be taken. It is only A test to see your basic mindset to being a Merchant. Good luck.";
- setquest 12303;
- close2;
- cutin "", 255;
+ cutin("aca_salim01", 2);
+ mes("[Salim Hamid]");
+ mes("Ummm~ Your name is...");
+ mesf("^0000ff%s^000000...... right?", strcharinfo(PC_NAME));
+ next();
+ mes("[Salim Hamid]");
+ mes("First to observe the Merchant course, you need to have the Merchant mindset. A trader with less than 100 zeny could not be called a Merchant.");
+ next();
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mesf("^0000ff%s^000000 come back to me with 100 Zeny in hand before the next class.", strcharinfo(PC_NAME));
+ next();
+ mes("[Salim Hamid]");
+ mes("Of course, that money won't be taken. It is only A test to see your basic mindset to being a Merchant. Good luck.");
+ setquest(12303);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(12303) == 1) {
if (Zeny >= 100) {
- cutin "aca_salim02.bmp", 2;
- mes "[Salim Hamid]";
- mes "Wow, you really came back with 100 zeny in hand. I feel your desire to learn clearly.";
- next;
- mes "[Salim Hamid]";
- mes "Now. I will give you a Merchant's manual. Equipped with it. Press Alt + S key and look at the skill window.";
- next;
- mes "[Salim Hamid]";
- mes "Clicking the [MISC] tab on the skill window, you can see the Merchant manual skills.";
- next;
- mes "[Salim Hamid]";
- mes "Now~ as we should go to the next course, equip the guide and see the skill, then speak to me again.";
- getitem Merchant_Manual, 1; // Merchant_Manual
- completequest 12303;
- close2;
- cutin "", 255;
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mes("Wow, you really came back with 100 zeny in hand. I feel your desire to learn clearly.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Now. I will give you a Merchant's manual. Equipped with it. Press Alt + S key and look at the skill window.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Clicking the [MISC] tab on the skill window, you can see the Merchant manual skills.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Now~ as we should go to the next course, equip the guide and see the skill, then speak to me again.");
+ getitem(Merchant_Manual, 1); // Merchant_Manual
+ completequest(12303);
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "aca_salim02.bmp", 2;
- mes "[Salim Hamid]";
- mes "Hohohong.. Test is not easy? Will you give it up now?";
- next;
- if(select("Can't do it.", "Give it up.") == 1) {
- mes "[Salim Hamid]";
- mes "Will you? 100 zeny isn't hard to get pal.";
- close2;
- cutin "", 255;
+ cutin("aca_salim02", 2);
+ mes("[Salim Hamid]");
+ mes("Hohohong.. Test is not easy? Will you give it up now?");
+ next();
+ if (select("Can't do it.", "Give it up.") == 1) {
+ mes("[Salim Hamid]");
+ mes("Will you? 100 zeny isn't hard to get pal.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Salim Hamid]";
- mes "Yes, come back to me when you change your mind.";
- erasequest 12303;
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Yes, come back to me when you change your mind.");
+ erasequest(12303);
+ close2();
+ cutin("", 255);
end;
}
}
}
if (questprogress(12304) < 1) {
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Now, how about attending the class concerning various basic skills which merchants should have for making money.";
- next;
- mes "[Salim Hamid]";
- mes "This might be better for you to learn from the steward working on the field next door. Go to him for the Merchant theory course, then return to me.";
- setquest 12304;
- close2;
- cutin "", 255;
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Now, how about attending the class concerning various basic skills which merchants should have for making money.");
+ next();
+ mes("[Salim Hamid]");
+ mes("This might be better for you to learn from the steward working on the field next door. Go to him for the Merchant theory course, then return to me.");
+ setquest(12304);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(12304) == 1) {
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Haven't you gone to him for the class? Go to the steward next to me and return after completing the Merchant skill theory.";
- close2;
- cutin "", 255;
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Haven't you gone to him for the class? Go to the steward next to me and return after completing the Merchant skill theory.");
+ close2();
+ cutin("", 255);
end;
}
if (questprogress(12305) < 1) {
- mes "[Salim Hamid]";
- mes "Have you come after a good lesson from the steward concerning what a Merchant can do?";
- next;
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "By any chance, "+strcharinfo(0)+" do you have mind to learn more about Merchants here?";
- next;
- if(select("I will look around at more jobs.", "Let me do it a little more.") == 1) {
- mes "[Salim Hamid]";
- mes "Yes, your open mind is good for you. As this academy has many other lecturers besides Merchants.";
- next;
- mes "[Salim Hamid]";
- mes "Whenever you feel like learning again, come back to me "+strcharinfo(0)+".";
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Have you come after a good lesson from the steward concerning what a Merchant can do?");
+ next();
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mesf("By any chance, %s do you have mind to learn more about Merchants here?", strcharinfo(PC_NAME));
+ next();
+ if (select("I will look around at more jobs.", "Let me do it a little more.") == 1) {
+ mes("[Salim Hamid]");
+ mes("Yes, your open mind is good for you. As this academy has many other lecturers besides Merchants.");
+ next();
+ mes("[Salim Hamid]");
+ mesf("Whenever you feel like learning again, come back to me %s.", strcharinfo(PC_NAME));
+ close2();
+ cutin("", 255);
end;
}
- mes "[Salim Hamid]";
- mes "Is that so? OK, now how about learning the major effects of Merchant's stats? If you are ready, speak to me.";
- setquest 12305;
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Is that so? OK, now how about learning the major effects of Merchant's stats? If you are ready, speak to me.");
+ setquest(12305);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(12305) == 1) {
- cutin "aca_salim01.bmp", 2;
- mes "[Salim Hamid]";
- mes "Trader's stats are classified as two major series. One is for manufacturing, the other is for battle.";
- next;
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "Of course, these are for farther down in the future. At this moment, you are even short of stats to invest DEX enabling you to hunt a monster.";
- next;
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "But, there is a big difference between your knowledge of the basic rules and being ignorant of it.";
- mes "Let's learn about it one by one.";
- next;
- mes "[Salim Hamid]";
- mes "Now, what series do we start with?";
- next;
- while(1) {
+ cutin("aca_salim01", 2);
+ mes("[Salim Hamid]");
+ mes("Trader's stats are classified as two major series. One is for manufacturing, the other is for battle.");
+ next();
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mes("Of course, these are for farther down in the future. At this moment, you are even short of stats to invest DEX enabling you to hunt a monster.");
+ next();
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("But, there is a big difference between your knowledge of the basic rules and being ignorant of it.");
+ mes("Let's learn about it one by one.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Now, what series do we start with?");
+ next();
+ while(true) {
switch(select("Already know it.", "Battle Stats.", "Crafting Stats.")) {
case 1:
- mes "[Salim Hamid]";
- mes "It will be OK as it is, won't it?";
- next;
- if(select("I already know all of them.", "Please make another explanation.") == 1) {
- mes "[Salim Hamid]";
- mes "Yes, you are "+strcharinfo(0)+" I am pleased to meet a quick-to-learn student like you. It also saves my time.";
- next;
+ mes("[Salim Hamid]");
+ mes("It will be OK as it is, won't it?");
+ next();
+ if (select("I already know all of them.", "Please make another explanation.") == 1) {
+ mes("[Salim Hamid]");
+ mesf("Yes, you are %s I am pleased to meet a quick-to-learn student like you. It also saves my time.", strcharinfo(PC_NAME));
+ next();
} else {
- mes "[Salim Hamid]";
- mes "Aha~ I think I got you wrong. Let's start the lecture again.";
- next;
+ mes("[Salim Hamid]");
+ mes("Aha~ I think I got you wrong. Let's start the lecture again.");
+ next();
}
break;
case 2:
- mes "[Salim Hamid]";
- mes "Being in a trader role, the stats affecting the figure of battle power are two ^4d4fffSTR & DEX^000000.";
- next;
- mes "[Salim Hamid]";
- mes "STR is related to the basic attacking power, DEX is to hit ratio and recovery from damage.";
- next;
- mes "[Salim Hamid]";
- mes "In you future, according to the 2nd and 3rd jobs you choose, you can learn additional attacking stats such ^4d4fffINT or AGI^000000.";
- next;
- mes "[Salim Hamid]";
- mes "To back up your shortage, you can increase LUK a little.";
- next;
- mes "[Salim Hamid]";
- mes "Rather than worry yourself, it may be a good idea to learn from other Merchants. You know ask others for advice.";
- next;
- mes "[Salim Hamid]";
- mes "Any other questions?";
- next;
+ mes("[Salim Hamid]");
+ mes("Being in a trader role, the stats affecting the figure of battle power are two ^4d4fffSTR & DEX^000000.");
+ next();
+ mes("[Salim Hamid]");
+ mes("STR is related to the basic attacking power, DEX is to hit ratio and recovery from damage.");
+ next();
+ mes("[Salim Hamid]");
+ mes("In you future, according to the 2nd and 3rd jobs you choose, you can learn additional attacking stats such ^4d4fffINT or AGI^000000.");
+ next();
+ mes("[Salim Hamid]");
+ mes("To back up your shortage, you can increase LUK a little.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Rather than worry yourself, it may be a good idea to learn from other Merchants. You know ask others for advice.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Any other questions?");
+ next();
break;
case 3:
- mes "[Salim Hamid]";
- mes "The stats concerning crafting is simpler than that concerning battle. Only difficulty is how to cultivate it.";
- next;
- mes "[Salim Hamid]";
- mes "It is common that you increase ^4d4fffDEX & LUK^000000 as the base and, if you have surplus, you invest the rest in ^4d4fffINT^000000.";
- next;
- mes "[Salim Hamid]";
- mes "Of course, the allocation of the portion should be properly adjusted in accordance with your equipments and the status you are in.";
- next;
- mes "[Salim Hamid]";
- mes "One thing you should keep in mind is it may be a very boring and ascetic way to grow alone as Merchant specializing in crafting.";
- next;
- mes "[Salim Hamid]";
- mes "If possible, make use of your friends and their items if you can.";
- mes "This is my personal opinion only.";
- mes "It is absolutely not the official standpoint of the Criatura Academy.";
- next;
- mes "[Salim Hamid]";
- mes "Any other questions?";
- next;
+ mes("[Salim Hamid]");
+ mes("The stats concerning crafting is simpler than that concerning battle. Only difficulty is how to cultivate it.");
+ next();
+ mes("[Salim Hamid]");
+ mes("It is common that you increase ^4d4fffDEX & LUK^000000 as the base and, if you have surplus, you invest the rest in ^4d4fffINT^000000.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Of course, the allocation of the portion should be properly adjusted in accordance with your equipments and the status you are in.");
+ next();
+ mes("[Salim Hamid]");
+ mes("One thing you should keep in mind is it may be a very boring and ascetic way to grow alone as Merchant specializing in crafting.");
+ next();
+ mes("[Salim Hamid]");
+ mes("If possible, make use of your friends and their items if you can.");
+ mes("This is my personal opinion only.");
+ mes("It is absolutely not the official standpoint of the Criatura Academy.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Any other questions?");
+ next();
break;
}
}
- mes "[Salim Hamid]";
- mes "Then, it is the end of this class.";
- mes "If you have more questions about Merchants, please make other visits.";
- completequest 12305;
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Then, it is the end of this class.");
+ mes("If you have more questions about Merchants, please make other visits.");
+ completequest(12305);
+ close2();
+ cutin("", 255);
end;
}
if (questprogress(12306) < 1) {
- mes "[Salim Hamid]";
- mes "You came back again. "+strcharinfo(0)+" this time, shall we have a practical training by doing a simple errand?";
- next;
- mes "[Salim Hamid]";
- mes "Can you see the noisy vending machine at the corner of this classroom? It was originally a soft drink vending machine but swallows coin very much...";
- next;
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "Anyway, due to this reason, it is now being used for the trainees' practice of skills. Please check the prices for Garlet and Zargon.";
- next;
- mes "[Salim Hamid]";
- mes "But! You should come back wit the information about ^4d4fffthe discounted prices equipped with the merchant's manual and applied with the discount rate^000000.";
- next;
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Don't buy them. Just come back with the checked prices only. Can you do it?";
- next;
- if(select("I will do it next time.", "I will do it.") == 1) {
- mes "[Salim Hamid]";
- mes "OK. Then you challenge it next time.";
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mesf("You came back again. %s this time, shall we have a practical training by doing a simple errand?", strcharinfo(PC_NAME));
+ next();
+ mes("[Salim Hamid]");
+ mes("Can you see the noisy vending machine at the corner of this classroom? It was originally a soft drink vending machine but swallows coin very much...");
+ next();
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mes("Anyway, due to this reason, it is now being used for the trainees' practice of skills. Please check the prices for Garlet and Zargon.");
+ next();
+ mes("[Salim Hamid]");
+ mes("But! You should come back wit the information about ^4d4fffthe discounted prices equipped with the merchant's manual and applied with the discount rate^000000.");
+ next();
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Don't buy them. Just come back with the checked prices only. Can you do it?");
+ next();
+ if (select("I will do it next time.", "I will do it.") == 1) {
+ mes("[Salim Hamid]");
+ mes("OK. Then you challenge it next time.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Salim Hamid]";
- mes "Good~ I will see you later.";
- setquest 12306;
- close2;
- cutin "", 255;
+ mes("[Salim Hamid]");
+ mes("Good~ I will see you later.");
+ setquest(12306);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(12306) == 1) {
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "Yes. Let's see the prices you checked.";
- next;
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mes("Yes. Let's see the prices you checked.");
+ next();
switch(select("I will come back after rechecking them.", "Garlet 39z Zargon 450z", "Garlet 37z Zargon 448z", "Garlet 37z Zargon 446z", "Garlet 37z Zargon 444z")) {
- case 1:
- mes "[Salim Hamid]";
- mes "OK. You come back after rechecking them in detail.";
- close2;
- cutin "", 255;
- end;
- case 4:
- mes "[Salim Hamid]";
- mes "OK~ You correctly checked the prices equipped with Merchant's Manual.";
- next;
- cutin "aca_salim01",2;
- mes "[Salim Hamid]";
- mes "Perhaps, if you become a Merchant and use the high level of discount skill, you can buy what you want at much cheaper prices.";
- next;
- mes "[Salim Hamid]";
- mes "The practice of overcharge will be the same.";
- next;
- cutin "aca_salim02",2;
- mes "[Salim Hamid]";
- mes "You don't need to practice the overcharge as well. You experience it while selling items earned during the other courses.";
- next;
- mes "[Salim Hamid]";
- mes "Now the Merchant training at the Academy is finished.";
- completequest 12306;
- close2;
- cutin "", 255;
- end;
- default:
- cutin "aca_salim03",2;
- mes "[Salim Hamid]";
- mes "Did you correctly check them?";
- close2;
- cutin "", 255;
- end;
+ case 1:
+ mes("[Salim Hamid]");
+ mes("OK. You come back after rechecking them in detail.");
+ close2();
+ cutin("", 255);
+ end;
+ case 4:
+ mes("[Salim Hamid]");
+ mes("OK~ You correctly checked the prices equipped with Merchant's Manual.");
+ next();
+ cutin("aca_salim01",2);
+ mes("[Salim Hamid]");
+ mes("Perhaps, if you become a Merchant and use the high level of discount skill, you can buy what you want at much cheaper prices.");
+ next();
+ mes("[Salim Hamid]");
+ mes("The practice of overcharge will be the same.");
+ next();
+ cutin("aca_salim02",2);
+ mes("[Salim Hamid]");
+ mes("You don't need to practice the overcharge as well. You experience it while selling items earned during the other courses.");
+ next();
+ mes("[Salim Hamid]");
+ mes("Now the Merchant training at the Academy is finished.");
+ completequest(12306);
+ close2();
+ cutin("", 255);
+ end;
+ default:
+ cutin("aca_salim03",2);
+ mes("[Salim Hamid]");
+ mes("Did you correctly check them?");
+ close2();
+ cutin("", 255);
+ end;
}
}
}
@@ -9868,117 +10047,117 @@ iz_ac02_d,50,169,3 duplicate(Salim Hamid#ac) Salim Hamid#ac_d 1_M_MERCHANT
//- Steward Aydin -
iz_ac02,53,171,3 script Steward Aydin#ac 4_M_MANAGER,{
- disable_items;
+ disable_items();
if (!checkweight(Emperium, 3) || (MaxWeight - Weight) < 10000) {
- mes "- As you are overloaded with so many items, quest can't be proceeded.";
- close;
- }
- if(questprogress(12304) == 1) {
- mes "[Steward Aydin]";
- mes "Mr. Hamid sent you here. Nice to meet you. Being busy in organizing the account book, I will make time for you.";
- next;
- mes "[Steward Aydin]";
- mes "There are many ways to make margin on trading.. A threat, a concillation, black-market dealings, etc.";
- next;
- mes "[Steward Aydin]";
- mes "If necessary, even various violent and bloody shortcuts (wow this guy is serious!)";
- next;
- mes "[Steward Aydin]";
- mes "OH wait, what did I tell you?";
- mes "These are legally prohibited behaviors. So, Merchants will be given two skills. Those are ^4d4fffOvercharge and Discount^000000..";
- next;
- mes "[Steward Aydin]";
- mes "Besides, there are some other helpful skills such as ^4d4fffPush Cart Vending, Item Appraisal^000000 etc.. Which are not related directly to them though.";
- next;
- mes "[Steward Aydin]";
- mes "Any questions among them?";
- next;
- while(1) {
+ mes("- As you are overloaded with so many items, quest can't be proceeded.");
+ close();
+ }
+ if (questprogress(12304) == 1) {
+ mes("[Steward Aydin]");
+ mes("Mr. Hamid sent you here. Nice to meet you. Being busy in organizing the account book, I will make time for you.");
+ next();
+ mes("[Steward Aydin]");
+ mes("There are many ways to make margin on trading.. A threat, a concillation, black-market dealings, etc.");
+ next();
+ mes("[Steward Aydin]");
+ mes("If necessary, even various violent and bloody shortcuts (wow this guy is serious!)");
+ next();
+ mes("[Steward Aydin]");
+ mes("OH wait, what did I tell you?");
+ mes("These are legally prohibited behaviors. So, Merchants will be given two skills. Those are ^4d4fffOvercharge and Discount^000000..");
+ next();
+ mes("[Steward Aydin]");
+ mes("Besides, there are some other helpful skills such as ^4d4fffPush Cart Vending, Item Appraisal^000000 etc.. Which are not related directly to them though.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Any questions among them?");
+ next();
+ while(true) {
switch(select("I already know all of them.", "Overcharge & Discount", "Other skills", "Item Appraisal")) {
case 1:
- mes "[Steward Aydin]";
- mes "Really are you OK with it?";
- next;
- if(select("Wait I know it all.", "No, please explain them again.") == 1) {
- mes "[Steward Aydin]";
- mes "Ho O~ You don't have any questions?";
- mes "OK. You are a person of practice rather than of theory.";
- next;
- mes "[Steward Aydin]";
- mes "The additional lecture will be provided by Mr. Salim Hamid. Ah. I have something to give you.";
- next;
- mes "[Steward Aydin]";
- mes "This is a box containing the defective equipments leaving from the inventory organization here.";
- mes "Please practice the Item Appraisal skill in the Merchant Manual with it.";
- next;
- mes "[Steward Aydin]";
- mes "I anticipate to see you next time in a good shape.";
- completequest 12304;
- getitem Old_Equipment_Box, 1; // Old_Equipment_Box
- close;
+ mes("[Steward Aydin]");
+ mes("Really are you OK with it?");
+ next();
+ if (select("Wait I know it all.", "No, please explain them again.") == 1) {
+ mes("[Steward Aydin]");
+ mes("Ho O~ You don't have any questions?");
+ mes("OK. You are a person of practice rather than of theory.");
+ next();
+ mes("[Steward Aydin]");
+ mes("The additional lecture will be provided by Mr. Salim Hamid. Ah. I have something to give you.");
+ next();
+ mes("[Steward Aydin]");
+ mes("This is a box containing the defective equipments leaving from the inventory organization here.");
+ mes("Please practice the Item Appraisal skill in the Merchant Manual with it.");
+ next();
+ mes("[Steward Aydin]");
+ mes("I anticipate to see you next time in a good shape.");
+ completequest(12304);
+ getitem(Old_Equipment_Box, 1); // Old_Equipment_Box
+ close();
}
- mes "[Steward Aydin]";
- mes "Ho O~ Sorry but I got you wrong.";
- mes "Let's start the class.";
- next;
+ mes("[Steward Aydin]");
+ mes("Ho O~ Sorry but I got you wrong.");
+ mes("Let's start the class.");
+ next();
break;
case 2:
- mes "[Steward Aydin]";
- mes "It is simple to use Overcharge and Discount.";
- next;
- mes "[Steward Aydin]";
- mes "These two skills are passive skills. If you become familiar with these, "+strcharinfo(0)+" these will automatically perform in trading with merchant NPC without your operation.";
- next;
- mes "[Steward Aydin]";
- mes "Once you've learned Overcharge, when selling commodities to a merchant NPC, you can gain the sales money composed of the regular sales price plus additional money as per the Overcharge skill level.";
- next;
- mes "[Steward Aydin]";
- mes "Oppositely, Discount is the skill, on your buying commodities from a merchant NPC, you can purchase it at the price discounted on the regular selling price as per the skill level.";
- next;
- mes "[Steward Aydin]";
- mes "Be carefult that these two skills are to be used only in trading with usual merchant's NPC, not with other manufacturing NPC or among adventurers.";
- next;
- mes "[Steward Aydin]";
- mes "Do you have more questions?";
- next;
+ mes("[Steward Aydin]");
+ mes("It is simple to use Overcharge and Discount.");
+ next();
+ mes("[Steward Aydin]");
+ mesf("These two skills are passive skills. If you become familiar with these, %s these will automatically perform in trading with merchant NPC without your operation.", strcharinfo(PC_NAME));
+ next();
+ mes("[Steward Aydin]");
+ mes("Once you've learned Overcharge, when selling commodities to a merchant NPC, you can gain the sales money composed of the regular sales price plus additional money as per the Overcharge skill level.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Oppositely, Discount is the skill, on your buying commodities from a merchant NPC, you can purchase it at the price discounted on the regular selling price as per the skill level.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Be carefult that these two skills are to be used only in trading with usual merchant's NPC, not with other manufacturing NPC or among adventurers.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Do you have more questions?");
+ next();
break;
case 3:
- mes "[Steward Aydin]";
- mes "Enlarge Weight Limit, Push Cart, Vending. These three skills have close relationships.";
- next;
- mes "[Steward Aydin]";
- mes "First talking about ^4d4fffEnlarge Weight Limit^000000 skill, is the skill to increase th character's basic earned points. It is an automatic operational passive skill when you learn it.";
- next;
- mes "[Steward Aydin]";
- mes "This earned point skill reaching a certain level, you can use the skill called ^4d4fffPush Cart^000000";
- next;
- mes "[Steward Aydin]";
- mes "But this Push Cart skill has the disadvantage of the slowdown of moving speed, though the advantage of high loading capacity.";
- next;
- mes "[Steward Aydin]";
- mes "When this Push Cart skill reaches at a certain level, you can use the skill called ^4d4fffVending^000000. This is used to sell your own items to other players.";
- next;
- mes "[Steward Aydin]";
- mes "Besides these, is there any more questions?";
- next;
+ mes("[Steward Aydin]");
+ mes("Enlarge Weight Limit, Push Cart, Vending. These three skills have close relationships.");
+ next();
+ mes("[Steward Aydin]");
+ mes("First talking about ^4d4fffEnlarge Weight Limit^000000 skill, is the skill to increase th character's basic earned points. It is an automatic operational passive skill when you learn it.");
+ next();
+ mes("[Steward Aydin]");
+ mes("This earned point skill reaching a certain level, you can use the skill called ^4d4fffPush Cart^000000");
+ next();
+ mes("[Steward Aydin]");
+ mes("But this Push Cart skill has the disadvantage of the slowdown of moving speed, though the advantage of high loading capacity.");
+ next();
+ mes("[Steward Aydin]");
+ mes("When this Push Cart skill reaches at a certain level, you can use the skill called ^4d4fffVending^000000. This is used to sell your own items to other players.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Besides these, is there any more questions?");
+ next();
break;
case 4:
- mes "[Steward Aydin]";
- mes "Item Appraisal skill is a supplementary skill rather than the essential one.";
- next;
- mes "[Steward Aydin]";
- mes "If you learn this skill you can identify items without having to use a Magnifying Glass Item.";
- next;
- mes "[Steward Aydin]";
- mes "Besides these, is there any more questions?";
- next;
+ mes("[Steward Aydin]");
+ mes("Item Appraisal skill is a supplementary skill rather than the essential one.");
+ next();
+ mes("[Steward Aydin]");
+ mes("If you learn this skill you can identify items without having to use a Magnifying Glass Item.");
+ next();
+ mes("[Steward Aydin]");
+ mes("Besides these, is there any more questions?");
+ next();
break;
}
}
} else {
- mes "[Steward Aydin]";
- mes "I am very busy clearing an account book, so how about talking next time?";
- close;
+ mes("[Steward Aydin]");
+ mes("I am very busy clearing an account book, so how about talking next time?");
+ close();
}
}
@@ -9993,639 +10172,639 @@ iz_ac02_d,53,171,3 duplicate(Steward Aydin#ac) Steward Aydin#ac_d 4_M_MANAGER
// - Teaches the player about the Thief class.
iz_ac02,52,136,3 script Guest Lecturer Mayssel#0 4_F_MAYSEL,{
if (!checkweight(Axe, 3)) {
- mes "Quest cannot be continued due to the overfilled inventory.";
- mes "Please try it again after organizing the items.";
- close;
+ mes("Quest cannot be continued due to the overfilled inventory.");
+ mes("Please try it again after organizing the items.");
+ close();
}
if (questprogress(4269) > 0 && Class == Job_Novice) {
if (!questprogress(7480)) {
- mes "[Lumin]";
- mes ".......... Then";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "gc_mayssel05.bmp", 1;
- mes "[Mayssel]";
- mes "I see, Lu make it as you want.";
- next;
+ mes("[Lumin]");
+ mes(".......... Then");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("gc_mayssel05", 1);
+ mes("[Mayssel]");
+ mes("I see, Lu make it as you want.");
+ next();
select("Uh, hi...");
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "I am sorry...";
- mes "Are you a student of Criatura Academy?";
- mes "I didn't intend to ignore you.";
- mes "He is also one of the students in this class.";
- next;
- mes "[Mayssel]";
- mes "Hello " + strcharinfo(0) + "";
- mes "I am Mayssel the section chief of the Veins section of the Assassin Guild.";
- mes "I came here to give you some information about the Thief class.";
- next;
- mes "[Mayssel]";
- mes "Do you want to know about the Thief class?";
- next;
- if(select("Yes, please.", "No, I won't be a Thief.") == 2) {
- mes "[Mayssel]";
- mes "If you want it....";
- cutin "gc_mayssel05.bmp", 1;
- close2;
- cutin "", 255;
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("I am sorry...");
+ mes("Are you a student of Criatura Academy?");
+ mes("I didn't intend to ignore you.");
+ mes("He is also one of the students in this class.");
+ next();
+ mes("[Mayssel]");
+ mesf("Hello %s", strcharinfo(PC_NAME));
+ mes("I am Mayssel the section chief of the Veins section of the Assassin Guild.");
+ mes("I came here to give you some information about the Thief class.");
+ next();
+ mes("[Mayssel]");
+ mes("Do you want to know about the Thief class?");
+ next();
+ if (select("Yes, please.", "No, I won't be a Thief.") == 2) {
+ mes("[Mayssel]");
+ mes("If you want it....");
+ cutin("gc_mayssel05", 1);
+ close2();
+ cutin("", 255);
end;
}
- mes "[Mayssel]";
- mes "Well a thief is commonly thought of as a criminal.";
- mes "But our guild is not about taking from those that are in need of it.";
- next;
- mes "[Mayssel]";
- mes "First, we should make it clear.";
- mes "We don't steal other's belongings.";
- next;
- mes "[Lumin]";
- mes "How about monsters?";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "", 255;
- mes "[Mayssel]";
- mes "Now monsters...";
- cutin "gc_mayssel03.bmp", 1;
- next;
- mes "[Verkhasel]";
- mes "Hey, take it easy.";
- mes "You said it was a mission for something important. But only a place like this...";
- cutin "gc_verkhasel01.bmp", 2;
- next;
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "I was upset...";
- mes "Let me continue.";
- mes "A Thief uses techniques that common thieves use to be fast and nimble.";
- next;
- mes "[Mayssel]";
- mes "We use stealth to blend into our surroundings and strike our foes.";
- next;
- mes "[Mayssel]";
- mes "Our primary weapon is a dagger and we compensate their attack strength by adding poison property to our attacks.";
- next;
- mes "[Mayssel]";
- mes "The higher class jobs in Thief class are Assassin and Rogue.";
- mes "Verkhasel is a Guillotine Cross which is the third class of the Assassin Job.";
- mes "and......";
- next;
- mes "[Mayssel]";
- mes "Mr. Vicente... I called Dumk..";
- cutin "gc_mayssel02.bmp", 1;
- next;
- mes "[Vicente]";
- mes "Ah, that is... Mayssel..";
- mes "As you know well about Master.";
- mes "I can explain about Rogues to you.";
- next;
- mes "[Mayssel]";
- mes "I see...";
- mes "" + strcharinfo(0) + " Sorry but you can learn about the Shadow Chaser class from them.";
- cutin "gc_mayssel03.bmp", 1;
- next;
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "Anyway, these two gentlemen will help you.";
- mes "^4d4dffCome back to me after speaking to Verkhasel and Vicente.^000000";
- setquest 7480;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("Well a thief is commonly thought of as a criminal.");
+ mes("But our guild is not about taking from those that are in need of it.");
+ next();
+ mes("[Mayssel]");
+ mes("First, we should make it clear.");
+ mes("We don't steal other's belongings.");
+ next();
+ mes("[Lumin]");
+ mes("How about monsters?");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("", 255);
+ mes("[Mayssel]");
+ mes("Now monsters...");
+ cutin("gc_mayssel03", 1);
+ next();
+ mes("[Verkhasel]");
+ mes("Hey, take it easy.");
+ mes("You said it was a mission for something important. But only a place like this...");
+ cutin("gc_verkhasel01", 2);
+ next();
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("I was upset...");
+ mes("Let me continue.");
+ mes("A Thief uses techniques that common thieves use to be fast and nimble.");
+ next();
+ mes("[Mayssel]");
+ mes("We use stealth to blend into our surroundings and strike our foes.");
+ next();
+ mes("[Mayssel]");
+ mes("Our primary weapon is a dagger and we compensate their attack strength by adding poison property to our attacks.");
+ next();
+ mes("[Mayssel]");
+ mes("The higher class jobs in Thief class are Assassin and Rogue.");
+ mes("Verkhasel is a Guillotine Cross which is the third class of the Assassin Job.");
+ mes("and......");
+ next();
+ mes("[Mayssel]");
+ mes("Mr. Vicente... I called Dumk..");
+ cutin("gc_mayssel02", 1);
+ next();
+ mes("[Vicente]");
+ mes("Ah, that is... Mayssel..");
+ mes("As you know well about Master.");
+ mes("I can explain about Rogues to you.");
+ next();
+ mes("[Mayssel]");
+ mes("I see...");
+ mesf("%s Sorry but you can learn about the Shadow Chaser class from them.", strcharinfo(PC_NAME));
+ cutin("gc_mayssel03", 1);
+ next();
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("Anyway, these two gentlemen will help you.");
+ mes("^4d4dffCome back to me after speaking to Verkhasel and Vicente.^000000");
+ setquest(7480);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7480) == 1) {
if (questprogress(7481) > 0 && questprogress(7482) > 0) {
- mes "[Mayssel]";
- mes "Have you learned something about Thief, Assassin and Rogue?";
- mes "You don't need to understand everything right now.";
- cutin "gc_mayssel01.bmp", 1;
- next;
+ mes("[Mayssel]");
+ mes("Have you learned something about Thief, Assassin and Rogue?");
+ mes("You don't need to understand everything right now.");
+ cutin("gc_mayssel01", 1);
+ next();
if (BaseLevel > 12) {
- mes "[Mayssel]";
- mes "I only play the role to inform you of there is this one that one...";
- mes "The next course is how to use the experience guide... Let's skim it over.";
- next;
- mes "[Mayssel]";
- mes "The guide for skill experience provided by the academy can be used up to level 12.";
- mes "Regretfully, only the explanation is available for you.";
- next;
- mes "[Mayssel]";
- mes "If you want to be a Thief, you just come back here.";
- mes "I can help you with the 1st step of the job change.";
- next;
- mes "[Mayssel]";
- mes "Thank you for your hard work.";
- cutin "gc_mayssel02.bmp", 1;
- completequest 7480;
- erasequest 7481;
- erasequest 7482;
- setquest 7483;
- completequest 7483;
- getexp 800, 50;
- getitem Novice_Potion, 30; // Novice_Potion
- getitem N_Magnifier, 20; // N_Magnifier
+ mes("[Mayssel]");
+ mes("I only play the role to inform you of there is this one that one...");
+ mes("The next course is how to use the experience guide... Let's skim it over.");
+ next();
+ mes("[Mayssel]");
+ mes("The guide for skill experience provided by the academy can be used up to level 12.");
+ mes("Regretfully, only the explanation is available for you.");
+ next();
+ mes("[Mayssel]");
+ mes("If you want to be a Thief, you just come back here.");
+ mes("I can help you with the 1st step of the job change.");
+ next();
+ mes("[Mayssel]");
+ mes("Thank you for your hard work.");
+ cutin("gc_mayssel02", 1);
+ completequest(7480);
+ erasequest(7481);
+ erasequest(7482);
+ setquest(7483);
+ completequest(7483);
+ getexp(800, 50);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getitem(N_Magnifier, 20); // N_Magnifier
} else {
- mes "[Mayssel]";
- mes "I only play the role to inform you of there is this one that one...";
- mes "Then, let's talk about the Thief's skills.";
- next;
- mes "[Mayssel]";
- mes "I will give you the guide to borrow the thief's skill temporarily.";
- mes "Organize the guide items, you can see the useful skills on the 'ETC' skill window.";
- next;
- mes "[Mayssel]";
- mes "By making use of the guide, you may take the missions being asked by Verkhasel and Vicente.";
- completequest 7480;
- erasequest 7481;
- erasequest 7482;
- setquest 7483;
- getitem Thief_Manual, 1; // Thief_Manual
+ mes("[Mayssel]");
+ mes("I only play the role to inform you of there is this one that one...");
+ mes("Then, let's talk about the Thief's skills.");
+ next();
+ mes("[Mayssel]");
+ mes("I will give you the guide to borrow the thief's skill temporarily.");
+ mes("Organize the guide items, you can see the useful skills on the 'ETC' skill window.");
+ next();
+ mes("[Mayssel]");
+ mes("By making use of the guide, you may take the missions being asked by Verkhasel and Vicente.");
+ completequest(7480);
+ erasequest(7481);
+ erasequest(7482);
+ setquest(7483);
+ getitem(Thief_Manual, 1); // Thief_Manual
}
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Mayssel]";
- mes "Verkhasel and Vicente will give you various information related to the higher class jobs.";
- mes "So, come back to me after listening to them.";
- cutin "gc_mayssel01.bmp", 1;
- next;
- mes "[Mayssel]";
- mes "Preparation for real battle is next.";
- next;
- if(select("I see...", "I won't do it.") == 1) {
- mes "[Mayssel]";
- mes "I will compensate for you when your mission is completed.";
- mes "Come back to me after speaking to Verkhasel and Vicente.";
+ mes("[Mayssel]");
+ mes("Verkhasel and Vicente will give you various information related to the higher class jobs.");
+ mes("So, come back to me after listening to them.");
+ cutin("gc_mayssel01", 1);
+ next();
+ mes("[Mayssel]");
+ mes("Preparation for real battle is next.");
+ next();
+ if (select("I see...", "I won't do it.") == 1) {
+ mes("[Mayssel]");
+ mes("I will compensate for you when your mission is completed.");
+ mes("Come back to me after speaking to Verkhasel and Vicente.");
} else {
- mes "[Mayssel]";
- mes "I see..";
- mes "This course is now cancelled.";
- erasequest 7480;
+ mes("[Mayssel]");
+ mes("I see..");
+ mes("This course is now cancelled.");
+ erasequest(7480);
}
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
}
} else {
if (!questprogress(7483)) {
- mes "[Mayssel]";
- mes "Have you learned something about Thief, Assassin and Rogue?";
- mes "You don't need to understand everything right now.";
- cutin "gc_mayssel01.bmp", 1;
- next;
+ mes("[Mayssel]");
+ mes("Have you learned something about Thief, Assassin and Rogue?");
+ mes("You don't need to understand everything right now.");
+ cutin("gc_mayssel01", 1);
+ next();
if (BaseLevel > 12) {
- mes "[Mayssel]";
- mes "I only play the role to inform you of there is this one that one...?";
- mes "The next course is how to use the experience guide... Let's skim it over.";
- next;
- mes "[Mayssel]";
- mes "The guide for skill experience provided by the academy can be used up to level 12.";
- mes "Regretfully, only the explanation is available for you.";
- next;
- mes "[Mayssel]";
- mes "If you want to be a Thief, you just come back here.";
- mes "I can help you with the 1st step of the job change.";
- next;
- mes "[Mayssel]";
- mes "You've worked hard.";
- cutin "gc_mayssel02.bmp", 1;
- completequest 7480;
- erasequest 7481;
- erasequest 7482;
- setquest 7483;
- completequest 7483;
- getexp 800, 50;
- getitem Novice_Potion, 30; // Novice_Potion
- getitem N_Magnifier, 20; // N_Magnifier
+ mes("[Mayssel]");
+ mes("I only play the role to inform you of there is this one that one...?");
+ mes("The next course is how to use the experience guide... Let's skim it over.");
+ next();
+ mes("[Mayssel]");
+ mes("The guide for skill experience provided by the academy can be used up to level 12.");
+ mes("Regretfully, only the explanation is available for you.");
+ next();
+ mes("[Mayssel]");
+ mes("If you want to be a Thief, you just come back here.");
+ mes("I can help you with the 1st step of the job change.");
+ next();
+ mes("[Mayssel]");
+ mes("You've worked hard.");
+ cutin("gc_mayssel02", 1);
+ completequest(7480);
+ erasequest(7481);
+ erasequest(7482);
+ setquest(7483);
+ completequest(7483);
+ getexp(800, 50);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getitem(N_Magnifier, 20); // N_Magnifier
} else {
- mes "[Mayssel]";
- mes "I only play the role to inform you of there is this one that one...";
- mes "Then, let's talk about the Thief's skills.";
- next;
- mes "[Mayssel]";
- mes "I will give you the guide to borrow the thief's skill temporarily.";
- mes "Organize the guide items, you can see the useful skills on the 'ETC' skill window.";
- next;
- mes "[Mayssel]";
- mes "By making use of the guide, you may take the missions being asked by Verkhasel and Vicente.";
- completequest 7480;
- erasequest 7481;
- erasequest 7482;
- setquest 7483;
- getitem Thief_Manual, 1; // Thief_Manual
+ mes("[Mayssel]");
+ mes("I only play the role to inform you of there is this one that one...");
+ mes("Then, let's talk about the Thief's skills.");
+ next();
+ mes("[Mayssel]");
+ mes("I will give you the guide to borrow the thief's skill temporarily.");
+ mes("Organize the guide items, you can see the useful skills on the 'ETC' skill window.");
+ next();
+ mes("[Mayssel]");
+ mes("By making use of the guide, you may take the missions being asked by Verkhasel and Vicente.");
+ completequest(7480);
+ erasequest(7481);
+ erasequest(7482);
+ setquest(7483);
+ getitem(Thief_Manual, 1); // Thief_Manual
}
- close2;
- cutin "", 255;
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7483) == 1) {
if (questprogress(7484) > 1 && questprogress(7485) > 1) {
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "Have you got a sense what it is to be a Thief?";
- mes "If you want to use the skill like double attack, visit ^4d4dffMr. Subino on the 1st floor^000000.";
- next;
- mes "[Mayssel]";
- mes "<NAVI>[Battle Trainer Subino]<INFO>iz_ac01,59,83</INFO></NAVI> will give you several battle missions.";
- next;
- mes "[Mayssel]";
- mes "I hope you experience other skills with battle Quests.";
- mes "Double attack is somewhat an exciting skill.";
- next;
- mes "[Mayssel]";
- mes "Make a decision after you've at least experienced it.";
- mes "You still have a long way and enough time before you make a decision... Think of it deeply.";
- next;
- mes "[Mayssel]";
- mes "If you want to be a Thief, you just come back here.";
- mes "I can help you with the 1st step of the job change.";
- next;
- mes "[Mayssel]";
- mes "Thank you for you hard work.";
- completequest 7483;
- getexp 800, 50;
- getitem Novice_Potion, 30; // Novice_Potion
- getitem N_Magnifier, 20; // N_Magnifier
- close2;
- cutin "", 255;
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("Have you got a sense what it is to be a Thief?");
+ mes("If you want to use the skill like double attack, visit ^4d4dffMr. Subino on the 1st floor^000000.");
+ next();
+ mes("[Mayssel]");
+ mes("<NAVI>[Battle Trainer Subino]<INFO>iz_ac01,59,83</INFO></NAVI> will give you several battle missions.");
+ next();
+ mes("[Mayssel]");
+ mes("I hope you experience other skills with battle Quests.");
+ mes("Double attack is somewhat an exciting skill.");
+ next();
+ mes("[Mayssel]");
+ mes("Make a decision after you've at least experienced it.");
+ mes("You still have a long way and enough time before you make a decision... Think of it deeply.");
+ next();
+ mes("[Mayssel]");
+ mes("If you want to be a Thief, you just come back here.");
+ mes("I can help you with the 1st step of the job change.");
+ next();
+ mes("[Mayssel]");
+ mes("Thank you for you hard work.");
+ completequest(7483);
+ getexp(800, 50);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ getitem(N_Magnifier, 20); // N_Magnifier
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "In the battle training, the actual fighting is more important than theory.";
- mes "To use the skill once is better than all this talking.";
- next;
- mes "[Mayssel]";
- mes "If you carry out the mission asked by Verkhasel and Vicente, I will go to the next class.";
- next;
- if(select("I see.", "I won't do it.") == 1) {
- mes "[Mayssel]";
- mes "I will compensate for you when your mission is complete.";
- mes "Come back to me after listening to Verkhasel and Vicente.";
- close2;
- cutin "", 255;
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("In the battle training, the actual fighting is more important than theory.");
+ mes("To use the skill once is better than all this talking.");
+ next();
+ mes("[Mayssel]");
+ mes("If you carry out the mission asked by Verkhasel and Vicente, I will go to the next class.");
+ next();
+ if (select("I see.", "I won't do it.") == 1) {
+ mes("[Mayssel]");
+ mes("I will compensate for you when your mission is complete.");
+ mes("Come back to me after listening to Verkhasel and Vicente.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Mayssel]";
- mes "I see.";
- mes "This course is now cancelled.";
- mes "The ongoing lower courses are cancelled.";
- next;
- if(select("No.", "Yes, cancel the course.") == 1) {
- mes "[Mayssel]";
- mes "Fortunately...";
- mes "Good to see you have patience.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("I see.");
+ mes("This course is now cancelled.");
+ mes("The ongoing lower courses are cancelled.");
+ next();
+ if (select("No.", "Yes, cancel the course.") == 1) {
+ mes("[Mayssel]");
+ mes("Fortunately...");
+ mes("Good to see you have patience.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Mayssel]";
- mes "All the ongoing courses are cancelled.";
- mes "These are not your aptitude.";
+ mes("[Mayssel]");
+ mes("All the ongoing courses are cancelled.");
+ mes("These are not your aptitude.");
nude;
if (countitem(Thief_Manual) > 0)
- delitem Thief_Manual, countitem(Thief_Manual); // Thief_Manual
- erasequest 7483;
- erasequest 7484;
- erasequest 7485;
- close2;
- cutin "", 255;
+ delitem(Thief_Manual, countitem(Thief_Manual)); // Thief_Manual
+ erasequest(7483);
+ erasequest(7484);
+ erasequest(7485);
+ close2();
+ cutin("", 255);
end;
}
}
} else {
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "What are you curious about?";
- mes "If you want to know about battle, visit <NAVI>[Battle Trainer Subino]<INFO>iz_ac01_c,59,83</INFO></NAVI>.";
- next;
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("What are you curious about?");
+ mes("If you want to know about battle, visit <NAVI>[Battle Trainer Subino]<INFO>iz_ac01_c,59,83</INFO></NAVI>.");
+ next();
switch(select("Change job to Thief.", "Thief Stat Explanation", "Thief Skill Explanation", "Not curious about it.")) {
case 1:
if (JobLevel > 9) {
- mes "[Mayssel]";
- mes "You made up your mind.";
- mes "Welcome to the world of shadows.";
- cutin "gc_mayssel02.bmp", 1;
- next;
- cutin "gc_mayssel01.bmp", 1;
- mes "[Mayssel]";
- mes "If you are ready, I will send you to the deserts of Morroc to embrace the shadows.";
- mes "The journey will be both strange and challenging.";
- next;
- if(select("At once please.", "I need more time.") == 2) {
- mes "[Mayssel]";
- mes "Yes, after a sufficient survey of other jobs, you may make a decision.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("You made up your mind.");
+ mes("Welcome to the world of shadows.");
+ cutin("gc_mayssel02", 1);
+ next();
+ cutin("gc_mayssel01", 1);
+ mes("[Mayssel]");
+ mes("If you are ready, I will send you to the deserts of Morroc to embrace the shadows.");
+ mes("The journey will be both strange and challenging.");
+ next();
+ if (select("At once please.", "I need more time.") == 2) {
+ mes("[Mayssel]");
+ mes("Yes, after a sufficient survey of other jobs, you may make a decision.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Mayssel]";
- mes "^4d4dffFind the Pyramid^000000 in the ^4d4dffNorthwest^000000 of Morroc.";
- close2;
- cutin "", 255;
- warp "morocc", 30, 290;
+ mes("[Mayssel]");
+ mes("^4d4dffFind the Pyramid^000000 in the ^4d4dffNorthwest^000000 of Morroc.");
+ close2();
+ cutin("", 255);
+ warp("morocc", 30, 290);
end;
} else {
- mes "[Mayssel]";
- mes "I'm sorry but you are short of job levels to change your job.";
- next;
- mes "[Mayssel]";
- mes "Level composes of Base level and Job level.";
- mes "Job level is what determines your current job.";
- next;
- mes "[Mayssel]";
- mes "^4d4dffThe 1st job condition condition is job level 10.^000000";
- mes "You need more experience so fight more and level up first.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("I'm sorry but you are short of job levels to change your job.");
+ next();
+ mes("[Mayssel]");
+ mes("Level composes of Base level and Job level.");
+ mes("Job level is what determines your current job.");
+ next();
+ mes("[Mayssel]");
+ mes("^4d4dffThe 1st job condition condition is job level 10.^000000");
+ mes("You need more experience so fight more and level up first.");
+ close2();
+ cutin("", 255);
end;
}
case 2:
- mes "[Mayssel]";
- mes "You want to know more about stats?";
- mes "As Vicente already told you, stats don't have a fixed answer.";
- cutin "gc_mayssel01.bmp", 1;
- next;
- mes "[Mayssel]";
- mes "If I choose one among them,";
- mes "^4d4dffAGI is related to flee ability^000000,";
- mes "^4d4dffDex is related with hit ratio";
- mes "STR raises physical attacking power^000000";
- next;
- mes "[Mayssel]";
- mes "Vit, Luk, Int are valued according your target chosen.";
- mes "For your reference, Verkhasel has high level of Luk.";
- mes "A weapon called Katar is good for Critical.";
- next;
- mes "[Mayssel]";
- mes "But thief's primary weapon is a dagger.";
- mes "In the end, you have only to supplement your weak point, after evaluating you and your enemy.";
- next;
- mes "[Mayssel]";
- mes "If your attack doesn't hit the enemy, you come to think of the hit ratio.";
- mes "Hope you find the right stats that are suitable to your fighting style.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("You want to know more about stats?");
+ mes("As Vicente already told you, stats don't have a fixed answer.");
+ cutin("gc_mayssel01", 1);
+ next();
+ mes("[Mayssel]");
+ mes("If I choose one among them,");
+ mes("^4d4dffAGI is related to flee ability^000000,");
+ mes("^4d4dffDex is related with hit ratio");
+ mes("STR raises physical attacking power^000000");
+ next();
+ mes("[Mayssel]");
+ mes("Vit, Luk, Int are valued according your target chosen.");
+ mes("For your reference, Verkhasel has high level of Luk.");
+ mes("A weapon called Katar is good for Critical.");
+ next();
+ mes("[Mayssel]");
+ mes("But thief's primary weapon is a dagger.");
+ mes("In the end, you have only to supplement your weak point, after evaluating you and your enemy.");
+ next();
+ mes("[Mayssel]");
+ mes("If your attack doesn't hit the enemy, you come to think of the hit ratio.");
+ mes("Hope you find the right stats that are suitable to your fighting style.");
+ close2();
+ cutin("", 255);
end;
case 3:
- mes "[Mayssel]";
- mes "Which skill are you curious about?";
- cutin "gc_mayssel01.bmp", 1;
- next;
- while(1) {
+ mes("[Mayssel]");
+ mes("Which skill are you curious about?");
+ cutin("gc_mayssel01", 1);
+ next();
+ while(true) {
switch(select("Improve Dodge", "Double attack", "Hiding and Steal", "Envenom and Detoxify", "Not curious about it.")) {
case 1:
- mes "[Mayssel]";
- mes "As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000";
- mes "You want to avoid taking damage from enemy attack, don't you?";
- next;
+ mes("[Mayssel]");
+ mes("As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000");
+ mes("You want to avoid taking damage from enemy attack, don't you?");
+ next();
break;
case 2:
- mes "[Mayssel]";
- mes "^4d4dffThis skill allows you to deal two damages with only one attack.^000000";
- mes "Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffThis skill allows you to deal two damages with only one attack.^000000");
+ mes("Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.");
+ next();
break;
case 3:
- mes "[Mayssel]";
- mes "^4d4dffHiding means exactly that... to hide.^000000";
- next;
- mes "[Mayssel]";
- mes "^4d4dffSteal is the skill of stealing enemy's items^000000.";
- mes "You can steal one item from one enemy.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffHiding means exactly that... to hide.^000000");
+ next();
+ mes("[Mayssel]");
+ mes("^4d4dffSteal is the skill of stealing enemy's items^000000.");
+ mes("You can steal one item from one enemy.");
+ next();
break;
case 4:
- mes "[Mayssel]";
- mes "^4d4dffEnvenom is used to poison your enemy.^000000";
- mes "If poisoned, it can make a physical attacks slowly eat away at your foe.";
- next;
- mes "[Mayssel]";
- mes "Oppositely, the name implies, Detoxify removes poison status.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffEnvenom is used to poison your enemy.^000000");
+ mes("If poisoned, it can make a physical attacks slowly eat away at your foe.");
+ next();
+ mes("[Mayssel]");
+ mes("Oppositely, the name implies, Detoxify removes poison status.");
+ next();
break;
case 5:
- mes "[Mayssel]";
- mes "It is good you have enough knowledge.";
- mes "Supplementary the field experiences will make you perfect.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("It is good you have enough knowledge.");
+ mes("Supplementary the field experiences will make you perfect.");
+ close2();
+ cutin("", 255);
end;
}
}
case 4:
- mes "[Mayssel]";
- mes "Is that so?";
- mes "Like other job guilds, there is a limit learned through theory.";
- mes "I would like to recommend you to experience battle first-hand.";
- cutin "gc_mayssel01.bmp", 1;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("Is that so?");
+ mes("Like other job guilds, there is a limit learned through theory.");
+ mes("I would like to recommend you to experience battle first-hand.");
+ cutin("gc_mayssel01", 1);
+ close2();
+ cutin("", 255);
end;
}
}
}
} else {
if (!questprogress(4269)) {
- mes "[Mayssel]";
- mes "You are a stranger.";
- mes "Excuse me but I was invited to explain about the jobs for the students,";
- mes "I have no words to tell you.";
- cutin "gc_mayssel01.bmp", 1;
- next;
- mes "[Mayssel]";
- mes "It is almost miracle to meet you and me living far away from the light of ground.";
- mes "We should abide by the regulations.";
- next;
- mes "[Mayssel]";
- mes "Attending the class, first you may be a student of Criatura Academy.";
- next;
- mes "[Mayssel]";
- mes "However, if you want the information about the thief job itself, I will let you know.";
- next;
+ mes("[Mayssel]");
+ mes("You are a stranger.");
+ mes("Excuse me but I was invited to explain about the jobs for the students,");
+ mes("I have no words to tell you.");
+ cutin("gc_mayssel01", 1);
+ next();
+ mes("[Mayssel]");
+ mes("It is almost miracle to meet you and me living far away from the light of ground.");
+ mes("We should abide by the regulations.");
+ next();
+ mes("[Mayssel]");
+ mes("Attending the class, first you may be a student of Criatura Academy.");
+ next();
+ mes("[Mayssel]");
+ mes("However, if you want the information about the thief job itself, I will let you know.");
+ next();
switch(select("About the useful stats for a Thief", "About Thief's primary skills", "Not curious about it.")) {
case 1:
- mes "[Mayssel]";
- mes "You want to know more about stats?";
- mes "As Vicente already told you, stats don't have a fixed answer.";
- next;
- mes "[Mayssel]";
- mes "If I choose one among them,";
- mes "^4d4dffAGI is related to flee ability^000000,";
- mes "^4d4dffDex is related with hit ratio";
- mes "STR raises physical attacking power^000000";
- next;
- mes "[Mayssel]";
- mes "Vit, Luk, Int are valued according your target chosen.";
- mes "For your reference, Verkhasel has high level of Luk.";
- mes "A weapon called Katar is good for Critical.";
- next;
- mes "[Mayssel]";
- mes "But thief's primary weapon is a dagger.";
- mes "In the end, you have only to supplement your weak point, after evaluating you and your enemy.";
- next;
- mes "[Mayssel]";
- mes "If your attack doesn't hit the enemy, you come to think of the hit ratio.";
- mes "Hope you find the right stats that are suitable to your fighting style.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("You want to know more about stats?");
+ mes("As Vicente already told you, stats don't have a fixed answer.");
+ next();
+ mes("[Mayssel]");
+ mes("If I choose one among them,");
+ mes("^4d4dffAGI is related to flee ability^000000,");
+ mes("^4d4dffDex is related with hit ratio");
+ mes("STR raises physical attacking power^000000");
+ next();
+ mes("[Mayssel]");
+ mes("Vit, Luk, Int are valued according your target chosen.");
+ mes("For your reference, Verkhasel has high level of Luk.");
+ mes("A weapon called Katar is good for Critical.");
+ next();
+ mes("[Mayssel]");
+ mes("But thief's primary weapon is a dagger.");
+ mes("In the end, you have only to supplement your weak point, after evaluating you and your enemy.");
+ next();
+ mes("[Mayssel]");
+ mes("If your attack doesn't hit the enemy, you come to think of the hit ratio.");
+ mes("Hope you find the right stats that are suitable to your fighting style.");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Mayssel]";
- mes "Which skill are you curious about?";
- next;
- while(1) {
+ mes("[Mayssel]");
+ mes("Which skill are you curious about?");
+ next();
+ while(true) {
switch(select("Improve Dodge", "Double attack", "Hiding and Steal", "Envenom and Detoxify", "Not curious about it.")) {
case 1:
- mes "[Mayssel]";
- mes "As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000";
- mes "You want to avoid taking damage from enemy attack, don't you?";
- next;
+ mes("[Mayssel]");
+ mes("As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000");
+ mes("You want to avoid taking damage from enemy attack, don't you?");
+ next();
break;
case 2:
- mes "[Mayssel]";
- mes "^4d4dffThis skill allows you to deal two damages with only one attack.^000000";
- mes "Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffThis skill allows you to deal two damages with only one attack.^000000");
+ mes("Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.");
+ next();
break;
case 3:
- mes "[Mayssel]";
- mes "^4d4dffHiding means exactly that... to hide.^000000";
- next;
- mes "[Mayssel]";
- mes "^4d4dffSteal is the skill of stealing enemy's items^000000.";
- mes "You can steal one item from one enemy.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffHiding means exactly that... to hide.^000000");
+ next();
+ mes("[Mayssel]");
+ mes("^4d4dffSteal is the skill of stealing enemy's items^000000.");
+ mes("You can steal one item from one enemy.");
+ next();
break;
case 4:
- mes "[Mayssel]";
- mes "^4d4dffEnvenom is used to poison your enemy.^000000";
- mes "If poisoned, it can make a physical attacks slowly eat away at your foe.";
- next;
- mes "[Mayssel]";
- mes "Oppositely, the name implies, Detoxify removes poison status.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffEnvenom is used to poison your enemy.^000000");
+ mes("If poisoned, it can make a physical attacks slowly eat away at your foe.");
+ next();
+ mes("[Mayssel]");
+ mes("Oppositely, the name implies, Detoxify removes poison status.");
+ next();
break;
case 5:
- mes "[Mayssel]";
- mes "It is good you have enough knowledge.";
- mes "Supplementary the field experiences will make you perfect.";
- cutin "gc_mayssel05.bmp", 1;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("It is good you have enough knowledge.");
+ mes("Supplementary the field experiences will make you perfect.");
+ cutin("gc_mayssel05", 1);
+ close2();
+ cutin("", 255);
end;
}
}
case 3:
- mes "[Mayssel]";
- mes "After you register as a student, you can take lessons and gain more experience.";
- cutin "gc_mayssel01.bmp", 1;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("After you register as a student, you can take lessons and gain more experience.");
+ cutin("gc_mayssel01", 1);
+ close2();
+ cutin("", 255);
end;
}
} else {
if (Class == Job_Thief) {
- mes "[Mayssel]";
- mes "You are on the way of thief.";
- mes "Thief is the 1st job.";
- cutin "gc_mayssel01.bmp", 1;
- next;
- mes "[Mayssel]";
- mes "Someday, you would transfer to the 2nd job.";
- mes "It would be better to think of whether becoming a Log or an Assassin now.";
- cutin "gc_mayssel02.bmp", 1;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("You are on the way of thief.");
+ mes("Thief is the 1st job.");
+ cutin("gc_mayssel01", 1);
+ next();
+ mes("[Mayssel]");
+ mes("Someday, you would transfer to the 2nd job.");
+ mes("It would be better to think of whether becoming a Log or an Assassin now.");
+ cutin("gc_mayssel02", 1);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Mayssel]";
- mes "You don't look familiar.";
- mes "In order to attend this class, you must first become a student of Criatura Academy.";
- cutin "gc_mayssel01.bmp", 1;
- next;
- mes "[Mayssel]";
- mes "What information would you like to know about the Thief job?";
- next;
+ mes("[Mayssel]");
+ mes("You don't look familiar.");
+ mes("In order to attend this class, you must first become a student of Criatura Academy.");
+ cutin("gc_mayssel01", 1);
+ next();
+ mes("[Mayssel]");
+ mes("What information would you like to know about the Thief job?");
+ next();
switch(select("About the useful stats for a Thief", "About Thief's primary skills", "Not curious about it.")) {
case 1:
- mes "[Mayssel]";
- mes "You want to know more about stats?";
- mes "There are no perfect answers for useful stats.";
- next;
- mes "[Mayssel]";
- mes "If I choose one among them,";
- mes "^4d4dffAGI is related to flee ability^000000,";
- mes "^4d4dffDex is related with hit ratio";
- mes "STR raises physical attacking power^000000";
- next;
- mes "[Mayssel]";
- mes "Vit, Luk, Int are valued according your target chosen.";
- mes "For your reference, Verkhasel has high level of Luk.";
- mes "A weapon called Katar is good for Critical.";
- next;
- mes "[Mayssel]";
- mes "But thief's primary weapon is a dagger.";
- mes "In the end, you have only to supplement your weak point, after evaluating you and your enemy.";
- next;
- mes "[Mayssel]";
- mes "If your attack doesn't hit the enemy, you come to think of the hit ratio.";
- mes "Hope you find the right stats that are suitable to your fighting style.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("You want to know more about stats?");
+ mes("There are no perfect answers for useful stats.");
+ next();
+ mes("[Mayssel]");
+ mes("If I choose one among them,");
+ mes("^4d4dffAGI is related to flee ability^000000,");
+ mes("^4d4dffDex is related with hit ratio");
+ mes("STR raises physical attacking power^000000");
+ next();
+ mes("[Mayssel]");
+ mes("Vit, Luk, Int are valued according your target chosen.");
+ mes("For your reference, Verkhasel has high level of Luk.");
+ mes("A weapon called Katar is good for Critical.");
+ next();
+ mes("[Mayssel]");
+ mes("But thief's primary weapon is a dagger.");
+ mes("In the end, you have only to supplement your weak point, after evaluating you and your enemy.");
+ next();
+ mes("[Mayssel]");
+ mes("If your attack doesn't hit the enemy, you come to think of the hit ratio.");
+ mes("Hope you find the right stats that are suitable to your fighting style.");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Mayssel]";
- mes "Which skill are you curious about?";
- next;
- while(1) {
+ mes("[Mayssel]");
+ mes("Which skill are you curious about?");
+ next();
+ while(true) {
switch(select("Improve Dodge", "Double attack", "Hiding and Steal", "Envenom and Detoxify", "Not curious about it.")) {
case 1:
- mes "[Mayssel]";
- mes "As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000";
- mes "You want to avoid taking damage from enemy attack, don't you?";
- next;
+ mes("[Mayssel]");
+ mes("As the name implies, ^4d4dffthis skill increases a certain amount of evasion ratio^000000");
+ mes("You want to avoid taking damage from enemy attack, don't you?");
+ next();
break;
case 2:
- mes "[Mayssel]";
- mes "^4d4dffThis skill allows you to deal two damages with only one attack.^000000";
- mes "Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffThis skill allows you to deal two damages with only one attack.^000000");
+ mes("Even though this dagger looks poor, it can damage your enemy severely by the fast two attacks.");
+ next();
break;
case 3:
- mes "[Mayssel]";
- mes "^4d4dffHiding means exactly that... to hide.^000000";
- next;
- mes "[Mayssel]";
- mes "^4d4dffSteal is the skill of stealing enemy's items^000000.";
- mes "You can steal one item from one enemy.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffHiding means exactly that... to hide.^000000");
+ next();
+ mes("[Mayssel]");
+ mes("^4d4dffSteal is the skill of stealing enemy's items^000000.");
+ mes("You can steal one item from one enemy.");
+ next();
break;
case 4:
- mes "[Mayssel]";
- mes "^4d4dffEnvenom is used to poison your enemy.^000000";
- mes "If poisoned, it can make a physical attacks slowly eat away at your foe.";
- next;
- mes "[Mayssel]";
- mes "Oppositely, the name implies, Detoxify removes poison status.";
- next;
+ mes("[Mayssel]");
+ mes("^4d4dffEnvenom is used to poison your enemy.^000000");
+ mes("If poisoned, it can make a physical attacks slowly eat away at your foe.");
+ next();
+ mes("[Mayssel]");
+ mes("Oppositely, the name implies, Detoxify removes poison status.");
+ next();
break;
case 5:
- mes "[Mayssel]";
- mes "It is good you have enough knwledge.";
- mes "Supplementary the field experiences will make you perfect.";
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("It is good you have enough knwledge.");
+ mes("Supplementary the field experiences will make you perfect.");
+ close2();
+ cutin("", 255);
end;
}
}
break;
case 3:
- mes "[Mayssel]";
- mes "After you register as a student, you can take lessons and gain more experience.";
- cutin "gc_mayssel01.bmp", 1;
- close2;
- cutin "", 255;
+ mes("[Mayssel]");
+ mes("After you register as a student, you can take lessons and gain more experience.");
+ cutin("gc_mayssel01", 1);
+ close2();
+ cutin("", 255);
end;
}
}
@@ -10633,13 +10812,13 @@ iz_ac02,52,136,3 script Guest Lecturer Mayssel#0 4_F_MAYSEL,{
}
OnInit:
- //AddQuestInfo 7480 0 0
- //SetQuestQuest 7480 4269 2
+ //Addquestinfo 7480 0 0
+ //setquestQuest 7480 4269 2
//SetQuestJob 7480 NOVICE
- //AddQuestInfo 7483 0 0
+ //Addquestinfo 7483 0 0
//SetQuestQuest 7483 7481 1
//SetQuestQuest 7483 7482 1
- //AddQuestInfo 7495 0 0
+ //Addquestinfo 7495 0 0
//SetQuestQuest 7495 7484 2
//SetQuestQuest 7495 7485 3
end;
@@ -10655,516 +10834,516 @@ iz_ac02_d,52,136,3 duplicate(Guest Lecturer Mayssel#0) Guest Lecturer Mayssel#d
iz_ac02,49,134,5 script Vicente#ac 4_M_HUMAN_02,{
if (questprogress(4269) > 0 && Class == Job_Novice) {
if (!questprogress(7480)) {
- mes "[Vicente]";
- mes "Are you curious about the thief job?";
- mes "Mayssel will give you the details about it.";
- mes "But, you must be a student of Criatura Academy.";
- cutin "sc_vicente01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Vicente]");
+ mes("Are you curious about the thief job?");
+ mes("Mayssel will give you the details about it.");
+ mes("But, you must be a student of Criatura Academy.");
+ cutin("sc_vicente01", 2);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7480) == 1) {
if (!questprogress(7481)) {
- mes "[Vicente]";
- mes "Hmmm. Thief.... Then, I need to explain to you about stats, too.";
- cutin "sc_vicente01.bmp", 2;
- next;
- mes "[Vicente]";
- mes "First, ^4d4dffStr power, Agi agility, Dex hit,^000000 these theree elements are all good for a Thief.";
- mes "Supplementary elements are Int intelligence, Vit vitality, Luk luck.";
- next;
- mes "[Vicente]";
- mes "As ^4d4dffStr raises the physical attacking power, it will be your tool to raises your attacking power against a Thief and Rogue who primarily use daggers^000000.";
- mes "And, I will raise your limit of carrying items, which means you can load more items.";
- next;
- mes "[Vicente]";
- mes "^4d4dffAgi is to raise your evasion ratio and Aspd attacking speed.^000000 Simply speaking, you become nimble.";
- next;
- mes "[Vicente]";
- mes "Agi is one of the very important figures as you- a thief wearing a light armor have to evade the enemy's attack rather than facing it head on.";
- next;
- mes "[Vicente]";
- mes "And ^4d4dffDex to hit your attack^000000 is unforgettable.";
- mes "You can do anything once your attack succeeds.";
- next;
- mes "[Vicente]";
- mes "In addition, there are those who are fighting in the War of Emperium with ^4d4dffthe raised VIT energy level to increase their HP vitality^000000.";
- next;
- mes "[Vicente]";
- mes "Among the Rogue skills, there is a skill called 'Intimidate' with which you can learn and use other's skills,";
- mes "there are some who^4d4dffinvest to Intelligence to use the learned magic from this spell^000000.";
- next;
- mes "[Vicente]";
- mes "We I can tell which one is the right choice.";
- mes "According to the individual tastes and purposes, you have to split your ability.";
- mes "But...";
- next;
- mes "[Vicente]";
- mes "Rogues are for ^4d4dffdisarming the enemy's armor^000000 or ^4d4dffstealing better than a thief^000000.";
- mes "or ^4d4dff fall back after suddenly being attacked^000000";
- next;
- mes "[Vicente]";
- mes "Hmmhmmm. It may look cowardish but it is upgraded from a thief.";
- mes "As it can have a better eyesight and do the art.";
- cutin "sc_vicente03.bmp", 2;
- next;
+ mes("[Vicente]");
+ mes("Hmmm. Thief.... Then, I need to explain to you about stats, too.");
+ cutin("sc_vicente01", 2);
+ next();
+ mes("[Vicente]");
+ mes("First, ^4d4dffStr power, Agi agility, Dex hit,^000000 these theree elements are all good for a Thief.");
+ mes("Supplementary elements are Int intelligence, Vit vitality, Luk luck.");
+ next();
+ mes("[Vicente]");
+ mes("As ^4d4dffStr raises the physical attacking power, it will be your tool to raises your attacking power against a Thief and Rogue who primarily use daggers^000000.");
+ mes("And, I will raise your limit of carrying items, which means you can load more items.");
+ next();
+ mes("[Vicente]");
+ mes("^4d4dffAgi is to raise your evasion ratio and Aspd attacking speed.^000000 Simply speaking, you become nimble.");
+ next();
+ mes("[Vicente]");
+ mes("Agi is one of the very important figures as you- a thief wearing a light armor have to evade the enemy's attack rather than facing it head on.");
+ next();
+ mes("[Vicente]");
+ mes("And ^4d4dffDex to hit your attack^000000 is unforgettable.");
+ mes("You can do anything once your attack succeeds.");
+ next();
+ mes("[Vicente]");
+ mes("In addition, there are those who are fighting in the War of Emperium with ^4d4dffthe raised VIT energy level to increase their HP vitality^000000.");
+ next();
+ mes("[Vicente]");
+ mes("Among the Rogue skills, there is a skill called 'Intimidate' with which you can learn and use other's skills,");
+ mes("there are some who^4d4dffinvest to Intelligence to use the learned magic from this spell^000000.");
+ next();
+ mes("[Vicente]");
+ mes("We I can tell which one is the right choice.");
+ mes("According to the individual tastes and purposes, you have to split your ability.");
+ mes("But...");
+ next();
+ mes("[Vicente]");
+ mes("Rogues are for ^4d4dffdisarming the enemy's armor^000000 or ^4d4dffstealing better than a thief^000000.");
+ mes("or ^4d4dff fall back after suddenly being attacked^000000");
+ next();
+ mes("[Vicente]");
+ mes("Hmmhmmm. It may look cowardish but it is upgraded from a thief.");
+ mes("As it can have a better eyesight and do the art.");
+ cutin("sc_vicente03", 2);
+ next();
select("Haaaaam...", "Is that so?");
- mes "[Vicente]";
- mes ".........you were boring.";
- mes "Among the thief's skills, there is an item called 'Improve Dodge'.";
- mes "The stats related to evasion ratio is..";
- cutin "sc_vicente02.bmp", 2;
- next;
- if(select("Dex !!", "Agi !!") == 1) {
- mes "[Lumin]";
- mes "Don't mess around with me too much.";
- mes "It's Agi.";
- cutin "nov_lumin02.bmp", 0;
- next;
+ mes("[Vicente]");
+ mes(".........you were boring.");
+ mes("Among the thief's skills, there is an item called 'Improve Dodge'.");
+ mes("The stats related to evasion ratio is..");
+ cutin("sc_vicente02", 2);
+ next();
+ if (select("Dex !!", "Agi !!") == 1) {
+ mes("[Lumin]");
+ mes("Don't mess around with me too much.");
+ mes("It's Agi.");
+ cutin("nov_lumin02", 0);
+ next();
select("Ah, yes...");
- mes "[Lumin]";
- mes "Compensation is?";
- cutin "nov_lumin01.bmp", 0;
- next;
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Ahhh, yes...";
- mes "I will give a gift for Lumin.";
- next;
- cutin "sc_vicente03.bmp", 2;
- mes "[Vicente]";
- mes "Now I will finish my class.";
- mes "Important thing is not theory like what we are talking about.";
- mes "Actual fighting!! Actual fighting is key!!";
- setquest 7481;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("Compensation is?");
+ cutin("nov_lumin01", 0);
+ next();
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Ahhh, yes...");
+ mes("I will give a gift for Lumin.");
+ next();
+ cutin("sc_vicente03", 2);
+ mes("[Vicente]");
+ mes("Now I will finish my class.");
+ mes("Important thing is not theory like what we are talking about.");
+ mes("Actual fighting!! Actual fighting is key!!");
+ setquest(7481);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Vicente]";
- mes "Oh, fortunately you have been in the class.";
- mes "I didn't feel easy as your face look very boring.";
- mes "Now, shall we keep going on?";
- cutin "sc_vicente03.bmp", 2;
- next;
- mes "[Lumin]";
- mes "...... Compensation is?";
- cutin "nov_lumin02.bmp", 0;
- next;
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Ah,,, thank you for your pointout.";
- mes "Be successful!";
- next;
- cutin "sc_vicente03.bmp", 2;
- mes "[Vicente]";
- mes "Important thing is not theory but actual fighting.";
- mes "Do you agree?";
- setquest 7481;
- getitem Novice_Potion, 30; // Novice_Potion
- close2;
- cutin "", 255;
+ mes("[Vicente]");
+ mes("Oh, fortunately you have been in the class.");
+ mes("I didn't feel easy as your face look very boring.");
+ mes("Now, shall we keep going on?");
+ cutin("sc_vicente03", 2);
+ next();
+ mes("[Lumin]");
+ mes("...... Compensation is?");
+ cutin("nov_lumin02", 0);
+ next();
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Ah,,, thank you for your pointout.");
+ mes("Be successful!");
+ next();
+ cutin("sc_vicente03", 2);
+ mes("[Vicente]");
+ mes("Important thing is not theory but actual fighting.");
+ mes("Do you agree?");
+ setquest(7481);
+ getitem(Novice_Potion, 30); // Novice_Potion
+ close2();
+ cutin("", 255);
end;
}
} else {
if (!questprogress(7486)) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Talking about Rogue,";
- mes "It is not a cowardish job as the others complain.";
- next;
- mes "[Lumin]";
- mes ".....Don't you have a strange hobby?";
- mes "Taking off other's clothings.";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "sc_vicente02.bmp", 2;
- mes "[Vicente]";
- mes "What.. What a thing to say!";
- mes "Lu, you shouldn't say such things!";
- mes "Rogue is the upper level to a thief.";
- next;
- cutin "nov_lumin01.bmp", 2;
- mes "[Lumin]";
- mes "Eummm. I won't be a Log.";
- mes "How about you?";
- next;
- if(select("Eh? Me? I don't want to be.", "Me.. I like... Rogue...") == 1) {
- mes "[Lumin]";
- mes "Ok. Then you take the bloody way with me.";
- mes "Becoming a shadow in the dark....";
- cutin "nov_lumin03.bmp", 2;
- next;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Talking about Rogue,");
+ mes("It is not a cowardish job as the others complain.");
+ next();
+ mes("[Lumin]");
+ mes(".....Don't you have a strange hobby?");
+ mes("Taking off other's clothings.");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("sc_vicente02", 2);
+ mes("[Vicente]");
+ mes("What.. What a thing to say!");
+ mes("Lu, you shouldn't say such things!");
+ mes("Rogue is the upper level to a thief.");
+ next();
+ cutin("nov_lumin01", 2);
+ mes("[Lumin]");
+ mes("Eummm. I won't be a Log.");
+ mes("How about you?");
+ next();
+ if (select("Eh? Me? I don't want to be.", "Me.. I like... Rogue...") == 1) {
+ mes("[Lumin]");
+ mes("Ok. Then you take the bloody way with me.");
+ mes("Becoming a shadow in the dark....");
+ cutin("nov_lumin03", 2);
+ next();
select("I don't want to be a thief.", ".... I'm scared!");
- mes "[Lumin]";
- mes "... a headache.";
- cutin "nov_lumin02.bmp", 2;
- next;
- cutin "sc_vicente04.bmp", 2;
- mes "[Vicente]";
- mes "Hahahaha. Stop talking about the scary story.";
- next;
- cutin "nov_lumin01.bmp", 2;
- mes "[Lumin]";
- mes ".. Hng..";
- setquest 7486;
- completequest 7486;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("... a headache.");
+ cutin("nov_lumin02", 2);
+ next();
+ cutin("sc_vicente04", 2);
+ mes("[Vicente]");
+ mes("Hahahaha. Stop talking about the scary story.");
+ next();
+ cutin("nov_lumin01", 2);
+ mes("[Lumin]");
+ mes(".. Hng..");
+ setquest(7486);
+ completequest(7486);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lumin]";
- mes "Is that so?";
- mes "It is an astonishing fighting skill to make the enemy disarmed and disabled.";
- mes "I thumb up the skill.";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "sc_vicente02.bmp", 2;
- mes "[Vicente]";
- mes "Will you say a different story from what you told before?";
- mes "Haha.. To me, Master is good enough, doing the same thing to me.";
- setquest 7486;
- completequest 7486;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("Is that so?");
+ mes("It is an astonishing fighting skill to make the enemy disarmed and disabled.");
+ mes("I thumb up the skill.");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("sc_vicente02", 2);
+ mes("[Vicente]");
+ mes("Will you say a different story from what you told before?");
+ mes("Haha.. To me, Master is good enough, doing the same thing to me.");
+ setquest(7486);
+ completequest(7486);
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Vicente]";
- mes "Keung....";
- mes "I am losing my excitement.";
- cutin "sc_vicente04.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Vicente]");
+ mes("Keung....");
+ mes("I am losing my excitement.");
+ cutin("sc_vicente04", 2);
+ close2();
+ cutin("", 255);
end;
}
}
} else {
if (!questprogress(7483)) {
- mes "[Vicente]";
- mes "If you wish to continue along the path of the Thief, speak to Mayssel.";
- mes "Her information should be helpful.";
- cutin "sc_vicente01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Vicente]");
+ mes("If you wish to continue along the path of the Thief, speak to Mayssel.");
+ mes("Her information should be helpful.");
+ cutin("sc_vicente01", 2);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7483) == 1) {
if (BaseLevel > 12) {
if (!questprogress(7484)) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Hmmm. It is about the thief's skill using the manual.";
- mes "By the way, this manual is only available for experience up to level 12.";
- next;
- mes "[Vicente]";
- mes "The actual exercise of ^4d4dffstealing from monster's items^000000 skill was planned but";
- mes "you may need to know what it is... No need to do the actual exercise.";
- next;
- mes "[Vicente]";
- mes "I will regard my course as completed.";
- mes "By the way, what is stealing all about?";
- next;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Hmmm. It is about the thief's skill using the manual.");
+ mes("By the way, this manual is only available for experience up to level 12.");
+ next();
+ mes("[Vicente]");
+ mes("The actual exercise of ^4d4dffstealing from monster's items^000000 skill was planned but");
+ mes("you may need to know what it is... No need to do the actual exercise.");
+ next();
+ mes("[Vicente]");
+ mes("I will regard my course as completed.");
+ mes("By the way, what is stealing all about?");
+ next();
switch(select("Stealing other's items!", "Stealing monster's items!", "Stealing other's enemy!", "Don't know.")) {
case 1:
- mes "[Vicente]";
- mes "Wrong! That would be a terrible thing to do.";
- mes "You can't go around stealing people's things.";
- cutin "sc_vicente02.bmp", 2;
- next;
+ mes("[Vicente]");
+ mes("Wrong! That would be a terrible thing to do.");
+ mes("You can't go around stealing people's things.");
+ cutin("sc_vicente02", 2);
+ next();
break;
case 2:
- mes "[Vicente]";
- mes "Correct!";
- mes "You have a good memory!";
- cutin "sc_vicente03.bmp", 2;
- next;
+ mes("[Vicente]");
+ mes("Correct!");
+ mes("You have a good memory!");
+ cutin("sc_vicente03", 2);
+ next();
break;
case 3:
- mes "[Vicente]";
- mes "You like doing that?";
- mes "That is a terrible thing to do.";
- next;
+ mes("[Vicente]");
+ mes("You like doing that?");
+ mes("That is a terrible thing to do.");
+ next();
break;
case 4:
break;
}
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Yes, we steal monster items.";
- mes "the higher your skill level and the higher your hit ratio is, the success ratio also becomes higher.";
- next;
- mes "[Vicente]";
- mes "Anyway, here I will finish my class.";
- mes "If you want to continue, there is no way as your level is too high.";
- setquest 7484;
- completequest 7484;
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Yes, we steal monster items.");
+ mes("the higher your skill level and the higher your hit ratio is, the success ratio also becomes(higher.");
+ next();
+ mes("[Vicente]");
+ mes("Anyway, here I will finish my class.");
+ mes("If you want to continue, there is no way as your level is too high.");
+ setquest(7484);
+ completequest(7484);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7484) == 1) {
if (countitem(Stone) > 0) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Oh, excellent!";
- mes "Keep the stone as a souvenir.";
- completequest 7484;
- getexp 800, 0;
- next;
- mes "[Vicente]";
- mes "Anyway, you seem to be skilled enough to continue.";
- mes "Go speak to Mayssel.";
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Oh, excellent!");
+ mes("Keep the stone as a souvenir.");
+ completequest(7484);
+ getexp(800, 0);
+ next();
+ mes("[Vicente]");
+ mes("Anyway, you seem to be skilled enough to continue.");
+ mes("Go speak to Mayssel.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Hmmm. It is about the thief's skill using the manual.";
- mes "By the way, this manual is only available for experience up to level 12.";
- next;
- mes "[Vicente]";
- mes "The actual exercise of ^4d4dffstealing from monster's items^000000 skill was planned but";
- mes "you may need to know what it is... No need to do the actual exercise.";
- next;
- mes "[Vicente]";
- mes "I will regard my course as completed.";
- mes "By the way, what is stealing all about?";
- next;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Hmmm. It is about the thief's skill using the manual.");
+ mes("By the way, this manual is only available for experience up to level 12.");
+ next();
+ mes("[Vicente]");
+ mes("The actual exercise of ^4d4dffstealing from monster's items^000000 skill was planned but");
+ mes("you may need to know what it is... No need to do the actual exercise.");
+ next();
+ mes("[Vicente]");
+ mes("I will regard my course as completed.");
+ mes("By the way, what is stealing all about?");
+ next();
switch(select("Stealing other's items!", "Stealing monster's items!", "Stealing other's enemy!", "Don't know.")) {
case 1:
- mes "[Vicente]";
- mes "Wrong! That would be a terrible thing to do.";
- mes "You can't go around stealing people's things.";
- cutin "sc_vicente02.bmp", 2;
- next;
+ mes("[Vicente]");
+ mes("Wrong! That would be a terrible thing to do.");
+ mes("You can't go around stealing people's things.");
+ cutin("sc_vicente02", 2);
+ next();
break;
case 2:
- mes "[Vicente]";
- mes "Correct!";
- mes "You have a good memory!";
- cutin "sc_vicente03.bmp", 2;
- next;
+ mes("[Vicente]");
+ mes("Correct!");
+ mes("You have a good memory!");
+ cutin("sc_vicente03", 2);
+ next();
break;
case 3:
- mes "[Vicente]";
- mes "You like doing that?";
- mes "That is a terrible thing to do.";
- next;
+ mes("[Vicente]");
+ mes("You like doing that?");
+ mes("That is a terrible thing to do.");
+ next();
break;
case 4:
break;
}
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Yes, we steal monster items.";
- mes "the higher your skill level and the higher your hit ratio is, the success ratio also becomes higher.";
- next;
- mes "[Vicente]";
- mes "Anyway, here I will finish my class.";
- mes "If you want to continue, there is no way as your level is too high.";
- setquest 7484;
- completequest 7484;
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Yes, we steal monster items.");
+ mes("the higher your skill level and the higher your hit ratio is, the success ratio also becomes(higher.");
+ next();
+ mes("[Vicente]");
+ mes("Anyway, here I will finish my class.");
+ mes("If you want to continue, there is no way as your level is too high.");
+ setquest(7484);
+ completequest(7484);
+ close2();
+ cutin("", 255);
end;
}
}
}
if (!questprogress(7484)) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Hmmm. What?";
- mes "You are talking about the use of thief skills by using the manual?";
- mes "First, equip the Thief Manual.";
- next;
- mes "[Vicente]";
- mes "You can either double click ^4d4dff the items to be equipped^000000 or drag it to the equipment window.";
- next;
- mes "[Vicente]";
- mes "Then, open the skill window, you can find the added skills in the 'Misc' tab.";
- mes "You can even set the skills in the shortcut bar.";
- next;
- mes "[Vicente]";
- mes "Now, out of them, there is a skill called ^4d4dff Steal^000000.";
- next;
- mes "[Vicente]";
- mes "Here is an assignment.";
- mes "Can you see the ornamental Poring cage?";
- mes "Steal ^4d4dff one Stone from Poring by using the Steal skill.^000000";
- next;
- mes "[Vicente]";
- mes "Steal has a possibility to fail so don't quit.";
- mes "Good luck.";
- setquest 7484;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Hmmm. What?");
+ mes("You are talking about the use of thief skills by using the manual?");
+ mes("First, equip the Thief Manual.");
+ next();
+ mes("[Vicente]");
+ mes("You can either double click ^4d4dff the items to be equipped^000000 or drag it to the equipment window.");
+ next();
+ mes("[Vicente]");
+ mes("Then, open the skill window, you can find the added skills in the 'Misc' tab.");
+ mes("You can even set the skills in the shortcut bar.");
+ next();
+ mes("[Vicente]");
+ mes("Now, out of them, there is a skill called ^4d4dff Steal^000000.");
+ next();
+ mes("[Vicente]");
+ mes("Here is an assignment.");
+ mes("Can you see the ornamental Poring cage?");
+ mes("Steal ^4d4dff one Stone from Poring by using the Steal skill.^000000");
+ next();
+ mes("[Vicente]");
+ mes("Steal has a possibility to fail so don't quit.");
+ mes("Good luck.");
+ setquest(7484);
npcskill "AL_BLESSING", 10, 60, 60;
- percentheal 0, 100;
- close2;
- cutin "", 255;
+ percentheal(0, 100);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7484) == 1) {
if (countitem(Stone) > 0) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Oh, excellent!";
- mes "Keep the stone as a souvenir.";
- completequest 7484;
- getexp 800, 0;
- next;
- mes "[Vicente]";
- mes "Anyway, it is good enough for your skill experience purpose, let's finish the class here.";
- mes "If you haven't finished Mr. Verkhasel's assignment, keep going with it.";
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Oh, excellent!");
+ mes("Keep the stone as a souvenir.");
+ completequest(7484);
+ getexp(800, 0);
+ next();
+ mes("[Vicente]");
+ mes("Anyway, it is good enough for your skill experience purpose, let's finish the class here.");
+ mes("If you haven't finished Mr. Verkhasel's assignment, keep going with it.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Steal one Stone from a Poring.";
- mes "Wasn't it fun?";
- next;
- if(select("It didn't give me a stone.", "I won't do it.") == 1) {
- mes "[Vicente]";
- mes "Hmmm? All porings were stolen of their stones?";
- mes "I will summon Porings again, and you, try it once again.";
- donpcevent "#nbacStone01::OnReset";
- donpcevent "#nbacStone02::OnReset";
- donpcevent "#nbacStone03::OnReset";
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Steal one Stone from a Poring.");
+ mes("Wasn't it fun?");
+ next();
+ if (select("It didn't give me a stone.", "I won't do it.") == 1) {
+ mes("[Vicente]");
+ mes("Hmmm? All porings were stolen of their stones?");
+ mes("I will summon Porings again, and you, try it once again.");
+ donpcevent("#nbacStone01::OnReset");
+ donpcevent("#nbacStone02::OnReset");
+ donpcevent("#nbacStone03::OnReset");
npcskill "AL_BLESSING", 10, 60, 60;
- percentheal 0, 100;
- close2;
- cutin "", 255;
+ percentheal(0, 100);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Vicente]";
- mes "Hmmm. Is that so?";
- mes "This is not your aptitude.";
- mes "I see. This mission is now cancelled.";
- erasequest 7484;
- close2;
- cutin "", 255;
+ mes("[Vicente]");
+ mes("Hmmm. Is that so?");
+ mes("This is not your aptitude.");
+ mes("I see. This mission is now cancelled.");
+ erasequest(7484);
+ close2();
+ cutin("", 255);
end;
}
}
} else {
- cutin "sc_vicente01.bmp", 1;
- mes "[Vicente]";
- mes "Ahhh. Boring, Boring...";
- mes "Now I can understand why Master ran away.";
- mes "I want to go home.";
- next;
- cutin "gc_verkhasel01.bmp", 2;
- mes "[Verkhasel]";
- mes "So do I.";
- mes "Mayssel... what did she think of...";
- next;
- mes "[Lumin]";
- mes "Hmmm. Did she go AWOL?";
- cutin "nov_lumin01.bmp", 0;
- next;
- cutin "gc_verkhasel01.bmp", 2;
- mes "[Verkhasel]";
- mes "Are you kidding me?!";
- mes "Would you rather be carrying out a fatal mission!?!";
- next;
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "Ah... I don't like it.";
- mes "I would rather evaluate jewelry sitting at the workshop as usual...";
- next;
- cutin "gc_mayssel03.bmp", 1;
- mes "[Mayssel]";
- mes ".... .. ..";
- mes "I will accept Verkhassel's wish.";
- mes "Don't worry hohoho...";
- next;
- cutin "", 255;
- mes "The mood is becoming gloomy.";
- mes "Should I get out of here?";
- close;
+ cutin("sc_vicente01", 1);
+ mes("[Vicente]");
+ mes("Ahhh. Boring, Boring...");
+ mes("Now I can understand why Master ran away.");
+ mes("I want to go home.");
+ next();
+ cutin("gc_verkhasel01", 2);
+ mes("[Verkhasel]");
+ mes("So do I.");
+ mes("Mayssel... what did she think of...");
+ next();
+ mes("[Lumin]");
+ mes("Hmmm. Did she go AWOL?");
+ cutin("nov_lumin01", 0);
+ next();
+ cutin("gc_verkhasel01", 2);
+ mes("[Verkhasel]");
+ mes("Are you kidding me?!");
+ mes("Would you rather be carrying out a fatal mission!?!");
+ next();
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("Ah... I don't like it.");
+ mes("I would rather evaluate jewelry sitting at the workshop as usual...");
+ next();
+ cutin("gc_mayssel03", 1);
+ mes("[Mayssel]");
+ mes(".... .. ..");
+ mes("I will accept Verkhassel's wish.");
+ mes("Don't worry hohoho...");
+ next();
+ cutin("", 255);
+ mes("The mood is becoming gloomy.");
+ mes("Should I get out of here?");
+ close();
}
} else {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "You are doing well.";
- mes "I hope to see you again someday.";
- next;
- mes "[Vicente]";
- mes "Ah, for your reference, I am operating a small workshop in Lighthalzen.";
- mes "Visit me there someday.";
- next;
- mes "[Vicente]";
- mes "Perhaps, I won't forget you...";
- mes "Haha...";
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("You are doing well.");
+ mes("I hope to see you again someday.");
+ next();
+ mes("[Vicente]");
+ mes("Ah, for your reference, I am operating a small workshop in Lighthalzen.");
+ mes("Visit me there someday.");
+ next();
+ mes("[Vicente]");
+ mes("Perhaps, I won't forget you...");
+ mes("Haha...");
+ close2();
+ cutin("", 255);
end;
}
}
} else {
if (!questprogress(4269)) {
- cutin "sc_vicente01.bmp", 2;
- mes "[Vicente]";
- mes "You are not a student of Criatura Academy.";
- mes "If you want more explanation about this job, you better register as a student of the Academy.";
- next;
- mes "[Vicente]";
- mes "Though only novices can register...";
- close2;
- cutin "", 255;
+ cutin("sc_vicente01", 2);
+ mes("[Vicente]");
+ mes("You are not a student of Criatura Academy.");
+ mes("If you want more explanation about this job, you better register as a student of the Academy.");
+ next();
+ mes("[Vicente]");
+ mes("Though only novices can register...");
+ close2();
+ cutin("", 255);
end;
} else {
if (Class == Job_Thief) {
- cutin "sc_vicente03.bmp", 2;
- mes "[Vicente]";
- mes "Oh, you became a good thief.";
- mes "Don't you want to be a shadow chaser in your future?";
- next;
- mes "[Vicente]";
- mes "This is the higher class applied by the elite Rogues of good artistry.";
- next;
- mes "[Vicente]";
- mes "Above job level 40, any Thief can be transferred to a Rogue anytime.";
- mes "Fortunately, the sailing service from Izlude wharf to Pharos lighthouse is available!!";
- next;
- cutin "gc_verkhasel02.bmp", 0;
- mes "[Verkhasel]";
- mes "First, is it courteous to ask whether you can be a Rogue or not?";
- mes "If it is an application for an Assassin, what happens to you?";
- next;
- cutin "sc_vicente03.bmp", 2;
- mes "[Vicente]";
- mes "Haha. You like a bloody job?";
- next;
- cutin "sc_vicente04.bmp", 2;
- mes "[Vicente]";
- mes "Haha... Calm down...";
- mes "Don't respond to every tiny matter..";
- next;
- cutin "", 255;
- mes "The atmosphere became very tense.";
- close2;
- cutin "", 255;
+ cutin("sc_vicente03", 2);
+ mes("[Vicente]");
+ mes("Oh, you became a good thief.");
+ mes("Don't you want to be a shadow chaser in your future?");
+ next();
+ mes("[Vicente]");
+ mes("This is the higher class applied by the elite Rogues of good artistry.");
+ next();
+ mes("[Vicente]");
+ mes("Above job level 40, any Thief can be transferred to a Rogue anytime.");
+ mes("Fortunately, the sailing service from Izlude wharf to Pharos lighthouse is available!!");
+ next();
+ cutin("gc_verkhasel02", 0);
+ mes("[Verkhasel]");
+ mes("First, is it courteous to ask whether you can be a Rogue or not?");
+ mes("If it is an application for an Assassin, what happens to you?");
+ next();
+ cutin("sc_vicente03", 2);
+ mes("[Vicente]");
+ mes("Haha. You like a bloody job?");
+ next();
+ cutin("sc_vicente04", 2);
+ mes("[Vicente]");
+ mes("Haha... Calm down...");
+ mes("Don't respond to every tiny matter..");
+ next();
+ cutin("", 255);
+ mes("The atmosphere became very tense.");
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "sc_vicente03.bmp", 2;
- mes "[Vicente]";
- mes "Welcome to the Criatura Academy.";
- mes "Here, I am teaching the basics to the people wishing to be a Thief.";
- next;
- mes "[Vicente]";
- mes "So, in other words, I am handling the Novices wanting to be thieves.";
- mes "Haha...";
- close2;
- cutin "", 255;
+ cutin("sc_vicente03", 2);
+ mes("[Vicente]");
+ mes("Welcome to the Criatura Academy.");
+ mes("Here, I am teaching the basics to the people wishing to be a Thief.");
+ next();
+ mes("[Vicente]");
+ mes("So, in other words, I am handling the Novices wanting to be thieves.");
+ mes("Haha...");
+ close2();
+ cutin("", 255);
end;
}
}
}
OnInit:
- //AddQuestInfo 7481 0 0
- //SetQuestQuest 7481 7480 1
- //AddQuestInfo 7484 0 0
+ //Addquestinfo 7481 0 0
+ //setquestQuest 7481 7480 1
+ //Addquestinfo 7484 0 0
//SetQuestQuest 7484 7483 1
end;
}
@@ -11179,431 +11358,431 @@ iz_ac02_d,49,134,5 duplicate(Vicente#ac) Vicente#ac_d 4_M_HUMAN_02
iz_ac02,55,134,3 script Verkhasel#ac 4_M_GUILLOTINE,{
if (questprogress(4269) > 0 && Class == Job_Novice) {
if (!questprogress(7480)) {
- mes "[Verkhasel]";
- mes "What? It interrupts me.";
- cutin "gc_verkhasel01.bmp", 0;
- close2;
- cutin "", 255;
+ mes("[Verkhasel]");
+ mes("What? It interrupts me.");
+ cutin("gc_verkhasel01", 0);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7480) == 1) {
if (!questprogress(7482)) {
- mes "[Verkhasel]";
- mes "Eheee, Eheee, It can't be a joke.";
- mes "Mayssel's class...";
- mes "Did you call upon me for this kind of nasty thing?";
- cutin "gc_verkhasel01.bmp", 0;
- next;
+ mes("[Verkhasel]");
+ mes("Eheee, Eheee, It can't be a joke.");
+ mes("Mayssel's class...");
+ mes("Did you call upon me for this kind of nasty thing?");
+ cutin("gc_verkhasel01", 0);
+ next();
select("...Let's keep working?");
- mes "[Lumin]";
- mes "It's a pity. That man is scary.";
- mes "But as long as I am with you, don't be afraid of him.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Verkhasel]";
- mes "What are you talking about this time?";
- mes "In the beginning, Lue.. You should not be here...";
- cutin "gc_verkhasel01.bmp", 0;
- next;
- cutin "nov_lumin01.bmp", 2;
- mes "[Lumin]";
- mes ".........Who am I?";
- mes "Assistant.... Trainer?";
- next;
- cutin "gc_verkhasel02.bmp", 0;
- mes "[Verkhasel]";
- mes "Zt...";
- mes "Well, which one are you curious about?";
- next;
- cutin "gc_verkhasel01.bmp", 0;
+ mes("[Lumin]");
+ mes("It's a pity. That man is scary.");
+ mes("But as long as I am with you, don't be afraid of him.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Verkhasel]");
+ mes("What are you talking about this time?");
+ mes("In the beginning, Lue.. You should not be here...");
+ cutin("gc_verkhasel01", 0);
+ next();
+ cutin("nov_lumin01", 2);
+ mes("[Lumin]");
+ mes(".........Who am I?");
+ mes("Assistant.... Trainer?");
+ next();
+ cutin("gc_verkhasel02", 0);
+ mes("[Verkhasel]");
+ mes("Zt...");
+ mes("Well, which one are you curious about?");
+ next();
+ cutin("gc_verkhasel01", 0);
.@ok_chk = 0;
- while(1) {
+ while(true) {
switch(select("Double Attack", "Envenom", "Improve Dodge and Hide", "About you", "That's enough.")) {
case 1:
- mes "[Verkhasel]";
- mes "You may already know the primary weapon of a Thief is a dagger.";
- mes "A Thief's specialty is the ^4d4dffDouble Attack^000000 by a dagger.";
- next;
- mes "[Verkhasel]";
- mes "If you are short of attacking power, it can be covered at a certain degree.";
- mes "Any other questions?";
+ mes("[Verkhasel]");
+ mes("You may already know the primary weapon of a Thief is a dagger.");
+ mes("A Thief's specialty is the ^4d4dffDouble Attack^000000 by a dagger.");
+ next();
+ mes("[Verkhasel]");
+ mes("If you are short of attacking power, it can be covered at a certain degree.");
+ mes("Any other questions?");
.@ok_chk = .@ok_chk + 1;
- next;
+ next();
continue;
case 2:
- mes "[Verkhasel]";
- mes "There is a skill called ^4d4dffEnvenom^000000 to intoxicate your enemy with poison and";
- mes "the other skill called ^4d4dffDetoxify^000000 to remove the poisoned status.";
- next;
- mes "[Verkhasel]";
- mes "You can tell the poisoned status by its very pretty purple color.";
- next;
- mes "[Verkhasel]";
- mes "In case, you are poisoned, venom will decrease your vitality rapidly,";
- mes "you either detoxify right away or take the antidote potion.";
- next;
- mes "[Verkhasel]";
- mes "If you have more interest in poison, you may be an assassin.";
- mes "They officially use poison.";
- mes "Then next!";
+ mes("[Verkhasel]");
+ mes("There is a skill called ^4d4dffEnvenom^000000 to intoxicate your enemy with poison and");
+ mes("the other skill called ^4d4dffDetoxify^000000 to remove the poisoned status.");
+ next();
+ mes("[Verkhasel]");
+ mes("You can tell the poisoned status by its very pretty purple color.");
+ next();
+ mes("[Verkhasel]");
+ mes("In case, you are poisoned, venom will decrease your vitality rapidly,");
+ mes("you either detoxify right away or take the antidote potion.");
+ next();
+ mes("[Verkhasel]");
+ mes("If you have more interest in poison, you may be an assassin.");
+ mes("They officially use poison.");
+ mes("Then next!");
.@ok_chk = .@ok_chk + 1;
- next;
+ next();
continue;
case 3:
- mes "[Verkhasel]";
- mes "Thiefs train the skill called ^4d4dffImprove Dodge^000000.";
- mes "This makes the enemy powerless by evading its attack.";
- next;
- mes "[Verkhasel]";
- mes "Rather than being patient after being hit, it is more suitable for a less defensive thief to avoid from it fast.";
- mes "Being this reason, agility [AGI] can't be neglected.";
- next;
- mes "[Verkhasel]";
- mes "^4d4dffHiding^000000 is the skill for refuge.";
- mes "If successful, others can't see you.";
- next;
- mes "[Verkhasel]";
- mes "Ah, as it is said you can't cheat a ghost.... You would be found by evil.";
- mes "Also sensitive insects recognize it...";
- next;
- mes "[Verkhasel]";
- mes "Other than these, it will be useful for avoiding emergency situations.";
- mes "When you become higher jobs like Rogue or Assassin, you can learn more useful skills like Refuge.";
+ mes("[Verkhasel]");
+ mes("Thiefs train the skill called ^4d4dffImprove Dodge^000000.");
+ mes("This makes the enemy powerless by evading its attack.");
+ next();
+ mes("[Verkhasel]");
+ mes("Rather than being patient after being hit, it is more suitable for a less defensive thief to avoid from it fast.");
+ mes("Being this reason, agility [AGI] can't be neglected.");
+ next();
+ mes("[Verkhasel]");
+ mes("^4d4dffHiding^000000 is the skill for refuge.");
+ mes("If successful, others can't see you.");
+ next();
+ mes("[Verkhasel]");
+ mes("Ah, as it is said you can't cheat a ghost.... You would be found by evil.");
+ mes("Also sensitive insects recognize it...");
+ next();
+ mes("[Verkhasel]");
+ mes("Other than these, it will be useful for avoiding emergency situations.");
+ mes("When you become higher jobs like Rogue or Assassin, you can learn more useful skills like Refuge.");
.@ok_chk = .@ok_chk + 1;
- next;
+ next();
continue;
case 4:
- mes "[Verkhasel]";
- mes "Me? I am a chief of the Guillotine Cross.";
- mes "......";
- next;
- cutin "nov_lumin01.bmp", 2;
- mes "[Lumin]";
- mes "As one of the assassins, I am in charge of punishing the law violators, as the member of the execution group.";
- mes "For your reference, the primary weapon of Verkhasel is Katar.";
- next;
+ mes("[Verkhasel]");
+ mes("Me? I am a chief of the Guillotine Cross.");
+ mes("......");
+ next();
+ cutin("nov_lumin01", 2);
+ mes("[Lumin]");
+ mes("As one of the assassins, I am in charge of punishing the law violators, as the member of the execution group.");
+ mes("For your reference, the primary weapon of Verkhasel is Katar.");
+ next();
select("How do you know that?");
- mes "[Lumin]";
- mes "That's my hope.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "Oh.. Smart funk~~";
- mes "That's enough, Lu.";
- mes "Any more questions?";
- next;
+ mes("[Lumin]");
+ mes("That's my hope.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("Oh.. Smart funk~~");
+ mes("That's enough, Lu.");
+ mes("Any more questions?");
+ next();
continue;
case 5:
if (.@ok_chk == 0) {
- mes "[Verkhasel]";
- mes "You can steal one item from one enemy.";
- mes "I feel mortified at stopping here, but it's worse to be neglected...";
- next;
+ mes("[Verkhasel]");
+ mes("You can steal one item from one enemy.");
+ mes("I feel mortified at stopping here, but it's worse to be neglected...");
+ next();
} else {
- mes "[Verkhasel]";
- mes "OK.";
- mes "Considering your favor not to ignore me, let's finish it now.";
- next;
+ mes("[Verkhasel]");
+ mes("OK.");
+ mes("Considering your favor not to ignore me, let's finish it now.");
+ next();
}
break;
}
break;
}
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "Honestly, I don't think you need to know the details about the thief's skills.";
- mes "Then, just be aware there is something like that..";
- next;
- mes "[Verkhasel]";
- mes "I mean it is good enough now.";
- setquest 7482;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("Honestly, I don't think you need to know the details about the thief's skills.");
+ mes("Then, just be aware there is something like that..");
+ next();
+ mes("[Verkhasel]");
+ mes("I mean it is good enough now.");
+ setquest(7482);
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "Anything else you're curious about?";
- mes "I will give you an answer after you finish Mayssel's class.";
- next;
- mes "[Verkhasel]";
- mes "I mean that she knows it.";
- mes "Mayssel will do it for you.";
- next;
- cutin "nov_lumin01.bmp", 2;
- mes "[Lumin]";
- mes "Lazy boy.";
- mes "Tell me the truth... You are annoying..";
- next;
- cutin "gc_verkhasel02.bmp", 0;
- mes "[Verkhasel]";
- mes ".......You........";
- mes "Zt.. I don't know the enemy..";
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("Anything else you're curious about?");
+ mes("I will give you an answer after you finish Mayssel's class.");
+ next();
+ mes("[Verkhasel]");
+ mes("I mean that she knows it.");
+ mes("Mayssel will do it for you.");
+ next();
+ cutin("nov_lumin01", 2);
+ mes("[Lumin]");
+ mes("Lazy boy.");
+ mes("Tell me the truth... You are annoying..");
+ next();
+ cutin("gc_verkhasel02", 0);
+ mes("[Verkhasel]");
+ mes(".......You........");
+ mes("Zt.. I don't know the enemy..");
+ close2();
+ cutin("", 255);
end;
}
} else {
if (questprogress(7483) == 1) {
if (BaseLevel > 12) {
if (!questprogress(7485)) {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "Actual experience assignments about the skill?";
- mes "To do it, your level is too high.";
- mes "I can't use the guide.";
- next;
- mes "[Verkhasel]";
- mes "Originally, I will let you hunt porings with envenom.";
- mes "No way, if I can't use the skill....";
- next;
- mes "[Verkhasel]";
- mes "Envenom is the skill to poison.";
- mes "If not poison him, you can damage to him due to the characteristic of venom.";
- next;
- mes "[Verkhasel]";
- mes "Keep in mind of these. That might be good enough for you.";
- mes "As it is the class to let you know what you can do.";
- mes "Let's finish the skill experience.";
- mes "Check with Mayssel.";
- setquest 7485;
- completequest 7485;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("Actual experience assignments about the skill?");
+ mes("To do it, your level is too high.");
+ mes("I can't use the guide.");
+ next();
+ mes("[Verkhasel]");
+ mes("Originally, I will let you hunt porings with envenom.");
+ mes("No way, if I can't use the skill....");
+ next();
+ mes("[Verkhasel]");
+ mes("Envenom is the skill to poison.");
+ mes("If not poison him, you can damage to him due to the characteristic of venom.");
+ next();
+ mes("[Verkhasel]");
+ mes("Keep in mind of these. That might be good enough for you.");
+ mes("As it is the class to let you know what you can do.");
+ mes("Let's finish the skill experience.");
+ mes("Check with Mayssel.");
+ setquest(7485);
+ completequest(7485);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(7485) == 1) {
if (questprogress(7485, HUNTING) == 2) {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "You are doing well.";
- mes "Envenom has the poison effect and can damage from venom itself.";
- next;
- mes "[Verkhasel]";
- mes "The skill experience is now enough.";
- mes "Check it with Mayssel.";
- completequest 7485;
- getexp 800, 0;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("You are doing well.");
+ mes("Envenom has the poison effect and can damage from venom itself.");
+ next();
+ mes("[Verkhasel]");
+ mes("The skill experience is now enough.");
+ mes("Check it with Mayssel.");
+ completequest(7485);
+ getexp(800, 0);
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "You can't equip the Thief Manual?";
- mes "Your level is too high.";
- mes "There is no other way.";
- next;
- mes "[Verkhasel]";
- mes "Envenom is the skill to poison.";
- mes "If not poison him, you can damage to him due to the characteristic of venom.";
- next;
- mes "[Verkhasel]";
- mes "Keep in mind of these. That might be good enough for you.";
- mes "As it is the class to let you know what you can do.";
- mes "Let's finish the skill experience.";
- mes "Check with Mayssel.";
- completequest 7485;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("You can't equip the Thief Manual?");
+ mes("Your level is too high.");
+ mes("There is no other way.");
+ next();
+ mes("[Verkhasel]");
+ mes("Envenom is the skill to poison.");
+ mes("If not poison him, you can damage to him due to the characteristic of venom.");
+ next();
+ mes("[Verkhasel]");
+ mes("Keep in mind of these. That might be good enough for you.");
+ mes("As it is the class to let you know what you can do.");
+ mes("Let's finish the skill experience.");
+ mes("Check with Mayssel.");
+ completequest(7485);
+ close2();
+ cutin("", 255);
end;
}
}
}
if (!questprogress(7485)) {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "This is about the use of skill.";
- mes "Now if you were an assassin, shall I let you test the skills related to venom which you may continue to use?";
- next;
- mes "[Verkhasel]";
- mes "Load the thief guide receved by Mayssel and open the skill window by pressing Alt+S key,";
- mes "Register Envenom regisstered on the ETC compartment, by pressing shortcut key^000000";
- next;
- mes "[Verkhasel]";
- mes "Then, approach the Poring's cage in the center of this room and";
- mes "Aim at Poring, and ^4d4dff' hunt one poring by using";
- next;
- mes "[Verkhasel]";
- mes "That's my assignment to you.";
- mes "You definitely use envenom to Poring in this room.";
- mes "don't go out faraway to find Porings.";
- setquest 7485;
- next;
- cutin "nov_lumin02.bmp", 2;
- mes "[Lumin]";
- mes "Eummm.";
- mes "It's sad..";
- mes "Please accept my condolence in advance, as you can't experience envenom... hehehe...";
- next;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("This is about the use of skill.");
+ mes("Now if you were an assassin, shall I let you test the skills related to venom which you may continue to use?");
+ next();
+ mes("[Verkhasel]");
+ mes("Load the thief guide receved by Mayssel and open the skill window by pressing Alt+S key,");
+ mes("Register Envenom regisstered on the ETC compartment, by pressing shortcut key^000000");
+ next();
+ mes("[Verkhasel]");
+ mes("Then, approach the Poring's cage in the center of this room and");
+ mes("Aim at Poring, and ^4d4dff' hunt one poring by using");
+ next();
+ mes("[Verkhasel]");
+ mes("That's my assignment to you.");
+ mes("You definitely use envenom to Poring in this room.");
+ mes("don't go out faraway to find Porings.");
+ setquest(7485);
+ next();
+ cutin("nov_lumin02", 2);
+ mes("[Lumin]");
+ mes("Eummm.");
+ mes("It's sad..");
+ mes("Please accept my condolence in advance, as you can't experience envenom... hehehe...");
+ next();
select("What are you talking about?");
- mes "[Lumin]";
- mes "From now, I am going to hunt Poring..";
- mes "...Don't misunderstand me for challenging you, as such I want to make a bet with you.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "", 255;
- mes "Lumin is betting win or loose.";
- close;
+ mes("[Lumin]");
+ mes("From now, I am going to hunt Poring..");
+ mes("...Don't misunderstand me for challenging you, as such I want to make a bet with you.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("", 255);
+ mes("Lumin is betting win or loose.");
+ close();
} else if (questprogress(7485) == 1) {
if (questprogress(7485, HUNTING) == 2) {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "You are doing well.";
- mes "Envenom has the poison effect and can damage from venom itself.";
- next;
- mes "[Verkhasel]";
- mes "The skill experience is now enough.";
- mes "Check it with Mayssel.";
- completequest 7485;
- getexp 800, 0;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("You are doing well.");
+ mes("Envenom has the poison effect and can damage from venom itself.");
+ next();
+ mes("[Verkhasel]");
+ mes("The skill experience is now enough.");
+ mes("Check it with Mayssel.");
+ completequest(7485);
+ getexp(800, 0);
+ close2();
+ cutin("", 255);
end;
} else {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "Come close to a poring cage and use envenom to poring.";
- mes "You must do it only to porings in this room.";
- next;
- if(select("I see..", "I won't do it.") == 1) {
- mes "[Verkhasel]";
- mes "OK. Until you kill all the porings in the cage, attack them with venom.";
- percentheal 0, 100;
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("Come close to a poring cage and use envenom to poring.");
+ mes("You must do it only to porings in this room.");
+ next();
+ if (select("I see..", "I won't do it.") == 1) {
+ mes("[Verkhasel]");
+ mes("OK. Until you kill all the porings in the cage, attack them with venom.");
+ percentheal(0, 100);
+ close2();
+ cutin("", 255);
end;
}
- mes "[Verkhasel]";
- mes "These are not your aptitude.";
- mes "I will cancel my assignment, and the other assignments from Mayssel to be cancelled by her.";
- next;
- if(select("Cancel.", "I will continue..") == 1) {
- mes "[Verkhasel]";
- mes "Cancel the mission to hunt poring with envenom.";
- erasequest 7485;
- close2;
- cutin "", 255;
+ mes("[Verkhasel]");
+ mes("These are not your aptitude.");
+ mes("I will cancel my assignment, and the other assignments from Mayssel to be cancelled by her.");
+ next();
+ if (select("Cancel.", "I will continue..") == 1) {
+ mes("[Verkhasel]");
+ mes("Cancel the mission to hunt poring with envenom.");
+ erasequest(7485);
+ close2();
+ cutin("", 255);
end;
}
- mes "[Verkhasel]";
- mes "Have you changed your mind?";
- mes "Then, until you kill all the poring in the cage, keep attacking them with envenom.";
- percentheal 0, 100;
- close2;
- cutin "", 255;
+ mes("[Verkhasel]");
+ mes("Have you changed your mind?");
+ mes("Then, until you kill all the poring in the cage, keep attacking them with envenom.");
+ percentheal(0, 100);
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Verkhasel]";
- mes "Now you fully understand what skill venom is..";
- mes "As you completed my assignment, go and check it with Mayssel.";
- cutin "gc_verkhasel01.bmp", 0;
- close2;
- cutin "", 255;
+ mes("[Verkhasel]");
+ mes("Now you fully understand what skill venom is..");
+ mes("As you completed my assignment, go and check it with Mayssel.");
+ cutin("gc_verkhasel01", 0);
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Verkhasel]";
- mes "You are the bung finished Mayssel's class complete.";
- mes "Any more questions, ask Mayssel.";
- mes "It is the end of my class.";
- cutin "gc_verkhasel01.bmp", 0;
- next;
- mes "[Verkhasel]";
- mes "If you become a thief, we may meet together in far future..";
- mes "If you become an assassin.";
- close2;
- cutin "", 255;
+ mes("[Verkhasel]");
+ mes("You are the bung finished Mayssel's class complete.");
+ mes("Any more questions, ask Mayssel.");
+ mes("It is the end of my class.");
+ cutin("gc_verkhasel01", 0);
+ next();
+ mes("[Verkhasel]");
+ mes("If you become a thief, we may meet together in far future..");
+ mes("If you become an assassin.");
+ close2();
+ cutin("", 255);
end;
}
}
} else {
if (!questprogress(4269)) {
- mes "[Verkhasel]";
- mes "There is no words to tell you guy not belonging to our academy.";
- mes "In fact, I pulled out here unwillingly, I don't have mind to be kind of you...";
- cutin "gc_verkhasel01.bmp", 0;
- next;
- mes "[Mayssel]";
- mes "Wait, Verkhasel.....";
- mes "Don't get even with other innocent....";
- mes "How about helping my class for me?";
- cutin "gc_mayssel03.bmp", 1;
- next;
- cutin "", 255;
- mes "... everyone seems tense..";
- close;
+ mes("[Verkhasel]");
+ mes("There is no words to tell you guy not belonging to our academy.");
+ mes("In fact, I pulled out here unwillingly, I don't have mind to be kind of you...");
+ cutin("gc_verkhasel01", 0);
+ next();
+ mes("[Mayssel]");
+ mes("Wait, Verkhasel.....");
+ mes("Don't get even with other innocent....");
+ mes("How about helping my class for me?");
+ cutin("gc_mayssel03", 1);
+ next();
+ cutin("", 255);
+ mes("... everyone seems tense..");
+ close();
} else {
if (Class == Job_Thief) {
- mes "[Verkhasel]";
- mes "Yo~ You...";
- mes "What do you want to be?";
- cutin "gc_verkhasel01.bmp", 0;
- next;
- if(select("An Assassin!", "A Rogue!") == 1) {
- mes "[Lumin]";
- mes "Welcome to your joining in the way of bloody darness.";
- mes "My comrad.";
- cutin "nov_lumin03.bmp", 2;
- next;
- cutin "gc_verkhasel02.bmp", 0;
- mes "[Verkhasel]";
- mes "..............";
- mes "(Verkhasel glancing at sky)";
- mes "...";
- mes "... Ha...!";
- next;
- cutin "", 255;
- mes "The mood is becoming strange.";
- close;
+ mes("[Verkhasel]");
+ mes("Yo~ You...");
+ mes("What do you want to be?");
+ cutin("gc_verkhasel01", 0);
+ next();
+ if (select("An Assassin!", "A Rogue!") == 1) {
+ mes("[Lumin]");
+ mes("Welcome to your joining in the way of bloody darness.");
+ mes("My comrad.");
+ cutin("nov_lumin03", 2);
+ next();
+ cutin("gc_verkhasel02", 0);
+ mes("[Verkhasel]");
+ mes("..............");
+ mes("(Verkhasel glancing at sky)");
+ mes("...");
+ mes("... Ha...!");
+ next();
+ cutin("", 255);
+ mes("The mood is becoming strange.");
+ close();
} else {
- mes "[Verkhasel]";
- mes "Go over there.";
- cutin "gc_verkhasel01.bmp", 0;
- next;
- cutin "sc_vicente04.bmp", 2;
- mes "[Vicente]";
- mes "Oh... Mr. Verkhasel...";
- mes "Don't play like this among a family.";
- mes "Why are you dividing us into teams?";
- next;
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "I've never been in your family.";
- mes "Originally, you are not a Rogue.";
- mes "You were only a merchant.";
- next;
- cutin "sc_vicente02.bmp", 2;
- mes "[Vicente]";
- mes "Oh.. No.. What a dirty word.";
- mes "Have I asked you for buying something from me?";
- next;
- cutin "gc_mayssel03.bmp", 1;
- mes "[Mayssel]";
- mes "..........You look friendly.. Two of you...";
- next;
- cutin "", 255;
- mes "The mood has become tense.";
- close;
+ mes("[Verkhasel]");
+ mes("Go over there.");
+ cutin("gc_verkhasel01", 0);
+ next();
+ cutin("sc_vicente04", 2);
+ mes("[Vicente]");
+ mes("Oh... Mr. Verkhasel...");
+ mes("Don't play like this among a family.");
+ mes("Why are you dividing us into teams?");
+ next();
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("I've never been in your family.");
+ mes("Originally, you are not a Rogue.");
+ mes("You were only a merchant.");
+ next();
+ cutin("sc_vicente02", 2);
+ mes("[Vicente]");
+ mes("Oh.. No.. What a dirty word.");
+ mes("Have I asked you for buying something from me?");
+ next();
+ cutin("gc_mayssel03", 1);
+ mes("[Mayssel]");
+ mes("..........You look friendly.. Two of you...");
+ next();
+ cutin("", 255);
+ mes("The mood has become tense.");
+ close();
}
} else {
- cutin "gc_verkhasel01.bmp", 0;
- mes "[Verkhasel]";
- mes "You are the guy knows everything you need.";
- mes "Are you coming to watch only? Emmm?";
- mes "Why don't you help the juniors without watch only?";
- close2;
- cutin "", 255;
+ cutin("gc_verkhasel01", 0);
+ mes("[Verkhasel]");
+ mes("You are the guy knows everything you need.");
+ mes("Are you coming to watch only? Emmm?");
+ mes("Why don't you help the juniors without watch only?");
+ close2();
+ cutin("", 255);
end;
}
}
}
OnInit:
- //AddQuestInfo 7482 0 0
- //SetQuestQuest 7482 7480 1
- //AddQuestInfo 7485 0 0
+ //Addquestinfo 7482 0 0
+ //setquestQuest 7482 7480 1
+ //Addquestinfo 7485 0 0
//SetQuestQuest 7485 7483 1
end;
}
@@ -11616,163 +11795,163 @@ iz_ac02_d,55,134,3 duplicate(Verkhasel#ac) Verkhasel#ac_d 4_M_GUILLOTINE
//- Lumin -
iz_ac02,62,139,3 script Lumin#ac 4_M_NOV_RUMIN,{
if (!checkweight(Axe, 3)) {
- mes "Quest cannot be continued due to the overfilled inventory.";
- mes "Please try it again after organizing the items.";
- close;
+ mes("Quest cannot be continued due to the overfilled inventory.");
+ mes("Please try it again after organizing the items.");
+ close();
}
if (!questprogress(7487, HUNTING)) {
if (questprogress(7485) == 2) {
- mes "[Lumin]";
- mes "Your eagerness and efforst to complete mission moved me to offer something.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "^4d4dff It is to hunt all 4 Porings here within 30 seconds^000000.";
- mes "If you do, I will yield to you all the earned item in my hand.";
- next;
+ mes("[Lumin]");
+ mes("Your eagerness and efforst to complete mission moved me to offer something.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("^4d4dff It is to hunt all 4 Porings here within 30 seconds^000000.");
+ mes("If you do, I will yield to you all the earned item in my hand.");
+ next();
select("If I fail?");
- mes "[Lumin]";
- mes "It is our bet. You have to give up yours as you lost.";
- mes "Emmm. As I am generous, I will receive ^4d4dff10 beginner's red potions^000000.";
- next;
- if(select("Give Up.", "I Accept.") == 1) {
- mes "[Lumin]";
- mes ".... Eh...";
- mes "Coward!";
- cutin "nov_lumin02.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("It is our bet. You have to give up yours as you lost.");
+ mes("Emmm. As I am generous, I will receive ^4d4dff10 beginner's red potions^000000.");
+ next();
+ if (select("Give Up.", "I Accept.") == 1) {
+ mes("[Lumin]");
+ mes(".... Eh...");
+ mes("Coward!");
+ cutin("nov_lumin02", 2);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lumin]";
- mes ".... Good!";
- mes "Now, ^4d4dff speak to me once you finish hunting 4 porings in 30 seconds.^000000";
- setquest 7487;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes(".... Good!");
+ mes("Now, ^4d4dff speak to me once you finish hunting 4 porings in 30 seconds.^000000");
+ setquest(7487);
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Lumin]";
- mes "The intoxicated enemies won't die only from poisoning.";
- mes "They only come close to death.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes ".. Why do Porings turn their back?";
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("The intoxicated enemies won't die only from poisoning.");
+ mes("They only come close to death.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes(".. Why do Porings turn their back?");
+ close2();
+ cutin("", 255);
end;
}
} else if (questprogress(7487, HUNTING) == 1) {
if (questprogress(7487, PLAYTIME) == 2) {
- mes "[Lumin]";
- mes "... 30 seconds have passed and you have not yet hunted 4 porings.";
- mes "Then, it is not interesting.";
- cutin "nov_lumin01.bmp", 2;
- next;
- mes "[Lumin]";
- mes "If you don't like do it... no way.";
- mes "As I am generous, I disregard the bet this time.";
- erasequest 7487;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("... 30 seconds have passed and you have not yet hunted 4 porings.");
+ mes("Then, it is not interesting.");
+ cutin("nov_lumin01", 2);
+ next();
+ mes("[Lumin]");
+ mes("If you don't like do it... no way.");
+ mes("As I am generous, I disregard the bet this time.");
+ erasequest(7487);
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lumin]";
- mes "You may be too busy in^4d4dff hunting 4 porings in 30 seconds.^000000";
- mes "Hey, time passes now...";
- cutin "nov_lumin01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("You may be too busy in^4d4dff hunting 4 porings in 30 seconds.^000000");
+ mes("Hey, time passes now...");
+ cutin("nov_lumin01", 2);
+ close2();
+ cutin("", 255);
end;
}
} else if (questprogress(7487, HUNTING) == 2) {
if (questprogress(7487, PLAYTIME) == 1) {
- mes "[Lumin]";
- mes "Oh... You are very powerful!";
- mes "Now then, as agreed I will give you everything I have.";
- cutin "nov_lumin03.bmp", 2;
- next;
- mes "[Lumin]";
- mes "I've had a lot of fun because of you!";
- cutin "nov_lumin05.bmp", 2;
- completequest 7487;
- getexp 800, 50;
- getitem Apple, 3; // Apple
- getitem Green_Herb, 2; // Green_Herb
- getitem Novice_Potion, 22; // Novice_Potion
- getitem Rainbow_Carrot, 1; // Rainbow_Carrot
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("Oh... You are very powerful!");
+ mes("Now then, as agreed I will give you everything I have.");
+ cutin("nov_lumin03", 2);
+ next();
+ mes("[Lumin]");
+ mes("I've had a lot of fun because of you!");
+ cutin("nov_lumin05", 2);
+ completequest(7487);
+ getexp(800, 50);
+ getitem(Apple, 3); // Apple
+ getitem(Green_Herb, 2); // Green_Herb
+ getitem(Novice_Potion, 22); // Novice_Potion
+ getitem(Rainbow_Carrot, 1); // Rainbow_Carrot
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lumin]";
- mes "Regretfully, 30 seconds has passed.";
- cutin "nov_lumin02.bmp", 2;
- mes ".....";
- next;
- mes "[Lumin]";
- mes "I will give them to you anyways.";
- mes "Come on, take it.";
- cutin "nov_lumin03.bmp", 2;
- completequest 7487;
- getexp 800, 50;
- getitem Apple, 22; // Apple
- next;
+ mes("[Lumin]");
+ mes("Regretfully, 30 seconds has passed.");
+ cutin("nov_lumin02", 2);
+ mes(".....");
+ next();
+ mes("[Lumin]");
+ mes("I will give them to you anyways.");
+ mes("Come on, take it.");
+ cutin("nov_lumin03", 2);
+ completequest(7487);
+ getexp(800, 50);
+ getitem(Apple, 22); // Apple
+ next();
select("Why are you treating me like this?", "Didn't I loose?");
- mes "[Lumin]";
- mes "You spent time with me.";
- mes "Get it free. I stole them from Porings.";
- cutin "nov_lumin05.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("You spent time with me.");
+ mes("Get it free. I stole them from Porings.");
+ cutin("nov_lumin05", 2);
+ close2();
+ cutin("", 255);
end;
}
} else {
if (Class == Job_Novice) {
- mes "[Lumin]";
- mes "We may meet again.";
- mes "Becoming familiar with others is pleasrue and sad.";
- cutin "nov_lumin02.bmp", 2;
- next;
- mes "[Lumin]";
- mes "... It may be in trouble if it dies upfront...";
- close2;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("We may meet again.");
+ mes("Becoming familiar with others is pleasrue and sad.");
+ cutin("nov_lumin02", 2);
+ next();
+ mes("[Lumin]");
+ mes("... It may be in trouble if it dies upfront...");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Lumin]";
- mes "At last, the day comes.";
- cutin "nov_lumin01.bmp", 2;
- next;
- cutin "", 255;
- mes "Lumin changing clothes piece by piece.";
- specialeffect2 EF_SPHERE;
- specialeffect2 EF_SPHERE;
- classchange "Lumin#"+strnpcinfo(NPC_NAME_HIDDEN), 4_M_THIEF_RUMIN;
- next;
- cutin "thf_lumin01.bmp", 2;
- mes "[Lumin]";
- mes "I was carrying out my mission.";
- next;
+ mes("[Lumin]");
+ mes("At last, the day comes.");
+ cutin("nov_lumin01", 2);
+ next();
+ cutin("", 255);
+ mes("Lumin changing clothes piece by piece.");
+ specialeffect2(EF_SPHERE);
+ specialeffect2(EF_SPHERE);
+ classchange(4_M_THIEF_RUMIN, 0);
+ next();
+ cutin("thf_lumin01", 2);
+ mes("[Lumin]");
+ mes("I was carrying out my mission.");
+ next();
select("No need to make an excuse....");
- mes "[Lumin]";
- mes "At least to you, I don't want to be a stranger.";
- mes "Forget what you saw today, as I have to introduce to the way of Thief Guild as many people as possible.";
- cutin "thf_lumin05.bmp", 2;
- close2;
- specialeffect2 EF_SPHERE;
- specialeffect2 EF_SPHERE;
- classchange "Lumin#"+strnpcinfo(NPC_NAME_HIDDEN), 4_M_NOV_RUMIN;
- cutin "", 255;
+ mes("[Lumin]");
+ mes("At least to you, I don't want to be a stranger.");
+ mes("Forget what you saw today, as I have to introduce to the way of Thief Guild as many people as possible.");
+ cutin("thf_lumin05", 2);
+ close2();
+ specialeffect2(EF_SPHERE);
+ specialeffect2(EF_SPHERE);
+ classchange(4_M_NOV_RUMIN, 0);
+ cutin("", 255);
end;
}
}
OnInit:
- //AddQuestInfo 7487 0 0
- //SetQuestQuest 7487 7485 1
+ //Addquestinfo 7487 0 0
+ //setquestQuest 7487 7485 1
end;
}
@@ -11786,18 +11965,18 @@ iz_ac02,1,1,0 script #nbacStone01 CLEAR_NPC,{
end;
OnInit:
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnReset:
killmonster strnpcinfo(NPC_MAP),"#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead";
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(NPC_MAP)+"", "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead");
if (.@dead_num < 1)
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnSpawn:
@@ -11818,18 +11997,18 @@ iz_ac02,1,1,0 script #nbacStone02 CLEAR_NPC,{
end;
OnInit:
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnReset:
killmonster strnpcinfo(NPC_MAP),"#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead";
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(NPC_MAP)+"", "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead");
if (.@dead_num < 1)
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnSpawn:
@@ -11850,18 +12029,18 @@ iz_ac02,1,1,0 script #nbacStone03 CLEAR_NPC,{
end;
OnInit:
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnReset:
killmonster strnpcinfo(NPC_MAP),"#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead";
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnMyMobDead:
.@dead_num = mobcount(""+strnpcinfo(NPC_MAP)+"", "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnMyMobDead");
if (.@dead_num < 1)
- donpcevent "#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn";
+ donpcevent("#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnSpawn");
end;
OnSpawn:
@@ -11882,188 +12061,188 @@ iz_ac02_d,1,1,0 duplicate(#nbacStone03) #nbacStone03_d CLEAR_NPC
//- Acolyte Leader Alice -
iz_ac02,156,169,5 script Acolyte Leader Alice#2 4_F_ACOLYTE,{
if (questprogress(4269) < 1) {
- mes "[Alice Yisha]";
- mes "Did you ^ff0000register with the Criatura Academy^000000?";
- mes "You can register at ^ff0000information center of Criatura Academy^000000.";
- cutin "acact_03.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "It is annoying... but you need to register so you can receive ^ff0000lots of education and service of Criatura Academy^000000.";
- cutin "acact_01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Did you ^ff0000register with the Criatura Academy^000000?");
+ mes("You can register at ^ff0000information center of Criatura Academy^000000.");
+ cutin("acact_03", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("It is annoying... but you need to register so you can receive ^ff0000lots of education and service of Criatura Academy^000000.");
+ cutin("acact_01", 2);
+ close2();
+ cutin("", 255);
end;
} else {
if (questprogress(11343) == 0) {
- mes "[Alice Yisha]";
- mes "oh Odin!";
- mes "Nice to meet you.";
- mes "I am Alice Yisha ^ff0000in charge of Acolytes^000000.";
- cutin "acact_01.bmp", 2;
- setquest 11343;
- completequest 11343;
- next;
+ mes("[Alice Yisha]");
+ mes("oh Odin!");
+ mes("Nice to meet you.");
+ mes("I am Alice Yisha ^ff0000in charge of Acolytes^000000.");
+ cutin("acact_01", 2);
+ setquest(11343);
+ completequest(11343);
+ next();
} else {
- mes "[Alice Yisha]";
- mes "Welcome~";
- mes "Glad to meet you again.";
- cutin "acact_01.bmp", 2;
+ mes("[Alice Yisha]");
+ mes("Welcome~");
+ mes("Glad to meet you again.");
+ cutin("acact_01", 2);
if (questprogress(11343) == 1)
- completequest 11343;
- next;
+ completequest(11343);
+ next();
}
if (Class == Job_Novice) {
- mes "[Alice Yisha]";
- mes "If you did not select Acolyte as a job, why don't you study more about it?";
- cutin "acact_01.bmp", 2;
- next;
+ mes("[Alice Yisha]");
+ mes("If you did not select Acolyte as a job, why don't you study more about it?");
+ cutin("acact_01", 2);
+ next();
.@menu$ = "What is an Acolyte?:Battle Acolyte:Support Acolyte:Change job class to Acolyte.:End Conversation";
} else {
- mes "[Alice Yisha]";
- mes "I guess you do not need my help any more.";
- mes "Do you have any questions about Acolytes?";
- cutin "acact_03.bmp", 2;
- next;
+ mes("[Alice Yisha]");
+ mes("I guess you do not need my help any more.");
+ mes("Do you have any questions about Acolytes?");
+ cutin("acact_03", 2);
+ next();
.@menu$ = "What is an Acolyte?:Battle Acolyte:Support Acolyte::End Conversation";
}
switch(select(.@menu$)) {
case 1:
- mes "[Alice Yisha]";
- mes "An acolyte serves ^ff0000Odin^000000 so it can use ^ff0000Holy skills^000000 according to the will of Odin.";
- cutin "acact_02.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "Most skills are based on ^ff0000the purpose of treatment or aid^000000 so it is a very important job for ^ff0000party hunting^000000.";
- cutin "acact_03.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "It is a ^ff0000hybrid job^000000 which can change ^ff0000attack type^000000 depends on increased status, but the range of weapon is narrow because they don't use fatal killing weapons for religious reason.";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("An acolyte serves ^ff0000Odin^000000 so it can use ^ff0000Holy skills^000000 according to the will of Odin.");
+ cutin("acact_02", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("Most skills are based on ^ff0000the purpose of treatment or aid^000000 so it is a very important job for ^ff0000party hunting^000000.");
+ cutin("acact_03", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("It is a ^ff0000hybrid job^000000 which can change ^ff0000attack type^000000 depends on increased status, but the range of weapon is narrow because they don't use fatal killing weapons for religious reason.");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Alice Yisha]";
- mes "An acolyte is categorized as ^ff0000support type^000000 and ^ff0000physical attack type^000000.";
- next;
+ mes("[Alice Yisha]");
+ mes("An acolyte is categorized as ^ff0000support type^000000 and ^ff0000physical attack type^000000.");
+ next();
switch(select("Support type", "Attack type", "Stop.")) {
case 1:
- mes "[Alice Yisha]";
- mes "^ff0000INT^000000 is important status for ^ff0000support type Acolytes^000000.";
- mes "^ff0000INT^000000 enhances ^ff0000treatment function^000000 and increases ^ff0000SP^000000 which is necessary for using skills.";
- mes "It also helps ^ff0000SP recovery^000000.";
- cutin "acact_02.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "But aid type acolyte has a weakness point such as ^ff0000It is difficult to hunt alone^000000.";
- mes "So it goes huning with ^ff0000party^000000 or use ^ff0000heal^000000 skill to monsters with ^ff0000fire-attribute^000000.";
- next;
- mes "[Alice Yisha]";
- mes "It is like ^ff0000heal skill with holly power is fatal to undead with fire-attribute^000000.";
- cutin "acact_01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("^ff0000INT^000000 is important status for ^ff0000support type Acolytes^000000.");
+ mes("^ff0000INT^000000 enhances ^ff0000treatment function^000000 and increases ^ff0000SP^000000 which is necessary for using skills.");
+ mes("It also helps ^ff0000SP recovery^000000.");
+ cutin("acact_02", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("But aid type acolyte has a weakness point such as ^ff0000It is difficult to hunt alone^000000.");
+ mes("So it goes huning with ^ff0000party^000000 or use ^ff0000heal^000000 skill to monsters with ^ff0000fire-attribute^000000.");
+ next();
+ mes("[Alice Yisha]");
+ mes("It is like ^ff0000heal skill with holly power is fatal to undead with fire-attribute^000000.");
+ cutin("acact_01", 2);
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Alice Yisha]";
- mes "The important status FOR ^ff0000physical attack type^000000 acolyte is ^ff0000STR, VIT, AGI, DEX^000000.";
- mes "The status seem to be complicated compare to support type but it is simple indeed.";
- cutin "acact_02.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "^ff0000STR is the power, increases attack power, VIT is physical power, AGI is attack , speed and dodge, DEX increases hitting rate and skill casting speed.";
- cutin "acact_01.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "For the character of ^ff0000Attack type^000000, ^ff0000DEX^000000 will be most important status...no?";
- mes "If the attack does not hit the enemy, the attack is meaningless.";
- mes "You may increase STR, VIT, AGI according to your style.";
- next;
- mes "[Alice Yisha]";
- mes "You might think an Acolyte is not strong enough because it has no attack type skill, it enables use of sub essential skills which enhance the powers as much as you want. It helps your stable hunting.";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("The important status FOR ^ff0000physical attack type^000000 acolyte is ^ff0000STR, VIT, AGI, DEX^000000.");
+ mes("The status seem to be complicated compare to support type but it is simple indeed.");
+ cutin("acact_02", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("^ff0000STR is the power, increases attack power, VIT is physical power, AGI is attack , speed and dodge, DEX increases hitting rate and skill casting speed.");
+ cutin("acact_01", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("For the character of ^ff0000Attack type^000000, ^ff0000DEX^000000 will be most important status...no?");
+ mes("If the attack does not hit the enemy, the attack is meaningless.");
+ mes("You may increase STR, VIT, AGI according to your style.");
+ next();
+ mes("[Alice Yisha]");
+ mes("You might think an Acolyte is not strong enough because it has no attack type skill, it enables use of sub essential skills which enhance the powers as much as you want. It helps your stable hunting.");
+ close2();
+ cutin("", 255);
end;
case 3:
- mes "[Alice Yisha]";
- mes "Ask me anything if you have more questions.";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Ask me anything if you have more questions.");
+ close2();
+ cutin("", 255);
end;
}
case 3:
- mes "[Alice Yisha]";
- mes "An acolyte has lots of skills.";
- mes "All those skills are useful.";
- next;
- mes "[Alice Yisha]";
- mes "^ff0000Heal^000000 is for the wounds, It is also used to attack undead with opposite attribute.";
- mes "Increase the power related to ^ff0000speed^000000 and ^ff0000[Increase Agi]^000000 to increase ^ff0000movement speed^000000";
- mes "^ff0000[Blessing]^000000 can ^ff0000enhance^000000 ^ff0000STR, INT, DEX^000000 at the same time.";
- next;
- mes "[Alice Yisha]";
- mes "^ff0000[Teleport]^000000 is to ^ff0000move^000000 to other places.";
- mes "^ff0000[Warp Portal]^000000 can open a gate to the ^ff0000Places saved in memory^000000.";
- mes "There are still more skills as well.";
- next;
- mes "[Alice Yisha]";
- mes "Ask ^ff0000if you want to experience skills of an Acolyte, ask the sister next to you^000000.";
- mes "Now I am reading an introductory skill.";
- emotion e_omg, 0, "A Nun#"+strnpcinfo(NPC_NAME_HIDDEN);
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("An acolyte has lots of skills.");
+ mes("All those skills are useful.");
+ next();
+ mes("[Alice Yisha]");
+ mes("^ff0000Heal^000000 is for the wounds, It is also used to attack undead with opposite attribute.");
+ mes("Increase the power related to ^ff0000speed^000000 and ^ff0000[Increase Agi]^000000 to increase ^ff0000movement speed^000000");
+ mes("^ff0000[Blessing]^000000 can ^ff0000enhance^000000 ^ff0000STR, INT, DEX^000000 at the same time.");
+ next();
+ mes("[Alice Yisha]");
+ mes("^ff0000[Teleport]^000000 is to ^ff0000move^000000 to other places.");
+ mes("^ff0000[Warp Portal]^000000 can open a gate to the ^ff0000Places saved in memory^000000.");
+ mes("There are still more skills as well.");
+ next();
+ mes("[Alice Yisha]");
+ mes("Ask ^ff0000if you want to experience skills of an Acolyte, ask the sister next to you^000000.");
+ mes("Now I am reading an introductory skill.");
+ emotion(e_omg, 0, "A Nun#"+strnpcinfo(NPC_NAME_HIDDEN));
+ close2();
+ cutin("", 255);
end;
case 4:
- mes "[Alice Yisha]";
- mes "oh my!";
- mes "So.. you decided to be an Acolyte?";
- mes "Odin welcomes you.";
- cutin "acact_02.bmp", 2;
- next;
- mes "[Alice Yisha]";
- mes "Do you truly wish to become a servant of God?";
- mes "Let's see whether you are ready for it or not... Hmm...";
- next;
+ mes("[Alice Yisha]");
+ mes("oh my!");
+ mes("So.. you decided to be an Acolyte?");
+ mes("Odin welcomes(you.");
+ cutin("acact_02", 2);
+ next();
+ mes("[Alice Yisha]");
+ mes("Do you truly wish to become a servant of God?");
+ mes("Let's see whether you are ready for it or not... Hmm...");
+ next();
if (BaseLevel > 14) {
- mes "[Alice Yisha]";
- mes "Please visit ^ff0000Father Mareusis^000000 at the church in the ^ff0000northeast corner^000000 of ^ff0000Prontera.^000000";
- mes "At ^ff0000Job Level 10^000000 you can join the ministry.";
- cutin "acact_01.bmp", 2;
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Please visit ^ff0000Father Mareusis^000000 at the church in the ^ff0000northeast corner^000000 of ^ff0000Prontera.^000000");
+ mes("At ^ff0000Job Level 10^000000 you can join the ministry.");
+ cutin("acact_01", 2);
+ close2();
+ cutin("", 255);
end;
} else if (JobLevel < 10) {
- mes "[Alice Yisha]";
- mes "Oh my?! You haven't accomplished the basic practice yet?! You have long way to go! Come again after increasing your job level!";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Oh my?! You haven't accomplished the basic practice yet?! You have long way to go! Come again after increasing your job level!");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Alice Yisha]";
- mes "Wonderful! I'll transfer you to the local ministry at Prontera.";
- mes "^ff0000Please visit Father Mareusis at the church in the northeast corner of Prontera.^000000";
- mes "At ^ff0000Job Level 10^000000 you can join the ministry.";
- cutin "acact_01.bmp", 2;
- next;
- if(select("Go to the field south of Prontera", "End Conversation") == 2) {
- mes "[Alice Yisha]";
- mes "Ask me anything if you have more questions.";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Wonderful! I'll transfer you to the local ministry at Prontera.");
+ mes("^ff0000Please visit Father Mareusis at the church in the northeast corner of Prontera.^000000");
+ mes("At ^ff0000Job Level 10^000000 you can join the ministry.");
+ cutin("acact_01", 2);
+ next();
+ if (select("Go to the field south of Prontera", "End Conversation") == 2) {
+ mes("[Alice Yisha]");
+ mes("Ask me anything if you have more questions.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Alice Yisha]";
- mes "Good, I wish you luck~";
- mes "Let's go~";
- close2;
- cutin "", 255;
- warp "prt_fild08", 170, 369;
+ mes("[Alice Yisha]");
+ mes("Good, I wish you luck~");
+ mes("Let's go~");
+ close2();
+ cutin("", 255);
+ warp("prt_fild08", 170, 369);
end;
}
case 5:
- mes "[Alice Yisha]";
- mes "Ask me anything if you have more questions.";
- close2;
- cutin "", 255;
+ mes("[Alice Yisha]");
+ mes("Ask me anything if you have more questions.");
+ close2();
+ cutin("", 255);
end;
}
}
@@ -12077,50 +12256,50 @@ iz_ac02_d,156,169,5 duplicate(Acolyte Leader Alice#2) Acolyte Leader Alice#2_d 4
//- A nun -
iz_ac02,152,165,5 script A Nun#2 4_F_SISTER,{
if (JobLevel > 10 || Class != Job_Novice) {
- mes "[A nun]";
- mes "Wow... this academy is amazing?";
- mes "It was not like this when I used to train in the past.";
- close;
+ mes("[A nun]");
+ mes("Wow... this academy is amazing?");
+ mes("It was not like this when I used to train in the past.");
+ close();
} else {
if (!checkweight(Tsurugi, 3)) {
- mes "- You have too many items. Clear inventory and try again. -";
- close;
+ mes("- You have too many items. Clear inventory and try again. -");
+ close();
}
if (!questprogress(4269)) {
- mes "[A nun]";
- mes "Wow... this academy is amazing?";
- mes "It was not like this when I used to train in the past.";
- next;
- mes "[A nun]";
- mes "You can ^ff0000register^000000 at the ^ff0000information center of the Criatura Academy^000000, it will be a great help.";
- close;
+ mes("[A nun]");
+ mes("Wow... this academy is amazing?");
+ mes("It was not like this when I used to train in the past.");
+ next();
+ mes("[A nun]");
+ mes("You can ^ff0000register^000000 at the ^ff0000information center of the Criatura Academy^000000, it will be a great help.");
+ close();
} else {
- mes "[A nun]";
- mes "Ahem..~";
- mes "Who are you?";
- mes "Are you interested in this ^ff0000introductory course^000000?";
- next;
- mes "[A nun]";
- mes "This introductory manual is mysterious! It enables the ^ff0000use a couple of an Acolyte's skill^000000.";
- mes "Will you borrow it?";
- next;
- if(select("Take the Acolyte Course.", "Stop.") == 2) {
- mes "[A nun]";
- mes "Well.. if you are not interested.. fine.";
- mes "murmuring";
- close;
+ mes("[A nun]");
+ mes("Ahem..~");
+ mes("Who are you?");
+ mes("Are you interested in this ^ff0000introductory course^000000?");
+ next();
+ mes("[A nun]");
+ mes("This introductory manual is mysterious! It enables the ^ff0000use a couple of an Acolyte's skill^000000.");
+ mes("Will you borrow it?");
+ next();
+ if (select("Take the Acolyte Course.", "Stop.") == 2) {
+ mes("[A nun]");
+ mes("Well.. if you are not interested.. fine.");
+ mes("murmuring");
+ close();
}
if (isequippedcnt(Acolyte_Manual) > 0 || countitem(Acolyte_Manual) > 0) {
- mes "[A nun]";
- mes "You already have one.";
- mes "We do not give two.";
- close;
+ mes("[A nun]");
+ mes("You already have one.");
+ mes("We do not give two.");
+ close();
} else {
- mes "[A nun]";
- mes "Then, use it for good.";
- mes "^ff0000Equip (double click or drag to equipment window)^000000 and open the ^ff0000skill window(Alt+S)^000000 to see the skills in manual.";
- getitem Acolyte_Manual, 1; // Acolyte_Manual
- close;
+ mes("[A nun]");
+ mes("Then, use it for good.");
+ mes("^ff0000Equip (double click or drag to equipment window)^000000 and open the ^ff0000skill window(Alt+S)^000000 to see the skills in manual.");
+ getitem(Acolyte_Manual, 1); // Acolyte_Manual
+ close();
}
}
}
@@ -12136,223 +12315,223 @@ iz_ac02_d,152,165,5 duplicate(A Nun#2) A Nun#2_d 4_F_SISTER
//- Ninja Guide (Ko Ori) -
// - Teaches the player about the Ninja class.
iz_ac02,140,139,5 script Ninja Guide#ac 4_M_NINJA_BLUE,{
- cutin "aca_ninja_k.bmp", 2;
+ cutin("aca_ninja_k", 2);
if (Class != Job_Novice) {
if (Upper != 0) {
- mes "[Ninja Guide]";
- mes "I do not wish to speak to you. Leave now...";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("I do not wish to speak to you. Leave now...");
+ close2();
+ cutin("", 255);
end;
} else {
if (Class == Job_Ninja) {
if (!questprogress(4268)) {
- mes "[Ninja Guide]";
- mes "If you want to be trained as a Ninja, just visit Hono O, who is at the room next to where you upgraded.";
- setquest 4268;
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("If you want to be trained as a Ninja, just visit Hono O, who is at the room next to where you upgraded.");
+ setquest(4268);
+ close2();
+ cutin("", 255);
end;
} else if (questprogress(4268) == 1) {
- mes "[Ko Ori]";
- mes "If you want to be trained as a Ninja, just visit Hono O, who is at the room next to where you upgraded.";
- close2;
- cutin "", 255;
+ mes("[Ko Ori]");
+ mes("If you want to be trained as a Ninja, just visit Hono O, who is at the room next to where you upgraded.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Ko Ori]";
- mes "How was it?";
- mes "Although he is very blunt, he does care very deeply about newcomers.";
- close2;
- cutin "", 255;
+ mes("[Ko Ori]");
+ mes("How was it?");
+ mes("Although he is very blunt, he does care very deeply about newcomers.");
+ close2();
+ cutin("", 255);
end;
}
} else {
- mes "[Ninja Guide]";
- mes "I am the guide to the way of the Ninja for newcomers.";
- next;
- mes "[Ninja Guide]";
- mes "I am not interested in the people who are already on their path.";
- mes "Take your leave now...";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("I am the guide to the way of the Ninja for newcomers.");
+ next();
+ mes("[Ninja Guide]");
+ mes("I am not interested in the people who are already on their path.");
+ mes("Take your leave now...");
+ close2();
+ cutin("", 255);
end;
}
}
} else {
- if(Upper == 2) {
- mes "[Ninja Guide]";
- mes "A child cannot accept the life of the Ninja.";
- mes "It is not easy to qualify for such a life, so do not feel sorry...";
- close2;
- cutin "", 255;
+ if (Upper == 2) {
+ mes("[Ninja Guide]");
+ mes("A child cannot accept the life of the Ninja.");
+ mes("It is not easy to qualify for such a life, so do not feel sorry...");
+ close2();
+ cutin("", 255);
end;
}
- if(questprogress(4269) != 2) {
- mes "[Ninja Guide]";
- mes "First of all, you must enroll in the Academy and visit me again.";
- mes "Everything has to follow the correct procedures and being clumsy is no excuse.";
- close2;
- cutin "", 255;
+ if (questprogress(4269) != 2) {
+ mes("[Ninja Guide]");
+ mes("First of all, you must enroll in the Academy and visit me again.");
+ mes("Everything has to follow the correct procedures and being clumsy is no excuse.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Ninja Guide]";
- mes "Hmmm. So a new beginner has come eh?";
- mes "Why are you here?";
- next;
+ mes("[Ninja Guide]");
+ mes("Hmmm. So a new beginner has come eh?");
+ mes("Why are you here?");
+ next();
switch(select("Explanation about the Ninja.", "I decided to be a Ninja.", "I don't have any business here.")) {
case 1:
- while(1) {
- mes "[Ninja Guide]";
- mes "A beginner wishing to be a Ninja....";
- mes "Ask me what you are curious about.";
- next;
+ while(true) {
+ mes("[Ninja Guide]");
+ mes("A beginner wishing to be a Ninja....");
+ mes("Ask me what you are curious about.");
+ next();
switch(select("What can I do if I become a Ninja?", "What is required to become a Ninja?", "I want to experience Ninja skills.", "I don't have any worries about Ninjas.")) {
case 1:
- mes "[Ninja Guide]";
- mes "Ninja is a profession that allows you to attack while sneaking for maximum damage.";
- mes "As Ninja has various kinds of deception skills, which is good for soloing.";
- next;
- mes "[Ninja Guide]";
- mes "Not only can you learn Ninja technique similarly as magic, you can also make direct attacks, deal critical damage or throw knives at enemies.";
- next;
- mes "[Ninja Guide]";
- mes "But you can't do all of these things perfectly without sufficient equipment.";
- mes "You will take more damage than others if you are hit.";
- next;
- mes "[Ninja Guide]";
- mes "Therefore, if the person who is not completely weary of this world chooses this job, with no discretion, they will not fail.";
- next;
+ mes("[Ninja Guide]");
+ mes("Ninja is a profession that allows you to attack while sneaking for maximum damage.");
+ mes("As Ninja has various kinds of deception skills, which is good for soloing.");
+ next();
+ mes("[Ninja Guide]");
+ mes("Not only can you learn Ninja technique similarly as magic, you can also make direct attacks, deal critical damage or throw knives at enemies.");
+ next();
+ mes("[Ninja Guide]");
+ mes("But you can't do all of these things perfectly without sufficient equipment.");
+ mes("You will take more damage than others if you are hit.");
+ next();
+ mes("[Ninja Guide]");
+ mes("Therefore, if the person who is not completely weary of this world chooses this job, with no discretion, they will not fail.");
+ next();
break;
case 2:
- mes "[Ninja Guide]";
- mes "Ninja can be trained in a variety of courses.";
- mes "Everything has both one merit and one demerit.";
- mes "You would better make your own decision after profound consideration.";
- next;
- mes "[Ninja Guide]";
- mes "There are two major status which affect the degree of damages.";
- mes "One is ^ff0000Power^000000, the other is ^ff0000Intelligence^000000,";
- mes "Power affects the damages by^8E2323 physical attacks^000000 and^8E2323 throwing attacks^000000.";
- mes "Intelligence affects the damage by ^8E2323 Ninja's skill ^000000";
- next;
- mes "[Ninja Guide]";
- mes "In addition to these, you can learn";
- mes "other statuses not from the professional trainers like us";
- mes "but from the trainers teaching the basic skills for battle.";
- next;
- mes "[Ninja Guide]";
- mes "For example, to raise up the hit rate,";
- mes "What should you do?";
- mes "To raise the defense, what do you wear? Etc...";
- next;
+ mes("[Ninja Guide]");
+ mes("Ninja can be trained in a variety of courses.");
+ mes("Everything has both one merit and one demerit.");
+ mes("You would better make your own decision after profound consideration.");
+ next();
+ mes("[Ninja Guide]");
+ mes("There are two major status which affect the degree of damages.");
+ mes("One is ^ff0000Power^000000, the other is ^ff0000Intelligence^000000,");
+ mes("Power affects the damages by^8E2323 physical attacks^000000 and^8E2323 throwing attacks^000000.");
+ mes("Intelligence affects the damage by ^8E2323 Ninja's skill ^000000");
+ next();
+ mes("[Ninja Guide]");
+ mes("In addition to these, you can learn");
+ mes("other statuses not from the professional trainers like us");
+ mes("but from the trainers teaching the basic skills for battle.");
+ next();
+ mes("[Ninja Guide]");
+ mes("For example, to raise up the hit rate,");
+ mes("What should you do?");
+ mes("To raise the defense, what do you wear? Etc...");
+ next();
break;
case 3:
if (countitem(Ninja_Manual) > 0) {
- mes "[Ninja Guide]";
- mes "You can equip this manual to experience some skills.";
- mes "Open up your skill window by pressing <Alt+S> and find the skills in the Misc TAB.";
- next;
- mes "[Ninja Guide]";
- mes "The Academy has a trainer downstairs who will give you battle field training. Meet him and train your skills.";
- next;
- mes "[Ninja Guide]";
- mes "He will give you some quests to complete. Use the Manual to help you in battle.";
+ mes("[Ninja Guide]");
+ mes("You can equip this manual to experience some skills.");
+ mes("Open up your skill window by pressing <Alt+S> and find the skills in the Misc TAB.");
+ next();
+ mes("[Ninja Guide]");
+ mes("The Academy has a trainer downstairs who will give you battle field training. Meet him and train your skills.");
+ next();
+ mes("[Ninja Guide]");
+ mes("He will give you some quests to complete. Use the Manual to help you in battle.");
if (countitem(Light_Shuriken) < 10)
- getitem Light_Shuriken, 10; // Light_Shuriken
- next;
+ getitem(Light_Shuriken, 10); // Light_Shuriken
+ next();
} else {
- mes "[Ninja Guide]";
- mes "Make every useful moment count.";
- mes "You can equip this manual to experience some skills.";
- mes "Open up your skill window by pressing <Alt+S> and find the skills in the Misc TAB.";
- getitem Ninja_Manual, 1; // Ninja_Manual
- getitem Light_Shuriken, 10; // Light_Shuriken
- next;
- mes "[Ninja Guide]";
- mes "The Academy has a trainer downstairs who will give you battle field training. Meet him and train your skills.";
- next;
- mes "[Ninja Guide]";
- mes "He will give you some quests to complete. Use the Manual to help you in battle.";
- next;
+ mes("[Ninja Guide]");
+ mes("Make every useful moment count.");
+ mes("You can equip this manual to experience some skills.");
+ mes("Open up your skill window by pressing <Alt+S> and find the skills in the Misc TAB.");
+ getitem(Ninja_Manual, 1); // Ninja_Manual
+ getitem(Light_Shuriken, 10); // Light_Shuriken
+ next();
+ mes("[Ninja Guide]");
+ mes("The Academy has a trainer downstairs who will give you battle field training. Meet him and train your skills.");
+ next();
+ mes("[Ninja Guide]");
+ mes("He will give you some quests to complete. Use the Manual to help you in battle.");
+ next();
}
break;
case 4:
- mes "[Ninja Guide]";
- mes "Do you understand everything I told you?";
- mes "That's all... You don't have any questions?";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("Do you understand everything I told you?");
+ mes("That's all... You don't have any questions?");
+ close2();
+ cutin("", 255);
end;
}
}
break;
case 2:
if (getskilllv("NV_BASIC") < 9) {
- mes "[Ninja Guide]";
- mes "I appreicate your braveness but, first of all, you have to be familiar with the current profession.";
- next;
- mes "[Ninja Guide]";
- mes "Before you decide to become a Ninja,";
- mes "you need to come back after reaching the novice's job level 9. Then, I will accept you.";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("I appreicate your braveness but, first of all, you have to be familiar with the current profession.");
+ next();
+ mes("[Ninja Guide]");
+ mes("Before you decide to become a Ninja,");
+ mes("you need to come back after reaching the novice's job level 9. Then, I will accept you.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Ninja Guide]";
- mes "This may be your last warning.";
- mes "Becoming a Ninja means leading a difficult life.";
- next;
- mes "[Ninja Guide]";
- mes "As Ninja don't belong to a guild, it is easily obtainable to Novices.";
- mes "Make sure your decision is final!";
- next;
- if(select("I will reconsider.", "I already made up my mind.") == 1) {
- mes "[Ninja Guide]";
- mes "Well thought actions can often bring good results.";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("This may be your last warning.");
+ mes("Becoming a Ninja means leading a difficult life.");
+ next();
+ mes("[Ninja Guide]");
+ mes("As Ninja don't belong to a guild, it is easily obtainable to Novices.");
+ mes("Make sure your decision is final!");
+ next();
+ if (select("I will reconsider.", "I already made up my mind.") == 1) {
+ mes("[Ninja Guide]");
+ mes("Well thought actions can often bring good results.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Ninja Guide]";
- mes "If you're so assertive, I have no choice but to guide you there.";
- next;
- mes "[Ninja Guide]";
- mes "I will send you close to where you can change your job.";
- next;
- mes "[Ninja Guide]";
- mes "I will give you a special hint.";
- mes "Amatsu town is where you are going to arrive. Find the hidden tunnel in a vacant house.";
- next;
- mes "[Ninja Guide]";
- mes "There you will meet a person who will guide you to becoming a Ninja.";
- next;
- mes "[Ninja Guide]";
- mes "If you get lost in the town, well there is no way... Being ninja requires a level of observation power.";
- next;
- mes "-Select ^ff0000Confirm^000000 to go to Amatsu.";
- cutin "", 255;
- next;
- if(select("Confirm", "Cancel") == 1)
- warp "amatsu", 112, 141;
- mes "[Ninja Guide]";
- mes "............";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("If you're so assertive, I have no choice but to guide you there.");
+ next();
+ mes("[Ninja Guide]");
+ mes("I will send you close to where you can change your job.");
+ next();
+ mes("[Ninja Guide]");
+ mes("I will give you a special hint.");
+ mes("Amatsu town is where you are going to arrive. Find the hidden tunnel in a vacant house.");
+ next();
+ mes("[Ninja Guide]");
+ mes("There you will meet a person who will guide you to becoming a Ninja.");
+ next();
+ mes("[Ninja Guide]");
+ mes("If you get lost in the town, well there is no way... Being ninja requires a level of observation power.");
+ next();
+ mes("-Select ^ff0000Confirm^000000 to go to Amatsu.");
+ cutin("", 255);
+ next();
+ if (select("Confirm", "Cancel") == 1)
+ warp("amatsu", 112, 141);
+ mes("[Ninja Guide]");
+ mes("............");
+ close2();
+ cutin("", 255);
end;
}
case 3:
- mes "[Ninja Guide]";
- mes "......";
- next;
- mes "[Ninja Guide]";
- mes "I have no words to say, if you don't have any business with me.";
- close2;
- cutin "", 255;
+ mes("[Ninja Guide]");
+ mes("......");
+ next();
+ mes("[Ninja Guide]");
+ mes("I have no words to say, if you don't have any business with me.");
+ close2();
+ cutin("", 255);
end;
}
}
- cutin "", 255;
+ cutin("", 255);
end;
}
@@ -12367,250 +12546,250 @@ iz_ac02_d,140,139,5 duplicate(Ninja Guide#ac) Ninja Guide#ac_d 4_M_NINJA_BLUE
//- Refinery Owner Han -
izlude,153,126,1 script Refinery Owner Han#iz 4_M_02,{
if (!checkweight(Axe, 1)) {
- mes "- Cannot progress with the dialogue because you have too many items. -";
- close;
+ mes("- Cannot progress with the dialogue because you have too many items. -");
+ close();
}
.@jerun_tutorial = questprogress(5153) + questprogress(5154) + questprogress(5155) + questprogress(5156);
if (.@jerun_tutorial == 0) {
- mes "[Refinery Owner Han]";
- mes "Hello? My name is Han to lead the next generation of refining culture in Rune Midguard.";
- next;
- mes "[Refinery Owner Han]";
- mes "Entering this market lately, if I don't have old customers, it is not easy to operate. So, I do the advertising by myself.";
- next;
- mes "[Refinery Owner Han]";
- mes "Are you interested in ^3E86C3refining^000000 to make your items strong?";
- next;
- if(select("I have no interest.", "refining? Is it edible?") == 1) {
- emotion e_sry;
- mes "[Refinery Owner Han]";
- mes "Ah, I am sorry. I caught a busy man.";
- close;
- }
- mes "[Refinery Owner Han]";
- mes "Refining means to strenghthen your equipments with ^3E86C3rare metal^000000 obtainable from monsters and so on.";
- next;
- mes "[Refinery Owner Han]";
- mes "If weapons are refined, their attacking power increases. If shields are refined, their defensive power increasesand helps to reduce pain against monster's hits on you.";
- next;
- mes "[Refinery Owner Han]";
- mes "So you kind of get the jist of it right?";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Hello? My name is Han to lead the next generation of refining culture in Rune Midguard.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Entering this market lately, if I don't have old customers, it is not easy to operate. So, I do the advertising by myself.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Are you interested in ^3E86C3refining^000000 to make your items strong?");
+ next();
+ if (select("I have no interest.", "refining? Is it edible?") == 1) {
+ emotion(e_sry);
+ mes("[Refinery Owner Han]");
+ mes("Ah, I am sorry. I caught a busy man.");
+ close();
+ }
+ mes("[Refinery Owner Han]");
+ mes("Refining means to strenghthen your equipments with ^3E86C3rare metal^000000 obtainable from monsters and so on.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("If weapons are refined, their attacking power increases. If shields are refined, their defensive power increasesand helps to reduce pain against monster's hits on you.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("So you kind of get the jist of it right?");
+ next();
select("Oh... refining...");
- mes "[Refinery Owner Han]";
- mes "Yes, that's it. Refining is good but it can get addicting.";
- next;
- mes "[Refinery Owner Han]";
- mes "I don't usually do it, but will give you a special chance to experience refining.";
- next;
- mes "[Refinery Owner Han]";
- mes "Whatever 1st level weapon level can be used it doesn't matter! If you use the ^3E86C3refining machine Wagjak^000000 over there!!";
- next;
- mes "[Refinery Owner Han]";
- mes "^I will give you ^FD4F02just! one refining service free of charge.^000000.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Yes, that's it. Refining is good but it can get addicting.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("I don't usually do it, but will give you a special chance to experience refining.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Whatever 1st level weapon level can be used it doesn't matter! If you use the ^3E86C3refining machine Wagjak^000000 over there!!");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("^I will give you ^FD4F02just! one refining service free of charge.^000000.");
+ next();
select("Only once?");
- setquest 5153;
- mes "[Refinery Owner Han]";
- mes "Hey I need to make a living you know! Don't go telling everyone I'm doing this for free ok?";
- close;
+ setquest(5153);
+ mes("[Refinery Owner Han]");
+ mes("Hey I need to make a living you know! Don't go telling everyone I'm doing this for free ok?");
+ close();
} else if (.@jerun_tutorial == 1) {
- mes "[Refinery Owner Han]";
- mes "You haven't used the refining machine Wagjak.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("You haven't used the refining machine Wagjak.");
+ next();
switch(select("Refining Machine Wagjak", "Why is it called Wagjak?", "Anything else I should know?", "Cancel")) {
case 1:
- mes "[Refinery Owner Han]";
- mes "The refining machine Wagjak is a machine I made after 8 years of research.";
- next;
- mes "[Refinery Owner Han]";
- mes "I made it for more precious refining. It is my personal refining machine. Well, thanks to it, I have made several contracts.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("The refining machine Wagjak is a machine I made after 8 years of research.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("I made it for more precious refining. It is my personal refining machine. Well, thanks to it, I have made several contracts.");
+ close();
case 2:
- mes "[Refinery Owner Han]";
- mes "The name doesn't mean anything it's just a name. Wagjak! What a weird name right?";
- close;
+ mes("[Refinery Owner Han]");
+ mes("The name doesn't mean anything it's just a name. Wagjak! What a weird name right?");
+ close();
case 3:
- mes "[Refinery Owner Han]";
- mes "Absolutely!";
- next;
- mes "[Refinery Owner Han]";
- mes "But I subscribe to the idea that seeing is believing... You know what I mean? Try it out yourself instead of asking questions.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Absolutely!");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("But I subscribe to the idea that seeing is believing... You know what I mean? Try it out yourself instead of asking questions.");
+ close();
case 4:
break;
}
} else if (.@jerun_tutorial == 2) {
- mes "[Refinery Owner Han]";
- mes "Ohoh... as you don't have a service coupon.. You may have already used Wagjak...";
- next;
- mes "[Refinery Owner Han]";
- mes "I hope you have a brief understanding of refining.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Ohoh... as you don't have a service coupon.. You may have already used Wagjak...");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("I hope you have a brief understanding of refining.");
+ next();
select("Anything else I should know?");
- mes "[Refinery Owner Han]";
- mes "Yes, yes, we have... Safety refining indications and refining price... such small things...";
- next;
- mes "[Refinery Owner Han]";
- mes "For an explanation ^3E86C3weapon levels^000000 & ^3E86C3safety refining^000000...";
- next;
- setquest 5154;
- mes "[Refinery Owner Han]";
- mes "You can learn from ^3E86C3Mr. Taddae^000000 selling Phracon and Emveteracon";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Yes, yes, we have... Safety refining indications and refining price... such small things...");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("For an explanation ^3E86C3weapon levels^000000 & ^3E86C3safety refining^000000...");
+ next();
+ setquest(5154);
+ mes("[Refinery Owner Han]");
+ mes("You can learn from ^3E86C3Mr. Taddae^000000 selling Phracon and Emveteracon");
+ close();
} else if (.@jerun_tutorial == 3) {
- mes "[Refinery Owner Han]";
- mes "I recommend you visit and listen to Mr. Tadde about weapon levels and safe refining.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("I recommend you visit and listen to Mr. Tadde about weapon levels and safe refining.");
+ close();
} else if (.@jerun_tutorial == 4) {
- mes "[Refinery Owner Han]";
- mes "Did you get a good lesson? Did he explain it well enough?";
- next;
- mes "[Refinery Owner Han]";
- mes "Just between us, there is a rumor that lots of employees complain about me.";
- next;
- mes "[Refinery Owner Han]";
- mes "I sent you there to monitor the situation.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Did you get a good lesson? Did he explain it well enough?");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Just between us, there is a rumor that lots of employees complain about me.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("I sent you there to monitor the situation.");
+ next();
select("So?");
- mes "[Refinery Owner Han]";
- mes "I will adopt it in the performance rating. By the way, how was Mr. Tadde's lesson?";
- next;
+ mes("[Refinery Owner Han]");
+ mes("I will adopt it in the performance rating. By the way, how was Mr. Tadde's lesson?");
+ next();
switch(select("It was excellent.", "It was just OK.", "It was so-so.")) {
case 1:
- mes "[Refinery Owner Han]";
- mes "He did a good job...";
- next;
+ mes("[Refinery Owner Han]");
+ mes("He did a good job...");
+ next();
break;
case 2:
- mes "[Refinery Owner Han]";
- mes "Hmm. Is that so? I see... I'll have to jot this down...";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Hmm. Is that so? I see... I'll have to jot this down...");
+ next();
break;
case 3:
- mes "[Refinery Owner Han]";
- mes "Hmm.. It was like that... I see.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Hmm.. It was like that... I see.");
+ next();
break;
}
- mes "[Refinery Owner Han]";
- mes "Now! I'm done organizing..";
- next;
- mes "[Refinery Owner Han]";
- mes "Next is the explanation about ^3E86C3refining effect^000000 and ^3E86C3refining price^000000.";
- next;
- mes "[Refinery Owner Han]";
- mes "^3E86C3Mr. Locas^000000 is in charge with refinement with Oridecon gemstones.";
- next;
- mes "[Refinery Owner Han]";
- mes "Go speak with Mr. Locas's about the refining effect and refining price.";
- next;
- setquest 5155;
- mes "[Refinery Owner Han]";
- mes "Ah!! I ask for your favor this time, either.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Now! I'm done organizing..");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Next is the explanation about ^3E86C3refining effect^000000 and ^3E86C3refining price^000000.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("^3E86C3Mr. Locas^000000 is in charge with refinement with Oridecon gemstones.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Go speak with Mr. Locas's about the refining effect and refining price.");
+ next();
+ setquest(5155);
+ mes("[Refinery Owner Han]");
+ mes("Ah!! I ask for your favor this time, either.");
+ close();
} else if (.@jerun_tutorial == 5) {
- mes "[Refinery Owner Han]";
- mes "Go and see ^3E86C3Mr. Locas^000000 in charge with refining Oridecon stone for the refining effect and refining price.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Go and see ^3E86C3Mr. Locas^000000 in charge with refining Oridecon stone for the refining effect and refining price.");
+ close();
} else if (.@jerun_tutorial == 6) {
- mes "[Refinery Owner Han]";
- mes "Did you get a good lesson? Did he explain it well enough?";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Did you get a good lesson? Did he explain it well enough?");
+ next();
switch(select("He was good great.", "It was just OK.", "So-so..")) {
case 1:
- mes "[Refinery Owner Han]";
- mes "Mr. Locas explained it to you well.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Mr. Locas explained it to you well.");
+ next();
break;
case 2:
- mes "[Refinery Owner Han]";
- mes "Just OK? Hmmm.";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Just OK? Hmmm.");
+ next();
break;
case 3:
- mes "[Refinery Owner Han]";
- mes "Oh no.. You were not satisfied with his explanations...";
- next;
+ mes("[Refinery Owner Han]");
+ mes("Oh no.. You were not satisfied with his explanations...");
+ next();
break;
}
- mes "[Refinery Owner Han]";
- mes "I see. I will jot that down.";
- next;
- mes "[Refinery Owner Han]";
- mes "By the way, I have finished all the explanations about refining. Any further questions?";
- next;
- if(select("No questions at all.", "I have some questions...") == 1) {
- mes "[Refinery Owner Han]";
- mes "I see.. But just in case...";
- next;
+ mes("[Refinery Owner Han]");
+ mes("I see. I will jot that down.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("By the way, I have finished all the explanations about refining. Any further questions?");
+ next();
+ if (select("No questions at all.", "I have some questions...") == 1) {
+ mes("[Refinery Owner Han]");
+ mes("I see.. But just in case...");
+ next();
} else {
- mes "[Refinery Owner Han]";
- mes "Ah, is that so? Don't worry.";
- next;
- }
- mes "[Refinery Owner Han]";
- mes "If you have any further questions, come and see me. I will give you full explanations again.";
- next;
- mes "[Refinery Owner Han]";
- mes "And this is a compensation for your lesson. I hope to see you frequently in the future.";
- next;
- setquest 5156;
- completequest 5156;
+ mes("[Refinery Owner Han]");
+ mes("Ah, is that so? Don't worry.");
+ next();
+ }
+ mes("[Refinery Owner Han]");
+ mes("If you have any further questions, come and see me. I will give you full explanations again.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("And this is a compensation for your lesson. I hope to see you frequently in the future.");
+ next();
+ setquest(5156);
+ completequest(5156);
if (Class == Job_Novice)
- getexp 1200, 500;
- mes "Got a lesson about the refining and Kafra storage free coupon.";
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- close;
+ getexp(1200, 500);
+ mes("Got a lesson about the refining and Kafra storage free coupon.");
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ close();
} else if (.@jerun_tutorial == 8) {
- mes "[Refinery Owner Han]";
- mes "How are you doing?";
- next;
+ mes("[Refinery Owner Han]");
+ mes("How are you doing?");
+ next();
switch(select("Hi!!", "How is the morale of the employees?", "Question is....", "Cancel")) {
case 1:
- mes "[Refinery Owner Han]";
- mes "How are you? Haven't seen you long time.. Please pay more frequent visits and do refining.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("How are you? Haven't seen you long time.. Please pay more frequent visits and do refining.");
+ close();
case 2:
- mes "[Refinery Owner Han]";
- mes "Just as before, labor-management consensus have achieved.";
- next;
- mes "[Refinery Owner Han]";
- mes "We understand the employees' complaints and prepared the resolutions.";
- next;
- mes "[Refinery Owner Han]";
- mes "Perhaps from that reason, I can hear any other complaints from them.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Just as before, labor-management consensus have achieved.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("We understand the employees' complaints and prepared the resolutions.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("Perhaps from that reason, I can hear any other complaints from them.");
+ close();
case 3:
- mes "[Refinery Owner Han]";
- mes "You have a question..";
- next;
- mes "[Refinery Owner Han]";
- mes "But I haven't told you anything in the beginning.";
- next;
- mes "[Refinery Owner Han]";
- mes "It might be better for you to ask questions of the staff you met before.";
- next;
- mes "[Refinery Owner Han]";
- mes "You can ask the explanations concerning ^FD4F02 weapon levels^000000 and ^FD4F02saftey refining ^000000, to ^142CEBMr. Tadde^000000, concerning ^FD4F02 refining price^000000 and ^FD4F02 refining effect^000000, ^142CEB to Mr. Locas^000000.";
- next;
- mes "[Refinery Owner Han]";
- mes "He will give you kind answers.";
- next;
- close;
+ mes("[Refinery Owner Han]");
+ mes("You have a question..");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("But I haven't told you anything in the beginning.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("It might be better for you to ask questions of the staff you met before.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("You can ask the explanations concerning ^FD4F02 weapon levels^000000 and ^FD4F02saftey refining ^000000, to ^142CEBMr. Tadde^000000, concerning ^FD4F02 refining price^000000 and ^FD4F02 refining effect^000000, ^142CEB to Mr. Locas^000000.");
+ next();
+ mes("[Refinery Owner Han]");
+ mes("He will give you kind answers.");
+ next();
+ close();
case 4:
break;
}
- close;
+ close();
} else {
- mes "[Refinery Owner Han]";
- mes "Something strange must've happened. If this continues, please contact customer service.";
- close;
+ mes("[Refinery Owner Han]");
+ mes("Something strange must've happened. If this continues, please contact customer service.");
+ close();
}
OnInit:
- //AddQuestInfo 5153 1 0
- //SetQuestLevel 5153 1 20
+ //Addquestinfo 5153 1 0
+ //setquestLevel 5153 1 20
end;
}
@@ -12621,99 +12800,99 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
//- Refining Machine Wagjak -
- script ::izludeWagjak FAKE_NPC,{
- disable_items;
- mes "[Refining Machine Wagjak]";
- mes "-Ddarritt!-";
- mes "Wagjak Starting... completed..";
- mes "Checking the user.. Completed.";
- mes "Select the refining equipment.";
- next;
+ disable_items();
+ mes("[Refining Machine Wagjak]");
+ mes("-Ddarritt!-");
+ mes("Wagjak Starting... completed..");
+ mes("Checking the user.. Completed.");
+ mes("Select the refining equipment.");
+ next();
setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
.@menu$ = "";
for(set .@i,1; .@i<=10; set .@i,.@i+1)
.@menu$ = .@menu$+(getequipisequiped(.@i)?getequipname(.@i):.@position$[.@i]+" - [Unarmed]")+":";
.@part = select(.@menu$);
- if(!getequipisequiped(.@part)) {
- mes "[Refining Machine Wagjak]";
- mes "^ff0000- Error number 000"+.@part+" -^000000";
- mes "Item is not equipped.";
- close2;
+ if (!getequipisequiped(.@part)) {
+ mes("[Refining Machine Wagjak]");
+ mes("^ff0000- Error number 000"+.@part+" -^000000");
+ mes("Item is not equipped.");
+ close2();
enable_items;
end;
}
- mes "[Refining Machine Wagjak]";
- mes "Searching for the equipment information - completed.";
- next;
+ mes("[Refining Machine Wagjak]");
+ mes("Searching for the equipment information - completed.");
+ next();
if (!getequipisenableref(.@part)) {
- mes "[Refining Machine Wagjak]";
- mes "^FF0000- error number 4444 -^000000";
- mes "This item cannot be refined.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("^FF0000- error number 4444 -^000000");
+ mes("This item cannot be refined.");
+ close2();
enable_items;
end;
}
if (!getequipisidentify(.@part)) {
- mes "[Refining Machine Wagjak]";
- mes "^FF0000- error number 5555 -^000000";
- mes "This item has not yet been identified.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("^FF0000- error number 5555 -^000000");
+ mes("This item has not yet been identified.");
+ close2();
enable_items;
end;
}
if (getequiprefinerycnt(.@part) >= 10) {
- mes "[Refining Machine Wagjak]";
- mes "^FF0000- error number 1010 -^000000";
- mes "At the current version, you can do refining up to level 10.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("^FF0000- error number 1010 -^000000");
+ mes("At the current version, you can do refining up to level 10.");
+ close2();
enable_items;
end;
}
if (questprogress(5153) == 1) {
if (getequipweaponlv(.@part) == 1) {
- mes "[Refining Machine Wagjak]";
- mes "Type : 1 level weapon";
- mes "Charge : Phracon, 1000 zeny";
- mes "Service usage coupon sensed. No charge to be requested. Will you refine?";
- next;
- if(select("Refine.", "Don't Refine.") == 2) {
- mes "[Refining Machine Wagjak]";
- mes "Cancel the refining.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("Type : 1 level weapon");
+ mes("Charge : Phracon, 1000 zeny");
+ mes("Service usage coupon sensed. No charge to be requested. Will you refine?");
+ next();
+ if (select("Refine.", "Don't Refine.") == 2) {
+ mes("[Refining Machine Wagjak]");
+ mes("Cancel the refining.");
+ close2();
enable_items;
end;
}
if (getequippercentrefinery(.@part) < 100) {
- mes "[Refining Machine Wagjak]";
- mes "-Ddarritt!-";
- mes "The user's confirmation required.";
- mes "You are attempting unsafe refining. If refining fails, the equipment will be destroyed. Will you continue?";
- next;
- if(select("Refine.", "Don't Refine.") == 2) {
- mes "[Refining Machine Wagjak]";
- mes "Refining has been cancelled as per the user's request.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("-Ddarritt!-");
+ mes("The user's confirmation required.");
+ mes("You are attempting unsafe refining. If refining fails, the equipment will be destroyed. Will you continue?");
+ next();
+ if (select("Refine.", "Don't Refine.") == 2) {
+ mes("[Refining Machine Wagjak]");
+ mes("Refining has been cancelled as per the user's request.");
+ close2();
enable_items;
end;
}
}
if (getequippercentrefinery(.@part) <= rand(100)) {
failedrefitem .@part;
- mes "[Refining Machine Wagjak]";
- mes "Result : Fail";
- mes "refining failed. The equipment was destroyed.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("Result : Fail");
+ mes("refining failed. The equipment was destroyed.");
+ close2();
enable_items;
end;
} else {
successrefitem .@part;
- mes "[Refining Machine Wagjak]";
- mes "Result : Success";
- mes "Congratulations!! You succeeded in refining.";
- completequest 5153;
- next;
- mes "[Refining Machine Wagjak]";
- mes "Service usage coupon was used.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("Result : Success");
+ mes("Congratulations!! You succeeded in refining.");
+ completequest(5153);
+ next();
+ mes("[Refining Machine Wagjak]");
+ mes("Service usage coupon was used.");
+ close2();
enable_items;
end;
}
@@ -12746,55 +12925,55 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
.@price = 20000;
break;
}
- mes "[Refining Machine Wagjak]";
- mes "Type : "+ .@type$ +"";
- mes "Charge : "+ getitemname(.@material) +", "+ .@price +" zeny";
- mes "Above money will be charged. Will you refine?";
- next;
- if(select("Refine.", "Don't Refine.") == 2) {
- mes "[Refining Machine Wagjak]";
- mes "Refining has been cancelled as per the user's request.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("Type : "+ .@type$ +"");
+ mes("Charge : "+ getitemname(.@material) +", "+ .@price +" zeny");
+ mes("Above money will be charged. Will you refine?");
+ next();
+ if (select("Refine.", "Don't Refine.") == 2) {
+ mes("[Refining Machine Wagjak]");
+ mes("Refining has been cancelled as per the user's request.");
+ close2();
enable_items;
end;
}
if (getequippercentrefinery(.@part) < 100) {
- mes "[Refining Machine Wagjak]";
- mes "-Ddarritt!-";
- mes "The user's confirmation required.";
- mes "You are attempting unsafe refining. If refining fails, the equipment will be destroyed. Will you continue?";
- next;
- if(select("Refine.", "Don't Refine.") == 2) {
- mes "[Refining Machine Wagjak]";
- mes "Refining has been cancelled as per the user's request.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("-Ddarritt!-");
+ mes("The user's confirmation required.");
+ mes("You are attempting unsafe refining. If refining fails, the equipment will be destroyed. Will you continue?");
+ next();
+ if (select("Refine.", "Don't Refine.") == 2) {
+ mes("[Refining Machine Wagjak]");
+ mes("Refining has been cancelled as per the user's request.");
+ close2();
enable_items;
end;
}
}
if (countitem(.@material) > 0 && Zeny >= .@price) {
- delitem .@material, 1;
+ delitem(.@material, 1);
Zeny -= .@price;
} else {
- mes "[Refining Machine Wagjak]";
- mes "^FF0000- error number 8282 -^000000";
- mes "You are short of refining price.";
- close2;
+ mes("[Refining Machine Wagjak]");
+ mes("^FF0000- error number 8282 -^000000");
+ mes("You are short of refining price.");
+ close2();
enable_items;
end;
}
if (getequippercentrefinery(.@part) <= rand(100)) {
failedrefitem .@part;
- mes "[Refining Machine Wagjak]";
- mes "Result : Fail";
- mes "refining failed. The equipment was destroyed.";
+ mes("[Refining Machine Wagjak]");
+ mes("Result : Fail");
+ mes("refining failed. The equipment was destroyed.");
} else {
successrefitem .@part;
- mes "[Refining Machine Wagjak]";
- mes "Result : Success";
- mes "Congratulations!! You succeeded in refining.";
+ mes("[Refining Machine Wagjak]");
+ mes("Result : Success");
+ mes("Congratulations!! You succeeded in refining.");
}
- close2;
+ close2();
enable_items;
end;
}
@@ -12808,79 +12987,79 @@ izlude_d,153,121,3 duplicate(izludeWagjak) Refining Machine Wagjak::iz_d 2_MONEM
//- Tadde -
izlude,145,122,7 script Tadde#iz 4_M_04,{
if (!checkweight(Axe, 1)) {
- mes "- As you have too many items in your inventory, Quest can't be continued -";
- close;
+ mes("- As you have too many items in your inventory, Quest can't be continued -");
+ close();
}
if (questprogress(5154) == 1) {
- mes "[Tadde]";
- mes "Welcome. The owner told me to explain to you about ^3E86C3the weapon levels^000000 and ^3E86C3safety refining.^000000.";
- next;
- mes "[Tadde]";
- mes "In fact, it is better to get to know while questing yourself. But anyway if you have any questions, please ask to me.";
- next;
- while(1) {
+ mes("[Tadde]");
+ mes("Welcome. The owner told me to explain to you about ^3E86C3the weapon levels^000000 and ^3E86C3safety refining.^000000.");
+ next();
+ mes("[Tadde]");
+ mes("In fact, it is better to get to know while questing yourself. But anyway if you have any questions, please ask to me.");
+ next();
+ while(true) {
switch(select("Weapon level", "Safety refining.", "Finish the question.")) {
case 1:
- mes "[Tadde]";
- mes "Weapons have level, whereas Armors don't. The more ^3E86C3upscaled a weapon^000000 is, the higher the weapon level is.";
- next;
- mes "[Tadde]";
- mes "That means ^A20B09the upscaled weapons are more difficult to obtain.^000000.";
- next;
- mes "[Tadde]";
- mes "Considering the customers coming to refine, the ones for refining level 1,2 weapons are more than those for level 3,4 weapons.";
- next;
+ mes("[Tadde]");
+ mes("Weapons have level, whereas Armors don't. The more ^3E86C3upscaled a weapon^000000 is, the higher the weapon level is.");
+ next();
+ mes("[Tadde]");
+ mes("That means ^A20B09the upscaled weapons are more difficult to obtain.^000000.");
+ next();
+ mes("[Tadde]");
+ mes("Considering the customers coming to refine, the ones for refining level 1,2 weapons are more than those for level 3,4 weapons.");
+ next();
continue;
case 2:
- mes "[Tadde]";
- mes "Safety refining differs from the levels of Armor or weapon, so basically each level has a ^3E86C3different safe upgrade level.^000000";
- next;
- while(1) {
+ mes("[Tadde]");
+ mes("Safety refining differs from the levels of Armor or weapon, so basically each level has a ^3E86C3different safe upgrade level.^000000");
+ next();
+ while(true) {
switch(select("Level 1 Weapon", "Level 2 Weapon", "Level 3 Weapon", "Level 4 Weapon", "Armor", "Question finished")) {
case 1:
- mes "[Tadde]";
- mes "Level 1 weapons are safe when refined up to ^A20B09+7^000000. The lower the level of weapon is, the higher the figure of the refining is possible.";
- next;
- mes "[Tadde]";
- mes "Of course, it has stronger effect than level 1 weapon.";
- next;
+ mes("[Tadde]");
+ mes("Level 1 weapons are safe when refined up to ^A20B09+7^000000. The lower the level of weapon is, the higher the figure of the refining is possible.");
+ next();
+ mes("[Tadde]");
+ mes("Of course, it has stronger effect than level 1 weapon.");
+ next();
continue;
case 2:
- mes "[Tadde]";
- mes "Level 2 weapons are safe when refined up to ^A20B09+6^000000, even though refining figure is lower than level 1 weapon.";
- next;
- mes "[Tadde]";
- mes "Of course, it has stronger effect than level 1 weapon.";
- next;
+ mes("[Tadde]");
+ mes("Level 2 weapons are safe when refined up to ^A20B09+6^000000, even though refining figure is lower than level 1 weapon.");
+ next();
+ mes("[Tadde]");
+ mes("Of course, it has stronger effect than level 1 weapon.");
+ next();
continue;
case 3:
- mes "[Tadde]";
- mes "Level 3 weapons are safe when refined up to ^A20B09+5^000000. Simply speaking, it looks like the safety refining goes down by 1 according to each weapon level.";
- next;
- mes "[Tadde]";
- mes "The higher the weapon is, the increasing effect of +1 becomes higher as well.";
- next;
+ mes("[Tadde]");
+ mes("Level 3 weapons are safe when refined up to ^A20B09+5^000000. Simply speaking, it looks like the safety refining goes down by 1 according to each weapon level.");
+ next();
+ mes("[Tadde]");
+ mes("The higher the weapon is, the increasing effect of +1 becomes(higher as well.");
+ next();
continue;
case 4:
- mes "[Tadde]";
- mes "Level 4 weapons are safe up to ^A20B09+4^000000. Numbers of level 4 weapons are so rare that not so many customers bring them here.";
- next;
- mes "[Tadde]";
- mes "As it is one of the most luxurious weapons, the effect of refining is the strongest.";
- next;
+ mes("[Tadde]");
+ mes("Level 4 weapons are safe up to ^A20B09+4^000000. Numbers of level 4 weapons are so rare that not so many customers bring them here.");
+ next();
+ mes("[Tadde]");
+ mes("As it is one of the most luxurious weapons, the effect of refining is the strongest.");
+ next();
continue;
case 5:
- mes "[Tadde]";
- mes "Armors are safe when refined up to^A20B09+4^000000, just like a level 4 weapon.";
- next;
- mes "[Tadde]";
- mes "As most refiners are used to making weapons it's hard for them to safely upgrade armors.";
- next;
+ mes("[Tadde]");
+ mes("Armors are safe when refined up to^A20B09+4^000000, just like a level 4 weapon.");
+ next();
+ mes("[Tadde]");
+ mes("As most refiners are used to making weapons it's hard for them to safely upgrade armors.");
+ next();
continue;
case 6:
- mes "[Tadde]";
- mes "You look like you've had enough explanations about the safety refining.";
- next;
+ mes("[Tadde]");
+ mes("You look like you've had enough explanations about the safety refining.");
+ next();
break;
}
break;
@@ -12891,30 +13070,30 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
}
break;
}
- completequest 5154;
- mes "[Tadde]";
- mes "Your questions end. If you have more questions later, come to me any time.";
- close;
+ completequest(5154);
+ mes("[Tadde]");
+ mes("Your questions end. If you have more questions later, come to me any time.");
+ close();
}
- mes "[Tadde]";
- mes "We sell metals for refining iron or steel weapons here!";
- mes "We have ^007777Phracons^000000 for level 1 weapons, and ^007777Emveretarcons^000000 for level 2 weapons.";
- next;
+ mes("[Tadde]");
+ mes("We sell metals for refining iron or steel weapons here!");
+ mes("We have ^007777Phracons^000000 for level 1 weapons, and ^007777Emveretarcons^000000 for level 2 weapons.");
+ next();
switch(select("Phracon - 200 zeny.", "Emveretarcon - 1000 zeny.", "Ask for other metals.")) {
case 1:
- mes "[Tadde]";
- mes "How many would you like? Enter '0' if you want to end.";
- next;
- while(1) {
- input .@amount, 0, 501;
+ mes("[Tadde]");
+ mes("How many would you like? Enter '0' if you want to end.");
+ next();
+ while(true) {
+ input(.@amount, 0, 501);
if (.@amount == 0) {
- mes "[Tadde]";
- mes "Trade ended.";
- close;
+ mes("[Tadde]");
+ mes("Trade ended.");
+ close();
} else if (.@amount > 500) {
- mes "[Tadde]";
- mes "Please reduce your quantity to 500 or less.";
- next;
+ mes("[Tadde]");
+ mes("Please reduce your quantity to 500 or less.");
+ next();
} else {
break;
}
@@ -12922,35 +13101,35 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
.@sell = .@amount * 200;
.@item_weight = .@amount * 200;
if (Zeny < .@sell) {
- mes "[Tadde]";
- mes "Oh dear...my apologies, but you don't have enough money.";
- mes "I'm sorry we can't give it to you cheaper...we're only a small business.";
- close;
+ mes("[Tadde]");
+ mes("Oh dear...my apologies, but you don't have enough money.");
+ mes("I'm sorry we can't give it to you cheaper...we're only a small business.");
+ close();
}
if ((MaxWeight - Weight) < .@item_weight) {
- mes "[Tadde]";
- mes "Er...please sorts your inventory before you take these...";
- close;
+ mes("[Tadde]");
+ mes("Er...please sorts your inventory before you take these...");
+ close();
}
Zeny -= .@sell;
- getitem Phracon, .@amount; // Phracon
- mes "[Tadde]";
- mes "This is what you wanted. Thank you very much!";
- close;
+ getitem(Phracon, .@amount); // Phracon
+ mes("[Tadde]");
+ mes("This is what you wanted. Thank you very much!");
+ close();
case 2:
- mes "[Tadde]";
- mes "How many would you like? Enter '0' if you want to end.";
- next;
- while(1) {
- input .@amount, 0, 501;
+ mes("[Tadde]");
+ mes("How many would you like? Enter '0' if you want to end.");
+ next();
+ while(true) {
+ input(.@amount, 0, 501);
if (.@amount == 0) {
- mes "[Tadde]";
- mes "Trade ended.";
- close;
+ mes("[Tadde]");
+ mes("Trade ended.");
+ close();
} else if (.@amount > 500) {
- mes "[Tadde]";
- mes "Please reduce your quantity to 500 or less.";
- next;
+ mes("[Tadde]");
+ mes("Please reduce your quantity to 500 or less.");
+ next();
} else {
break;
}
@@ -12958,88 +13137,88 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
.@sell = .@amount * 1000;
.@item_weight = .@amount * 200;
if (Zeny < .@sell) {
- mes "[Tadde]";
- mes "Oh dear...my apologies, but you don't have enough money.";
- mes "I'm sorry we can't give it to you cheaper...we're only a small business.";
- close;
+ mes("[Tadde]");
+ mes("Oh dear...my apologies, but you don't have enough money.");
+ mes("I'm sorry we can't give it to you cheaper...we're only a small business.");
+ close();
}
if ((MaxWeight - Weight) < .@item_weight) {
- mes "[Tadde]";
- mes "Er...please sorts your inventory before you take these...";
- close;
+ mes("[Tadde]");
+ mes("Er...please sorts your inventory before you take these...");
+ close();
}
- getitem Emveretarcon, .@amount; // Emveretarcon
+ getitem(Emveretarcon, .@amount); // Emveretarcon
Zeny -= .@sell;
- mes "[Tadde]";
- mes "This is what you wanted. Thank you very much!";
- close;
+ mes("[Tadde]");
+ mes("This is what you wanted. Thank you very much!");
+ close();
case 3:
- mes "[Tadde]";
- mes "Any questions about the weapon level and safety refining?";
- next;
- while(1) {
+ mes("[Tadde]");
+ mes("Any questions about the weapon level and safety refining?");
+ next();
+ while(true) {
switch(select("Weapon level", "Safety refining.", "Finish the question.")) {
case 1:
- mes "[Tadde]";
- mes "Weapons have level, whereas Armors don't. The more ^3E86C3upscaled a weapon^000000 is, the higher the weapon level is.";
- next;
- mes "[Tadde]";
- mes "That means ^A20B09the upscaled weapons are more difficult to obtain.^000000.";
- next;
- mes "[Tadde]";
- mes "Considering the customers coming to refine, the ones for refining level 1,2 weapons are more than those for level 3,4 weapons.";
- next;
+ mes("[Tadde]");
+ mes("Weapons have level, whereas Armors don't. The more ^3E86C3upscaled a weapon^000000 is, the higher the weapon level is.");
+ next();
+ mes("[Tadde]");
+ mes("That means ^A20B09the upscaled weapons are more difficult to obtain.^000000.");
+ next();
+ mes("[Tadde]");
+ mes("Considering the customers coming to refine, the ones for refining level 1,2 weapons are more than those for level 3,4 weapons.");
+ next();
break;
case 2:
- mes "[Tadde]";
- mes "Safety refining differs from the levels of Armor or weapon, so basically each level has a ^3E86C3different safe upgrade level.^000000";
- next;
- while(1) {
+ mes("[Tadde]");
+ mes("Safety refining differs from the levels of Armor or weapon, so basically each level has a ^3E86C3different safe upgrade level.^000000");
+ next();
+ while(true) {
switch(select("Level 1 Weapon", "Level 2 Weapon", "Level 3 Weapon", "Level 4 Weapon", "Armor", "Question finished")) {
case 1:
- mes "[Tadde]";
- mes "Level 1 weapons are safe when refined up to ^A20B09+7^000000. The lower the level of weapon is, the higher the figure of the refining is possible.";
- next;
- mes "[Tadde]";
- mes "Of course, it has stronger effect than level 1 weapon.";
- next;
+ mes("[Tadde]");
+ mes("Level 1 weapons are safe when refined up to ^A20B09+7^000000. The lower the level of weapon is, the higher the figure of the refining is possible.");
+ next();
+ mes("[Tadde]");
+ mes("Of course, it has stronger effect than level 1 weapon.");
+ next();
break;
case 2:
- mes "[Tadde]";
- mes "Level 2 weapons are safe when refined up to ^A20B09+6^000000, even though refining figure is lower than level 1 weapon.";
- next;
- mes "[Tadde]";
- mes "Of course, it has stronger effect than level 1 weapon.";
- next;
+ mes("[Tadde]");
+ mes("Level 2 weapons are safe when refined up to ^A20B09+6^000000, even though refining figure is lower than level 1 weapon.");
+ next();
+ mes("[Tadde]");
+ mes("Of course, it has stronger effect than level 1 weapon.");
+ next();
break;
case 3:
- mes "[Tadde]";
- mes "Level 3 weapons are safe when refined up to ^A20B09+5^000000. Simply speaking, it looks like the safety refining goes down by 1 according to each weapon level.";
- next;
- mes "[Tadde]";
- mes "The higher the weapon is, the increasing effect of +1 becomes higher as well.";
- next;
+ mes("[Tadde]");
+ mes("Level 3 weapons are safe when refined up to ^A20B09+5^000000. Simply speaking, it looks like the safety refining goes down by 1 according to each weapon level.");
+ next();
+ mes("[Tadde]");
+ mes("The higher the weapon is, the increasing effect of +1 becomes(higher as well.");
+ next();
break;
case 4:
- mes "[Tadde]";
- mes "Level 4 weapons are safe up to ^A20B09+4^000000. Numbers of level 4 weapons are so rare that not so many customers bring them here.";
- next;
- mes "[Tadde]";
- mes "As it is one of the most luxurious weapons, the effect of refining is the strongest.";
- next;
+ mes("[Tadde]");
+ mes("Level 4 weapons are safe up to ^A20B09+4^000000. Numbers of level 4 weapons are so rare that not so many customers bring them here.");
+ next();
+ mes("[Tadde]");
+ mes("As it is one of the most luxurious weapons, the effect of refining is the strongest.");
+ next();
break;
case 5:
- mes "[Tadde]";
- mes "Armors are safe when refined up to^A20B09+4^000000, just like a level 4 weapon.";
- next;
- mes "[Tadde]";
- mes "As most refiners are used to making weapons it's hard for them to safely upgrade armors.";
- next;
+ mes("[Tadde]");
+ mes("Armors are safe when refined up to^A20B09+4^000000, just like a level 4 weapon.");
+ next();
+ mes("[Tadde]");
+ mes("As most refiners are used to making weapons it's hard for them to safely upgrade armors.");
+ next();
break;
case 6:
- mes "[Tadde]";
- mes "You look like you've had enough explanations about the safety refining.";
- next;
+ mes("[Tadde]");
+ mes("You look like you've had enough explanations about the safety refining.");
+ next();
break;
}
}
@@ -13048,12 +13227,12 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
break;
}
}
- mes "[Tadde]";
- mes "This is all I can explain to you.";
- next;
- mes "[Tadde]";
- mes "The explanations about the charge and effect of the safe refining will be covered by Mr. Locas.";
- close;
+ mes("[Tadde]");
+ mes("This is all I can explain to you.");
+ next();
+ mes("[Tadde]");
+ mes("The explanations about the charge and effect of the safe refining will be covered by Mr. Locas.");
+ close();
}
}
@@ -13065,353 +13244,353 @@ izlude_d,145,122,7 duplicate(Tadde#iz) Tadde#iz_d 4_M_04
//- Locas -
izlude,155,132,3 script Locas#iz 4_M_02,{
if (!checkweight(Axe, 1)) {
- mes "- As you have too many items in your inventory, Quest can't be continued. -";
- close;
+ mes("- As you have too many items in your inventory, Quest can't be continued. -");
+ close();
}
if (questprogress(5155) == 1) {
- mes "[Locas]";
- mes "You are the one sent by the owner. What did he order me to do?";
- next;
+ mes("[Locas]");
+ mes("You are the one sent by the owner. What did he order me to do?");
+ next();
select("You have a lot of complaints, don't you?");
- mes "[Locas]";
- mes "Yes, I do. Absolutely, the owner will threaten me with his stupid performance ratings.";
- next;
- mes "[Locas]";
- mes "He isn't the man he used to be.";
- next;
- mes "[Locas]";
- mes "He thinks if somebody leaves, a replacement will show up immediately.";
- next;
- mes "[Locas]";
- mes "Anyway, the employee should do what the owner wants him to do... Ask me your questions.";
- next;
- while(1) {
+ mes("[Locas]");
+ mes("Yes, I do. Absolutely, the owner will threaten me with his stupid performance ratings.");
+ next();
+ mes("[Locas]");
+ mes("He isn't the man he used to be.");
+ next();
+ mes("[Locas]");
+ mes("He thinks if somebody leaves, a replacement will show up immediately.");
+ next();
+ mes("[Locas]");
+ mes("Anyway, the employee should do what the owner wants him to do... Ask me your questions.");
+ next();
+ while(true) {
switch(select("Refining Price", "Fefining Effect", "End the Conversation.")) {
case 1:
- mes "[Locas]";
- mes "Perhaps the most important thing my owner thinks is this...";
- next;
- mes "[Locas]";
- mes "From the word itself, refining price is ^3E86C3 the charge to refine once^000000.";
- next;
- mes "[Locas]";
- mes "But, there are ^3E86C3differences in the essential material according the zeny and weapon level.^000000.";
- next;
- while(1) {
+ mes("[Locas]");
+ mes("Perhaps the most important thing my owner thinks is this...");
+ next();
+ mes("[Locas]");
+ mes("From the word itself, refining price is ^3E86C3 the charge to refine once^000000.");
+ next();
+ mes("[Locas]");
+ mes("But, there are ^3E86C3differences in the essential material according the zeny and weapon level.^000000.");
+ next();
+ while(true) {
switch(select("Level 1 Weapon", "Level 2 Weapon", "Level 3 Weapon", "level 4 Weapon", "Armor", "Questions Finished")) {
case 1:
- mes "[Locas]";
- mes "Refining of level 1 weapons requires ^3E86C3Phracon and 1000 zeny^000000.";
- next;
- mes "[Locas]";
- mes "As Phracon is the most popular metal, you can get it from monsters but also from Tadde at 200 zeny.";
- next;
+ mes("[Locas]");
+ mes("Refining of level 1 weapons requires ^3E86C3Phracon and 1000 zeny^000000.");
+ next();
+ mes("[Locas]");
+ mes("As Phracon is the most popular metal, you can get it from monsters but also from Tadde at 200 zeny.");
+ next();
continue;
case 2:
- mes "[Locas]";
- mes "Refining level 2 weapons requires ^3E86C3Emveretarcon and 2,000 zeny^000000.";
- next;
- mes "[Locas]";
- mes "Emveretarcon is also a relatively popular metal. You can get it either from monsters or from Tadde at 1000 zeny.";
- next;
+ mes("[Locas]");
+ mes("Refining level 2 weapons requires ^3E86C3Emveretarcon and 2,000 zeny^000000.");
+ next();
+ mes("[Locas]");
+ mes("Emveretarcon is also a relatively popular metal. You can get it either from monsters or from Tadde at 1000 zeny.");
+ next();
continue;
case 3:
- mes "[Locas]";
- mes "Refining of level 3 weapons requires ^3E86C3 Oridecon and 10,000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Oridecon is such a rare metal that I don't sell it... But,";
- next;
- mes "[Locas]";
- mes "If you have 5 Rough Oridecon obtainable from some monsters, you can refine them to make one Oridecon.";
- next;
+ mes("[Locas]");
+ mes("Refining of level 3 weapons requires ^3E86C3 Oridecon and 10,000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Oridecon is such a rare metal that I don't sell it... But,");
+ next();
+ mes("[Locas]");
+ mes("If you have 5 Rough Oridecon obtainable from some monsters, you can refine them to make one Oridecon.");
+ next();
continue;
case 4:
- mes "[Locas]";
- mes "Refining level 4 weapons requires ^3E86C3 Oridecon and 20,000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.";
- next;
+ mes("[Locas]");
+ mes("Refining level 4 weapons requires ^3E86C3 Oridecon and 20,000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.");
+ next();
continue;
case 5:
- mes "[Locas]";
- mes "Refining the Armor requires ^3E86C3Elunium and 20000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.";
- next;
+ mes("[Locas]");
+ mes("Refining the Armor requires ^3E86C3Elunium and 20000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.");
+ next();
continue;
case 6:
- mes "[Locas]";
- mes "You look like you've had enough explanations about the refining prices.";
- next;
+ mes("[Locas]");
+ mes("You look like you've had enough explanations about the refining prices.");
+ next();
break;
}
break;
}
continue;
case 2:
- mes "[Locas]";
- mes "I think you are now knowledgeable enough about refining.";
- next;
- mes "[Locas]";
- mes "Now I will explain to you about ^3E86C3the effect of refining^000000.";
- next;
- mes "[Locas]";
- mes "This time I won't give you explanations about individual items. It is better you do the physical experiences by yourself instead of verbal explanations.";
- next;
- mes "[Locas]";
- mes "Anyway, here are the explanations. From level 1 weapon,";
- next;
- mes "[Locas]";
- mes "1 level weapon has ^A20B09the attacking power increased 2^000000 by each +1 refining. Do you understand?";
- next;
+ mes("[Locas]");
+ mes("I think you are now knowledgeable enough about refining.");
+ next();
+ mes("[Locas]");
+ mes("Now I will explain to you about ^3E86C3the effect of refining^000000.");
+ next();
+ mes("[Locas]");
+ mes("This time I won't give you explanations about individual items. It is better you do the physical experiences by yourself instead of verbal explanations.");
+ next();
+ mes("[Locas]");
+ mes("Anyway, here are the explanations. From level 1 weapon,");
+ next();
+ mes("[Locas]");
+ mes("1 level weapon has ^A20B09the attacking power increased 2^000000 by each +1 refining. Do you understand?");
+ next();
select("Well???");
- mes "[Locas]";
- mes "I thought my explanations to you were easy, but it wasn't...";
- next;
- mes "[Locas]";
- mes "So, if you refine a knife with 17 attacking power and by +1, it will become 19 attacking power.. Like this.";
- next;
- mes "[Locas]";
- mes "In fact, there is no need to talk too much here. You just experience it later.";
- next;
- mes "[Locas]";
- mes "Level 2 weapon will add ^A20B093^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Level 3 weapon will add ^A20B095^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Lastly, level 4 weapon will add ^A20B097^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Ah, I missed the Armor. The Armor can be add ^A20B091^000000 to the defense power per each refining level.";
- next;
- mes "[Locas]";
- mes "Well, by now the explanations were only for the effect of the safe refining....";
- next;
- mes "[Locas]";
- mes "You would better learn yourself ^A20B09the effect of over refining^000000 regardless of potential risk.";
- next;
- mes "[Locas]";
- mes "If I tell you all the details, it is likely you start reading an epic novel of 10,000 pages, I'll tell you the ending of it.";
- next;
- mes "[Locas]";
- mes "One thing to be clear is you should be careful about destroying your equipment if you get over-eager.";
- next;
+ mes("[Locas]");
+ mes("I thought my explanations to you were easy, but it wasn't...");
+ next();
+ mes("[Locas]");
+ mes("So, if you refine a knife with 17 attacking power and by +1, it will become 19 attacking power.. Like this.");
+ next();
+ mes("[Locas]");
+ mes("In fact, there is no need to talk too much here. You just experience it later.");
+ next();
+ mes("[Locas]");
+ mes("Level 2 weapon will add ^A20B093^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Level 3 weapon will add ^A20B095^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Lastly, level 4 weapon will add ^A20B097^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Ah, I missed the Armor. The Armor can be add ^A20B091^000000 to the defense power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Well, by now the explanations were only for the effect of the safe refining....");
+ next();
+ mes("[Locas]");
+ mes("You would better learn yourself ^A20B09the effect of over refining^000000 regardless of potential risk.");
+ next();
+ mes("[Locas]");
+ mes("If I tell you all the details, it is likely you start reading an epic novel of 10,000 pages, I'll tell you the ending of it.");
+ next();
+ mes("[Locas]");
+ mes("One thing to be clear is you should be careful about destroying your equipment if you get over-eager.");
+ next();
continue;
case 3:
break;
}
break;
}
- mes "[Locas]";
- mes "Seems like, you don't have any further questions. Thank you for listening to a long story.";
- next;
- completequest 5155;
- mes "[Locas]";
- mes "You can say anything to my owner. The performance rating doesn't mean much to our technicians.";
- close;
+ mes("[Locas]");
+ mes("Seems like, you don't have any further questions. Thank you for listening to a long story.");
+ next();
+ completequest(5155);
+ mes("[Locas]");
+ mes("You can say anything to my owner. The performance rating doesn't mean much to our technicians.");
+ close();
} else {
- mes "[Locas]";
- mes "If you bring me 5 Rough Oridecon or Elunium, I will immediately make them to Oridecon or Elunium.";
- next;
+ mes("[Locas]");
+ mes("If you bring me 5 Rough Oridecon or Elunium, I will immediately make them to Oridecon or Elunium.");
+ next();
}
switch(select("Refining Oridecon", "Refining Elunium", "Other questions.")) {
case 1:
- mes "[Locas]";
- mes "Will you refine 5 Rough Oridecon to one Oridecon?";
- next;
- if(select("Exchange 5 for 1", "Exchange all.") == 1) {
+ mes("[Locas]");
+ mes("Will you refine 5 Rough Oridecon to one Oridecon?");
+ next();
+ if (select("Exchange 5 for 1", "Exchange all.") == 1) {
if (countitem(Oridecon_Stone) > 4) {
- delitem Oridecon_Stone, 5; // Oridecon_Stone
- getitem Oridecon, 1; // Oridecon
- mes "[Locas]";
- mes "Refined Rough Oridecon to Oridecon.";
- close;
+ delitem(Oridecon_Stone, 5); // Oridecon_Stone
+ getitem(Oridecon, 1); // Oridecon
+ mes("[Locas]");
+ mes("Refined Rough Oridecon to Oridecon.");
+ close();
} else {
- mes "[Locas]";
- mes "Are you kidding me?";
- mes "You should bring me 5 Rough Oridecon to refine for one Oridecon.";
- close;
+ mes("[Locas]");
+ mes("Are you kidding me?");
+ mes("You should bring me 5 Rough Oridecon to refine for one Oridecon.");
+ close();
}
} else {
if (countitem(Oridecon_Stone) > 4) {
.@ston_max = countitem(Oridecon_Stone) / 5;
.@ston_full = .@ston_max * 5;
- delitem Oridecon_Stone, .@ston_full; // Oridecon_Stone
- getitem Oridecon, .@ston_max; // Oridecon
- mes "[Locas]";
- mes "Refined "+.@ston_full+" Rough Oridecon into "+.@ston_max+" Oridecon. Thank you for your business.";
- close;
+ delitem(Oridecon_Stone, .@ston_full); // Oridecon_Stone
+ getitem(Oridecon, .@ston_max); // Oridecon
+ mes("[Locas]");
+ mes("Refined "+.@ston_full+" Rough Oridecon into "+.@ston_max+" Oridecon. Thank you for your business.");
+ close();
} else {
- mes "[Locas]";
- mes "Are you kidding me?";
- mes "You should bring me 5 Rough Oridecon to refine for one Oridecon.";
- close;
+ mes("[Locas]");
+ mes("Are you kidding me?");
+ mes("You should bring me 5 Rough Oridecon to refine for one Oridecon.");
+ close();
}
}
case 2:
- mes "[Locas]";
- mes "Will you refine 5 Rough Elunium to one Elunium?";
- next;
- if(select("Exchange 5 for 1", "Exchange all.") == 1) {
+ mes("[Locas]");
+ mes("Will you refine 5 Rough Elunium to one Elunium?");
+ next();
+ if (select("Exchange 5 for 1", "Exchange all.") == 1) {
if (countitem(Elunium_Stone) > 4) {
- delitem Elunium_Stone, 5; // Elunium_Stone
- getitem Elunium, 1; // Elunium
- mes "[Locas]";
- mes "Refined Rough Elunium to Elunium.";
- close;
+ delitem(Elunium_Stone, 5); // Elunium_Stone
+ getitem(Elunium, 1); // Elunium
+ mes("[Locas]");
+ mes("Refined Rough Elunium to Elunium.");
+ close();
} else {
- mes "[Locas]";
- mes "Are you kidding me?";
- mes "You should bring me 5 Rough Elunium to refine for one Elunium.";
- close;
+ mes("[Locas]");
+ mes("Are you kidding me?");
+ mes("You should bring me 5 Rough Elunium to refine for one Elunium.");
+ close();
}
} else {
if (countitem(Elunium_Stone) > 4) {
.@ston_max = countitem(Elunium_Stone) / 5;
.@ston_full = .@ston_max * 5;
- delitem Elunium_Stone, .@ston_full; // Elunium_Stone
- getitem Elunium, .@ston_max; // Elunium
- mes "[Locas]";
- mes "Refined "+.@ston_full+" Rough Elunium into "+.@ston_max+" Elunium. Thank you for your business.";
- close;
+ delitem(Elunium_Stone, .@ston_full); // Elunium_Stone
+ getitem(Elunium, .@ston_max); // Elunium
+ mes("[Locas]");
+ mes("Refined "+.@ston_full+" Rough Elunium into "+.@ston_max+" Elunium. Thank you for your business.");
+ close();
} else {
- mes "[Locas]";
- mes "Are you kidding me?";
- mes "You should bring me 5 Rough Elunium to refine for one Elunium.";
- close;
+ mes("[Locas]");
+ mes("Are you kidding me?");
+ mes("You should bring me 5 Rough Elunium to refine for one Elunium.");
+ close();
}
}
case 3:
- mes "[Locas]";
- mes "Do you have any questions about refining?";
- next;
- mes "[Locas]";
- mes "Though I can't explain a lot.... What's your question?";
- next;
- while(1) {
+ mes("[Locas]");
+ mes("Do you have any questions about refining?");
+ next();
+ mes("[Locas]");
+ mes("Though I can't explain a lot.... What's your question?");
+ next();
+ while(true) {
switch(select("refining price", "refining effect", "Finish the explanation.")) {
case 1:
- mes "[Locas]";
- mes "From the word itself, refining price is ^3E86C3 the price for refining once^000000.";
- next;
- mes "[Locas]";
- mes "But, there are differences in the essential material according the (zeny) and weapon level.";
- next;
- while(1) {
+ mes("[Locas]");
+ mes("From the word itself, refining price is ^3E86C3 the price for refining once^000000.");
+ next();
+ mes("[Locas]");
+ mes("But, there are differences in the essential material according the (zeny) and weapon level.");
+ next();
+ while(true) {
switch(select("Level 1 Weapon", "Level 2 Weapon", "Level 3 Weapon", "Level 4 Weapon", "Armor", "Question Finished")) {
case 1:
- mes "[Locas]";
- mes "Refining of level 1 weapons requires ^3E86C3Phracon and 1000 zeny^000000.";
- next;
- mes "[Locas]";
- mes "As Phracon is the most popular metal, you can get it from monsters but also from Tadde at 200 zeny.";
- next;
+ mes("[Locas]");
+ mes("Refining of level 1 weapons requires ^3E86C3Phracon and 1000 zeny^000000.");
+ next();
+ mes("[Locas]");
+ mes("As Phracon is the most popular metal, you can get it from monsters but also from Tadde at 200 zeny.");
+ next();
continue;
case 2:
- mes "[Locas]";
- mes "Refining level 2 weapons requires ^3E86C3Emveretarcon and 20,000 zeny^000000.";
- next;
- mes "[Locas]";
- mes "Emveretarcon is also a relatively popular metal. You can get it either from monsters or from Tadde at 1000 zeny.";
- next;
+ mes("[Locas]");
+ mes("Refining level 2 weapons requires ^3E86C3Emveretarcon and 20,000 zeny^000000.");
+ next();
+ mes("[Locas]");
+ mes("Emveretarcon is also a relatively popular metal. You can get it either from monsters or from Tadde at 1000 zeny.");
+ next();
continue;
case 3:
- mes "[Locas]";
- mes "Refining of level 3 weapons requires ^3E86C3 Oridecon and 10,000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Oridecon is such a rare metal that I don't sell it... But,";
- next;
- mes "[Locas]";
- mes "If you have 5 Rough Oridecon obtainable from some monsters, you can refine them to make one Oridecon.";
- next;
+ mes("[Locas]");
+ mes("Refining of level 3 weapons requires ^3E86C3 Oridecon and 10,000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Oridecon is such a rare metal that I don't sell it... But,");
+ next();
+ mes("[Locas]");
+ mes("If you have 5 Rough Oridecon obtainable from some monsters, you can refine them to make one Oridecon.");
+ next();
continue;
case 4:
- mes "[Locas]";
- mes "Refining level 4 weapons requires ^3E86C3 Oridecon and 20,000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.";
- next;
+ mes("[Locas]");
+ mes("Refining level 4 weapons requires ^3E86C3 Oridecon and 20,000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.");
+ next();
continue;
case 5:
- mes "[Locas]";
- mes "Refining the Armor requires ^3E86C3Elunium and 20000 zeny.^000000.";
- next;
- mes "[Locas]";
- mes "Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.";
- next;
+ mes("[Locas]");
+ mes("Refining the Armor requires ^3E86C3Elunium and 20000 zeny.^000000.");
+ next();
+ mes("[Locas]");
+ mes("Elunium is as rare a metal as Oridecon, like Oridecon, if you bring me 5 Rough Elunium obtainable from some monsters, I will refine them to make a Elunium for you.");
+ next();
continue;
case 6:
- mes "[Locas]";
- mes "You look like you've had enough explanations about the refining prices.";
- next;
+ mes("[Locas]");
+ mes("You look like you've had enough explanations about the refining prices.");
+ next();
break;
}
break;
}
continue;
case 2:
- mes "[Locas]";
- mes "As I think it would be better for you to experience the effect of refining rather than explantion, I really give you a brief explanation about it.";
- next;
- mes "[Locas]";
- mes "Let's start from level 1 weapon.";
- next;
- mes "[Locas]";
- mes "1 level weapon has ^A20B09the attacking power increased 2^000000 by each +1 refining. Do you understand?";
- next;
+ mes("[Locas]");
+ mes("As I think it would be better for you to experience the effect of refining rather than explantion, I really give you a brief explanation about it.");
+ next();
+ mes("[Locas]");
+ mes("Let's start from level 1 weapon.");
+ next();
+ mes("[Locas]");
+ mes("1 level weapon has ^A20B09the attacking power increased 2^000000 by each +1 refining. Do you understand?");
+ next();
select("Well???");
- mes "[Locas]";
- mes "I thought my explanations to you were easy, but it wasn't...";
- next;
- mes "[Locas]";
- mes "So, if you refine a knife with 17 attacking power and by +1, it will become 19 attacking power.. Like this.";
- next;
- mes "[Locas]";
- mes "In fact, there is no need to talk too much here. You just experience it later.";
- next;
- mes "[Locas]";
- mes "Level 2 weapon will add ^A20B093^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Level 3 weapon will add ^A20B095^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Lastly, level 4 weapon will add ^A20B097^000000 to the attacking power per each refining level.";
- next;
- mes "[Locas]";
- mes "Ah, I missed the Armor. The Armor can be add ^A20B091^000000 to the defense power per each refining level.";
- next;
- mes "[Locas]";
- mes "Well, by now the explanations were only for the effect of the safe refining....";
- next;
- mes "[Locas]";
- mes "You would better learn yourself ^A20B09the effect of over refining^000000 regardless of potential risk.";
- next;
- mes "[Locas]";
- mes "If I tell you all the details, it is likely you start reading an epic novel of 10,000 pages, I'll tell you the ending of it.";
- next;
- mes "[Locas]";
- mes "One thing to be clear is you should be careful about destroying your equipment if you get over-eager.";
- next;
+ mes("[Locas]");
+ mes("I thought my explanations to you were easy, but it wasn't...");
+ next();
+ mes("[Locas]");
+ mes("So, if you refine a knife with 17 attacking power and by +1, it will become 19 attacking power.. Like this.");
+ next();
+ mes("[Locas]");
+ mes("In fact, there is no need to talk too much here. You just experience it later.");
+ next();
+ mes("[Locas]");
+ mes("Level 2 weapon will add ^A20B093^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Level 3 weapon will add ^A20B095^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Lastly, level 4 weapon will add ^A20B097^000000 to the attacking power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Ah, I missed the Armor. The Armor can be add ^A20B091^000000 to the defense power per each refining level.");
+ next();
+ mes("[Locas]");
+ mes("Well, by now the explanations were only for the effect of the safe refining....");
+ next();
+ mes("[Locas]");
+ mes("You would better learn yourself ^A20B09the effect of over refining^000000 regardless of potential risk.");
+ next();
+ mes("[Locas]");
+ mes("If I tell you all the details, it is likely you start reading an epic novel of 10,000 pages, I'll tell you the ending of it.");
+ next();
+ mes("[Locas]");
+ mes("One thing to be clear is you should be careful about destroying your equipment if you get over-eager.");
+ next();
continue;
case 3:
break;
}
break;
}
- mes "[Locas]";
- mes "Thank you for your listening to a long story. This is all I can explain you.";
- next;
- mes "[Locas]";
- mes "Regarding the levels of weapons and safety refining, consult with Mr. Tadde. He will kindly answer to you.";
- close;
+ mes("[Locas]");
+ mes("Thank you for your listening to a long story. This is all I can explain you.");
+ next();
+ mes("[Locas]");
+ mes("Regarding the levels of weapons and safety refining, consult with Mr. Tadde. He will kindly answer to you.");
+ close();
}
}
@@ -13424,360 +13603,360 @@ izlude_d,155,132,3 duplicate(Locas#iz) Locas#iz_d 4_M_02
// - Teaches the player about enchanting.
izlude,96,125,7 script Enchanter Mounds#iz 4_CAT_SAILOR2,{
if (!checkweight(Axe, 1)) {
- mes "- As you have too many items in your inventory, Quest can't be continued -";
- close;
+ mes("- As you have too many items in your inventory, Quest can't be continued -");
+ close();
}
- disable_items;
+ disable_items();
.@in_tutorial = questprogress(5157) + questprogress(5158) + questprogress(5159);
if (.@in_tutorial == 0) {
- mes "[Mounds]";
- mes "Welcome. Welcome to the enchant association. I am ^142CEB Mounds^000000- head of Izlude branch of the Enchant association.";
- next;
+ mes("[Mounds]");
+ mes("Welcome. Welcome to the enchant association. I am ^142CEB Mounds^000000- head of Izlude branch of the Enchant association.");
+ next();
select("Oh... a cat can speak???");
- mes "[Mounds]";
- mes "Have you never seen a talking cat?";
- next;
- mes "[Mounds]";
- mes "There is an island called ^FD4F02 Malangdo^000000 where only cats live and I am from there.";
- next;
- mes "[Mounds]";
- mes "There are cats like me who can speak the human language very well, but some cats speaking human and cat language are a mess.";
- next;
- mes "[Mounds]";
- mes "Well, that can be checked in Malangdo later are you interested in ^FD4F02Enchantments^000000?";
- next;
+ mes("[Mounds]");
+ mes("Have you never seen a talking cat?");
+ next();
+ mes("[Mounds]");
+ mes("There is an island called ^FD4F02 Malangdo^000000 where only cats live and I am from there.");
+ next();
+ mes("[Mounds]");
+ mes("There are cats like me who can speak the human language very well, but some cats speaking human and cat language are a mess.");
+ next();
+ mes("[Mounds]");
+ mes("Well, that can be checked in Malangdo later are you interested in ^FD4F02Enchantments^000000?");
+ next();
select("Enchant Association?");
- mes "[Mounds]";
- mes "The Enchant Association is the group made by those of us who can enchant.";
- next;
- mes "[Mounds]";
- mes "This association is composed of two divisions of ^FD4F02the socket enchant division^000000 and ^FD4F02 the hidden enchant division^000000.";
- next;
- mes "[Mounds]";
- mes "Maybe, are you curious about each division?";
- next;
- while(1) {
+ mes("[Mounds]");
+ mes("The Enchant Association is the group made by those of us who can enchant.");
+ next();
+ mes("[Mounds]");
+ mes("This association is composed of two divisions of ^FD4F02the socket enchant division^000000 and ^FD4F02 the hidden enchant division^000000.");
+ next();
+ mes("[Mounds]");
+ mes("Maybe, are you curious about each division?");
+ next();
+ while(true) {
switch(select("Socket Enchant?", "Hidden Enchant", "Question finished")) {
case 1:
- mes "[Mounds]";
- mes "You are curious about the socket enchant.. Here is the explantion.";
- next;
- mes "[Mounds]";
- mes "From unknown reason, There has been existing ^FD4F02card slots^000000 on the equipments obtainable from monsters.";
- next;
- mes "[Mounds]";
- mes "People started to question, 'Can we make a device to insert cards to these?'";
- next;
- mes "[Mounds]";
- mes "At last, one day a man called ^142CEBSeyablem^000000 showed up with the technology of socket enchant.";
- next;
- mes "[Mounds]";
- mes "Nobody knew how he got the technology....";
- next;
- mes "[Mounds]";
- mes "Someday later, a younger brother of Seyablem called ^142CEBLeyablem^000000 introduced a different device from his brother to socket enchant other equipments.";
- next;
- mes "[Mounds]";
- mes "Many people using the brothers' socket enchanting services, they stole the technology";
- next;
+ mes("[Mounds]");
+ mes("You are curious about the socket enchant.. Here is the explantion.");
+ next();
+ mes("[Mounds]");
+ mes("From unknown reason, There has been existing ^FD4F02card slots^000000 on the equipments obtainable from monsters.");
+ next();
+ mes("[Mounds]");
+ mes("People started to question, 'Can we make a device to insert cards to these?'");
+ next();
+ mes("[Mounds]");
+ mes("At last, one day a man called ^142CEBSeyablem^000000 showed up with the technology of socket enchant.");
+ next();
+ mes("[Mounds]");
+ mes("Nobody knew how he got the technology....");
+ next();
+ mes("[Mounds]");
+ mes("Someday later, a younger brother of Seyablem called ^142CEBLeyablem^000000 introduced a different device from his brother to socket enchant other equipments.");
+ next();
+ mes("[Mounds]");
+ mes("Many people using the brothers' socket enchanting services, they stole the technology");
+ next();
select("Ok seems simple enough...");
- mes "[Mounds]";
- mes "The brothers happened to join the enchant association. And from time to time, they teach the technology to us in Malangdo.";
- next;
- mes "[Mounds]";
- mes "Learning the technology diligently, some day will come when others can do socket enchants.";
- next;
- mes "[Mounds]";
- mes "Ah, my story went off topic.";
- next;
- mes "[Mounds]";
- mes "Well, conclusion is this, socket enchant means to add a card socket to the common equipment being sold at any shops.";
- next;
- mes "[Mounds]";
- mes "It is called socket enchant. Are you curious about the other division?";
- next;
+ mes("[Mounds]");
+ mes("The brothers happened to join the enchant association. And from time to time, they teach the technology to us in Malangdo.");
+ next();
+ mes("[Mounds]");
+ mes("Learning the technology diligently, some day will come when others can do socket enchants.");
+ next();
+ mes("[Mounds]");
+ mes("Ah, my story went off topic.");
+ next();
+ mes("[Mounds]");
+ mes("Well, conclusion is this, socket enchant means to add a card socket to the common equipment being sold at any shops.");
+ next();
+ mes("[Mounds]");
+ mes("It is called socket enchant. Are you curious about the other division?");
+ next();
break;
case 2:
- mes "[Mounds]";
- mes "Ah ! Are you curious about the hidden enchant?";
- next;
- mes "[Mounds]";
- mes "OK. First, I have to let you know how the hidden enchnat skill was born.";
- next;
- mes "[Mounds]";
- mes "The original inventor was looking for a way to unlock the 4th slot of a 3 slotted weapon.";
- next;
- mes "[Mounds]";
- mes "So he studied the technology to make use of the remaining slot.";
- next;
- mes "[Mounds]";
- mes "When the study was finally successful he taught it to his apprentices and was never heard from again.";
- next;
- mes "[Mounds]";
- mes "His technology reinforced the equipment with a gem that had special properties similar to monster cards.";
- next;
- mes "[Mounds]";
- mes "That technology has been developed and improved to make the current ^FD4F02 Enchant association ^000000";
- next;
- mes "[Mounds]";
- mes "Briefly speaking, to make a stronger equipment with a special enchantment is the hidden enchant.";
- next;
- mes "[Mounds]";
- mes "Are you curious about the other division?";
- next;
+ mes("[Mounds]");
+ mes("Ah ! Are you curious about the hidden enchant?");
+ next();
+ mes("[Mounds]");
+ mes("OK. First, I have to let you know how the hidden enchnat skill was born.");
+ next();
+ mes("[Mounds]");
+ mes("The original inventor was looking for a way to unlock the 4th slot of a 3 slotted weapon.");
+ next();
+ mes("[Mounds]");
+ mes("So he studied the technology to make use of the remaining slot.");
+ next();
+ mes("[Mounds]");
+ mes("When the study was finally successful he taught it to his apprentices and was never heard from again.");
+ next();
+ mes("[Mounds]");
+ mes("His technology reinforced the equipment with a gem that had special properties similar to monster cards.");
+ next();
+ mes("[Mounds]");
+ mes("That technology has been developed and improved to make the current ^FD4F02 Enchant association ^000000");
+ next();
+ mes("[Mounds]");
+ mes("Briefly speaking, to make a stronger equipment with a special enchantment is the hidden enchant.");
+ next();
+ mes("[Mounds]");
+ mes("Are you curious about the other division?");
+ next();
break;
case 3:
break;
}
break;
}
- mes "[Mounds]";
- mes "You don't have any further questions.";
- next;
- mes "[Mounds]";
- mes "Later, if you want to experience the hidden enchant or socket enchant, I will give you a hand.";
- next;
- setquest 5157;
- mes "[Mounds]";
- mes "Come to me anytime.";
- close;
+ mes("[Mounds]");
+ mes("You don't have any further questions.");
+ next();
+ mes("[Mounds]");
+ mes("Later, if you want to experience the hidden enchant or socket enchant, I will give you a hand.");
+ next();
+ setquest(5157);
+ mes("[Mounds]");
+ mes("Come to me anytime.");
+ close();
} else if (.@in_tutorial == 1) {
- mes "[Mounds]";
- mes "Welcome.. Ah, we've met before right?";
- next;
- mes "[Mounds]";
- mes "Are you coming to experience the hidden enchant or the socket enchant?";
- next;
- if(select("I am just passing by.", "Came to experience it.") == 1) {
- mes "[Mounds]";
- mes "You may be on the way to Prontera. Be careful and come back.";
- close;
- }
- mes "[Mounds]";
- mes "You want an experience.";
- next;
- mes "[Mounds]";
- mes "The experience course starts from the experience of the simple socket enchant.";
- next;
- mes "[Mounds]";
- mes "For this, you need material. Will you buy a cotton shirt at Izlude Armor shop?";
- next;
- setquest 5158;
- mes "[Mounds]";
- mes "When you bring the cotton shirt, we will immediately start ^FD4F02the socket enchnat experience^000000 course.";
- close;
+ mes("[Mounds]");
+ mes("Welcome.. Ah, we've met before right?");
+ next();
+ mes("[Mounds]");
+ mes("Are you coming to experience the hidden enchant or the socket enchant?");
+ next();
+ if (select("I am just passing by.", "Came to experience it.") == 1) {
+ mes("[Mounds]");
+ mes("You may be on the way to Prontera. Be careful and come back.");
+ close();
+ }
+ mes("[Mounds]");
+ mes("You want an experience.");
+ next();
+ mes("[Mounds]");
+ mes("The experience course starts from the experience of the simple socket enchant.");
+ next();
+ mes("[Mounds]");
+ mes("For this, you need material. Will you buy a cotton shirt at Izlude Armor shop?");
+ next();
+ setquest(5158);
+ mes("[Mounds]");
+ mes("When you bring the cotton shirt, we will immediately start ^FD4F02the socket enchnat experience^000000 course.");
+ close();
} else if (.@in_tutorial == 2) {
- mes "[Mounds]";
+ mes("[Mounds]");
if (countitem(Cotton_Shirt_) > 0) {
- mes "Oh this is a socketed shirt already!";
- next;
- mes "[Mounds]";
- mes "Bring us the normal shirt without holes.";
- close;
+ mes("Oh this is a socketed shirt already!");
+ next();
+ mes("[Mounds]");
+ mes("Bring us the normal shirt without holes.");
+ close();
} else if (countitem(Cotton_Shirt) > 0) {
- mes "It must be a plain cotton shirt.";
- next;
+ mes("It must be a plain cotton shirt.");
+ next();
} else {
- mes "When you bring the plain cotton shirt from the Armor shop, we will start the socket enchant experience.";
- close;
- }
- mes "[Mounds]";
- mes "Not like all other enchants, the socket enchant is being worked without items installed.";
- next;
- mes "[Mounds]";
- mes "Then, let's start the socket enchant.";
- next;
- mes "[Mounds]";
- mes "One!";
- next;
- mes "[Mounds]";
- mes "One! Two!";
- next;
- mes "[Mounds]";
- mes "One! Two! Three!";
- next;
- specialeffect2 EF_SANCTUARY;
- completequest 5158;
- delitem Cotton_Shirt, 1; // Cotton_Shirt
- getitem Cotton_Shirt_, 1; // Cotton_Shirt_
- mes "[Mounds]";
- mes "You have suceeded in socket enchant.";
- close;
+ mes("When you bring the plain cotton shirt from the Armor shop, we will start the socket enchant experience.");
+ close();
+ }
+ mes("[Mounds]");
+ mes("Not like all other enchants, the socket enchant is being worked without items installed.");
+ next();
+ mes("[Mounds]");
+ mes("Then, let's start the socket enchant.");
+ next();
+ mes("[Mounds]");
+ mes("One!");
+ next();
+ mes("[Mounds]");
+ mes("One! Two!");
+ next();
+ mes("[Mounds]");
+ mes("One! Two! Three!");
+ next();
+ specialeffect2(EF_SANCTUARY);
+ completequest(5158);
+ delitem(Cotton_Shirt, 1); // Cotton_Shirt
+ getitem(Cotton_Shirt_, 1); // Cotton_Shirt_
+ mes("[Mounds]");
+ mes("You have suceeded in socket enchant.");
+ close();
} else if (.@in_tutorial == 3) {
- mes "[Mounds]";
- mes "Have you checked the equipment? It now has an empty slot in it.";
- next;
- mes "[Mounds]";
- mes "But, like this time the success rate is not always ^FD4F02100%^000000 as you are still in the studying phase.";
- next;
- mes "[Mounds]";
- mes "Please keep in mind that there always risks of failure and if failed, the equipment will be broken.";
- next;
- mes "[Mounds]";
- mes "If you want to know more about the socket enchant, go and consult with Leyablem or Seyablem who are working at Prontera or Payon.";
- next;
+ mes("[Mounds]");
+ mes("Have you checked the equipment? It now has an empty slot in it.");
+ next();
+ mes("[Mounds]");
+ mes("But, like this time the success rate is not always ^FD4F02100%^000000 as you are still in the studying phase.");
+ next();
+ mes("[Mounds]");
+ mes("Please keep in mind that there always risks of failure and if failed, the equipment will be broken.");
+ next();
+ mes("[Mounds]");
+ mes("If you want to know more about the socket enchant, go and consult with Leyablem or Seyablem who are working at Prontera or Payon.");
+ next();
select("I see.");
- mes "[Mounds]";
- mes "Now it's time for your experiencing the hidden enchant.";
- next;
- mes "[Mounds]";
- mes "Equipped with the just socket enchanted cotton shirt, get the hidden enchant from";
- next;
- setquest 5159;
- mes "[Mounds]";
- mes "Almond J, the cat in charge with the hidden enchant over there.";
- close;
+ mes("[Mounds]");
+ mes("Now it's time for your experiencing the hidden enchant.");
+ next();
+ mes("[Mounds]");
+ mes("Equipped with the just socket enchanted cotton shirt, get the hidden enchant from");
+ next();
+ setquest(5159);
+ mes("[Mounds]");
+ mes("Almond J, the cat in charge with the hidden enchant over there.");
+ close();
} else if (.@in_tutorial == 4) {
- mes "[Mounds]";
- mes "Get the hidden enchant from Almond J with wearing the cotton shirt socket enchanted.";
- close;
+ mes("[Mounds]");
+ mes("Get the hidden enchant from Almond J with wearing the cotton shirt socket enchanted.");
+ close();
} else if (.@in_tutorial == 5) {
- mes "[Mounds]";
- mes "Eh? You came earlier than expected? I though it might take time after listening to all the explanations.";
- next;
+ mes("[Mounds]");
+ mes("Eh? You came earlier than expected? I though it might take time after listening to all the explanations.");
+ next();
select("Explain about the situation.");
- mes "[Mounds]";
- mes "Keuh~~ It happened....";
- next;
- mes "[Mounds]";
- mes "I should beware of you, when you were making a big noise to do the hidden enchant.";
- next;
- mes "[Mounds]";
- mes "Anyway, I am sorry.. Though it is short, I will make the explanation for you.";
- next;
- mes "[Mounds]";
- mes "Have you checked the hidden enchant?";
- next;
- if(select("Yes, I have.", "No. I haven't.") == 1) {
- mes "[Mounds]";
- mes "As you have checked it already, my explanation became easy.";
- next;
+ mes("[Mounds]");
+ mes("Keuh~~ It happened....");
+ next();
+ mes("[Mounds]");
+ mes("I should beware of you, when you were making a big noise to do the hidden enchant.");
+ next();
+ mes("[Mounds]");
+ mes("Anyway, I am sorry.. Though it is short, I will make the explanation for you.");
+ next();
+ mes("[Mounds]");
+ mes("Have you checked the hidden enchant?");
+ next();
+ if (select("Yes, I have.", "No. I haven't.") == 1) {
+ mes("[Mounds]");
+ mes("As you have checked it already, my explanation became easy.");
+ next();
} else {
- mes "[Mounds]";
- mes "Hmmm. Recommend you examine the condition of your cotton shirt, opening item window.";
- next;
- }
- mes "[Mounds]";
- mes "As you have checked it already, my explanation became easy.";
- next;
- mes "[Mounds]";
- mes "As I explained you just before, the hidden enchant is the work to insert to weapoon or Armor a gem with a special option into the equipment.";
- next;
- mes "[Mounds]";
- mes "As you know it, if you checked, you may notice something new was at the no. 3 and 4 slots at the bottom of item information window.";
- next;
- mes "[Mounds]";
- mes "Hidden enchant is being proceeded with the similar equipment worn as Almond J's.";
- next;
- mes "[Mounds]";
- mes "Of course, there are some other places to do the hidden enchants.";
- next;
- if(select("Satisfied.", "A little short.") == 1) {
- mes "[Mounds]";
- mes "It is fortunate. Do you have any experience to be added? If so, please write it to me.";
- next;
+ mes("[Mounds]");
+ mes("Hmmm. Recommend you examine the condition of your cotton shirt, opening item window.");
+ next();
+ }
+ mes("[Mounds]");
+ mes("As you have checked it already, my explanation became easy.");
+ next();
+ mes("[Mounds]");
+ mes("As I explained you just before, the hidden enchant is the work to insert to weapoon or Armor a gem with a special option into the equipment.");
+ next();
+ mes("[Mounds]");
+ mes("As you know it, if you checked, you may notice something new was at the no. 3 and 4 slots at the bottom of item information window.");
+ next();
+ mes("[Mounds]");
+ mes("Hidden enchant is being proceeded with the similar equipment worn as Almond J's.");
+ next();
+ mes("[Mounds]");
+ mes("Of course, there are some other places to do the hidden enchants.");
+ next();
+ if (select("Satisfied.", "A little short.") == 1) {
+ mes("[Mounds]");
+ mes("It is fortunate. Do you have any experience to be added? If so, please write it to me.");
+ next();
} else {
- mes "[Mounds]";
- mes "Experience seems not be satisfactory with you. Can you write me what was it?";
- next;
- mes "[Mounds]";
- mes "I will refer it for planning the next experience.";
- next;
- }
- input .@advice$;
- mes "[Mounds]";
- mes "Thank you for your valuable advice.";
- next;
- mes "[Mounds]";
- mes "Thank you for your patience listening to my boring explanation.";
- next;
- mes "[Mounds]";
- mes "This is a small gift hoping your continuous support for our enchant association.";
- next;
- completequest 5157;
+ mes("[Mounds]");
+ mes("Experience seems not be satisfactory with you. Can you write me what was it?");
+ next();
+ mes("[Mounds]");
+ mes("I will refer it for planning the next experience.");
+ next();
+ }
+ input(.@advice$);
+ mes("[Mounds]");
+ mes("Thank you for your valuable advice.");
+ next();
+ mes("[Mounds]");
+ mes("Thank you for your patience listening to my boring explanation.");
+ next();
+ mes("[Mounds]");
+ mes("This is a small gift hoping your continuous support for our enchant association.");
+ next();
+ completequest(5157);
if (Class == Job_Novice) {
- getexp 1200, 500;
- mes "Received the explanation about the enchants, some experience and Kafra storage free coupon.";
+ getexp(1200, 500);
+ mes("Received the explanation about the enchants, some experience and Kafra storage free coupon.");
} else {
- mes "Received the explanation and Kafra free storage coupon.";
+ mes("Received the explanation and Kafra free storage coupon.");
}
- getitem Cargo_Free_Ticket, 1; // Cargo_Free_Ticket
- next;
- mes "[Mounds]";
- mes "Then, I will see you later.";
- close;
+ getitem(Cargo_Free_Ticket, 1); // Cargo_Free_Ticket
+ next();
+ mes("[Mounds]");
+ mes("Then, I will see you later.");
+ close();
} else if (.@in_tutorial == 6) {
- mes "[Mounds]";
- mes "Welcome to the enchant association. I am Mounds - head of Izlude branch of Enchant association.";
- next;
- mes "[Mounds]";
- mes "Eh? Your appreance is familiar. Have we met before?";
- next;
- mes "[Mounds]";
- mes "As I can't remember all the people I met as they are too many, strangely you have a face not to forget.";
- next;
- mes "[Mounds]";
- mes "Perhaps, are you here to learn about enchanting? I will kindly explain you about it.";
- next;
- while(1) {
+ mes("[Mounds]");
+ mes("Welcome to the enchant association. I am Mounds - head of Izlude branch of Enchant association.");
+ next();
+ mes("[Mounds]");
+ mes("Eh? Your appreance is familiar. Have we met before?");
+ next();
+ mes("[Mounds]");
+ mes("As I can't remember all the people I met as they are too many, strangely you have a face not to forget.");
+ next();
+ mes("[Mounds]");
+ mes("Perhaps, are you here to learn about enchanting? I will kindly explain you about it.");
+ next();
+ while(true) {
switch(select("Socket enchant", "Hidden enchant", "Give regards", "No questions at all.")) {
case 1:
- mes "[Mounds]";
- mes "Socket enchant is the skill to make card slots appear in Weapon or Armor.";
- next;
- mes "[Mounds]";
- mes "When you meet the Seyablem and Leyablem brothers around the towns of Rune Midgard they can help you with this service.";
- next;
- mes "[Mounds]";
- mes "If they fail to put a new slot in your item say farewell to it...";
- next;
- mes "[Mounds]";
- mes "It's usually a good idea to have more than 1 item to add a slot to because it can fail a lot sometimes.";
- next;
+ mes("[Mounds]");
+ mes("Socket enchant is the skill to make card slots appear in Weapon or Armor.");
+ next();
+ mes("[Mounds]");
+ mes("When you meet the Seyablem and Leyablem brothers around the towns of Rune Midgard they can help you with this service.");
+ next();
+ mes("[Mounds]");
+ mes("If they fail to put a new slot in your item say farewell to it...");
+ next();
+ mes("[Mounds]");
+ mes("It's usually a good idea to have more than 1 item to add a slot to because it can fail a lot sometimes.");
+ next();
break;
case 2:
- mes "[Mounds]";
- mes "Hidden enchant means to put enchanted gems into the hidden slots of an item.";
- next;
- mes "[Mounds]";
- mes "You have to be wearing the item that is being enchanted as it uses the wearers fortune as the success rate.";
- next;
- mes "[Mounds]";
- mes "Many places are providing the various hidden enchant service in different ways, if you have time, please visit one of them.";
- next;
+ mes("[Mounds]");
+ mes("Hidden enchant means to put enchanted gems into the hidden slots of an item.");
+ next();
+ mes("[Mounds]");
+ mes("You have to be wearing the item that is being enchanted as it uses the wearers fortune as the success rate.");
+ next();
+ mes("[Mounds]");
+ mes("Many places are providing the various hidden enchant service in different ways, if you have time, please visit one of them.");
+ next();
break;
case 3:
- mes "[Mounds]";
- mes "News? Enchant association doesn't have a big issue going on.";
- next;
- mes "[Mounds]";
- mes "Ah!! I remember that Almond J sent with me from Izlude branch wanted to do advertising...";
- next;
- mes "[Mounds]";
- mes "He drafted the initiative for the free service of hidden enchant to the beginner's weapons. I approved it as it looked a good idea.";
- next;
- mes "[Mounds]";
- mes "What? If you have a beginners weapon, it may not hurt to try it.";
- next;
+ mes("[Mounds]");
+ mes("News? Enchant association doesn't have a big issue going on.");
+ next();
+ mes("[Mounds]");
+ mes("Ah!! I remember that Almond J sent with me from Izlude branch wanted to do advertising...");
+ next();
+ mes("[Mounds]");
+ mes("He drafted the initiative for the free service of hidden enchant to the beginner's weapons. I approved it as it looked a good idea.");
+ next();
+ mes("[Mounds]");
+ mes("What? If you have a beginners weapon, it may not hurt to try it.");
+ next();
break;
case 4:
- mes "[Mounds]";
- mes "Come to me whenever you have a question about the enchant association.";
- close;
+ mes("[Mounds]");
+ mes("Come to me whenever you have a question about the enchant association.");
+ close();
}
- mes "[Mounds]";
- mes "Any other questions?";
- next;
+ mes("[Mounds]");
+ mes("Any other questions?");
+ next();
}
} else {
- mes "[Mounds]";
- mes "Something strange must've happened. If this continues, please contact customer service.";
- close;
+ mes("[Mounds]");
+ mes("Something strange must've happened. If this continues, please contact customer service.");
+ close();
}
OnInit:
- //AddQuestInfo 5157 1 0
- //SetQuestLevel 5157 1 20
+ //Addquestinfo 5157 1 0
+ //setquestLevel 5157 1 20
end;
}
@@ -13790,142 +13969,142 @@ izlude_d,96,125,7 duplicate(Enchanter Mounds#iz) Enchanter Mounds#iz_d 4_CAT_SAI
// - Teaches the player about enchanting.
izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
if (!checkweight(Axe, 1)) {
- mes "- As you have too many items in your inventory, Quest can't be continued -";
- close;
+ mes("- As you have too many items in your inventory, Quest can't be continued -");
+ close();
}
- disable_items;
+ disable_items();
.@in_tutorial = (questprogress(5157) + questprogress(5158) + questprogress(5159));
if (.@in_tutorial < 4) {
- mes "[Almond J]";
- mes "Hello, I am Almon J of the enchant association.~";
- next;
- mes "[Almond J]";
- mes "If you have anything to do with the enchant association, please consult with Mounds inside.";
- close2;
+ mes("[Almond J]");
+ mes("Hello, I am Almon J of the enchant association.~");
+ next();
+ mes("[Almond J]");
+ mes("If you have anything to do with the enchant association, please consult with Mounds inside.");
+ close2();
enable_items;
end;
} else if (.@in_tutorial == 4) {
.@equip = getequipid(EQI_ARMOR);
.@part = EQI_ARMOR;
- mes "[Almond J]";
- mes "Welcome.. I have been waiting for you. Are you coming for the hidden enchant service on your cotton shirt?";
- next;
- if(select("Ench? Whatis?", "Yes.") == 1) {
- mes "[Almond J]";
- mes "Eummm?";
- next;
- mes "[Almond J]";
- mes "What happened?";
- close;
- }
- mes "[Almond J]";
- mes "Oh... finally you came...";
- next;
- mes "[Almond J]";
- mes "Has your ^142cebCotton Shirt[1]^000000 been equipped? Shall we start now? Ready?";
- next;
+ mes("[Almond J]");
+ mes("Welcome.. I have been waiting for you. Are you coming for the hidden enchant service on your cotton shirt?");
+ next();
+ if (select("Ench? Whatis?", "Yes.") == 1) {
+ mes("[Almond J]");
+ mes("Eummm?");
+ next();
+ mes("[Almond J]");
+ mes("What happened?");
+ close();
+ }
+ mes("[Almond J]");
+ mes("Oh... finally you came...");
+ next();
+ mes("[Almond J]");
+ mes("Has your ^142cebCotton Shirt[1]^000000 been equipped? Shall we start now? Ready?");
+ next();
select("You look excited.");
- mes "[Almond J]";
- mes "Heh... is that so? Frankly, it is my first time... I am really excited.";
- next;
- mes "[Almond J]";
- mes "Are you ready? Yes? Do it now. Now!!";
- next;
- if(select("Hidden enchant start!!", "Wait for a while.") == 2) {
- mes "[Almond J]";
- mes "Heh? Eh? Hik?! Come here quick.";
- close2;
+ mes("[Almond J]");
+ mes("Heh... is that so? Frankly, it is my first time... I am really excited.");
+ next();
+ mes("[Almond J]");
+ mes("Are you ready? Yes? Do it now. Now!!");
+ next();
+ if (select("Hidden enchant start!!", "Wait for a while.") == 2) {
+ mes("[Almond J]");
+ mes("Heh? Eh? Hik?! Come here quick.");
+ close2();
enable_items;
end;
}
if (!.@equip) {
- mes "[Almond J]";
- mes "Please come back after you have equipped the Cotton Shirt.";
- close2;
+ mes("[Almond J]");
+ mes("Please come back after you have equipped the Cotton Shirt.");
+ close2();
enable_items;
end;
}
if (getequipid(EQI_ARMOR) == Cotton_Shirt_) {
.@refineCount = getequiprefinerycnt(EQI_ARMOR);
} else {
- mes "[Almond J]";
- mes "Hing, it is not a normal Cotton Shirt.";
- close2;
+ mes("[Almond J]");
+ mes("Hing, it is not a normal Cotton Shirt.");
+ close2();
enable_items;
end;
}
- mes "[Almond J]";
- mes "Now!! Start the first hidden enchant!! Start!!!!!";
- next;
- specialeffect2 EF_REPAIRWEAPON;
+ mes("[Almond J]");
+ mes("Now!! Start the first hidden enchant!! Start!!!!!");
+ next();
+ specialeffect2(EF_REPAIRWEAPON);
progressbar "ffff00", 2;
- completequest 5159;
+ completequest(5159);
delequip .@part;
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
- getitem2 2302,1,1,.@refineCount,0,.@equip_card[0],.@equip_card[1],SP50,HP100; // Cotton_Shirt_
- mes "[Almond J]";
- mes "Zzazanzn!! Completed!!";
- next;
+ getitem2(2302,1,1,.@refineCount,0,.@equip_card[0],.@equip_card[1],SP50,HP100); // Cotton_Shirt_
+ mes("[Almond J]");
+ mes("Zzazanzn!! Completed!!");
+ next();
select("Wow, that was quick.");
- mes "[Almond J]";
- mes "How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?";
- next;
- mes "[Almond J]";
- mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
- next;
- mes "Gradually you are getting into your own world. You better go back to Mounds.";
- close2;
+ mes("[Almond J]");
+ mes("How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?");
+ next();
+ mes("[Almond J]");
+ mes("It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.");
+ next();
+ mes("Gradually you are getting into your own world. You better go back to Mounds.");
+ close2();
enable_items;
end;
} else if (.@in_tutorial == 5) {
- mes "[Almond J]";
- mes "How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?";
- next;
- mes "[Almond J]";
- mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
- next;
- mes "Gradually you are getting into your own world. You better go back to Mounds.";
- close2;
+ mes("[Almond J]");
+ mes("How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?");
+ next();
+ mes("[Almond J]");
+ mes("It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.");
+ next();
+ mes("Gradually you are getting into your own world. You better go back to Mounds.");
+ close2();
enable_items;
end;
} else if (.@in_tutorial == 6) {
- mes "[Almond J]";
- mes "Heh heh... how are you? I am doing a ^142CEB service of free hidden enchant for the beginner's weapon to advertise the enchant association.^000000.";
- next;
+ mes("[Almond J]");
+ mes("Heh heh... how are you? I am doing a ^142CEB service of free hidden enchant for the beginner's weapon to advertise the enchant association.^000000.");
+ next();
} else {
- mes "[Almond J]";
- mes "Something strange must've happened. If this continues, please contact customer service.";
- close2;
+ mes("[Almond J]");
+ mes("Something strange must've happened. If this continues, please contact customer service.");
+ close2();
enable_items;
end;
}
- mes "[Almond J]";
- mes "As you are still a beginner, you don't have a very, very, very functional jewelry, but soon you will have.";
- next;
- mes "[Almond J]";
- mes "How about it? Will you try the hidden enchant for the beginner's weapon free of charge?";
- next;
+ mes("[Almond J]");
+ mes("As you are still a beginner, you don't have a very, very, very functional jewelry, but soon you will have.");
+ next();
+ mes("[Almond J]");
+ mes("How about it? Will you try the hidden enchant for the beginner's weapon free of charge?");
+ next();
switch(select("Hidden enchant start!!", "What weapons are you enchanting?", "Just passing by.")) {
case 1:
break;
case 2:
- mes "[Almond J]";
- mes "Ah!! Weapons? Hehehe.. I didn't explain it to you enough.";
- next;
- mes "[Almond J]";
- mes "The weapon to be serviced with the free hidden enchant has the ^FD4F02Novice^000000 name in front of the weapon.";
- next;
- mes "[Almond J]";
- mes "^FD4F02For Novices-";
- mes "Cutter, Mace, Rod, Axe, Etc.";
- close2;
+ mes("[Almond J]");
+ mes("Ah!! Weapons? Hehehe.. I didn't explain it to you enough.");
+ next();
+ mes("[Almond J]");
+ mes("The weapon to be serviced with the free hidden enchant has the ^FD4F02Novice^000000 name in front of the weapon.");
+ next();
+ mes("[Almond J]");
+ mes("^FD4F02For Novices-");
+ mes("Cutter, Mace, Rod, Axe, Etc.");
+ close2();
enable_items;
end;
case 3:
- mes "[Almond J]";
- mes "Ye?!?!?!?!?!";
- mes "Where are you going? You should do the hidden enchant before going.";
- close2;
+ mes("[Almond J]");
+ mes("Ye?!?!?!?!?!");
+ mes("Where are you going? You should do the hidden enchant before going.");
+ close2();
enable_items;
end;
}
@@ -13936,20 +14115,20 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (!.@equip) {
- mes "[Almond J]";
- mes "Hehehe... hidden enchant makes me excited. But you should come back with your weapon armed.";
- close2;
+ mes("[Almond J]");
+ mes("Hehehe... hidden enchant makes me excited. But you should come back with your weapon armed.");
+ close2();
enable_items;
end;
}
- mes "[Almond J]";
+ mes("[Almond J]");
switch(.@equip) {
case 1243: // Novice_Knife
- mes "It is!! ^142ceb the Novice Knife^000000.";
- next;
- mes "[Almond J]";
- mes "But this weapon might be strange to add a hidden enchant? Sorry.";
- close2;
+ mes("It is!! ^142ceb the Novice Knife^000000.");
+ next();
+ mes("[Almond J]");
+ mes("But this weapon might be strange to add a hidden enchant? Sorry.");
+ close2();
enable_items;
end;
case 1381: // N_Battle_Axe
@@ -13964,12 +14143,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
case 13182: // Novice_Gatling
case 13183: // Novice_Grenade_Launcher
case 13415: // N_Falchion
- mes "It is!! The ^142ceb"+ getequipname(EQI_HAND_R) +"^000000.";
- next;
+ mes("It is!! The ^142ceb"+ getequipname(EQI_HAND_R) +"^000000.");
+ next();
break;
default:
- mes "Ehee.. It is not a Novice Weapon. Leaving this expensive weapon to us and if broken... I'm not taking that chance.";
- close2;
+ mes("Ehee.. It is not a Novice Weapon. Leaving this expensive weapon to us and if broken... I'm not taking that chance.");
+ close2();
enable_items;
end;
}
@@ -13987,17 +14166,17 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
else
.@enchant2 = .@enchantments[.@enchant2];
- mes "[Almond J]";
- mes "It is a good weapon Then!! Let's start the hidden enchant!!";
- next;
- specialeffect2 EF_REPAIRWEAPON;
+ mes("[Almond J]");
+ mes("It is a good weapon Then!! Let's start the hidden enchant!!");
+ next();
+ specialeffect2(EF_REPAIRWEAPON);
progressbar "ffff00", 3;
delequip .@part;
- getitem2 .@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2;
- mes "[Almond J]";
- mes "Zzazanzn!! Completed!!";
- mes "As I'm too excited, I can't check the options. Please check it yourself.";
- close2;
+ getitem2(.@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2);
+ mes("[Almond J]");
+ mes("Zzazanzn!! Completed!!");
+ mes("As I'm too excited, I can't check the options. Please check it yourself.");
+ close2();
enable_items;
end;
}
@@ -14009,61 +14188,61 @@ izlude_d,108,139,7 duplicate(Enchanter Almond J#iz) Enchanter Almond J#iz_d 4_CA
//== Repair Man ============================================
izlude,158,130,4 script Repair Man#iz 4_M_04,{
- mes "[Repair Man]";
- mes "Repairing broken equipment!! If you have broken equipment, bring it to me anytime.";
- next;
+ mes("[Repair Man]");
+ mes("Repairing broken equipment!! If you have broken equipment, bring it to me anytime.");
+ next();
switch(select("Repair it.", "Nothing to be repaired now.", "What is repairing?")) {
case 1:
.@broken = getbrokencount();
if (!.@broken) {
- mes "[Repair Man]";
- mes "You must treat your equipment carefully... as you don't have anything to be repaired.";
- close;
+ mes("[Repair Man]");
+ mes("You must treat your equipment carefully... as you don't have anything to be repaired.");
+ close();
}
.@cost = 5000 * .@broken;
- mes "[Repair Man]";
- mes "Hmmm... let's see... oh.. hmm...";
- next;
- mes "[Repair Man]";
- mes "------------------------";
- mes "Damaged Equipment Estimate";
- mes "Damaged Equipment: ^FF0000"+ .@broken +"?000000";
- mes "Fee: ^0000FF"+ .@cost +" Zeny^000000";
- mes "------------------------";
- mes "Would you like to proceed with the repair?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Repair Man]";
- mes "Well, I don't care. After all, it's not my equipment. However, leaving equipment unchecked is not a wise choice.";
- close;
+ mes("[Repair Man]");
+ mes("Hmmm... let's see... oh.. hmm...");
+ next();
+ mes("[Repair Man]");
+ mes("------------------------");
+ mes("Damaged Equipment Estimate");
+ mesf("Damaged Equipment: ^FF0000%d000000", .@broken);
+ mesf("Fee: ^0000FF%d Zeny^000000", .@cost);
+ mes("------------------------");
+ mes("Would you like to proceed with the repair?");
+ next();
+ if (select("Yes", "No") == 2) {
+ mes("[Repair Man]");
+ mes("Well, I don't care. After all, it's not my equipment. However, leaving equipment unchecked is not a wise choice.");
+ close();
}
if (Zeny < .@cost) {
- mes "[Repair Man]";
- mes "The repair cost is 5000 Zeny per damaged equipment. You do not have enough money.";
- close;
+ mes("[Repair Man]");
+ mes("The repair cost is 5000 Zeny per damaged equipment. You do not have enough money.");
+ close();
}
Zeny -= .@cost;
repairall;
- mes "[Repair Man]";
- mes "The repair has been completed. Be sure to take good care of your equipment.";
- close;
+ mes("[Repair Man]");
+ mes("The repair has been completed. Be sure to take good care of your equipment.");
+ close();
case 2:
- mes "[Repair Man]";
- mes "If you don't have any equipment to be repaired, you may not have something to talk with me about.";
- close;
+ mes("[Repair Man]");
+ mes("If you don't have any equipment to be repaired, you may not have something to talk with me about.");
+ close();
case 3:
- mes "[Repair Man]";
- mes "A specific skill or boss monster could break your equipment frequently.";
- next;
- mes "[Repair Man]";
- mes "This doesn't mean that your equipment is gone forever like what happens during refining.";
- next;
- mes "[Repair Man]";
- mes "When your item breaks this way, they won't perform normally...";
- next;
- mes "[Repair Man]";
- mes "In this case, bring it to me, and I will repair it back to new at the cost of 5000 zeny for each equipment.";
- close;
+ mes("[Repair Man]");
+ mes("A specific skill or boss monster could break your equipment frequently.");
+ next();
+ mes("[Repair Man]");
+ mes("This doesn't mean that your equipment is gone forever like what happens during refining.");
+ next();
+ mes("[Repair Man]");
+ mes("When your item breaks this way, they won't perform normally...");
+ next();
+ mes("[Repair Man]");
+ mes("In this case, bring it to me, and I will repair it back to new at the cost of 5000 zeny for each equipment.");
+ close();
}
}
@@ -14075,11 +14254,11 @@ izlude_d,158,130,4 duplicate(Repair Man#iz) Repair Man#iz_d 4_M_04
//== Old Novice Training Grounds ===========================
// - These NPCs will teleport any stuck player to the new starting area.
new_1-1,53,114,3 script Training Instructor#1a 4_F_03,{
- mes "[Training Instructor]";
- mes "The training grounds have been revised.";
- mes "I will send you to Izlude.";
- close2;
- erasequest 7117, 7127;
+ mes("[Training Instructor]");
+ mes("The training grounds have been revised.");
+ mes("I will send you to Izlude.");
+ close2();
+ erasequest(7117, 7127);
if (strnpcinfo(NPC_MAP) == "new_1-1" || strnpcinfo(NPC_MAP) == "new_1-2" || strnpcinfo(NPC_MAP) == "new_1-3" || strnpcinfo(NPC_MAP) == "new_1-4") {
.@warp$ = "iz_int";
} else if (strnpcinfo(NPC_MAP) == "new_2-1" || strnpcinfo(NPC_MAP) == "new_2-2" || strnpcinfo(NPC_MAP) == "new_2-3" || strnpcinfo(NPC_MAP) == "new_2-4") {
@@ -14091,8 +14270,8 @@ new_1-1,53,114,3 script Training Instructor#1a 4_F_03,{
} else if (strnpcinfo(NPC_MAP) == "new_5-1" || strnpcinfo(NPC_MAP) == "new_5-2" || strnpcinfo(NPC_MAP) == "new_5-3" || strnpcinfo(NPC_MAP) == "new_5-4") {
.@warp$ = "iz_int04";
}
- savepoint .@warp$, 98, 88;
- warp .@warp$, 98, 88;
+ savepoint(.@warp$, 98, 88);
+ warp(.@warp$, 98, 88);
end;
}
diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt
index a20bb81f8..6ac0d9935 100644
--- a/npc/re/jobs/novice/novice.txt
+++ b/npc/re/jobs/novice/novice.txt
@@ -445,7 +445,7 @@ new_5-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv5b 4_F_01
mes "You've come along fine this far.";
mes "This is not much, but take this as a reward.";
job_novice_q = 7;
- getitem N_Adventurer's_Suit,1;
+ getitem N_Adventurers_Suit,1;
completequest 7120;
close;
} else if (job_novice_q == 7) {
@@ -2609,14 +2609,14 @@ L_Supplies:
nov_3_swordman = 40;
getitem Cargo_Free_Ticket,20;
getitem Warp_Free_Ticket,30;
- getitem N_Adventurer's_Suit,1;
+ getitem N_Adventurers_Suit,1;
getitem N_Cutter,1;
next;
mes "[Hanson]";
mes "You will now";
mes "be teleported.";
mes "Good luck,";
- mes "^A62A2A"+strcharinfo(0)+"^000000";
+ mes "^A62A2A"+strcharinfo(PC_NAME)+"^000000";
mes "and farewell.";
close2;
return;
@@ -2691,7 +2691,7 @@ new_5-4,100,29,1 duplicate(NvHanson) Final Tester#nv5 1_ETC_01
case 2:
mes "[Lark]";
mes "I will ask you a few simple questions.";
- mes "Through this test, we will check "+strcharinfo(0)+"'s personality and propensity so that we can find the most appropriate job for you.";
+ mes "Through this test, we will check "+strcharinfo(PC_NAME)+"'s personality and propensity so that we can find the most appropriate job for you.";
next;
mes "[Lark]";
mes "There are 3 different types of tests and a total of 30 questions.";
@@ -3312,7 +3312,7 @@ new_5-4,100,29,1 duplicate(NvHanson) Final Tester#nv5 1_ETC_01
break;
}
callfunc "F_NvErase",1;
- .@str$ = "^A62A2A'"+strcharinfo(0)+"^000000'! Take care and may Freya bless you on your journey.";
+ .@str$ = "^A62A2A'"+strcharinfo(PC_NAME)+"^000000'! Take care and may Freya bless you on your journey.";
switch(.@who_job) {
case 1:
mes "[Lark]";
diff --git a/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt
index 56d70a140..04c9395c1 100644
--- a/npc/re/jobs/novice/supernovice_ex.txt
+++ b/npc/re/jobs/novice/supernovice_ex.txt
@@ -160,7 +160,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
mes "Too ~ hard. Hey, little kid!";
mes "What's your name?";
next;
- select(strcharinfo(0)+", how about you?");
+ select(strcharinfo(PC_NAME)+", how about you?");
mes "[Nodor]";
mes "My name is Nodor! Nodor.";
next;
@@ -288,7 +288,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
close;
}
else if (questprogress(5094) || questprogress(5095) || questprogress(5096) || questprogress(5097)) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey, Nodor!";
next;
emotion e_omg;
@@ -363,7 +363,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
next;
}
else {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Tsk*... Ok...";
next;
}
@@ -390,7 +390,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
next;
changequest 5098,5099;
mes "[Nodor]";
- mes "Hey- Super Novice "+strcharinfo(0)+"!";
+ mes "Hey- Super Novice "+strcharinfo(PC_NAME)+"!";
next;
mes "[Nodor]";
mes "You can give some to my bro. He's up in the airship.";
@@ -588,7 +588,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
next;
specialeffect2 EF_RECOVERY;
mes "[Nodor]";
- mes "Let Super Novice "+strcharinfo(0)+" be blessed with the Super Novice Guardian!";
+ mes "Let Super Novice "+strcharinfo(PC_NAME)+" be blessed with the Super Novice Guardian!";
EXSUPNOV_Q = 6;
close;
}
@@ -697,7 +697,7 @@ airplane,33,47,5 script Nudor#sp2 4_F_NOVICE,{
next;
mes "[Nudor]";
mes "Ooooops!";
- mes strcharinfo(0)+", hush --- !!";
+ mes strcharinfo(PC_NAME)+", hush --- !!";
next;
mes "[Nudor]";
mes "Don't tell Nodor about this~~";
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index b714dd71d..be9f1dbee 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -1129,7 +1129,7 @@ ecl_in01,67,39,4 script Replication Expert Paltu 4_M_FAIRYKID4,{
Assassin_Mask_,
Elven_Ears,
Hahoe_Mask,
- Boy's_Cap;
+ Boys_Cap;
setarray .@costumes[0], C_Frog_Cap,
C_Centimental_Flower,
C_Magestic_Goat,
@@ -1139,7 +1139,7 @@ ecl_in01,67,39,4 script Replication Expert Paltu 4_M_FAIRYKID4,{
C_Assassin_Mask_,
C_Elven_Ears,
C_Hahoe_Mask,
- C_Boy's_Cap;
+ C_Boys_Cap;
if ((countitem(Splendide_Coin) >= 50) && (countitem(Crystal_Mirror) >= 4) && countitem(Angel_Magic_Power) && (countitem(Azure_Jewel) >= 10) && (countitem(Cardinal_Jewel) >= 10) && (countitem(Blue_Jewel) >= 10) && (countitem(Golden_Jewel) >= 10) && (countitem(Bluish_Green_Jewel) >= 10))
.@item_check =1;
diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt
index 9d1108875..665af5e6a 100644
--- a/npc/re/merchants/diamond.txt
+++ b/npc/re/merchants/diamond.txt
@@ -122,14 +122,14 @@
mes .@npc$;
mes "What is your name?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "My name is " + strcharinfo(0) + ".";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "My name is " + strcharinfo(PC_NAME) + ".";
next;
mes .@npc$;
mes "Alright then, please sign here.";
next;
input .@charname$;
- if (.@charname$ == strcharinfo(0)) {
+ if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Okay, good.";
mes "All that is left now is payment.";
@@ -190,8 +190,8 @@
mes .@npc$;
mes "What is your name?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "My name is " + strcharinfo(0) + ".";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "My name is " + strcharinfo(PC_NAME) + ".";
next;
mes .@npc$;
mes "Alright then, please sign here.";
@@ -203,7 +203,7 @@
close;
}
input .@charname$;
- if (.@charname$ == strcharinfo(0)) {
+ if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Your signature has been received.";
mes "I will now take your ^FF82FF'17 Carat Diamond'^000000..";
diff --git a/npc/re/merchants/enchan_mal.txt b/npc/re/merchants/enchan_mal.txt
index 7be4eaa6f..864505b85 100644
--- a/npc/re/merchants/enchan_mal.txt
+++ b/npc/re/merchants/enchan_mal.txt
@@ -93,7 +93,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1224: callsub L_Socket,1,2; //Sword_Breaker
case 1225: callsub L_Socket,1,2; //Mail_Breaker
case 1227: callsub L_Socket,1,2; //Weeder_Knife
- case 1229: callsub L_Socket,1,2; //Mama's_Knife
+ case 1229: callsub L_Socket,1,2; //Mamas_Knife
case 1232: callsub L_Socket,1,2; //Assasin_Dagger
case 1233: callsub L_Socket,1,2; //Exercise
case 1235: callsub L_Socket,1,2; //Azoth
@@ -212,7 +212,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1466: callsub L_Socket,1,2; //Crescent_Scythe
case 1467: callsub L_Socket,1,2; //Bill_Guisarme
case 1468: callsub L_Socket,1,2; //Zephyrus
- case 1469: callsub L_Socket,1,2; //Longinus's_Spear
+ case 1469: callsub L_Socket,1,2; //Longinuss_Spear
case 1470: callsub L_Socket,1,2; //Brionac
case 1471: callsub L_Socket,1,2; //Hell_Fire
case 1474: callsub L_Socket,1,2; //Gae_Bolg
@@ -264,7 +264,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 15: // Books
switch(@mal_equip_id) {
case 1557: callsub L_Socket,1,2; //Book_Of_The_Apocalypse
- case 1558: callsub L_Socket,1,2; //Girl's_Diary
+ case 1558: callsub L_Socket,1,2; //Girls_Diary
case 1559: callsub L_Socket,1,2; //Legacy_Of_Dragon
case 1561: callsub L_Socket,1,2; //Hardback
case 1562: callsub L_Socket,1,2; //Bible_Of_Battlefield
@@ -311,11 +311,11 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1963: callsub L_Socket,1,2; //Rapture_Rose
case 1964: callsub L_Socket,1,2; //Chemeti
case 1969: callsub L_Socket,1,2; //Bladed_Whip
- case 1970: callsub L_Socket,1,2; //Queen's_Whip
+ case 1970: callsub L_Socket,1,2; //Queens_Whip
case 1972: callsub L_Socket,1,2; //Electric_Eel
case 1973: callsub L_Socket,1,2; //Sea_Witch_Foot
case 1974: callsub L_Socket,1,2; //Carrot_Whip
- case 1976: callsub L_Socket,1,2; //Queen's_Whip_
+ case 1976: callsub L_Socket,1,2; //Queens_Whip_
case 1979: callsub L_Socket,1,2; //Stem_Of_Nepenthes
case 1984: callsub L_Socket,2,2; //Stem_Whip
case 1985: callsub L_Socket,4,2; //Rosebine
diff --git a/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt
index 6732035dc..98fd3789c 100644
--- a/npc/re/merchants/flute.txt
+++ b/npc/re/merchants/flute.txt
@@ -110,7 +110,7 @@ pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 1_M_BARD
tur_dun01,89,170,5 script Expert Flute Crafter 1_M_ORIENT01,{
if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) {
- if (countitem(Wolf's_Flute)) {
+ if (countitem(Wolfs_Flute)) {
mes "[Expert Flute Crafter]";
mes "The Wolf Flute you have is crafted by myself, with wood.";
mes "You can come back here and find me if you lose your Wolf flute!";
@@ -137,7 +137,7 @@ tur_dun01,89,170,5 script Expert Flute Crafter 1_M_ORIENT01,{
mes "Hope you are ready to use it.";
delitem Bamboo_Cut,1;
Zeny -= 100000;
- getitem Wolf's_Flute,1;
+ getitem Wolfs_Flute,1;
close;
}
mes "[Expert Flute Crafter]";
diff --git a/npc/re/merchants/shops.txt b/npc/re/merchants/shops.txt
index 54155e8c4..543d9cdc7 100644
--- a/npc/re/merchants/shops.txt
+++ b/npc/re/merchants/shops.txt
@@ -547,42 +547,42 @@ OnInit:
prontera,92,209,4 trader Rebellion Weapon Vending 2_VENDING_MACHINE1,{
OnInit:
- sellitem Heaven's_Feather_and_Hell's_Fire;
- sellitem Altea_and_Ares;
- sellitem Color_Scope;
+ sellitem H_FEATHER_H_FIRE;
+ sellitem ALTAIR_ARES;
+ sellitem COLORSCOPE;
sellitem RAG203;
- sellitem Death_Fire;
- sellitem Rolling_Thunder;
- sellitem Peace_Breaker;
- sellitem Mini_Mei;
- sellitem Tempest;
- sellitem End_Of_The_Horizon;
- sellitem South_Cross;
+ sellitem DEATHFIRE;
+ sellitem R_THUNDER;
+ sellitem P_BREAKER;
+ sellitem MINIMAY;
+ sellitem TEMPEST;
+ sellitem END_OF_HORIZON;
+ sellitem Southern_Cross_R;
}
prontera,96,209,4 trader Rebellion Prop Vending 2_VENDING_MACHINE1,{
OnInit:
- sellitem Slug_Ammunition_L;
- sellitem Slug_Ammunition_M;
- sellitem Slug_Ammunition_H;
- sellitem Full_Metal_Jacket;
- sellitem Projection_Landmines;
+ sellitem Slug_Bullet_1;
+ sellitem Slug_Bullet_2;
+ sellitem Slug_Bullet_3;
+ sellitem Fullmetal_Jacket_Bullet;
+ sellitem Mine_Projectile;
sellitem Dragon_Tail_Missile;
sellitem Special_Alloy_Trap;
sellitem Bullet;
sellitem Silver_Bullet_;
sellitem Shell_Of_Blood_;
- sellitem Armor_Piercing_Bullet;
- sellitem Blazing_Bullet;
+ sellitem AP_Ammo;
+ sellitem Blaze_Bullet;
sellitem Freezing_Bullet;
- sellitem Lightning_Bullet;
- sellitem Magic_Stone_Bullet;
- sellitem Purifying_Bullet;
- sellitem Incendiary_Grenade;
- sellitem Lightning_Grenade;
- sellitem Poison_Grenade;
- sellitem Flash_Grenade;
- sellitem Cyro_Grenade;
+ sellitem Electric_Shock_Bullet;
+ sellitem Magical_Stone_Bullet;
+ sellitem Sanctified_Bullet;
+ sellitem Flare_Sphere_;
+ sellitem Lighting_Sphere_;
+ sellitem Poison_Sphere_;
+ sellitem Blind_Sphere_;
+ sellitem Freezing_Sphere_;
}
//== Morroc ===============================================
@@ -712,16 +712,16 @@ OnInit:
morocc,171,103,4 trader Item Collector#moc3 4_M_03,{
OnInit:
sellitem Scell;
- sellitem Monster's_Feed;
- sellitem Animal's_Skin;
+ sellitem Monsters_Feed;
+ sellitem Animals_Skin;
sellitem Bill_Of_Birds;
}
morocc,205,247,2 trader Item Collector#moc4 4_M_03,{
OnInit:
sellitem Scell;
- sellitem Monster's_Feed;
- sellitem Animal's_Skin;
+ sellitem Monsters_Feed;
+ sellitem Animals_Skin;
sellitem Bill_Of_Birds;
}
diff --git a/npc/re/merchants/ticket_refiner.txt b/npc/re/merchants/ticket_refiner.txt
index 7d5aeffe7..5b69fbc38 100644
--- a/npc/re/merchants/ticket_refiner.txt
+++ b/npc/re/merchants/ticket_refiner.txt
@@ -174,7 +174,7 @@ prontera,184,177,6 script Refine Master 4_M_REPAIR,{
emotion e_ho;
mes "[Refine Master]";
mes "Alright, here it is~";
- mes "Well, ^0000FF"+strcharinfo(0)+"^000000!";
+ mes "Well, ^0000FF"+strcharinfo(PC_NAME)+"^000000!";
mes "Congratulations on your shining "+.@type$+".";
mes "You look GREAT!";
mes "Farewell~!";
diff --git a/npc/re/mobs/int_land.txt b/npc/re/mobs/int_land.txt
new file mode 100644
index 000000000..f204b1cb4
--- /dev/null
+++ b/npc/re/mobs/int_land.txt
@@ -0,0 +1,33 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) Ridley
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Beginner Area (int_land) monster spawn (Renewal)
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+int_land,0,0,0,0 monster Poring 1002,25,0,0,0
diff --git a/npc/re/other/dimensional_gap.txt b/npc/re/other/dimensional_gap.txt
new file mode 100644
index 000000000..b303f14b7
--- /dev/null
+++ b/npc/re/other/dimensional_gap.txt
@@ -0,0 +1,550 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) 2016 Ridley
+//= Copyright (C) 2016 Nova
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Dimensional Gap NPCs
+//================= Description ===========================================
+//= The Dimensional Gap, or Dimensional Crack, is an opening into the
+//= vacuum of time and space that separates dimensions.
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+mid_camp,207,290,6 script Expedition Guide#01 4_M_EIN_SOLDIER,{
+ mes("[Expedition Guide]");
+ mes("Are you going to enter the ^0000FFDimensional Gap^000000? Please use this Transport Device you see here.");
+ next();
+ if (select("What is the Dimensional Gap?", "End Conversation.") == 2) {
+ mes("[Expedition Guide]");
+ mes("Take care.");
+ close();
+ }
+ mes("[Expedition Guide]");
+ mes("As you know we've already entered through the Dimensional Rift to get to Ash Vacuum right? The Dimensional Gap is an expansion of that initial discovery.");
+ next();
+ mes("[Expedition Guide]");
+ mes("A member of the Expedition team found these backdoor passages to get through the Dimensional Rifts.");
+ next();
+ mes("[Expedition Guide]");
+ mes("This is like a Rune Midgard Alliance version of the Bifrost bridge so it can connect us to different parts of the New World.");
+ next();
+ mes("[Expedition Guide]");
+ mes("Time and space is distorted in the Dimensional Gap. Not all passageways have been discovered so please be sure to use caution when entering an unverified area.");
+ next();
+ mes("[Expedition Guide]");
+ mes("Anyone who has become lost here has yet to return.");
+ close();
+}
+
+mid_camp,212,290,4 script Expedition Guide#02 4_M_EIN_SOLDIER,{
+ mes("[Expedition Guide]");
+ mes("Please use a ^0000FFTransport Device^000000 if you wish to travel through the dimensional rift. The insides have not been fully explored yet so please be careful in there.");
+ close();
+}
+
+moc_fild22b,225,198,6 duplicate(Expedition Guide#01) Expedition Guide#03 4_M_MOC_SOLDIER
+moc_fild22b,223,203,4 duplicate(Expedition Guide#02) Expedition Guide#04 4_M_MOC_SOLDIER
+bif_fild01,314,155,6 duplicate(Expedition Guide#01) Expedition Guide#05 4_M_EIN_SOLDIER
+bif_fild01,320,154,4 duplicate(Expedition Guide#02) Expedition Guide#06 4_M_EIN_SOLDIER
+dic_fild02,236,33,6 duplicate(Expedition Guide#01) Expedition Guide#07 4_M_EIN_SOLDIER
+dic_fild02,239,36,4 duplicate(Expedition Guide#02) Expedition Guide#08 4_M_EIN_SOLDIER
+
+dali,137,87,4 script Allied Forces Soldier 4_M_MOCASS1,{
+ mes("[Allied Forces Soldier]");
+ mes("This dimensional rift is connected to the Allied Forces ^0000FFExpedition Camp^000000 in Jotunheim.");
+ next();
+ mes("[Allied Forces Soldier]");
+ mes("Do not worry, it has been set up after testing hundreds of experiments for safe teleportation.");
+ close();
+}
+
+dali,122,60,4 script Morroc Soldier 4_M_MOC_SOLDIER,{
+ mes("[Morroc Soldier]");
+ mes("This dimensional rift is connected to ^0000FFMorroc^000000 back in Rune Midgard.");
+ next();
+ mes("[Morroc Soldier]");
+ mes("This is the fastest gateway back to our world. The area is still destroyed but restoration efforts will soon be on the way.");
+ close();
+}
+
+dali,51,104,6 script Spledide Soldier 4_M_FAIRYSOLDIER2,{
+ mes("[Spledide Soldier]");
+ mes("This dimensional rift is connected to the south of ^0000FFBifrost^000000. It enables quick travel to the Splendide frontline.");
+ next();
+ mes("[Spledide Soldier]");
+ mes("If we use it properly, it enables us to advance more easily to the capital of the Sapha.");
+ next();
+ mes("[Spledide Soldier]");
+ mes("The Mayor has asked us to cooperate as best we can instead of fighting, so I'm under orders not to do anything. Since we have a common enemy we won't fight the Sapha... for now...");
+ close();
+}
+
+dali,56,126,4 script Dispatched Sapha 4_MAN_BENKUNI,{
+ mes("[Dispatched Sapha]");
+ mes("This dimensional rift is connected to the southern area of the ^0000FFKamidal Mountains^000000 in El Dicastes. I just dropped by for my research, but it is incredible.");
+ next();
+ mes("[Dispatched Sapha]");
+ mes("Moreover it is next to the Laphine capital..... Hmm... Do not worry, I do not want to fight in such a place.");
+ close();
+}
+
+dali,109,94,4 trader Sundries Merchant 4_M_MERCAT2,{
+OnInit:
+ sellitem Spectacles;
+ sellitem Arrow;
+ sellitem Booby_Trap;
+ end;
+}
+
+dali,112,95,4 script Logistics Manager 4_M_MERCAT2,{
+ mes("[Logistics Manager]");
+ mes("Welcome. I am in charge of logistics to take care of your items in this weird place. Do you need to access your storage?");
+ next();
+ if (select("Open Storage 200 Zeny.", "No Thanks.") == 2) {
+ mes("[Logistics Manager]");
+ mes("Let me know if you change your mind.");
+ close();
+ }
+ if (basicskillcheck() && getskilllv(NV_BASIC) < 6) {
+ mes("[Logistics Manager]");
+ mes("You are not yet qualified to use the Storage.");
+ } else if (Zeny < 200) {
+ mes("[Logistics Manager]");
+ mes("You need at least 200 zeny to use the Storage.");
+ } else {
+ Zeny -= 200;
+ openstorage();
+ }
+ close();
+}
+
+dali,115,85,5 script Party Leader#dali 2_M_SWORDMASTER,{
+ if (.dalichatactive)
+ end;
+ initnpctimer();
+ .dalichatactive = 1;
+ end;
+OnTimer10:
+ npctalk(_("Attention!!!"), "Party Leader#dali");
+ end;
+OnTimer2000:
+ npctalk(_("Here, here. Everybody be quiet and line up!"), "Party Leader#dali");
+ end;
+OnTimer3000:
+ npctalk(_("We have now entered the inside of the Dimensional Crack. Where should be go first?"), "Party Leader#dali");
+ end;
+OnTimer4000:
+ npctalk(_("Anyone has an opinion?"), "Party Leader#dali");
+ end;
+OnTimer6000:
+ npctalk(_("I heard rumors about some magic swordman. Let's go find him."), "Party Member#MONK");
+ end;
+OnTimer7500:
+ npctalk(_("We heard about a magic competition being held here!"), "Party Member#WANDERER");
+ end;
+OnTimer9000:
+ npctalk(_("Where is it?!"), "Party Member#MONK");
+ end;
+OnTimer10500:
+ npctalk(_("Uh, I'm a little bit hungry... I wonder if anybody is selling some warm sweet potatoes or even dumplings..."), "Party Member#CRU");
+ end;
+OnTimer12000:
+ npctalk(_("You want to eat again?"), "Party Member#GUILL");
+ end;
+OnTimer13500:
+ npctalk(_("I am just wondering about the tournament.."), "Party Member#WANDERER");
+ end;
+OnTimer15000:
+ npctalk(_("I need to eat something before doing anything."), "Party Member#CRU");
+ end;
+OnTimer16500:
+ npctalk(_("By the way, I also heard about something called the Devil's Tower."), "Party Member#MONK");
+ end;
+OnTimer18000:
+ npctalk(_("I just saw a street trader passing by... Where is he?"), "Party Member#GUILL");
+ end;
+OnTimer19500:
+ emotion(e_yawn, 0, "Party Member#SURA");
+ npctalk(_("Huh? What is this? You still haven't entered?"), "Party Member#SURA");
+ end;
+OnTimer20000:
+ npctalk(_("I am curious about the Faceworms I heard about from a Laphine."), "Party Member#MONK");
+ end;
+OnTimer21000:
+ npctalk(_("Can I come back after having a meal?"), "Party Member#CRU");
+ end;
+OnTimer22500:
+ npctalk(_("Can you even catch that?"), "Party Member#WANDERER");
+ npctalk(_("Are you awake?"), "Party Member#SHADOW");
+ end;
+OnTimer24000:
+ emotion(e_an, 0, "Party Member#SURA");
+ npctalk(_("Why are you still here?"), "Party Member#SURA");
+ end;
+OnTimer24500:
+ npctalk(_("Hang on a bit. The merchant is going to pass by soon."), "Party Member#GUILL");
+ end;
+OnTimer25500:
+ npctalk(_("That is your wish...."), "Party Member#MONK");
+ end;
+OnTimer27000:
+ npctalk(_("I want to buy cold grape juice~"), "Party Member#CRU");
+ end;
+OnTimer28500:
+ npctalk(_("I have no idea. There might be an accident up front."), "Party Member#SHADOW");
+ end;
+OnTimer30000:
+ npctalk(_("What? How dare you?!"), "Party Member#WANDERER");
+ end;
+OnTimer31500:
+ npctalk(_("Give me a sip of juice."), "Party Member#GUILL");
+ end;
+OnTimer32000:
+ npctalk(_("Cough~ Cough~"), "Party Member#EINOLD");
+ end;
+OnTimer33000:
+ emotion(e_an, 0, "Party Member#SURA");
+ end;
+OnTimer34000:
+ npctalk(_("Damn! I am pissed off! I came here because I heard only a party is allowed to get in!"), "Party Member#SURA");
+ end;
+OnTimer36000:
+ npctalk(_("Are you going to hit me? Do it!"), "Party Member#MONK");
+ emotion(e_ag, 0, "Party Member#MONK");
+ npctalk(_("You pay for your food."), "Party Member#CRU");
+ end;
+OnTimer37500:
+ emotion(e_an, 0, "Party Member#SURA");
+ end;
+OnTimer39000:
+ npctalk(_("Whatever, I'm not eating."), "Party Member#WANDERER");
+ npctalk(_("So mean.. I won't eat then."), "Party Member#GUILL");
+ npctalk(_("Right.. I should have entered with another group!"), "Party Member#SHADOW");
+ end;
+OnTimer40500:
+ emotion(e_gg, 0, "Party Member#CRU");
+ npctalk(_("Hey. Are you pissed off?"), "Party Member#CRU");
+ end;
+OnTimer42000:
+ npctalk(_("Not at all."), "Party Member#GUILL");
+ end;
+OnTimer43500:
+ emotion(e_gg, 0, "Party Member#MONK");
+ npctalk(_("Look at him snoozing. Hehe."), "Party Member#MONK");
+ end;
+OnTimer45000:
+ emotion(e_yawn, 0, "Party Member#SURA");
+ npctalk(_("Bah, I don't care. I'm gonna take a nap, so wake me up when we're ready."), "Party Member#SURA");
+ end;
+OnTimer46500:
+ emotion(e_gg, 0, "Party Member#CRU");
+ npctalk(_("You are upset!!"), "Party Member#CRU");
+ npctalk(_("Can I get back before I die..."), "Party Member#WANDERER");
+ npctalk(_("What? You, we gotta talk! I've been too nice to you!"), "Party Member#EINOLD");
+ end;
+OnTimer48000:
+ npctalk(_("Excuse me..... everyone.............?"), "Party Leader#dali");
+ end;
+OnTimer49500:
+ emotion(e_ag, 0, "Party Member#GUILL");
+ npctalk(_("No!!!!!!!!!"), "Party Member#GUILL");
+ npctalk(_("Whatever~"), "Party Member#MONK");
+ end;
+OnTimer51000:
+ emotion(e_sob, 0, "Party Leader#dali");
+ npctalk(_("Please listen to me...."), "Party Leader#dali");
+ npctalk(_("He's angry all right...."), "Party Member#WANDERER");
+ npctalk(_("Take a nap. I am sleepy too, so we'll take shifts."), "Party Member#SHADOW");
+ end;
+OnTimer52500:
+ .dalichatactive = 0;
+ stopnpctimer();
+ end;
+}
+
+dali,117,81,7 script Party Member#WANDERER 4_F_WANDERER,{
+ end;
+}
+
+dali,117,79,5 script Party Member#CRU 4_F_CRU,{
+ end;
+}
+
+dali,118,83,3 script Party Member#MONK 4_F_MONK,{
+ end;
+}
+
+dali,119,76,7 script Party Member#SHADOW 4_F_SHADOWCHASER,{
+ end;
+}
+
+dali,119,78,2 script Party Member#GUILL 4_M_JPNOJI,{
+ end;
+}
+
+dali,120,77,4 script Party Member#SURA 4_F_SURA,{
+ end;
+}
+
+dali,120,81,3 script Party Member#EINOLD 4_M_EINOLD,{
+ end;
+}
+
+dali,102,83,5 script Merchant Prince#HUMERC 4_M_HUMERCHANT,2,2,{
+ mes("[Prince Canet]");
+ mes("Who're you?");
+ next();
+ mes("[Prince Canet]");
+ mes("What do you want? You looking something in particular?");
+ next();
+ mes("[Prince Canet]");
+ mes("So some enforcers have been cracking down on merchants lately. I can not sell anything.");
+ next();
+ mes("[Prince Canet]");
+ mes("Come here...");
+ next();
+ mes("[Jumpy Knight]");
+ mes("I knew you would be here!! No illegal trading is allowed here! Don't you know?");
+ hideoffnpc("Jumpy Knight#JP_RUN");
+ next();
+ mes("[Prince Canet]");
+ mes("Says who?");
+ next();
+ mes("[Jumpy Knight]");
+ mes("Ok, then show me your permit.");
+ next();
+ mes("[Prince Canet]");
+ mes("Permit\r"
+ "No one's in charge here!");
+ next();
+ mes("[Prince Canet]");
+ mes("You! If you need anything come to me ok?");
+ next();
+ mes("[Jumpy Knight]");
+ mes("I will catch you!");
+ hideonnpc("Merchant Prince#HUMERC");
+ close2();
+ hideonnpc("Jumpy Knight#JP_RUN");
+ enablenpc("Merchant Prince#HUMERC2");
+ hideoffnpc("Merchant Prince#HUMERC2");
+ disablenpc("Merchant Prince#HUMERC");
+ end;
+
+OnTouch:
+ mes("[Prince Canet]");
+ mes("Cold juice!\r"
+ "Apple, grape, orange~\r"
+ "Anything you want!");
+ next();
+ mes("[Prince Canet]");
+ mes("Sweet potato, dumpling~\r"
+ "Here we have delicious desserts~");
+ close();
+}
+
+dali,105,82,1 script Jumpy Knight#JP_RUN 4_M_JP_RUN,{
+ end;
+
+OnInit:
+ hideonnpc("Jumpy Knight#JP_RUN");
+ end;
+}
+
+dali,63,112,7 script Merchant Prince#HUMERC2 4_M_HUMERCHANT,2,2,{
+ mes("[Prince Canet]");
+ mes("You need to pay a toll to get past here.");
+ next();
+ select("What toll?");
+ mes("[Prince Canet]");
+ mes("You did not know?\r"
+ "500 zeny");
+ next();
+ mes("[Jumpy Knight]");
+ mes("You there! Stop right there!");
+ hideoffnpc("Jumpy Knight#JP_RUN2");
+ next();
+ mes("[Prince Canet]");
+ mes("Ugh! How are you always following me? Got some kind of crush on me or something? I don't think you and I make a good match...");
+ next();
+ mes("[Jumpy Knight]");
+ mes("Why don't we find out then?");
+ next();
+ mes("[Prince Canet]");
+ mes("That's it no more talking.\r"
+ "I'm outta here~");
+ next();
+ mes("[Jumpy Knight]");
+ mes("Keep running you sneaky coward!");
+ hideonnpc("Merchant Prince#HUMERC2");
+ close2();
+ hideonnpc("Jumpy Knight#JP_RUN2");
+ hideoffnpc("Merchant Prince#HUMERC3");
+ disablenpc("Merchant Prince#HUMERC2");
+ end;
+
+OnInit:
+ disablenpc("Merchant Prince#HUMERC2");
+ end;
+OnTouch:
+ mes("[Prince Canet]");
+ mes("500 zeny");
+ close();
+}
+
+dali,67,113,3 script Jumpy Knight#JP_RUN2 4_M_JP_RUN,{
+ end;
+
+OnInit:
+ hideonnpc("Jumpy Knight#JP_RUN2");
+ end;
+}
+
+dali,89,97,3 script Merchant Prince#HUMERC3 4_M_HUMERCHANT,{
+ mes("[Prince Canet]");
+ mes("You are lucky that you have met up with me.\r"
+ "Who am I?\r"
+ "I'm here to become a merchant King.");
+ next();
+ mes("[Prince Canet]");
+ mes("I might be working a street stall now but I'll have an actual shop some day.");
+ next();
+ mes("[Prince Canet]");
+ mes("It's my first day so I'm having a major sale.");
+ next();
+ mes("[Prince Canet]");
+ mes("Let's see I've got a... Ring of something! Sword of stuff! A backpack of some sort!");
+ next();
+ mes("[Prince Canet]");
+ mes("Tell me if you need anything,");
+ hideoffnpc("Jumpy Knight#JP_RUN3");
+ next();
+ mes("[Prince Canet]");
+ mes("What are you doing here? This is my spot for a shop Get outta my turf!");
+ next();
+ mes("[Jumpy Knight]");
+ mes("Bah!!\r"
+ "You're gonna regret those words!");
+ next();
+ mes("[Prince Canet]");
+ mes("I'm shaking...");
+ hideonnpc("Merchant Prince#HUMERC3");
+ close2();
+ hideonnpc("Jumpy Knight#JP_RUN3");
+ enablenpc("Merchant Prince#HUMERC");
+ hideoffnpc("Merchant Prince#HUMERC");
+ end;
+
+OnInit:
+ hideonnpc("Merchant Prince#HUMERC3");
+ end;
+}
+
+dali,89,94,7 script Jumpy Knight#JP_RUN3 4_M_JP_RUN,{
+ end;
+
+OnInit:
+ hideonnpc("Jumpy Knight#JP_RUN3");
+ end;
+}
+
+dali02,58,123,3 script Curious Knight#KY_KNT 4_M_KY_KNT,{
+ mes("[Curious Knight]");
+ mes("The Royal Guard in here was desperate for help. We entered through a secret place in the palace.");
+ next();
+ mes("[Curious Knight]");
+ mes("We were whisked away here... No idea where I am but I have to establish a base here for the Knighthood.");
+ close();
+}
+
+dali02,51,112,5 script Confused Thief#DST_SOL 4_DST_SOLDIER,{
+ mes("[Confused Thief]");
+ mes("One minute I'm in a bar... The next minute I'm here... What is this place?");
+ next();
+ mes("[Confused Thief]");
+ mes("There's no night or day in here. Hmm, something has to be valuable in this place...");
+ close();
+}
+
+dali02,65,115,5 script Adventurous Rafflesia#ra 4_M_RAFLE_GR,{
+ mes("[Adventurous Rafflesia]");
+ mes("No no this has to be Thanatos Tower... I sense dark magic here.");
+ next();
+ mes("[Guide]");
+ mes("Oh, we're back here again. I cannot find a way out! We are trapped in this maze!");
+ next();
+ mes("[Tourist]");
+ mes("Is this place the famous Prontera? It is dark just like a big city!");
+ next();
+ mes("[Traveller]");
+ mes("I hear a ticking clock. This place must be Geffen!");
+ close();
+}
+
+dali02,68,117,5 script Guide#ra 4_M_RAFLE_GR,{
+ mes("[Guide]");
+ mes("Oh, we're back here again. I cannot find a way out! We are trapped in this maze!");
+ next();
+ mes("[Tourist]");
+ mes("Is this place the famous Prontera It is dark just like a big city!");
+ next();
+ mes("[Traveller]");
+ mes("I hear a ticking clock. This place must be Geffen!");
+ next();
+ mes("[Adventurous Rafflesia]");
+ mes("No no this has to be Thanatos Tower... I sense dark magic here.");
+ close();
+}
+
+dali02,65,119,5 script Tourist#ra 4_M_RAFLE_GR,{
+ mes("[Tourist]");
+ mes("Is this place the famous Prontera? It is dark just like a big city!");
+ next();
+ mes("[Adventurous Rafflesia]");
+ mes("No no this has to be Thanatos Tower... I sense dark magic here.");
+ next();
+ mes("[Guide]");
+ mes("Oh, we're back here again. I cannot find a way out! We are trapped in this maze!");
+ next();
+ mes("[Traveller]");
+ mes("I hear a ticking clock. This place must be Geffen!");
+ close();
+}
+
+dali02,69,122,5 script Traveller#ra 4_M_RAFLE_GR,{
+ mes("[Traveller]");
+ mes("I hear a ticking clock. This place must be Geffen!");
+ next();
+ mes("[Guide]");
+ mes("Oh, we're back here again. I cannot find a way out! We are trapped in this maze!");
+ next();
+ mes("[Tourist]");
+ mes("Is this place the famous Prontera? It is dark just like a big city!");
+ next();
+ mes("[Adventurous Rafflesia]");
+ mes("No no this has to be Thanatos Tower... I sense dark magic here.");
+ close();
+}
diff --git a/npc/re/quests/cupet.txt b/npc/re/quests/cupet.txt
index ac4a765fd..72e1bd6c9 100644
--- a/npc/re/quests/cupet.txt
+++ b/npc/re/quests/cupet.txt
@@ -38,7 +38,7 @@
setarray .@tame_id[0],Unripe_Apple,Orange_Juice,Rainbow_Carrot,Earthworm_The_Dude,Rotten_Fish,Sweet_Milk,Well_Dried_Bone,Singing_Flower,Dew_Laden_Moss;
setarray .@tame_amount[0],3,3,3,3,3,3,3,3,3;
- setarray .@hunt_id[0],Jellopy,Jellopy,Clover,Feather_Of_Birds,Shell,Animal's_Skin,Animal's_Skin,Grasshopper's_Leg,Mushroom_Spore;
+ setarray .@hunt_id[0],Jellopy,Jellopy,Clover,Feather_Of_Birds,Shell,Animals_Skin,Animals_Skin,Grasshoppers_Leg,Mushroom_Spore;
setarray .@hunt_amount[0],500,600,500,500,500,500,600,500,500;
setarray .@mob_id[0],1002,1113,1063,1049,1011,1167,1107,1052,1014;
.@tame_gets = 3;
@@ -95,9 +95,9 @@
setarray .@tame_id[0],Silver_Knife_Of_Chaste,Monster_Juice,Contracts_In_Shadow,Sway_Apron,Prohibition_Red_Candle,Book_Of_Devil;
setarray .@tame_amount[0],1,1,1,1,1,1;
- setarray .@hunt_id[0],Long_Hair,Solid_Shell,Petite_DiablOfs_Horn,Alice's_Apron,Queen's_Whip,Evil_Horn;
+ setarray .@hunt_id[0],Long_Hair,Solid_Shell,Petite_DiablOfs_Horn,Alices_Apron,Queens_Whip,Evil_Horn;
setarray .@hunt_amount[0],600,600,600,500,1,100;
- setarray .@hunt_id2[0],0,0,0,0,Executioner's_Mitten,0;
+ setarray .@hunt_id2[0],0,0,0,0,Executioners_Mitten,0;
setarray .@hunt_amount2[0],0,0,0,0,20,0;
setarray .@mob_id[0],1170,1035,1109,1275,1200,1101;
.@tame_gets = 1;
diff --git a/npc/re/quests/eden/100-110.txt b/npc/re/quests/eden/100-110.txt
index 2fa43097c..3cc47f6ef 100644
--- a/npc/re/quests/eden/100-110.txt
+++ b/npc/re/quests/eden/100-110.txt
@@ -52,7 +52,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
end;
}
mes "[Gelkah]";
- if (!countitem(Para_Team_Mark)) {
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
mes "- You need to have an -";
mes "- ^4d4dff'Eden Group Mark'^000000 -";
mes "- to receive these missions. -";
@@ -156,7 +156,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
mes "I think that's what a true master would sound like right?";
next;
mes "[Gelkah]";
- mes strcharinfo(0) +" will make a request list for you so go talk to my Master now and show your respects.";
+ mes strcharinfo(PC_NAME) +" will make a request list for you so go talk to my Master now and show your respects.";
delitem Brigan,50;// Brigan
completequest 13002;// Brigan collecting
para_100lv01 = 2;
@@ -673,7 +673,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
mes "Adventurers sometimes bring special things or trophies from where they visited for a request. It is very good!";
}
else if (.@ran == 2)
- mes "If there is something good "+ strcharinfo(0) +" I will try to give you a couple things. I am not sure if there will be enough to give because of so many adventurers.";
+ mes "If there is something good "+ strcharinfo(PC_NAME) +" I will try to give you a couple things. I am not sure if there will be enough to give because of so many adventurers.";
else
mes "Handling documents must be difficult. It's so much easier to just be out in the field.";
}
@@ -689,7 +689,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
}
else {
cutin "gelca03",2;
- mes "I am busy but clearing a lot of requests "+ strcharinfo(0) +" I appreciate it. Lets see. I got some good food from an adventurer that he received during a request.";
+ mes "I am busy but clearing a lot of requests "+ strcharinfo(PC_NAME) +" I appreciate it. Lets see. I got some good food from an adventurer that he received during a request.";
next;
mes "[Gelkah]";
mes "Oops I ate all? Okay just one left. Please drop by later!";
@@ -700,7 +700,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
else if (para_100lv02 < 80) {
cutin "gelca03",2;
if (para_100lv01 > 4)
- mes "Cheer up! "+ strcharinfo(0) +" I'm not sure if he thinks of you as his pupil. He is just out of control.";
+ mes "Cheer up! "+ strcharinfo(PC_NAME) +" I'm not sure if he thinks of you as his pupil. He is just out of control.";
else {
mes "There are a lot of presents coming in whenever the requests are done efficiently. Here, take this as a prize.";
para_100lv01 = 5;
@@ -708,7 +708,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
}
}
else if (para_100lv02 > 100) {
- mes "It is tough work but also fun to with master right "+ strcharinfo(0) +"?";
+ mes "It is tough work but also fun to with master right "+ strcharinfo(PC_NAME) +"?";
next;
switch( select( "I hate that hot-tempered fool.", "I want you to be the master.", "I would follow you to any battle." ) ) {
mes "[Gelkah]";
@@ -963,7 +963,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
else {
cutin "gelca03",2;
if (para_100lv02 > 100)
- mes strcharinfo(0) +"! You did a good job! There are more requests but reserve them for the other adventurers.";
+ mes strcharinfo(PC_NAME) +"! You did a good job! There are more requests but reserve them for the other adventurers.";
if (para_100lv02 < 101)
mes "I do not think you are suitable to the request I can give. Please find other adventures.";
callsub S_Hunting,13003,106000,148000,"Carat";// <quest id>, <job exp if joblevel < 6>, <job exp>, <quest name>
@@ -1047,7 +1047,7 @@ S_Hunting:
moc_para01,41,95,5 script Rohtert#12 4_M_ROTERT,{
mes "[Rohtert]";
- if (!countitem(Para_Team_Mark)) {// Para_Team_Mark
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
cutin "rote01",2;
mes "You are not even a member of Eden Group. What are you doing here?";
mes "I'm only dealing with base level ^FF0000100 - 110^000000 adventurers.";
@@ -1247,7 +1247,7 @@ moc_para01,41,95,5 script Rohtert#12 4_M_ROTERT,{
next;
cutin "gelca02",2;
mes "[^FF0000Gelkah^000000]";
- mes "......."+ strcharinfo(0) +" wait...";
+ mes "......."+ strcharinfo(PC_NAME) +" wait...";
next;
cutin "gelca01",2;
mes "[^FF0000Gelkah^000000]";
diff --git a/npc/re/quests/eden/11-25.txt b/npc/re/quests/eden/11-25.txt
index 361d6a2e3..f65ad9090 100644
--- a/npc/re/quests/eden/11-25.txt
+++ b/npc/re/quests/eden/11-25.txt
@@ -35,7 +35,7 @@
//=========================================================================
moc_para01,36,38,3 script Mission [11 - 25]#Tuto 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "- You need to have an -";
mes "- ^4d4dff'Eden Group Mark'^000000 -";
mes "- to receive these missions. -";
diff --git a/npc/re/quests/eden/111-120.txt b/npc/re/quests/eden/111-120.txt
index 39b7de701..4422c92c7 100644
--- a/npc/re/quests/eden/111-120.txt
+++ b/npc/re/quests/eden/111-120.txt
@@ -41,7 +41,7 @@
moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
mes "[Mingmin]";
- if (!countitem(Para_Team_Mark)) {// Para_Team_Mark
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
cutin "min02",0;
mes "A stranger. This place is supposed to be for Eden Group Members only.";
mes "I'm in need base level ^FF0000111 - 120^000000 adventurers to help my research.";
@@ -65,7 +65,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
mes "[Mingmin]";
mes "^0000ffA question: Art thou my servant?^000000";
next;
- mes "["+ strcharinfo(0) +"]";
+ mes "["+ strcharinfo(PC_NAME) +"]";
mes "(What's this lady talking about?)";
emotion e_dot,1;
next;
@@ -106,7 +106,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
cutin "min02",0;
mes "^0C0CF2Pop quiz hot shot: Art thou my servant?^000000";
next;
- select("No~ I'm "+ strcharinfo(0) +" remember?");
+ select("No~ I'm "+ strcharinfo(PC_NAME) +" remember?");
mes "[Mingmin]";
mes "Oh I have met you before, living in a house full of fungus seems to cause memory loss.";
emotion e_gasp;
@@ -141,7 +141,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
}
else if (para_110lv01 == 2) {
cutin "min02",0;
- mes "Oh, "+ strcharinfo(0) +" its you... it is good you have ed, I was bored.";
+ mes "Oh, "+ strcharinfo(PC_NAME) +" its you... it is good you have ed, I was bored.";
next;
mes "[Mingmin]";
mes "Where was I? I just finished talking about the Eden Group's duty to protect others from danger.";
@@ -160,7 +160,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
}
else if (para_110lv01 == 3) {
cutin "min02",0;
- mes "Question "+ strcharinfo(0) +"! I was practising because new servant is coming soon.";
+ mes "Question "+ strcharinfo(PC_NAME) +"! I was practising because new servant is coming soon.";
next;
select("Waddya mean new servant?");
mes "[Mingmin]";
@@ -206,15 +206,15 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
mes "Enough dilly-dallying, I want to make a contract with someone who really craves adventure.";
next;
mes "[Mingmin]";
- mes "Maybe "+ strcharinfo(0) +" I'll let you be my servant if you are interested in doing this Eden Group request for my research.";
+ mes "Maybe "+ strcharinfo(PC_NAME) +" I'll let you be my servant if you are interested in doing this Eden Group request for my research.";
para_110lv01 = 4;
}
else if (para_110lv01 > 3) {
cutin "min01",0;
if (para_110lv01 == 5)
- mes "Welcome! "+ strcharinfo(0) +"...";
+ mes "Welcome! "+ strcharinfo(PC_NAME) +"...";
else
- mes "Hello "+ strcharinfo(0) +".";
+ mes "Hello "+ strcharinfo(PC_NAME) +".";
next;
switch( select( "Request to research monsters", "Make small-talk" ) ) {
case 1:
@@ -962,7 +962,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
}
else {
cutin "min01",0;
- mes "Contract is terminated. "+ strcharinfo(0) +" reward for completed research. ^FF0000I will delete incompleted research from your quest list.^000000";
+ mes "Contract is terminated. "+ strcharinfo(PC_NAME) +" reward for completed research. ^FF0000I will delete incompleted research from your quest list.^000000";
para_110lv01 = 6;
next;
callsub S_Hunting,
@@ -989,7 +989,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{
mes "It is a little bit inconvenient. I will read to you politely ^FF0000again^000000 in public.";
next;
mes "[Mingmin]";
- mes "Anyway "+ strcharinfo(0) +" thank you for helping me start my research.";
+ mes "Anyway "+ strcharinfo(PC_NAME) +" thank you for helping me start my research.";
next;
cutin "min03",0;
mes "[Mingmin]";
diff --git a/npc/re/quests/eden/121-130.txt b/npc/re/quests/eden/121-130.txt
index 32fbdeb26..d48c71702 100644
--- a/npc/re/quests/eden/121-130.txt
+++ b/npc/re/quests/eden/121-130.txt
@@ -41,7 +41,7 @@
moc_para01,44,81,3 script Melody-Jack#1 4_M_MELODY,8,8,{
mes "[Melody-Jack]";
- if (!countitem(Para_Team_Mark)) {// Para_Team_Mark
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
mes "Who the hell are you? Get out of here!";
mes "I'm only talking to base level ^FF0000121-130^000000 adventurers.";
}
@@ -582,7 +582,7 @@ OnTouch:
moc_para01,17,77,5 script Aigu#1 4_F_IU,{
mes "[Aigu]";
- if (!countitem(Para_Team_Mark)) {// Para_Team_Mark
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
mes "Oh, why aren't you a part of Eden Group?";
mes "I'm only talking to base level ^FF0000121-130^000000 adventurers.";
}
diff --git a/npc/re/quests/eden/131-140.txt b/npc/re/quests/eden/131-140.txt
index 806466624..fa6061b42 100644
--- a/npc/re/quests/eden/131-140.txt
+++ b/npc/re/quests/eden/131-140.txt
@@ -42,7 +42,7 @@
moc_para01,41,76,3 script Ragi#1 4_M_RAGI,{
cutin "ragi01",0;
mes "[Ragi]";
- if (!countitem(Para_Team_Mark)) {// Para_Team_Mark
+ if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) {
mes "Only adventurers from Eden Group are welcome here.";
mes "I'm giving requests to base level ^FF0000130-140^000000 adventurers only.";
}
diff --git a/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt
index c80f1c2c8..1c680d7ed 100644
--- a/npc/re/quests/eden/26-40.txt
+++ b/npc/re/quests/eden/26-40.txt
@@ -35,7 +35,7 @@
//=========================================================================
moc_para01,38,38,3 script Mission [26 - 40] 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "You are not a qualified member. You can not use the bulletin board.";
close;
}
@@ -530,11 +530,11 @@ payon,179,66,3 script Dashia 4_M_RACHMAN1,{
break;
case 2:
callsub L_Quest,8275;
- if ((countitem(Bear's_Foot) > 9) && (countitem(Animal's_Skin) > 4)) {
+ if ((countitem(Bears_Foot) > 9) && (countitem(Animals_Skin) > 4)) {
callsub L_Reward;
getitem Novice_Potion,100;
- delitem Bear's_Foot,10;
- delitem Animal's_Skin,5;
+ delitem Bears_Foot,10;
+ delitem Animals_Skin,5;
getexp 1000,100;
erasequest 8275;
close;
diff --git a/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt
index a13db78f8..b7d95aa71 100644
--- a/npc/re/quests/eden/41-55.txt
+++ b/npc/re/quests/eden/41-55.txt
@@ -35,7 +35,7 @@
//=========================================================================
moc_para01,40,38,3 script Mission [41 - 55] 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "You are not an Eden group member. You are not qualified to access the bulletin board.";
close;
}
diff --git a/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt
index 741e6af89..c6aeb8c15 100644
--- a/npc/re/quests/eden/56-70.txt
+++ b/npc/re/quests/eden/56-70.txt
@@ -36,7 +36,7 @@
//=========================================================================
moc_para01,42,38,3 script Mission [56 - 70] 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "To get these missions, I need to Join the Eden Group first. I must find Secretary Lime Evenor and become a member.";
close;
}
diff --git a/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt
index f2bd68b6f..31f51871d 100644
--- a/npc/re/quests/eden/71-85.txt
+++ b/npc/re/quests/eden/71-85.txt
@@ -35,7 +35,7 @@
//=========================================================================
moc_para01,44,38,3 script Mission [71 - 85] 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "- Only members of the -";
mes "- Eden Group can read -";
mes "- this bulletin board. -";
diff --git a/npc/re/quests/eden/86-90.txt b/npc/re/quests/eden/86-90.txt
index 029a482ad..394970944 100644
--- a/npc/re/quests/eden/86-90.txt
+++ b/npc/re/quests/eden/86-90.txt
@@ -41,7 +41,7 @@
//=========================================================================
moc_para01,48,175,3 script 86-90 Mission Board 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "Wait a minute!";
mes "-You need to have an-";
mes "-^4d4dff'Eden Group Mark'^000000-";
diff --git a/npc/re/quests/eden/91-99.txt b/npc/re/quests/eden/91-99.txt
index 2c86f6091..328cc4474 100644
--- a/npc/re/quests/eden/91-99.txt
+++ b/npc/re/quests/eden/91-99.txt
@@ -41,7 +41,7 @@
//=========================================================================
moc_para01,48,177,3 script 91-99 Mission Board 4_BOARD3,{
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "Wait a minute!";
mes "-You need to have an-";
mes "-^4d4dff'Eden Group Mark'^000000-";
diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt
index 2e37eeb6f..9085cad91 100644
--- a/npc/re/quests/eden/eden_common.txt
+++ b/npc/re/quests/eden/eden_common.txt
@@ -44,6 +44,26 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
mes "- after you loose some weight. -";
close;
}
+ if (countitem(Para_Team_Mark) > 0) {
+ mes "[Lime Evenor]";
+ mes "Thanks to many adventurers visiting our Eden Group, we've recently prepared a new version of Eden Group Mark for our visitors.";
+ mes "And it is also possible to exchange old version of Eden Group Mark into a new one.";
+ next;
+ mes "[Lime Evenor]";
+ mes "Though it has a slight time delay, this new version of Eden Group Mark will send you back to current saved location.";
+ mes "Would you like to exchange yours?";
+ next;
+ if (select("Sure", "I'm good.") == 2){
+ mes "[Lime Evenor]";
+ mes "What possible reason would you have... to not exchange?";
+ close;
+ }
+ delitem Para_Team_Mark,1;
+ getitem Para_Team_Mark_,1;
+ mes "[Lime Evenor]";
+ mes "There you go. Come back again~";
+ close;
+ }
mes "[Lime Evenor]";
mes "People who follow their dreams and romances listen to me. We are representatives of the paradise called 'The garden of Eden' called the Eden group . There is no place like this anywhere.";
mes "Hello. Can I help you?";
@@ -67,7 +87,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
next;
break;
case 2:
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "[Lime Evenor]";
mes "You can be a Eden's member by simply registering with me.";
mes "Would you like to join Eden Group?";
@@ -96,7 +116,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
input .@input$;
next;
mes "[Lime Evenor]";
- mes "Ah~ ha. You are ^3131FF"+strcharinfo(0)+"^000000.";
+ mes "Ah~ ha. You are ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
mes "I got it right this time.";
next;
emotion e_no1;
@@ -106,7 +126,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
next;
mes "[Lime Evenor]";
mes "Hopefully you can do great work as an Eden's member.";
- getitem Para_Team_Mark,1;
+ getitem Para_Team_Mark_,1;
next;
break;
case 2:
@@ -131,11 +151,11 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
input .@input$;
next;
mes "[Lime Evenor]";
- mes "^3131FF"+strcharinfo(0)+"^000000.. Is that your name?";
+ mes "^3131FF"+strcharinfo(PC_NAME)+"^000000.. Is that your name?";
mes "Hmm, your handwriting is not clear. I can't read. it";
next;
mes "[Lime Evenor]";
- mes "^3131FF"+strcharinfo(0)+"^000000, tell me what you want to register. for";
+ mes "^3131FF"+strcharinfo(PC_NAME)+"^000000, tell me what you want to register. for";
mes "Which map should we go to?";
input .@input$;
next;
@@ -179,7 +199,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
}
break;
case 4:
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Lime Evenor]";
mes "Would like to try some missions as an Eden member?";
next;
@@ -306,7 +326,7 @@ OnTouch:
}
moc_para01,47,39,3 script #warp_2_pass HIDDEN_NPC,{
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Lime Evenor]";
mes "Oh, it is an exclusive place only for Eden's members.";
mes "If you are a member, you can come whenever you want!";
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
index d96c782eb..2d72b3541 100644
--- a/npc/re/quests/eden/eden_iro.txt
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -662,7 +662,7 @@ moc_para01,38,162,2 script Code the Redeemer#Give1 4_M_YOUNGKNIGHT,{
close;
}
mes "[Code the Redeemer]";
- mes "Welcome, "+strcharinfo(0)+"!";
+ mes "Welcome, "+strcharinfo(PC_NAME)+"!";
mes "I've been expecting you.";
next;
mes "[Code the Redeemer]";
@@ -709,7 +709,7 @@ OnInit:
tradertype(NST_CASH);
sellitem Blue_Potion_Box,5;
sellitem F_Neuralizer_Box,400;
- sellitem FPr_Reset_Stone_Box,100;
+ sellitem FPremium_Reset_Stone_Box,100;
sellitem F_Abrasive_Box10,75;
sellitem F_G_O_I_Box10,25;
sellitem Greed_Scroll_Box_30,30;
@@ -896,7 +896,7 @@ moc_para01,174,33,3 script Bathory#2012spirits BATHORY,{
warp "niflheim",194,185;
end;
case 2:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "No thanks, maybe later.";
close;
}
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index efd389d43..f58c3ed5a 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -37,7 +37,7 @@
moc_para01,25,35,4 script Instructor Boya#para01 4_M_KNIGHT_GOLD,{
mes "[Boya]";
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "You are not in my group are you?";
mes "I don't have anything to say to outsiders.";
mes "If you want something register with my group.";
@@ -839,7 +839,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 4_RUS_DWOLF,{
mes "Not a wolf.";
mes "I wasn't a dog originally...";
next;
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Talking Dog]";
mes "Anyway are you a Eden Group member?";
mes "Oh good to see you.";
@@ -1047,7 +1047,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 4_M_BABYCAT,{
pay_arche,41,136,3 script Eden Member Karl#para05 4_M_KHMAN,{
if (para_suv01 < 13) {
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Karl]";
mes "Hey, how are you?";
mes "Good to see you~";
@@ -1190,7 +1190,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 4_M_KHMAN,{
anthell01,29,264,5 script Eden Member Cloud#para06 4_M_HUMAN_02,{
if (para_suv01 < 17) {
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Cloud]";
mes "Oops.";
mes "You are a member of my group.";
@@ -1380,7 +1380,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 4_M_HUMAN_02,{
in_orcs01,38,175,3 script Eden Member Hooksha 1_F_SIGNZISK,{
if (para_suv01 < 24) {
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Hooksha]";
mes "Unbelievable why did you come here?";
mes "Um... You are not on the third step of the training?";
@@ -1649,7 +1649,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 1_F_SIGNZISK,{
iz_dun04,43,46,3 script Eden Member Callandiva 4_F_CRU,{
if (para_suv01 < 33) {
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Callandiva]";
mes "How did you get so deep in this ocean city?";
mes "Ah, that symbol is of our group.";
@@ -2047,7 +2047,7 @@ moc_para01,112,96,5 script Administrator Michael 4_M_RUSMAN1,{
if (para_suv02 == 4) {
mes "Umm, didn't you upgrade this already?";
mes "According to the records";
- mes ""+strcharinfo(0)+": Has already upgraded their Hat.";
+ mes ""+strcharinfo(PC_NAME)+": Has already upgraded their Hat.";
next;
mes "[Michael]";
mes "We can only offer 1 upgrade.";
@@ -2243,7 +2243,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{
mes "Ah, Kim-dduck-soon.";
mes "It's the representative meal for normal citizens.";
next;
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
if (Zeny > 2699) {
mes "[Chef]";
mes "Hey, here you are.";
@@ -2282,7 +2282,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{
mes "Course meal B?";
mes "This food with meat and vegetables in hot soup has it's origins from nomadic life under the cold and dry nature.";
next;
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
if (Zeny > 3599) {
mes "[Chef]";
mes "Hey, here you are.";
@@ -2317,7 +2317,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{
mes "How many times do I have to tell you?";
close;
case 4:
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
if (Zeny > 4499) {
mes "[Chef]";
mes "Hey, here you are.";
@@ -2360,7 +2360,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{
close;
}
case 2:
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "[Chef]";
mes "Most jobs should be managed by yourself. So it might be difficult, right?";
mes "Actually it's harmful so they have requested continuously.";
@@ -2469,7 +2469,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{
moc_para01,23,35,5 script Instructor Ur#2nd01 4_M_KNIGHT_BLACK,{
mes "[Instructor Ur]";
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "Hey there!";
mes "I see you're not one of our agents?";
mes "Are you interested in joining us?";
@@ -2673,7 +2673,7 @@ moc_para01,23,35,5 script Instructor Ur#2nd01 4_M_KNIGHT_BLACK,{
}
else if (para_2nd01 == 11) {
if (BaseLevel > 79) {
- mes "Ah, ever so improving "+ strcharinfo(0) +"?";
+ mes "Ah, ever so improving "+ strcharinfo(PC_NAME) +"?";
mes "To what do I owe this pleasure?";
next;
switch( select( "I came for more training.", "I'm just visiting." ) ) {
@@ -3740,7 +3740,7 @@ moc_para01,111,83,3 script Blacksmith Thorn#2nd10 2_M_OLDBLSMITH,{
close;
}
mes "[Thorn]";
- if (countitem(Para_Team_Mark) < 1) {
+ if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
mes "Hmm, are you a member of Eden Group?";
mes "You need to be one of our members to use my services.";
close;
diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt
index 387141623..ce6efaa67 100644
--- a/npc/re/quests/eden/eden_service.txt
+++ b/npc/re/quests/eden/eden_service.txt
@@ -50,7 +50,7 @@
mes "3.Cabinet fee is";
mes " ^4d4dff500 zeny^000000!";
next;
- if (countitem(Para_Team_Mark) > 0) {
+ if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) {
mes "You need to insert zeny to use the cabinet.";
mes "Cost : 500 Zeny ";
mes "Would you like to use it?";
diff --git a/npc/re/quests/homun_s.txt b/npc/re/quests/homun_s.txt
index 1d9ade56b..92849c7a5 100644
--- a/npc/re/quests/homun_s.txt
+++ b/npc/re/quests/homun_s.txt
@@ -594,7 +594,7 @@ que_house_s,24,47,3 script Viorel#homun_s 4_M_ALCHE_E,{
mes "the path that leads to it.";
next;
mes "[Viorel]";
- mes "^0000FF" + strcharinfo(0) + "^000000,";
+ mes "^0000FF" + strcharinfo(PC_NAME) + "^000000,";
mes "I haven't known you";
mes "for a very long time,";
mes "but I get the feeling that";
@@ -643,7 +643,7 @@ que_house_s,80,42,3 script Jeyna#homun_s 4_F_ALCHE_A,{
next;
mes "[Jeyna]";
mes "Anyways~";
- mes "^0000FF"+strcharinfo(0)+"^000000 and ^005DFFViorel^000000 seem like two peas in a pod.";
+ mes "^0000FF"+strcharinfo(PC_NAME)+"^000000 and ^005DFFViorel^000000 seem like two peas in a pod.";
next;
emotion e_heh;
mes "[Jeyna]";
@@ -778,7 +778,7 @@ que_house_s,80,42,3 script Jeyna#homun_s 4_F_ALCHE_A,{
next;
mes "[Jeyna]";
mes "Don't do anything like changing jobs or anything like that before the process is over.";
- mes "If so, you, ^0000FF"+strcharinfo(0)+"^000000 might lose all the abilities you have over the Homunculus.";
+ mes "If so, you, ^0000FF"+strcharinfo(PC_NAME)+"^000000 might lose all the abilities you have over the Homunculus.";
next;
mes "[Jeyna]";
mes "All that concentration made me tired.";
diff --git a/npc/re/quests/newgears/2012_headgears.txt b/npc/re/quests/newgears/2012_headgears.txt
index 10566cb39..e243300d5 100644
--- a/npc/re/quests/newgears/2012_headgears.txt
+++ b/npc/re/quests/newgears/2012_headgears.txt
@@ -469,10 +469,10 @@ moc_para01,41,169,3 script Reno#2012hat 1_M_WIZARD,{
Assassin_Mask_, -1, 200, Improved_Assassin_Mask,
Welding_Mask, -1, 200, Improved_Welding_Mask,
Safety_Ring, -1, 200, Safety_Ring_,
- Angel's_Protection, 1, 100, Im_Angel's_Protection,
- Angel's_Safeguard, 1, 100, Impr_Angel's_Safeguard,
- Angel's_Arrival, 1, 100, Impr_Angel's_Arrival,
- Angel's_Warmth, 1, 100, Impr_Angel's_Warmth,
+ Angels_Protection, 1, 100, Im_Angels_Protection,
+ Angels_Safeguard, 1, 100, Impr_Angels_Safeguard,
+ Angels_Arrival, 1, 100, Impr_Angels_Arrival,
+ Angels_Warmth, 1, 100, Impr_Angels_Warmth,
Kiss_Of_Angel, 1, 100, Improved_Kiss_Of_Angel;
break;
case 4:
@@ -487,10 +487,10 @@ moc_para01,41,169,3 script Reno#2012hat 1_M_WIZARD,{
Variant_Shoes, -1, 300, Enhanced_Variant_Shoes,
Ring_Of_Flame_Lord,-1, 300, Good_Ring_Of_Flame_Lord,
Ring_Of_Resonance, -1, 300, Good_Ring_Of_Resonance,
- Angel's_Protection, 1, 20, Im_Angel's_Protection,
- Angel's_Safeguard, 1, 20, Impr_Angel's_Safeguard,
- Angel's_Arrival, 1, 20, Impr_Angel's_Arrival,
- Angel's_Warmth, 1, 20, Impr_Angel's_Warmth,
+ Angels_Protection, 1, 20, Im_Angels_Protection,
+ Angels_Safeguard, 1, 20, Impr_Angels_Safeguard,
+ Angels_Arrival, 1, 20, Impr_Angels_Arrival,
+ Angels_Warmth, 1, 20, Impr_Angels_Warmth,
Kiss_Of_Angel, 1, 20, Improved_Kiss_Of_Angel;
break;
}
@@ -680,10 +680,10 @@ moc_para01,41,169,3 script Reno#2012hat 1_M_WIZARD,{
else if (.@r <= 9) getitem Improved_Assassin_Mask,1;
else if (.@r <= 12) getitem Improved_Welding_Mask,1;
else if (.@r <= 13) getitem Safety_Ring_,1;
- else if (.@r <= 14) getitem Im_Angel's_Protection,1;
- else if (.@r <= 15) getitem Impr_Angel's_Safeguard,1;
- else if (.@r <= 16) getitem Impr_Angel's_Arrival,1;
- else if (.@r <= 17) getitem Impr_Angel's_Warmth,1;
+ else if (.@r <= 14) getitem Im_Angels_Protection,1;
+ else if (.@r <= 15) getitem Impr_Angels_Safeguard,1;
+ else if (.@r <= 16) getitem Impr_Angels_Arrival,1;
+ else if (.@r <= 17) getitem Impr_Angels_Warmth,1;
else getitem Improved_Kiss_Of_Angel,1;
break;
case 4:
diff --git a/npc/re/quests/quests_aldebaran.txt b/npc/re/quests/quests_aldebaran.txt
index 017421258..336ddb1c7 100644
--- a/npc/re/quests/quests_aldebaran.txt
+++ b/npc/re/quests/quests_aldebaran.txt
@@ -11,6 +11,7 @@
//=
//= Copyright (C) 2016 Hercules Dev Team
//= Copyright (C) 2016 Ridley
+//= Copyright (C) 2016 Aleos
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -29,7 +30,7 @@
//================= Description ===========================================
//= NPCs related to Aldebaran Clock Tower (Nightmare)
//================= Current Version =======================================
-//= 1.0
+//= 1.1
//=========================================================================
c_tower1,232,222,5 script Belljamin Button#ct 4_M_RUSMAN2,{
mes("[Belljamin Button]");
@@ -43,43 +44,21 @@ c_tower1,232,222,5 script Belljamin Button#ct 4_M_RUSMAN2,{
mes("[Belljamin Button]");
mes("I'm begging you not to ask more about it. It might put your life in danger.");
next;
- switch (select("Don't ask", "Go to 2nd floor of warped tower", "Go to 3rd floor of warped tower")) {
+ .@menu = select("Don't ask", "Go to 2nd floor of warped tower", "Go to 3rd floor of warped tower");
+ switch (.@menu) {
case 1:
- mes("[Belljamin Button]");
- mes("Phew...You've made good choice. The place is so brutal so you should probably get back to a safe area.");
- close;
- case 2:
- mes("[Belljamin Button]");
- mes("Be careful with your choice.");
- next;
- mes("[Belljamin Button]");
- mes("I need ^0000FF10,000z^000000 to let you in. It's a pretty dangerous place to be.");
- next;
- switch (select("Quit", "Pay 10,000z", "Why do you need money?")) {
- case 1:
- mes("[Belljamin Button]");
- mes("Phew...You've made good choice. The place is so brutal so you should probably get back to a safe area.");
- close;
- case 2:
- if (Zeny < 10000) {
- mes("[Belljamin Button]");
- mes("Really? You don't have money and asked me to take you there?");
- close;
- }
- Zeny -= 10000;
- mes("[Belljamin Button]");
- mes("I'm not sure how you'll keep track of time in there but be as careful as you can.");
- close2;
- warp "c_tower2_", 268, 26;
- end;
- case 3:
- mes("[Belljamin Button]");
- mes("I am here all day for the safety of adventurers. I always alert them about the danger. That's why I need some pay.");
- emotion e_swt;
- close;
- }
break;
+ case 2:
case 3:
+ if (.@menu == 2) {
+ .@map$ = "c_tower2_";
+ .@x = 268;
+ .@y = 26;
+ } else {
+ .@map$ = "c_tower3_";
+ .@x = 65;
+ .@y = 147;
+ }
mes("[Belljamin Button]");
mes("Be careful with your choice.");
next;
@@ -88,9 +67,7 @@ c_tower1,232,222,5 script Belljamin Button#ct 4_M_RUSMAN2,{
next;
switch (select("Quit", "Pay 10,000z", "Why do you need money?")) {
case 1:
- mes("[Belljamin Button]");
- mes("Phew...You've made good choice. The place is so brutal so you should probably get back to a safe area.");
- close;
+ break;
case 2:
if (Zeny < 10000) {
mes("[Belljamin Button]");
@@ -101,7 +78,7 @@ c_tower1,232,222,5 script Belljamin Button#ct 4_M_RUSMAN2,{
mes("[Belljamin Button]");
mes("I'm not sure how you'll keep track of time in there but be as careful as you can.");
close2;
- warp "c_tower3_", 65, 147;
+ warp .@map$, .@x, .@y;
end;
break;
case 3:
@@ -110,7 +87,11 @@ c_tower1,232,222,5 script Belljamin Button#ct 4_M_RUSMAN2,{
emotion e_swt;
close;
}
+ break;
}
+ mes("[Belljamin Button]");
+ mes("Phew...You've made good choice. The place is so brutal so you should probably get back to a safe area.");
+ close;
}
c_tower2_,274,26,3 script Belljamin Button#nct1 4_M_RUSCHILD,{
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index 9c414a6c9..ff8038166 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -112,7 +112,7 @@ OnGo:
mes "bow wow bow wow!!";
next;
++brazil_kid;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
if (brazil_kid == 3) {
mes "Good. I found all 3 puppies.";
mes "Now I need to go tell Angelo.";
@@ -304,7 +304,7 @@ brasilis,192,133,6 script Lucia#brasilis 4_F_BRZ_WOMAN,{
}
else {
mes "[Lucia]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 you're back.";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000 you're back.";
if (questprogress(9029,PLAYTIME) == 1) {
mes "I'm so grateful for your help.";
mes "Each ^006400Hydra Ball^000000 is provided ^006400every 24 hours^000000";
@@ -644,7 +644,7 @@ bra_in01,95,179,3 script Cherto 4_M_BRZ_MAN2,{
mes "[Cherto]";
mes "If he can make crying sounds of animals, they might be able to converse!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Now, what can I do?";
mes "If he is the kid from the legend, is there any way to raise the guarana again?";
next;
@@ -712,7 +712,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
mes "Kaaaaaaao~";
mes "Grrrrrrrrr - kaaan-";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "He makes strange sound like an animals.";
mes "Should I ask advice from Cherto?";
brazil_gua = 4;
@@ -722,7 +722,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
}
}
else if (brazil_gua == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "He makes strange sounds like an animal.";
mes "Should I ask advice from Cherto?";
close;
@@ -736,7 +736,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
mes "[Strange Kid]";
mes "ah... ahah.....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I don't have a story but there are lots of friends waiting outside.";
next;
mes "- You give the feather, fresh meat and branch of grapes to the kid -";
@@ -754,7 +754,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
mes "mon, mon, mon...key......";
mes "boo, booow...........";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Dog?!";
mes "kkk yes. Lots of friends want to meet you.";
mes "Don't be lonely anymore and be happy with your friends.";
@@ -768,20 +768,20 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
mes "Ye......yes.......";
mes "tha... than......thank......yo.........you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Alright such a cute smile!";
mes "Be a happy kid as always.";
next;
mes "[Strange Kid]";
mes "Uh......";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "what?";
next;
mes "[Strange Kid]";
mes "hey..........";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you want to say anything?";
next;
mes "- You get closer and pretend to take caution. -";
@@ -796,13 +796,13 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
mes "[Strange Kid]";
mes "ga...ra..........na...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oops, guarana berry?";
mes "Ah! Thank you very much!";
emotion e_kis2,1;
emotion e_heh;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If I have this, I can make a guarana candy.";
mes "I better find that Candy Maker!";
brazil_gua = 10;
@@ -839,7 +839,7 @@ brasilis,56,224,7 script Mage Paje#bra 4_M_BIBI,{
mes "Good to see you.";
mes "I am the Mage Paje.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hello. Mr. Cherto told me to find you.";
next;
mes "[Mage Paje]";
@@ -1017,7 +1017,7 @@ bra_fild01,245,52,3 script Monkey#bra HIDDEN_NPC,{
mes "I can smell Jaguar from you, who are you?";
mes "Gosh, maybe there's no jaguar without fur and weird shape!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "........................";
mes "Are you saying that I look like an animal?!?!";
next;
@@ -1039,7 +1039,7 @@ bra_fild01,245,52,3 script Monkey#bra HIDDEN_NPC,{
next;
mes "- You get a bunch of grapes from Monkey. -";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Good~ Now it's time to go back to the kid~!!";
brazil_gua = 9;
changequest 2198,2199;
@@ -1138,8 +1138,8 @@ bra_in01,142,27,5 script Marta#bra 4_F_BRZ_INDOLD,{
mes "I am Kaka!!";
mes "Whats your name?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I am "+strcharinfo(PC_NAME)+".";
next;
mes "[Brasilis Boy]";
mes "The outsider has a weird name!";
@@ -1149,7 +1149,7 @@ bra_in01,142,27,5 script Marta#bra 4_F_BRZ_INDOLD,{
mes "Hehe...";
mes "So, why have you come here stranger~?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I heard you knows lots of stories, is that true?";
next;
mes "[Kaka]";
@@ -1169,7 +1169,7 @@ bra_in01,142,27,5 script Marta#bra 4_F_BRZ_INDOLD,{
mes "[Marta]";
mes "Hey~ do you have special story that you want to listen to?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "About the mysterious water lily?";
next;
mes "[Marta]";
@@ -1289,8 +1289,8 @@ bra_in01,145,27,3 script Brasilis Boy#bra 4_M_BRZ_INDIAN,{
mes "I am Kaka!!";
mes "Whats your name?";
next;
- mes "["+strcharinfo(0)+"]";
- mes "I am "+strcharinfo(0)+".";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "I am "+strcharinfo(PC_NAME)+".";
next;
mes "[Brasilis Boy]";
mes "The outsider has a weird name!";
@@ -1300,7 +1300,7 @@ bra_in01,145,27,3 script Brasilis Boy#bra 4_M_BRZ_INDIAN,{
mes "Hehe...";
mes "So, why have you come here stranger~?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I heard you knows lots of stories, is that true?";
next;
mes "[Kaka]";
@@ -1320,7 +1320,7 @@ bra_in01,145,27,3 script Brasilis Boy#bra 4_M_BRZ_INDIAN,{
mes "[Marta]";
mes "Hey~ do you have special story that you want to listen to?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "About the mysterious water lily?";
next;
mes "[Marta]";
@@ -1469,16 +1469,16 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "What's it matter to you that I'm rude??!!";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I know that I'm just passing by but I might be able to help you. What do you think?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This kind of meeting could be more than just a coincidence.";
next;
mes "[Brasilis Girl]";
mes "......................";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm can you tell me your name?";
next;
mes "[Brasilis Girl]";
@@ -1486,7 +1486,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Jasira.";
mes "My name is Jasira.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nice name~.";
mes "Jasira what's going on?";
next;
@@ -1496,7 +1496,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "[Jasira]";
mes "I have to meet 'Jasi' but I can't go out....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "who is Jasi?";
mes "Your.... lover?";
next;
@@ -1512,7 +1512,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Jasi is......";
mes "the great moon.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The moon?";
mes "Maybe... are you talking about the moon from the story?";
next;
@@ -1520,14 +1520,14 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Yeah!";
mes "Dear Jasi is from the moon from the sky!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why are you thinking like that?";
next;
mes "[Jasira]";
mes "Cuz' Jasi is really gorgeous and the most important thing is he is taking care of the water lily in Brasilis.";
next;
emotion e_omg,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Brasilis water lily??!!";
mes "Isn't it the uniqe flower?";
next;
@@ -1536,7 +1536,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "But around Jasi there are lots of water lilies.";
mes "That's why I believe Jasi is the moon.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Where is Jasi?";
next;
mes "[Jasira]";
@@ -1552,7 +1552,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Since I came back home, my parents punished me.";
mes "I can understand why they are worrying but i missed Jasi a lot!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Why don't you meet him after recovering your strength?";
next;
mes "[Jasira]";
@@ -1560,31 +1560,31 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "I wanna see him right now...";
next;
if(select("Help Jasira.", "Ignore her.") == 2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sorry I can't help you. Cheer up!";
next;
mes "[Jasira]";
mes "Crying........";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Jasira I came here to find the Brasilis water lily.";
mes "Don't you think fate has brought us together?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you tell me how to find Jasi, I can help you.";
next;
mes "[Jasira]";
mes "Really? But I don't know exactly how to get there. I was just wandering around when I met him.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Can't you remember anything?";
mes "If you know something you've gotta tell me.";
next;
mes "[Jasira]";
mes "Let's see... I was wandering around a waterfall then fell down into the water then I was sucked into somewhere.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Good, that's better than nothing! I will look for a similar place.";
next;
mes "[Jasira]";
@@ -1618,7 +1618,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Did you talk about me?";
mes "You didn't? Uh? Stupid! Gosh~!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey girl~ you've got a short temper.";
mes "I did see him and I talked about you!";
next;
@@ -1627,7 +1627,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "What did he say?";
mes "Does he remember me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "That you have a really good heart~";
mes "I told him that you will try to meet him when your condition gets better.";
next;
@@ -1635,7 +1635,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Yeahhhhh!!";
mes "Thank you! You are more reliable than I thought you would be.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Anyway, I'm looking for a fruit that's brown and has a hard shell.";
mes "It has juice inside and can be used as a cup to drink out of.";
next;
@@ -1643,7 +1643,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Duh! You mean a coconut right?!";
mes "They're everywhere here in Brasilis.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thanks Jasira!";
brazil_regia = 6;
changequest 2204,2205;
@@ -1667,7 +1667,7 @@ brasilis,270,145,5 script Brasilis Girl#bra 4_F_BRZ_INDIAN,5,5,{
mes "Gosh! Gosh!!!";
mes "Kkkkkaaaaa - !!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thanks to you, I was able to get a flower.";
mes "Thanks a lot!!";
next;
@@ -1736,7 +1736,7 @@ bra_dun02,67,205,5 script Recluse#bra 4_M_BRZ_JACI,3,3,{
mes "[Jasi]";
mes "My family has taken care of the water lily calmly to prevent harm from people's hand or monsters.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you remember a girl named Jasi.";
next;
mes "[Jasi]";
@@ -1744,7 +1744,7 @@ bra_dun02,67,205,5 script Recluse#bra 4_M_BRZ_JACI,3,3,{
mes "Ah!! a hurry scurry girl. ";
mes "Gosh.. I was in trouble due to that girl.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Trouble?";
next;
mes "[Jasi]";
@@ -1754,7 +1754,7 @@ bra_dun02,67,205,5 script Recluse#bra 4_M_BRZ_JACI,3,3,{
mes "I was barely able to calm down and send her to the village.";
mes "My life is that water lily so I didn't want anything embarrassing to happen.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "This is a gift from Jasira to say sorry for that time.";
mes "She is really sad that can't come here by herself due to private difficulties.";
next;
@@ -1771,7 +1771,7 @@ bra_dun02,67,205,5 script Recluse#bra 4_M_BRZ_JACI,3,3,{
mes "[Jasi]";
mes "Anyway is that all the business you have with me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Umm honestly I was wondering to find water lily and met you by coincidence. Jasira told me her sad story so that's what led me here.";
next;
mes "[Jasi]";
@@ -1803,7 +1803,7 @@ bra_dun02,67,205,5 script Recluse#bra 4_M_BRZ_JACI,3,3,{
mes "Did you find the fruit?";
mes "Oh right this is....?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's called a 'coconut'.";
next;
mes "[Jasi]";
@@ -1850,14 +1850,14 @@ bra_dun02,71,200,3 script Water lily#bra HIDDEN_NPC,{
mes "[Jasi]";
mes "Uh! What are you doing??!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "There is a person who really needs this flower, can I just take one of 'em?";
next;
mes "[Jasi]";
mes "As I said earlier, I am the guardian of this water lily.";
mes "I can't just stand by here and watch you pluck even a single flower from it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hey man~ I brought these delicious fruits for you... try it! They are really well matured and fresh bananas.";
next;
if (countitem(Banana) < 10) {
@@ -1895,13 +1895,13 @@ bra_dun02,71,200,3 script Water lily#bra HIDDEN_NPC,{
mes "But rules are rules!";
mes "I must do my duty.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Please! I just need one flower~ What can I do to convince you?";
next;
mes "[Jasi]";
mes "Rules are rules, what do you want from me?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Didn't that banana remind you of your childhood? What can I get for you?";
next;
mes "[Jasi]";
@@ -1918,7 +1918,7 @@ bra_dun02,71,200,3 script Water lily#bra HIDDEN_NPC,{
brazil_regia = 5;
changequest 2203,2204;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok so I have to bring 5 fruits with hard shells.";
mes "Hmm what is it?";
close;
@@ -2239,7 +2239,7 @@ bra_in01,149,184,3 script Door#bra CLEAR_NPC,{
mes "You start saying the first line of the magic words.";
input .@input$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
next;
.@braspell$ = "Mother the door won't open!";
@@ -2341,7 +2341,7 @@ bra_in01,144,187,3 script Toilet#bra CLEAR_NPC,{
mes "- What was the second line to that spell now? -";
input .@input$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
next;
.@braspell$ = "Mother the water is flooding!";
@@ -2414,7 +2414,7 @@ bra_in01,134,189,3 script Faucet#bra CLEAR_NPC,{
mes "- What was the next line to that spell now? -";
input .@input$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
next;
.@braspell$ = "Mother the drought has started!";
@@ -2489,7 +2489,7 @@ bra_in01,138,184,3 script Carpet#bra CLEAR_NPC,{
mes "- What was the next line to that spell now? -";
input .@input$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
next;
.@braspell$ = "Mother where are my friends?";
@@ -2571,7 +2571,7 @@ bra_in01,151,180,3 script Mirror#bra CLEAR_NPC,{
mes "- What was the next line to that spell now? -";
input .@input$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
next;
.@braspell$ = "Where are you mom?";
@@ -2594,7 +2594,7 @@ bra_in01,151,180,3 script Mirror#bra CLEAR_NPC,{
enablenpc "Ghost#bra";
next;
emotion e_omg,1;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The stories about the ghost are true~!";
next;
mes "[Ghost]";
@@ -3057,7 +3057,7 @@ brasilis,315,334,5 script Shaman#nk 4_F_BRZ_INDOLD,{
bra_dun02,157,74,5 script Iara#nk 4_F_BRZ_WOMAN,2,2,{
if (countitem(Puri_Potion) > 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Should I use a Purification Potion?";
next;
switch(select("Yes.", "No.")) {
@@ -3099,7 +3099,7 @@ bra_dun02,157,74,5 script Iara#nk 4_F_BRZ_WOMAN,2,2,{
mes "Leave now while you are safe.";
close;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(I guess I should ignore her.)";
close;
}
@@ -3114,7 +3114,7 @@ bra_dun02,157,74,5 script Iara#nk 4_F_BRZ_WOMAN,2,2,{
else
sc_start SC_CONFUSION,60000,0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ugh! What's this strange voice?";
close;
}
@@ -3131,7 +3131,7 @@ OnTouch:
else
sc_start SC_CONFUSION,60000,0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ugh! What's this strange voice?";
close;
}
@@ -3146,11 +3146,11 @@ bra_fild01,188,301,5 script Native Warrior#nk 4_M_BRZ_INDIAN,{
mes "When will she come out of the waterfall again...?";
next;
if (questprogress(4133) || questprogress(4134)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(Wh...what's this guy?)";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "(This guy will never";
mes "get over Iara's curse...)";
}
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index 19b4a197d..52a604278 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -992,7 +992,7 @@ dewata,109,262,4 script Memo#dew_drink 4_M_DEWOLDMAN,{
.@j |= (1<<.@i);
if (.@j == 0) {
mes "[Memo]";
- mes strcharinfo(0)+", to what do I owe the pleasure?";
+ mes strcharinfo(PC_NAME)+", to what do I owe the pleasure?";
next;
switch(select("Just came by to say hello.", "I will help you.")) {
case 1:
@@ -1276,7 +1276,7 @@ dew_fild01,114,275,4 script Lero#dew_drink 4_M_DEWMAN,{
mes "What did Mr. Memo say?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
emotion e_loud,1;
mes "... ... ... ...";
next;
@@ -1457,7 +1457,7 @@ dew_fild01,259,48,4 script Poby#dew_drink 4_M_DEWBOY,{
close;
} else if (dew_drink == 10) {
mes "[Poby]";
- mes "Oh! "+strcharinfo(0)+", we meet again. What's going on?";
+ mes "Oh! "+strcharinfo(PC_NAME)+", we meet again. What's going on?";
if (questprogress(5047))
.@count = 10;
@@ -1490,7 +1490,7 @@ dew_fild01,259,48,4 script Poby#dew_drink 4_M_DEWBOY,{
getitem Palm_O,.@new_count;
next;
mes "[Poby]";
- mes "Please~ "+strcharinfo(0)+".";
+ mes "Please~ "+strcharinfo(PC_NAME)+".";
close;
}
next;
@@ -1708,7 +1708,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
next;
input .@island_name$;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "It's called "+ .@island_name$ +". What's wrong?";
next;
if (.@island_name$ == "Dewata Island") {
@@ -1748,13 +1748,13 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "I found a mysterious Weapon blueprint, but I don't remember exactly when I acquired it.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Weapon Blueprint?";
next;
mes "[Gatti]";
mes "Yes! I traveled all around to find the materials for the weapon, but...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "But?";
next;
mes "[Gatti]";
@@ -1766,7 +1766,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "I don't know why somebody put such an important thing in fine print. Anyway, after reading that, I invested all my fortunes to find that Island.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh... Is that so?";
next;
mes "[Gatti]";
@@ -1776,7 +1776,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "Last week was so hard, but you saved me by telling me this is Dewata Island.";
mes "Thank you for telling me, and thank you for passing here at just the right time.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Uh... No problem.";
next;
mes "[Gatti]";
@@ -1792,7 +1792,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "Ah! the material that I am looking for is Comodo Leather.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Comodo Leather?";
next;
mes "[Gatti]";
@@ -1801,7 +1801,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "In order to fight the Comodo Dragon, you have to get recognized by the natives. I assume it'll be hard to get the recognition.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Of course, it must be...";
next;
mes "[Gatti]";
@@ -1930,7 +1930,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
dew_weapon = 5;
close;
} else if (dew_weapon == 5) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well... Gatti?";
next;
mes "[Gatti]";
@@ -1942,7 +1942,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes ".... .... .... ....";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hilt?";
next;
mes "[Gatti]";
@@ -1953,7 +1953,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "I tried making it like what's written in the blueprint, but I need more material.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Really?";
next;
mes "[Gatti]";
@@ -2024,7 +2024,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
close;
} else if (dew_weapon >= 7) {
mes "[Gatti]";
- mes "You're "+strcharinfo(0)+",";
+ mes "You're "+strcharinfo(PC_NAME)+",";
mes "So, how's the Caress that I made you?";
switch(select("It's great!", "I need another Caress.", "Can I make it stronger?")) {
case 1:
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index c615a16ef..0aa4ffa1a 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -435,7 +435,7 @@ dic_in01,254,119,0 script Item Storage#01 CLEAR_NPC,{
mes "put in 500 Zeny?";
next;
if(select("Use safe", "No way.")==2) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I will use it later.";
close;
}
@@ -557,7 +557,7 @@ dic_in01,48,263,5 script Hunting Dept. 1 Manager 4_MAN_BENKUNI,{
que_dic(0,12103,4000,.@s$);
que_dic(0,12104,73000,.@s$);
que_dic(0,12105,59000,.@s$);
- mes "Um....." + strcharinfo(0) + "";
+ mes "Um....." + strcharinfo(PC_NAME) + "";
mes "You will be in trouble if you lie about the request...";
close;
}
@@ -626,7 +626,7 @@ dic_in01,51,266,6 script Hunting Dept. 2 Manager 4_MAN_BENKUNI,{
que_dic(0,12109,53000,.@s$);
que_dic(0,12110,30000,.@s$);
que_dic(0,12111,42000,.@s$);
- mes "Umm.." + strcharinfo(0) + "";
+ mes "Umm.." + strcharinfo(PC_NAME) + "";
mes "Please check your request history again. There is a discrepancy with our documents.";
close;
}
@@ -754,7 +754,7 @@ dic_in01,48,273,1 script Supply Dept. 2 Manager 4_MAN_BENKUNI,{
mes "Let me check your records first.";
next;
mes "[Supply Dept. 2 Manager]";
- .@s$ = "" + strcharinfo(0) + ", you handle your requests quite well. You are not like the pub owner who just sends requests here every day.";
+ .@s$ = "" + strcharinfo(PC_NAME) + ", you handle your requests quite well. You are not like the pub owner who just sends requests here every day.";
que_dic(1,12127,65300,6023,5,.@s$);
que_dic(1,12128,65300,6020,21,.@s$);
que_dic(1,12129,82800,1042,27,.@s$);
@@ -1227,7 +1227,7 @@ dic_in01,138,225,3 script Diel Guard#ep133_19 4_MAN_GALTUN1,{
if (select("I have permission.", "Go back.") == 1) {
mes "[Diel Guard]";
mes "Wait...";
- mes strcharinfo(0) + "......ah... I see your name on the list.";
+ mes strcharinfo(PC_NAME) + "......ah... I see your name on the list.";
mes "I'm sorry.";
mes "Please go through.";
close2;
@@ -1243,7 +1243,7 @@ dic_in01,138,225,3 script Diel Guard#ep133_19 4_MAN_GALTUN1,{
}
else if (ep13_3_secret > 13) {
mes "[Diel Guard]";
- mes "Ah, you are " + strcharinfo(0) + "..";
+ mes "Ah, you are " + strcharinfo(PC_NAME) + "..";
mes "I received an order from Ahat to let you through anytime.";
mes "Please go up.";
close2;
@@ -1377,7 +1377,7 @@ dic_in01,294,276,5 script Secret Adjutant#ep133_2 4_M_CATMAN2,{
next;
cutin (Sex == SEX_MALE?"ep13_ahat_f":"ep13_ahat_m"),2;
mes "[Ahat]";
- mes "" + strcharinfo(0) + "....";
+ mes "" + strcharinfo(PC_NAME) + "....";
mes "All you need to do is follow Cheshire's orders.";
mes "Don't ask stupid questions. This is an order.";
mes "Cheshire. continue.";
@@ -1657,7 +1657,7 @@ dic_in01,300,280,5 script Minister Ahat#ep133_21 4_HUMAN_GERUTOO,{
next;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You!!!";
mes "I'm in love!";
mes "I will die for you!";
@@ -1898,7 +1898,7 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
mes "I will send you out";
next;
select("I was joking before.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I want to know about Ahat too.";
mes "I want to talk about him with you.";
mes "But aren't you too defenseless while I'm talking like this?";
@@ -1950,7 +1950,7 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
mes "Oh no!";
next;
select("No!", "That's not it!");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm not under the spell!";
mes "I only pretend that I am. I'm also investigating Ahat!";
next;
@@ -1968,7 +1968,7 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
mes "So everything started from the crack.";
next;
select("He is human.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "El Dicastes only recently allowed humans to visit.";
mes "Why would a human take the place of a Sapha Jarute?";
next;
@@ -2096,7 +2096,7 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
mes "[HesLanta]";
mes "But why are you asking?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Nothing.";
mes "I was only curious personally.";
mes "What are you going to do now?";
@@ -2109,44 +2109,44 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
while (1) {
if (.@yes == 5) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "To summarize.";
mes "The report robber is Cheshire.";
mes "Cheshire is Ahat's servant and they are related to the crack.";
mes "They are trying to hide something or someone at the crack";
mes "and the crack was created by the evil lord Morroc!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ahat is the evil lord?";
mes "No...";
mes "This is unbelievable.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I must go back to the expedition camp to report to Doha!";
ep13_3_secret = 22;
setquest 7203;
close;
}
else if (.@yes == 0) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "First the report culprit was..";
next;
switch (select("Cheshire", "Ahat", "BK")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It was Cheshire";
mes "Cheshire is a feline.";
mes "and the bandana was to hid his ears.";
++.@yes;
break;
case 2:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ahat? It can't be him.";
mes "Ahat doesn't fit the witness information.";
mes "Let's rethink this.";
break;
case 3:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "BK?";
mes "Nonsense";
mes "Let's rethink this.";
@@ -2155,16 +2155,16 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
}
else if (.@yes == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why would Cheshire try to steal the report?";
next;
if (select("No idea.", "To make the conflict between 3 countries worse") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "We don't know the actual reason at this point.";
mes "But what will Cheshire gain out of this?";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "To bring conflict between the three countries?";
mes "What will Cheshire gain out of this?";
}
@@ -2172,17 +2172,17 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
}
else if (.@yes == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Cheshire's master is Ahat.";
mes "So all his actions are to..";
next;
if (select("Cheshire is plotting on his own.", "Ahat must be ordering him.") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Cheshire arbitrary?";
mes "Are you sure?";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes. Ahat must have order him.";
mes "But why would Ahat do that?";
mes "Conflict between three countries? Or the report content?";
@@ -2191,23 +2191,23 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
}
else if (.@yes == 3) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's think Ahat over.";
mes "Ahat came from the crack.";
mes "and has no records before that.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "And tries to erase all traces found near the crack.";
mes "And Ahat wants to eliminate...";
next;
if (select("Ahat himself.", "Morroc because of the crack?") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes, Ahat might be a trace of himself.";
mes "Saphas want to hide something that is why they hired me";
mes "that doesn't belong to any influence can be used as a puppet to do his dirty work.";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "A bit dramatic but we cannot rule out the evil lord Morroc.";
mes "Because the crack was created by the evil lord Morroc himself.";
}
@@ -2215,19 +2215,19 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
}
else if (.@yes == 4) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ahat and the crack and then Morroc..";
mes "I can tell there is a relationship between them but I can't pinpoint it.";
mes "And in the expedition's report...";
next;
if (select("Content of conflict between three countries.. ", "Content about evil lord Morroc..") == 1) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "There was something about the conflict between three countries..";
mes "But.. I don't think it all adds up?";
mes "Let's think it over.";
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Yes. There is a report from the tracking team led by Echinacea.";
mes "It was about the evil lord Morroc.";
++.@yes;
@@ -2235,7 +2235,7 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 4_MAN_JERUTOO,{
next;
}
else {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Oh no. I don't know.";
mes "Let's think it over.";
.@yes = 0;
@@ -3415,7 +3415,7 @@ mid_campin,168,170,3 script Inspector Doha#ep133 1_M_ORIENT01,{
mes "Me?";
mes "Are you the person the captain was speaking of?";
mes "What was the name...";
- mes strcharinfo(0) + "?";
+ mes strcharinfo(PC_NAME) + "?";
next;
mes "[Doha]";
mes "Hmm.. I don't know why you were chosen but I guess they trusted you enough.";
@@ -3849,7 +3849,7 @@ dic_in01,245,119,4 script Shay#ep133_13 4_M_ACROSS,{
"7188","The Knits at the square are interested in Ahat.",
"7189","I heard from Pioms that most of the Saphas are interested in the minister.",
"7190","Galtens are interested in the Cat Merchant for their cat ears.";
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I'm trying to organize the information I've collected.";
.@size = getarraysize(.@ward$);
for (.@i = 0; .@i < .@size; .@i += 2)
@@ -3860,7 +3860,7 @@ dic_in01,245,119,4 script Shay#ep133_13 4_M_ACROSS,{
if (!.@sealall) mes "But what should I do with the collected information?";
next;
if (.@sealall < 3) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Moan...";
mes "[Shay]";
mes "You look lost like as if nothing makes sense anymore.";
@@ -3871,7 +3871,7 @@ dic_in01,245,119,4 script Shay#ep133_13 4_M_ACROSS,{
mes "There are the Cat Merchants outside of the castle, too.";
break;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Everybody";
mes "is talking about the minister these days!";
mes "What is with this Ahat anyway.";
@@ -3895,7 +3895,7 @@ dic_in01,245,119,4 script Shay#ep133_13 4_M_ACROSS,{
mes "I garnished it with bananas.";
mes "Doesn't look like it but this is an apple pie.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But why is there a carrot in a pie.";
mes "And there is no hint of apples.";
next;
@@ -4590,7 +4590,7 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
next;
input .@inputstr$;
if (.@inputstr$ == "Shay's special drink will be delivered" || .@inputstr$ == "Shay's special drink will be delivered.") {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm. If you don't cooperate,";
mes "Shay's special drink will be delivered.";
mes "By Shay himself!";
@@ -4617,7 +4617,7 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
ep13_3_secret = 6;
close;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "" + .@inputstr$ + ".....?";
mes "Hmm.. I think you are wrong?";
mes "What was it..";
@@ -4763,7 +4763,7 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
mes "- BK says this and takes the exploit certification out of your hand.";
mes "Shocking information that the Sapha minister Ahat is not a Sapha!-";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "...I must find out.";
mes ".. Near the crack he said...";
mes "Should I talk to Shay?";
@@ -4851,12 +4851,12 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
setquest 7194;
donpcevent strnpcinfo(NPC_NAME)+"::OnDisable";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm.. I may need to discuss these with Shay.";
close;
}
else if (ep13_3_secret == 11) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
if (.@npc$[.@type] == "Rock Pile") mes "This is where you picked up the strange magical stone.";
else if (.@npc$[.@type] == "Dirt Pile") mes "Collected Clotted Bloodstains from the dirt pile here.";
else if (.@npc$[.@type] == "Split Earth") mes "It is the place where the frozen skin was found.";
@@ -5010,7 +5010,7 @@ dicastes01,117,262,0 script Frede#13_3 4_MAN_PIOM5,2,2,{
mes "[Frede]";
mes "Moan... moan...";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Are you alright?";
mes "You don't look well. Do you need help?";
next;
@@ -5040,7 +5040,7 @@ dicastes01,117,262,0 script Frede#13_3 4_MAN_PIOM5,2,2,{
close;
}
mes "[Frede]";
- mes "" + strcharinfo(0) + ", the guys said they wanted to meet up together sometime.";
+ mes "" + strcharinfo(PC_NAME) + ", the guys said they wanted to meet up together sometime.";
mes "Make sure you ckear your schedule.";
close;
}
@@ -5071,7 +5071,7 @@ dic_in01,165,104,0 script Frede#13_3_in 4_MAN_PIOM,{
mes "I'm glad I got a shot of the ^f57d7dBradium^000000 before it was too late.";
percentheal -90,0;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Huff...Huff...";
mes "I'm glad that you feel better.";
next;
@@ -5080,7 +5080,7 @@ dic_in01,165,104,0 script Frede#13_3_in 4_MAN_PIOM,{
mes "You look a little pale too......";
emotion e_omg;
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "No, it's nothing.";
mes "I'm only a little tired, that's all.";
next;
@@ -5093,13 +5093,13 @@ dic_in01,165,104,0 script Frede#13_3_in 4_MAN_PIOM,{
close;
}
else if (ep13_3_bra == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But the injury on your leg doesn't look new. Why did you come out with a wounded leg?";
next;
mes "[Frede]";
mes "I can still move around with this leg and I wanted to help the village.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "But you should stay home and recover.";
next;
mes "[Frede]";
@@ -5322,12 +5322,12 @@ dic_in01,165,104,0 script Frede#13_3_in 4_MAN_PIOM,{
}
if (!.@fail) {
mes "[Frede]";
- mes "" + strcharinfo(0) + " I'm forever in your debt!";
+ mes "" + strcharinfo(PC_NAME) + " I'm forever in your debt!";
mes "I just came back after meeting my friends!";
mes "Tyler needs some medical treatment but everyone else is safe.";
next;
mes "[Frede]";
- mes "I don't even want to imagine what could have happened if you, " + strcharinfo(0) + ", weren't here to help.";
+ mes "I don't even want to imagine what could have happened if you, " + strcharinfo(PC_NAME) + ", weren't here to help.";
mes "I don't want to lose any more friends.";
next;
mes "[Frede]";
@@ -5347,7 +5347,7 @@ dic_in01,165,104,0 script Frede#13_3_in 4_MAN_PIOM,{
close;
}
mes "[Frede]";
- mes "" + strcharinfo(0) + ", the guys said they wanted to meet up together sometime.";
+ mes "" + strcharinfo(PC_NAME) + ", the guys said they wanted to meet up together sometime.";
mes "Make sure you clear your schedule.";
close;
}
@@ -5422,7 +5422,7 @@ dic_dun01,205,43,5 script Brian#ep13_3_ 4_MAN_PIOM4,{
mes "What brings you here this time?";
next;
select("You give Bradium to Brian.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Frede asked me to give you this.";
next;
mes "[Brian]";
@@ -5553,7 +5553,7 @@ dic_dun01,153,107,4 script Tyler#13_3 4_MAN_PIOM6,{
case 1:
break;
}
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Frede asked me to give you this.";
next;
mes "[Tyler]";
@@ -5663,7 +5663,7 @@ dic_dun01,235,243,0 script John#13_3 4_MAN_PIOM,{
mes "......";
next;
select("You give Bradium to John.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Frede asked me to give you this.";
next;
mes "[John]";
@@ -5752,7 +5752,7 @@ dic_dun02,110,127,5 script Rose#13_3 4_MAN_PIOM6,{
mes "If you really have feelings, race differences shouldn't be a problem.";
next;
select("You give Bradium to Rose.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You give Bradium to Rose.";
next;
mes "[Rose]";
@@ -5842,7 +5842,7 @@ dic_dun01,64,107,7 script Bain#13_3 4_MAN_PIOM4,{
mes "It doesn't come off. I'll have to go back to the village to get treatment.";
next;
select("Give Bradium.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Frede asked me to give you this.";
next;
mes "[Bain]";
@@ -5952,7 +5952,7 @@ dic_dun01,58,225,4 script Lash#13_3 4_MAN_PIOM5,{
mes "Never knew I would feel this. Sob.";
next;
select("You give Bradium to Lash.");
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Frede asked me to give you this.";
next;
mes "[Lash]";
@@ -5997,7 +5997,7 @@ dic_in01,349,129,5 script Bouy#13_3 4_MAN_BENKUNI,{
mes "I didn't know. Excuse me.";
mes "What did he ask you to do?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "He asked me to deliver Bradium to his friends working in the cave outside the village.";
next;
mes "[Bouy]";
@@ -6014,7 +6014,7 @@ dic_in01,349,129,5 script Bouy#13_3 4_MAN_BENKUNI,{
mes "[Bouy]";
mes "Worst case, they wouldn't come back to the village at all.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Is there another way?";
next;
mes "[Bouy]";
@@ -6260,7 +6260,7 @@ mid_campin,111,120,3 script Soldier#ep133_is04 4_M_EIN_SOLDIER,{
mes "You do?";
mes "What is your name.";
mes "Thank you.";
- mes "So you are " + strcharinfo(0) + ".";
+ mes "So you are " + strcharinfo(PC_NAME) + ".";
next;
mes "[Soldier]";
mes "You may go in now.";
@@ -6340,7 +6340,7 @@ function script eldicastes_c {
mes "Yes.";
mes "That is what he meant.";
mes "Agiff also approved before he left.";
- mes "" + strcharinfo(0) + ", you are invited.";
+ mes "" + strcharinfo(PC_NAME) + ", you are invited.";
next;
mes "[Vyhannus]";
mes "You are kind and respect others";
@@ -6352,7 +6352,7 @@ function script eldicastes_c {
next;
mes "[Vyhannus]";
mes "I invite you to El Dicastes, our capital city.";
- mes "" + strcharinfo(0) + "";
+ mes "" + strcharinfo(PC_NAME) + "";
next;
select("Never would have imagined.");
mes "[Hound]";
@@ -6395,11 +6395,11 @@ function script eldicastes_c {
mes "Okay. You should be able to talk to him, right?";
mes "Shall we start with introducing ourselves?";
mes "This is...";
- mes ""+strcharinfo(0)+"...";
+ mes ""+strcharinfo(PC_NAME)+"...";
next;
mes "[Vyhannus]";
mes "My name is Vyhannus.";
- mes strcharinfo(0)+"..?";
+ mes strcharinfo(PC_NAME)+"..?";
mes "Glad to meet you.";
next;
if(select("Same here.", "A tree monster!")==1) {
@@ -6784,11 +6784,11 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 4_MAN_NITT,{
mes "I will compare with the invitation list from Manuk.";
mes "What is your name?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "It is " + strcharinfo(0) + ".";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "It is " + strcharinfo(PC_NAME) + ".";
next;
mes "[Clerk Rhawyne]";
- mes "Yes.. " + strcharinfo(0) + "...";
+ mes "Yes.. " + strcharinfo(PC_NAME) + "...";
mes "I found it.";
mes "Welcome to El Dicastes, capital city of Sapha.";
next;
@@ -7519,7 +7519,7 @@ moc_para01,44,19,3 script Cat Hand Agent#gekk 4_M_MERCAT2,{
next;
input .@inputstr$;
mes "[Agent Geck]";
- mes "" + strcharinfo(0) + "? Human names are strange to me.";
+ mes "" + strcharinfo(PC_NAME) + "? Human names are strange to me.";
next;
mes "[Agent Geck]";
mes "Now you are Geck's personal slav... sponsor.";
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index f1abf56aa..d669d0d46 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -2807,7 +2807,7 @@ ecl_in04,226,231,4 script Du Lian#ep14_2in2 4_M_REDMAN,{
emotion e_dots,0,"Alp Ocart#ep14_2in2";
cutin "bu_alp2",2;
ep14_2_oliver = 30;
- getitem C_Oliver_Wolf_Hood,1;
+ getitem(Oliver_Wolf_Hood, 1);
completequest 11337;
close2;
cutin "",255;
@@ -2949,7 +2949,7 @@ ecl_in04,224,234,4 script Mark Esha#ep14_2in2 4_M_BLUEMAN,{
emotion e_dots,0,"Alp Ocart#ep14_2in2";
cutin "bu_alp2",2;
ep14_2_oliver = 30;
- getitem C_Oliver_Wolf_Hood,1;
+ getitem(Oliver_Wolf_Hood, 1);
completequest 11337;
close2;
cutin "",255;
@@ -3094,7 +3094,7 @@ ecl_in04,223,234,4 script Maggi Steen#ep14_2in2 4_F_PINKWOMAN,{
emotion e_dots,0,"Alp Ocart#ep14_2in2";
cutin "bu_alp2",2;
ep14_2_oliver = 30;
- getitem C_Oliver_Wolf_Hood,1;
+ getitem(Oliver_Wolf_Hood, 1);
completequest 11337;
close2;
cutin "",255;
@@ -3230,7 +3230,7 @@ ecl_in04,223,230,4 script Alp Ocart#ep14_2in2 4_M_BLACKMAN,{
emotion e_dots;
cutin "bu_alp2",2;
ep14_2_oliver = 30;
- getitem C_Oliver_Wolf_Hood,1;
+ getitem(Oliver_Wolf_Hood, 1);
completequest 11337;
close2;
cutin "",255;
@@ -17592,7 +17592,7 @@ eclage,112,40,3 script Eclage Guard Leo#tl 4_M_FAIRYSOLDIER2,{
}
}
else if (questprogress(7420) == 1) {
- if ((countitem(Pinguicula's_fruit_Jam) < 3) || (countitem(Luciola's_Honey_Jam) < 3)) {
+ if ((countitem(Pinguiculas_fruit_Jam) < 3) || (countitem(Luciolas_Honey_Jam) < 3)) {
mes "[Leo]";
mes "I need 3 jars of Pinguicula's pickled fruits and another 3 jars of Luciola's honey jam~";
mes "They are specialties of the base of Splendide.";
@@ -17611,8 +17611,8 @@ eclage,112,40,3 script Eclage Guard Leo#tl 4_M_FAIRYSOLDIER2,{
mes "It seems like Mayor Jun has an eye for character.";
mes "So he is Mayor after all...";
next;
- delitem Pinguicula's_fruit_Jam,3; //Pinguicula's_fruit_Jam
- delitem Luciola's_Honey_Jam,3; //Luciola's_Honey_Jam
+ delitem Pinguiculas_fruit_Jam,3;
+ delitem Luciolas_Honey_Jam, 3;
completequest 7420;
getexp 200000,200000;
.@alltotal = questprogress(7420) + questprogress(7419) + questprogress(7418);
diff --git a/npc/re/quests/quests_glastheim.txt b/npc/re/quests/quests_glastheim.txt
new file mode 100644
index 000000000..cc6f2dc9d
--- /dev/null
+++ b/npc/re/quests/quests_glastheim.txt
@@ -0,0 +1,104 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) 2016 Ridley
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Nightmare Glastheim Dungeon
+//================= Description ===========================================
+//= NPCs related to Glastheim (Nightmare)
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+glast_01,195,273,4 script Hugin's Follower#n_gh 2_F_MAGICMASTER,{
+ mes("[Hugin's Follower]");
+ mes("I can't move between time and dimension like a master Hugin but I can pretend to move.");
+ next;
+ mes("[Hugin's Follower]");
+ mes("What about this Glast Heim is born with powerful dark force?");
+ next;
+ if (select("I don't care", "That is interesting, please tell me more") != 1) {
+ mes("[Hugin's Follower]");
+ mes("As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force.");
+ next;
+ mes("[Hugin's Follower]");
+ mes("How is it? Do you want to explore there?");
+ next;
+ if (select("No, I want to stop it", "I really want to do that!") != 1) {
+ mes("[Hugin's Follower]");
+ mes("Sure that is not free~ I have to get something little bit. Hoho...");
+ next;
+ mes("[Hugin's Follower]");
+ mes("I can send you just two place. How is it? Do you want to try?");
+ next;
+ .@menu = select("Cancel", "Monastery Cemetery (Lv100~130) - 5000z", "Corridor of 2nd floor (Over Lv140) - 10000z");
+ switch (.@menu) {
+ case 1:
+ mes("[Hugin's Follower]");
+ mes("Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me...");
+ close;
+ case 2:
+ case 3:
+ if (.@menu == 2) {
+ .@map$ = "gl_chyard_";
+ .@x = 148;
+ .@y = 144;
+ .@zeny = 5000;
+ } else {
+ .@map$ = "gl_cas02_";
+ .@x = 104;
+ .@y = 31;
+ .@zeny = 10000;
+ }
+ if (Zeny < .@zeny) {
+ mes("[Hugin's Follower]");
+ mes("What, did you ask me without money?");
+ close;
+ }
+ Zeny -= .@zeny;
+ warp .@map$, .@x, .@y;
+ end;
+ }
+ }
+ }
+ mes("[Hugin's Follower]");
+ mes("Well~ If you are not interested in it, never mind.");
+ close;
+}
+
+gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 2_F_MAGICMASTER,{
+ mes("[Hugin's Follower]");
+ mes("You want to break?");
+ mes("Ok, let's get out of here.?");
+ next;
+ if (select("Ah, wrong click... I mean I was not talk to you", "Please let me out from here") == 1) {
+ mes("[Hugin's Follower]");
+ mes("Alright just tell me whenever you want to leave.");
+ close;
+ }
+ warp "glast_01", 210, 269;
+ end;
+}
+
+gl_cas02_,104,36,4 duplicate(Hugin's Follower#n_gh1) Hugin's Follower#n_gh2 2_F_MAGICMASTER
diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 4a5f5fab8..1351ab80a 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -98,10 +98,10 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "ah!~ what's your name?";
next;
mes "[Investment Cat Helper]";
- mes strcharinfo(0)+" you are~";
+ mes strcharinfo(PC_NAME)+" you are~";
next;
mes "[Investment Cat Helper]";
- mes "Name: "+strcharinfo(0);
+ mes "Name: "+strcharinfo(PC_NAME);
mes "Number of accounts: 10";
mes "OK! Registered!";
next;
@@ -234,11 +234,11 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "[Investment Cat Helper]";
mes "You can have 20,000 accounts max";
mes "according to the trader policy...";
- mes strcharinfo(0)+"'s accounts increase to 20,000.";
+ mes strcharinfo(PC_NAME)+"'s accounts increase to 20,000.";
mes "Thank you so much for your investment~";
next;
mes "[Investment Cat Helper]";
- mes "Now, "+strcharinfo(0)+", you can't invest further";
+ mes "Now, "+strcharinfo(PC_NAME)+", you can't invest further";
mes "but you can still donate some of your cans to the trader group.";
mes "Thank you so much~";
close;
@@ -261,7 +261,7 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "You want to check the number of accounts? Hmm, let's see~";
next;
mes "[Investment Cat Helper]";
- mes "Name: "+strcharinfo(0);
+ mes "Name: "+strcharinfo(PC_NAME);
mes "Number of accounts: "+ep13_yong1;
next;
mes "[Investment Cat Helper]";
@@ -277,8 +277,8 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
}
} else if (ep13_yong1 >= 20000) {
mes "[Investment Cat Helper]";
- mes strcharinfo(0) + ", welcome~";
- mes strcharinfo(0) + "~ I felt something upon your arrival.";
+ mes strcharinfo(PC_NAME) + ", welcome~";
+ mes strcharinfo(PC_NAME) + "~ I felt something upon your arrival.";
next;
mes "[Investment Cat Helper]";
mes "Want to donate?";
@@ -289,10 +289,10 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
close;
}
mes "[Investment Cat Helper]";
- mes "Wow, thank you, "+strcharinfo(0)+"~!";
+ mes "Wow, thank you, "+strcharinfo(PC_NAME)+"~!";
next;
mes "[Investment Cat Helper]";
- mes strcharinfo(0)+"~ with your help";
+ mes strcharinfo(PC_NAME)+"~ with your help";
mes "the cans will be distributed to cats";
mes "in the Midgard area with honor~";
next;
@@ -314,7 +314,7 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "Ohh! Thank you~";
next;
mes "[Investment Cat Helper]";
- mes "Dear "+strcharinfo(0)+" ~";
+ mes "Dear "+strcharinfo(PC_NAME)+" ~";
mes "I have only Increase AGI";
mes "and Blessing to give you.";
mes "Thank you.";
@@ -933,7 +933,7 @@ mal_in02,174,64,5 script Linguist Devore#mal 4_CAT_MERMASTER,{
emotion e_omg;
next;
mes "[Linguist Devore]";
- mes "Ah, ah! Thanks to you, "+strcharinfo(0)+"!";
+ mes "Ah, ah! Thanks to you, "+strcharinfo(PC_NAME)+"!";
mes "I feel so grateful.";
next;
mes "[Linguist Devore]";
@@ -958,7 +958,7 @@ mal_in02,174,64,5 script Linguist Devore#mal 4_CAT_MERMASTER,{
mes "[Linguist Devore]";
mes "Ah, ah!!";
mes "The study on Starfish is going well.";
- mes "It could've really been a disaster, if you, "+strcharinfo(0)+", didn't help us.";
+ mes "It could've really been a disaster, if you, "+strcharinfo(PC_NAME)+", didn't help us.";
emotion e_thx;
close;
}
@@ -2035,7 +2035,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
mes "Well, that fellow is often the one ignoring my words.";
mes "He wavers with words to say and makes me uncomfortable.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Did you hear? Dr. Devore?";
donpcevent "Linguist Devore#mald::OnEnable";
next;
@@ -2044,7 +2044,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
mes "I cannot hear anything.";
emotion e_what,0,"Linguist Devore#mald";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? Biscuit said 'Well, that fellow is often the one ignoring my words. He wavers with words to say and makes me uncomfortable.'?";
next;
mes "[Linguist Devore]";
@@ -2052,7 +2052,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
mes "I cannot hear anything.";
emotion e_what,0,"Linguist Devore#mald";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh?";
emotion e_what,1;
next;
@@ -2089,7 +2089,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
mes "I'll get back to the meeting and report this.";
mes "Then please take care of the next things!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, Dr. Devore, what on earth is next...?";
mes "What should I do...?";
emotion e_dots,1;
@@ -2213,7 +2213,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
mes "[Biscuit]";
mes "You're not my subordinate, so I can't order you by force. But if Star Candy can't have her meal on time, you have to remember that this island will collapse completely.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "...It's not a request, but a threat...";
emotion e_dots,1;
close;
@@ -2539,7 +2539,7 @@ mal_dun01,133,125,5 script Star Candy#mal 4_F_STARFISHGIRL,{
mes "You look different from the fellows that usually comes...";
mes "You also look strange, though.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?!";
mes "You can talk!";
emotion e_omg,1;
@@ -2969,7 +2969,7 @@ malangdo,175,206,3 script Gobonge#ml 4_CAT_SAILOR5,{
next;
switch(select("No, I don't want to!", "Yes, I'll do it!")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "For the peace in Malangdo,";
mes "just lay in bed forever.";
next;
@@ -4182,7 +4182,7 @@ malangdo,133,134,0 script Strange Pile of Sand#7 4_SOIL,{
next;
switch(select("Avoid this dirty place.", "Darn it-!")) {
case 1:
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Right!";
mes "It may be cat's grave... Do not touch them!";
mes "Avoid, avoid~";
@@ -6534,7 +6534,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
if (BaseLevel < 60) {
mes "A gentle looking cat is whispering to himself.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hello... Mr. Cat...";
next;
mes "The cat takes a glance at you and goes back to his whispering as if he didn't even see you.";
@@ -6614,20 +6614,20 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "What is your name by the way?";
emotion e_gasp;
next;
- mes "["+strcharinfo(0)+"]";
- mes "My name is "+strcharinfo(0)+", Mr. Cat.";
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "My name is "+strcharinfo(PC_NAME)+", Mr. Cat.";
next;
mes "[Cat Gamers Director]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000.";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000.";
mes "How may I help you?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Actually I wanted to help you out since I heard that you've lost 10 games in a row...";
next;
mes "[Cat Gamers Director]";
mes "Well, you didn't really have to point it out like that...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A weakness is no longer a weakness when you say it out loud.";
emotion e_no1,1;
next;
@@ -6641,7 +6641,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
else
setarray .@sex$[0],"Miss","girl";
mes "[Cat Gamers Director]";
- mes "I like you, "+.@sex$[0]+" "+strcharinfo(0)+". Will you help us get out of this 10 game losing streak? Ehehe~";
+ mes "I like you, "+.@sex$[0]+" "+strcharinfo(PC_NAME)+". Will you help us get out of this 10 game losing streak? Ehehe~";
next;
switch(select("Sorry, I'm a stupid "+.@sex$[1]+".", "Sure, I'm a cool "+.@sex$[1]+".")) {
case 1:
@@ -6654,7 +6654,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
close;
case 2:
mes "[Cat Gamers Director]";
- mes "Wow. I respect you, "+strcharinfo(0)+".";
+ mes "Wow. I respect you, "+strcharinfo(PC_NAME)+".";
mes "Let me ask you a favor.";
mes "Please meet the hard working Manager Cat and ask about our team's attitude these days.";
malang_gamer = 3;
@@ -6677,14 +6677,14 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
next;
mes "You tell him exactly what the Manager Cat said.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The manager cat said...";
next;
mes "[Cat Gamers Director]";
mes "Do not hesitate... Just tell me everything~";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Umm... the player cats are afraid of you...";
next;
mes "[Cat Gamers Director]";
@@ -6720,7 +6720,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "Is that the truth?";
next;
mes "[Cat Gamers Director]";
- mes strcharinfo(0)+", will you help me out?";
+ mes strcharinfo(PC_NAME)+", will you help me out?";
mes "There are 4 players who ran away from practice saying they were too tired.";
mes "Could you check if they ran away because of me? ehehehe~";
emotion e_what;
@@ -6736,7 +6736,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "Ok? Be! Gentle!";
next;
mes "[Cat Gamers Director]";
- mes "I appreciate your help, "+strcharinfo(0)+". heh~";
+ mes "I appreciate your help, "+strcharinfo(PC_NAME)+". heh~";
malang_gamer = 6;
erasequest 5060;
setquest 5061;
@@ -6750,7 +6750,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "What good is it to scam innocent cats?~";
emotion e_gg;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Yes, I think that you're right.";
emotion e_hmm,1;
next;
@@ -6765,7 +6765,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
next;
mes "You tell the Cat Gamers Director what Eryu, Stew, Ketchup, and Eff said.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "They think you push them too much through the practices. So they are scared.";
next;
mes "[Cat Gamers Director]";
@@ -6788,7 +6788,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "Ok? Be! Gentle!";
next;
mes "[Cat Gamers Director]";
- mes "I appreciate your help, "+strcharinfo(0)+". heh~";
+ mes "I appreciate your help, "+strcharinfo(PC_NAME)+". heh~";
close;
} else if (malang_gamer == 7) {
if (questprogress(5060,PLAYTIME) == 1) {
@@ -6814,7 +6814,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "this scary cat image of mine. Heh~";
next;
mes "[Cat Gamers Director]";
- mes "Heh~ I would much appreciate your help, "+strcharinfo(0)+"~.";
+ mes "Heh~ I would much appreciate your help, "+strcharinfo(PC_NAME)+"~.";
malang_gamer = 8;
erasequest 5060;
setquest 5066;
@@ -6826,27 +6826,27 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
next;
mes "[Cat Gamers Director]";
mes "Heh~ Please help me out,";
- mes strcharinfo(0)+"! Heh~";
+ mes strcharinfo(PC_NAME)+"! Heh~";
close;
} else if (malang_gamer == 9) {
mes "[Cat Gamers Director]";
mes "You came back!! Heh~";
mes "So, what did our manager cat say?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Manager cat asked to prepare a box.";
next;
mes "[Cat Gamers Director]";
mes "A box? Heh~ Sure, why not?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you going to ask me what is it for?";
next;
mes "[Cat Gamers Director]";
- mes "Well, I kind of was eavesdropping when "+strcharinfo(0)+" and Manager Cat were talking together. Heh~";
+ mes "Well, I kind of was eavesdropping when "+strcharinfo(PC_NAME)+" and Manager Cat were talking together. Heh~";
emotion e_heh;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "............";
next;
mes "[Cat Gamers Director]";
@@ -6930,29 +6930,29 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "[Cat Gamers Director]";
mes "Everyone seems to have a satisfied team life~ Heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Not... Really...";
next;
mes "There are tons of letters piled in the back of the box, but Cat Gamers Director doesn't want to admit the problem.";
next;
mes "[Cat Gamers Director]";
mes "Heh~";
- mes "Hey, "+strcharinfo(0)+". What did you say? Heh~";
+ mes "Hey, "+strcharinfo(PC_NAME)+". What did you say? Heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Nothing! Please carry on.";
next;
mes "[Cat Gamers Director]";
mes "Heh~ Because of what these players want,";
- mes "I have a favor to ask you, "+strcharinfo(0)+"...";
+ mes "I have a favor to ask you, "+strcharinfo(PC_NAME)+"...";
mes "Heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What is it?";
next;
mes "[Cat Gamers Director]";
mes "Will you be our players' practicing partner?";
- mes "Heh~ I feel strongly that you, "+strcharinfo(0)+", can be trusted for this. Heh~";
+ mes "Heh~ I feel strongly that you, "+strcharinfo(PC_NAME)+", can be trusted for this. Heh~";
next;
switch(select("No thanks, buddy!", "Ok, I'll do it!")) {
case 1:
@@ -6961,13 +6961,13 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
next;
mes "[Cat Gamers Director]";
mes "I'm sad. Sad~ Heh~";
- mes "I didn't expect a refusal from a person like you, "+strcharinfo(0)+".";
+ mes "I didn't expect a refusal from a person like you, "+strcharinfo(PC_NAME)+".";
mes "But still, here's some coins for you~";
mes "Heh~";
emotion e_sob;
next;
mes "[Cat Gamers Director]";
- mes "We will always welcome you, "+strcharinfo(0)+", as a guest member of the Cat Gamers.";
+ mes "We will always welcome you, "+strcharinfo(PC_NAME)+", as a guest member of the Cat Gamers.";
mes "Heh~";
malang_gamer = 11;
erasequest 5068;
@@ -6997,13 +6997,13 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
getitem Egrade_Coin,100;
next;
mes "[Cat Gamers Director]";
- mes "Heh~ Ok, "+strcharinfo(0)+". I will see you in an hour. Heh~";
+ mes "Heh~ Ok, "+strcharinfo(PC_NAME)+". I will see you in an hour. Heh~";
close;
}
} else if (malang_gamer == 11) {
mes "[Cat Gamers Director]";
mes "Heh~";
- mes "Aren't you "+strcharinfo(0)+"?";
+ mes "Aren't you "+strcharinfo(PC_NAME)+"?";
mes "Have you changed your mind yet?";
mes "Are you willing to be our team's practicing partner?";
next;
@@ -7011,14 +7011,14 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
case 1:
mes "[Cat Gamers Director]";
mes "Heh~ I see.";
- mes "But, let me tell you once again, "+strcharinfo(0)+".";
+ mes "But, let me tell you once again, "+strcharinfo(PC_NAME)+".";
mes "You are always welcome to be one of our 'Cat Gamers Honorable Members'.";
mes "Heh~";
close;
case 2:
mes "[Cat Gamers Director]";
mes "Heh~ At last!!";
- mes strcharinfo(0)+" will become our honorable member!!";
+ mes strcharinfo(PC_NAME)+" will become our honorable member!!";
mes "I shall make a '^0000FFCat Gamers Certificate^000000' right away. Heh~";
emotion e_ho;
next;
@@ -7045,7 +7045,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "[Cat Gamers Director]";
mes "This is not some ordinary certificate. Heh~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What do you mean?";
next;
mes "[Cat Gamers Director]";
@@ -7076,19 +7076,19 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
close;
}
mes "[Cat Gamers Director]";
- mes "Heh~ Hello, "+strcharinfo(0)+". How is it going practicing with the players?";
+ mes "Heh~ Hello, "+strcharinfo(PC_NAME)+". How is it going practicing with the players?";
emotion e_what;
next;
switch(select("How are the players doing?", "Just stopped by to say hi~", "Here's the current status...")) {
case 1:
mes "[Cat Gamers Director]";
- mes "Heh~ Wow, "+strcharinfo(0)+"! I'm so touched by your care for the players.";
+ mes "Heh~ Wow, "+strcharinfo(PC_NAME)+"! I'm so touched by your care for the players.";
next;
mes "[Cat Gamers Director]";
- mes "Heh~ For 13 years of my life, I've never seen anyone like you, "+strcharinfo(0)+". Heh~";
+ mes "Heh~ For 13 years of my life, I've never seen anyone like you, "+strcharinfo(PC_NAME)+". Heh~";
next;
mes "[Cat Gamers Director]";
- mes "Heh~ "+strcharinfo(0)+", which player's condition are you interested in?";
+ mes "Heh~ "+strcharinfo(PC_NAME)+", which player's condition are you interested in?";
next;
switch(select("Rock Paper Scissors players", "ChamChamCham players", "KongNyangKong players", "Flag Game players")) {
case 1:
@@ -7110,11 +7110,11 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
}
next;
mes "[Cat Gamers Director]";
- mes "Heh~ Please keep up the good work, "+strcharinfo(0)+". Heh~";
+ mes "Heh~ Please keep up the good work, "+strcharinfo(PC_NAME)+". Heh~";
close;
case 2:
mes "[Cat Gamers Director]";
- mes "Heh~ Hello there~ "+strcharinfo(0)+". You have such good manners~ Heh~";
+ mes "Heh~ Hello there~ "+strcharinfo(PC_NAME)+". You have such good manners~ Heh~";
next;
mes "[Cat Gamers Director]";
mes "Heh~ These days, there are so many cats and humans without proper manners. Heh~";
@@ -7123,17 +7123,17 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
mes "We also have some of thme in our 'Cat Gamers'. They are so arrogant every time we win the game... Heh~";
next;
mes "[Cat Gamers Director]";
- mes "Heh~ There should be more people like you, "+strcharinfo(0)+". Heh~";
+ mes "Heh~ There should be more people like you, "+strcharinfo(PC_NAME)+". Heh~";
next;
mes "[Cat Gamers Director]";
- mes "Heh~ Please practice with our players more often~ Heh~ So they can learn some manners from you, "+strcharinfo(0)+". Heh~";
+ mes "Heh~ Please practice with our players more often~ Heh~ So they can learn some manners from you, "+strcharinfo(PC_NAME)+". Heh~";
next;
mes "[Cat Gamers Director]";
mes "Keep up the good work~ Heh~";
close;
case 3:
mes "[Cat Gamers Director]";
- mes "Heh~ What happened to your face, "+strcharinfo(0)+"? Guess you lost from the practice, right? Heh~";
+ mes "Heh~ What happened to your face, "+strcharinfo(PC_NAME)+"? Guess you lost from the practice, right? Heh~";
emotion e_gg;
next;
mes "[Cat Gamers Director]";
@@ -7145,7 +7145,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
// Detect quest (ID range 5074~5090)
mes "[Cat Gamers Director]";
if (questprogress(5074,HUNTING)) {
- mes "Heh~ It's not like I didn't feed them right... Heh~ I hope it was not too much for you, "+strcharinfo(0)+".";
+ mes "Heh~ It's not like I didn't feed them right... Heh~ I hope it was not too much for you, "+strcharinfo(PC_NAME)+".";
next;
if (questprogress(5074,HUNTING) == 2 && countitem(Fish_Tail) >= 10) {
delitem Fish_Tail,10;
@@ -7300,7 +7300,7 @@ mal_in01,31,210,2 script Cat Gamers Director 4_CAT_MERMASTER,{
}
}
mes "[Cat Gamers Director]";
- mes "Heh?! There's no favor note for you, "+strcharinfo(0)+". Heh~ What do you want to report? Heh~";
+ mes "Heh?! There's no favor note for you, "+strcharinfo(PC_NAME)+". Heh~ What do you want to report? Heh~";
close;
// callsub L_CompleteQuest,<quest ID>,"<message>";
@@ -7311,7 +7311,7 @@ L_CompleteQuest:
mes getarg(1);
next;
mes "[Cat Gamers Director]";
- mes "Heh~ Thanks for coming by, "+strcharinfo(0)+". Heh~ Keep up the good work. Heh~";
+ mes "Heh~ Thanks for coming by, "+strcharinfo(PC_NAME)+". Heh~ Keep up the good work. Heh~";
emotion e_thx;
close;
}
@@ -7405,7 +7405,7 @@ malangdo,127,111,4 script Strange Cat#gamer 4_CAT_SAILOR4,{
next;
break;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Haha, I was just kidding. I actually need to tell you that the Cat Gamers Director has an issue...";
emotion e_swt2,1;
next;
@@ -7416,21 +7416,21 @@ malangdo,127,111,4 script Strange Cat#gamer 4_CAT_SAILOR4,{
mes "Scary image... Meow, I understand... Cat Gamers Director should feel peace by giving up things.";
emotion e_hmm;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "... ... ...";
emotion e_dots,1;
next;
mes "[Manager Cat]";
mes "Meow! Go tell him this, meow~ Prepare a box, meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "A box?";
emotion e_what,1;
next;
mes "[Manager Cat]";
mes "Petition it is, meow!! There is some place where humans do such things, I think it will help us~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I will go tell it to the Games Director~";
emotion e_ok,1;
malang_gamer = 9;
@@ -7451,7 +7451,7 @@ malangdo,127,111,4 script Strange Cat#gamer 4_CAT_SAILOR4,{
close;
} else if (malang_gamer == 12) {
mes "[Manager Cat]";
- mes "Meow~ Aren't you "+strcharinfo(0)+"? I heard Cat Gamers Director ordered a special certificate, meow~";
+ mes "Meow~ Aren't you "+strcharinfo(PC_NAME)+"? I heard Cat Gamers Director ordered a special certificate, meow~";
next;
mes "[Manager Cat]";
mes "When practicing, you must equip the '^0000FFCat Gamers Certificate^000000' item~ Don't forget, meow~";
@@ -7637,11 +7637,11 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Is there such a thing?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We've been publishing for 10 years.";
mes "But, I guess it is possible for cats to not know who we are.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We are a really famous magazine throughout the World!";
mes "Don't you believe me?";
next;
@@ -7649,7 +7649,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Hmm... ok. But, what can I do for you?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I am in the middle of writing an article named 'Game Playing Cats'...'";
mes "It is a special piece for me.";
mes "And some team named umm... do... umm... wal... not sure...";
@@ -7658,21 +7658,21 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "'Dog n Waltz'?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh! Yes!";
mes "One of players there 'Dog n Waltz' has recommended Eryu for an interview.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "He says you are a really good player who can help me with the article.";
next;
mes "[Eryu]";
mes "I don't remember anyone from 'Dog n Waltz' that much.";
emotion e_dots;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The person isn't important.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Just answer a few questions for me, ok?";
mes "Be yourself and you'll do just fine.";
mes "Ok, first question: How much do you practice a day?";
@@ -7681,7 +7681,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "[Eryu]";
mes "Usually for about 8 hours, but I have to tell you that I'm not on the team anymore...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait, what?";
mes "You are not with the team now? How come...?";
emotion e_omg,1;
@@ -7692,21 +7692,21 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "I was very sick and had to take a day off...";
mes "Just one freaking day...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "And...?";
next;
mes "[Eryu]";
mes "And then the Director Cat was raging at me!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm, sounds pretty rough.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "'Cat Gamers' has lost another great player.";
mes "I'm sorry to hear that you're not on the team anymore.";
mes "I guess this is the end of the interview.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Because this is for current players only.";
next;
mes "[Eryu]";
@@ -7714,7 +7714,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Sorry to make you waste your time.";
emotion e_sry;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh, don't worry.";
mes "I should say sorry for taking up your precious time.";
mes "Have a nice day.";
@@ -7735,7 +7735,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Aren't you the magazine writer?";
mes "What brings you here again...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah!";
mes "Sorry, I was trying to interview another cat...";
mes "And came back to you by mistake.";
@@ -7768,7 +7768,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Ah... aren't you the writer?";
emotion e_an;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh... Who is that..?";
next;
mes "Eryu seems to recognize you.";
@@ -7794,7 +7794,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
mes "Aren't you the writer?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh... Who is that..?";
next;
mes "Eryu seems to recognize you. Let's get away.";
@@ -7856,7 +7856,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "'Boom Can' Company, meow?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You don't know 'Boom Can' food?";
mes "You don't eat canned food at all?";
mes "Then, I came to the wrong cat.";
@@ -7865,23 +7865,23 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "Yes meow~ Stew likes canned food very much meow~";
emotion e_lv;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah! Ok then.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We, the 'Boom Can' Company, have been servicing for over 10 years, so we are doing a survey for better food production.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let me ask a few questions.";
mes "It is very easy.";
next;
mes "[Stew]";
mes "Ok meow~ Go ahead meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you! We were right about out cat customers with big hearts.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I met dog customers last week and they didn't answer me at all...";
mes "And they were so rude~ You know.";
next;
@@ -7890,7 +7890,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "You humans know animals~";
emotion e_ok;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Thank you! I'm flattered.~";
mes "Ok, let me ask you a few things.";
mes "What is your job?";
@@ -7899,7 +7899,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "Job meow? Stew was a pro gamer meow~";
mes "But, Stew quit now meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, how did that happen?";
mes "You seem to have good skills.";
mes "Fast and big hearted, its a pity that you quit already.";
@@ -7908,7 +7908,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "Meow~ Meow~ Meow~ Yes, Stew was something meow.";
mes "If it was not for that Cat Gamers Director scaring me, Stew would still be playing meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What a bad Director.";
next;
mes "[Stew]";
@@ -7920,7 +7920,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "Then the Cat Gamers Director started to get angry and scary meow.";
mes "So I quit meow.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ah! I see.";
mes "Ok, the survey is over now.";
mes "Thank you for your opinion on our survey for the 'Boom Can' company.";
@@ -7929,7 +7929,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "[Stew]";
mes "Meow? Did you aks anything meow?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I already asked you everything...";
mes "Don't you remember?";
mes "There were 10 questions!";
@@ -7941,7 +7941,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "It didn't felt like an interview meow.";
emotion e_sry;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well you did way better than those dogs.";
mes "I don't even want to think about them~ Phew~..";
mes "I should get going now.";
@@ -7965,7 +7965,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "Another survey meow?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oops! I should be meeting other cats.";
mes "I am very sorry...";
emotion e_sry,1;
@@ -7997,7 +7997,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "And... Aren't you from the 'Boom Can' Company, meow?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? What's that?";
next;
mes "Stew seems to recognize you.";
@@ -8020,7 +8020,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
mes "[Stew]";
mes "The 'Boom Can' Company!!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? What's that?";
next;
mes "Stew seems to recognize you. Let's get away.";
@@ -8084,7 +8084,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
mes "Oh yeah? 'Cans for Kittens'?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I want to share some of our philosophy with you.";
mes "Do you believe in giving to others?";
emotion e_what,1;
@@ -8093,7 +8093,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
mes "Umm I guess so...";
emotion e_slur;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "'Cans for Kittens' is a religion that embraces all felines.";
mes "Bow before the Lord of Cans!";
next;
@@ -8110,7 +8110,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
mes ".........";
mes "What's the Lord of Cans?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Your name is Ketchup, right? Don't you know about the Lord of Cans?";
mes "He knows everything.";
mes "Do not try to fool him and bow!";
@@ -8132,7 +8132,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
emotion e_dots;
emotion e_dots,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "The Lord of Cans forgives Ketchup's sins.";
mes "Our Lord also wants you to stop swearing and live an honest life!";
next;
@@ -8186,7 +8186,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
mes "Can... 'Cans for Kittens'?";
emotion e_omg;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? What's that?";
next;
mes "Ketchup recognized you and ran away.";
@@ -8266,12 +8266,12 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "What is that? Meow~?";
emotion e_what;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Interested, huh?";
mes "This is classified information.";
mes "You won't get it from any other human.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Haha! You are lucky today.";
mes "You heard that land can be a good investment, right?";
emotion e_what,1;
@@ -8279,21 +8279,21 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "[Eff]";
mes "Oh oh~ I think so. Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You do know about our capital Prontera, don't you?";
next;
mes "[Eff]";
mes "Prontera meow? Yes, I know about it. Meow~";
emotion e_heh;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "There are some locations where";
mes "Prontera kingdom is secretly selling...";
next;
mes "[Eff]";
mes "And... And...?? Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Hmm, this is top secret.";
mes "Something that must not be revealed at all...";
mes "Can you really keep this secret...?";
@@ -8303,7 +8303,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "Well... I've always been known for being a good keeper of secrets meow.";
mes "Meow~ Don't worry at all. Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, I believe you, Eff...";
mes "Please keep this a secret.";
next;
@@ -8311,17 +8311,17 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "I got it. Meow~";
emotion e_ok;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I heard that there is a location in Juno where underground big shots will be investing about 10,000,000,000 zeny.";
mes "And it is now available for pre-investment.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "If you invest in 1 Can food here, the outcome will be enormous.";
next;
mes "[Eff]";
mes "Enor... mous... meow...?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "100 Cans!!";
mes "You will get 100 cans for investing just 1 can food!";
mes "The profit will be X100! X100!!";
@@ -8330,7 +8330,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "Woot!! 100 Cans~ Meow~";
emotion e_omg;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So, how many cans do you want to invest?";
mes "You'll be a part owner so make sure to invest the max that you can afford.";
emotion e_what,1;
@@ -8340,13 +8340,13 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "But, I don't have cans with me. Meow~";
emotion e_sob;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You can always get a loan!!";
mes "This a like 100 times result for sure!!";
mes "How can you loose a chance like this?";
mes "You should do whatever it takes!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "You know what..? They say some careers like pro gamers can get solid loans.";
mes "Like about 1,000 can loan at once.";
mes "Without a high interest rate!";
@@ -8356,11 +8356,11 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "Moew~ I am a Pro Gamer.";
mes "Meow~ But, I quit~ Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "What!! Why would you quit such good a gig!! Are you crazy?";
emotion e_omg,1;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Let's say we invest 1,000 cans after getting that loan.";
mes "One, Ten, Hundred, Tousand. Woot!";
mes "I can't believe this.";
@@ -8369,7 +8369,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "[Eff]";
mes "1... 100,000 cans... Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So tell me... Why did you quit such a great job?";
mes "Why?";
next;
@@ -8378,12 +8378,12 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "Meow~ This one time, I had to take a sick day.";
mes "Meow~ And I haven't seen such scary cat my entire life...";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "So you quit because Cat Gamers Director was so scary. Hmm, sorry but I can't let you in on this investment...";
mes "I guess... What a waste of time!";
mes "Good bye!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Oh and don't tell anyone what I just told you!";
mes "Bye~";
next;
@@ -8411,14 +8411,14 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "You are--!!";
mes "Meow~ I want to invest. Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Not without the cans you can't!!";
mes "You didn't tell anyone about this deal, right?";
next;
mes "[Eff]";
mes "I didn't. Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ok, good cat! Never!!";
mes "Tell this to other cats!~";
mes "Bye Bye~";
@@ -8445,7 +8445,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "What is this? What do you mean by '"+.@inputstr$+"'? Meow...";
mes "Meow...? Meow! You! Investor meow?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? Who...?";
next;
mes "Eff seems to recognize you.";
@@ -8470,7 +8470,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
mes "[Eff]";
mes "Meow~ I want to invest. Meow~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Huh? Who...?";
next;
mes "Eff seems to recognize you, so let's get away.";
@@ -8515,7 +8515,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
for(.@i = 5074; .@i<=5090; ++.@i) {
if (questprogress(.@i)) {
mes "[Ser]";
- mes "Hey, ^0000FF"+strcharinfo(0)+"^000000. You haven't done what we asked you for. A promise is a promise, you know.";
+ mes "Hey, ^0000FF"+strcharinfo(PC_NAME)+"^000000. You haven't done what we asked you for. A promise is a promise, you know.";
next;
mes "[Ser]";
mes "Ah!! When you are done, please get checked by the Cat Gamers Director over there.";
@@ -8534,7 +8534,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
}
if (!isequipped(2872)) {
mes "[Ser]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000? Want to play the Rock Paper Scissors game?";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000? Want to play the Rock Paper Scissors game?";
next;
mes "[Ser]";
mes "... ... ...";
@@ -8553,7 +8553,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
} else if (questprogress(5070,PLAYTIME) == 2)
erasequest 5070;
mes "[Ser]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000? Want to play the Rock Paper Scissors game?";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000? Want to play the Rock Paper Scissors game?";
next;
switch(select("Play the game.", "Say hi.", "Ask about the game rules.")) {
case 1:
@@ -8621,7 +8621,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
}
mes "Try your best!";
next;
- mes "[Ser & "+strcharinfo(0)+"]";
+ mes "[Ser & "+strcharinfo(PC_NAME)+"]";
mes "Rock! Paper! Scissors!";
next;
@@ -8629,7 +8629,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
.@npc = rand(3);
emotion .@emote[.@pc],1;
emotion .@emote[.@npc];
- mes "["+strcharinfo(0)+"] "+.@rps$[.@pc];
+ mes "["+strcharinfo(PC_NAME)+"] "+.@rps$[.@pc];
mes "--------------------------------";
mes "[Ser] "+.@rps$[.@npc];
if (.@pc == .@npc) {
@@ -8656,11 +8656,11 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
next;
mes "[Ser]";
mes "Hmm... Let me see...";
- mes "I won "+.@loss+" times, and you, "+strcharinfo(0)+", won "+.@win+" times, right?";
+ mes "I won "+.@loss+" times, and you, "+strcharinfo(PC_NAME)+", won "+.@win+" times, right?";
next;
if (.@win > .@loss) {
mes "[Ser]";
- mes strcharinfo(0)+" has won the game.";
+ mes strcharinfo(PC_NAME)+" has won the game.";
next;
mes "Ser became polite all of a sudden.";
next;
@@ -8689,7 +8689,7 @@ mal_in01,91,216,4 script Ser#gamer 4_CAT_SAILOR1,{
close;
}
mes "[Ser]";
- mes strcharinfo(0)+" has lost. Ha... Ha...";
+ mes strcharinfo(PC_NAME)+" has lost. Ha... Ha...";
next;
mes "Ser became very arrogant.";
next;
@@ -8878,7 +8878,7 @@ mal_in01,86,222,4 script Paa#gamer 4_CAT_SAILOR1,{
}
if (!isequipped(2872)) {
mes "[Paa]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
next;
mes "[Paa]";
mes "... ... ...";
@@ -8897,7 +8897,7 @@ mal_in01,86,222,4 script Paa#gamer 4_CAT_SAILOR1,{
} else if (questprogress(5070,PLAYTIME) == 2)
erasequest 5070;
mes "[Paa]";
- mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
+ mes "Oh, ^0000FF"+strcharinfo(PC_NAME)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
next;
switch(select("Play the game.", "Say hi.", "Ask about the game rules.")) {
case 1:
@@ -8953,7 +8953,7 @@ mal_in01,86,222,4 script Paa#gamer 4_CAT_SAILOR1,{
}
mes "Try your best meow!";
next;
- mes "[Ser & "+strcharinfo(0)+"]";
+ mes "[Ser & "+strcharinfo(PC_NAME)+"]";
mes "Rock! Paper! Scissors!";
next;
@@ -8961,7 +8961,7 @@ mal_in01,86,222,4 script Paa#gamer 4_CAT_SAILOR1,{
.@npc = rand(3);
emotion .@emote[.@pc],1;
emotion .@emote[.@npc];
- mes "["+strcharinfo(0)+"] "+.@rps$[.@pc];
+ mes "["+strcharinfo(PC_NAME)+"] "+.@rps$[.@pc];
mes "--------------------------------";
mes "[Ser] "+.@rps$[.@npc];
if (.@pc == .@npc) {
@@ -8988,7 +8988,7 @@ mal_in01,86,222,4 script Paa#gamer 4_CAT_SAILOR1,{
next;
mes "[Paa]";
mes "Let me see meow...";
- mes "I won "+.@loss+" times meow, and you, "+strcharinfo(0)+", won "+.@win+" times, right meow?";
+ mes "I won "+.@loss+" times meow, and you, "+strcharinfo(PC_NAME)+", won "+.@win+" times, right meow?";
next;
if (.@win > .@loss) {
mes "[Paa]";
@@ -9208,7 +9208,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
}
if (!isequipped(2872)) {
mes "[Kuka]";
- mes "Oh great member you, ^0000FF"+strcharinfo(0)+"^000000~ Let's play ChamChamCham yo~";
+ mes "Oh great member you, ^0000FF"+strcharinfo(PC_NAME)+"^000000~ Let's play ChamChamCham yo~";
next;
mes "[Kuka]";
mes "... ... ...";
@@ -9227,7 +9227,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
} else if (questprogress(5071,PLAYTIME) == 2)
erasequest 5071;
mes "[Kuka]";
- mes "Oh great member you, ^0000FF"+strcharinfo(0)+"^000000~ Let's play ChamChamCham yo~";
+ mes "Oh great member you, ^0000FF"+strcharinfo(PC_NAME)+"^000000~ Let's play ChamChamCham yo~";
next;
switch(select("Play the game.", "Ask who is 1st place.", "Ask about the game rules.")) {
case 1:
@@ -9246,10 +9246,10 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
mes "[Kuka]";
mes "Current 1st place for the ChamChamCham game is";
mes "^0000FF"+$malangdo_gamer$+"^000000 with ^DE2B21"+$malangdo_gamer+"^000000 winning streak yo~";
- if (strcharinfo(0) == $malangdo_gamer$)
+ if (strcharinfo(PC_NAME) == $malangdo_gamer$)
mes "Never know when someone else would break the record yo~";
else
- mes "I expect that you, "+strcharinfo(0)+", can beat ^0000FF"+$malangdo_gamer$+"^000000 sometime yo~";
+ mes "I expect that you, "+strcharinfo(PC_NAME)+", can beat ^0000FF"+$malangdo_gamer$+"^000000 sometime yo~";
close;
case 3:
mes "[Kuka]";
@@ -9275,13 +9275,13 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
}
while(1) {
cutin "g_cat_00",4;
- mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "[Kuka & "+strcharinfo(PC_NAME)+"]";
mes "Cham!";
next;
- mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "[Kuka & "+strcharinfo(PC_NAME)+"]";
mes "Cham! Cham!";
next;
- mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "[Kuka & "+strcharinfo(PC_NAME)+"]";
mes "Cham! Cham! Cham!";
next;
switch(select("Hand towards left", "Hand towards right")) {
@@ -9316,7 +9316,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
next;
cutin "",255;
mes "[Kuka]";
- mes strcharinfo(0)+" has won "+.@win+" times yo~ Next game starts yo~";
+ mes strcharinfo(PC_NAME)+" has won "+.@win+" times yo~ Next game starts yo~";
next;
}
if (.@win == 0) {
@@ -9324,7 +9324,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
} else if (.@win > 0 && .@win < 3) {
setquest 5071;
mes "[Kuka]";
- mes "After the practice, "+strcharinfo(0)+" has won "+.@win+" in a row yo~";
+ mes "After the practice, "+strcharinfo(PC_NAME)+" has won "+.@win+" in a row yo~";
mes "Present is for 3 wins or more yo~ Nothing for today yo~ But, come again tomorrow yo~";
close;
} else {
@@ -9333,11 +9333,11 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
.@win_cnt = .@win-.@win_record;
.@cans = .@win-2;
if (.@win > .@win_record) {
- $malangdo_gamer$ = strcharinfo(0);
+ $malangdo_gamer$ = strcharinfo(PC_NAME);
$malangdo_gamer = .@win;
mes "[Kuka]";
mes "Congrats yo~ You won ^DE2B21"+.@win+"^000000 in a row yo~";
- if (strcharinfo(0) == .@name_record$)
+ if (strcharinfo(PC_NAME) == .@name_record$)
mes "You won ^DE2B21"+.@win_cnt+"^000000 more than the recent ^DE2B21"+.@win_record+"^000000 record yo~ Congrats yo~";
// custom conditions
//else
@@ -9361,7 +9361,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
}
}
mes "[Kuka]";
- mes strcharinfo(0)+" didn't win at all yo~ You must work it out yo~";
+ mes strcharinfo(PC_NAME)+" didn't win at all yo~ You must work it out yo~";
next;
setquest 5071;
switch(rand(1,13)) {
@@ -9437,7 +9437,7 @@ mal_in01,91,222,4 script Kuka#gamer 4_M_BABYCAT,{
mes "Recently, our Director seems to have been trying to cut some expenses yo~ Or maybe the Manager Cat is taking advantage yo~";
next;
mes "[Kuka]";
- mes "Regular snacks for our players have been reduced yo~ "+strcharinfo(0)+" should go get 30 Rat Tails, and report to our Cat Gamers Director yo~";
+ mes "Regular snacks for our players have been reduced yo~ "+strcharinfo(PC_NAME)+" should go get 30 Rat Tails, and report to our Cat Gamers Director yo~";
next;
mes "[Kuka]";
mes "Then, we shall find out if our manager is being greedy or not yo~";
@@ -9626,21 +9626,21 @@ mal_in01,134,221,4 script KungKung#gamer 4_M_BABYCAT,{
.@npc_hp = 100;
while(1) {
if (!.@pc_hp || !.@npc_hp) break;
- mes strcharinfo(0)+" (^FF0000"+.@pc_hp+"^000000/100)";
+ mes strcharinfo(PC_NAME)+" (^FF0000"+.@pc_hp+"^000000/100)";
mes "--------------------------------";
mes "KungKung (^FF0000"+.@npc_hp+"^000000/100)";
next;
- mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "[KungKung & "+strcharinfo(PC_NAME)+"]";
mes "Kong!";
emotion e_loud,1;
emotion e_loud;
next;
- mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "[KungKung & "+strcharinfo(PC_NAME)+"]";
mes "Kong! Nyang!";
emotion e_loud,1;
emotion e_loud;
next;
- mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "[KungKung & "+strcharinfo(PC_NAME)+"]";
mes "Kong! Nyang! Kong!";
emotion e_loud,1;
emotion e_loud;
@@ -10156,7 +10156,7 @@ mal_in01,133,214,6 script Leader#gamer 4_CAT_SAILOR3,{
mes "Game ^C1653E"+.@round+"^000000 results...";
next;
mes "[Leader]";
- mes "~ Flag Game challenger "+strcharinfo(0)+" ~";
+ mes "~ Flag Game challenger "+strcharinfo(PC_NAME)+" ~";
mes "^FF0000"+.@you_flag$+"^000000 for game ^C1653E"+.@round+"^000000.";
mes .@flag_point+" Flag Point remaining.";
emotion .@emotion[0],1;
@@ -10195,7 +10195,7 @@ mal_in01,133,214,6 script Leader#gamer 4_CAT_SAILOR3,{
} else {
if (.@cat_flags_waved == 5) {
mes "[Leader]";
- mes "Congrats "+strcharinfo(0)+". You have succeed on not waving your flag.";
+ mes "Congrats "+strcharinfo(PC_NAME)+". You have succeed on not waving your flag.";
next;
mes "[Leader]";
mes "But! This is flag waving game, so this doesn't count.";
@@ -10237,7 +10237,7 @@ mal_in01,133,214,6 script Leader#gamer 4_CAT_SAILOR3,{
next;
mes "[Leader]";
mes "Final results!!";
- mes "After "+.@round+" games, "+strcharinfo(0)+" has "+.@flag_point+" Flag Point left.";
+ mes "After "+.@round+" games, "+strcharinfo(PC_NAME)+" has "+.@flag_point+" Flag Point left.";
mes "... ... ...";
next;
if (.@you_flag == 1 && .@cat_flags_waved == 0) {
@@ -10653,7 +10653,7 @@ mal_in01,15,16,3 script Fallen Angel#mal 4_F_VALKYRIE2,{
}
getitem2 2573,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@enchant; //Archangel_Wing
if (.@i < 4)
- announce strcharinfo(0)+" has enchanted Archangel Wing with amazing capability!",bc_all,0xFF0000,FW_NORMAL,10;
+ announce strcharinfo(PC_NAME)+" has enchanted Archangel Wing with amazing capability!",bc_all,0xFF0000,FW_NORMAL,10;
mes "[Fallen Angel]";
mes "Take it!";
mes "I believe that you will become the dominator of the new world!";
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 950398355..410ee71a7 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -169,7 +169,7 @@ malaya,266,76,3 script Rodel the Guard#malaya 4_MAL_SOLDIER,4,4,{
erasequest 7404;
setquest 7405;
if (rand(2))
- $malayaNames$[1] = strcharinfo(0);
+ $malayaNames$[1] = strcharinfo(PC_NAME);
// SavePPL Jejellopy
close;
}
@@ -616,7 +616,7 @@ malaya,169,350,5 script Imelda#malaya 4_M_BRZ_JACI,{
mes "Indeed.";
mes "I will protect the village!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Now I haven't seen any Spiritual Protections made with those!";
mes "Interesting~";
mes "I'm sure you'll do just fine~";
@@ -720,7 +720,7 @@ malaya,169,350,5 script Imelda#malaya 4_M_BRZ_JACI,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (rand(2))
- $malayaNames$[0] = strcharinfo(0);
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
} else {
mes "[Imelda]";
@@ -826,7 +826,7 @@ malaya,169,350,5 script Imelda#malaya 4_M_BRZ_JACI,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (rand(2))
- $malayaNames$[0] = strcharinfo(0);
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
} else {
.@playtime = questprogress(7375, PLAYTIME);
@@ -956,7 +956,7 @@ malaya,181,353,5 script Old Man Nardo#malaya 4_M_BARYO_OLD,{
close;
}
} else if (malaya_hi == 11) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "He'll rake off all my buttons if I talk to him now.";
mes "Must counsel with Mumbaki first!";
close;
@@ -1129,7 +1129,7 @@ malaya,181,353,5 script Old Man Nardo#malaya 4_M_BARYO_OLD,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[2] = strcharinfo(0);
+ $malayaNames$[2] = strcharinfo(PC_NAME);
close;
} else {
if (questprogress(7376)) {
@@ -1490,7 +1490,7 @@ malaya,62,274,0 script Sand Trap#malaya 4_SOIL,{
disablenpc strnpcinfo(NPC_NAME);
initnpctimer;
getitem Salt_Bag, 1; // Salt_Bag
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "This should be enough.";
close;
@@ -1522,7 +1522,7 @@ ma_fild01,178,206,0 script Black Bamboo#malaya CLEAR_NPC,4,4,{
disablenpc strnpcinfo(NPC_NAME);
initnpctimer;
getitem Sharp_Bamboo, 1;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I knew I could do this!";
close;
OnTouch:
@@ -1747,7 +1747,7 @@ malaya,295,171,3 script Collection Dealer Woeon 4_M_MALAYA,{
getexp 200000,200000;
.@memo_name = rand(1,3);
if (!rand(3))
- $malayaNames$[1] = strcharinfo(0);
+ $malayaNames$[1] = strcharinfo(PC_NAME);
close;
} else {
mes "[Woeon]";
@@ -1981,7 +1981,7 @@ malaya,119,217,3 script Blacksmith Pandoi 4_M_DEWBOY,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[1] = strcharinfo(0);
+ $malayaNames$[1] = strcharinfo(PC_NAME);
close;
} else if (.@hunting == 1) {
mes "[Pandoi]";
@@ -2394,7 +2394,7 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[0] = strcharinfo(0);
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
} else {
.@playtime = questprogress(7401, PLAYTIME);
@@ -2457,7 +2457,7 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[0] = strcharinfo(0);
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
}
}
@@ -2525,7 +2525,7 @@ OnTouch:
next;
if (select("It's a misunderstanding!", "You're from that..!") == 2) {
cutin "malaya_ghost02", 4;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Just as I thought! You're afraid of me?!";
mes "Stand aside!";
mes "I need to talk to her.";
@@ -2948,7 +2948,7 @@ ma_fild01,239,253,3 script Dhong the Guard 4_MAL_SOLDIER,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(0, 2))
- $malayaNames$[2] = strcharinfo(0);
+ $malayaNames$[2] = strcharinfo(PC_NAME);
close;
} else {
mes "[Dhong the Guard]";
@@ -3044,7 +3044,7 @@ ma_fild01,200,190,3 script Maries#malaya 4_F_BARYO_WOMAN,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[2] = strcharinfo(0);
+ $malayaNames$[2] = strcharinfo(PC_NAME);
close;
} else {
if (questprogress(7388)) {
@@ -3283,7 +3283,7 @@ ma_fild02,241,39,5 script Good Capre Budidai 4_MAL_BUDIDAI,{
// getitem Lesser_Agimat, 1; // Lesser_Agimat
getexp 200000,200000;
if (!rand(3))
- $malayaNames$[1] = strcharinfo(0);
+ $malayaNames$[1] = strcharinfo(PC_NAME);
close;
} else {
mes "[Budidai]";
@@ -4020,7 +4020,7 @@ ma_in01,47,101,3 script Totoy#buwaya 4_M_BARYO_BOY,7,7,{
mes "[Totoy]";
mes "Wah! No! Go away! Leave me alone!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hey, are you alright?";
next;
mes "[Totoy]";
@@ -4031,14 +4031,14 @@ ma_in01,47,101,3 script Totoy#buwaya 4_M_BARYO_BOY,7,7,{
mes "[Totoy]";
mes "Who's there?";
next;
- mes "[" + strcharinfo(0) + "]";
- mes "I am " + strcharinfo(0) + ". You are Totoy, right? People say you've found a treasure. Is it true?";
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes "I am " + strcharinfo(PC_NAME) + ". You are Totoy, right? People say you've found a treasure. Is it true?";
next;
mes "[Totoy]";
mes "What treasure?";
mes "I can't see. I'm blinded. Please help me. I'm tired and frustrated.";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What happened?";
next;
mes "[Totoy]";
@@ -4202,7 +4202,7 @@ ma_in01,47,101,3 script Totoy#buwaya 4_M_BARYO_BOY,7,7,{
mes "Thank you so much!";
mes "You didn't see the monster, did you?";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "The monster is called Buwaya. I told the Guard about the monster. You better not go near the place again.";
next;
mes "[Totoy]";
@@ -4309,7 +4309,7 @@ ma_in01,44,105,3 script Drawer#buwaya CLEAR_NPC,{
next;
mes "- Clunk, clank, crunch. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "What? I only see an empty potion bottle.";
mes "Does this mean I have to get the potion myself? That Totoy is really a troublemaker.";
close;
@@ -4479,7 +4479,7 @@ malaya,291,152,3 script #buwaya_soil 4_SOIL,{
mes "- Sway, swag. -";
next;
if (rand(1,10) <= 5) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "I don't see anything.";
next;
mes "[Master of Hunting]";
@@ -4487,7 +4487,7 @@ malaya,291,152,3 script #buwaya_soil 4_SOIL,{
} else {
mes "- Felt something pointy with the end of your fingers. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ouch!";
mes "What is this?";
next;
@@ -4558,7 +4558,7 @@ OnInit:
}
mes "- You slowing and cautiously collect the squashy and slightly warm substance. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's warm as a mother's bosom.";
getitem Collected_Sample,1;
disablenpc strnpcinfo(NPC_NAME);
@@ -4643,7 +4643,7 @@ malaya,290,340,3 script Guard Leader#buwaya 4_MAL_CAPTAIN,{
mes "^3131FFShoot a smoke bomb^000000 once you reach the area.";
mes "Then we will run to where the smoke bomb was shot.";
} else if ((malaya_buwaya == 12) || (malaya_buwaya == 13)) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Let's first bring Ed to Totoy.";
} else if (malaya_buwaya == 14) {
mes "[Guard Leader]";
@@ -4748,11 +4748,11 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
mes "[Dog]";
mes "Bark bark!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Why is a dog here?";
next;
if (select("Look closely at the dog.", "Ignore it.") == 2) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Looks like a lost dog.";
close;
}
@@ -4760,20 +4760,20 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
next;
mes "- The collar says, 'Forever with Totoy'. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "So you are Ed?";
next;
mes "[Dog]";
mes "Bark bark!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "You didn't get killed by Buwaya. You lucky little dog. Let's go back to your owner.";
next;
emotion e_ho;
mes "[Dog]";
mes "Bark bark!!";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Ah, before we go, do you happen to know where Buwaya's nest is?";
next;
mes "[Dog]";
@@ -4781,7 +4781,7 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
next;
mes "- Ed is one smart dog and understood what you asked him. Ed started to bark towards the north. -";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Buwaya is over there!";
mes "Then I should shoot the smoke bomb here.";
next;
@@ -4796,7 +4796,7 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
mes "So Buwaya lives in remote place like this. I will make sure this information goes to the Guard Leader!";
disablenpc "Guard#buwayacave";
next;
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Should I return Ed to Totoy first and then go see the Guard Leader?";
next;
mes "[Dog]";
@@ -4807,7 +4807,7 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
setquest 2278;
close;
} else if (malaya_buwaya == 12) {
- mes "[" + strcharinfo(0) + "]";
+ mes "[" + strcharinfo(PC_NAME) + "]";
mes "Lets first bring Ed to Totoy and then go back to the Guard Leader.";
close;
}
@@ -7109,7 +7109,7 @@ malaya,55,72,4 script Nurse#ma_n1 4_F_NURSE,{
cutin "",255;
end;
} else if (malaya_bang == 4) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "We pushed and pulled, but it won't budge.";
emotion e_swt2,1;
next;
@@ -7280,7 +7280,7 @@ malaya,55,72,4 script Nurse#ma_n1 4_F_NURSE,{
mes "Hey "+ (Sex == SEX_MALE ? "dude" : "missy") +",";
mes "You're not getting in the hospital.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Who's there?!";
next;
mes "[???]";
@@ -7406,7 +7406,7 @@ malaya,55,72,4 script Nurse#ma_n1 4_F_NURSE,{
cutin "malaya_nurseA02",2;
next;
mes "[Nurse Las]";
- mes "Oh by the way, when ["+strcharinfo(0)+"], you were gone, I tried the door.";
+ mes "Oh by the way, when ["+strcharinfo(PC_NAME)+"], you were gone, I tried the door.";
mes "It did open...";
next;
mes "[Nurse Las]";
@@ -7509,7 +7509,7 @@ ma_dun01,152,23,4 script Suspicious Wooden Stick::MalayaStick0 4_BULLETIN_BOARD2
mes "*Snigger*";
cutin "malaya_nurseA05",2;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "?!";
cutin "",255;
next;
@@ -7693,7 +7693,7 @@ malaya,62,37,4 script Village Man#mab 4_M_MALAYA,{
mes "Oh!!!";
mes "Did you meet the nurse?!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "She was standing in front of the hospital.";
mes "Oh!";
mes "She must have gone to contact HQ.";
@@ -7826,7 +7826,7 @@ malaya,53,68,4 script Bushes#ma CLEAR_NPC,{
mes "How'd you know I was here?";
emotion e_omg;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm not old.";
emotion e_an,1;
next;
@@ -7910,7 +7910,7 @@ malaya,53,68,4 script Bushes#ma CLEAR_NPC,{
mes "How'd you know I was here?";
emotion e_omg;
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I'm not old.";
emotion e_an,1;
close;
@@ -8029,45 +8029,45 @@ malaya,114,183,3 script Bent Old Lady#ma 4_F_BARYO_OLD,{
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am, excuse me, but can I ask you a question?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am!!!!!!!!!";
next;
mes "[Bent Old Lady]";
mes "Who? What?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but can I ask you something?";
next;
mes "[Bent Old Lady]";
mes "What? I can't hear you.";
mes "Speak up!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I! Have! Something! To! Ask! You!";
next;
mes "[Bent Old Lady]";
mes "Oh~Yes dear~";
mes "I'll tell you everything I know, dear~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Do you know anything about the hospital?";
next;
mes "[Bent Old Lady]";
@@ -8179,31 +8179,31 @@ malaya,114,183,3 script Bent Old Lady#ma 4_F_BARYO_OLD,{
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am, excuse me, but can I ask you a question?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am?";
next;
mes "[Bent Old Lady]";
mes "Ho ho ho ho~~";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Ma'am!!!!!!!!!";
next;
mes "[Bent Old Lady]";
mes "Who? What?";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Excuse me, but can I ask you something?";
next;
mes "[Bent Old Lady]";
@@ -8532,7 +8532,7 @@ ma_fild01,179,260,2 script Festival Helper Boy#pin 4_M_BARYO_BOY,{
emotion e_lv;
mes "[Isco]";
mes "Oh~ Really? Wow!";
- mes "Thanks! "+strcharinfo(0)+" "+.@str$+"!!";
+ mes "Thanks! "+strcharinfo(PC_NAME)+" "+.@str$+"!!";
mes "He he. What did you bring?";
next;
.@i = select(
@@ -8930,7 +8930,7 @@ ma_fild01,172,223,6 script Tattooist#pin 4_M_BARYO_OLD,{
delitem .@spirit,1;
delitem .@doll,1;
getitem .@tattoo,1;
- $malaya_pintados_04$ = strcharinfo(0);
+ $malaya_pintados_04$ = strcharinfo(PC_NAME);
mes "[Tattooist]";
mes "I'm sorry you had to wait for a long time. But it was worth it cause I haven't created a Tattoo of this quality in a long time.";
next;
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
index 5c570ffc0..39ca8649c 100644
--- a/npc/re/quests/quests_mora.txt
+++ b/npc/re/quests/quests_mora.txt
@@ -69,7 +69,7 @@ mid_camp,148,222,4 script Theore#ep14_1_bs 4_F_SCIENCE,3,3,{
mes "I'll keep it down.";
close;
}
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Sir... Are you okay?";
mes "You will lose all your hair like that.";
mes "Calm down.";
@@ -1641,7 +1641,7 @@ bif_fild01,335,168,3 script Cheshire#ep14_1_xq04 4_M_CATMAN1,{
if (!questprogress(7206)) {
mes "[Cheshire]";
mes "...Hmm? Huh?";
- mes "It's "+strcharinfo(0)+"!";
+ mes "It's "+strcharinfo(PC_NAME)+"!";
mes "What are you doing here?";
next;
select("Huh? Cheshire?");
@@ -1662,7 +1662,7 @@ bif_fild01,335,168,3 script Cheshire#ep14_1_xq04 4_M_CATMAN1,{
next;
switch(select("I guess I have no choice.", "I have a lot of things to do!")) {
case 1:
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(He will be suspicious if I refuse to do it... I guess I should play along for now.)";
mes "Okay.";
mes "I'll do anything for Ahat's pleasure.";
@@ -1736,7 +1736,7 @@ bif_fild01,335,168,3 script Cheshire#ep14_1_xq04 4_M_CATMAN1,{
mes "They will grow suspicious.";
mes "But you humans are free from such troubles, so that's why you're the right one for the job.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "(... I don't buy his story, but he believes I'm on his side, so I guess I should play along.)";
mes "What happens to this Bradium, then?";
next;
@@ -1788,7 +1788,7 @@ bif_fild01,335,168,3 script Cheshire#ep14_1_xq04 4_M_CATMAN1,{
mes "[Cheshire]";
mes "... Huh? I think I've seen you somewhere...";
mes "..........Oh!";
- mes strcharinfo(0)+"...?!";
+ mes strcharinfo(PC_NAME)+"...?!";
mes "What brings you here?";
next;
mes "[Cheshire]";
@@ -2055,7 +2055,7 @@ mora,117,66,3 script Euridi#pa 4_F_MORAFINE2,{
mes "If you find the rest of ^0000FFLope's Clues^000000,";
mes "you'll be able to find out";
mes "where he is.";
- mes "I'm counting on you, "+strcharinfo(0)+".";
+ mes "I'm counting on you, "+strcharinfo(PC_NAME)+".";
changequest 1110,1111;
ep14_1_rope = 3;
close;
@@ -2381,7 +2381,7 @@ mora,65,145,3 script Pitt#pa 4_M_LYINGDOG,{
mes "I'll give you the ring back,";
mes "so please leave me alone!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Then where could Lope...?";
next;
mes "[Pitt]";
@@ -2421,7 +2421,7 @@ bif_fild01,132,338,3 script Lope#pa 4_M_FAIRYSOLDIER2,2,2,{
mes "Who's there?";
mes "Answer, or I'll take you as an enemy and kill you.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Euridi is looking for you.";
next;
mes "[Suspicious Man]";
@@ -2432,7 +2432,7 @@ bif_fild01,132,338,3 script Lope#pa 4_M_FAIRYSOLDIER2,2,2,{
mes "I asked you to wipe the name off my mind";
mes "in return for bearing the curse!";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Will you please calm down and listen to...";
next;
mes "[Lope]";
@@ -3325,7 +3325,7 @@ mora,31,138,6 script Raffle Researcher#ep14 4_M_RAFLE_OR,{
}
mes "[Raffle Researcher]";
mes "The best research assistant in my life...";
- mes "is you, "+strcharinfo(0)+"!!!";
+ mes "is you, "+strcharinfo(PC_NAME)+"!!!";
ep14_1_muk = 15;
completequest 5028;
getexp 1000000,4000000;
@@ -3383,7 +3383,7 @@ mora,31,138,6 script Raffle Researcher#ep14 4_M_RAFLE_OR,{
case 2:
mes "[Raffle Researcher]";
mes "Oh, You came to say hi. I see.";
- mes "Long time no see, "+strcharinfo(0)+".";
+ mes "Long time no see, "+strcharinfo(PC_NAME)+".";
next;
mes "[Raffle Researcher]";
mes "I've been telling you that I lucked out in picking you as my research assistant.";
@@ -3402,7 +3402,7 @@ mora,31,138,6 script Raffle Researcher#ep14 4_M_RAFLE_OR,{
L_ShowReport:
mes "[Experimental Results]";
mes "*** Researcher - Inffle";
- mes "*** Research Assistant - "+strcharinfo(0);
+ mes "*** Research Assistant - "+strcharinfo(PC_NAME);
mes " ";
mes "<Research topic>";
mes "*** Bath of Mora Village";
@@ -3637,7 +3637,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 1: // Weapon
.@p_damage = 10;
.@pc_attack = rand(1,10);
- mes "["+strcharinfo(0)+"'s Attack]";
+ mes "["+strcharinfo(PC_NAME)+"'s Attack]";
switch(.@pc_attack) {
// Miss.
case 3:
@@ -3671,7 +3671,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
.@p_damage = 20;
.@pc_attack = rand(1,6);
.@skillname$ = .@skills$[rand(5)];
- mes "["+strcharinfo(0)+"'s Attack]";
+ mes "["+strcharinfo(PC_NAME)+"'s Attack]";
switch(.@pc_attack) {
// Miss.
case 2:
@@ -3700,7 +3700,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 3: // Tooth
.@p_damage = 50;
.@pc_attack = rand(1,10);
- mes "["+strcharinfo(0)+"'s Attack]";
+ mes "["+strcharinfo(PC_NAME)+"'s Attack]";
if (.@pc_attack == 4 || .@pc_attack == 7) {
specialeffect EF_HIT1;
.@npc_hp -= .@p_damage;
@@ -3712,7 +3712,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 4: // Run
mes "You get scared of the unidentified creature, and attempt to run.";
next;
- mes "["+strcharinfo(0)+"'s Escape]";
+ mes "["+strcharinfo(PC_NAME)+"'s Escape]";
if (rand(1,2) == 1) {
mes "Fortunately, the unidentified creature did not come after you.";
close;
@@ -3813,7 +3813,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
}
}
mes "[ Current Progress ]";
- mes strcharinfo(0)+" HP = "+.@pc_hp;
+ mes strcharinfo(PC_NAME)+" HP = "+.@pc_hp;
mes "Unidentified Creature HP = "+.@npc_hp;
next;
mes "[Attack of the unidentified creature]";
@@ -3965,7 +3965,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
} else
specialeffect2 EF_ICEARROW;
.@pc_hp -= .@n_damage;
- mes "[Defense of "+strcharinfo(0)+"]";
+ mes "[Defense of "+strcharinfo(PC_NAME)+"]";
switch(.@defend) {
// Blocked.
case 3: .@str$ = "You block the stream of water with your strong butt. Feels refreshing. HP reduced only by half."; break;
@@ -3990,7 +3990,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
} else
specialeffect2 EF_BASH;
.@pc_hp -= .@n_damage;
- mes "[Defense of "+strcharinfo(0)+"]";
+ mes "[Defense of "+strcharinfo(PC_NAME)+"]";
switch(.@defend) {
// Blocked.
case 1: .@str$ = "You block the dash attack with your fat butt. Your butt is world class. HP reduced only by half."; break;
@@ -4014,7 +4014,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
specialeffect2 EF_GUARD;
}
.@pc_hp -= .@n_damage;
- mes "[Defense of "+strcharinfo(0)+"]";
+ mes "[Defense of "+strcharinfo(PC_NAME)+"]";
switch(.@defend) {
// Blocked.
case 2: .@str$ = "but you block its attack with a branch nearby. HP reduced only by half."; break;
@@ -4037,7 +4037,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 4:
mes "You get scared of the unidentified creature, and attempt to run.";
next;
- mes "["+strcharinfo(0)+"'s Escape]";
+ mes "["+strcharinfo(PC_NAME)+"'s Escape]";
if (rand(1,2) == 1) {
mes "Fortunately ^BF2C15Unidentified creature^000000";
mes "did not come after you.";
@@ -4054,7 +4054,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
}
callsub L_CheckPCAlive, .@pc_hp;
mes "[ Current Progress ]";
- mes strcharinfo(0)+" HP = "+.@pc_hp;
+ mes strcharinfo(PC_NAME)+" HP = "+.@pc_hp;
mes "Unidentified Creature HP = "+.@npc_hp;
next;
}
@@ -4296,7 +4296,7 @@ mora,118,86,0 duplicate(???#mora) ???#ep14_muk05 CLEAR_NPC,2,2
mes "You arrived at the puddle to the "+.@dir$[0]+".";
mes "You should look for the unidentified creature's family.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Fish~ Fish~";
next;
mes "When you called out, an answer came";
@@ -4359,7 +4359,7 @@ mora,118,86,0 duplicate(???#mora) ???#ep14_muk05 CLEAR_NPC,2,2
mes "You arrived at the puddle to the "+.@dir$[0]+".";
mes "You should look for the unidentified creature's family.";
next;
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "Fish~ Fish~";
next;
mes "You yelled out loud for fish,";
@@ -4555,7 +4555,7 @@ mora,115,98,0 script Hotcha#pa0829 4_ELEPHANT,{
}
mes "[Hotcha]";
- mes "Hmm... "+strcharinfo(0)+".";
+ mes "Hmm... "+strcharinfo(PC_NAME)+".";
mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
close;
}
@@ -4730,7 +4730,7 @@ mora,119,118,4 script General Good Dealer#pa0 4_M_RAFLE_GR,{
callsub L_CheckQuest,12235,932,3; //Skel_Bone
mes "[General Good Dealer]";
- mes "Hmm... "+strcharinfo(0)+".";
+ mes "Hmm... "+strcharinfo(PC_NAME)+".";
mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
close;
@@ -4926,7 +4926,7 @@ mora,127,112,4 script Commodities Dealer#pa08 4_F_RAFLE_PK,{
callsub L_CheckQuest,12240,938,5; //Sticky_Mucus
mes "[Commodities Dealer]";
- mes "Hmm... "+strcharinfo(0)+".";
+ mes "Hmm... "+strcharinfo(PC_NAME)+".";
mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
close;
@@ -5148,7 +5148,7 @@ function script mora_remains {
1@mist,145,245,0 script Meshir's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12245,"Meshir",5,943,4; } //Solid_Shell
1@mist,196,276,0 script Noirit's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12246,"Noirit",6,549,3; } //Nice_Sweet_Potato
1@mist,304,327,0 script Pajama God's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12247,"Pajama God",5,945,18; } //Raccoon_Leaf
-1@mist,334,287,0 script Mendel's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12248,"Mendel",7,946,31; } //Snail's_Shell
+1@mist,334,287,0 script Mendel's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12248,"Mendel",7,946,31; } //Snails_Shell
1@mist,330,177,0 script Milebit's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12249,"Milebit",5,7008,17; } //Stiff_Horn
1@mist,284,84,0 script Kunmun's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12250,"Kunmun",4,6380,20; } //Mora_Coin
1@mist,170,54,0 script Tsaihokin's Remains#33 CLEAR_NPC,{ callfunc "mora_remains",12251,"Tsaihokin",2,929,5; } //Immortal_Heart
@@ -5216,7 +5216,7 @@ mora,116,165,5 script Knights Boss#mo 4_M_RAFLE_VI,{
switch(select("Yes, sir!", "I challenge you to a duel!")) {
case 1:
mes "[Order of the Knights Boss]";
- mes "Good attitude, "+strcharinfo(0)+" Soldier!";
+ mes "Good attitude, "+strcharinfo(PC_NAME)+" Soldier!";
mes "I'll reward you handsomely when you get back.";
next;
mes "[Other Bosses]";
@@ -5290,7 +5290,7 @@ mora,114,163,5 script Knights Head#mo 4_M_RAFLE_OR,{
case 2:
mes "[Order of the Knights Head]";
mes "It was worthwhile to have trained you after all.";
- mes "I'm proud of you,"+strcharinfo(0)+" Soldier!";
+ mes "I'm proud of you,"+strcharinfo(PC_NAME)+" Soldier!";
next;
mes "[Other Heads]";
mes "I think you'll make a great right-hand man, the Chief.";
diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf
index 55b5066de..e64052f33 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -91,7 +91,7 @@
"npc/re/instances/ghost_palace.txt",
"npc/re/instances/HazyForest.txt",
"npc/re/instances/MalangdoCulvert.txt",
-"npc/re/instances/OctopusCave.txt",
+"npc/re/instances/octopus_cave.txt",
"npc/re/instances/OldGlastHeim.txt",
"npc/re/instances/saras_memory.txt",
"npc/re/instances/WolfchevLaboratory.txt",
@@ -127,6 +127,7 @@
//================= Others ================================================
"npc/re/other/bulletin_boards.txt",
+"npc/re/other/dimensional_gap.txt",
"npc/re/other/mail.txt",
"npc/re/other/mercenary_rent.txt",
"npc/re/other/pvp.txt",
@@ -169,6 +170,7 @@
"npc/re/quests/quests_dewata.txt",
"npc/re/quests/quests_dicastes.txt",
"npc/re/quests/quests_eclage.txt",
+"npc/re/quests/quests_glastheim.txt",
"npc/re/quests/quests_izlude.txt",
"npc/re/quests/quests_lighthalzen.txt",
"npc/re/quests/quests_malangdo.txt",
diff --git a/npc/re/scripts_jobs.conf b/npc/re/scripts_jobs.conf
index 08218a912..77d1532e1 100644
--- a/npc/re/scripts_jobs.conf
+++ b/npc/re/scripts_jobs.conf
@@ -36,6 +36,8 @@
"npc/re/jobs/1-1/merchant.txt",
"npc/re/jobs/1-1/swordman.txt",
"npc/re/jobs/1-1/thief.txt",
+// - 1-1 Expanded
+"npc/re/jobs/1-1e/taekwon.txt",
// - 2e
"npc/re/jobs/2e/kagerou_oboro.txt",
// - 3-1
diff --git a/npc/re/scripts_monsters.conf b/npc/re/scripts_monsters.conf
index 06b3031bf..a143da36c 100644
--- a/npc/re/scripts_monsters.conf
+++ b/npc/re/scripts_monsters.conf
@@ -32,6 +32,7 @@
"npc/re/mobs/citycleaners.txt",
"npc/re/mobs/towns.txt",
"npc/re/mobs/champion.txt",
+"npc/re/mobs/int_land.txt",
//================= Dungeons ==============================================
"npc/re/mobs/dungeons/abbey.txt",
diff --git a/npc/re/scripts_warps.conf b/npc/re/scripts_warps.conf
index a5ead53e2..683746d79 100644
--- a/npc/re/scripts_warps.conf
+++ b/npc/re/scripts_warps.conf
@@ -62,6 +62,7 @@
//================= Others ================================================
"npc/re/warps/other/arena.txt",
+"npc/re/warps/other/dimensional_gap.txt",
"npc/re/warps/other/jobquests.txt",
"npc/re/warps/other/paradise.txt",
"npc/re/warps/other/s_workshop.txt",
diff --git a/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt
index a8062d578..124e3ed1f 100644
--- a/npc/re/warps/cities/izlude.txt
+++ b/npc/re/warps/cities/izlude.txt
@@ -9,7 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) 2012-2016 Hercules Dev Team
+//= Copyright (C) Ridley
//= Copyright (C) Euphy
//= Copyright (C) Streusel
//= Copyright (C) Masao
@@ -72,6 +73,86 @@ izlude_b,52,172,0 warp iz04_b 2,2,izlude_in,74,161
izlude_c,52,172,0 warp iz04_c 2,2,izlude_in,74,161
izlude_d,52,172,0 warp iz04_d 2,2,izlude_in,74,161
+//= iz_int(Intro) & int_land(Secluded Island) ================
+iz_int,27,30,0 script noviship#room1-1 WARPNPC,2,2,{
+ end;
+
+OnTouch:
+ warp(strnpcinfo(NPC_MAP), 51, 30);
+ end;
+
+OnInit:
+ questinfo(21001, QTYPE_QUEST, 1, Job_Novice);
+ end;
+}
+
+iz_int,47,30,3 script noviship#room1-2 WARPNPC,2,2,{
+ end;
+
+OnTouch:
+ @display = 0;
+ warp(strnpcinfo(NPC_MAP), 22, 30);
+ end;
+}
+
+iz_int,56,15,0 script noviship WARPNPC,2,2,{
+ end;
+
+OnTouch:
+ savepoint("int_land"+strnpcinfo(NPC_NAME_HIDDEN), 77, 101);
+ warp("int_land"+strnpcinfo(NPC_NAME_HIDDEN), 85, 107);
+ end;
+}
+
+int_land,49,57,0 script noviship#izlude WARPNPC,2,2,{
+ end;
+
+OnTouch:
+ mes("^4d4dffOnce you left this island there is no way back.");
+ mes("Are you sure you want to go directly to Izlude?^000000");
+ next();
+ mes("^4d4dffIf you do, the quest got deleted from your Quest Log.^000000");
+ next();
+ if (select("Do not go to Izlude yet", "Sail to Izlude!") == 1) {
+ mes("[Sailor]");
+ mes("You want to stay here longer?");
+ mes("Good, then I wait until you're ready~");
+ close();
+ }
+ mes("[Sailor]");
+ mes("Lets head toward Izlude!");
+ close2();
+ if (questprogress(21001))
+ erasequest(21001);
+ if (questprogress(21002))
+ erasequest(21002);
+
+ .@map$ = "izlude";
+ if (strnpcinfo(NPC_NAME_HIDDEN) != "izlude")
+ .@map$ = .@map$ + strnpcinfo(NPC_NAME_HIDDEN);
+
+ warp(.@map$, 196, 209);
+ end;
+}
+
+//= iz_int(Intro) & int_land(Secluded Island) Duplicates =====
+iz_int01,27,30,0 duplicate(noviship#room1-1) noviship#room1-1a WARPNPC,2,2
+iz_int02,27,30,0 duplicate(noviship#room1-1) noviship#room1-1b WARPNPC,2,2
+iz_int03,27,30,0 duplicate(noviship#room1-1) noviship#room1-1c WARPNPC,2,2
+iz_int04,27,30,0 duplicate(noviship#room1-1) noviship#room1-1d WARPNPC,2,2
+iz_int01,47,30,0 duplicate(noviship#room1-2) noviship#room1-2a WARPNPC,2,2
+iz_int02,47,30,0 duplicate(noviship#room1-2) noviship#room1-2b WARPNPC,2,2
+iz_int03,47,30,0 duplicate(noviship#room1-2) noviship#room1-2c WARPNPC,2,2
+iz_int04,47,30,0 duplicate(noviship#room1-2) noviship#room1-2d WARPNPC,2,2
+iz_int01,56,15,0 duplicate(noviship) noviship#01 WARPNPC,2,2
+iz_int02,56,15,0 duplicate(noviship) noviship#02 WARPNPC,2,2
+iz_int03,56,15,0 duplicate(noviship) noviship#03 WARPNPC,2,2
+iz_int04,56,15,0 duplicate(noviship) noviship#04 WARPNPC,2,2
+int_land01,49,57,0 duplicate(noviship#izlude) noviship#_a WARPNPC,2,2
+int_land02,49,57,0 duplicate(noviship#izlude) noviship#_b WARPNPC,2,2
+int_land03,49,57,0 duplicate(noviship#izlude) noviship#_c WARPNPC,2,2
+int_land04,49,57,0 duplicate(noviship#izlude) noviship#_d WARPNPC,2,2
+
//= Izlude Academy ===========================================
izlude,125,257,0 warp #to_ac01 2,2,iz_ac01,99,29
izlude,130,257,0 warp #to_ac02 2,2,iz_ac01,99,29
@@ -82,20 +163,6 @@ iz_ac02,94,27,0 warp #to_ac1f01 2,2,iz_ac01,78,28
iz_ac02,113,27,0 warp #to_ac1f02 2,2,iz_ac01,122,28
new_1-3,96,176,0 warp #to_ac01-2 1,1,iz_ac01,49,73
-iz_int,96,73,0 script iz_int_iz WARPNPC,2,2,{
- end;
-
- OnTouch:
- savepoint "izlude", 128, 98;
- warp "izlude"+strnpcinfo(NPC_NAME_HIDDEN)+"", 195, 209;
- end;
-}
-
-iz_int01,96,73,0 duplicate(iz_int_iz) iz_int_iz#_a WARPNPC,2,2
-iz_int02,96,73,0 duplicate(iz_int_iz) iz_int_iz#_b WARPNPC,2,2
-iz_int03,96,73,0 duplicate(iz_int_iz) iz_int_iz#_c WARPNPC,2,2
-iz_int04,96,73,0 duplicate(iz_int_iz) iz_int_iz#_d WARPNPC,2,2
-
//= Izlude Academy Duplicates ================================
izlude_a,125,257,0 warp #to_ac01_a 2,2,iz_ac01_a,99,29
izlude_b,125,257,0 warp #to_bc01_b 2,2,iz_ac01_b,99,29
diff --git a/npc/re/warps/other/dimensional_gap.txt b/npc/re/warps/other/dimensional_gap.txt
new file mode 100644
index 000000000..890dc76f5
--- /dev/null
+++ b/npc/re/warps/other/dimensional_gap.txt
@@ -0,0 +1,79 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Nova
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Dimensonal Gap warp script (Renewal)
+//================= Description ===========================================
+//= Warps for Dimensional Gap
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+mid_camp,210,292,4 script Transport Device#01 PORTAL,{
+ mes("Do you wish to enter the Dimensional Gap?");
+ next();
+ if (select("Yes", "No") == 1) {
+ warp("dali", 141, 82);
+ end;
+ }
+ close();
+}
+
+moc_fild22b,222,200,4 script Transport Device#02 PORTAL,{
+ mes("Do you wish to enter the Dimensional Gap?");
+ next();
+ if (select("Yes", "No") == 1) {
+ warp("dali", 119, 56);
+ end;
+ }
+ close();
+}
+
+bif_fild01,318,159,4 script Transport Device#03 PORTAL,{
+ mes("Do you wish to enter the Dimensional Gap?");
+ next();
+ if (select("Yes", "No") == 1) {
+ warp("dali", 43, 92);
+ end;
+ }
+ close();
+}
+
+dic_fild02,241,31,4 script Transport Device#04 PORTAL,{
+ mes("Do you wish to enter the Dimensional Gap?");
+ next();
+ if (select("Yes", "No") == 1) {
+ warp("dali", 41, 134);
+ end;
+ }
+ close();
+}
+
+dali,149,82,0 warp dg001 2,2,mid_camp,210,289
+dali,122,48,0 warp dg002 2,2,moc_fild22b,227,200
+dali,38,87,0 warp dg003 2,2,bif_fild01,318,155
+dali,34,139,0 warp dg004 2,2,dic_fild02,237,32
diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt
index 012a96afe..c912444cc 100644
--- a/npc/re/woe-fe/invest_main.txt
+++ b/npc/re/woe-fe/invest_main.txt
@@ -902,7 +902,7 @@ OnAgitInvest:
mes "Please come back during the investment duration.";
close;
}
- .@guild = getcharid(2);
+ .@guild = getcharid(CHAR_ID_GUILD);
for(.@i = 1; .@i<=5; ++.@i) {
.@castle_name$[.@i] = getcastlename(.@npc$+"g_cas0"+.@i);
.@owner_id[.@i] = getcastledata(.@npc$+"g_cas0"+.@i,1);
@@ -1114,7 +1114,7 @@ OnAgitInvest:
}
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
- if (getcharid(2) != .@GID) {
+ if (getcharid(CHAR_ID_GUILD) != .@GID) {
mes "[Gate Manager]";
mes "You don't seem to be the member of guild owning this castle.";
mes "If you need any help, please visit any of our guild members at "+.@realm$+" Square.";
@@ -1145,7 +1145,7 @@ OnAgitInvest:
mes "Please come back during the investment duration.";
close;
}
- if (getcharid(2) != .@GID) {
+ if (getcharid(CHAR_ID_GUILD) != .@GID) {
mes "[Gate Manager]";
mes "You don't seem to be the member of the guild owning this castle.";
mes "Please use the normal investment from "+.@realm$+" Square.";
diff --git a/npc/warps/dungeons/mosk_dun.txt b/npc/warps/dungeons/mosk_dun.txt
index e4545c88e..ed0597efa 100644
--- a/npc/warps/dungeons/mosk_dun.txt
+++ b/npc/warps/dungeons/mosk_dun.txt
@@ -75,7 +75,7 @@ OnTouch:
mes "What is your business with the Csar?";
next;
if(select("Run away.:Explain the situation.") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I should get out of here...";
close2;
warp "mosk_dun02",100,100;
@@ -107,7 +107,7 @@ OnTouch:
mes "What is your business with the Csar?";
next;
if(select("Run away.:Explain the situation.") == 1) {
- mes "["+strcharinfo(0)+"]";
+ mes "["+strcharinfo(PC_NAME)+"]";
mes "I should get out of here...";
close2;
warp "mosk_dun02",100,100;
diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt
index 3303fc9f2..5ac5b8e9a 100644
--- a/npc/woe-fe/agit_main.txt
+++ b/npc/woe-fe/agit_main.txt
@@ -101,10 +101,10 @@ OnStartArena:
// The Emperium has been broken.
OnAgitBreak:
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
// Show and log error if an unguilded player breaks the Emperium. (Should NEVER happen)
if (.@GID <= 0) {
- .@notice$ = "Character "+strcharinfo(0)+" ("+getcharid(0)+") broke the Emperium in Castle: "+strnpcinfo(NPC_NAME_HIDDEN)+" while guildless. No data will be saved and Emperium respawned.";
+ .@notice$ = "Character "+strcharinfo(PC_NAME)+" ("+getcharid(CHAR_ID_CHAR)+") broke the Emperium in Castle: "+strnpcinfo(NPC_NAME_HIDDEN)+" while guildless. No data will be saved and Emperium respawned.";
logmes .@notice$; debugmes .@notice$;
donpcevent "Agit#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnStartArena";
end;
@@ -342,7 +342,7 @@ OnRecvCastle:
}
cutin "kafra_01",2;
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[Kafra Employee]";
mes "Welcome. ^ff0000" + getguildname(.@GID) + "^000000 Member.";
mes "The Kafra Corporation will stay with you wherever you go.";
@@ -609,13 +609,13 @@ OnRecvCastle:
mes "Brave soul... fate will guide you towards your future...";
close;
}
- if (getguildmaster(.@GID) != strcharinfo(0)) {
+ if (getguildmaster(.@GID) != strcharinfo(PC_NAME)) {
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
mes "No matter how much you pester me, I'll still follow my master ^ff0000"+getguildmaster(.@GID)+"^000000. Where are the Guardians?! Send these ruffians away right now!";
close;
}
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
- mes "Welcome. My honorable master, ^ff0000"+strcharinfo(0)+"^000000...";
+ mes "Welcome. My honorable master, ^ff0000"+strcharinfo(PC_NAME)+"^000000...";
mes "Your humble servant, "+strnpcinfo(NPC_NAME_VISIBLE)+", is here to serve you.";
next;
switch (select("Castle briefing", "Invest in commercial growth", "Invest in Castle Defenses", "Summon Guardian", "Hire / Fire a Kafra Employee", "Go into Master's room")) {
@@ -969,7 +969,7 @@ OnRecvCastle:
mes "There's a small lever. Will you pull it?";
next;
if(select("Pull.", "Don't pull.") == 1) {
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
close2;
warp .@destination$,.@coordinates[0],.@coordinates[1];
end;
diff --git a/npc/woe-fe/aldeg_cas01.txt b/npc/woe-fe/aldeg_cas01.txt
index 4472a0f46..5c76ca483 100644
--- a/npc/woe-fe/aldeg_cas01.txt
+++ b/npc/woe-fe/aldeg_cas01.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("aldeg_cas01",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("aldeg_cas01",1)) {
warp "aldeg_cas01",218,170;
end;
}
diff --git a/npc/woe-fe/aldeg_cas02.txt b/npc/woe-fe/aldeg_cas02.txt
index 9a9182d96..e588909a1 100644
--- a/npc/woe-fe/aldeg_cas02.txt
+++ b/npc/woe-fe/aldeg_cas02.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("aldeg_cas02",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("aldeg_cas02",1)) {
warp "aldeg_cas02",220,190;
end;
}
diff --git a/npc/woe-fe/aldeg_cas03.txt b/npc/woe-fe/aldeg_cas03.txt
index b4b1df558..a0076bfec 100644
--- a/npc/woe-fe/aldeg_cas03.txt
+++ b/npc/woe-fe/aldeg_cas03.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("aldeg_cas03",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("aldeg_cas03",1)) {
warp "aldeg_cas03",205,186;
end;
}
diff --git a/npc/woe-fe/aldeg_cas04.txt b/npc/woe-fe/aldeg_cas04.txt
index c0289ec45..f96586f48 100644
--- a/npc/woe-fe/aldeg_cas04.txt
+++ b/npc/woe-fe/aldeg_cas04.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("aldeg_cas04",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("aldeg_cas04",1)) {
warp "aldeg_cas04",116,217;
end;
}
diff --git a/npc/woe-fe/aldeg_cas05.txt b/npc/woe-fe/aldeg_cas05.txt
index 7a1747adb..79c5c77af 100644
--- a/npc/woe-fe/aldeg_cas05.txt
+++ b/npc/woe-fe/aldeg_cas05.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("aldeg_cas05",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("aldeg_cas05",1)) {
warp "aldeg_cas05",167,225;
end;
}
diff --git a/npc/woe-fe/gefg_cas01.txt b/npc/woe-fe/gefg_cas01.txt
index 65ae7f1e4..364222781 100644
--- a/npc/woe-fe/gefg_cas01.txt
+++ b/npc/woe-fe/gefg_cas01.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("gefg_cas01",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("gefg_cas01",1)) {
warp "gefg_cas01",197,36;
end;
}
diff --git a/npc/woe-fe/gefg_cas02.txt b/npc/woe-fe/gefg_cas02.txt
index 5229586df..5729b4033 100644
--- a/npc/woe-fe/gefg_cas02.txt
+++ b/npc/woe-fe/gefg_cas02.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("gefg_cas02",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("gefg_cas02",1)) {
warp "gefg_cas02",178,43;
end;
}
diff --git a/npc/woe-fe/gefg_cas03.txt b/npc/woe-fe/gefg_cas03.txt
index f52cce240..d74692200 100644
--- a/npc/woe-fe/gefg_cas03.txt
+++ b/npc/woe-fe/gefg_cas03.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("gefg_cas03",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("gefg_cas03",1)) {
warp "gefg_cas03",221,30;
end;
}
diff --git a/npc/woe-fe/gefg_cas04.txt b/npc/woe-fe/gefg_cas04.txt
index b15f87984..39141723f 100644
--- a/npc/woe-fe/gefg_cas04.txt
+++ b/npc/woe-fe/gefg_cas04.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("gefg_cas04",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("gefg_cas04",1)) {
warp "gefg_cas04",168,43;
end;
}
diff --git a/npc/woe-fe/gefg_cas05.txt b/npc/woe-fe/gefg_cas05.txt
index a7722d48b..caa9a10fc 100644
--- a/npc/woe-fe/gefg_cas05.txt
+++ b/npc/woe-fe/gefg_cas05.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("gefg_cas05",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("gefg_cas05",1)) {
warp "gefg_cas05",168,31;
end;
}
diff --git a/npc/woe-fe/payg_cas01.txt b/npc/woe-fe/payg_cas01.txt
index 0c5f54be1..d06883620 100644
--- a/npc/woe-fe/payg_cas01.txt
+++ b/npc/woe-fe/payg_cas01.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("payg_cas01",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("payg_cas01",1)) {
warp "payg_cas01",54,144;
end;
}
diff --git a/npc/woe-fe/payg_cas02.txt b/npc/woe-fe/payg_cas02.txt
index 9666a147f..9b5b97811 100644
--- a/npc/woe-fe/payg_cas02.txt
+++ b/npc/woe-fe/payg_cas02.txt
@@ -53,14 +53,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("payg_cas02",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("payg_cas02",1)) {
warp "payg_cas02",278,251;
end;
}
diff --git a/npc/woe-fe/payg_cas03.txt b/npc/woe-fe/payg_cas03.txt
index 879866a62..10b859c8f 100644
--- a/npc/woe-fe/payg_cas03.txt
+++ b/npc/woe-fe/payg_cas03.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("payg_cas03",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("payg_cas03",1)) {
warp "payg_cas03",9,263;
end;
}
diff --git a/npc/woe-fe/payg_cas04.txt b/npc/woe-fe/payg_cas04.txt
index a6732b5b8..46f4fbb6b 100644
--- a/npc/woe-fe/payg_cas04.txt
+++ b/npc/woe-fe/payg_cas04.txt
@@ -53,14 +53,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("payg_cas04",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("payg_cas04",1)) {
warp "payg_cas04",40,235;
end;
}
diff --git a/npc/woe-fe/payg_cas05.txt b/npc/woe-fe/payg_cas05.txt
index 7e5ce5aae..a2a35790a 100644
--- a/npc/woe-fe/payg_cas05.txt
+++ b/npc/woe-fe/payg_cas05.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("payg_cas05",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("payg_cas05",1)) {
warp "payg_cas05",243,27;
end;
}
diff --git a/npc/woe-fe/prtg_cas01.txt b/npc/woe-fe/prtg_cas01.txt
index 660dd11ef..33a564fe9 100644
--- a/npc/woe-fe/prtg_cas01.txt
+++ b/npc/woe-fe/prtg_cas01.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("prtg_cas01",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("prtg_cas01",1)) {
warp "prtg_cas01",96,173;
end;
}
diff --git a/npc/woe-fe/prtg_cas02.txt b/npc/woe-fe/prtg_cas02.txt
index 3333de0c2..6531b681f 100644
--- a/npc/woe-fe/prtg_cas02.txt
+++ b/npc/woe-fe/prtg_cas02.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("prtg_cas02",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("prtg_cas02",1)) {
warp "prtg_cas02",169,55;
end;
}
diff --git a/npc/woe-fe/prtg_cas03.txt b/npc/woe-fe/prtg_cas03.txt
index 9040cb697..2a3879f65 100644
--- a/npc/woe-fe/prtg_cas03.txt
+++ b/npc/woe-fe/prtg_cas03.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("prtg_cas03",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("prtg_cas03",1)) {
warp "prtg_cas03",181,215;
end;
}
diff --git a/npc/woe-fe/prtg_cas04.txt b/npc/woe-fe/prtg_cas04.txt
index 48c0f7026..3e0de365f 100644
--- a/npc/woe-fe/prtg_cas04.txt
+++ b/npc/woe-fe/prtg_cas04.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("prtg_cas04",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("prtg_cas04",1)) {
warp "prtg_cas04",258,247;
end;
}
diff --git a/npc/woe-fe/prtg_cas05.txt b/npc/woe-fe/prtg_cas05.txt
index 8ad8c6f77..56dc902a3 100644
--- a/npc/woe-fe/prtg_cas05.txt
+++ b/npc/woe-fe/prtg_cas05.txt
@@ -52,14 +52,14 @@
mes "ownership of this castle.";
close;
}
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[ Echoing Voice ]";
mes "Brave ones...";
mes "Do you wish to return to your honorable place?";
next;
if(select("Return to the guild castle.", "Quit.") == 1) {
close2;
- if (getcharid(2) == getcastledata("prtg_cas05",1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata("prtg_cas05",1)) {
warp "prtg_cas05",52,41;
end;
}
diff --git a/npc/woe-fe/trs_rp.txt b/npc/woe-fe/trs_rp.txt
index 74557e014..7a71c1bbe 100644
--- a/npc/woe-fe/trs_rp.txt
+++ b/npc/woe-fe/trs_rp.txt
@@ -39,7 +39,7 @@ end;
OnTouch:
// Store the Guild ID of castle occupant.
.@GID = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),1);
- if (strcharinfo(0) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
if (compare(strnpcinfo(NPC_NAME_HIDDEN),"aldeg"))
warp "aldebaran",143,112;
else if (compare(strnpcinfo(NPC_NAME_HIDDEN),"gefg"))
diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt
index 6f1ad7df0..c9b34f610 100644
--- a/npc/woe-se/agit_main_se.txt
+++ b/npc/woe-se/agit_main_se.txt
@@ -230,7 +230,7 @@ OnTreasureDied:
mes "to conquer this stronghold?";
close;
}
- if (getcharid(2) != .@GID || strcharinfo(0) != getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) != .@GID || strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
mes "[ Steward ]";
mes "Hmpf. Your threats don't";
mes "scare me! Guardians, drive";
@@ -619,7 +619,7 @@ OnStop:
end;
OnStartArena:
- .@GID = getcharid(2);
+ .@GID = getcharid(CHAR_ID_GUILD);
.@region$ = (compare(strnpcinfo(NPC_MAP),"arug"))?"Valfreyja":"Nithafjoll";
// Lower castle Economy
.@Economy = getcastledata(strnpcinfo(NPC_MAP),2)-5;
@@ -663,8 +663,8 @@ OnStartArena:
mes "over this stronghold.";
close;
}
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) != getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
mes .@n$;
mes "As guardian of this";
mes "stronghold, I answer only";
@@ -781,7 +781,7 @@ OnStartArena:
}
else {
mes .@n$;
- mes "Greetings, "+strcharinfo(0)+".";
+ mes "Greetings, "+strcharinfo(PC_NAME)+".";
mes "What are your orders?";
next;
switch(select("Increase Stronghold Defense", "Situational Briefing", "Cancel")) {
@@ -854,7 +854,7 @@ OnInit:
- script Kafra#template FAKE_NPC,{
cutin "kafra_01",2;
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
- if (getcharid(2) == .@GID && getgdskilllv(.@GID,10001)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID && getgdskilllv(.@GID,10001)) {
mes "[Kafra Employee]";
mes "Welcome, proud member";
mes "of the ^FF0000"+getguildname(.@GID)+"^000000 Guild!";
@@ -967,7 +967,7 @@ OnInit:
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
.@num = atoi(charat(strnpcinfo(NPC_NAME_VISIBLE),0));
.@var$ = "$agit_"+strnpcinfo(NPC_NAME_HIDDEN);
- if (getcharid(2) == .@GID) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "^3355FFYou will need the";
mes "following materials to";
mes "rebuild a destroyed";
@@ -1120,8 +1120,8 @@ OnEnable:
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
.@num = atoi(charat(strnpcinfo(NPC_NAME_VISIBLE),15));
.@var$ = "$agit_"+strnpcinfo(NPC_NAME_HIDDEN);
- if (getcharid(2) == .@GID) {
- if (strcharinfo(0) == getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID) {
+ if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (getd(.@var$+"["+(.@num+1)+"]") == 2) {
mes "^3355FFDemolished Fortress";
mes "Gates can be repaired,";
@@ -1707,7 +1707,7 @@ OnDisable:
//== Link Flags (function) =================================
function script LinkFlag {
- if (!getcharid(2) || getcharid(2) != getcastledata(strnpcinfo(NPC_MAP),1)) end;
+ if (!getcharid(CHAR_ID_GUILD) || getcharid(CHAR_ID_GUILD) != getcastledata(strnpcinfo(NPC_MAP),1)) end;
if (getarg(0) == "Convenience Facility") {
mes "^3355FFThis is the Stronghold";
mes "Teleport Service. Would";
@@ -1754,13 +1754,13 @@ function script ReturnFlag {
mes "be recognized as its new owner.";
close;
}
- if (getcharid(2) == .@GID && getarg(1,0)) {
+ if (getcharid(CHAR_ID_GUILD) == .@GID && getarg(1,0)) {
mes "[ Ringing Voice ]";
mes "Courageous one,";
mes "do you wish to return";
mes "to your stronghold?";
next;
- if(select("Return to the Stronghold", "Cancel") == 1 && getcharid(2) == getcastledata(getarg(0),1)) {
+ if(select("Return to the Stronghold", "Cancel") == 1 && getcharid(CHAR_ID_GUILD) == getcastledata(getarg(0),1)) {
if (compare(getarg(0),"arug")) {
if (getarg(0) == "arug_cas01") setarray .@i[0],67,193;
else if (getarg(0) == "arug_cas02") setarray .@i[0],43,256;
@@ -1814,7 +1814,7 @@ function script ReturnFlag {
//== Guild Dungeon Warps ===================================
- script Sunflower#template FAKE_NPC,{
- if (getcharid(2) == getcastledata(strnpcinfo(NPC_MAP),1)) {
+ if (getcharid(CHAR_ID_GUILD) == getcastledata(strnpcinfo(NPC_MAP),1)) {
mes "- It's an amazingly huge sunflower; as big as a human! ... You feel something mysterious emanating from the flower. -";
next;
switch(select("Hold the stem.", "Do nothing.")) {
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index 99b6d7316..1aab2f39c 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -44,7 +44,7 @@ CREATE TABLE `item_db` (
`equip_jobs` bigint(20) UNSIGNED DEFAULT NULL,
`equip_upper` tinyint(8) UNSIGNED DEFAULT NULL,
`equip_genders` tinyint(2) UNSIGNED DEFAULT NULL,
- `equip_locations` smallint(4) UNSIGNED DEFAULT NULL,
+ `equip_locations` mediumint(8) UNSIGNED DEFAULT NULL,
`weapon_level` tinyint(2) UNSIGNED DEFAULT NULL,
`equip_level_min` smallint(5) UNSIGNED DEFAULT NULL,
`equip_level_max` smallint(5) UNSIGNED DEFAULT NULL,
@@ -92,7 +92,7 @@ REPLACE INTO `item_db` VALUES ('522','Fruit_Of_Mastela','Mastela Fruit','0','850
REPLACE INTO `item_db` VALUES ('523','Holy_Water','Holy Water','0','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_end SC_CURSE;','','');
REPLACE INTO `item_db` VALUES ('525','Panacea','Panacea','0','500','250','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
REPLACE INTO `item_db` VALUES ('526','Royal_Jelly','Royal Jelly','0','7000','3500','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),rand(40,60); sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
-REPLACE INTO `item_db` VALUES ('528','Monster\'s_Feed','Monster\'s Feed','0','60','30','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(72,108),0;','','');
+REPLACE INTO `item_db` VALUES ('528','Monsters_Feed','Monster\'s Feed','0','60','30','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(72,108),0;','','');
REPLACE INTO `item_db` VALUES ('529','Candy','Candy','0','10','5','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0;','','');
REPLACE INTO `item_db` VALUES ('530','Candy_Striper','Candy Cane','0','20','10','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('531','Apple_Juice','Apple Juice','0','20','10','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(25,35),0;','','');
@@ -104,8 +104,8 @@ REPLACE INTO `item_db` VALUES ('536','Ice_Cream','Ice Cream','0','150','75','80'
REPLACE INTO `item_db` VALUES ('537','Pet_Food','Pet Food','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,90),0;','','');
REPLACE INTO `item_db` VALUES ('538','Well_Baked_Cookie','Well-baked Cookie','0','1000','500','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(160,200),0;','','');
REPLACE INTO `item_db` VALUES ('539','Piece_Of_Cake','Piece of Cake','0','3000','1500','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(270,330),0;','','');
-REPLACE INTO `item_db` VALUES ('540','Falcon\'s_Feed','Falcon Food','0','2000','1000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(185,225),0;','','');
-REPLACE INTO `item_db` VALUES ('541','Pecopeco\'s_Feed','PecoPeco Food','0','3000','1500','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
+REPLACE INTO `item_db` VALUES ('540','Falcons_Feed','Falcon Food','0','2000','1000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(185,225),0;','','');
+REPLACE INTO `item_db` VALUES ('541','Pecopecos_Feed','PecoPeco Food','0','3000','1500','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('544','Fish_Slice','Raw Fish','0','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(25,60),0;','','');
REPLACE INTO `item_db` VALUES ('545','Red_Slim_Potion','Condensed Red Potion','0','150','75','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0;','','');
REPLACE INTO `item_db` VALUES ('546','Yellow_Slim_Potion','Condensed Yellow Potion','0','600','300','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(175,235),0;','','');
@@ -147,8 +147,8 @@ REPLACE INTO `item_db` VALUES ('581','Mushroom','Edible Mushroom','0','40','20',
REPLACE INTO `item_db` VALUES ('582','Orange','Orange','0','300','150','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10,20),rand(10,20);','','');
REPLACE INTO `item_db` VALUES ('583','KETUPAT_','Ketupat Sayur','0','7000','3500','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),rand(40,60); sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
REPLACE INTO `item_db` VALUES ('584','Fish_Ball_Soup','Fish Cake Soup','0','100','50','60','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,70),0;','','');
-REPLACE INTO `item_db` VALUES ('585','Wurst','Brusti','0','2','1','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(15,20),0;','','');
-REPLACE INTO `item_db` VALUES ('586','Mother\'s_Cake','Mother\'s Cake','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
+REPLACE INTO `item_db` VALUES ('585','Wurst','Wurst','0','2','1','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(15,20),0;','','');
+REPLACE INTO `item_db` VALUES ('586','Mothers_Cake','Mother\'s Cake','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('587','Prickly_Fruit_','Red Prickly Fruit','0','880','440','60','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(270,330),rand(20,30);','','');
REPLACE INTO `item_db` VALUES ('588','Spaghetti','Spaghetti','0','100','50','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,70),0;','','');
REPLACE INTO `item_db` VALUES ('589','Pizza_02','Pizza','0','1200','600','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(375,445),0;','','');
@@ -311,7 +311,7 @@ REPLACE INTO `item_db` VALUES ('757','Elunium_Stone','Rough Elunium','3','650','
REPLACE INTO `item_db` VALUES ('901','Danggie','Daenggie','3','260','130','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('902','Tree_Root','Tree Root','3','12','6','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('903','Reptile_Tongue','Reptile Tongue','3','140','70','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('904','Scorpion\'s_Tail','Scorpion Tail','3','124','62','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('904','Scorpions_Tail','Scorpion Tail','3','124','62','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('905','Stem','Stem','3','46','23','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('906','Pointed_Scale','Pointed Scale','3','68','34','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('907','Resin','Resin','3','120','60','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -326,7 +326,7 @@ REPLACE INTO `item_db` VALUES ('915','Chrysalis','Chrysalis','3','8','4','10','0
REPLACE INTO `item_db` VALUES ('916','Feather_Of_Birds','Feather of Birds','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('917','Talon','Talon','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('918','Sticky_Webfoot','Sticky Webfoot','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('919','Animal\'s_Skin','Animal Skin','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('919','Animals_Skin','Animal Skin','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('920','Claw_Of_Wolves','Wolf Claw','3','58','29','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('921','Mushroom_Spore','Mushroom Spore','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('922','Orcish_Cuspid','Orc\'s Fang','3','220','110','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -345,15 +345,15 @@ REPLACE INTO `item_db` VALUES ('936','Scales_Shell','Scale Shell','3','466','233
REPLACE INTO `item_db` VALUES ('937','Posionous_Canine','Venom Canine','3','148','74','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('938','Sticky_Mucus','Sticky Mucus','3','70','35','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('939','Bee_Sting','Bee Sting','3','32','16','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('940','Grasshopper\'s_Leg','Grasshopper\'s Leg','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('940','Grasshoppers_Leg','Grasshopper\'s Leg','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('941','Nose_Ring','Nose Ring','3','568','284','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('942','Yoyo_Tail','Yoyo Tail','3','114','57','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('943','Solid_Shell','Solid Shell','3','448','224','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('944','Horseshoe','Horseshoe','3','588','294','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('945','Raccoon_Leaf','Raccoon Leaf','3','106','53','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('946','Snail\'s_Shell','Snail\'s Shell','3','64','32','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('946','Snails_Shell','Snail\'s Shell','3','64','32','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('947','Horn','Horn','3','116','58','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('948','Bear\'s_Foot','Bear\'s Footskin','3','174','87','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('948','Bears_Foot','Bear\'s Footskin','3','174','87','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('949','Feather','Feather','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('950','Heart_Of_Mermaid','Heart of Mermaid','3','264','132','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('951','Fin','Fin','3','412','206','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -419,7 +419,7 @@ REPLACE INTO `item_db` VALUES ('1011','Emveretarcon','Emveretarcon','3','1000','
REPLACE INTO `item_db` VALUES ('1012','Lizard_Scruff','Frill','3','250','125','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1013','Colorful_Shell','Rainbow Shell','3','90','45','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1014','Jaws_Of_Ant','Ant Jaw','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1015','Thin_N\'_Long_Tongue','Tongue','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1015','Thin_N_Long_Tongue','Tongue','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1016','Rat_Tail','Rat Tail','3','52','26','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1017','Moustache_Of_Mole','Mole Whiskers','3','106','53','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1018','Nail_Of_Mole','Mole Claw','3','210','105','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -432,8 +432,8 @@ REPLACE INTO `item_db` VALUES ('1024','Chinese_Ink','Squid Ink','3','264','132',
REPLACE INTO `item_db` VALUES ('1025','Spiderweb','Cobweb','3','184','92','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1026','Acorn','Acorn','3','98','49','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1027','Porcupine_Spike','Porcupine Quill','3','158','79','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1028','Wild_Boar\'s_Mane','Mane','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1029','Tiger\'s_Skin','Tiger Skin','3','548','274','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1028','Wild_Boars_Mane','Mane','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1029','Tigers_Skin','Tiger Skin','3','548','274','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1030','Tiger_Footskin','Tiger\'s Footskin','3','1500','750','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1031','Limb_Of_Mantis','Mantis Scythe','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1032','Blossom_Of_Maneater','Maneater Blossom','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -444,7 +444,7 @@ REPLACE INTO `item_db` VALUES ('1036','Dragon_Scale','Dragon Scale','3','500','2
REPLACE INTO `item_db` VALUES ('1037','Dragon_Train','Dragon Tail','3','1200','600','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1038','Petite_DiablOfs_Horn','Little Evil Horn','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1039','Petite_DiablOfs_Wing','Little Evil Wing','3','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1040','Elder_Pixie\'s_Beard','Elder Pixie\'s Moustache','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1040','Elder_Pixies_Beard','Elder Pixie\'s Moustache','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1041','Lantern','Lantern','3','250','125','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1042','Short_Leg','Bug Leg','3','430','215','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1043','Nail_Of_Orc','Orc Claw','3','168','84','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -488,7 +488,7 @@ REPLACE INTO `item_db` VALUES ('1080','Merchant_Voucher_8','Voucher','3','0','0'
REPLACE INTO `item_db` VALUES ('1081','Merchant_Box_1','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1082','Merchant_Box_2','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1083','Merchant_Box_3','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1084','Kapra\'s_Pass','Kafra Pass','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1084','Kapras_Pass','Kafra Pass','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1085','Mage_Test_2','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1086','Mage_Test_3','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1087','Mage_Test_4','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -621,7 +621,7 @@ REPLACE INTO `item_db` VALUES ('1225','Mail_Breaker','Mailbreaker','4','20','10'
REPLACE INTO `item_db` VALUES ('1226','Damascus_','Damascus','4','49000','24500','800','118','0','0','1','2','42950382','63','2','2','3','24',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1227','Weeder_Knife','Weeder Knife','4','20','10','400','80','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bSubRace,RC_Plant,15;','','');
REPLACE INTO `item_db` VALUES ('1228','Combat_Knife','Combat Knife','4','20','10','400','80','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_DemiPlayer; bonus2 bSubRace,RC_DemiPlayer,10; bonus2 bSubRace,RC_Demon,-10;','','');
-REPLACE INTO `item_db` VALUES ('1229','Mama\'s_Knife','Kitchen Knife','4','20','10','500','75','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;','','');
+REPLACE INTO `item_db` VALUES ('1229','Mamas_Knife','Kitchen Knife','4','20','10','500','75','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;','','');
REPLACE INTO `item_db` VALUES ('1230','House_Auger','Ice Pick','4','20','10','600','80','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefRatioAtkRace, RC_All;','','');
REPLACE INTO `item_db` VALUES ('1231','Bazerald','Bazerald','4','20','10','500','70','0','0','1','0','42950382','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bInt,5; bonus bMatkRate,10;','','');
REPLACE INTO `item_db` VALUES ('1232','Assasin_Dagger','Assassin Dagger','4','20','10','600','140','0','0','1','0','4096','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;','','');
@@ -641,7 +641,7 @@ REPLACE INTO `item_db` VALUES ('1245','Cinquedea','Cinquedea','4','40000','20000
REPLACE INTO `item_db` VALUES ('1246','Cinquedea_','Cinquedea','4','40000','20000','700','110','0','0','1','2','1','63','2','2','3','30',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1247','Kindling_Dagger','Kindle Dagger','4','10000','5000','600','39','0','0','1','0','2123325167','63','2','2','1','1',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire;','','');
REPLACE INTO `item_db` VALUES ('1248','Obsidian_Dagger','Obsidian Dagger','4','10000','5000','600','39','0','0','1','0','2123325167','63','2','2','1','1',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Earth;','','');
-REPLACE INTO `item_db` VALUES ('1249','Fisherman\'s_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','2123325167','63','2','2','1','1',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('1249','Fishermans_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','2123325167','63','2','2','1','1',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
REPLACE INTO `item_db` VALUES ('1250','Jur','Jur','4','19500','9750','800','125','0','0','1','2','4096','63','2','34','2','18',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1251','Jur_','Jur','4','19500','9750','800','125','0','0','1','3','4096','63','2','34','2','18',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1252','Katar','Katar','4','41000','20500','1200','148','0','0','1','1','4096','63','2','34','3','33',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
@@ -784,7 +784,7 @@ REPLACE INTO `item_db` VALUES ('1465','Halberd__','Halberd','4','54000','27000',
REPLACE INTO `item_db` VALUES ('1466','Crescent_Scythe','Crescent Scythe','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus bHit,10;','','');
REPLACE INTO `item_db` VALUES ('1467','Bill_Guisarme','Bill Guisarme','4','20','10','1000','183','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiPlayer,5;','','');
REPLACE INTO `item_db` VALUES ('1468','Zephyrus','Zephyrus','4','20','10','2000','170','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,MG_THUNDERSTORM,3,100;','','');
-REPLACE INTO `item_db` VALUES ('1469','Longinus\'s_Spear','Longinus\'s Spear','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Angel,10;','','');
+REPLACE INTO `item_db` VALUES ('1469','Longinuss_Spear','Longinus\'s Spear','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Angel,10;','','');
REPLACE INTO `item_db` VALUES ('1470','Brionac','Brionac','4','20','10','3000','190','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; skill AL_HEAL,5; bonus3 bAutoSpell,MG_SOULSTRIKE,3,100; bonus2 bAddRace,RC_Boss,5;','','');
REPLACE INTO `item_db` VALUES ('1471','Hell_Fire','Hellfire','4','20','10','3500','200','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,MG_FIREBALL,3,100; bonus bStr,3;','','');
REPLACE INTO `item_db` VALUES ('1472','Staff_Of_Soul','Soul Staff','4','20','10','1400','25','0','0','1','0','8454660','63','2','34','3','73',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bAgi,2; bonus bMatkRate,15;','','');
@@ -861,7 +861,7 @@ REPLACE INTO `item_db` VALUES ('1554','Book_Of_Mother_Earth','Book of Mother Ear
REPLACE INTO `item_db` VALUES ('1555','Book_Of_Blazing_Sun','Book of the Blazing Sun','4','35000','17500','750','90','0','0','1','0','4260096','63','2','2','3','27',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire;','','');
REPLACE INTO `item_db` VALUES ('1556','Book_Of_Gust_Of_Wind','Book of Gust of Wind','4','35000','17500','750','90','0','0','1','0','4260096','63','2','2','3','27',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('1557','Book_Of_The_Apocalypse','Book of the Apocalypse','4','60000','30000','800','120','0','0','1','0','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddEle,Ele_Holy,5; bonus2 bAddEle,Ele_Water,7; bonus2 bAddEle,Ele_Earth,7; bonus2 bAddEle,Ele_Fire,7; bonus2 bAddEle,Ele_Wind,7;','','');
-REPLACE INTO `item_db` VALUES ('1558','Girl\'s_Diary','Girl\'s Diary','4','1500','750','300','60','0','0','1','1','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,1188,150;','','');
+REPLACE INTO `item_db` VALUES ('1558','Girls_Diary','Girl\'s Diary','4','1500','750','300','60','0','0','1','1','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,1188,150;','','');
REPLACE INTO `item_db` VALUES ('1559','Legacy_Of_Dragon','Legacy of Dragon','4','20','10','700','130','0','0','1','0','4260096','63','2','2','4','70',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bIgnoreDefRace,RC_Dragon; bonus2 bSPGainRace,RC_Dragon,10;','','');
REPLACE INTO `item_db` VALUES ('1560','Diary_Of_Great_Sage','Sage\'s Diary','4','20','10','1100','100','0','0','1','2','4260096','63','2','2','3','60',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,15; if(readparam(bStr)>=50) bonus bAspdRate,5; if(readparam(bInt)>=70) bonus bMatkRate,5;','','');
REPLACE INTO `item_db` VALUES ('1561','Hardback','Hardcover Book','4','20','10','1500','140','0','0','1','1','4260096','63','2','2','4','55',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3; bonus bDex,2;','','');
@@ -907,8 +907,8 @@ REPLACE INTO `item_db` VALUES ('1617','Survival_Rod','Survivor\'s Rod','4','8500
REPLACE INTO `item_db` VALUES ('1618','Survival_Rod_','Survivor\'s Rod','4','85000','42500','1000','50','0','0','1','1','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bMatkRate,15; bonus bMaxHP,400;','','');
REPLACE INTO `item_db` VALUES ('1619','Survival_Rod2','Survivor\'s Rod','4','85000','42500','1000','50','0','0','1','0','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bMatkRate,15; bonus bMaxHP,300;','','');
REPLACE INTO `item_db` VALUES ('1620','Survival_Rod2_','Survivor\'s Rod','4','85000','42500','1000','50','0','0','1','1','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bMatkRate,15; bonus bMaxHP,400;','','');
-REPLACE INTO `item_db` VALUES ('1621','Hypnotist\'s_Staff','Hypnotist\'s Staff','4','43000','21500','500','70','0','0','1','1','1','63','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatkRate,25;','','');
-REPLACE INTO `item_db` VALUES ('1622','Hypnotist\'s_Staff_','Hypnotist\'s Staff','4','20','10','500','70','0','0','1','2','1','63','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatkRate,25;','','');
+REPLACE INTO `item_db` VALUES ('1621','Hypnotists_Staff','Hypnotist\'s Staff','4','43000','21500','500','70','0','0','1','1','1','63','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatkRate,25;','','');
+REPLACE INTO `item_db` VALUES ('1622','Hypnotists_Staff_','Hypnotist\'s Staff','4','20','10','500','70','0','0','1','2','1','63','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatkRate,25;','','');
REPLACE INTO `item_db` VALUES ('1623','Mighty_Staff_C','Mighty Staff','4','1','0','0','165','0','0','1','0','8487700','63','2','2','3','1',NULL,'0','10','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,10; bonus bInt,4; bonus bMatkRate,20; bonus bSPDrainValue,-1;','','');
REPLACE INTO `item_db` VALUES ('1624','Lich_Bone_Wand','Lich\'s Bone Wand','4','20','10','800','60','0','0','1','2','99092','2','2','2','3','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus bMatkRate,20; bonus3 bAutoSpellWhenHit,NPC_WIDECURSE,5,10+getrefine(); if(getrefine()>=9) { bonus bMatkRate,3; bonus bMaxSP,300; }','','');
REPLACE INTO `item_db` VALUES ('1625','Healing_Staff','Healing Staff','4','20','10','400','10','0','0','1','0','33040','63','2','2','3','55',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2);','','');
@@ -932,7 +932,7 @@ REPLACE INTO `item_db` VALUES ('1642','Staff_Of_Darkness','Staff Of Darkness','4
REPLACE INTO `item_db` VALUES ('1643','Dead_Tree_Cane','Dead Tree Cane','4','20','10','100','100','0','0','1','0','8487700','63','2','2','4','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,15; bonus bInt,4; if(getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; }','','');
REPLACE INTO `item_db` VALUES ('1644','Piercing_Staff_M','Staff of Piercing','4','20','10','500','80','0','0','1','0','99092','2','2','2','3','70',NULL,'1','10','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bMatkRate,15; bonus bIgnoreMdefRate,10+getrefine();','','');
REPLACE INTO `item_db` VALUES ('1645','Lich_Bone_Wand_M','Lich\'s Bone Wand','4','20','10','800','60','0','0','1','2','99092','2','2','2','3','70',NULL,'1','10','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus bMatkRate,20; bonus3 bAutoSpellWhenHit,NPC_WIDECURSE,5,10+getrefine(); if(getrefine()>=9) { bonus bMatkRate,3; bonus bMaxSP,300; }','','');
-REPLACE INTO `item_db` VALUES ('1646','La\'cryma_Stick','La\'cryma Stick','4','20','10','500','30','0','0','1','2','66052','2','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bMatkRate,15; bonus bMdef,1; bonus2 bSkillAtk,WZ_STORMGUST,getrefine(); if(getrefine()>9) bonus2 bCastrate,WZ_STORMGUST,-8;','','');
+REPLACE INTO `item_db` VALUES ('1646','Lacryma_Stick','La\'cryma Stick','4','20','10','500','30','0','0','1','2','66052','2','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bMatkRate,15; bonus bMdef,1; bonus2 bSkillAtk,WZ_STORMGUST,getrefine(); if(getrefine()>9) bonus2 bCastrate,WZ_STORMGUST,-8;','','');
REPLACE INTO `item_db` VALUES ('1647','Croce_Staff','Croce Staff','4','20','10','500','30','0','0','1','1','33040','2','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bInt,4; bonus4 bAutoSpellOnSkill,AL_HEAL,AL_BLESSING,max(getskilllv(AL_BLESSING),1),20;','','');
REPLACE INTO `item_db` VALUES ('1648','Staff_Of_Bordeaux','Staff Of Bordeaux','4','20','10','500','30','0','0','1','0','66052','2','2','2','4','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,15; bonus bInt,2; bonus bDex,1; if(getskilllv(SA_DRAGONOLOGY)==5) { bonus bUseSPrate,-15; bonus bInt,3; }','','');
REPLACE INTO `item_db` VALUES ('1701','Bow','Bow','4','1000','500','500','15','0','0','5','3','657480','63','2','34','1','4',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1080,13 +1080,13 @@ REPLACE INTO `item_db` VALUES ('1966','Whip_Of_Ice_Piece','Icicle Whip','4','20'
REPLACE INTO `item_db` VALUES ('1967','Whip_Of_Earth','Gaia Whip','4','20','10','700','110','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('1968','Jump_Rope','Skipping Rope','4','20','10','400','120','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,20;','','');
REPLACE INTO `item_db` VALUES ('1969','Bladed_Whip','Blade Whip','4','20','10','1200','140','0','0','2','0','524288','63','0','2','4','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Bleeding,300;','','');
-REPLACE INTO `item_db` VALUES ('1970','Queen\'s_Whip','Queen\'s Whip','4','20','10','1100','150','0','0','2','0','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
+REPLACE INTO `item_db` VALUES ('1970','Queens_Whip','Queen\'s Whip','4','20','10','1100','150','0','0','2','0','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
REPLACE INTO `item_db` VALUES ('1971','Electric_Wire','Electric Wire','4','20','10','700','110','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('1972','Electric_Eel','Electric Eel','4','20','10','2000','100','0','0','2','2','524288','2','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus bInt,2; bonus bAgi,2; bonus3 bAutoSpell,WZ_JUPITEL,3,20; if(getrefine()>0) bonus3 bAutoSpell,CG_ARROWVULCAN,getrefine(),50;','','');
REPLACE INTO `item_db` VALUES ('1973','Sea_Witch_Foot','Sea Witch\'s Foot','4','20','10','1500','110','0','0','2','1','524288','2','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPGainValue,5; bonus4 bAutoSpellWhenHit,WZ_FROSTNOVA,3,50,1; bonus3 bAutoSpell,NPC_WIDESILENCE,2,100;','','');
REPLACE INTO `item_db` VALUES ('1974','Carrot_Whip','Carrot Whip','4','20','10','1300','185','0','0','2','0','524288','2','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>0) bonus3 bAutoSpell,AL_INCAGI,getrefine(),10;','','');
REPLACE INTO `item_db` VALUES ('1975','Queen_Is_Whip','Queen Is Whip','4','20','10','0','120','0','0','2','0','524288','63','0','2','1','0',NULL,'0','14','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 50;','','');
-REPLACE INTO `item_db` VALUES ('1976','Queen\'s_Whip_','Queen\'s Whip','4','20','10','1100','150','0','0','2','2','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
+REPLACE INTO `item_db` VALUES ('1976','Queens_Whip_','Queen\'s Whip','4','20','10','1100','150','0','0','2','2','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
REPLACE INTO `item_db` VALUES ('1977','BF_Whip1','Valorous Battle Lariat','4','20','10','0','50','0','0','2','0','524288','63','0','2','3','80',NULL,'1','14','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bIgnoreDefRate,RC_DemiPlayer,20; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1978','BF_Whip2','Brave Battle Lariat','4','20','10','0','50','0','0','2','0','524288','63','0','2','3','80',NULL,'1','14','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bSkillAtk,CG_ARROWVULCAN,20; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1979','Stem_Of_Nepenthes','Stem of Nepenthes','4','20','10','1000','120','0','0','2','2','524288','2','0','2','4','60',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,DC_THROWARROW,Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,DC_THROWARROW,Eff_Freeze,1000; }','','');
@@ -1115,8 +1115,8 @@ REPLACE INTO `item_db` VALUES ('2111','Herald_Of_GOD','Sacred Mission','5','1280
REPLACE INTO `item_db` VALUES ('2112','Novice_Guard','Novice Guard','5','1','0','1','0','0','3','0','0','1','63','2','32','0','0',NULL,'0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2113','Novice_Shield','Novice Shield','5','5000','2500','1000','0','0','3','0','1','1','63','2','32','0','40',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;','','');
REPLACE INTO `item_db` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','3','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,5;','','');
-REPLACE INTO `item_db` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','3','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
-REPLACE INTO `item_db` VALUES ('2116','Angel\'s_Safeguard','Angelic Guard','5','10000','5000','400','0','0','3','0','1','1','63','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Demon,5;','','');
+REPLACE INTO `item_db` VALUES ('2115','Valkyrjas_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','3','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
+REPLACE INTO `item_db` VALUES ('2116','Angels_Safeguard','Angelic Guard','5','10000','5000','400','0','0','3','0','1','1','63','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Demon,5;','','');
REPLACE INTO `item_db` VALUES ('2117','Arm_Guard','Arm Guard','5','10000','5000','150','0','0','5','0','0','33554432','63','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2118','Arm_Guard_','Arm Guard','5','10000','5000','150','0','0','5','0','1','33554432','63','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2119','Improved_Arm_Guard','Advanced Arm Guard','5','40000','20000','150','0','0','4','0','0','33554432','63','2','32','0','50',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
@@ -1137,7 +1137,7 @@ REPLACE INTO `item_db` VALUES ('2133','Tournament_Shield','Tournament Shield','5
REPLACE INTO `item_db` VALUES ('2134','Shield_Of_Naga','Shield of Naga','5','20','10','500','0','0','3','0','1','13623168','2','2','32','0','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; autobonus2 \"{ bonus bShortWeaponDamageReturn,(getrefine()*3); }\",10,5000,BF_WEAPON,\"{ specialeffect2 EF_GUARD; }\";','','');
REPLACE INTO `item_db` VALUES ('2135','Shadow_Guard','Shadow Guard','5','20','10','800','0','0','4','0','1','131072','2','2','32','0','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2136','Cracked_Buckler','Cracked Buckler','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bAddEle,Ele_Neutral,-10; bonus3 bAutoSpellWhenHit,PR_KYRIE,1,50; bonus bMdef,1;','','');
-REPLACE INTO `item_db` VALUES ('2137','Valkyrja\'s_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','5','0','0','18446744073709551614','2','2','32','0','95',NULL,'0','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
+REPLACE INTO `item_db` VALUES ('2137','Valkyrjas_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','5','0','0','18446744073709551614','2','2','32','0','95',NULL,'0','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2138','Bradium_Shield','Bradium Shield','5','20','10','1800','0','0','5','0','1','13623168','2','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CR_SHIELDBOOMERANG,60; bonus bAgi,-1; bonus bMaxHP,500;','','');
REPLACE INTO `item_db` VALUES ('2139','Flame_Thrower','Flame Thrower','5','20000','10000','2000','0','0','60','0','0','1024','8','2','32','0','99',NULL,'0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2199','Ahura_Mazda','Ahura Mazdah','5','1','0','10','0','0','100','0','0','18446744073709551615','63','2','32','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiPlayer,95; skill CR_FULLPROTECTION,5; skill WZ_ESTIMATION,1; skill ST_FULLSTRIP,5; skill HW_MAGICPOWER,10; bonus bMaxHPrate,200; bonus bNoGemStone,0; bonus bSpeedRate,25;','sc_start4 SC_ENDURE,60000,10,0,0,1;','sc_end SC_ENDURE;');
@@ -1145,7 +1145,7 @@ REPLACE INTO `item_db` VALUES ('2201','Sunglasses','Sunglasses','5','5000','2500
REPLACE INTO `item_db` VALUES ('2202','Sunglasses_','Sunglasses','5','5000','2500','100','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,500;','','');
REPLACE INTO `item_db` VALUES ('2203','Glasses','Glasses','5','4000','2000','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2204','Glasses_','Glasses','5','4000','2000','100','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2205','Diver\'s_Goggles','Diver Goggles','5','3500','1750','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2205','Divers_Goggles','Diver Goggles','5','3500','1750','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2206','Wedding_Veil','Wedding Veil','5','23000','11500','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','44','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2207','Fancy_Flower','Fancy Flower','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Plant,10;','','');
REPLACE INTO `item_db` VALUES ('2208','Ribbon','Ribbon','5','800','400','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
@@ -1176,17 +1176,17 @@ REPLACE INTO `item_db` VALUES ('2232','Circlet','Circlet','5','7500','3750','300
REPLACE INTO `item_db` VALUES ('2233','Circlet_','Circlet','5','7500','3750','300','0','0','3','0','1','8487700','63','2','256','0','0',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','4','0','0','18446744073709551614','63','2','256','0','45',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','4','0','0','18446744073709551614','63','1','256','0','45',NULL,'1','45','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
-REPLACE INTO `item_db` VALUES ('2236','Santa\'s_Hat','Santa Hat','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bLuk,1;','','');
+REPLACE INTO `item_db` VALUES ('2236','Santas_Hat','Santa Hat','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('2237','Weird_Goatee','Bandit Beard','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2239','One_Eyed_Glass','Monocle','5','10000','5000','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2240','Beard','Beard','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','24','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'2241','','','');
REPLACE INTO `item_db` VALUES ('2241','Granpa_Beard','Grampa Beard','5','5000','2500','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2242','Luxury_Sunglasses','Purple Glasses','5','24000','12000','100','0','0','1','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','26','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('2243','Spinning_Eyes','Geek Glasses','5','20000','10000','100','0','0','1','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','27','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,1500;','','');
-REPLACE INTO `item_db` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('2244','Big_Sis_Ribbon','Big Ribbon','5','15000','7500','200','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','29','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','5','0','0','18446744073709551614','63','2','256','0','40',NULL,'1','30','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','31','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2247','Oldmans_Romance','Romantic Gent','5','15000','7500','400','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','31','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','32','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','33','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','34','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
@@ -1244,7 +1244,7 @@ REPLACE INTO `item_db` VALUES ('2302','Cotton_Shirt_','Cotton Shirt','5','10','5
REPLACE INTO `item_db` VALUES ('2303','Leather_Jacket','Jacket','5','200','100','200','0','0','2','0','0','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2304','Leather_Jacket_','Jacket','5','200','100','200','0','0','2','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2305','Adventure_Suit','Adventurer\'s Suit','5','1000','500','300','0','0','3','0','0','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2306','Adventurere\'s_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','3','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2306','Adventureres_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','3','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','4','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','4','0','1','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','5','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1291,9 +1291,9 @@ REPLACE INTO `item_db` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Ty
REPLACE INTO `item_db` VALUES ('2350','Earth_Sprits_Armor','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','4','0','0','279714','63','2','16','0','45',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','4','0','1','18446744073709551614','63','2','16','0','45',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('2352','Novice_Plate','Tattered Novice Ninja Suit','5','1','0','1','0','0','4','0','0','1','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','6','0','1','18446744073709551614','63','2','16','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','7','0','0','18446744073709551614','63','2','16','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMaxHPrate,10;','','');
-REPLACE INTO `item_db` VALUES ('2355','Angel\'s_Protection','Angelic Protection','5','10000','5000','600','0','0','4','0','1','1','63','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,20;','','');
+REPLACE INTO `item_db` VALUES ('2353','Odins_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','6','0','1','18446744073709551614','63','2','16','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2354','Goibnes_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','7','0','0','18446744073709551614','63','2','16','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMaxHPrate,10;','','');
+REPLACE INTO `item_db` VALUES ('2355','Angels_Protection','Angelic Protection','5','10000','5000','600','0','0','4','0','1','1','63','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,20;','','');
REPLACE INTO `item_db` VALUES ('2356','Vestment_Of_Grace','Blessed Holy Robe','5','20','10','2500','0','0','5','0','1','33024','63','2','16','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bResEff,Eff_Blind,8000;','','');
REPLACE INTO `item_db` VALUES ('2357','Valkyrie_Armor','Valkyrian Armor','5','0','0','2800','0','0','6','0','1','18446744073709551614','2','2','16','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;','','');
REPLACE INTO `item_db` VALUES ('2358','Dress_Of_Angel','Angel\'s Dress','5','20','10','1000','0','0','5','0','0','18446744073709551615','63','2','16','0','1',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,4;','','');
@@ -1328,7 +1328,7 @@ REPLACE INTO `item_db` VALUES ('2389','Armor_Of_Naga','Armor of Naga','5','20','
REPLACE INTO `item_db` VALUES ('2390','Improved_Tights','Improved Tights','5','20','10','400','0','0','6','0','1','526344','2','2','16','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bFlee2,3;','','');
REPLACE INTO `item_db` VALUES ('2391','Life_Link','Life Link','5','20','10','3500','0','0','9','0','1','16514','2','2','16','0','82',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;','','');
REPLACE INTO `item_db` VALUES ('2392','Old_Pant','Old Green Pantie','5','0','0','0','0','0','10','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,MO_CALLSPIRITS,5,20; bonus bMdef,1;','','');
-REPLACE INTO `item_db` VALUES ('2393','N_Adventurer\'s_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','8','0','1','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2393','N_Adventurers_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','8','0','1','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','16','0','81',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20; bonus2 bSubRace,RC_DemiPlayer,7;','','');
REPLACE INTO `item_db` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','16','0','61',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,600; bonus bSPrecovRate,10;','','');
REPLACE INTO `item_db` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500;','','');
@@ -1352,9 +1352,9 @@ REPLACE INTO `item_db` VALUES ('2414','Novice_Boots','Novice Slippers','5','1','
REPLACE INTO `item_db` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','3','0','1','18446744073709551614','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2416','Novice_Shoes','Novice Shoes','5','35000','17500','500','0','0','2','0','1','1','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5;','','');
REPLACE INTO `item_db` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','3','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','','');
-REPLACE INTO `item_db` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','4','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','','');
-REPLACE INTO `item_db` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','4','0','0','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2420','Angel\'s_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','2','0','1','1','63','2','64','0','25',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
+REPLACE INTO `item_db` VALUES ('2418','Vidars_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','4','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','','');
+REPLACE INTO `item_db` VALUES ('2419','Goibnes_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','4','0','0','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2420','Angels_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','2','0','1','1','63','2','64','0','25',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('2421','Valkyrie_Shoes','Valkyrian Shoes','5','0','0','500','0','0','4','0','1','18446744073709551614','2','2','64','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2);','','');
REPLACE INTO `item_db` VALUES ('2422','High_Fashion_Sandals','High Fashion Sandals','5','24000','12000','200','0','0','2','0','1','8487700','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('2423','Variant_Shoes','Variant Shoes','5','20','10','500','0','0','3','0','0','18446744073709551614','2','2','64','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','','');
@@ -1394,17 +1394,17 @@ REPLACE INTO `item_db` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5',
REPLACE INTO `item_db` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','1','0','0','18446744073709551614','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableGarment,0; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('2509','Clack_Of_Servival','Survivor\'s Manteau','5','20000','10000','550','0','0','0','0','0','8454660','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bVit,10;','','');
REPLACE INTO `item_db` VALUES ('2510','Novice_Hood','Somber Novice Hood','5','1','0','1','0','0','2','0','0','1','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,20;','','');
-REPLACE INTO `item_db` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','1','0','0','18446744073709551614','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','','');
+REPLACE INTO `item_db` VALUES ('2511','Skeletons_Cape','Skeleton Manteau','5','5000','2500','700','0','0','1','0','0','18446744073709551614','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','','');
REPLACE INTO `item_db` VALUES ('2512','Novice_Manteau','Novice Manteau','5','50000','25000','500','0','0','2','0','1','1','63','2','4','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,10;','','');
REPLACE INTO `item_db` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','3','0','1','18446744073709551614','63','2','4','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2514','Pauldron','Pauldron','5','20','10','800','0','0','5','0','1','414946','63','2','4','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2515','Wing_Of_Eagle','Eagle Wing','5','20000','10000','300','0','0','1','0','1','8454660','63','2','4','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','3','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,15; bonus bFlee2,5;','','');
-REPLACE INTO `item_db` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','4','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15;','','');
-REPLACE INTO `item_db` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','3','0','0','18446744073709551614','63','2','4','0','33',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,10; bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','3','0','0','18446744073709551614','63','2','4','0','61',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,8;','','');
-REPLACE INTO `item_db` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','3','0','0','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
-REPLACE INTO `item_db` VALUES ('2521','Angel\'s_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','2','0','1','1','63','2','4','0','20',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,5;','','');
+REPLACE INTO `item_db` VALUES ('2517','Valis_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','4','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15;','','');
+REPLACE INTO `item_db` VALUES ('2518','Morpheuss_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','3','0','0','18446744073709551614','63','2','4','0','33',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,10; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('2519','Morriganes_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','3','0','0','18446744073709551614','63','2','4','0','61',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,8;','','');
+REPLACE INTO `item_db` VALUES ('2520','Goibnes_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','3','0','0','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('2521','Angels_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','2','0','1','1','63','2','4','0','20',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,5;','','');
REPLACE INTO `item_db` VALUES ('2522','Undershirt','Undershirt','5','20000','10000','150','0','0','2','0','0','18446744073709551615','63','2','4','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2523','Undershirt_','Undershirt','5','20000','10000','150','0','0','2','0','1','18446744073709551615','63','2','4','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2524','Valkyrie_Manteau','Valkyrian Manteau','5','0','0','500','0','0','3','0','1','18446744073709551614','2','2','4','0','1',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2);','','');
@@ -1432,7 +1432,7 @@ REPLACE INTO `item_db` VALUES ('2546','Beach_Manteau','Beach Manteau','5','20','
REPLACE INTO `item_db` VALUES ('2547','Cheap_Running_Shirts','Cheap Undershirt','5','0','0','0','0','0','8','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2548','Muffler_C','Neo Muffler','5','0','0','0','0','0','5','0','0','18446744073709551614','2','2','4','0','95',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;','','');
REPLACE INTO `item_db` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','4','0','81',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5; bonus2 bSubRace,RC_DemiPlayer,5;','','');
-REPLACE INTO `item_db` VALUES ('2550','Fisher\'s_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2550','Fishers_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2551','Rider_Insignia_M','Crest of the Rider','5','20','10','500','0','0','4','0','1','18446744073709551614','2','2','4','0','55',NULL,'1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('2552','Mithril_Magic_Cape_M','Mithril Magic Manteau','5','20','10','400','0','0','3','0','1','625436','2','2','4','0','70',NULL,'1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','','');
REPLACE INTO `item_db` VALUES ('2553','Dragon_Manteau','Dragon Manteau','5','20','10','1000','0','0','5','0','1','18446744073709551614','2','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bMdef,5;','','');
@@ -1453,7 +1453,7 @@ REPLACE INTO `item_db` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5'
REPLACE INTO `item_db` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','3','0','0','18446744073709551614','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','18446744073709551614','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5;','','');
REPLACE INTO `item_db` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
-REPLACE INTO `item_db` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
+REPLACE INTO `item_db` VALUES ('2618','Matyrs_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2619','Thimble_Of_Archer','Bow Thimble','5','10000','5000','100','0','0','0','0','0','526344','63','2','136','0','65',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,3;','','');
REPLACE INTO `item_db` VALUES ('2620','Ring_Of_Rogue','Rogue\'s Treasure','5','10000','5000','100','0','0','0','0','0','33689664','63','2','136','0','70',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(readparam(bStr)>=90) { bonus bHit,10; bonus bFlee,10; } if(readparam(bAgi)>=90) { bonus bBaseAtk,10; bonus bCritical,10; }','','');
REPLACE INTO `item_db` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
@@ -1475,19 +1475,19 @@ REPLACE INTO `item_db` VALUES ('2638','Exorcize_Sachet','Sacred Incense','5','20
REPLACE INTO `item_db` VALUES ('2639','Purification_Sachet','Occult Incense','5','20000','10000','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','18446744073709551614','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2641','Fashionable_Sack','Fashion Hip Sack','5','20','10','700','0','0','0','0','0','263200','63','2','136','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
-REPLACE INTO `item_db` VALUES ('2642','Serin\'s_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2643','Serin\'s_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2642','Serins_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2643','Serins_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2644','The_Sign_','The Sign','5','2','1','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 5; bonus bMatkRate,5;','','');
REPLACE INTO `item_db` VALUES ('2645','Moonlight_Ring','Moonlight Ring','5','40000','20000','200','0','0','0','0','0','33689664','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('2646','Bunch_Of_Carnation','Bunch of Carnations','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3;','','');
REPLACE INTO `item_db` VALUES ('2647','Nile_Rose','Nile Rose','5','2','1','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,10;','','');
-REPLACE INTO `item_db` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
-REPLACE INTO `item_db` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2648','Morpheuss_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2649','Morpheuss_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2650','Morriganes_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2651','Morriganes_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
REPLACE INTO `item_db` VALUES ('2652','Cursed_Lucky_Brooch','Goddess of Fortune\'s Cursed Brooch','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,6; bonus2 bAddEff2,Eff_Curse,50;','','');
REPLACE INTO `item_db` VALUES ('2653','Sacrifice_Ring','Sacrifice Ring','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2654','Shinobi\'s_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','33689664','63','2','136','0','30',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','','');
+REPLACE INTO `item_db` VALUES ('2654','Shinobis_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','33689664','63','2','136','0','30',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','18446744073709551614','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2656','Hyper_Changer','Armor Charm','5','20000','10000','1000','0','0','1','0','0','414946','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50;','','');
REPLACE INTO `item_db` VALUES ('2657','Lab_Passport','Laboratory Permit','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1501,7 +1501,7 @@ REPLACE INTO `item_db` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200'
REPLACE INTO `item_db` VALUES ('2665','Ring_Of_Exorcism','Exorcising Ring','5','20','10','500','0','0','0','0','0','33040','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5;','','');
REPLACE INTO `item_db` VALUES ('2666','Lamp_Of_Hope','Lantern of Hope','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bResEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','18446744073709551614','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','','');
-REPLACE INTO `item_db` VALUES ('2668','Women\'s_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2668','Womens_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2669','Golden_Necklace_','RJC Necklace','5','30000','15000','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,10;','','');
REPLACE INTO `item_db` VALUES ('2670','Ring_Of_Longing','Ring of Longing','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','136','0','30',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5;','','');
REPLACE INTO `item_db` VALUES ('2671','Thimble_Of_Archer_','Bow Thimble','5','10000','5000','100','0','0','0','0','1','526344','63','2','136','0','65',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,3;','','');
@@ -1612,7 +1612,7 @@ REPLACE INTO `item_db` VALUES ('2777','Shaman_Ring','Shaman Ring','5','20','10',
REPLACE INTO `item_db` VALUES ('2778','Shaman_Earing','Shaman Earrings','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','30',NULL,'0','0','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('2779','Dark_Knight_Belt','Dark Knight Belt','5','20','10','500','0','0','1','0','0','18446744073709551615','63','2','136','0','30',NULL,'0','0','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2780','Dark_Knight_Glove','Dark Knight Glove','5','20','10','500','0','0','1','0','0','18446744073709551615','63','2','136','0','80',NULL,'0','0','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bAspdRate,2; }\",10,10000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\";','','');
-REPLACE INTO `item_db` VALUES ('2781','Aumdura\'s_Grace','Aumdura\'s Benefit','5','0','0','100','0','0','1','0','1','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,1;','','');
+REPLACE INTO `item_db` VALUES ('2781','Aumduras_Grace','Aumdura\'s Benefit','5','0','0','100','0','0','1','0','1','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2782','Ring_Of_Wise_King','Ring of the Ancient Wise King','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50; bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('2783','Eyes_Stone_Ring','Eye Stone Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','70',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,2; bonus bMaxSP,25;','','');
REPLACE INTO `item_db` VALUES ('2784','Oh_Holy_Night','Christmas Musicbox','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill ALL_WEWISH,1;','','');
@@ -1627,7 +1627,7 @@ REPLACE INTO `item_db` VALUES ('2794','Magic_Stone_Ring','Magic Stone Ring','5',
REPLACE INTO `item_db` VALUES ('2795','Green_Apple_Ring','Green Apple Ring','5','0','0','0','0','0','0','0','0','18446744073709551614','63','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,6; if(JobLevel <30) { bonus bAllStats,(JobLevel/5); }','','');
REPLACE INTO `item_db` VALUES ('2796','Magical_Stone','Rocks','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,2047,10; bonus2 bAddDefClass,2048,-10; bonus3 bAddClassDropItem,6152,2047,70;','','');
REPLACE INTO `item_db` VALUES ('2797','Magical_Stone_','Rocks','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,2049,10; bonus2 bAddDefClass,2050,-10; bonus3 bAddClassDropItem,6151,2049,70;','','');
-REPLACE INTO `item_db` VALUES ('2798','Will_Of_Exhausted_Angel','Will Of Exhausted Angel','5','0','0','200','0','0','0','0','0','33024','63','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_arch02\") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; }','','');
+REPLACE INTO `item_db` VALUES ('2798','Will_Of_Exhausted_Angel','Will Of Exhausted Angel','5','0','0','200','0','0','0','0','0','33024','63','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_arch02\") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; }','','');
REPLACE INTO `item_db` VALUES ('2799','Kuirpenring','Kuirpenring','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2800','Accelerator','Accelerator','5','100000','50000','100','0','0','0','0','1','1024','8','2','136','0','99',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('2801','Hovering_Booster','Hovering Booster','5','100000','50000','2000','0','0','0','0','1','1024','8','2','136','0','99',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
@@ -1906,7 +1906,7 @@ REPLACE INTO `item_db` VALUES ('4259','Wooden_Golem_Card','Wooden Golem Card','6
REPLACE INTO `item_db` VALUES ('4260','Wootan_Shooter_Card','Wootan Shooter Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Confusion,2000;','','');
REPLACE INTO `item_db` VALUES ('4261','Wootan_Fighter_Card','Wootan Fighter Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,2000;','','');
REPLACE INTO `item_db` VALUES ('4262','Evil_Cloud_Hermit_Card','Cloud Hermit Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddMonsterDropItem,12029,RC_Plant,100;','','');
-REPLACE INTO `item_db` VALUES ('4263','Incant_Samurai_Card','Samurai Spector Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; bonus2 bHPLossRate,666,10000;','','if((Hp <= 999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) { heal (1-Hp),0; } else { heal -999,0; }');
+REPLACE INTO `item_db` VALUES ('4263','Incant_Samurai_Card','Samurai Spector Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; bonus2 bHPLossRate,666,10000;','','if((Hp <= 999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) { heal (1-Hp),0; } else { heal -999,0; }');
REPLACE INTO `item_db` VALUES ('4264','Wind_Ghost_Card','Wind Ghost Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,WZ_JUPITEL,3+7*(getskilllv(WZ_JUPITEL)==10),20;','','');
REPLACE INTO `item_db` VALUES ('4265','Li_Me_Mang_Ryang_Card','Jing Guai Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddMonsterDropItem,12033,RC_Angel,100;','','');
REPLACE INTO `item_db` VALUES ('4266','Eclipse_Card','Eclipse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
@@ -2018,7 +2018,7 @@ REPLACE INTO `item_db` VALUES ('4371','Archdam_Card','Archdam Card','6','20','10
REPLACE INTO `item_db` VALUES ('4372','Bacsojin_Card','White Lady Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower,30; bonus bUseSPrate,15;','','');
REPLACE INTO `item_db` VALUES ('4373','Chung_E_Card','Green Maiden Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,getrefine()-5; bonus bCritical,getrefine();','','');
REPLACE INTO `item_db` VALUES ('4374','Apocalips_H_Card','Vesper Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bIgnoreMdefRate,RC_Boss,30;','','');
-REPLACE INTO `item_db` VALUES ('4375','Orc_Baby_Card','Orc Baby Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>=9) { bonus2 bSubEle,Ele_Neutral,15; bonus bFlee,15; } else { bonus2 bSubEle,Ele_Neutral,10; bonus bFlee,10; }','','');
+REPLACE INTO `item_db` VALUES ('4375','Orc_Baby_Card_Card','Orc Baby Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>=9) { bonus2 bSubEle,Ele_Neutral,15; bonus bFlee,15; } else { bonus2 bSubEle,Ele_Neutral,10; bonus bFlee,10; }','','');
REPLACE INTO `item_db` VALUES ('4376','Lady_Tanee_Card','Lady Tanee Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,-40; bonus bMaxSPrate,50; bonus2 bAddMonsterDropItem,513,200; bonus2 bAddItemHealRate,513,100;','','');
REPLACE INTO `item_db` VALUES ('4377','Green_Iguana_Card','Grove Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddMonsterDropItem,12063,RC_Formless,50;','','');
REPLACE INTO `item_db` VALUES ('4378','Acidus_Card','Gold Acidus Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()<=4) { bonus bMaxHPrate,8; bonus bMaxSPrate,8; bonus bHPrecovRate,5; bonus bSPrecovRate,5; } else { bonus bMaxHPrate,4; bonus bMaxSPrate,4; }','','');
@@ -2093,7 +2093,7 @@ REPLACE INTO `item_db` VALUES ('4447','Centipede_Card','Centipede Card','6','20'
REPLACE INTO `item_db` VALUES ('4448','Cornus_Card','Cornus Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,20; bonus2 bAddEle,Ele_Holy,5;','','');
REPLACE INTO `item_db` VALUES ('4449','Dark_Shadow_Card','Dark Shadow Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,20; bonus2 bAddEle,Ele_Dark,5;','','');
REPLACE INTO `item_db` VALUES ('4450','Banshee_Master_Card','Banshee Master Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatk,10;','','');
-REPLACE INTO `item_db` VALUES ('4451','Entweihen_Card','Entweihen Crothen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,100;','','');
+REPLACE INTO `item_db` VALUES ('4451','Ant_Buyanne_Card','Entweihen Crothen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,100;','','');
REPLACE INTO `item_db` VALUES ('4452','Centipede_Larva_Card','Centipede Larva Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatk,3;','','');
REPLACE INTO `item_db` VALUES ('4453','Hilsrion_Card','Hillsrion Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,25;','','');
REPLACE INTO `item_db` VALUES ('4700','Strength1','STR+1','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
@@ -2193,11 +2193,11 @@ REPLACE INTO `item_db` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','1
REPLACE INTO `item_db` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','95','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('5010','Indian_Hair_Piece','Indian Fillet','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','96','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5011','Antenna','Aerial','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','97','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5012','Ph_D_Hat','Ph.D Hat','5','20','10','200','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5013','Horn_Of_Lord_Kaho','Lord Kaho\'s Horn','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','99','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20;','','');
REPLACE INTO `item_db` VALUES ('5014','Fin_Helm','Fin Helm','5','20','10','300','0','0','2','0','0','16514','63','2','512','0','65',NULL,'0','100','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5015','Egg_Shell','Egg Shell','5','20','10','200','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5016','Boys_Cap','Boy\'s Cap','5','20','10','100','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5017','Bone_Helm','Bone Helm','5','20','10','800','0','0','7','0','0','279714','63','2','256','0','70',NULL,'1','103','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,-15;','','');
REPLACE INTO `item_db` VALUES ('5018','Feather_Bonnet','Feather Bonnet','5','20','10','300','0','0','4','0','0','526344','63','2','256','0','0',NULL,'1','104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
@@ -2225,7 +2225,7 @@ REPLACE INTO `item_db` VALUES ('5040','Blush','Blush','5','20','10','100','0','0
REPLACE INTO `item_db` VALUES ('5041','Heart_Hair_Pin','Heart Hairpin','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','18446744073709551614','63','2','256','0','14',NULL,'1','127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','1','0','0','18446744073709551614','63','2','512','0','20',NULL,'0','128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5044','Devil\'s_Wing','Evil Wing Ears','5','20','10','350','0','0','2','0','0','0','63','2','256','0','45',NULL,'1','129','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('5044','Devils_Wing','Evil Wing Ears','5','20','10','350','0','0','2','0','0','0','63','2','256','0','45',NULL,'1','129','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
REPLACE INTO `item_db` VALUES ('5045','Magician_Hat','Magician Hat','5','20','10','500','0','0','3','0','0','8487700','63','2','256','0','50',NULL,'1','130','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50;','','');
REPLACE INTO `item_db` VALUES ('5046','Bongun_Hat','Bongun Hat','5','20','10','300','0','0','5','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','139','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','131','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2249,13 +2249,13 @@ REPLACE INTO `item_db` VALUES ('5064','Leaf_Headgear','Smokie Leaf','5','20','10
REPLACE INTO `item_db` VALUES ('5065','Fish_On_Head','Blue Fish','5','20','10','500','0','0','2','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','149','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Fish,10;','','');
REPLACE INTO `item_db` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','4','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','4','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','151','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('5068','Ear_Of_Devil\'s_Wing','Evil Wing Ears','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('5068','Ear_Of_Devils_Wing','Evil Wing Ears','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','153','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','154','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','155','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','4','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','156','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 2;','','');
-REPLACE INTO `item_db` VALUES ('5074','Ear_Of_Angel\'s_Wing','Angel Wing Ears','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('5074','Ear_Of_Angels_Wing','Angel Wing Ears','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5075','Cowboy_Hat','Cowboy Hat','5','20','10','500','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','159','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5076','Fur_Hat','Beanie','5','20','10','350','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','160','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('5077','Tulip_Hairpin','Tulip Hairpin','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','161','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2306,9 +2306,9 @@ REPLACE INTO `item_db` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15
REPLACE INTO `item_db` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','3','0','1','18446744073709551614','63','2','256','0','65',NULL,'1','254','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','3','0','0','18446744073709551614','63','2','256','0','65',NULL,'1','251','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','','');
REPLACE INTO `item_db` VALUES ('5125','Kiss_Of_Angel','Angel\'s Kiss','5','10000','5000','300','0','0','3','0','1','1','63','2','256','0','50',NULL,'1','255','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPrecovRate,5;','','');
-REPLACE INTO `item_db` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','1','0','0','18446744073709551614','63','2','256','0','33',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
-REPLACE INTO `item_db` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','4','0','0','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
-REPLACE INTO `item_db` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','5','0','0','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('5126','Morpheuss_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','1','0','0','18446744073709551614','63','2','256','0','33',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('5127','Morriganes_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','4','0','0','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
+REPLACE INTO `item_db` VALUES ('5128','Goibnes_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','5','0','0','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('5129','Bird_Nest','Bird Nest','5','20','10','400','0','0','1','0','0','18446744073709551615','63','2','256','0','50',NULL,'0','201','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bSubRace,RC_Brute,10;','','');
REPLACE INTO `item_db` VALUES ('5130','Lion_Mask','Lion Mask','5','20','10','700','0','0','0','0','0','13623168','63','2','768','0','75',NULL,'1','202','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('5131','Close_Helmet','Close Helmet','5','20','10','1200','0','0','8','0','0','16514','63','2','769','0','75',NULL,'1','203','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMaxHPrate,3;','','');
@@ -2316,7 +2316,7 @@ REPLACE INTO `item_db` VALUES ('5132','Angeling_Hat','Angeling Hat','5','20','10
REPLACE INTO `item_db` VALUES ('5133','Sheep_Hat','Sheep Hat','5','20','10','150','0','0','1','0','0','33040','63','2','256','0','0',NULL,'0','205','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bShortWeaponDamageReturn,5;','','');
REPLACE INTO `item_db` VALUES ('5134','Pumpkin_Hat','Pumpkin-Head','5','20','10','200','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Demon,5;','','');
REPLACE INTO `item_db` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','18446744073709551614','63','2','512','0','75',NULL,'0','207','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50;','','');
-REPLACE INTO `item_db` VALUES ('5136','Santa\'s_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5136','Santas_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','0','0','1','18446744073709551614','63','2','256','0','30',NULL,'0','208','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddEff2,Eff_Sleep,10;','','');
REPLACE INTO `item_db` VALUES ('5138','Magic_Eyes','Magic Eyes','5','20','10','300','0','0','1','0','0','8454660','63','2','256','0','30',NULL,'1','209','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20;','','');
REPLACE INTO `item_db` VALUES ('5139','Hibiscus','Hibiscus','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','256','0','10',NULL,'0','210','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bInt,1; bonus bMdef,5;','','');
@@ -2487,7 +2487,7 @@ REPLACE INTO `item_db` VALUES ('5303','Flower_Coronet','Flower Crown','5','20','
REPLACE INTO `item_db` VALUES ('5304','Cap_Of_Blindness','Cap Of Blindness','5','20','10','800','0','0','4','0','1','18446744073709551615','63','2','769','0','50',NULL,'1','326','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;','','');
REPLACE INTO `item_db` VALUES ('5305','Pirate_Dagger','Pirate Dagger','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','327','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5;','','');
REPLACE INTO `item_db` VALUES ('5306','Freyja_Crown','Freya\'s Crown','5','0','0','500','0','0','12','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','328','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,5;','','');
-REPLACE INTO `item_db` VALUES ('5307','Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','329','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','','');
+REPLACE INTO `item_db` VALUES ('5307','Carmen_Mirandas_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','329','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','','');
REPLACE INTO `item_db` VALUES ('5308','Brazilian_Flag_Hat','Brazil National Flag Hat','5','20','10','300','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','330','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bSpeedAddRate,25;','','');
REPLACE INTO `item_db` VALUES ('5309','Mahican','Wool Mask','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','769','0','0',NULL,'1','331','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','','');
REPLACE INTO `item_db` VALUES ('5310','Bulb_Hairband','Shining Electric Bulb Hairband','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','332','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,10; skill MG_SIGHT,1;','','sc_end SC_SIGHT;');
@@ -2527,9 +2527,9 @@ REPLACE INTO `item_db` VALUES ('5343','Tayelin_Doll_Hat','Telling Doll Hat','5',
REPLACE INTO `item_db` VALUES ('5344','Binit_Doll_Hat','Bennit Doll Hat','5','0','0','500','0','0','0','0','1','18446744073709551615','63','2','256','0','60',NULL,'0','358','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,5; bonus bVit,2; autobonus \"{ bonus bAspdRate,5; }\",20,30000,0,\"{ specialeffect2 EF_HASTEUP; }\";','','');
REPLACE INTO `item_db` VALUES ('5345','Debril_Doll_Hat','W Doll Hat','5','0','0','500','0','0','0','0','1','18446744073709551615','63','2','256','0','60',NULL,'0','359','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5;','','');
REPLACE INTO `item_db` VALUES ('5346','Gf_Recruiter_Hat','Gf Recruiter Hat','5','0','0','0','0','0','2','0','0','18446744073709551615','63','2','256','0','10',NULL,'1','360','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','2','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','2','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5347','Ph_D_Hat_','Ph.D Hat','5','20','10','200','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5348','Big_Sis_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','2','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('5349','Boys_Cap_','Boy\'s Cap','5','20','10','100','0','0','2','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','74','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5351','Sunflower_','Sunflower','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','37','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Insect,10;','','');
REPLACE INTO `item_db` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','2','0','0','18446744073709551614','63','2','256','0','38',NULL,'1','361','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2601,7 +2601,7 @@ REPLACE INTO `item_db` VALUES ('5417','Crown_Parrot','Crown Parrots','5','20','1
REPLACE INTO `item_db` VALUES ('5418','Soldier_Hat','Legionnaire Hat','5','20','10','400','0','0','4','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','420','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bAddRace, RC_All, 3; bonus bUseSPrate,10;','','');
REPLACE INTO `item_db` VALUES ('5419','Evolved_Leaf','Leaves Of Grass','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','57','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus2 bSubRace,RC_Plant,5;','','');
REPLACE INTO `item_db` VALUES ('5420','Mask_Of_Ifrit','Mask Of Ifrit','5','0','0','0','0','0','8','0','0','18446744073709551614','63','2','769','0','70',NULL,'0','421','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;');
-REPLACE INTO `item_db` VALUES ('5421','Ifrit\'s_Ear','Ears Of Ifrit','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','512','0','70',NULL,'0','422','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','','');
+REPLACE INTO `item_db` VALUES ('5421','Ifrits_Ear','Ears Of Ifrit','5','20','10','0','0','0','0','0','0','18446744073709551614','63','2','512','0','70',NULL,'0','422','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','','');
REPLACE INTO `item_db` VALUES ('5422','Linguistic_Book_Cap','Linguistic Book Hat','5','20','10','70','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','423','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('5423','Lovecap_China','I Love China','5','20','10','250','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','424','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus2 bSubRace,RC_DemiPlayer,10;','','');
REPLACE INTO `item_db` VALUES ('5424','Fanta_Orange_Can','Fanta Orange Can Hat','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','425','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2615,7 +2615,7 @@ REPLACE INTO `item_db` VALUES ('5431','Chicken_Hat','Chicken Hat','5','20','10',
REPLACE INTO `item_db` VALUES ('5432','Brazil_Baseball_Cap','bRO 4th Anniversary Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','433','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (gettime(GETTIME_MONTH) == SEPTEMBER && gettime(GETTIME_DAYOFMONTH) >= 10 && gettime(GETTIME_DAYOFMONTH) <= 24) bonus bAllStats, 4;','','');
REPLACE INTO `item_db` VALUES ('5433','Golden_Wreath','Golden Laurel','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','434','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5435','Coke_Hat','Red Minstrel Hat','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','40',NULL,'1','436','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSP,80; bonus bMdef,3; if(getrefine()>5) { bonus bMdef,getrefine()-5; bonus bMaxSP,(getrefine()-5)*10; }','','');
-REPLACE INTO `item_db` VALUES ('5436','Bride\'s_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,2;','','');
+REPLACE INTO `item_db` VALUES ('5436','Brides_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('5437','Flower_Of_Fairy','Fairy Flower','5','20','10','200','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','438','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,1; bonus2 bSubRace,RC_Insect,5;','','');
REPLACE INTO `item_db` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','439','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','440','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
@@ -2648,7 +2648,7 @@ REPLACE INTO `item_db` VALUES ('5471','Hairband_Of_Reginleif','Hairband Of Regin
REPLACE INTO `item_db` VALUES ('5476','Hairband_Of_Grandpeco','Grand Peco Hairband','5','20','10','800','0','0','2','0','0','18446744073709551615','63','2','768','0','30',NULL,'1','473','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMaxHPrate,-10; bonus2 bAddRace2,RC2_Orc,15;','','');
REPLACE INTO `item_db` VALUES ('5477','Bro_Flag','Brazilian Flag Hat','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','474','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH, 1;','','');
REPLACE INTO `item_db` VALUES ('5478','Classic_Hat','Classic Hat','5','20','10','500','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','475','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMaxHP,300;','','');
-REPLACE INTO `item_db` VALUES ('5479','Shaman\'s_Hair_Ornament','Shaman\'s Hair Decoration','5','20','10','300','0','0','1','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','476','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHP,50; bonus2 bSubEle,Ele_Neutral,5;','','');
+REPLACE INTO `item_db` VALUES ('5479','Shamans_Hair_Ornament','Shaman\'s Hair Decoration','5','20','10','300','0','0','1','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','476','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHP,50; bonus2 bSubEle,Ele_Neutral,5;','','');
REPLACE INTO `item_db` VALUES ('5480','Bizofnil_Wing_Deco','Bijofnil Wings','5','20','10','1000','0','0','3','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','477','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus3 bAutoSpell,PR_IMPOSITIO,3,3;','','');
REPLACE INTO `item_db` VALUES ('5481','Hermose_Cap','Hermode Cap','5','20','10','1000','0','0','1','0','1','18446744073709551615','63','2','256','0','1',NULL,'1','478','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10;','','');
REPLACE INTO `item_db` VALUES ('5482','Dark_Knight_Mask','Dark Knight Mask','5','0','0','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','80',NULL,'1','479','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3;','','');
@@ -2660,7 +2660,7 @@ REPLACE INTO `item_db` VALUES ('5488','J_Twin_Santahat','Twin Santa Hat','5','20
REPLACE INTO `item_db` VALUES ('5489','Love_Daddy','Love Daddy Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','484','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2;','','');
REPLACE INTO `item_db` VALUES ('5490','Anubis_Helm','Anubis Helm','5','20','10','0','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'0','485','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSubRace,RC_Boss,10; bonus bHealPower2,10; bonus bAddItemHealRate,10;','','');
REPLACE INTO `item_db` VALUES ('5491','Hat_Of_Outlaw','Bandit Hat','5','20','10','800','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','486','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10;','','');
-REPLACE INTO `item_db` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','102','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bAddRace,RC_DemiPlayer,5;','','');
+REPLACE INTO `item_db` VALUES ('5492','Boys_Cap_I','Student Cap','5','0','0','0','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','102','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bAddRace,RC_DemiPlayer,5;','','');
REPLACE INTO `item_db` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','254','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5494','Spinx_Helm_I','Sphinx Hat','5','0','0','0','0','0','5','0','0','16514','63','2','257','0','0',NULL,'0','137','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5;','','');
REPLACE INTO `item_db` VALUES ('5495','Power_Of_Thor','Power Of Thor','5','20','10','100','0','0','6','0','1','18446744073709551615','63','2','256','0','75',NULL,'1','493','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;','','');
@@ -2669,8 +2669,8 @@ REPLACE INTO `item_db` VALUES ('5497','King_Tiger_Doll_Hat','King Tiger Doll Hat
REPLACE INTO `item_db` VALUES ('5498','Wondering_Wolf_Helm','Wandering Wolf Helm','5','20','10','600','0','0','5','0','0','18446744073709551614','63','2','768','0','50',NULL,'0','490','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bVit,5; bonus bFlee,10;','','');
REPLACE INTO `item_db` VALUES ('5499','Pizza_Hat','Pizza Hat','5','20','10','600','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','487','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','skill SM_PROVOKE, 1;','','');
REPLACE INTO `item_db` VALUES ('5500','Icecream_Hat','Icecream Hat','5','0','0','300','0','0','6','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','488','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; skill MG_FROSTDIVER, 3;','','');
-REPLACE INTO `item_db` VALUES ('5501','Pirate\'s_Pride','Pirate\'s Pride','5','0','0','100','0','0','6','0','0','18446744073709551615','63','2','256','0','10',NULL,'0','496','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace2,RC2_Ninja,5; bonus2 bSubRace2,RC2_Ninja,5;','','');
-REPLACE INTO `item_db` VALUES ('5502','Necromencer\'s_Hood','Necromancer\'s Hood','5','0','0','500','0','0','2','0','0','18446744073709551615','63','2','768','0','1',NULL,'1','491','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus5 bAutoSpellWhenHit,NPC_DARKSTRIKE,5,5,BF_WEAPON|BF_MAGIC,1;','','');
+REPLACE INTO `item_db` VALUES ('5501','Pirates_Pride','Pirate\'s Pride','5','0','0','100','0','0','6','0','0','18446744073709551615','63','2','256','0','10',NULL,'0','496','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace2,RC2_Ninja,5; bonus2 bSubRace2,RC2_Ninja,5;','','');
+REPLACE INTO `item_db` VALUES ('5502','Necromencers_Hood','Necromancer\'s Hood','5','0','0','500','0','0','2','0','0','18446744073709551615','63','2','768','0','1',NULL,'1','491','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus5 bAutoSpellWhenHit,NPC_DARKSTRIKE,5,5,BF_WEAPON|BF_MAGIC,1;','','');
REPLACE INTO `item_db` VALUES ('5503','Rabbit_Magic_Hat','Magic Rabit Hat','5','0','0','800','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','497','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,2; bonus bMdef,1; bonus bMaxSP,50; bonus3 bAutoSpellWhenHit,MG_FIREBOLT,1,20; bonus3 bAutoSpellWhenHit,MG_COLDBOLT,1,20; bonus3 bAutoSpellWhenHit,MG_LIGHTNINGBOLT,1,20;','','');
REPLACE INTO `item_db` VALUES ('5504','China_Wedding_Veil','Wedding Weil','5','20','10','500','0','0','5','0','0','18446744073709551615','63','2','768','0','70',NULL,'1','489','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5505','Asara_Fairy_Hat','Asara Fairy Hat','5','0','0','500','0','0','2','0','0','18446744073709551615','63','2','768','0','50',NULL,'1','492','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','skill DC_DONTFORGETME,1; bonus bDex,2; bonus bLuk,2;','','');
@@ -2697,7 +2697,7 @@ REPLACE INTO `item_db` VALUES ('5525','First_Leaf_Tea_Hat','Flower Hat','5','20'
REPLACE INTO `item_db` VALUES ('5526','Lady_Tanee_Doll','Tanigumi Girl Doll','5','20','10','300','0','0','4','0','0','18446744073709551615','63','2','256','0','60',NULL,'0','520','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bFlee,3; bonus2 bSubEle,Ele_Wind, 5; bonus2 bAddMonsterDropItem, 513, 200;','','');
REPLACE INTO `item_db` VALUES ('5527','Lunatic_Hat','Lunatic Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','1',NULL,'1','521','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,5; bonus bMdef,2; bonus bFlee2,5; bonus2 bAddMonsterDropItem,622,50;','','');
REPLACE INTO `item_db` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','18446744073709551614','63','2','256','0','30',NULL,'0','522','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('5529','Evil\'s_Bone_Hat','Satanic Bone Helm','5','20','10','600','0','0','6','0','1','18446744073709551615','63','2','768','0','70',NULL,'1','523','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','','');
+REPLACE INTO `item_db` VALUES ('5529','Evils_Bone_Hat','Satanic Bone Helm','5','20','10','600','0','0','6','0','1','18446744073709551615','63','2','768','0','70',NULL,'1','523','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','','');
REPLACE INTO `item_db` VALUES ('5530','Raven_Cap','Raven Cap','5','20','10','100','0','0','6','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','524','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5532','Pirate_Dagger_J','Pirate Dagger','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'1','327','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bShortWeaponDamageReturn,1;','','');
REPLACE INTO `item_db` VALUES ('5533','Emperor_Wreath_J','Emperor Wreath','5','20','10','800','0','0','3','0','1','18446744073709551615','63','2','256','0','80',NULL,'1','261','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
@@ -2737,11 +2737,11 @@ REPLACE INTO `item_db` VALUES ('5569','Gemini_Diadem','Gemini Diadem','5','20','
REPLACE INTO `item_db` VALUES ('5570','Gemini_Crown','Gemini Crown','5','20','10','300','0','0','4','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','551','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bBaseAtk,2; bonus bMdef,5; if(getrefine()>6) { bonus bDef,1; bonus bMatk,15; bonus bFlee,10; bonus2 bSubEle,Ele_Wind,5; }','','');
REPLACE INTO `item_db` VALUES ('5572','Savage_Baby_Hat','Savage Babe Hat','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','1',NULL,'1','553','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2;','','');
REPLACE INTO `item_db` VALUES ('5573','Bogy_Horn','Dokebi Horn','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','554','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5574','Pencil_in_Mouth','Well-Chewed Pencil','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','555','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm, 0; bonus bHitRate, 3;','','');
+REPLACE INTO `item_db` VALUES ('5574','Pencil_In_Mouth','Well-Chewed Pencil','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','555','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm, 0; bonus bHitRate, 3;','','');
REPLACE INTO `item_db` VALUES ('5575','Onigiri_Hat','Rice Ball Hat','5','20','10','100','0','0','6','0','1','18446744073709551615','63','2','256','0','30',NULL,'0','556','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5577','Dark_Knight_Mask_','Dark Knight Mask','5','0','0','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','80',NULL,'1','479','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3;','','');
+REPLACE INTO `item_db` VALUES ('5577','Dark_Knight_MaskB','Dark Knight Mask','5','0','0','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','80',NULL,'1','479','0','0','0','0','65',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3;','','');
REPLACE INTO `item_db` VALUES ('5578','Voyage_Hat','Voyage_Hat','5','200','100','10','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','236','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
-REPLACE INTO `item_db` VALUES ('5579','Wanderer\'s_Sakkat','Wanderer\'s Sakkat','5','20','10','300','0','0','2','0','1','18446744073709551615','63','2','768','0','70',NULL,'1','558','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
+REPLACE INTO `item_db` VALUES ('5579','Wanderers_Sakkat','Wanderer\'s Sakkat','5','20','10','300','0','0','2','0','1','18446744073709551615','63','2','768','0','70',NULL,'1','558','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('5581','Cancer_Diadem','Cancer Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','560','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bMdef,1; bonus bHealPower, 3; bonus bMatkRate,2; }','','');
REPLACE INTO `item_db` VALUES ('5582','Cancer_Crown','Cancer Crown','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','561','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bDef, 1; bonus bBaseAtk,15; bonus bFlee,10; }','','');
REPLACE INTO `item_db` VALUES ('5583','Para_Team_Hat','Eden Team Hat','5','0','0','0','0','0','1','0','0','18446744073709551615','63','2','256','0','12',NULL,'1','465','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2750,7 +2750,7 @@ REPLACE INTO `item_db` VALUES ('5585','Rune_Hairband','Rune Cloth Circlet','5','
REPLACE INTO `item_db` VALUES ('5586','Mosquito_Coil','Mosquito Coil','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','256','0','1',NULL,'1','563','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5587','Mosquito_Coil_1Use','Mosquito Coil','5','0','0','100','0','0','1','0','0','18446744073709551615','63','2','256','0','1',NULL,'1','563','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5590','K_Poring_Cake_Cap','Poring Cake Hat','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','417','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5592','Sigrun\'s_Wings','Sigrun\'s Wings','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','512','0','80',NULL,'0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) bonus bStr,1; else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) bonus bInt,1; else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bDex,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,80; bonus bMaxSP,30; }','','');
+REPLACE INTO `item_db` VALUES ('5592','Sigruns_Wing','Sigrun\'s Wings','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','512','0','80',NULL,'0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) bonus bStr,1; else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) bonus bInt,1; else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bDex,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,80; bonus bMaxSP,30; }','','');
REPLACE INTO `item_db` VALUES ('5593','K_Rabbit_Bonnet','Rabbit Bonnet','5','20','10','200','0','0','1','0','1','18446744073709551615','63','2','768','0','1',NULL,'1','549','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5594','Donut_In_Mouth','Donut In Mouth','5','20','10','50','0','0','1','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','569','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5596','4Leaf_Clover_In_Mouth','4Leaf Clover In Mouth','5','20','10','0','0','0','2','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','571','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
@@ -2809,7 +2809,7 @@ REPLACE INTO `item_db` VALUES ('5806','Poem_Natalia_Hat','Poet Natalie\'s Hat','
REPLACE INTO `item_db` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','1','0','0','18446744073709551614','63','2','256','0','50',NULL,'1','104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5808','Diabolus_Helmet','Dark Bacilium','5','20','10','250','0','0','5','0','1','1040256','2','2','769','0','0',NULL,'1','364','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Stone,2000+(getrefine()*200); bonus2 bResEff,Eff_Freeze,2000+(getrefine()*200); bonus2 bResEff,Eff_Stun,2000+(getrefine()*200);','','');
REPLACE INTO `item_db` VALUES ('5809','Boom_Boom_Hat','Boom Boom Hat','5','0','0','100','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','216','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5;','','');
-REPLACE INTO `item_db` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','','');
+REPLACE INTO `item_db` VALUES ('5810','Ph_D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','','');
REPLACE INTO `item_db` VALUES ('5811','Santa_Beard','Santa\'s Beard','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5812','Hat_Of_Expert','Hat Of Expert','5','0','0','0','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','16','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5815','Cowboy_Hat_J','Purple Cowboy Hat','5','20','10','500','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','475','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bSubSize, 0, 5; bonus2 bSubSize, 1, 5; bonus2 bSubSize, 2, 5;','','');
@@ -2899,11 +2899,11 @@ REPLACE INTO `item_db` VALUES ('6066','Moon_Cake19','Letter Moon Cake','3','10',
REPLACE INTO `item_db` VALUES ('6067','Moon_Cake20','Letter Moon Cake','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6068','Rabbit_Skin','Leather Rabbit','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6069','ABUNDANCE','Abundance','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6070','Shaman\'s_Old_Paper','Shaman\'s Document','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6070','Shamans_Old_Paper','Shaman\'s Document','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6071','Broken_Sword','Broken Sword','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6072','Wing_Of_Bizofnil','Bijofnil Feather','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6073','Dragon\'s_Mane','Dragon\'s Mane','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6074','Bazett\'s_Order','Bazett\'s Order','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6073','Dragons_Mane','Dragon\'s Mane','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6074','Bazetts_Order','Bazett\'s Order','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6075','Crystalized_Teardrop','Crystalized Teardrop','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6076','Portable_Toolbox','Portable Toolbox','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6077','Rough_Mineral','Rough Mineral','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -2953,7 +2953,7 @@ REPLACE INTO `item_db` VALUES ('6120','Face_Paint','Face Paint','3','120','60','
REPLACE INTO `item_db` VALUES ('6121','Makeover_Brush','Makeover Brush','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6122','Paint_Brush','Paint Brush','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6123','Surface_Paint','Surface Paint','3','200','100','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6124','Wolf\'s_Flute','Wolf Flute','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6124','Wolfs_Flute','Wolf Flute','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6125','Lucky_Box','Spring Time Box','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6126','Happy_Box','Summer Happy Box','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6127','Purification_Stone','Purification Stone','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3197,7 +3197,7 @@ REPLACE INTO `item_db` VALUES ('6371','Amatsu_Bead_Tsu','Amatsu Bead Tsu','3','0
REPLACE INTO `item_db` VALUES ('6372','Amatsu_Bead_Jam','Amatsu Bead Jam','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6373','Amatsu_Bead_Bo','Amatsu Bead Bo','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6374','Amatsu_Bead_Ree','Amatsu Bead Ree','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6375','Amatsu_Bead_!','Amatsu Bead !','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6375','Amatsu_Bead_','Amatsu Bead !','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6376','KVM_Badge','KVM Badge','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6377','Buy_Market_Permit','Buy Market Permit','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6378','Winning_Mark','Winning Mark','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3219,6 +3219,7 @@ REPLACE INTO `item_db` VALUES ('6393','Round_Feather','Round Feather','3','700',
REPLACE INTO `item_db` VALUES ('6394','Golden_Feather','Golden Feather','3','650','325','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6395','Angel_Magic_Power','Angel Magic Power','3','820','410','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6396','Auger_Of_Spirit','Auger Of Spirit','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6415','Strange_Embryo','Strange Embryo','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6493','Makibishi','Makibishi','3','30','15','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6512','Charm_Fire','Charm Fire','3','100','50','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6513','Charm_Ice','Charm Ice','3','100','50','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3240,15 +3241,15 @@ REPLACE INTO `item_db` VALUES ('7013','Coral_Reef','Coral Reef','3','772','386',
REPLACE INTO `item_db` VALUES ('7014','Old_Portrait','Old Portrait','3','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7015','Bookclip_In_Memory','Bookclip in Memory','3','3000','1500','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7016','Spoon_Stub','Spoon Stub','3','2500','1250','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7017','Executioner\'s_Mitten','Executioner\'s Mitten','3','4500','2250','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7017','Executioners_Mitten','Executioner\'s Mitten','3','4500','2250','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7018','Young_Twig','Young Twig','3','50','25','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7019','Loki\'s_Whispers','Loki\'s Whispers','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7020','Mother\'s_Nightmare','Mother\'s Nightmare','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7019','Lokis_Whispers','Loki\'s Whispers','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7020','Mothers_Nightmare','Mother\'s Nightmare','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7021','Foolishness_Of_Blind','Foolishness of the Blind','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7022','Old_Hilt','Old Hilt','3','150','75','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7023','Blade_Lost_In_Darkness','Blade Lost in Darkness','3','12000','6000','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7024','Bloody_Edge','Bloody Edge','3','10000','5000','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7025','Lucifer\'s_Lament','Lucifer\'s Lament','3','30000','15000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7025','Lucifers_Lament','Lucifer\'s Lament','3','30000','15000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7026','Key_Of_Clock_Tower','Key of Clock Tower','3','100','50','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7027','Underground_Key','Key of Underground','3','100','50','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7028','Invite_For_Duel','Invite for Duel','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3270,7 +3271,7 @@ REPLACE INTO `item_db` VALUES ('7043','Fine_Sand','Fine Sand','3','100','50','10
REPLACE INTO `item_db` VALUES ('7044','Vigorgra','Vigorgra','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7045','Magic_Paint','Magic Paint','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7046','Cart_Parts','Cart Parts','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7047','Alice\'s_Apron','Alice\'s Apron','3','2424','1212','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7047','Alices_Apron','Alice\'s Apron','3','2424','1212','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7048','Talon_Of_Griffin','Talon of Griffon','3','5418','2709','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7049','Stone','Stone','3','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7050','Cotton_Mat','Cotton Mat','3','100','50','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3285,7 +3286,7 @@ REPLACE INTO `item_db` VALUES ('7058','Gullraifnir','Gleipnir','3','1','0','500'
REPLACE INTO `item_db` VALUES ('7059','Cargo_Free_Ticket','Free Ticket for Kafra Storage','3','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7060','Warp_Free_Ticket','Free Ticket for Kafra Transportation','3','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7061','Cart_Free_Ticket','Free Ticket for the Cart Service','3','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7062','Broken_Turtle_Shell','Broken Turtle Shell','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7062','Turtle_Shell_','Broken Turtle Shell','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7063','Soft_Feather','Soft Feather','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7064','Dragon_Fly_Wing','Wing of Dragonfly','3','520','260','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7065','Sea_Otter_Leather','Sea-Otter Fur','3','820','410','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3329,26 +3330,26 @@ REPLACE INTO `item_db` VALUES ('7102','Hideous_Dream','Nightmare','3','1075','53
REPLACE INTO `item_db` VALUES ('7103','Unknown_Liquid_Bottle','Unknown Liquid Bottle','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7104','Fake_Angel_Wing','False Angel Wing','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7105','Fake_Angel_Loop','False Heaven Ring','3','924','462','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7106','Goat\'s_Horn','Antelope Horn','3','672','336','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7107','Gaoat\'s_Skin','Antelope Skin','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7106','Goats_Horn','Antelope Horn','3','672','336','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7107','Gaoats_Skin','Antelope Skin','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7108','Boroken_Shiled_Piece','Piece of Shield','3','1680','840','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7109','Shine_Spear_Blade','Shining Spear Blade','3','840','420','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7110','Vroken_Sword','Broken Sword','3','588','294','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7111','Smooth_Paper','Slick Paper','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7112','Fright_Paper_Blade','Sharp Paper','3','907','453','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7113','Broken_Pharaoh_Symbol','Broken Pharaoh Emblem','3','2016','1008','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7114','Tutankhamen\'s_Mask','Masque of Tutankhamen','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7115','Harpy\'s_Feather','Harpy Feather','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7116','Harpy\'s_Claw','Harpy Talon','3','1210','605','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7114','Tutankhamens_Mask','Masque of Tutankhamen','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7115','Harpys_Feather','Harpy Feather','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7116','Harpys_Claw','Harpy Talon','3','1210','605','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7117','Rent_Spell_Book','Torn Magic Book','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7118','Rent_Scroll','Torn Scroll','3','1361','680','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7119','Spawns','Bacillus','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7120','Burning_Horse_Shoe','Burning Horseshoe','3','823','411','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7121','Honey_Jar','Honey Pot','3','622','311','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7122','Hot_Hair','Burning Hair','3','974','487','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7123','Dragon\'s_Skin','Dragon Skin','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7123','Dragons_Skin','Dragon Skin','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7124','Sand_Lump','Sand Clump','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7125','Scropion\'s_Nipper','Scorpion Claw','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7125','Scropions_Nipper','Scorpion Claw','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7126','Large_Jellopy','Large Jellopy','3','840','420','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7127','Alcol_Create_Book','Alcohol Creation Guide','3','100000','50000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7128','FireBottle_Create_Book','Bottle Grenade Creation Guide','3','100000','50000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3378,13 +3379,13 @@ REPLACE INTO `item_db` VALUES ('7151','Oil_Paper','Oil Paper','3','210','105','1
REPLACE INTO `item_db` VALUES ('7152','Glossy_Hair','Glossy Hair','3','340','170','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7153','Old_Japaness_Clothes','Worn-out Kimono','3','590','295','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7154','Poison_Powder','Poisonous Powder','3','160','80','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7155','Poison_Toad\'s_Skin','Poisonous Toad Skin','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7155','Poison_Toads_Skin','Poisonous Toad Skin','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7156','Broken_Shuriken','Broken Shuriken','3','470','235','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7157','Black_Mask','Dark Mask','3','315','157','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7158','Broken_Wine_Vessel','Broken Liquor Jar','3','160','80','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7159','Tengu\'s_Nose','Tengu Nose','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7160','Lord\'s_Passable_Ticket','Feudal Lord Permit','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7161','Black_Bear\'s_Skin','Black Bear Skin','3','384','192','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7159','Tengus_Nose','Tengu Nose','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7160','Lords_Passable_Ticket','Feudal Lord Permit','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7161','Black_Bears_Skin','Black Bear Skin','3','384','192','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7162','Cloud_Piece','Cloud Crumb','3','390','195','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7163','Sharp_Feeler','Hard Feeler','3','570','285','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7164','Hard_Peach','Solid Peach','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3400,10 +3401,10 @@ REPLACE INTO `item_db` VALUES ('7173','BurnBuster_Bag','iROGM02\'s Backpack','3'
REPLACE INTO `item_db` VALUES ('7174','Packing_Ribbon','Wrapping Lace','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7175','Packing_Paper','Wrapping Paper','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7176','XMAS_Coupon','Royal Certificate','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7177','Part_Of_Star\'s_Sob','Crumb of Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7178','Star\'s_Sob','Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7177','Part_Of_Stars_Sob','Crumb of Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7178','Stars_Sob','Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7179','Donation_Card','Proof of Donation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7180','Introduction_Of_Mr.Han','Hahn Sukbong\'s Recommendation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7180','Introduction_Of_Mr_Han','Hahn Sukbong\'s Recommendation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7181','Receipt_01','Receipt','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7182','Cacao','Cacao','3','200','100','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7183','Sister_Letter','Letter from Sister','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3432,7 +3433,7 @@ REPLACE INTO `item_db` VALUES ('7205','Piece_Of_Black_Cloth','Piece of Black Clo
REPLACE INTO `item_db` VALUES ('7206','Black_Kitty_Doll','Black Cat Doll','3','1440','720','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7207','Old_Manteau','Old Manteau','3','1050','525','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7208','Rusty_Cleaver','Rusty Kitchen Knife','3','1780','890','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7209','Dullahan\'s_Helm','Helm of Dullahan','3','1350','675','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7209','Dullahans_Helm','Helm of Dullahan','3','1350','675','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7210','Dullahan_Armor','Armor Piece of Dullahan','3','790','395','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7211','Rojerta_Piece','Fragment of Rossata Stone','3','2600','1300','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7212','Hanging_Doll','Hung Doll','3','1020','510','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3527,11 +3528,11 @@ REPLACE INTO `item_db` VALUES ('7300','Gemstone','Gemstone','3','1420','710','10
REPLACE INTO `item_db` VALUES ('7301','Sword_Accessory','Tassel','3','798','399','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7302','KRATHONG','Krathong','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7303','Bag_Of_Rice','Straw Rice Bag','3','0','0','800','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7304','Witch\'s_Spell_Book','Witch\'s Spell Scroll','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7304','Witchs_Spell_Book','Witch\'s Spell Scroll','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7305','Authority_Of_Nine_World','Symbol of the Nine Realms','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7306','Fragment_Of_Soul','Piece of Spirit','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7307','Whisper_Of_Soul','Spiritual Whispers','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7308','Witch\'s_Potion','Witch\'s Tonic','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7308','Witchs_Potion','Witch\'s Tonic','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7309','Wing_Of_Crow','Crow Wing','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7310','Free_Peco_Ticket','Free Ticket for Peco Ride','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7311','Free_Flying_Ship_Ticket','Free Ticket for Flyship','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3573,7 +3574,7 @@ REPLACE INTO `item_db` VALUES ('7347','Lab_Staff_Record','Research Chart','3','8
REPLACE INTO `item_db` VALUES ('7348','Indication_Of_Member01','Membership Card','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7349','Indication_Of_Member02','Archive Permit','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7350','Pass','Pass','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7351','Friend\'s_Diary','Friend\'s Diary','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7351','Friends_Diary','Friend\'s Diary','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7352','Transparent_Plate01','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7353','Transparent_Plate02','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7354','Transparent_Plate03','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3680,7 +3681,7 @@ REPLACE INTO `item_db` VALUES ('7454','Plain_Sauce','Savory Sauce','3','700','35
REPLACE INTO `item_db` VALUES ('7455','Hot_Sauce','Spicy Sauce','3','700','350','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7456','Red_Spice','Red Spice','3','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7457','Cooking_Oil','Cooking Oil','3','500','250','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7458','Baphomet\'s_Horn','Fortune Horn','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7458','Baphomets_Horn','Fortune Horn','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7459','RAMADAN_','Idul Fitri Card','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7460','Niflheim_Ticket','Niflheim Express Ticket','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7461','BlueCard_A','Blue A Card','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3740,7 +3741,7 @@ REPLACE INTO `item_db` VALUES ('7514','Monster_Ticket','Monster Ticket','3','2',
REPLACE INTO `item_db` VALUES ('7515','Marvelous_Medal','Prize Medal','3','2','1','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7516','Green_Key_Card','Green Keycard','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7517','Gold_Coin_','Gold Coin','3','1000','500','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7518','Women\'s_Medal','Women\'s Medal','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7518','Womens_Medal','Women\'s Medal','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7519','Money_Envelope','Handsel','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7520','Chinese_Scroll','Please Be Rich','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7521','Flame_Stone','Flame Stone','3','150','75','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3816,7 +3817,7 @@ REPLACE INTO `item_db` VALUES ('7590','Moon_Cake11','Lettered Moon Snack 02','3'
REPLACE INTO `item_db` VALUES ('7591','Moon_Cake12','Lettered Moon Snack 03','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7592','Moon_Cake13','Lettered Moon Snack 04','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7593','Moon_Cake14','Lettered Moon Snack 05','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7594','Sonia\'s_Letter','Sonia\'s Letter','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7594','Sonias_Letter','Sonia\'s Letter','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7595','Unique_Sword','Special Sword','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7596','Unique_Shield','Special Shield','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7597','Magic_Stone','Magic Stone','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4067,13 +4068,13 @@ REPLACE INTO `item_db` VALUES ('7916','Silver_Coin_','Silver Coin','3','0','0','
REPLACE INTO `item_db` VALUES ('7917','Magic_Potion','Magic Potion','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7918','Particle_Of_Memory','Fragment Of Memory','3','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7919','Festival_Ticket','Festival Ticket','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7920','Hero\'s_Arsenal','He\'s Arsenal','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7920','Heros_Arsenal','He\'s Arsenal','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7921','Essence_Of_Dragon','Essence Of Dragon','3','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7922','RWC_Ticket','RWC Voucher Items','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7923','KRATHONG_','Krathong','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7928','Brazilian_Flag_','Brazil National Flag','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7929','Golden_Coin_','Gold Coin','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7930','Cowking\'s_Nose_Ring','Devil\'s Cattle Ring','3','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7930','Cowkings_Nose_Ring','Devil\'s Cattle Ring','3','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7931','Poison_Kit','Poison Kit','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7932','Poison_Herb_Nerium','Poison Herb Nerium','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7933','Poison_Herb_Rantana','Poison Herb Rantana','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4166,7 +4167,7 @@ REPLACE INTO `item_db` VALUES ('9020','Sohee_Egg','Sohee Egg','7','20','10','0',
REPLACE INTO `item_db` VALUES ('9021','Isis_Egg','Isis Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9022','Green_Petite_Egg','Green Petite Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9023','Deviruchi_Egg','Deviruchi Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('9024','Bapho_Jr._Egg','Bapho Jr. Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9024','Bapho_Jr_Egg','Bapho Jr. Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9025','Bongun_Egg','Bongun Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9026','Zherlthsh_Egg','Zealotus Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9027','Alice_Egg','Alice Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4204,7 +4205,7 @@ REPLACE INTO `item_db` VALUES ('10002','Monster_Oxygen_Mask','Monster Oxygen Mas
REPLACE INTO `item_db` VALUES ('10003','Transparent_Headgear','Transparent Head Protector','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10004','Pacifier','Pacifier','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10005','Wig','Wig','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('10006','Queen\'s_Hair_Ornament','Queen\'s Hair Ornament','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10006','Queens_Hair_Ornament','Queen\'s Hair Ornament','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10007','Silk_Ribbon','Silk Ribbon','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10008','Punisher','Punisher','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10009','Wild_Flower','Wild Flower','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4230,7 +4231,7 @@ REPLACE INTO `item_db` VALUES ('10028','Nice_Badge','Beautiful Badges','8','20',
REPLACE INTO `item_db` VALUES ('10029','Jade_Trinket','Jade Trinket','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10030','Summer_Fan','Summer Fan','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10031','Death_Coil','Ring Of Death','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('10032','Queen\'s_Coronet','Queen\'s Coronet','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10032','Queens_Coronet','Queen\'s Coronet','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10033','Apro_Hair','Afro','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10034','Ball_Mask','Masked Ball','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10035','Windup_Spring','Spring','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4326,6 +4327,7 @@ REPLACE INTO `item_db` VALUES ('11528','Kanafeh','Kanafeh','0','1500','750','200
REPLACE INTO `item_db` VALUES ('11529','MAAMOUL_','Maamoul','0','500','250','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 120,60;','','');
REPLACE INTO `item_db` VALUES ('11530','Jujube','Jujube','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 30,0;','','');
REPLACE INTO `item_db` VALUES ('11531','Coffee','Coffee','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,10;','','');
+REPLACE INTO `item_db` VALUES ('11602','Catnip_Fruit','Catnip Fruit','0','15','7','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10, 40), 0;','','');
REPLACE INTO `item_db` VALUES ('11701','Girl_Bunch_Of_Flower','Girl\'s Bouquet','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('11702','Moon_Cookie','Moon Cookie','0','0','0','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11703','Mysterious_Blood','Mystery Blood','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,rand(25,35);','','');
@@ -4474,7 +4476,7 @@ REPLACE INTO `item_db` VALUES ('12132','Red_Bag','Santa\'s Bag','2','0','0','200
REPLACE INTO `item_db` VALUES ('12133','Ice_Cream_','McDonald\'s Ice Cone','0','0','0','80','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (gettime(GETTIME_DAYOFMONTH) != MDiceCone) { MDiceCone = gettime(GETTIME_DAYOFMONTH); percentheal 50,50; }','','');
REPLACE INTO `item_db` VALUES ('12134','Red_Envelope','Red Envelope','2','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','Zeny += rand(1000,10000);','','');
REPLACE INTO `item_db` VALUES ('12135','Green_Ale','Green Ale','2','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50,50; sc_start SC_CONFUSION,10000,0,1000,SCFLAG_NONE;','','');
-REPLACE INTO `item_db` VALUES ('12136','Women\'s_Bundle','Women\'s Bundle','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem callfunc(\"F_RandMes\",4,558,529,2668,7518),1;','','');
+REPLACE INTO `item_db` VALUES ('12136','Womens_Bundle','Women\'s Bundle','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem callfunc(\"F_RandMes\",4,558,529,2668,7518),1;','','');
REPLACE INTO `item_db` VALUES ('12137','1st_Stage_Prize','First Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12138','2nd_Stage_Prize','Second Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12139','3rd_Stage_Prize','Third Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4559,7 +4561,7 @@ REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll'
REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','sc_start SC_ASSUMPTIO,100000,5; skilleffect HP_ASSUMPTIO,0;','','');
REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect SN_WINDWALK,0; sc_start SC_WINDWALK,250000,5;','','');
REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','.@type = getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect BS_ADRENALINE,0; sc_start SC_ADRENALINE,150000,5; }','','');
-REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','input @megaphone$; announce strcharinfo(0) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
+REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','input @megaphone$; announce strcharinfo(PC_NAME) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
REPLACE INTO `item_db` VALUES ('12225','Sweet_Candy_Striper','Sweet Candy Cane','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','pet GOBLIN_XMAS;','','');
REPLACE INTO `item_db` VALUES ('12226','Examination1','Examination 1','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_STR, 5400000, 10; sc_start SC_FOOD_DEX, 5400000, 5; sc_start SC_PLUSATTACKPOWER, 5400000, 22; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
REPLACE INTO `item_db` VALUES ('12227','Examination2','Examination 2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_INT, 5400000, 8; sc_start SC_FOOD_VIT, 5400000, 7; sc_start SC_FOOD_LUK, 5400000, 7; sc_start SC_PLUSATTACKPOWER, 5400000, 10;','','');
@@ -4593,7 +4595,7 @@ REPLACE INTO `item_db` VALUES ('12254','Luk_Dish10_M','Cooked Nine Tail','2','0'
REPLACE INTO `item_db` VALUES ('12255','Vit_Dish10_M','Immortal Stew','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_VIT,3600000,10; percentheal 25,0;','','');
REPLACE INTO `item_db` VALUES ('12256','PRO_Gift_Box','PRO Gift Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12257','Cold_Medicine','Cold Medicine','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 25,25;','','');
-REPLACE INTO `item_db` VALUES ('12258','Bombring_Box','Bomb Poring Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_rang02\") { monster \"this\",-1,-1,\"--ja--\",1904,1,\"\"; }','','');
+REPLACE INTO `item_db` VALUES ('12258','Bombring_Box','Bomb Poring Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rang02\") { monster \"this\",-1,-1,\"--ja--\",1904,1,\"\"; }','','');
REPLACE INTO `item_db` VALUES ('12259','Miracle_Medicine','Miracle Tonic','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getexp 3000000,1500000;','','');
REPLACE INTO `item_db` VALUES ('12260','Cool_Summer_Outfit','Cool Summer Outfit','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_SUMMER,600000,0;','','');
REPLACE INTO `item_db` VALUES ('12261','Secret_Medicine','Leap of Fantasy','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getexp 2000000,1000000;','','');
@@ -4677,14 +4679,14 @@ REPLACE INTO `item_db` VALUES ('12338','Grilled_Corn','Grilled Corn','2','100','
REPLACE INTO `item_db` VALUES ('12339','Cherish_Box_Ori','Treasure Edition Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 12339,1;','','');
REPLACE INTO `item_db` VALUES ('12340','Mysterious_Rice_Powder','Chewy Rice Powder','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','pet EVENT_RICECAKE;','','');
REPLACE INTO `item_db` VALUES ('12341','Special_Alloy_Trap_Box','Special Alloy Trap Box','2','30000','15000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Special_Alloy_Trap, 100;','','');
-REPLACE INTO `item_db` VALUES ('12342','Manuk\'s_Opportunity','Manuk\'s Opportunity','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12343','Manuk\'s_Courage','Manuk\'s Courage','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12344','Pinguicula\'s_fruit_Jam','Pinguicula\'s Fruit Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12345','Luciola\'s_Honey_Jam','Luciola\'s Honey Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_SPL_DEF,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12342','Manuks_Opportunity','Manuk\'s Opportunity','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12343','Manuks_Courage','Manuk\'s Courage','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12344','Pinguiculas_fruit_Jam','Pinguicula\'s Fruit Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12345','Luciolas_Honey_Jam','Luciola\'s Honey Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_SPL_DEF,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12346','Unripe_Acorn','Unripe Acorn','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','499',NULL,'0',NULL,'0',NULL,'0','heal -100,0;','','');
REPLACE INTO `item_db` VALUES ('12347','Acorn_Jelly','Acorn Jelly','2','11','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_REVERSEORCISH,1;','','');
-REPLACE INTO `item_db` VALUES ('12348','Manuk\'s_Faith','Manuk\'s Faith','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_MATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12349','Cornus\'_Tears','Cornus\' Tears','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_MATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12348','Manuks_Faith','Manuk\'s Faith','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_MATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12349','Cornus_Tears','Cornus\' Tears','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_MATK,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','11','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','457',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5; itemskill AL_ANGELUS,5;','','');
REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','11','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','457',NULL,'0',NULL,'0',NULL,'0','itemskill MC_LOUD,1;','','');
REPLACE INTO `item_db` VALUES ('12352','Dun_Tele_Scroll3','Dungeon Teleport Scroll 3','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc \"F_CashDungeon\",3;','','');
@@ -4705,19 +4707,19 @@ REPLACE INTO `item_db` VALUES ('12366','Gril_Doll','Girl\'s Doll','2','20','10',
REPLACE INTO `item_db` VALUES ('12367','Luxury_Whisky_Bottle','Luxury Whisky Bottle','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet DULLAHAN;','','');
REPLACE INTO `item_db` VALUES ('12368','Splendid_Mirror','Splendid Mirror','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet MEDUSA;','','');
REPLACE INTO `item_db` VALUES ('12369','Oilpalm_Coconut','Oilpalm Coconut','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet STONE_SHOOTER;','','');
-REPLACE INTO `item_db` VALUES ('12370','Gril\'s_Naivety','Girl\'s Naivety','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','pet INCUBUS;','','');
+REPLACE INTO `item_db` VALUES ('12370','Grils_Naivety','Girl\'s Naivety','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','pet INCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12371','Magical_Lithography','Magical Lithography','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet GOLEM;','','');
REPLACE INTO `item_db` VALUES ('12372','Hell_Contract','Hell Contract','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet NIGHTMARE_TERROR;','','');
-REPLACE INTO `item_db` VALUES ('12373','Boy\'s_Naivety','Boy\'s Pure Heart','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
+REPLACE INTO `item_db` VALUES ('12373','Boys_Naivety','Boy\'s Pure Heart','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12374','Flaming_Ice','Ice Fireworks','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet IMP;','','');
REPLACE INTO `item_db` VALUES ('12375','Acaraje','Akaraje','2','0','0','80','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_STEAL; sc_start2 SC_ACARAJE,120000,5,10;','','');
REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 3, 0; itemskill PR_GLORIA, 2;','','');
REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0, 3; itemskill PR_MAGNIFICAT, 1;','','');
REPLACE INTO `item_db` VALUES ('12378','2009_Rice_Cake_Soup','Rice Cake Soup','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50, 50;','','');
-REPLACE INTO `item_db` VALUES ('12379','Pope\'s_Cookie','Pope Cookie','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12379','Popes_Cookie','Pope Cookie','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12380','Desert_Wolf_Babe_Scroll','Job Change Flute','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create M_DESERT_WOLF_B, 1800000;','','');
-REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Languages Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(3) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
-REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Languages Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(3) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
+REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Languages Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
+REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Languages Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12383','Vulcan_Bullet_Magazine','Vulcan Bullet Magazine','2','11000','5500','500','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Vulcan_Bullet, 1000;','','');
REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4751,7 +4753,7 @@ REPLACE INTO `item_db` VALUES ('12412','HE_Bubble_Gum','HE Bubble Gum','2','2','
REPLACE INTO `item_db` VALUES ('12413','PCBang_Coupon_Box2','PCBang Coupon Box2','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12414','Guarana_Candy','Guarana Candy','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION1, 1800000, 0; sc_start SC_INC_AGI, 140000, 5; skilleffect AL_INCAGI, 0;','','');
REPLACE INTO `item_db` VALUES ('12415','Siege_Teleport_Scroll2','Siege Teleport Scroll2','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12416','LUcky_Egg_C3','Lucky Egg C3','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12416','Lucky_Egg_C3','Lucky Egg C3','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12417','Boost500','Boost500','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_BOOST500, 500000, 10;','','');
REPLACE INTO `item_db` VALUES ('12418','Full_SwingK','Full SwingK','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FULL_SWING_K, 500000, 50;','','');
REPLACE INTO `item_db` VALUES ('12419','Mana_Plus','Mana +','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MANA_PLUS, 500000, 50;','','');
@@ -4917,6 +4919,7 @@ REPLACE INTO `item_db` VALUES ('12580','Vending_Search_Scroll','Universal Catalo
REPLACE INTO `item_db` VALUES ('12581','Vending_Search_Scroll2','Universal Catalog Gold','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','searchstores 10,1;','','');
REPLACE INTO `item_db` VALUES ('12591','Uni_Catalog_Bz','Universal Catalog Bronze','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','searchstores 10,1;','','');
REPLACE INTO `item_db` VALUES ('12609','Old_Ore_Box','Old Ore Box','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('12622','Boarding_Halter','Halter Lead','11','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','3000','507',NULL,'0',NULL,'0',NULL,'0','setcashmount();','','');
REPLACE INTO `item_db` VALUES ('12701','Old_Blue_Box_F','Old Blue Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12702','Old_Bleu_Box','Old Navy Box','2','0','0','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem Old_Bleu_Box,1; getrandgroupitem Old_Bleu_Box,1;','','');
REPLACE INTO `item_db` VALUES ('12703','Holy_Egg_2','Holy Egg','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5266,7 +5269,7 @@ REPLACE INTO `item_db` VALUES ('13416','Krieger_Onehand_Sword1','Glorious Flambe
REPLACE INTO `item_db` VALUES ('13417','Krieger_Onehand_Sword2','Glorious Rapier','4','20','10','0','130','0','0','1','0','414947','63','2','2','4','80',NULL,'1','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus bInt,5;','','');
REPLACE INTO `item_db` VALUES ('13418','Krieger_Onehand_Sword3','Glorious Holy Avenger','4','20','10','0','130','0','0','1','0','279714','63','2','2','4','80',NULL,'1','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus4 bAutoSpellOnSkill,PA_PRESSURE,PR_LEXDIVINA,1,1000; if(getrefine()>9) bonus bInt,5;','','');
REPLACE INTO `item_db` VALUES ('13419','Holy_Saber','Holy saber','4','20','10','0','160','0','0','1','0','414946','63','2','2','3','0',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('13420','Honglyun\'s_Sword','Honglyun\'s Sword','4','20','10','1200','160','0','0','1','1','414946','63','2','2','4','70',NULL,'1','2','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bStr,2; bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('13420','Honglyuns_Sword','Honglyun\'s Sword','4','20','10','1200','160','0','0','1','1','414946','63','2','2','4','70',NULL,'1','2','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bStr,2; bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('13421','Ruber','Ruber','4','20','10','1500','170','0','0','1','1','279714','2','2','2','3','50',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus2 bSkillAtk,KN_BOWLINGBASH,20; bonus2 bSkillAtk,SM_BASH,20; }\",5,15000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";','','');
REPLACE INTO `item_db` VALUES ('13422','Flamberge_C','Flamberge','4','0','0','0','185','0','0','1','0','16512','63','2','2','3','1',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('13500','Insurance60_Package','Life Insurrance Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14500,10;','','');
@@ -5290,11 +5293,11 @@ REPLACE INTO `item_db` VALUES ('13517','Yggdrasilberry_Box','Yggdrasil Berry Box
REPLACE INTO `item_db` VALUES ('13518','Weapon_Card_Scroll_Box','Weapon Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13558,1;','','');
REPLACE INTO `item_db` VALUES ('13519','Armor_Card_Scroll_Box','Armor Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13559,1;','','');
REPLACE INTO `item_db` VALUES ('13520','Helmet_Card_Scroll_Box','Helmet Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13560,1;','','');
-REPLACE INTO `item_db` VALUES ('13521','Garment_Card_Scroll_Box','Garment Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13561,1;','','');
-REPLACE INTO `item_db` VALUES ('13522','Shield_Card_Scroll_Box','Shield Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13562,1;','','');
+REPLACE INTO `item_db` VALUES ('13521','Hood_Card_Scroll_Box','Garment Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13561,1;','','');
+REPLACE INTO `item_db` VALUES ('13522','Hood_Card_Scroll_Box2','Shield Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13562,1;','','');
REPLACE INTO `item_db` VALUES ('13523','Shoes_Card_Scroll_Box','Shoes Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13563,1;','','');
REPLACE INTO `item_db` VALUES ('13524','Accy_Card_Scroll_Box','Accessory Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 13564,1;','','');
-REPLACE INTO `item_db` VALUES ('13525','Zeny_Card_Scroll_Box','Zeny Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 14508,1;','','');
+REPLACE INTO `item_db` VALUES ('13525','Zeny_Scroll_Box','Zeny Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 14508,1;','','');
REPLACE INTO `item_db` VALUES ('13526','Pet_Egg_Scroll_Box1_','Pet Egg Scroll Box 12','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12925,30;','','');
REPLACE INTO `item_db` VALUES ('13527','Pet_Egg_Scroll_Box2_','Pet Egg Scroll Box 13','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12926,30;','','');
REPLACE INTO `item_db` VALUES ('13528','Pet_Egg_Scroll_Box3_','Pet Egg Scroll Box 14','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12932,30;','','');
@@ -5661,12 +5664,12 @@ REPLACE INTO `item_db` VALUES ('13892','Water_Converter_Box','Water Converter Bo
REPLACE INTO `item_db` VALUES ('13893','Wind_Converter_Box','Wind Converter Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12117,10;','','');
REPLACE INTO `item_db` VALUES ('13894','Earth_Converter_Box','Earth Converter Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12116,10;','','');
REPLACE INTO `item_db` VALUES ('13895','Starter_Pack','Starter Pack','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 7229,2; getitem 569,300; getitem 504,20; getitem 505,20; getitem 7060,30; getitem 2403,1; getitem 5039,1; getitem 2503,1; getitem 2307,1; getitem 616,1; getitem 603,1; getitem 617,1; getitem 610,5; getitem 604,5;','','');
-REPLACE INTO `item_db` VALUES ('13896','Mimic_Scroll_Box5','Mimic Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13897','Disguise_Croll_Box5','Disguise Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13898','Alice_Scroll_Box5','Alice Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13899','Mimic_Scroll_Box10','Mimic Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 10;','','');
-REPLACE INTO `item_db` VALUES ('13900','Disguise_Croll_Box10','Disguise Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 10;','','');
-REPLACE INTO `item_db` VALUES ('13901','Alice_Scroll_Box10','Alice Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13896','Mimic_Summon_Box5','Mimic Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13897','Disguise_Summon_Box5','Disguise Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13898','Alice_Summon_Box5','Alice Summoning 5 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13899','Mimic_Summon_Box10','Mimic Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13900','Disguise_Summon_Box10','Disguise Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13901','Alice_Summon_Box10','Alice Summoning 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 10;','','');
REPLACE INTO `item_db` VALUES ('13902','Fish_Head_Hat_Box','Fish Head Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5380,1;','','');
REPLACE INTO `item_db` VALUES ('13903','Santa_Poring_Hat_Box','Santa Poring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5381,1;','','');
REPLACE INTO `item_db` VALUES ('13904','Bell_Ribbon_Box','Bell Ribbon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5382,1;','','');
@@ -5675,7 +5678,7 @@ REPLACE INTO `item_db` VALUES ('13906','Kitty_Set_Box','XM Kitty Set Box','18','
REPLACE INTO `item_db` VALUES ('13907','Soft_Core_Set_Box','XM Softcore Set Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12208,5; getitem 12209,5; getitem 12210,5;','','');
REPLACE INTO `item_db` VALUES ('13908','Deviruchi_Set_Box','XM Deviruchi Set Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5227,1; getitem 5228,1; getitem 5229,1;','','');
REPLACE INTO `item_db` VALUES ('13909','MVP_Hunt_Box','MVP Hunting Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 7621,1; getitem 12210,1; getitem 12221,1; getitem 12214,3;','','');
-REPLACE INTO `item_db` VALUES ('13910','Cook_Box','XM Brewing Set Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12204,10; getitem 12205,10; getitem 12206,10;','','');
+REPLACE INTO `item_db` VALUES ('13910','Brewing_Box','XM Brewing Set Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12204,10; getitem 12205,10; getitem 12206,10;','','');
REPLACE INTO `item_db` VALUES ('13911','Xmas_Pet_Scroll','Christmas Pet Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13912','Party_Blessing_Box','Party Blessing 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 14588,10;','','');
REPLACE INTO `item_db` VALUES ('13913','Party_Inc_Agi_Box','Party Increase Agi 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 14589,10;','','');
@@ -5983,12 +5986,12 @@ REPLACE INTO `item_db` VALUES ('14232','Yggdrasilberry_Box_','Yggdrasil Berry 10
REPLACE INTO `item_db` VALUES ('14233','Dead_Tree_Branch_Box1','Dead Branch 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 604,10;','','');
REPLACE INTO `item_db` VALUES ('14234','Dead_Tree_Branch_Box2','Dead Branch 25 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 604,25;','','');
REPLACE INTO `item_db` VALUES ('14235','Field_Manual_Box_2','Field Manual 2 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12208,2;','','');
-REPLACE INTO `item_db` VALUES ('14236','Steamed_Tongue_Box_20','Steamed Tongue 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12202,20;','','');
-REPLACE INTO `item_db` VALUES ('14237','Steamed_Desert_Scorpions_Box_20','Steamed Desert Scorpions Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12203,20;','','');
-REPLACE INTO `item_db` VALUES ('14238','Stew_Of_Immortality_Box_20','Immortal Stew 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12207,20;','','');
-REPLACE INTO `item_db` VALUES ('14239','Dragon_Breath_Cocktail_Box_20','Dragon Breath Cocktail 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12204,20;','','');
-REPLACE INTO `item_db` VALUES ('14240','Hwergelmir\'s_Tonic_Box_20','Hwergelmir\'s Tonic 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12205,20;','','');
-REPLACE INTO `item_db` VALUES ('14241','Nine_Tail_Dish_Box_20','Nine Tail Dish 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12206,20;','','');
+REPLACE INTO `item_db` VALUES ('14236','Str_Dish_Box60','Steamed Tongue 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12202,20;','','');
+REPLACE INTO `item_db` VALUES ('14237','Agi_Dish_Box60','Steamed Desert Scorpions Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12203,20;','','');
+REPLACE INTO `item_db` VALUES ('14238','Int_Dish_Box60','Immortal Stew 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12207,20;','','');
+REPLACE INTO `item_db` VALUES ('14239','Dex_Dish_Box60','Dragon Breath Cocktail 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12204,20;','','');
+REPLACE INTO `item_db` VALUES ('14240','Luk_Dish_Box60','Hwergelmir\'s Tonic 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12205,20;','','');
+REPLACE INTO `item_db` VALUES ('14241','Vit_Dish_Box60','Nine Tail Dish 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12206,20;','','');
REPLACE INTO `item_db` VALUES ('14242','Beholder_Ring_Box','Beholder Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','rentitem 2753,604800;','','');
REPLACE INTO `item_db` VALUES ('14243','Hallow_Ring_Box','Hallow Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','rentitem 2754,604800;','','');
REPLACE INTO `item_db` VALUES ('14244','Clamorous_Ring_Box','Clamorous Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','rentitem 2755,604800;','','');
@@ -6021,17 +6024,17 @@ REPLACE INTO `item_db` VALUES ('14270','Freshman_Magic_Powder_Box4','Freshman Ma
REPLACE INTO `item_db` VALUES ('14271','Kid_Magic_Powder_Box4','Kid Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14272','Magic_Magic_Powder_Box4','Magic Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14273','JJangu_Magic_Powder_Box4','JJangu Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('14274','Amplification_10_Scroll_Box2','Mystical Amplification Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,10;','','');
-REPLACE INTO `item_db` VALUES ('14275','Amplification_30_Scroll_Box2','Mystical Amplification Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,30;','','');
-REPLACE INTO `item_db` VALUES ('14276','Amplification_50_Scroll_Box2','Mystical Amplification Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,50;','','');
-REPLACE INTO `item_db` VALUES ('14277','Quagmire_10_Scroll_Box2','Quagmire Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,10;','','');
-REPLACE INTO `item_db` VALUES ('14278','Quagmire_30_Scroll_Box2','Quagmire Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,30;','','');
-REPLACE INTO `item_db` VALUES ('14279','Quagmire_50_Scroll_Box2','Quagmire Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,50;','','');
+REPLACE INTO `item_db` VALUES ('14274','F_Magic_Scroll_Box','Mystical Amplification Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,10;','','');
+REPLACE INTO `item_db` VALUES ('14275','F_Magic_Scroll_Box30','Mystical Amplification Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,30;','','');
+REPLACE INTO `item_db` VALUES ('14276','F_Magic_Scroll_Box50','Mystical Amplification Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14593,50;','','');
+REPLACE INTO `item_db` VALUES ('14277','F_Quagmire_Scroll_Box','Quagmire Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,10;','','');
+REPLACE INTO `item_db` VALUES ('14278','F_Quagmire_Scroll_Box30','Quagmire Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,30;','','');
+REPLACE INTO `item_db` VALUES ('14279','F_Quagmire_Scroll_Box50','Quagmire Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14594,50;','','');
REPLACE INTO `item_db` VALUES ('14280','Healing_Staff_Box2','Healing Staff Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','rentitem 1638,604800;','','');
REPLACE INTO `item_db` VALUES ('14282','Emperium_Box','Emperium Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 714,1;','','');
REPLACE INTO `item_db` VALUES ('14283','Marriage_Covenant_Box','Written Oath Of Marriage Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 6026,1;','','');
-REPLACE INTO `item_db` VALUES ('14287','Baricade_Repair_Kit','Barricade Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 1019,30; getitem 999,10; getitem 1011,10; getitem 984,5;','','');
-REPLACE INTO `item_db` VALUES ('14288','Guardian_Stone_Repair_Kit','Guardian Stone Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 984,1; getitem 985,1; getitem 7049,30; getitem 717,5; getitem 716,5; getitem 715,5;','','');
+REPLACE INTO `item_db` VALUES ('14287','S_Barricade_Repair_Kit','Barricade Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 1019,30; getitem 999,10; getitem 1011,10; getitem 984,5;','','');
+REPLACE INTO `item_db` VALUES ('14288','S_Gstone_Repair_Kit','Guardian Stone Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 984,1; getitem 985,1; getitem 7049,30; getitem 717,5; getitem 716,5; getitem 715,5;','','');
REPLACE INTO `item_db` VALUES ('14289','Cloth_Dye_Coupon_Box','New Clothing Dye Coupon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6046,1;','','');
REPLACE INTO `item_db` VALUES ('14290','Cloth_Dye_Coupon2_Box','Original Clothing Dye Coupon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6047,1;','','');
REPLACE INTO `item_db` VALUES ('14291','Cloth_Dye_Coupon3_Box','Clothing Dye Coupon Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 6046,1;','','');
@@ -6039,9 +6042,9 @@ REPLACE INTO `item_db` VALUES ('14292','Cloth_Dye_Coupon4_Box','Clothing Dye Cou
REPLACE INTO `item_db` VALUES ('14296','Angel_Scroll','Angel Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14297','Devil_Scroll','Devil Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14300','Mask_Of_Ifrit_Box','Mask Of Ifrit Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 5420,1;','','');
-REPLACE INTO `item_db` VALUES ('14301','Ifrit\'s_Ear_Box','Ears Of Ifrit Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 5421,1;','','');
+REPLACE INTO `item_db` VALUES ('14301','Ifrits_Ear_Box','Ears Of Ifrit Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 5421,1;','','');
REPLACE INTO `item_db` VALUES ('14304','Scuba_Mask_Box','Scuba Mask Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 5397,1;','','');
-REPLACE INTO `item_db` VALUES ('14314','PhreeoniS_Box','Phreeoni Scroll Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem PhreeoniS, 10;','','');
+REPLACE INTO `item_db` VALUES ('14314','Phreeoni_Scroll_Box','Phreeoni Scroll Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem PhreeoniS, 10;','','');
REPLACE INTO `item_db` VALUES ('14315','GhostringS_Box','Ghostring Scroll Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem GhostringS, 10;','','');
REPLACE INTO `item_db` VALUES ('14316','July7_Scroll','July7 Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14317','Bacsojin_Scroll','Bacsojin Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
@@ -6050,8 +6053,8 @@ REPLACE INTO `item_db` VALUES ('14344','Rainbow_Scarf_Box','Rainbow Scarf Box','
REPLACE INTO `item_db` VALUES ('14345','Animal_Scroll','Animal Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14349','Mental_Potion20_Box','Mental Potion 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mental_Potion,20;','','');
REPLACE INTO `item_db` VALUES ('14350','Mental_Potion50_Box','Mental Potion 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Mental_Potion,50;','','');
-REPLACE INTO `item_db` VALUES ('14351','Tyr\'s_Blessing20_Box','Tyr\'s Blessing 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Tyr\'s_Blessing,20;','','');
-REPLACE INTO `item_db` VALUES ('14352','Tyr\'s_Blessing50_Box','Tyr\'s Blessing 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Tyr\'s_Blessing,50;','','');
+REPLACE INTO `item_db` VALUES ('14351','Tyrs_Blessing20_Box','Tyr\'s Blessing 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Tyrs_Blessing,20;','','');
+REPLACE INTO `item_db` VALUES ('14352','Tyrs_Blessing50_Box','Tyr\'s Blessing 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem Tyrs_Blessing,50;','','');
REPLACE INTO `item_db` VALUES ('14359','TaogunkaS_Box','Tao Gunka Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem TaogunkaS, 10;','','');
REPLACE INTO `item_db` VALUES ('14360','MistressS_Box','Mistress Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem MistressS, 10;','','');
REPLACE INTO `item_db` VALUES ('14361','Orc_HeroS_Box','Orc Hero Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Orc_HeroS, 10;','','');
@@ -6065,8 +6068,8 @@ REPLACE INTO `item_db` VALUES ('14393','Almighty_Charm_Box','Universal Amulet Bo
REPLACE INTO `item_db` VALUES ('14408','New_Year_Scroll','New Year Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14440','Dice_Hat_Box','Dice Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5496,1;','','');
REPLACE INTO `item_db` VALUES ('14441','King_Tiger_Doll_Hat_Box','King Tiger Doll Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5497,1;','','');
-REPLACE INTO `item_db` VALUES ('14447','Pirate\'s_Pride_Box','Pirate\'s Pride Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5501,1;','','');
-REPLACE INTO `item_db` VALUES ('14448','Necromencer\'s_Hood_Box','Necromancer\'s Hood Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5502,1;','','');
+REPLACE INTO `item_db` VALUES ('14447','Pirates_Pride_Box','Pirate\'s Pride Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5501,1;','','');
+REPLACE INTO `item_db` VALUES ('14448','Necromencers_Hood_Box','Necromancer\'s Hood Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5502,1;','','');
REPLACE INTO `item_db` VALUES ('14459','Rabbit_Magic_Hat_Box','Magic Rabbit Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5503,1;','','');
REPLACE INTO `item_db` VALUES ('14460','China_Wedding_Veil_Box','RO 5th Wedding Anniversary Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5504,1;','','');
REPLACE INTO `item_db` VALUES ('14461','Asara_Fairy_Hat_Box','Ashura Fairy Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5505,1;','','');
@@ -6082,11 +6085,11 @@ REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11
REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill WZ_VERMILION,10;','','');
REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill PR_LEXAETERNA,1;','','');
REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill PR_MAGNIFICAT,5;','','');
-REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),237,5;','','');
-REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),235,5;','','');
-REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),236,5;','','');
-REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),234,5;','','');
-REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(3),108,1;','','');
+REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5;','','');
+REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5;','','');
+REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5;','','');
+REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5;','','');
+REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1;','','');
REPLACE INTO `item_db` VALUES ('14522','Big_Bun','Big Bun','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('14523','Pill_','Pill','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 0,100;','','');
REPLACE INTO `item_db` VALUES ('14524','Superb_Fish_Slice','Superb Fish Slice','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 100,100;','','');
@@ -6166,7 +6169,7 @@ REPLACE INTO `item_db` VALUES ('14597','PhreeoniS','Phreeoni Scroll','2','0','0'
REPLACE INTO `item_db` VALUES ('14598','GhostringS','Ghostring Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_LIGHTSPHERE; sc_start4 SC_ARMOR_PROPERTY, 60000, 1, Ele_Neutral, 1, 0;','','');
REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14600','Mental_Potion','Mental Potion','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_TARGET_ASPD,1800000,10;','','');
-REPLACE INTO `item_db` VALUES ('14601','Tyr\'s_Blessing','Tyr\'s Blessing','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
+REPLACE INTO `item_db` VALUES ('14601','Tyrs_Blessing','Tyr\'s Blessing','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
REPLACE INTO `item_db` VALUES ('14602','TaogunkaS','Tao Gunka Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_LIGHTSPHERE; sc_start4 SC_MVPCARD_TAOGUNKA, 180000, 100, 50, 50, 0;','','');
REPLACE INTO `item_db` VALUES ('14603','MistressS','Mistress Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_MVPCARD_MISTRESS, 180000, 25;','','');
REPLACE INTO `item_db` VALUES ('14604','Orc_HeroS','Orc Hero Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MVPCARD_ORCHERO, 180000, 100;','','');
@@ -6176,27 +6179,30 @@ REPLACE INTO `item_db` VALUES ('14607','Luxurious_Dinner_W','Luxurious Western F
REPLACE INTO `item_db` VALUES ('14608','Luxurious_Dinner_E','Manchu-Han Imperial Feast','2','20000','10000','1200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_STR,3600000,6; sc_start SC_FOOD_DEX,3600000,6; sc_start SC_FOOD_AGI,3600000,6; sc_start SC_FOOD_INT,3600000,6; sc_start SC_FOOD_VIT,3600000,6; sc_start SC_FOOD_LUK,3600000,6;','','');
REPLACE INTO `item_db` VALUES ('14609','Spoiled_Cuisine','Spoiled Cuisine','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('15000','Bone_Plate','Bone Plate','5','20','10','1000','0','0','7','0','1','414946','2','2','16','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,NPC_WIDEBLEEDING,1,10;','','');
-REPLACE INTO `item_db` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15001','Odins_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16000','Erde','Erde','4','20','10','500','130','0','0','1','2','312754','2','2','2','4','50',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus bMaxSP,50; bonus bHealPower,10;','','');
REPLACE INTO `item_db` VALUES ('16001','Red_Square_Bag','Red Square Bag','4','20','10','500','130','0','0','1','2','312754','2','2','2','3','50',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500;','','');
REPLACE INTO `item_db` VALUES ('16002','Stunner_C','Stunner','4','0','0','0','175','0','0','1','0','33040','63','2','2','3','1',NULL,'0','8','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
+REPLACE INTO `item_db` VALUES ('16030','Pilebuncker_S','Pile Bunker S','4','0','0','3000','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, (getrefine() / 2);','','');
+REPLACE INTO `item_db` VALUES ('16031','Pilebuncker_P','Pile Bunker P','4','0','0','4000','450','0','0','1','0','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk, (getrefine() * 5);','','');
+REPLACE INTO `item_db` VALUES ('16032','Pilebuncker_T','Pile Bunker T','4','0','0','3500','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, - getrefine();','','');
REPLACE INTO `item_db` VALUES ('16134','King_Frog_Hat_Box','Frog King Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5528,1;','','');
-REPLACE INTO `item_db` VALUES ('16135','Evil\'s_Bone_Hat_Box','Satanic Bone Helm Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5529,1;','','');
+REPLACE INTO `item_db` VALUES ('16135','Evils_Bone_Hat_Box','Satanic Bone Helm Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','getitem 5529,1;','','');
REPLACE INTO `item_db` VALUES ('16247','Dragon_Arhat_Mask_Box','Dragon Arhat Mask Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5565,1;','','');
REPLACE INTO `item_db` VALUES ('16248','Tiger_Arhat_Mask_Box','Tiger Arhat Mask Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5566,1;','','');
REPLACE INTO `item_db` VALUES ('16257','Buddah_Scroll','Buddah Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('16304','Evil_Incarnation','Evil Incarnation','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('16304','Evil_Incarnation_Disable','Evil Incarnation','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16371','Tw_Aug_Scroll','Tw Aug Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16461','Red_Wing_Hat_Box','Red Wing Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','getitem 5690,1;','','');
-REPLACE INTO `item_db` VALUES ('16555','Premium_Reset_Stone_Box','Pr Reset Stone Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('16776','Universal_Catalog_Gold_Box10','Universal Catalog Gold 10 Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12581,10;','','');
+REPLACE INTO `item_db` VALUES ('16555','Pr_Reset_Stone_Box','Pr Reset Stone Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('16776','Universal_Catalog_Gold_Box10_','Universal Catalog Gold 10 Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12581,10;','','');
REPLACE INTO `item_db` VALUES ('16777','Universal_Catalog_Gold_Box50','Universal Catalog Gold 50 Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12581,50;','','');
REPLACE INTO `item_db` VALUES ('18000','Cannon_Ball','Cannon Ball','10','100','50','10','100','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18001','Holy_Cannon_Ball','Holy Cannon Ball','10','200','100','10','120','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('18002','Dark_Cannon_Ball','Dark Cannon Ball','10','200','100','10','120','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark;','','');
REPLACE INTO `item_db` VALUES ('18003','Soul_Cannon_Ball','Soul Cannon Ball','10','200','100','10','120','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Ghost;','','');
REPLACE INTO `item_db` VALUES ('18004','Iron_Cannon_Ball','Iron Cannon Ball','10','500','250','10','250','0','0','0','0','263168','8','2','32768','0','99',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18100','Shooting_Star','Shooting Star','4','20','10','0','190','0','0','5','0','526336','63','2','34','4','1',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,20;','','');
+REPLACE INTO `item_db` VALUES ('18100','Shooting_Star_C','Shooting Star','4','20','10','0','190','0','0','5','0','526336','63','2','34','4','1',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,20;','','');
REPLACE INTO `item_db` VALUES ('18101','F_Bow_Of_Rudra_C','Rudra Bow','4','2','1','0','185','0','0','5','0','657480','63','2','34','4','0',NULL,'0','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bInt,5; skill AL_CURE,1; skill AL_HEAL,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000;','','');
REPLACE INTO `item_db` VALUES ('18102','E_Bow_Of_Rudra_C','Rudra Bow','4','2','1','0','185','0','0','5','0','657480','63','2','34','4','0',NULL,'0','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bInt,5; skill AL_CURE,1; skill AL_HEAL,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000;','','');
REPLACE INTO `item_db` VALUES ('18500','Cheer_Scarf6','Cheer Scarf6','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','1',NULL,'0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6220,7 +6226,7 @@ REPLACE INTO `item_db` VALUES ('19501','T_Spinx_Helm','T Spinx Helm','5','0','0'
REPLACE INTO `item_db` VALUES ('19504','T_Sunglasses','T Sunglasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19505','T_Cigarette','T Cigarette','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'0','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19506','T_Valkyrie_Feather_Band','T Valkyrie Feather Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','300','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19507','Clear_Sun','Clear Sun','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','1',NULL,'0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('22540','Runstone_Luxanima','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','60000','0',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
+REPLACE INTO `item_db` VALUES ('19507','Fine_Sun','Clear Sun','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','1',NULL,'0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','60000','0',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
REPLACE INTO `item_db` VALUES ('22777','Buff_Gift_Set','Buff Gift Set','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','getitem 14534,5; getitem 12215,5; getitem 12216,5;','','');
REPLACE INTO `item_db` VALUES ('22837','Integer_Time','Integer Time','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','TmpRouletteBronze += 1;','','');
diff --git a/sql-files/item_db2.sql b/sql-files/item_db2.sql
index 1e2798494..5edbc7dbd 100644
--- a/sql-files/item_db2.sql
+++ b/sql-files/item_db2.sql
@@ -44,7 +44,7 @@ CREATE TABLE `item_db2` (
`equip_jobs` bigint(20) UNSIGNED DEFAULT NULL,
`equip_upper` tinyint(8) UNSIGNED DEFAULT NULL,
`equip_genders` tinyint(2) UNSIGNED DEFAULT NULL,
- `equip_locations` smallint(4) UNSIGNED DEFAULT NULL,
+ `equip_locations` mediumint(8) UNSIGNED DEFAULT NULL,
`weapon_level` tinyint(2) UNSIGNED DEFAULT NULL,
`equip_level_min` smallint(5) UNSIGNED DEFAULT NULL,
`equip_level_max` smallint(5) UNSIGNED DEFAULT NULL,
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index 6a28e6a99..753b17ad8 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -44,7 +44,7 @@ CREATE TABLE `item_db` (
`equip_jobs` bigint(20) UNSIGNED DEFAULT NULL,
`equip_upper` tinyint(8) UNSIGNED DEFAULT NULL,
`equip_genders` tinyint(2) UNSIGNED DEFAULT NULL,
- `equip_locations` smallint(4) UNSIGNED DEFAULT NULL,
+ `equip_locations` mediumint(8) UNSIGNED DEFAULT NULL,
`weapon_level` tinyint(2) UNSIGNED DEFAULT NULL,
`equip_level_min` smallint(5) UNSIGNED DEFAULT NULL,
`equip_level_max` smallint(5) UNSIGNED DEFAULT NULL,
@@ -92,7 +92,7 @@ REPLACE INTO `item_db` VALUES ('522','Fruit_Of_Mastela','Mastela Fruit','0','850
REPLACE INTO `item_db` VALUES ('523','Holy_Water','Holy Water','0','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_end SC_CURSE;','','');
REPLACE INTO `item_db` VALUES ('525','Panacea','Panacea','0','500','250','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
REPLACE INTO `item_db` VALUES ('526','Royal_Jelly','Royal Jelly','0','7000','3500','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),rand(40,60); sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
-REPLACE INTO `item_db` VALUES ('528','Monster\'s_Feed','Monster\'s Feed','0','60','30','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(72,108),0;','','');
+REPLACE INTO `item_db` VALUES ('528','Monsters_Feed','Monster\'s Feed','0','60','30','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(72,108),0;','','');
REPLACE INTO `item_db` VALUES ('529','Candy','Candy','0','10','5','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0;','','');
REPLACE INTO `item_db` VALUES ('530','Candy_Striper','Candy Cane','0','20','10','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('531','Apple_Juice','Apple Juice','0','20','10','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(25,35),0;','','');
@@ -104,8 +104,8 @@ REPLACE INTO `item_db` VALUES ('536','Ice_Cream','Ice Cream','0','150','75','80'
REPLACE INTO `item_db` VALUES ('537','Pet_Food','Pet Food','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,90),0;','','');
REPLACE INTO `item_db` VALUES ('538','Well_Baked_Cookie','Well-baked Cookie','0','1000','500','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(160,200),0;','','');
REPLACE INTO `item_db` VALUES ('539','Piece_Of_Cake','Piece of Cake','0','3000','1500','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(270,330),0;','','');
-REPLACE INTO `item_db` VALUES ('540','Falcon\'s_Feed','Falcon Food','0','2000','1000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(185,225),0;','','');
-REPLACE INTO `item_db` VALUES ('541','Pecopeco\'s_Feed','PecoPeco Food','0','3000','1500','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
+REPLACE INTO `item_db` VALUES ('540','Falcons_Feed','Falcon Food','0','2000','1000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(185,225),0;','','');
+REPLACE INTO `item_db` VALUES ('541','Pecopecos_Feed','PecoPeco Food','0','3000','1500','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('542','Festive_Cookie','Festive Cookie','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('543','Festive_Rainbow_Cake','Festive Rainbow Cake','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('544','Fish_Slice','Raw Fish','0','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(25,60),0;','','');
@@ -149,8 +149,8 @@ REPLACE INTO `item_db` VALUES ('581','Mushroom','Edible Mushroom','0','40','20',
REPLACE INTO `item_db` VALUES ('582','Orange','Orange','0','300','150','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10,20),rand(10,20);','','');
REPLACE INTO `item_db` VALUES ('583','KETUPAT_','Ketupat Sayur','0','7000','3500','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),rand(40,60); sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_ILLUSION;','','');
REPLACE INTO `item_db` VALUES ('584','Fish_Ball_Soup','Fish Cake Soup','0','100','50','60','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,70),0;','','');
-REPLACE INTO `item_db` VALUES ('585','Wurst','Brusti','0','2','1','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(15,20),0;','','');
-REPLACE INTO `item_db` VALUES ('586','Mother\'s_Cake','Mother\'s Cake','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
+REPLACE INTO `item_db` VALUES ('585','Wurst','Wurst','0','2','1','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(15,20),0;','','');
+REPLACE INTO `item_db` VALUES ('586','Mothers_Cake','Mother\'s Cake','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(325,405),0;','','');
REPLACE INTO `item_db` VALUES ('587','Prickly_Fruit_','Red Prickly Fruit','0','880','440','60','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(270,330),rand(20,30);','','');
REPLACE INTO `item_db` VALUES ('588','Spaghetti','Spaghetti','0','100','50','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,70),0;','','');
REPLACE INTO `item_db` VALUES ('589','Pizza_02','Piece of Pizza','0','1200','600','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(375,445),0;','','');
@@ -313,7 +313,7 @@ REPLACE INTO `item_db` VALUES ('757','Elunium_Stone','Rough Elunium','3','650','
REPLACE INTO `item_db` VALUES ('901','Danggie','Daenggie','3','260','130','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('902','Tree_Root','Tree Root','3','12','6','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('903','Reptile_Tongue','Reptile Tongue','3','140','70','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('904','Scorpion\'s_Tail','Scorpion Tail','3','124','62','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('904','Scorpions_Tail','Scorpion Tail','3','124','62','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('905','Stem','Stem','3','46','23','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('906','Pointed_Scale','Pointed Scale','3','68','34','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('907','Resin','Resin','3','120','60','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -328,7 +328,7 @@ REPLACE INTO `item_db` VALUES ('915','Chrysalis','Chrysalis','3','8','4','10','0
REPLACE INTO `item_db` VALUES ('916','Feather_Of_Birds','Feather of Birds','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('917','Talon','Talon','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('918','Sticky_Webfoot','Sticky Webfoot','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('919','Animal\'s_Skin','Animal Skin','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('919','Animals_Skin','Animal Skin','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('920','Claw_Of_Wolves','Wolf Claw','3','58','29','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('921','Mushroom_Spore','Mushroom Spore','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('922','Orcish_Cuspid','Orc\'s Fang','3','220','110','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -347,15 +347,15 @@ REPLACE INTO `item_db` VALUES ('936','Scales_Shell','Scale Shell','3','466','233
REPLACE INTO `item_db` VALUES ('937','Posionous_Canine','Venom Canine','3','148','74','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('938','Sticky_Mucus','Sticky Mucus','3','70','35','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('939','Bee_Sting','Bee Sting','3','32','16','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('940','Grasshopper\'s_Leg','Grasshopper\'s Leg','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('940','Grasshoppers_Leg','Grasshopper\'s Leg','3','36','18','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('941','Nose_Ring','Nose Ring','3','568','284','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('942','Yoyo_Tail','Yoyo Tail','3','114','57','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('943','Solid_Shell','Solid Shell','3','448','224','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('944','Horseshoe','Horseshoe','3','588','294','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('945','Raccoon_Leaf','Raccoon Leaf','3','106','53','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('946','Snail\'s_Shell','Snail\'s Shell','3','64','32','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('946','Snails_Shell','Snail\'s Shell','3','64','32','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('947','Horn','Horn','3','116','58','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('948','Bear\'s_Foot','Bear\'s Footskin','3','174','87','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('948','Bears_Foot','Bear\'s Footskin','3','174','87','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('949','Feather','Feather','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('950','Heart_Of_Mermaid','Heart of Mermaid','3','264','132','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('951','Fin','Fin','3','412','206','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -421,7 +421,7 @@ REPLACE INTO `item_db` VALUES ('1011','Emveretarcon','Emveretarcon','3','1000','
REPLACE INTO `item_db` VALUES ('1012','Lizard_Scruff','Frill','3','250','125','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1013','Colorful_Shell','Rainbow Shell','3','90','45','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1014','Jaws_Of_Ant','Ant Jaw','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1015','Thin_N\'_Long_Tongue','Tongue','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1015','Thin_N_Long_Tongue','Tongue','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1016','Rat_Tail','Rat Tail','3','52','26','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1017','Moustache_Of_Mole','Mole Whiskers','3','106','53','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1018','Nail_Of_Mole','Mole Claw','3','210','105','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -434,8 +434,8 @@ REPLACE INTO `item_db` VALUES ('1024','Chinese_Ink','Squid Ink','3','264','132',
REPLACE INTO `item_db` VALUES ('1025','Spiderweb','Cobweb','3','184','92','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1026','Acorn','Acorn','3','98','49','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1027','Porcupine_Spike','Porcupine Quill','3','158','79','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1028','Wild_Boar\'s_Mane','Mane','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1029','Tiger\'s_Skin','Tiger Skin','3','548','274','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1028','Wild_Boars_Mane','Mane','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1029','Tigers_Skin','Tiger Skin','3','548','274','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1030','Tiger_Footskin','Tiger\'s Footskin','3','1500','750','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1031','Limb_Of_Mantis','Mantis Scythe','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1032','Blossom_Of_Maneater','Maneater Blossom','3','196','98','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -446,7 +446,7 @@ REPLACE INTO `item_db` VALUES ('1036','Dragon_Scale','Dragon Scale','3','500','2
REPLACE INTO `item_db` VALUES ('1037','Dragon_Train','Dragon Tail','3','1200','600','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1038','Petite_DiablOfs_Horn','Little Evil Horn','3','528','264','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1039','Petite_DiablOfs_Wing','Little Evil Wing','3','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1040','Elder_Pixie\'s_Beard','Elder Pixie\'s Moustache','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1040','Elder_Pixies_Beard','Elder Pixie\'s Moustache','3','232','116','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1041','Lantern','Lantern','3','250','125','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1042','Short_Leg','Bug Leg','3','430','215','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1043','Nail_Of_Orc','Orc Claw','3','168','84','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -490,7 +490,7 @@ REPLACE INTO `item_db` VALUES ('1080','Merchant_Voucher_8','Voucher','3','0','0'
REPLACE INTO `item_db` VALUES ('1081','Merchant_Box_1','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1082','Merchant_Box_2','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1083','Merchant_Box_3','Delivery Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1084','Kapra\'s_Pass','Kafra Pass','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1084','Kapras_Pass','Kafra Pass','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1085','Mage_Test_2','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1086','Mage_Test_3','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1087','Mage_Test_4','Unknown Test Tube','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -632,7 +632,7 @@ REPLACE INTO `item_db` VALUES ('1225','Mail_Breaker','Mailbreaker','4','20','10'
REPLACE INTO `item_db` VALUES ('1226','Damascus_','Damascus','4','49000','24500','800','118','0','0','1','2','579821294','63','2','2','3','24',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1227','Weeder_Knife','Weeder Knife','4','20','10','400','80','0','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bAddRaceTolerance,RC_Plant,15;','','');
REPLACE INTO `item_db` VALUES ('1228','Combat_Knife','Combat Knife','4','20','10','400','80','0','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_DemiPlayer; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bSubRace,RC_Demon,-10;','','');
-REPLACE INTO `item_db` VALUES ('1229','Mama\'s_Knife','Kitchen Knife','4','20','10','500','75','0','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;','','');
+REPLACE INTO `item_db` VALUES ('1229','Mamas_Knife','Kitchen Knife','4','20','10','500','75','0','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;','','');
REPLACE INTO `item_db` VALUES ('1230','House_Auger','Ice pick','4','20','10','600','80','0','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefRatioAtkRace, RC_All;','','');
REPLACE INTO `item_db` VALUES ('1231','Bazerald','Bazerald','4','20','10','500','70','105','0','1','0','579821294','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bInt,5;','','');
REPLACE INTO `item_db` VALUES ('1232','Assasin_Dagger','Assassin Dagger','4','20','10','600','140','0','0','1','0','4096','63','2','2','4','36',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;','','');
@@ -652,7 +652,7 @@ REPLACE INTO `item_db` VALUES ('1245','Cinquedea','Cinquedea','4','40000','20000
REPLACE INTO `item_db` VALUES ('1246','Cinquedea_','Cinquedea','4','40000','20000','700','110','0','0','1','2','1','47','2','2','3','30',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1247','Kindling_Dagger','Kindle Dagger','4','10000','5000','600','39','0','0','1','0','579821295','63','2','2','1','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire;','','');
REPLACE INTO `item_db` VALUES ('1248','Obsidian_Dagger','Obsidian Dagger','4','10000','5000','600','39','0','0','1','0','579821295','63','2','2','1','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Earth;','','');
-REPLACE INTO `item_db` VALUES ('1249','Fisherman\'s_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','579821295','63','2','2','1','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('1249','Fishermans_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','579821295','63','2','2','1','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
REPLACE INTO `item_db` VALUES ('1250','Jur','Jur','4','19500','9750','800','125','0','0','1','2','4096','63','2','34','2','18',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1251','Jur_','Jur','4','19500','9750','800','125','0','0','1','3','4096','63','2','34','2','18',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1252','Katar','Katar','4','41000','20500','1200','148','0','0','1','1','4096','63','2','34','3','33',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
@@ -702,7 +702,7 @@ REPLACE INTO `item_db` VALUES ('1295','Blood_Tears_','Blood Tears ','4','20','10
REPLACE INTO `item_db` VALUES ('1296','Metal_Katar','Metal Katar','4','20','10','0','75','0','0','1','1','4096','63','2','34','3','0',NULL,'1','16','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*5); bonus bCritAtkRate,getrefine(); .@val = min(BaseLevel/10, 12); if (.@val > 2) { bonus bBaseAtk,((.@val-2)*5); }','','');
REPLACE INTO `item_db` VALUES ('1297','Inverse_Scale_','Inverse Scale','4','20','10','1500','140','0','0','1','2','4096','58','2','34','4','55',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus3 bAutoSpell,NPC_DRAGONFEAR,1,30;','','');
REPLACE INTO `item_db` VALUES ('1298','Shiver_Katar','Shiver Katar','4','60000','30000','2700','110','0','0','1','2','4096','56','2','34','4','105',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('1299','TE_WoE_Katar','TE WoE Katar','4','0','0','0','120','0','0','1','0','4096','63','2','34','3','40',NULL,'0','16','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,1000;','','');
+REPLACE INTO `item_db` VALUES ('1299','TE_Woe_Katar','TE WoE Katar','4','0','0','0','120','0','0','1','0','4096','63','2','34','3','40',NULL,'0','16','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,1000;','','');
REPLACE INTO `item_db` VALUES ('1301','Axe','Axe','4','500','250','800','38','0','0','1','3','283811','63','2','2','1','3',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1302','Axe_','Axe','4','500','250','800','38','0','0','1','4','283811','63','2','2','1','3',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1303','Axe__','Axe','4','500','250','800','38','0','0','1','0','283811','63','2','2','1','3',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -721,7 +721,7 @@ REPLACE INTO `item_db` VALUES ('1315','F_Right_Epsilon_C','Right Epsilon','4','1
REPLACE INTO `item_db` VALUES ('1316','Adventure_Axe','Adventure Axe','4','0','0','0','100','0','0','1','0','263200','63','2','2','1','0',NULL,'0','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1317','Academy_Axe','Academy Axe','4','0','0','1600','130','0','0','1','1','263200','63','2','2','1','0',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1318','Dofle_Axe','Deflation Axe','4','50000','25000','1800','180','0','0','1','2','414946','63','2','2','4','105',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('1319','TE_WoE_Axe','TE WoE Axe','4','20','10','0','100','0','0','1','0','414947','63','2','2','3','40',NULL,'0','6','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000;','','');
+REPLACE INTO `item_db` VALUES ('1319','TE_Woe_Axe','TE WoE Axe','4','20','10','0','100','0','0','1','0','414947','63','2','2','3','40',NULL,'0','6','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000;','','');
REPLACE INTO `item_db` VALUES ('1323','Ru_Gold_Axe','Ru Gold Axe','4','20','10','1800','180','0','0','1','2','262144','56','2','2','3','120',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,8; bonus bInt,8;','','');
REPLACE INTO `item_db` VALUES ('1351','Battle_Axe','Battle Axe','4','5400','2700','1500','80','0','0','1','3','279714','63','2','34','1','3',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1352','Battle_Axe_','Battle Axe','4','5400','2700','1500','80','0','0','1','4','279714','63','2','34','1','3',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -771,7 +771,7 @@ REPLACE INTO `item_db` VALUES ('1395','Velum_Buster','Vellum Buster','4','20','1
REPLACE INTO `item_db` VALUES ('1396','Velum_Guillotine','Vellum Guillotine','4','20','10','5500','300','0','0','1','0','279714','63','2','34','4','95',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bIgnoreDefRate,RC_Player,30; if(getrefine()>=6) { bonus2 bSkillAtk,NC_AXEBOOMERANG,80; bonus2 bSkillAtk,NC_POWERSWING,80; } if(getrefine()>=9) { bonus2 bAddRace,RC_Player,60; }','','');
REPLACE INTO `item_db` VALUES ('1397','Bradium_Stonehammer_','Bradium Stone Hammer','4','20','10','2700','210','0','0','1','2','1024','58','2','34','4','75',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1398','Metal_Two_Handed_Axe','Metal Two-Handed Axe','4','20','10','0','105','0','0','1','1','279714','63','2','34','3','0',NULL,'1','7','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()*7); .@val = min(BaseLevel/10, 12); if (.@val > 2) { bonus bBaseAtk,((.@val-2)*5); }','','');
-REPLACE INTO `item_db` VALUES ('1399','TE_WoE_Two_Handed_Axe','TE WoE Two-Handed Axe','4','20','10','0','150','0','0','1','0','279714','63','2','34','3','40',NULL,'0','7','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Stun,1000;','','');
+REPLACE INTO `item_db` VALUES ('1399','TE_Woe_Two_Handed_Axe','TE WoE Two-Handed Axe','4','20','10','0','150','0','0','1','0','279714','63','2','34','3','40',NULL,'0','7','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Stun,1000;','','');
REPLACE INTO `item_db` VALUES ('1400','Spear_of_Vicious_Mind','Spear of Vicious Mind','4','20','10','1400','140','0','0','3','1','16514','63','2','2','4','160',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('1401','Javelin','Javelin','4','150','75','700','28','0','0','3','3','16514','63','2','2','1','4',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1402','Javelin_','Javelin','4','150','75','700','28','0','0','3','4','16514','63','2','2','1','4',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -809,10 +809,10 @@ REPLACE INTO `item_db` VALUES ('1433','Imperial_Spear','Imperial Spear','4','20'
REPLACE INTO `item_db` VALUES ('1434','P_Sphere1','Eden Group Spear I','4','0','0','0','165','0','0','3','0','16514','63','2','2','3','60',NULL,'0','4','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1435','Cannon_Spear','Cannon Spear','4','56000','28000','1600','180','0','0','3','1','16384','56','2','2','4','100',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,-100; bonus2 bSkillAtk,LG_CANNONSPEAR,10; bonus bBaseAtk,(getrefine()/3);','','');
REPLACE INTO `item_db` VALUES ('1436','Velum_Spear','Vellum Spear','4','20','10','850','150','0','0','3','0','16514','63','2','2','4','95',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,60; if(getrefine()>=6) { bonus2 bSkillAtk,RK_HUNDREDSPEAR,80; bonus2 bSkillAtk,LG_PINPOINTATTACK,80; } if(getrefine()>=9) { bonus2 bAddRace,RC_Player,30; }','','');
-REPLACE INTO `item_db` VALUES ('1437','TE_WoE_Pike','TE WoE Pike','4','20','10','0','100','0','0','3','0','16514','63','2','2','3','40',NULL,'0','4','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Curse,1000;','','');
-REPLACE INTO `item_db` VALUES ('1438','Thanatos_Spear','Thanatos Spear','4','20','10','3000','150','100','0','3','1','16514','56','2','2','4','120',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1437','TE_Woe_Pike','TE WoE Pike','4','20','10','0','100','0','0','3','0','16514','63','2','2','3','40',NULL,'0','4','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Curse,1000;','','');
+REPLACE INTO `item_db` VALUES ('1438','Thanos_Spear','Thanatos Spear','4','20','10','3000','150','100','0','3','1','16514','56','2','2','4','120',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
REPLACE INTO `item_db` VALUES ('1441','Ru_Blue_Spear','Ru Blue Spear','4','20','10','1200','200','0','0','3','1','16384','63','2','2','3','100',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus bAgi,5;','','');
-REPLACE INTO `item_db` VALUES ('1443','Crimson_Spear','Crimson Spear','4','20','10','900','90','0','0','3','2','16514','63','2','2','3','70',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1443','Scarlet_Spear','Crimson Spear','4','20','10','900','90','0','0','3','2','16514','63','2','2','3','70',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('1450','Lance_of_Vicious_Mind','Lance of Vicious Mind','4','20','10','2250','225','0','0','3','1','16514','63','2','34','4','160',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('1451','Guisarme','Guisarme','4','13000','6500','1000','84','0','0','3','2','16514','63','2','34','2','18',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1452','Guisarme_','Guisarme','4','13000','6500','1000','84','0','0','3','3','16514','63','2','34','2','18',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -832,7 +832,7 @@ REPLACE INTO `item_db` VALUES ('1465','Halberd__','Hallberd','4','54000','27000'
REPLACE INTO `item_db` VALUES ('1466','Crescent_Scythe','Crescent Scythe','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,30; bonus bHit,10;','','');
REPLACE INTO `item_db` VALUES ('1467','Bill_Guisarme','Bill Guisarme','4','20','10','1000','183','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiPlayer,5;','','');
REPLACE INTO `item_db` VALUES ('1468','Zephyrus','Zephyrus','4','20','10','2000','170','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,MG_THUNDERSTORM,3,100;','','');
-REPLACE INTO `item_db` VALUES ('1469','Longinus\'s_Spear','Longinus\'s Spear','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Angel,10;','','');
+REPLACE INTO `item_db` VALUES ('1469','Longinuss_Spear','Longinus\'s Spear','4','20','10','2500','180','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Angel,10;','','');
REPLACE INTO `item_db` VALUES ('1470','Brionac','Brionac','4','20','10','3000','190','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; skill AL_HEAL,5; bonus3 bAutoSpell,MG_SOULSTRIKE,3,100; bonus2 bAddRace,RC_Boss,5;','','');
REPLACE INTO `item_db` VALUES ('1471','Hell_Fire','Hellfire','4','20','10','3500','200','0','0','3','0','16514','63','2','34','4','48',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,MG_FIREBALL,3,100; bonus bStr,3;','','');
REPLACE INTO `item_db` VALUES ('1472','Staff_Of_Soul','Soul Staff','4','20','10','1400','25','200','0','1','0','8454660','63','2','34','3','73',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bAgi,2;','','');
@@ -858,9 +858,9 @@ REPLACE INTO `item_db` VALUES ('1491','Upg_Lance','Upgrade Spear','4','20','10',
REPLACE INTO `item_db` VALUES ('1492','Velum_Glaive','Vellum Glaive','4','20','10','4500','250','0','0','3','0','16514','63','2','34','4','95',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,80; if(getrefine()>=6) { bonus2 bSkillAtk,LK_SPIRALPIERCE,100; bonus2 bSkillAtk,KN_SPEARBOOMERANG,50; } if(getrefine()>=9) { autobonus2 \"{ bonus bShortWeaponDamageReturn,20; bonus bMagicDamageReturn,20; }\",100,2000,BF_WEAPON|BF_MAGIC,\"{ specialeffect2 EF_REFLECTSHIELD; }\"; }','','');
REPLACE INTO `item_db` VALUES ('1493','Metal_Lance','Metal Lance','4','20','10','0','100','0','0','3','1','16514','63','2','34','3','0',NULL,'1','5','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*6); .@val = min(BaseLevel/10, 12); if (.@val > 2) { bonus bBaseAtk,((.@val-2)*5); }','','');
REPLACE INTO `item_db` VALUES ('1494','Undine_Spear','Spear Of Odin','4','50000','25000','3800','190','0','0','3','3','16514','63','2','34','4','105',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
-REPLACE INTO `item_db` VALUES ('1495','TE_WoE_Lance','TE WoE Lance','4','0','0','0','150','0','0','3','0','16514','63','2','34','3','40',NULL,'0','5','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,1000;','','');
-REPLACE INTO `item_db` VALUES ('1496','Thanatos_Long_Spear','Thanatos Long Spear','4','20','10','3750','250','50','0','3','1','16514','56','2','34','4','120',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('1498','Crimson_Lance','Crimson Lance','4','20','10','1750','175','0','0','3','2','16514','63','2','34','3','70',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1495','TE_Woe_Lance','TE WoE Lance','4','0','0','0','150','0','0','3','0','16514','63','2','34','3','40',NULL,'0','5','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,1000;','','');
+REPLACE INTO `item_db` VALUES ('1496','Thanos_Long_Spear','Thanatos Long Spear','4','20','10','3750','250','50','0','3','1','16514','56','2','34','4','120',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1498','Scarlet_Lance','Crimson Lance','4','20','10','1750','175','0','0','3','2','16514','63','2','34','3','70',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('1501','Club','Club','4','120','60','700','23','0','0','1','3','312755','63','2','2','1','2',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1502','Club_','Club','4','120','60','700','23','0','0','1','4','312755','63','2','2','1','2',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1503','Club__','Club','4','120','60','700','23','0','0','1','0','312755','63','2','2','1','2',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -918,7 +918,7 @@ REPLACE INTO `item_db` VALUES ('1554','Book_Of_Mother_Earth','Book of Mother Ear
REPLACE INTO `item_db` VALUES ('1555','Book_Of_Blazing_Sun','Book of the Blazing Sun','4','35000','17500','750','90','0','0','1','0','4260096','63','2','2','3','27',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire;','','');
REPLACE INTO `item_db` VALUES ('1556','Book_Of_Gust_Of_Wind','Book of Gust of Wind','4','35000','17500','750','90','0','0','1','0','4260096','63','2','2','3','27',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('1557','Book_Of_The_Apocalypse','Book of the Apocalypse','4','60000','30000','800','120','0','0','1','0','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddEle,Ele_Holy,5; bonus2 bAddEle,Ele_Water,7; bonus2 bAddEle,Ele_Earth,7; bonus2 bAddEle,Ele_Fire,7; bonus2 bAddEle,Ele_Wind,7;','','');
-REPLACE INTO `item_db` VALUES ('1558','Girl\'s_Diary','Girl\'s Diary','4','1500','750','300','60','0','0','1','1','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,1188,150;','','');
+REPLACE INTO `item_db` VALUES ('1558','Girls_Diary','Girl\'s Diary','4','1500','750','300','60','0','0','1','1','4260096','63','2','2','4','40',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,1188,150;','','');
REPLACE INTO `item_db` VALUES ('1559','Legacy_Of_Dragon','Legacy of Dragon','4','20','10','700','130','0','0','1','0','4260096','63','2','2','4','70',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bIgnoreDefRace,RC_Dragon; bonus2 bSPGainRace,RC_Dragon,10;','','');
REPLACE INTO `item_db` VALUES ('1560','Diary_Of_Great_Sage','Sage\'s Diary','4','20','10','1100','100','120','0','1','2','4260096','63','2','2','3','60',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(readparam(bStr)>=50) { bonus bAspdRate,5; } if(readparam(bInt)>=70) { bonus bMatkRate,5; }','','');
REPLACE INTO `item_db` VALUES ('1561','Hardback','Hardcover Book','4','20','10','1500','140','0','0','1','1','4260096','63','2','2','4','55',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3; bonus bDex,2;','','');
@@ -951,7 +951,7 @@ REPLACE INTO `item_db` VALUES ('1587','Velum_Encyclopedia','Vellum Encyclopedia'
REPLACE INTO `item_db` VALUES ('1588','Metal_Book','Metal Book','4','20','10','0','45','10','0','1','1','4260096','63','2','2','3','0',NULL,'1','15','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bBaseAtk,(getrefine()*5); bonus bMatk,(getrefine()*2); .@val = min(BaseLevel/10, 12); if (.@val > 2) { bonus bBaseAtk,((.@val-2)*5); }','','');
REPLACE INTO `item_db` VALUES ('1589','Legacy_Of_Dragon_','Legacy of Dragon','4','20','10','700','130','0','0','1','2','4260096','63','2','2','4','70',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bIgnoreDefRace,RC_Dragon; bonus2 bSPGainRace,RC_Dragon,10;','','');
REPLACE INTO `item_db` VALUES ('1590','Snake_Encyclopedia','Snake Encyclopedia','4','60000','30000','1500','10','110','0','1','2','4260096','63','2','2','4','105',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,getrefine()*3; bonus bMatk,getrefine()*3;','','');
-REPLACE INTO `item_db` VALUES ('1591','TE_WoE_Book','TE WoE Book','4','20','10','0','120','0','0','1','0','4260096','63','2','2','3','40',NULL,'0','15','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bMagicAddRace,RC_Player,5; bonus bHealPower,5; bonus2 bAddEff,Eff_Blind,1000;','','');
+REPLACE INTO `item_db` VALUES ('1591','TE_Woe_Book','TE WoE Book','4','20','10','0','120','0','0','1','0','4260096','63','2','2','3','40',NULL,'0','15','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bMagicAddRace,RC_Player,5; bonus bHealPower,5; bonus2 bAddEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('1598','Snake_Encyclopedia_','Snake Encyclopedia','4','60000','30000','1500','10','110','0','1','3','4260096','63','2','2','4','105',NULL,'1','15','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,getrefine()*3; bonus bMatk,getrefine()*3;','','');
REPLACE INTO `item_db` VALUES ('1599','Angra_Manyu','Angra manyu','4','1','0','10','10000','10000','0','2','0','18446744073709551615','63','2','2','1','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,50; bonus bBaseAtk,3300; bonus bMatkRate,200; bonus2 bHPDrainRate,1000,100; bonus2 bSPDrainRate,1000,20; bonus bHealPower,200; bonus2 bAddRace, RC_All, 100; skill WZ_STORMGUST,10; skill WZ_METEOR,10; skill WZ_VERMILION,10; skill GM_SANDMAN,1; bonus bVariableCastrate,-100; bonus bFixedCastrate,-100;','','');
REPLACE INTO `item_db` VALUES ('1600','Rod_of_Vicious_Mind','Rod of Vicious Mind','4','20','10','600','60','120','0','1','1','8487701','63','2','2','4','160',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bMatk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,0;','','');
@@ -975,8 +975,8 @@ REPLACE INTO `item_db` VALUES ('1617','Survival_Rod','Survivor\'s Rod','4','8500
REPLACE INTO `item_db` VALUES ('1618','Survival_Rod_','Survivor\'s Rod','4','85000','42500','1000','50','120','0','1','1','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bMaxHP,400;','','');
REPLACE INTO `item_db` VALUES ('1619','Survival_Rod2','Survivor\'s Rod','4','85000','42500','1000','50','120','0','1','0','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bMaxHP,300;','','');
REPLACE INTO `item_db` VALUES ('1620','Survival_Rod2_','Survivor\'s Rod','4','85000','42500','1000','50','120','0','1','1','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bMaxHP,400;','','');
-REPLACE INTO `item_db` VALUES ('1621','Hypnotist\'s_Staff','Hypnotist\'s Staff','4','43000','21500','500','70','120','0','1','1','1','47','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
-REPLACE INTO `item_db` VALUES ('1622','Hypnotist\'s_Staff_','Hypnotist\'s Staff','4','20','10','500','70','120','0','1','2','1','47','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('1621','Hypnotists_Staff','Hypnotist\'s Staff','4','43000','21500','500','70','120','0','1','1','1','47','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('1622','Hypnotists_Staff_','Hypnotist\'s Staff','4','20','10','500','70','120','0','1','2','1','47','2','2','3','30',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('1623','Mighty_Staff_C','Mighty Staff','4','1','0','0','165','120','0','1','0','8487700','63','2','2','3','0',NULL,'0','10','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,10; bonus bInt,4; bonus bSPDrainValue,-1;','','');
REPLACE INTO `item_db` VALUES ('1624','Lich_Bone_Wand','Lich\'s Bone Wand','4','20','10','800','60','170','0','1','2','99092','58','2','2','3','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus3 bAutoSpellWhenHit,NPC_WIDECURSE,5,10+getrefine(); if(getrefine()>=9) { bonus bMatkRate,3; bonus bMaxSP,300; }','','');
REPLACE INTO `item_db` VALUES ('1625','Healing_Staff','Healing Staff','4','20','10','400','10','105','0','1','0','33040','63','2','2','3','55',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bHealPower,(getrefine()*3/2);','','');
@@ -1000,7 +1000,7 @@ REPLACE INTO `item_db` VALUES ('1642','Staff_Of_Darkness','Staff Of Darkness','4
REPLACE INTO `item_db` VALUES ('1643','Dead_Tree_Cane','Dead Tree CaneStaff','4','20','10','100','100','155','0','1','0','8487700','63','2','2','4','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; if (getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; }','','');
REPLACE INTO `item_db` VALUES ('1644','Piercing_Staff_M','Staff of Piercing','4','20','10','500','80','0','0','1','0','99092','58','2','2','3','70',NULL,'1','10','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,15; bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine();','','');
REPLACE INTO `item_db` VALUES ('1645','Lich_Bone_Wand_M','Lich\'s Bone Wand','4','20','10','800','60','0','0','1','2','99092','58','2','2','3','70',NULL,'1','10','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus bMatkRate,20; bonus3 bAutoSpellWhenHit,NPC_WIDECURSE,5,10+getrefine(); if(getrefine()>=9) { bonus bMatkRate,3; bonus bMaxSP,300; }','','');
-REPLACE INTO `item_db` VALUES ('1646','La\'cryma_Stick','La\'cryma Stick','4','20','10','500','30','180','0','1','2','66052','58','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bMdef,1; bonus bMdef,getrefine(); bonus2 bSkillAtk,WZ_STORMGUST,getrefine(); if (getrefine() > 9) bonus2 bVariableCastrate,WZ_STORMGUST,-8;','','');
+REPLACE INTO `item_db` VALUES ('1646','Lacryma_Stick','La\'cryma Stick','4','20','10','500','30','180','0','1','2','66052','58','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bMdef,1; bonus bMdef,getrefine(); bonus2 bSkillAtk,WZ_STORMGUST,getrefine(); if (getrefine() > 9) bonus2 bVariableCastrate,WZ_STORMGUST,-8;','','');
REPLACE INTO `item_db` VALUES ('1647','Croce_Staff','Croce Staff','4','20','10','500','30','175','0','1','1','33040','58','2','2','3','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bInt,4; bonus4 bAutoSpellOnSkill,AL_HEAL,AL_BLESSING,max(getskilllv(AL_BLESSING),1),20;','','');
REPLACE INTO `item_db` VALUES ('1648','Staff_Of_Bordeaux','Staff Of Bordeaux','4','20','10','500','30','170','0','1','0','66052','58','2','2','4','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bDex,1; if(getskilllv(SA_DRAGONOLOGY) == 5) { bonus bUseSPrate,-15; bonus bInt,3; }','','');
REPLACE INTO `item_db` VALUES ('1649','Rafini_Staff','Laphine Staff','4','20','10','500','30','180','0','1','0','99072','56','2','2','3','100',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFixedCastrate,-getrefine();','','');
@@ -1018,15 +1018,30 @@ REPLACE INTO `item_db` VALUES ('1660','Wand_Of_Affection2','Protection Staff II'
REPLACE INTO `item_db` VALUES ('1661','Mental_Destroyer','Mental Destroyer','4','20','10','1400','100','50','0','1','0','512','58','2','2','4','95',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 10; bonus bUnbreakableWeapon, 0; bonus bUseSPrate, 100; bonus bMdef, 20; bonus3 bSPVanishRate, 1000, 5, BF_NORMAL | BF_SKILL; if (getrefine() >= 6) { bonus3 bSPVanishRate, 1000, 10, BF_NORMAL | BF_SKILL; }','','');
REPLACE INTO `item_db` VALUES ('1662','Bone_Wand_','Evil Bone Wand','4','20','10','700','40','110','0','1','2','8487700','63','2','2','3','24',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4; bonus bAtkEle,Ele_Undead;','','');
REPLACE INTO `item_db` VALUES ('1663','Staff_Of_Bordeaux_','Staff Of Bordeaux','4','20','10','500','30','170','0','1','2','66052','58','2','2','4','50',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bDex,1; if(getskilllv(SA_DRAGONOLOGY) == 5) { bonus bUseSPrate,-15; bonus bInt,3; }','','');
-REPLACE INTO `item_db` VALUES ('1664','Thorn_Staff_of_Darkness','Thorn Staff of Darkness','4','20','10','700','60','160','0','1','0','99092','58','2','2','4','75',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus bInt,3; bonus bDex,3; bonus bIgnoreMdefRate,getrefine(); bonus bDelayrate,-(getrefine()*3/2);','','');
+REPLACE INTO `item_db` VALUES ('1664','Thorn_Staff_','Thorn Staff of Darkness','4','20','10','700','60','160','0','1','0','99092','58','2','2','4','75',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus bInt,3; bonus bDex,3; bonus bIgnoreMdefRate,getrefine(); bonus bDelayrate,-(getrefine()*3/2);','','');
REPLACE INTO `item_db` VALUES ('1665','Piercing_Staff_','Staff of Piercing','4','20','10','500','80','0','0','1','2','99092','58','2','2','3','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,15; bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine();','','');
REPLACE INTO `item_db` VALUES ('1666','Healing_Staff_','Staff Of Healing','4','20','10','0','10','125','0','1','2','33040','63','2','2','3','0',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2);','','');
-REPLACE INTO `item_db` VALUES ('1667','TE_WoE_Staff','TE WoE Staff','4','20','10','0','50','100','0','1','0','8487700','63','2','2','3','40',NULL,'0','10','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Player,10; bonus bHealPower,5; bonus2 bAddEff,Eff_Blind,1000;','','');
+REPLACE INTO `item_db` VALUES ('1667','TE_Woe_Staff','TE WoE Staff','4','20','10','0','50','100','0','1','0','8487700','63','2','2','3','40',NULL,'0','10','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Player,10; bonus bHealPower,5; bonus2 bAddEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('1668','Sword_Stick','Sword Stick','4','20','10','500','120','150','0','1','2','8389120','63','2','2','4','80',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,10;','','');
-REPLACE INTO `item_db` VALUES ('1669','Thanatos_Staff','Thanatos Staff','4','20','10','1000','100','200','0','1','1','99092','56','2','2','4','120',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000; bonus bHealPower,15;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1669','Thanos_Staff','Thanatos Staff','4','20','10','1000','100','200','0','1','1','99092','56','2','2','4','120',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000; bonus bHealPower,15;','','heal -1000,0;');
REPLACE INTO `item_db` VALUES ('1670','RWC_Memory_Staff','RWC Memory Staff','4','20','10','500','25','30','0','1','1','8487700','63','2','2','3','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bMatk,30*(getrefine()/3); if (getrefine()>=7) { .@val = 1; bonus4 bAutoSpell,HW_MAGICPOWER,1,10,0; } if (getrefine() >= 4) { bonus2 bMagicAddRace, RC_All, 5*(.@val+1); }','','');
-REPLACE INTO `item_db` VALUES ('1671','Evil_Slayer_Vanquisher_Staff','Evil Slayer Vanquisher Staff','4','20','10','800','30','155','0','1','1','8487700','56','2','2','3','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; bonus2 bMagicAddRace,RC_Demon,10; bonus2 bMagicAddRace,RC_Undead,10; if(getrefine()>=9){ bonus bMatkRate,5; } if(getrefine()>=12){ bonus bMatkRate,7; }','','');
-REPLACE INTO `item_db` VALUES ('1680','Crimson_Rod','Crimson Rod','4','20','10','600','60','70','0','1','2','8487701','63','2','2','3','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bMatk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1671','Staff_Of_Evil_Slayer','Evil Slayer Vanquisher Staff','4','20','10','800','30','155','0','1','1','8487700','56','2','2','3','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; bonus2 bMagicAddRace,RC_Demon,10; bonus2 bMagicAddRace,RC_Undead,10; if(getrefine()>=9){ bonus bMatkRate,5; } if(getrefine()>=12){ bonus bMatkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('1680','Scarlet_Rod','Crimson Rod','4','20','10','600','60','70','0','1','2','8487701','63','2','2','3','70',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bMatk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1681','Short_Foxtail_Staff','Short Foxtail Staff','4','20','10','0','30','0','0','1','0','0','63','2','2','1','1',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1683','Enriched_Foxtail_Staff','Enriched Foxtail Staff','4','20','10','200','50','70','0','1','1','0','7','2','2','2','12',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP, 50;','','');
+REPLACE INTO `item_db` VALUES ('1684','Long_Foxtail_Staff','Long Foxtail Staff','4','20','10','200','50','0','0','2','1','0','63','2','2','2','12',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 5; bonus bMaxHP, 200;','','');
+REPLACE INTO `item_db` VALUES ('1685','Dragonfly_Sitting_Foxtail_Staff','Dragonfly Sitting Foxtail Staff','4','20','10','300','70','100','0','1','1','0','7','2','2','2','20',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 1; bonus bMaxHP, 100; bonus bMaxSP, 150;','','');
+REPLACE INTO `item_db` VALUES ('1686','Large_Foxtail_Staff','Large Foxtail Staff','4','20','10','300','70','0','0','1','1','0','63','2','2','2','20',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 8; bonus bDex, 1; bonus bMaxHP, 200; bonus bMaxSP, 100;','','');
+REPLACE INTO `item_db` VALUES ('1687','Beginner_Foxtail_Staff','Beginner Foxtail Staff','4','20','10','100','40','15','0','1','1','0','7','2','2','1','3',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 100;','','');
+REPLACE INTO `item_db` VALUES ('1690','Mysterious_Foxtail_Staff','Mysterious Foxtail Staff','4','20','10','400','80','180','0','1','3','0','7','2','2','2','60',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP, 10 * (getrefine() / 3) + 50; bonus bMatk, 10 * (getrefine() / 3);','','');
+REPLACE INTO `item_db` VALUES ('1691','Strange_God_Foxtail_Staff','Strange God Foxtail Staff','4','20','10','500','100','240','0','1','2','0','7','2','2','3','100',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP, 100; bonus bMatkRate, 2 * (getrefine() / 3); bonus bMaxSPrate, getrefine() / 3; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate,(20 * .@r) + 40; bonus bWeaponMatkRate,(20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1692','Magical_Foxtail_Staff','Magical Foxtail Staff','4','20','10','600','120','260','0','1','2','0','7','2','2','3','140',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP, 100; bonus bMatkRate, 2 * (getrefine() / 3); bonus bMaxSPrate, getrefine() / 3; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate, (20 * .@r) + 40; bonus bWeaponMatkRate, (20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1693','Magical_Yellow_Foxtail_Staff','Magical Yellow Foxtail Staff','4','20','10','700','140','280','0','1','1','0','7','2','2','4','175',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 3 * (getrefine() / 2); bonus4 bAutoSpellOnSkill, SU_FRESHSHRIMP, SU_ARCLOUSEDASH, max(1, getskilllv(SU_ARCLOUSEDASH)), 200; bonus4 bAutoSpellOnSkill, SU_SV_STEMSPEAR, SU_FRESHSHRIMP, max(1, getskilllv(SU_FRESHSHRIMP)), 200; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate, (20 * .@r) + 40; bonus bWeaponMatkRate, (20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1694','Foxtail_Model','Foxtail Model','4','20','10','300','150','0','0','1','3','0','63','2','2','2','60',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 8; bonus bMaxHP, 100; bonus bDex, (getrefine() / 3) * 2; bonus bMaxSP, (getrefine() / 3) * 10;','','');
+REPLACE INTO `item_db` VALUES ('1695','Delicate_Foxtail_Model','Delicate Foxtail Model','4','20','10','300','195','0','0','1','2','0','63','2','2','3','100',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 8; bonus bMaxHP, 200; bonus bDex, (getrefine() / 3) * 3; bonus bMaxSP, (getrefine() / 3) * 15; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate, (20 * .@r) + 40; bonus bWeaponMatkRate, (20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1696','Exquisite_Foxtail_Model','Exquisite Foxtail Model','4','20','10','300','240','0','0','1','2','0','63','2','2','3','140',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 8; bonus bMaxHPrate, 5; bonus bDex, (getrefine() / 2) * 3; bonus bMaxSP, (getrefine() / 2) * 15; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate, (20 * .@r) + 40; bonus bWeaponMatkRate, (20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1697','Exquisite_Yellow_Foxtail_Model','Exquisite Yellow Foxtail Model','4','20','10','300','270','0','0','1','1','0','63','2','2','4','175',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate, 9; bonus bMaxHPrate, 7; bonus bLongAtkRate, getrefine() / 2; bonus bMaxSP, (getrefine() / 2) * 20; bonus4 bAutoSpellOnSkill, SU_PICKYPECK, SU_FRESHSHRIMP, max(1, getskilllv(SU_FRESHSHRIMP)), 200; if (getrefine() >= 7) { .@r = min(getrefine(), 10) - 7; bonus bWeaponAtkRate, (20 * .@r) + 40; bonus bWeaponMatkRate, (20 * .@r) + 40; }','','');
+REPLACE INTO `item_db` VALUES ('1699','Paradise_Foxtail_Staff_I','Eden Group Foxtail I','4','20','10','0','120','135','0','1','0','0','7','2','2','2','26',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 3; bonus bInt, 3; bonus bLongAtkRate, 5;','','');
REPLACE INTO `item_db` VALUES ('1701','Bow','Bow','4','1000','500','500','15','0','0','5','3','657480','63','2','34','1','4',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1702','Bow_','Bow','4','1000','500','500','15','0','0','5','4','657480','63','2','34','1','4',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1703','Bow__','Bow','4','0','0','0','15','0','0','5','0','657480','63','2','34','1','4',NULL,'0','11','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,1002,500; bonus2 bAddDamageClass,1113,500; bonus2 bAddDamageClass,1031,500; bonus2 bAddDamageClass,1242,500;','','');
@@ -1136,10 +1151,10 @@ REPLACE INTO `item_db` VALUES ('1830','Sura_Rampage','Sura\'s Rampage','4','20',
REPLACE INTO `item_db` VALUES ('1831','P_Knuckle1','Eden Group Knuckle I','4','0','0','0','120','0','0','1','0','33024','63','2','2','3','60',NULL,'0','12','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1832','Velum_Claw','Vellum Claw','4','20','10','650','160','0','0','1','0','33024','63','2','2','4','95',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,100; if(getrefine()>7) { bonus2 bAddRace,RC_Player,20; } if(getrefine()>9) { bonus2 bVariableCastrate,MO_EXTREMITYFIST,-100; bonus4 bAutoSpellOnSkill,MO_EXPLOSIONSPIRITS,CH_SOULCOLLECT,1,10000; bonus2 bHPLossRate,500,3000; }','','');
REPLACE INTO `item_db` VALUES ('1833','Claw_Of_Flash','Claw of Flash','4','60000','30000','400','140','0','0','1','2','33024','63','2','2','4','105',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1834','TE_WoE_Fist','TE WoE Fist','4','20','10','0','150','0','0','1','0','33024','63','2','2','3','40',NULL,'0','12','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000;','','');
+REPLACE INTO `item_db` VALUES ('1834','TE_Woe_Fist','TE WoE Fist','4','20','10','0','150','0','0','1','0','33024','63','2','2','3','40',NULL,'0','12','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000;','','');
REPLACE INTO `item_db` VALUES ('1835','Spartacus','Spartacus','4','20','10','600','100','0','0','1','2','33024','63','2','2','4','50',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtkRate,getrefine(); if(getrefine()>9) bonus bNoSizeFix,0;','','');
-REPLACE INTO `item_db` VALUES ('1836','Thanatos_Knuckles','Thanatos Knuckles','4','20','10','1600','60','100','0','1','1','32768','56','2','2','4','120',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('1839','Crimson_Knuckle','Crimson Knuckle','4','20','10','1000','100','0','0','1','2','33024','63','2','2','3','70',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1836','Thanos_Knuckle','Thanatos Knuckles','4','20','10','1600','60','100','0','1','1','32768','56','2','2','4','120',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1839','Scarlet_Knuckle','Crimson Knuckle','4','20','10','1000','100','0','0','1','2','33024','63','2','2','3','70',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('1900','Violin_of_Vicious_Mind','Violin of Vicious Mind','4','20','10','1300','130','50','0','1','1','524288','63','1','2','4','160',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2;','','');
REPLACE INTO `item_db` VALUES ('1901','Violin','Violin','4','4000','2000','700','50','0','0','1','3','524288','63','1','2','1','2',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1902','Violin_','Violin','4','4000','2000','700','50','0','0','1','4','524288','63','1','2','1','2',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1172,15 +1187,15 @@ REPLACE INTO `item_db` VALUES ('1928','Berserk_Guitar_I','Spirited Guitar','4','
REPLACE INTO `item_db` VALUES ('1929','Guitar_C','Guitar','4','0','0','0','177','0','0','1','0','524288','63','1','2','3','0',NULL,'0','13','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
REPLACE INTO `item_db` VALUES ('1930','Green_Whistle','Green Whistle','4','20','10','800','170','50','0','1','1','524288','56','1','2','3','102',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>5) { bonus2 bSkillUseSP,MI_RUSH_WINDMILL,(getrefine()-5)*4; bonus2 bSkillUseSP,WM_LULLABY_DEEPSLEEP,(getrefine()-5)*4; } bonus2 bSkillVariableCast,MI_RUSH_WINDMILL,-2000; bonus2 bSkillVariableCast,WM_LULLABY_DEEPSLEEP,-2000;','','');
REPLACE INTO `item_db` VALUES ('1931','P_String_Inst1','Eden Group Guitar I','4','0','0','0','125','0','0','1','0','524288','63','1','2','3','60',NULL,'0','13','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1932','TE_WoE_Guitar','TE WoE Guitar','4','0','0','0','100','0','0','1','0','524288','63','1','2','3','40',NULL,'0','13','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Poison,1000;','','');
-REPLACE INTO `item_db` VALUES ('1933','Thanatos_Violin','Thanatos Violin','4','20','10','2000','200','130','0','1','1','524288','56','1','2','4','120',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('1934','Double_Bass','Double Bass','4','124000','62000','250','180','120','0','1','2','524288','56','1','2','3','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillCooldown,WM_RANDOMIZESPELL,-2000;','','');
-REPLACE INTO `item_db` VALUES ('1935','Ozs_New_Ukulele','Oz\'s New Ukulele','5','124000','62000','1000','160','0','0','1','2','524288','56','1','2','4','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,MI_RUSH_WINDMILL,-20;','','');
-REPLACE INTO `item_db` VALUES ('1936','Blue_Violin','Blue Violin','5','20','10','1500','180','0','0','1','1','524288','56','1','2','3','100',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bVit,5;','','');
+REPLACE INTO `item_db` VALUES ('1932','TE_Woe_Guitar','TE WoE Guitar','4','0','0','0','100','0','0','1','0','524288','63','1','2','3','40',NULL,'0','13','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Poison,1000;','','');
+REPLACE INTO `item_db` VALUES ('1933','Thanos_Violin','Thanatos Violin','4','20','10','2000','200','130','0','1','1','524288','56','1','2','4','120',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1934','Contabass','Double Bass','4','124000','62000','250','180','120','0','1','2','524288','56','1','2','3','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillCooldown,WM_RANDOMIZESPELL,-2000;','','');
+REPLACE INTO `item_db` VALUES ('1935','Ukulele_Of_Newoz','Oz\'s New Ukulele','4','124000','62000','1000','160','0','0','1','2','524288','56','1','2','4','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,MI_RUSH_WINDMILL,-20;','','');
+REPLACE INTO `item_db` VALUES ('1936','Ru_Blue_Violin','Blue Violin','4','20','10','1500','180','0','0','1','1','524288','56','1','2','3','100',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bVit,5;','','');
REPLACE INTO `item_db` VALUES ('1937','Ru_Gold_Violin','Ru Gold Violin','4','20','10','1500','180','0','0','1','2','524288','56','1','2','3','120',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,8; bonus bVit,8;','','');
REPLACE INTO `item_db` VALUES ('1938','Infinity_Violin','Infinity Violin','4','20','10','500','150','0','0','1','1','524288','56','1','2','4','100',NULL,'1','13','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1939','Crimson_Violin','Crimson Violin','4','20','10','800','80','0','0','1','2','524288','63','1','2','3','70',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
-REPLACE INTO `item_db` VALUES ('1940','Conch_','Conch','4','0','0','600','120','0','0','1','1','524288','63','1','2','4','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,getrefine(); bonus bDex,getrefine(); if(getrefine()>4) { bonus2 bSkillAtk,WM_REVERBERATION,10; bonus2 bVariableCastrate,WM_REVERBERATION,-10; } if(getrefine()>6) { bonus2 bSkillAtk,WM_REVERBERATION,10; bonus2 bVariableCastrate,WM_REVERBERATION,-10; } if(getrefine()>8) { bonus2 bSkillAtk,WM_REVERBERATION,20; bonus2 bVariableCastrate,WM_REVERBERATION,-20; }','','');
+REPLACE INTO `item_db` VALUES ('1939','Scarlet_Viollin','Crimson Violin','4','20','10','800','80','0','0','1','2','524288','63','1','2','3','70',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1940','Conch_','Conch','4','0','0','600','120','0','0','1','1','524288','63','1','2','4','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, getrefine(); bonus bDex, getrefine(); if(getrefine() > 4) { bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 10; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 10; bonus2 bVariableCastrate, WM_REVERBERATION, -10; } if(getrefine() > 6) { bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 10; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 10; bonus2 bVariableCastrate, WM_REVERBERATION, -10; } if(getrefine() > 8) { bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 20; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 20; bonus2 bVariableCastrate, WM_REVERBERATION, -20; }','','');
REPLACE INTO `item_db` VALUES ('1950','Rope','Rope','4','2500','1250','400','45','0','0','2','3','524288','63','0','2','1','3',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1951','Rope_','Rope','4','2500','1250','400','45','0','0','2','4','524288','63','0','2','1','3',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('1952','Line','Whip','4','12000','6000','300','80','0','0','2','2','524288','63','0','2','2','16',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1201,13 +1216,13 @@ REPLACE INTO `item_db` VALUES ('1966','Whip_Of_Ice_Piece','Icicle Whip','4','20'
REPLACE INTO `item_db` VALUES ('1967','Whip_Of_Earth','Gaia Whip','4','20','10','700','110','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('1968','Jump_Rope','Skipping Rope','4','20','10','400','120','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,20;','','');
REPLACE INTO `item_db` VALUES ('1969','Bladed_Whip','Blade Whip','4','20','10','1200','140','0','0','2','0','524288','63','0','2','4','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Bleeding,300;','','');
-REPLACE INTO `item_db` VALUES ('1970','Queen\'s_Whip','Queen\'s Whip','4','20','10','1100','150','0','0','2','0','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
+REPLACE INTO `item_db` VALUES ('1970','Queens_Whip','Queen\'s Whip','4','20','10','1100','150','0','0','2','0','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
REPLACE INTO `item_db` VALUES ('1971','Electric_Wire','Electric Wire','4','20','10','700','110','0','0','2','0','524288','63','0','2','3','30',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('1972','Electric_Eel','Electric Eel','4','20','10','2000','100','0','0','2','2','524288','58','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus bInt,2; bonus bAgi,2; bonus3 bAutoSpell,WZ_JUPITEL,3,20; if(getrefine()>0) bonus3 bAutoSpell,CG_ARROWVULCAN,getrefine(),50;','','');
REPLACE INTO `item_db` VALUES ('1973','Sea_Witch_Foot','Sea Witch\'s Foot','4','20','10','1500','110','0','0','2','1','524288','58','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPGainValue,5; bonus4 bAutoSpellWhenHit,WZ_FROSTNOVA,3,50,1; bonus3 bAutoSpell,NPC_WIDESILENCE,2,100;','','');
REPLACE INTO `item_db` VALUES ('1974','Carrot_Whip','Carrot Whip','4','20','10','1300','185','0','0','2','0','524288','58','0','2','4','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>0) bonus3 bAutoSpell,AL_INCAGI,getrefine(),10;','','');
REPLACE INTO `item_db` VALUES ('1975','Queen_Is_Whip','Queen Is Whip','4','20','10','0','120','0','0','2','0','524288','63','0','2','1','0',NULL,'0','14','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 50;','','');
-REPLACE INTO `item_db` VALUES ('1976','Queen\'s_Whip_','Queen\'s Whip','4','20','10','1100','150','0','0','2','2','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
+REPLACE INTO `item_db` VALUES ('1976','Queens_Whip_','Queen\'s Whip','4','20','10','1100','150','0','0','2','2','524288','63','0','2','4','65',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CG_ARROWVULCAN,10; bonus2 bSkillAtk,DC_THROWARROW,10;','','');
REPLACE INTO `item_db` VALUES ('1977','BF_Whip1','Valorous Battle Lariat','4','20','10','0','50','0','0','2','0','524288','63','0','2','3','80',NULL,'1','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bIgnoreDefRate,RC_DemiPlayer,20; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1978','BF_Whip2','Brave Battle Lariat','4','20','10','0','50','0','0','2','0','524288','63','0','2','3','80',NULL,'1','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bAddRace,RC_DemiPlayer,95; bonus2 bSkillAtk,CG_ARROWVULCAN,20; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('1979','Stem_Of_Nepenthes','Stem of Nepenthes','4','20','10','1000','120','0','0','2','2','524288','58','0','2','4','60',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,DC_THROWARROW,Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,DC_THROWARROW,Eff_Freeze,1000; }','','');
@@ -1218,14 +1233,14 @@ REPLACE INTO `item_db` VALUES ('1983','Rante_C','Rante Whip','4','0','0','0','17
REPLACE INTO `item_db` VALUES ('1984','Stem_Whip','Stem Whip','4','20','10','800','170','50','0','1','1','524288','56','0','2','3','102',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>5) { bonus2 bSkillUseSP,WA_SWING_DANCE,(getrefine()-5)*4; bonus2 bSkillUseSP,WM_LULLABY_DEEPSLEEP,(getrefine()-5)*4; } bonus2 bSkillVariableCast,WA_SWING_DANCE,-2000; bonus2 bSkillVariableCast,WM_LULLABY_DEEPSLEEP,-2000;','','');
REPLACE INTO `item_db` VALUES ('1985','Rosebine','Rosevine','4','20','10','1000','100','130','0','1','0','524288','56','0','2','4','110',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bAgi,-2; bonus3 bAutoSpell,WM_VOICEOFSIREN,1,20;','','');
REPLACE INTO `item_db` VALUES ('1986','P_Tail1','Eden Group Whip I','4','0','0','0','125','0','0','2','0','524288','63','0','2','3','60',NULL,'1','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1987','TE_WoE_Rope','TE WoE Rope','4','0','0','0','100','0','0','2','0','524288','63','0','2','4','40',NULL,'0','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,1000;','','');
-REPLACE INTO `item_db` VALUES ('1988','Thanatos_Whip','Thanatos Whip','4','20','10','2200','200','130','0','2','1','524288','56','0','2','4','120',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('1989','Rhythmic_Gymnastics_Ribbon','Rhythmic Gymnastics Ribbon','5','124000','62000','300','150','120','0','2','2','524288','56','2','2','3','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,20;','','');
-REPLACE INTO `item_db` VALUES ('1990','Bloody_Floral_Decoration_Microphone','Bloody Floral Decoration Microphone','5','124000','62000','1000','160','0','0','2','2','524288','56','2','2','4','130',NULL,'1','13','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,CG_MOONLIT,-20;','','');
-REPLACE INTO `item_db` VALUES ('1991','Blue_Whip','Blue Whip','5','20','10','1500','180','0','0','2','1','524288','56','2','2','3','100',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bVit,5;','','');
+REPLACE INTO `item_db` VALUES ('1987','TE_Woe_Rope','TE WoE Rope','4','0','0','0','100','0','0','2','0','524288','63','0','2','4','40',NULL,'0','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,1000;','','');
+REPLACE INTO `item_db` VALUES ('1988','Thanos_Whip','Thanatos Whip','4','20','10','2200','200','130','0','2','1','524288','56','0','2','4','120',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('1989','Gymnastics_Ribbon','Rhythmic Gymnastics Ribbon','4','124000','62000','300','150','120','0','2','2','524288','56','0','2','3','130',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,20;','','');
+REPLACE INTO `item_db` VALUES ('1990','Floral_Mic_Of_Igu','Bloody Floral Decoration Microphone','4','124000','62000','1000','160','0','0','2','2','524288','56','0','2','4','130',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,CG_MOONLIT,-20;','','');
+REPLACE INTO `item_db` VALUES ('1991','Ru_Blue_Whip','Blue Whip','4','20','10','1500','180','0','0','2','1','524288','56','0','2','3','100',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bVit,5;','','');
REPLACE INTO `item_db` VALUES ('1992','Ru_Gold_Whip','Ru Gold Whip','4','20','10','1500','180','0','0','2','2','524288','56','0','2','3','120',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,8; bonus bVit,8;','','');
REPLACE INTO `item_db` VALUES ('1994','Infinity_Wire','Infinity Wire','4','20','10','0','100','0','0','2','1','524288','56','0','2','4','100',NULL,'1','14','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('1995','Crimson_Wire','Crimson Wire','4','20','10','800','80','0','0','2','2','524288','63','0','2','3','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('1995','Scarlet_Wire','Crimson Wire','4','20','10','800','80','0','0','2','2','524288','63','0','2','3','70',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('1996','Wire_of_Vicious_Mind','Wire of Vicious Mind','4','20','10','1300','130','50','0','2','1','524288','63','0','2','4','160',NULL,'1','14','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2;','','');
REPLACE INTO `item_db` VALUES ('2000','Destruction_Rod','Staff of Destruction','4','20','10','2500','130','280','0','1','1','512','58','2','34','4','80',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,WZ_JUPITEL,5,(getrefine()*20); bonus2 bVariableCastrate,HW_MAGICPOWER,-50;','','');
REPLACE INTO `item_db` VALUES ('2001','Divine_Cross','Divine Cross','4','20','10','1500','120','210','0','1','0','33024','63','2','34','4','70',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy; bonus bDex,4; bonus2 bAddRaceTolerance,RC_Demon,15; bonus2 bAddRaceTolerance,RC_Undead,15;','','');
@@ -1250,9 +1265,9 @@ REPLACE INTO `item_db` VALUES ('2019','TE_Woe_Two_Hand_Staff','TE Woe Two Hand S
REPLACE INTO `item_db` VALUES ('2020','Jormungand','Jormungand','4','20','10','3000','200','280','0','1','0','8454656','63','2','34','4','90',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,20; bonus bAtkEle,Ele_Poison; bonus3 bAddEff,Eff_Poison,300,ATF_SKILL; bonus2 bAddEffWhenHit,Eff_Poison,100; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('2021','Ganbantein','Ganbantein','4','20','10','2000','100','320','0','1','0','512','56','2','34','4','100',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,25; bonus bDex,25; bonus5 bAutoSpell,AB_SILENTIUM,1,100,BF_MAGIC,1; bonus3 bAddEff,Eff_Poison,100,ATF_SKILL; bonus2 bAddEffWhenHit,Eff_Silence,10000; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('2022','Staff_Of_Geffen','Staff Of Geffen','4','20','10','1000','100','300','0','0','1','512','56','2','34','1','150',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,20;','','');
-REPLACE INTO `item_db` VALUES ('2023','Thanatos_Two-Handed_Staff','Thanatos Two-Handed Staff','4','20','10','1400','120','250','0','1','1','99092','56','2','34','4','120',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000; bonus bHealPower,18;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('2024','Infinity_Staff','Infinity Staff','5','20','10','500','30','170','0','0','1','8454656','56','2','34','4','100',NULL,'1','23','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2025','Staff_of_Crimson','Staff of Crimson','4','20','10','1000','100','150','0','1','2','8454660','63','2','34','3','70',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bInt,5; bonus bMatk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('2023','Thanos_Rod','Thanatos Two-Handed Staff','4','20','10','1400','120','250','0','1','1','99092','56','2','34','4','120',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000; bonus bHealPower,18;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('2024','Infinity_Staff','Infinity Staff','4','20','10','500','30','170','0','0','1','8454656','56','2','34','4','100',NULL,'1','23','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2025','Scarlet_Staff','Staff of Crimson','4','20','10','1000','100','150','0','1','2','8454660','63','2','34','3','70',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bInt,5; bonus bMatk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bMatk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('2026','Staff_of_Vicious_Mind','Staff of Vicious Mind','4','20','10','1000','100','200','0','1','1','8454660','63','2','34','4','160',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bMatk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('2101','Guard','Guard','5','500','250','300','0','0','20','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2102','Guard_','Guard','5','500','250','300','0','0','20','0','1','18446744073709551615','63','2','32','0','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1268,8 +1283,8 @@ REPLACE INTO `item_db` VALUES ('2111','Herald_Of_GOD','Sacred Mission','5','1280
REPLACE INTO `item_db` VALUES ('2112','Novice_Guard','Novice Guard','5','1','0','1','0','0','20','0','0','1','47','2','32','0','0',NULL,'0','1','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2113','Novice_Shield','Novice Shield','5','5000','2500','1000','0','0','20','0','1','1','47','2','32','0','40',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20;','','');
REPLACE INTO `item_db` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','45','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,5;','','');
-REPLACE INTO `item_db` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','80','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
-REPLACE INTO `item_db` VALUES ('2116','Angel\'s_Safeguard','Angelic Guard','5','10000','5000','400','0','0','30','0','1','1','47','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,5;','','');
+REPLACE INTO `item_db` VALUES ('2115','Valkyrjas_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','80','0','1','18446744073709551614','63','2','32','0','65',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
+REPLACE INTO `item_db` VALUES ('2116','Angels_Safeguard','Angelic Guard','5','10000','5000','400','0','0','30','0','1','1','47','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,5;','','');
REPLACE INTO `item_db` VALUES ('2117','Arm_Guard','Arm Guard','5','10000','5000','150','0','0','50','0','0','570425344','1','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2118','Arm_Guard_','Arm Guard','5','10000','5000','150','0','0','50','0','1','570425344','1','2','32','0','20',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2119','Improved_Arm_Guard','Advanced Arm Guard','5','40000','20000','150','0','0','45','0','0','570425344','1','2','32','0','50',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
@@ -1290,7 +1305,7 @@ REPLACE INTO `item_db` VALUES ('2133','Tournament_Shield','Tournament Shield','5
REPLACE INTO `item_db` VALUES ('2134','Shield_Of_Naga','Shield of Naga','5','20','10','500','0','0','35','0','1','1040256','58','2','32','0','0',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; autobonus2 \"{ bonus bShortWeaponDamageReturn,(getrefine()*3); }\",10,5000,BF_WEAPON,\"{ specialeffect2 EF_GUARD; }\";','','');
REPLACE INTO `item_db` VALUES ('2135','Shadow_Guard','Shadow Guard','5','20','10','800','0','0','52','0','1','131072','58','2','32','0','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2136','Cracked_Buckler','Cracked Buckler','5','0','0','0','0','0','55','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bAddEle,Ele_Neutral,-10; bonus3 bAutoSpellWhenHit,PR_KYRIE,10,10; bonus bMdef,1;','','');
-REPLACE INTO `item_db` VALUES ('2137','Valkyrja\'s_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','110','0','0','1040382','58','2','32','0','95',NULL,'0','4','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
+REPLACE INTO `item_db` VALUES ('2137','Valkyrjas_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','110','0','0','1040382','58','2','32','0','95',NULL,'0','4','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2138','Bradium_Shield','Bradium Shield','5','20','10','1800','0','0','98','0','1','1040256','58','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,CR_SHIELDBOOMERANG,60; bonus bAgi,-1; bonus bMaxHP,500;','','');
REPLACE INTO `item_db` VALUES ('2139','Flame_Thrower','Flame Thrower','5','20000','10000','2000','0','0','60','0','0','1024','56','2','32','0','99',NULL,'0','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2140','Energy_Rune_Guard','Energy Rune Guard','5','20','10','0','0','0','70','0','1','128','56','2','32','0','99',NULL,'1','4','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,2;','','');
@@ -1311,7 +1326,7 @@ REPLACE INTO `item_db` VALUES ('2154','Toy_Shield','Toy Shield','5','0','0','500
REPLACE INTO `item_db` VALUES ('2155','Academy_Shield','Academy Shield','5','0','0','1500','0','0','3','0','1','18446744073709551614','63','2','32','0','0',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2156','Bible_Of_Promise1','Bible of Promise(1st Vol.)','5','20','10','500','0','0','10','0','1','256','56','2','32','0','110',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; skill ALL_ODINS_POWER,1;','','');
REPLACE INTO `item_db` VALUES ('2157','Insecticide','Pesticide','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Insect,10;','','');
-REPLACE INTO `item_db` VALUES ('2158','Ramor_Shield_Undead','Ramorushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Undead,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,-5; bonus2 bAddRaceTolerance,RC_Player,-5;','','');
+REPLACE INTO `item_db` VALUES ('2158','Ramor_Shield_Undead','Ramorushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_Undead, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, -5;','','');
REPLACE INTO `item_db` VALUES ('2159','Sharel_Shield','Sharerushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2160','Giant_Shield','Giant Shield','5','56000','28000','2800','0','0','130','0','1','16512','56','2','32','0','100',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,5; if(getrefine()>=9) { bonus2 bSubSize,Size_Large,5; }','','');
REPLACE INTO `item_db` VALUES ('2161','Geffenia_Book_Water','Geffenia Water Book','5','56000','28000','1000','0','0','30','0','1','512','56','2','32','0','100',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bInt,1; if(readparam(bInt)>=120) { bonus bMatk,10; bonus bMaxHP,800; }','','');
@@ -1331,25 +1346,25 @@ REPLACE INTO `item_db` VALUES ('2174','Lumiere_Shield','Lumiere Shield','5','20'
REPLACE INTO `item_db` VALUES ('2175','Esprit_Shield','Spirit Shield','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2176','Dark_Book','Black Book','5','20','10','500','0','0','80','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2177','Shield_Of_Death','Shield Of Death','5','20','10','2000','0','0','150','0','1','18446744073709551615','63','2','32','0','90',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Boss,2; bonus2 bSubRace,RC_NonBoss,-10;','','');
-REPLACE INTO `item_db` VALUES ('2178','TE_WoE_Buckler','TE WoE Buckler','5','0','0','0','0','0','15','0','0','18446744073709551615','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15;','','');
-REPLACE INTO `item_db` VALUES ('2179','TE_WoE_Shield','TE WoE Shield','5','0','0','0','0','0','25','0','0','16514','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20;','','');
-REPLACE INTO `item_db` VALUES ('2180','TE_WoE_Magic_Guard','TE WoE Magic Guard','5','0','0','0','0','0','5','0','0','8487701','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10;','','');
+REPLACE INTO `item_db` VALUES ('2178','TE_Woe_Buckler','TE WoE Buckler','5','0','0','0','0','0','15','0','0','18446744073709551615','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15;','','');
+REPLACE INTO `item_db` VALUES ('2179','TE_Woe_Shield','TE WoE Shield','5','0','0','0','0','0','25','0','0','16514','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20;','','');
+REPLACE INTO `item_db` VALUES ('2180','TE_Woe_Magic_Guard','TE WoE Magic Guard','5','0','0','0','0','0','5','0','0','8487701','63','2','32','0','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10;','','');
REPLACE INTO `item_db` VALUES ('2181','Hervor','Hervor','5','20','10','1500','0','0','100','0','0','18446744073709551615','63','2','32','0','90',NULL,'0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSubRace,RC_All,30; bonus bUnbreakableShield,1;','','');
REPLACE INTO `item_db` VALUES ('2182','Hervor_Alvitr','Hervor Alvitr','5','20','10','3000','0','0','150','0','0','18446744073709551615','56','2','32','0','100',NULL,'0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,20; bonus bMdef,10; bonus2 bAddRaceTolerance,RC_All,30; /* TODO: bonus3 bAutoSpellWhenHit,\"ALL_RAY_OF_PROTECTION\",1,50; */ bonus bUnbreakableShield,1;','','');
-REPLACE INTO `item_db` VALUES ('2183','Adv_Angel\'s_Safeguard','Advanced Angelic Guard','5','10000','5000','400','0','0','30','0','1','1','47','2','32','0','99',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Undead,5;','','');
+REPLACE INTO `item_db` VALUES ('2183','Impr_Angels_Safeguard','Advanced Angelic Guard','5','10000','5000','400','0','0','30','0','1','1','47','2','32','0','99',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Undead,5;','','');
REPLACE INTO `item_db` VALUES ('2185','Magic_Reflector','Magic Reflector','5','20','10','1000','0','0','50','0','1','18446744073709551615','63','2','32','0','99',NULL,'0','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bMagicDamageReturn,3+((getrefine()>=9)?3:0);','','');
-REPLACE INTO `item_db` VALUES ('2186','Revised_Encyclopedia','Revised Encyclopedia','5','20','10','1000','0','0','50','0','1','4260096','63','2','32','0','99',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bInt,3; bonus bDex,2; bonus bCritical,3; if (getrefine()>6) bonus bCritical,2; if (getrefine()>8) bonus bMatk,5;','','');
-REPLACE INTO `item_db` VALUES ('2187','Gray_Shield','Gray Shield','5','20','10','2000','0','0','75','0','1','18446744073709551615','56','2','32','0','120',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10+(getrefine()/3); bonus2 bSubEle,Ele_Holy,30+getrefine();','','');
-REPLACE INTO `item_db` VALUES ('2188','Svalinn','Svalinn','5','20','10','500','0','0','80','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSubEle,Ele_Water,10+(getrefine()/3); bonus bMaxHP,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('2186','Encyclopedia_Revision','Revised Encyclopedia','5','20','10','1000','0','0','50','0','1','4260096','63','2','32','0','99',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bInt,3; bonus bDex,2; bonus bCritical,3; if (getrefine()>6) bonus bCritical,2; if (getrefine()>8) bonus bMatk,5;','','');
+REPLACE INTO `item_db` VALUES ('2187','Shield_Of_Gray','Gray Shield','5','20','10','2000','0','0','75','0','1','18446744073709551615','56','2','32','0','120',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10+(getrefine()/3); bonus2 bSubEle,Ele_Holy,30+getrefine();','','');
+REPLACE INTO `item_db` VALUES ('2188','Svalinn_J','Svalinn','5','20','10','500','0','0','80','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSubEle,Ele_Water,10+(getrefine()/3); bonus bMaxHP,getrefine();','','');
REPLACE INTO `item_db` VALUES ('2189','Mad_Bunny','Mad Bunny','5','0','0','100','0','0','40','0','1','18446744073709551615','63','2','32','0','30',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,6; bonus bDex,1; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Undead,5; bonus2 bSubEle,Ele_Neutral,5; if (isequipped(20725)) { if (getequiprefinerycnt(EQI_HAND_L)>6) { bonus2 bSubEle,Ele_Water,(getrefine()*2)-12; bonus2 bSubEle,Ele_Earth,(getrefine()*2)-12; bonus2 bSubEle,Ele_Fire,(getrefine()*2)-12; bonus2 bSubEle,Ele_Wind,(getrefine()*2)-12; bonus2 bSubEle,Ele_Poison,(getrefine()*2)-12; bonus2 bSubEle,Ele_Ghost,(getrefine()*2)-12; bonus2 bSubEle,Ele_Holy,(getrefine()*2)-12; bonus2 bSubEle,Ele_Dark,(getrefine()*2)-12; bonus2 bSubEle,Ele_Undead,(getrefine()*2)-12; bonus2 bSubEle,Ele_Neutral,(getrefine()*2)-12; } }','','');
REPLACE INTO `item_db` VALUES ('2190','Ancient_Shield_Of_Aeon','Ancient Shield Of Aeon','5','0','0','200','0','0','5','0','1','1040256','56','2','32','0','130',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) { skill MG_STONECURSE,5; }','','');
-REPLACE INTO `item_db` VALUES ('2198','Laphine_Shield','Laphine Shield','5','20','10','1000','0','0','25','0','1','18446744073709551615','63','2','32','0','100',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; if(getrefine()>=7) { bonus bMatk,20; }','','');
+REPLACE INTO `item_db` VALUES ('2198','Lapine_Shield','Laphine Shield','5','20','10','1000','0','0','25','0','1','18446744073709551615','63','2','32','0','100',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; if(getrefine()>=7) { bonus bMatk,20; }','','');
REPLACE INTO `item_db` VALUES ('2199','Ahura_Mazda','Ahura Mazdah','5','1','0','10','0','0','10000','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableShield,0; bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiPlayer,95; skill CR_FULLPROTECTION,5; skill WZ_ESTIMATION,1; skill ST_FULLSTRIP,5; skill HW_MAGICPOWER,10; bonus bMaxHPrate,200; bonus bNoKnockback,0; bonus bDelayrate,-20; bonus bSpeedRate,25; bonus bIntravision,0;','sc_start4 SC_ENDURE,60000,10,0,0,1;','sc_end SC_ENDURE;');
REPLACE INTO `item_db` VALUES ('2201','Sunglasses','Sunglasses','5','5000','2500','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,500;','','');
REPLACE INTO `item_db` VALUES ('2202','Sunglasses_','Sunglasses','5','5000','2500','100','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,500;','','');
REPLACE INTO `item_db` VALUES ('2203','Glasses','Glasses','5','4000','2000','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2204','Glasses_','Glasses','5','4000','2000','100','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2205','Diver\'s_Goggles','Diver Goggles','5','3500','1750','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2205','Divers_Goggles','Diver Goggles','5','3500','1750','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2206','Wedding_Veil','Wedding Veil','5','23000','11500','100','0','0','0','0','0','18446744073709551615','63','0','256','0','0',NULL,'1','44','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2207','Fancy_Flower','Fancy Flower','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Plant,10;','','');
REPLACE INTO `item_db` VALUES ('2208','Ribbon','Ribbon','5','800','400','100','0','0','1','0','0','18446744073709551615','63','0','256','0','0',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
@@ -1380,7 +1395,7 @@ REPLACE INTO `item_db` VALUES ('2232','Circlet','Circlet','5','7500','3750','300
REPLACE INTO `item_db` VALUES ('2233','Circlet_','Circlet','5','7500','3750','300','0','0','6','0','1','8487700','63','2','256','0','0',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','7','0','0','18446744073709551614','63','0','256','0','45',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','7','0','0','18446744073709551614','63','1','256','0','45',NULL,'1','45','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
-REPLACE INTO `item_db` VALUES ('2236','Santa\'s_Hat','Santa Hat','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bLuk,1;','','');
+REPLACE INTO `item_db` VALUES ('2236','Santas_Hat','Santa Hat','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('2237','Weird_Goatee','Bandit Beard','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2238','Weird_Moustache','Moustache','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2239','One_Eyed_Glass','Monocle','5','10000','5000','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1388,10 +1403,10 @@ REPLACE INTO `item_db` VALUES ('2240','Beard','Beard','5','2','1','100','0','0',
REPLACE INTO `item_db` VALUES ('2241','Granpa_Beard','Grampa Beard','5','5000','2500','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2242','Luxury_Sunglasses','Purple Glasses','5','24000','12000','100','0','0','2','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','26','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('2243','Spinning_Eyes','Geek Glasses','5','20000','10000','100','0','0','1','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','27','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,1500;','','');
-REPLACE INTO `item_db` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('2244','Big_Sis_Ribbon','Big Ribbon','5','15000','7500','200','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','29','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','9','0','0','18446744073709551614','63','2','256','0','40',NULL,'1','30','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','31','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2247','Oldmans_Romance','Romantic Gent','5','15000','7500','400','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','31','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','32','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','33','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','34','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
@@ -1449,7 +1464,7 @@ REPLACE INTO `item_db` VALUES ('2302','Cotton_Shirt_','Cotton Shirt','5','10','5
REPLACE INTO `item_db` VALUES ('2303','Leather_Jacket','Jacket','5','200','100','200','0','0','15','0','0','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2304','Leather_Jacket_','Jacket','5','200','100','200','0','0','15','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2305','Adventure_Suit','Adventurer\'s Suit','5','1000','500','300','0','0','20','0','0','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2306','Adventurere\'s_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','20','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2306','Adventureres_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','20','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','37','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','37','0','1','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','42','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1496,9 +1511,9 @@ REPLACE INTO `item_db` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Ty
REPLACE INTO `item_db` VALUES ('2350','Earth_Sprits_Armor','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','25','0','0','279714','63','2','16','0','45',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','25','0','1','18446744073709551614','63','2','16','0','45',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefEle,Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('2352','Novice_Plate','Tattered Novice Ninja Suit','5','1','0','1','0','0','25','0','0','1','47','2','16','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','53','0','1','18446744073709551614','63','2','16','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','58','0','0','18446744073709551614','63','2','16','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMaxHPrate,10;','','');
-REPLACE INTO `item_db` VALUES ('2355','Angel\'s_Protection','Angelic Protection','5','10000','5000','600','0','0','25','0','1','1','47','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,20;','','');
+REPLACE INTO `item_db` VALUES ('2353','Odins_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','53','0','1','18446744073709551614','63','2','16','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2354','Goibnes_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','58','0','0','18446744073709551614','63','2','16','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMaxHPrate,10;','','');
+REPLACE INTO `item_db` VALUES ('2355','Angels_Protection','Angelic Protection','5','10000','5000','600','0','0','25','0','1','1','47','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,20;','','');
REPLACE INTO `item_db` VALUES ('2356','Vestment_Of_Grace','Blessed Holy Robe','5','20','10','2500','0','0','45','0','1','33024','63','2','16','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bResEff,Eff_Blind,8000;','','');
REPLACE INTO `item_db` VALUES ('2357','Valkyrie_Armor','Valkyrian Armor','5','0','0','2800','0','0','55','0','1','1040382','58','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;','','');
REPLACE INTO `item_db` VALUES ('2358','Dress_Of_Angel','Angel\'s Dress','5','20','10','1000','0','0','5','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,4;','','');
@@ -1536,7 +1551,7 @@ REPLACE INTO `item_db` VALUES ('2389','Armor_Of_Naga','Armor of Naga','5','20','
REPLACE INTO `item_db` VALUES ('2390','Improved_Tights','Improved Tights','5','20','10','400','0','0','38','0','1','526344','58','2','16','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bFlee2,3;','','');
REPLACE INTO `item_db` VALUES ('2391','Life_Link','Life Link','5','20','10','3500','0','0','75','0','1','16514','58','2','16','0','82',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;','','');
REPLACE INTO `item_db` VALUES ('2392','Old_Pant','Old Green Pantie','5','0','0','0','0','0','60','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,MO_CALLSPIRITS,5,20; bonus bMdef,1;','','');
-REPLACE INTO `item_db` VALUES ('2393','N_Adventurer\'s_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','45','0','1','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2393','N_Adventurers_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','45','0','1','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','10','0','0','18446744073709551614','63','2','16','0','81',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20; bonus2 bAddRaceTolerance,RC_DemiPlayer,7;','','');
REPLACE INTO `item_db` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','10','0','0','18446744073709551614','63','2','16','0','61',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,600; bonus bSPrecovRate,10;','','');
REPLACE INTO `item_db` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500;','','');
@@ -1560,9 +1575,9 @@ REPLACE INTO `item_db` VALUES ('2414','Novice_Boots','Novice Slippers','5','1','
REPLACE INTO `item_db` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','9','0','1','18446744073709551614','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2416','Novice_Shoes','Novice Shoes','5','35000','17500','500','0','0','8','0','1','1','47','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5;','','');
REPLACE INTO `item_db` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','12','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','','');
-REPLACE INTO `item_db` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','','');
-REPLACE INTO `item_db` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','0','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2420','Angel\'s_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','8','0','1','1','47','2','64','0','25',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
+REPLACE INTO `item_db` VALUES ('2418','Vidars_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','0','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','','');
+REPLACE INTO `item_db` VALUES ('2419','Goibnes_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','0','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2420','Angels_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','8','0','1','1','47','2','64','0','25',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('2421','Valkyrie_Shoes','Valkyrian Shoes','5','0','0','500','0','0','13','0','1','1040382','58','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2);','','');
REPLACE INTO `item_db` VALUES ('2422','High_Fashion_Sandals','High Fashion Sandals','5','24000','12000','200','0','0','7','0','1','8487700','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('2423','Variant_Shoes','Variant Shoes','5','20','10','500','0','0','13','0','0','1040382','58','2','64','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','','');
@@ -1631,14 +1646,14 @@ REPLACE INTO `item_db` VALUES ('2485','Siege_Shoes','WoE Shoes','5','10','5','35
REPLACE INTO `item_db` VALUES ('2486','Shadow_Walk_','Shadow Walker','5','20','10','2000','0','0','0','0','1','1040382','58','2','64','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('2487','Vital_Tree_Shoes_','Sephiroth\'s Shoes','5','20','10','500','0','0','16','0','1','1040382','58','2','64','0','60',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('2488','Fricco_Shoes_','Freyja Boots','5','30000','15000','500','0','0','12','0','1','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
-REPLACE INTO `item_db` VALUES ('2489','Vidar\'s_Boots_','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','1','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2489','Vidars_Boots_','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','1','18446744073709551614','63','2','64','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2491','Bangungot_Boots','Bangungot Boots of Nightmare','5','20','10','600','0','0','10','0','0','18446744073709551615','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,getrefine(); if(getrefine()>=14) { bonus bSpeedRate,25; }','','');
REPLACE INTO `item_db` VALUES ('2492','Bayani_Bangungot_Boots','Bangungot Boots(Bayani)','5','20','10','600','0','0','10','0','1','18446744073709551615','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,getrefine(); if(getrefine()>=12) { bonus bSpeedRate,25; }','','');
-REPLACE INTO `item_db` VALUES ('2493','Goibne\'s_Combat_Boots_','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','1','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2493','Goibnes_Combat_Boots_','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','1','18446744073709551614','63','2','64','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','','');
REPLACE INTO `item_db` VALUES ('2494','Chrystal_Pumps_','Crystal Pumps','5','20','10','100','0','0','5','0','1','18446744073709551614','63','0','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bLuk,5;','','');
REPLACE INTO `item_db` VALUES ('2495','Egir_Shoes','Aegir Shoes','5','200000','100000','300','0','0','13','0','1','18446744073709551615','63','2','64','0','110',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) bonus bMaxHP, BaseLevel * 5; else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) bonus bMaxSP, JobLevel * 2;','','');
-REPLACE INTO `item_db` VALUES ('2496','TE_WoE_Shoes','TE WoE Shoes','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','64','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,2500;','','');
-REPLACE INTO `item_db` VALUES ('2497','TE_WoE_Boots','TE WoE Boots','5','0','0','0','0','0','10','0','0','279714','63','2','64','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,2500;','','');
+REPLACE INTO `item_db` VALUES ('2496','TE_Woe_Shoes','TE WoE Shoes','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','64','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,2500;','','');
+REPLACE INTO `item_db` VALUES ('2497','TE_Woe_Boots','TE WoE Boots','5','0','0','0','0','0','10','0','0','279714','63','2','64','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,2500;','','');
REPLACE INTO `item_db` VALUES ('2498','TE_WoE_Magic_Sandal','TE WoE Magic Sandal','5','0','0','0','0','0','5','0','0','8487701','63','2','64','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHP,100; bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,2500;','','');
REPLACE INTO `item_db` VALUES ('2499','Temporal_Boots','Temporal Boots','5','20','10','600','0','0','20','0','0','18446744073709551615','63','2','64','0','10',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10);','','');
REPLACE INTO `item_db` VALUES ('2501','Hood','Hood','5','1000','500','200','0','0','4','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1651,17 +1666,17 @@ REPLACE INTO `item_db` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5',
REPLACE INTO `item_db` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','4','0','0','18446744073709551614','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableGarment,0; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('2509','Clack_Of_Servival','Survivor\'s Manteau','5','20000','10000','550','0','0','10','0','0','8454660','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bVit,10;','','');
REPLACE INTO `item_db` VALUES ('2510','Novice_Hood','Somber Novice Hood','5','1','0','1','0','0','4','0','0','1','47','2','4','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,20;','','');
-REPLACE INTO `item_db` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','13','0','0','18446744073709551614','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','','');
+REPLACE INTO `item_db` VALUES ('2511','Skeletons_Cape','Skeleton Manteau','5','5000','2500','700','0','0','13','0','0','18446744073709551614','63','2','4','0','75',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','','');
REPLACE INTO `item_db` VALUES ('2512','Novice_Manteau','Novice Manteau','5','50000','25000','500','0','0','7','0','1','1','47','2','4','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,10;','','');
REPLACE INTO `item_db` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','18','0','1','18446744073709551614','63','2','4','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2514','Pauldron','Pauldron','5','20','10','800','0','0','25','0','1','414946','63','2','4','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2515','Wing_Of_Eagle','Eagle Wing','5','20000','10000','300','0','0','12','0','1','8454660','63','2','4','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','8','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,15; bonus bFlee2,5;','','');
-REPLACE INTO `item_db` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','13','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15;','','');
-REPLACE INTO `item_db` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','8','0','0','18446744073709551614','63','2','4','0','33',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,10; bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','9','0','0','18446744073709551614','63','2','4','0','61',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,8;','','');
-REPLACE INTO `item_db` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','0','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
-REPLACE INTO `item_db` VALUES ('2521','Angel\'s_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','6','0','1','1','47','2','4','0','20',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,5;','','');
+REPLACE INTO `item_db` VALUES ('2517','Valis_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','13','0','0','18446744073709551614','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15;','','');
+REPLACE INTO `item_db` VALUES ('2518','Morpheuss_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','8','0','0','18446744073709551614','63','2','4','0','33',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,10; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('2519','Morriganes_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','9','0','0','18446744073709551614','63','2','4','0','61',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,8;','','');
+REPLACE INTO `item_db` VALUES ('2520','Goibnes_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','0','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('2521','Angels_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','6','0','1','1','47','2','4','0','20',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,5;','','');
REPLACE INTO `item_db` VALUES ('2522','Undershirt','Undershirt','5','20000','10000','150','0','0','5','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2523','Undershirt_','Undershirt','5','20000','10000','150','0','0','5','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2524','Valkyrie_Manteau','Valkyrian Manteau','5','0','0','500','0','0','10','0','1','1040382','58','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2);','','');
@@ -1690,7 +1705,7 @@ REPLACE INTO `item_db` VALUES ('2546','Beach_Manteau','Beach Manteau','5','20','
REPLACE INTO `item_db` VALUES ('2547','Cheap_Running_Shirts','Cheap Undershirt','5','0','0','0','0','0','11','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2548','Muffler_C','Neo Muffler','5','0','0','0','0','0','22','0','0','1040382','58','2','4','0','95',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;','','');
REPLACE INTO `item_db` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','3','0','0','18446744073709551614','63','2','4','0','80',NULL,'1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,5;','','');
-REPLACE INTO `item_db` VALUES ('2550','Fisher\'s_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2550','Fishers_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2551','Rider_Insignia_M','Crest of the Rider','5','20','10','500','0','0','4','0','1','1040382','58','2','4','0','55',NULL,'1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('2552','Mithril_Magic_Cape_M','Mithril Magic Manteau','5','20','10','400','0','0','3','0','1','625436','58','2','4','0','70',NULL,'1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','','');
REPLACE INTO `item_db` VALUES ('2553','Dragon_Manteau','Dragon Manteau','5','20','10','1000','0','0','14','0','1','1040382','58','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bMdef,5;','','');
@@ -1733,11 +1748,11 @@ REPLACE INTO `item_db` VALUES ('2589','Fallen_Angel_Wing','Fallen Angel Wing','5
REPLACE INTO `item_db` VALUES ('2590','Buwaya_Cloth','Buwaya Sack Cloth','5','20','10','200','0','0','8','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower2,getrefine()/3; bonus bAddItemHealRate,getrefine()/3; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10;','','');
REPLACE INTO `item_db` VALUES ('2591','Bayani_Buwaya_Cloth','Buwaya Sack Cloth(Bayani)','5','20','10','200','0','0','8','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower2,getrefine(); bonus bAddItemHealRate,getrefine(); bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10;','','');
REPLACE INTO `item_db` VALUES ('2592','Boss_Brownie_Manteau','Cloak of Domovoi','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','4','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2593','Froid_Manteau','Froid Manteau','5','20','10','700','0','0','20','0','1','18446744073709551615','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2593','Flow_Manteau','Froid Manteau','5','20','10','700','0','0','20','0','1','18446744073709551615','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2594','Wrapping_Manteau','Furoshiki Cloak','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2596','Sharel_Manteau','Sharel Manteau','5','0','0','700','0','0','20','0','1','18446744073709551615','63','2','4','0','65',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Fire,5; bonus2 bAddRaceTolerance,RC_Demon,5;','','');
-REPLACE INTO `item_db` VALUES ('2597','Bloody_Muffler','Bloody Muffler','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','4','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,3;','','');
-REPLACE INTO `item_db` VALUES ('2599','Goibne\'s_Shoulder_Arms_','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','1','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('2597','Scarlet_Poncho','Bloody Muffler','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','4','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,3;','','');
+REPLACE INTO `item_db` VALUES ('2599','Goibnes_Shoulder_Arms_','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','1','18446744073709551614','63','2','4','0','54',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','','');
REPLACE INTO `item_db` VALUES ('2601','Ring','Ring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','20',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('2602','Earring','Earring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','20',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('2603','Necklace','Necklace','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','20',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2;','','');
@@ -1754,7 +1769,7 @@ REPLACE INTO `item_db` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5'
REPLACE INTO `item_db` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','5','0','0','18446744073709551614','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','18446744073709551614','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5;','','');
REPLACE INTO `item_db` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
-REPLACE INTO `item_db` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
+REPLACE INTO `item_db` VALUES ('2618','Matyrs_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','18446744073709551614','63','2','136','0','35',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2619','Thimble_Of_Archer','Bow Thimble','5','10000','5000','100','0','0','0','0','0','526344','63','2','136','0','65',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,3;','','');
REPLACE INTO `item_db` VALUES ('2620','Ring_Of_Rogue','Rogue\'s Treasure','5','10000','5000','100','0','0','0','0','0','570560576','63','2','136','0','70',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(readparam(bStr)>=90) { bonus bHit,10; bonus bFlee,10; } if(readparam(bAgi)>=90) { bonus bBaseAtk,10; bonus bCritical,10; }','','');
REPLACE INTO `item_db` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
@@ -1778,19 +1793,19 @@ REPLACE INTO `item_db` VALUES ('2638','Exorcize_Sachet','Sacred Incense','5','20
REPLACE INTO `item_db` VALUES ('2639','Purification_Sachet','Occult Incense','5','20000','10000','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','18446744073709551614','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2641','Fashionable_Sack','Fashion Hip Sack','5','20','10','700','0','0','0','0','0','263200','63','2','136','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
-REPLACE INTO `item_db` VALUES ('2642','Serin\'s_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2643','Serin\'s_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2642','Serins_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2643','Serins_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2644','The_Sign_','The Sign','5','2','1','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 5; bonus2 bMagicAddRace, RC_All, 5;','','');
REPLACE INTO `item_db` VALUES ('2645','Moonlight_Ring','Moonlight Ring','5','40000','20000','200','0','0','0','0','0','570560576','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('2646','Bunch_Of_Carnation','Bunch of Carnation','5','2','1','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3;','','');
REPLACE INTO `item_db` VALUES ('2647','Nile_Rose','Nile Rose','5','2','1','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,10;','','');
-REPLACE INTO `item_db` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
-REPLACE INTO `item_db` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
-REPLACE INTO `item_db` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2648','Morpheuss_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2649','Morpheuss_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSPrate,5;','','');
+REPLACE INTO `item_db` VALUES ('2650','Morriganes_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2651','Morriganes_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
REPLACE INTO `item_db` VALUES ('2652','Cursed_Lucky_Brooch','Goddess of Fortune\'s Cursed Brooch','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,6; bonus2 bAddEff2,Eff_Curse,50;','','');
REPLACE INTO `item_db` VALUES ('2653','Sacrifice_Ring','Sacrifice Ring','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2654','Shinobi\'s_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','570560576','63','2','136','0','30',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','','');
+REPLACE INTO `item_db` VALUES ('2654','Shinobis_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','570560576','63','2','136','0','30',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','18446744073709551614','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2656','Hyper_Changer','Armor Charm','5','20000','10000','1000','0','0','0','0','0','414946','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50;','','');
REPLACE INTO `item_db` VALUES ('2657','Lab_Passport','Laboratory Permit','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -1804,7 +1819,7 @@ REPLACE INTO `item_db` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200'
REPLACE INTO `item_db` VALUES ('2665','Ring_Of_Exorcism','Exorcising Ring','5','20','10','500','0','0','0','0','0','33040','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5;','','');
REPLACE INTO `item_db` VALUES ('2666','Lamp_Of_Hope','Lantern of Hope','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bResEff,Eff_Blind,1000;','','');
REPLACE INTO `item_db` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','18446744073709551614','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','','');
-REPLACE INTO `item_db` VALUES ('2668','Women\'s_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2668','Womens_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2669','Golden_Necklace_','RJC Necklace','5','30000','15000','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,10;','','');
REPLACE INTO `item_db` VALUES ('2670','Ring_Of_Longing','Ring of Longing','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','136','0','30',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5;','','');
REPLACE INTO `item_db` VALUES ('2671','Thimble_Of_Archer_','Bow Thimble','5','10000','5000','100','0','0','0','0','1','526344','63','2','136','0','65',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,3;','','');
@@ -1917,7 +1932,7 @@ REPLACE INTO `item_db` VALUES ('2777','Shaman_Ring','Shaman Ring','5','20','10',
REPLACE INTO `item_db` VALUES ('2778','Shaman_Earing','Shaman Earrings','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('2779','Dark_Knight_Belt','Dark Knight Belt','5','20','10','500','0','0','1','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('2780','Dark_Knight_Glove','Dark Knight Glove','5','20','10','500','0','0','1','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bAspdRate,2; }\",10,10000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\";','','');
-REPLACE INTO `item_db` VALUES ('2781','Aumdura\'s_Grace','Aumdura\'s Benefit','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,1;','','');
+REPLACE INTO `item_db` VALUES ('2781','Aumduras_Grace','Aumdura\'s Benefit','5','20','10','100','0','0','1','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2782','Ring_Of_Wise_King','Ring of the Ancient Wise King','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50; bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('2783','Eyes_Stone_Ring','Eye Stone Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','70',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,2; bonus bMaxSP,25;','','');
REPLACE INTO `item_db` VALUES ('2784','Oh_Holy_Night','Christmas Musicbox','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill ALL_WEWISH,1;','','');
@@ -1934,7 +1949,7 @@ REPLACE INTO `item_db` VALUES ('2794','Magic_Stone_Ring','Magic Stone Ring','5',
REPLACE INTO `item_db` VALUES ('2795','Green_Apple_Ring','Green Apple Ring','5','0','0','0','0','0','0','0','0','1040256','56','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(JobLevel<30) { bonus bAllStats,6-(JobLevel/5); }','','');
REPLACE INTO `item_db` VALUES ('2796','Magical_Stone','Magical Stone','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,2047,10; bonus2 bAddDefClass,2048,-10; bonus3 bAddClassDropItem,6152,2047,70;','','');
REPLACE INTO `item_db` VALUES ('2797','Magical_Stone_','Magical Stone','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddDamageClass,2049,10; bonus2 bAddDefClass,2050,-10; bonus3 bAddClassDropItem,6151,2049,70;','','');
-REPLACE INTO `item_db` VALUES ('2798','Will_Of_Exhausted_Angel','Will Of Exhausted Warrior','5','0','0','200','0','0','0','0','0','33024','63','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_arch02\") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; }','','');
+REPLACE INTO `item_db` VALUES ('2798','Will_Of_Exhausted_Angel','Will Of Exhausted Warrior','5','0','0','200','0','0','0','0','0','33024','63','2','136','0','99',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_arch02\") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; }','','');
REPLACE INTO `item_db` VALUES ('2799','Kuirpenring','Ring of Protection','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('2800','Accelerator','Accelerator','5','100000','50000','100','0','0','0','0','1','1024','56','2','136','0','99',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('2801','Hovering_Booster','Hovering Booster','5','100000','50000','2000','0','0','0','0','1','1024','56','2','136','0','99',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
@@ -1969,7 +1984,7 @@ REPLACE INTO `item_db` VALUES ('2829','Greed_Clip','Greed Clip','5','0','0','0',
REPLACE INTO `item_db` VALUES ('2830','Magingiorde_C','Ephemeral Magingiorde','5','20','10','0','0','0','2','0','0','18446744073709551615','63','2','136','0','94',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,40; bonus bMdef,7;','','');
REPLACE INTO `item_db` VALUES ('2831','Brysinggamen_C','Ephemeral Brysinggamen','5','20','10','0','0','0','1','0','0','18446744073709551615','63','2','136','0','94',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,6; bonus bInt,6; bonus bVit,6; bonus bAgi,6; bonus bLuk,10; bonus bMdef,5; bonus bHealPower,6;','','');
REPLACE INTO `item_db` VALUES ('2832','Freyja_Ring','Freya Ring R','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('2833','Odin\'s_Recall','Odin Recall R','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
+REPLACE INTO `item_db` VALUES ('2833','Odins_Recall','Odin Recall R','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
REPLACE INTO `item_db` VALUES ('2834','F_All_In_One_Ring','All In One Ring','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bNoCastCancel,0; bonus bVariableCastrate,10; skill AL_HEAL,1; skill AL_TELEPORT,1;','','');
REPLACE INTO `item_db` VALUES ('2835','F_Critical_Ring_C','Critical Ring','5','1','0','0','0','0','0','0','0','18446744073709551614','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,10;','','');
REPLACE INTO `item_db` VALUES ('2836','F_Glove_C','Rental Glove','5','1','0','0','0','0','0','0','0','18446744073709551614','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,4;','','');
@@ -2036,10 +2051,10 @@ REPLACE INTO `item_db` VALUES ('2896','Medal_Of_Valor2','Medal Of Valor2','5','0
REPLACE INTO `item_db` VALUES ('2897','2011RWC_Necklace_J','RWC Necklace','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 5; bonus bMatkRate,5; bonus2 bExpAddRace, RC_All, 1;','','');
REPLACE INTO `item_db` VALUES ('2898','Black_Rosary','Black Rosary','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15;','','');
REPLACE INTO `item_db` VALUES ('2899','Sound_Amplifier','Sound Amplifier','5','20','10','100','0','0','0','0','1','526336','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_METALICSOUND,150; bonus2 bSkillUseSP,WM_METALICSOUND,-60; bonus bVariableCastrate,-50;','','');
-REPLACE INTO `item_db` VALUES ('2900','Morrigane\'s_Belt_','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
-REPLACE INTO `item_db` VALUES ('2901','Morrigane\'s_Pendant_','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
-REPLACE INTO `item_db` VALUES ('2902','Morpheus\'s_Ring_','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','1','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
-REPLACE INTO `item_db` VALUES ('2903','Morpheus\'s_Armlet_','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','1','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('2900','Morriganes_Belt_','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2901','Morriganes_Pendant_','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','1','18446744073709551614','63','2','136','0','61',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bCritical,3;','','');
+REPLACE INTO `item_db` VALUES ('2902','Morpheuss_Ring_','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','1','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('2903','Morpheuss_Armlet_','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','1','18446744073709551614','63','2','136','0','33',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('2904','Naqsh','At Lorient','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2905','Super_Ora_Ora','Ora Ora Very Strong','5','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2906','Happy_Gauntlet','Gloves of Fortune','5','20','10','1000','0','0','3','0','1','18446744073709551615','63','2','136','0','70',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
@@ -2069,7 +2084,7 @@ REPLACE INTO `item_db` VALUES ('2936','Recovery_Ring','Rings of Recovery','5','2
REPLACE INTO `item_db` VALUES ('2940','Ninja_Manual','Ninja Tutorial','5','0','0','100','0','0','0','0','0','1','47','2','136','0','1','12','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,100; skill NJ_UTSUSEMI,1; skill NJ_KOUENKA,1; skill NJ_SYURIKEN,1;','','');
REPLACE INTO `item_db` VALUES ('2941','Gunslinger_Manual','Gunslinger Tutorial','5','0','0','100','0','0','0','0','0','1','47','2','136','0','1','12','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,100; skill GS_GLITTERING,1; skill GS_ADJUSTMENT,1; skill GS_MADNESSCANCEL,1; skill GS_INCREASING,1;','','');
REPLACE INTO `item_db` VALUES ('2942','Taekwon_Manual','Taekwon Tutorial','5','0','0','100','0','0','0','0','0','1','47','2','136','0','1','12','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,100; skill TK_SEVENWIND,4; skill TK_JUMPKICK,5;','','');
-REPLACE INTO `item_db` VALUES ('2944','TE_Ring_of_Protection','TE Ring of Protection','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; bonus2 bAddRaceTolerance,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('2944','TE_Ring_Of_Protection','TE Ring of Protection','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; bonus2 bAddRaceTolerance,RC_Player,5;','','');
REPLACE INTO `item_db` VALUES ('2945','TE_Ring_Of_Rage','TE Rage Of Ring','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5;','','');
REPLACE INTO `item_db` VALUES ('2946','TE_Ring_Of_Defiance','TE Ring Of Defiance','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','40',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bAddRaceTolerance,RC_Player,5;','','');
REPLACE INTO `item_db` VALUES ('2949','Silversmith_Bracelet','Silversmith Bracelet','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','136','0','60',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats, 1; bonus bMdef, 3; skill SA_SPELLBREAKER,5;','','');
@@ -2080,18 +2095,18 @@ REPLACE INTO `item_db` VALUES ('2953','Kvasir_Ring_Green','Kvasir Ring Green','5
REPLACE INTO `item_db` VALUES ('2954','Kvasir_Ring_Brown','Kvasir Ring Brown','5','20000','10000','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; skill \"ECL_SEQUOIADUST\",1;','','');
REPLACE INTO `item_db` VALUES ('2959','Fidelity_Necklace','Fidelity Necklace','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','136','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bSubRace,RC_Brute,3;','','');
REPLACE INTO `item_db` VALUES ('2960','Badge_Of_Manny','Badge Of Manny','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
-REPLACE INTO `item_db` VALUES ('2963','Physical_Enhancer_Ring','Physical Enhancer Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,5;','','');
-REPLACE INTO `item_db` VALUES ('2964','Magic_Intensifier_Ring','Magic Intensifier Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,5;','','');
+REPLACE INTO `item_db` VALUES ('2963','Body_Power_Up_Ring','Physical Enhancer Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,5;','','');
+REPLACE INTO `item_db` VALUES ('2964','Ring_Of_Spell_Explosion','Magic Intensifier Ring','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','90',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,5;','','');
REPLACE INTO `item_db` VALUES ('2966','RWC_2012_Ring','RWC 2012 Ring','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 1;','','');
REPLACE INTO `item_db` VALUES ('2967','RWC_2012_Ring_','Chambered RWC 2012 Ring','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_All, 1;','','');
REPLACE INTO `item_db` VALUES ('2968','RWC_2012_Pendant','RWC 2012 Pendant','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2969','RWC_2012_Pendant_','Chambered RWC 2012 Pendant','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2971','Pocket_Watch__','Pocket Watch','5','20','10','200','0','0','0','0','1','8454660','3','2','136','0','80',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7;','','');
-REPLACE INTO `item_db` VALUES ('2981','Brave_Ring','Brave Ring','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','136','0','160',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('2981','RingOfHero','Brave Ring','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','136','0','160',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('2986','Snake_Ring','Snake Ring','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('2987','Snake_Pendant','Snake Pendant','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,3; bonus bLuk,2; bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('2988','Ozs_New_Wing_Ring','Oz\'s New Wing Ring','5','62000','31000','100','0','0','0','0','1','524288','56','1','136','0','130',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-25;','','');
-REPLACE INTO `item_db` VALUES ('2989','Bloody_Floral_Decoration_Bracelet','Bloody Floral Decoration Bracelet','4','62000','31000','100','0','0','0','0','1','524288','56','2','136','0','130',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-25;','','');
+REPLACE INTO `item_db` VALUES ('2988','Winged_Ring_Of_Newoz','Oz\'s New Wing Ring','5','62000','31000','100','0','0','0','0','1','524288','56','1','136','0','130',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-25;','','');
+REPLACE INTO `item_db` VALUES ('2989','Floral_Bracelet_Of_Igu','Bloody Floral Decoration Bracelet','5','62000','31000','100','0','0','0','0','1','524288','56','2','136','0','130',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-25;','','');
REPLACE INTO `item_db` VALUES ('2997','RWC_Gold_Brooch','RWC Gold Brooch','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,20; bonus bMatk,20;','','');
REPLACE INTO `item_db` VALUES ('2999','RWC_Silver_Brooch','RWC Silver Brooch','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300; bonus bMaxSP,30;','','');
REPLACE INTO `item_db` VALUES ('4001','Poring_Card','Poring Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,1;','','');
@@ -2356,7 +2371,7 @@ REPLACE INTO `item_db` VALUES ('4259','Wooden_Golem_Card','Wooden Golem Card','6
REPLACE INTO `item_db` VALUES ('4260','Wootan_Shooter_Card','Wootan Shooter Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Confusion,2000;','','');
REPLACE INTO `item_db` VALUES ('4261','Wootan_Fighter_Card','Wootan Fighter Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,2000;','','');
REPLACE INTO `item_db` VALUES ('4262','Evil_Cloud_Hermit_Card','Cloud Hermit Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddMonsterDropItem,12029,RC_Plant,100;','','');
-REPLACE INTO `item_db` VALUES ('4263','Incant_Samurai_Card','Samurai Spector Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; bonus2 bHPLossRate,666,10000;','','if((Hp<=999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) { heal(1-Hp),0; } else { heal -999,0; }');
+REPLACE INTO `item_db` VALUES ('4263','Incant_Samurai_Card','Samurai Spector Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; bonus2 bHPLossRate,666,10000;','','if((Hp<=999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) { heal(1-Hp),0; } else { heal -999,0; }');
REPLACE INTO `item_db` VALUES ('4264','Wind_Ghost_Card','Wind Ghost Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,WZ_JUPITEL,3+7*(getskilllv(WZ_JUPITEL)==10),20;','','');
REPLACE INTO `item_db` VALUES ('4265','Li_Me_Mang_Ryang_Card','Jing Guai Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddMonsterDropItem,12033,RC_Angel,100;','','');
REPLACE INTO `item_db` VALUES ('4266','Eclipse_Card','Eclipse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
@@ -2539,7 +2554,7 @@ REPLACE INTO `item_db` VALUES ('4442','Tatacho_Card','Tatacho Card','6','20','10
REPLACE INTO `item_db` VALUES ('4443','Aqua_Elemental_Card','Aqua Elemental Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,20; bonus2 bAddEle,Ele_Water,5;','','');
REPLACE INTO `item_db` VALUES ('4444','Draco_Card','Draco Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Earth,20; bonus2 bAddEle,Ele_Earth,5;','','');
REPLACE INTO `item_db` VALUES ('4445','Luciola_Vespa_Card','Luciola Vespa Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Wind,20; bonus2 bAddEle,Ele_Wind,5;','','');
-REPLACE INTO `item_db` VALUES ('4446','Enhanced_Skeleton_Card','Enhanced Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,15; bonus2 bAddEff,Eff_Stun,200; if(BaseLevel>99) { bonus2 bAddEff,Eff_Stun,100; }','','');
+REPLACE INTO `item_db` VALUES ('4446','P_Skeleton_Card','Enhanced Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,15; bonus2 bAddEff,Eff_Stun,200; if(BaseLevel>99) { bonus2 bAddEff,Eff_Stun,100; }','','');
REPLACE INTO `item_db` VALUES ('4447','Centipede_Card','Centipede Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Poison,20; bonus2 bAddEle,Ele_Poison,5;','','');
REPLACE INTO `item_db` VALUES ('4448','Cornus_Card','Cornus Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,20; bonus2 bAddEle,Ele_Holy,5;','','');
REPLACE INTO `item_db` VALUES ('4449','Dark_Shadow_Card','Dark Shadow Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,20; bonus2 bAddEle,Ele_Dark,5;','','');
@@ -2592,7 +2607,7 @@ REPLACE INTO `item_db` VALUES ('4495','Sealed_Amon_Ra_Card','Sealed Amon Ra Card
REPLACE INTO `item_db` VALUES ('4496','Sealed_Drake_Card','Sealed Drake Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('4497','Sealed_Knight_WS_Card','Sealed Stormy Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,WZ_STORMGUST,1,10; bonus2 bAddEff,Eff_Freeze, ((getrefine()>14)?1500:1000);','','');
REPLACE INTO `item_db` VALUES ('4498','Sealed_Lady_Tanee_Card','Sealed Lady Tanee Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,((getrefine()>14)?-50:-60); bonus bMaxSPrate,50; bonus2 bAddMonsterDropItem,513,100; bonus2 bAddItemHealRate,513,((getrefine()>14)?80:50);','','');
-REPLACE INTO `item_db` VALUES ('4499','Sealed_Samurai_Card','Sealed Incantation Samurai Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; if (getrefine()>14) bonus2 bHPLossRate,777,8000; else bonus2 bHPLossRate,888,5000;','','if((Hp<=999) && !getmapflag(strcharinfo(3),mf_pvp) && !getmapflag(strcharinfo(3),mf_pvp_noparty) && !getmapflag(strcharinfo(3),mf_pvp_noguild)) { heal(1-Hp),0; } else { heal -999,0; }');
+REPLACE INTO `item_db` VALUES ('4499','Sealed_Samurai_Card','Sealed Incantation Samurai Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIgnoreDefRace,RC_NonBoss; bonus bHPrecovRate,-100; if (getrefine()>14) bonus2 bHPLossRate,777,8000; else bonus2 bHPLossRate,888,5000;','','if((Hp<=999) && !getmapflag(strcharinfo(PC_MAP),mf_pvp) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noparty) && !getmapflag(strcharinfo(PC_MAP),mf_pvp_noguild)) { heal(1-Hp),0; } else { heal -999,0; }');
REPLACE INTO `item_db` VALUES ('4500','Sealed_Orc_Load_Card','Sealed Orc Lord Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bShortWeaponDamageReturn,((getrefine()>14)?25:15);','','');
REPLACE INTO `item_db` VALUES ('4501','Sealed_B_Magaleta_Card','Sealed High Priest Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus5 bAutoSpellWhenHit,HP_ASSUMPTIO,1,((getrefine()>14)?35:25),BF_WEAPON|BF_MAGIC,0;','','');
REPLACE INTO `item_db` VALUES ('4502','Sealed_B_Harword_Card','Sealed MasterSmith Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>14) { bonus bBreakWeaponRate,800; bonus bBreakArmorRate,600; } else { bonus bBreakWeaponRate,500; bonus bBreakArmorRate,400; }','','');
@@ -2639,20 +2654,20 @@ REPLACE INTO `item_db` VALUES ('4542','SLD_Detale_Card','SLD Detale Card','6','2
REPLACE INTO `item_db` VALUES ('4543','SLD_Garm_Card','Sealed Garm Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEffWhenHit,Eff_Freeze,((getrefine()>14)?4000:2500);','','');
REPLACE INTO `item_db` VALUES ('4544','SLD_Dark_Snake_Card','Sealed Dark Snake Lord Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; if (getrefine()>14) { bonus2 bResEff,Eff_Blind,7500; bonus2 bResEff,Eff_Curse,7500; } else { bonus2 bResEff,Eff_Blind,5000; bonus2 bResEff,Eff_Curse,5000; }','','');
REPLACE INTO `item_db` VALUES ('4545','Novice_Poring_Card','Novice Poring Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
-REPLACE INTO `item_db` VALUES ('4546','Val\'khiri_Card','Val\'khiri Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('4547','Enhanced_Byorgue_Card','Enhanced Byorgue Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseJob == Job_Rogue) { bonus bMatkRate,10; bonus2 bAddRace, RC_All, 10; } bonus bMaxHPrate,getrefine()/2; bonus3 bAddEffOnSkill,SC_BODYPAINT,Eff_Confusion,100;','','');
-REPLACE INTO `item_db` VALUES ('4548','Enhanced_Salamander_Card','Enhanced Salamander Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WZ_FIREPILLAR,40; bonus2 bSkillAtk,WZ_METEOR,40;','','');
+REPLACE INTO `item_db` VALUES ('4546','Valkhiri_Card','Val\'khiri Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('4547','Upd_Byorgue_Card','Enhanced Byorgue Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseJob == Job_Rogue) { bonus bMatkRate,10; bonus2 bAddRace, RC_All, 10; } bonus bMaxHPrate,getrefine()/2; bonus3 bAddEffOnSkill,SC_BODYPAINT,Eff_Confusion,100;','','');
+REPLACE INTO `item_db` VALUES ('4548','Upd_Salamander_Card','Enhanced Salamander Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WZ_FIREPILLAR,40; bonus2 bSkillAtk,WZ_METEOR,40;','','');
REPLACE INTO `item_db` VALUES ('4549','Upd_Maya_Puple_Card','Upd Maya Puple Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bIntravision,0; bonus bAllStats,1; skill AL_RUWACH,1;','','');
REPLACE INTO `item_db` VALUES ('4550','Upd_Bow_Guardian_Card','Upd Bow Guardian Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==11) { bonus2 bSkillAtk,RA_ARROWSTORM,50; bonus bCritical,25+10*(getequiprefinerycnt(EQI_HAND_R)/4); bonus bHit,5; bonus3 bAutoSpell,HT_PHANTASMIC,1,100; }','','');
-REPLACE INTO `item_db` VALUES ('4551','Enhanced_Necromancer_Card','Enhanced Necromancer Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==10) { bonus bInt,1; bonus bIgnoreMdefRate,2; bonus bIgnoreMdefRate,getrefine()/4; }','','');
+REPLACE INTO `item_db` VALUES ('4551','Upd_Necromancer_Card','Enhanced Necromancer Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==10) { bonus bInt,1; bonus bIgnoreMdefRate,2; bonus bIgnoreMdefRate,getrefine()/4; }','','');
REPLACE INTO `item_db` VALUES ('4552','Manny_Card','Manny Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,10;','','');
REPLACE INTO `item_db` VALUES ('4553','Sid_Card','Sid Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('4554','Diego_Card','Diego Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('4555','Scrat_Card','Scrat Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('4556','Fenrir_Card','Fenrir Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,50; bonus bMatk,(getrefine()*5); bonus bFixedCastrate,-70;','','');
-REPLACE INTO `item_db` VALUES ('4557','Weakened_Fenrir_Card','Weakened Fenrir Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,25;','','');
-REPLACE INTO `item_db` VALUES ('4558','Chun_Tree_Card','Chun Tree Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Earth,20; bonus3 bAutoSpellWhenHit,PR_KYRIE,2,20;','','');
-REPLACE INTO `item_db` VALUES ('4559','Devil_Morocc_Card','Devil Morocc Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,1; bonus bMaxSPrate,-10;','','');
+REPLACE INTO `item_db` VALUES ('4557','Fenrir_Card_','Weakened Fenrir Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,25;','','');
+REPLACE INTO `item_db` VALUES ('4558','Woodie_Card','Chun Tree Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Earth,20; bonus3 bAutoSpellWhenHit,PR_KYRIE,2,20;','','');
+REPLACE INTO `item_db` VALUES ('4559','M_Morocc_Card','Devil Morocc Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,1; bonus bMaxSPrate,-10;','','');
REPLACE INTO `item_db` VALUES ('4560','Clown_Card','Clown Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,20; if(readparam(bVit)>=110) { bonus bFlee,20; } if(getiteminfo(getequipid(EQI_HAND_R),11)==13) { skill BA_POEMBRAGI,10; }','','');
REPLACE INTO `item_db` VALUES ('4561','Professor_Card','Professor Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,7; if(readparam(bDex)>=110) { bonus bMatkRate,7; } bonus5 bAutoSpellWhenHit,SA_LANDPROTECTOR,5,70,BF_MAGIC,0;','','');
REPLACE INTO `item_db` VALUES ('4562','Champion_Card','Champion Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,7; if(readparam(bAgi)>=110) { bonus bAtkRate,7; } bonus5 bAutoSpellWhenHit,MO_INVESTIGATE,5,70,BF_WEAPON,1;','','');
@@ -2661,19 +2676,19 @@ REPLACE INTO `item_db` VALUES ('4564','Stalker_Card','Stalker Card','6','20','10
REPLACE INTO `item_db` VALUES ('4565','Paladin_Card','Paladin Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; if(readparam(bInt)>=110) { bonus bMaxHPrate,10; } bonus5 bAutoSpellWhenHit,CR_GRANDCROSS,10,70,BF_WEAPON,0;','','');
REPLACE INTO `item_db` VALUES ('4566','Gypsy_Card','Gypsy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==13) { skill DC_FORTUNEKISS,10; } bonus bFlee,20; if(readparam(bVit)>=110) { bonus bFlee,20; }','','');
REPLACE INTO `item_db` VALUES ('4567','Alphoccio_Card','Alphoccio Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; if(BaseJob==Job_Bard) { bonus bMaxHPrate,10; bonus bMaxSPrate,5; }','','');
-REPLACE INTO `item_db` VALUES ('4568','Celia_Card','Celia Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; skill SA_ABRACADABRA,1;','','');
+REPLACE INTO `item_db` VALUES ('4568','Ceila_Card','Celia Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; skill SA_ABRACADABRA,1;','','');
REPLACE INTO `item_db` VALUES ('4569','Chen_Card','Chen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; skill MO_CALLSPIRITS,2;','','');
REPLACE INTO `item_db` VALUES ('4570','Flamel_Card','Flamel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; bonus2 bAddItemHealRate,501,200; bonus2 bAddItemHealRate,502,200; bonus2 bAddItemHealRate,503,200; bonus2 bAddItemHealRate,504,200;','','');
REPLACE INTO `item_db` VALUES ('4571','Gertie_Card','Gertie Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; skill RG_CLOSECONFINE,1;','','');
REPLACE INTO `item_db` VALUES ('4572','Randel_Card','Randel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; skill CR_AUTOGUARD,3;','','');
REPLACE INTO `item_db` VALUES ('4573','Trentini_Card','Trentini Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,10; if(BaseJob==Job_Dancer) { bonus bMaxHPrate,10; bonus bMaxSPrate,5; }','','');
-REPLACE INTO `item_db` VALUES ('4574','General_Daehyon_Card','General Daehyon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if((getiteminfo(getequipid(EQI_HAND_R),11)==3)||(getiteminfo(getequipid(EQI_HAND_R),11)==4)) { bonus bBaseAtk,100; }','','');
-REPLACE INTO `item_db` VALUES ('4575','Armed_Guard_Soheon_Card','Armed Guard Soheon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),11)==1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } }','','');
+REPLACE INTO `item_db` VALUES ('4574','Daehyon_Card','General Daehyon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if((getiteminfo(getequipid(EQI_HAND_R),11)==3)||(getiteminfo(getequipid(EQI_HAND_R),11)==4)) { bonus bBaseAtk,100; }','','');
+REPLACE INTO `item_db` VALUES ('4575','Soheon_Card','Armed Guard Soheon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),11)==1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } }','','');
REPLACE INTO `item_db` VALUES ('4576','Gioia_Card','Gioia Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAtkEle,Ele_Wind,100; bonus2 bMagicAtkEle,Ele_Ghost,100; bonus2 bSubEle,Ele_Neutral,-30; bonus2 bSubEle,Ele_Water,-30; bonus2 bSubEle,Ele_Earth,-30; bonus2 bSubEle,Ele_Fire,-30; bonus2 bSubEle,Ele_Wind,-30; bonus2 bSubEle,Ele_Poison,-30; bonus2 bSubEle,Ele_Holy,-30; bonus2 bSubEle,Ele_Dark,-30; bonus2 bSubEle,Ele_Ghost,-30; bonus2 bSubEle,Ele_Undead,-30;','','');
REPLACE INTO `item_db` VALUES ('4577','Elvira_Card','Elvira Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAtkEle,Ele_Wind,20; bonus2 bMagicAtkEle,Ele_Ghost,20;','','');
-REPLACE INTO `item_db` VALUES ('4578','Angry_Student_Pyuriel_Card','Angry Student Pyuriel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,30; bonus2 bSubRace, RC_All, -10;','','');
-REPLACE INTO `item_db` VALUES ('4579','Warrior_Lola_Card','Warrior Lola Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('4580','Guardian_Kades_Card','Guardian Kades Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,50; bonus2 bSubEle,Ele_Earth,50; bonus2 bSubEle,Ele_Fire,50; bonus2 bSubEle,Ele_Wind,50; bonus2 bSubEle,Ele_Dark,50; bonus2 bSubEle,Ele_Undead,50; bonus2 bSubEle,Ele_Holy,-100; bonus2 bSubEle,Ele_Ghost,-100;','','');
+REPLACE INTO `item_db` VALUES ('4578','Pyuriel_Card','Angry Student Pyuriel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,30; bonus2 bSubRace, RC_All, -10;','','');
+REPLACE INTO `item_db` VALUES ('4579','Lora_Card','Warrior Lola Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getiteminfo(getequipid(EQI_HAND_R),11)==8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('4580','Kades_Card','Guardian Kades Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,50; bonus2 bSubEle,Ele_Earth,50; bonus2 bSubEle,Ele_Fire,50; bonus2 bSubEle,Ele_Wind,50; bonus2 bSubEle,Ele_Dark,50; bonus2 bSubEle,Ele_Undead,50; bonus2 bSubEle,Ele_Holy,-100; bonus2 bSubEle,Ele_Ghost,-100;','','');
REPLACE INTO `item_db` VALUES ('4581','Rudo_Card','Rudo Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ sc_start SC_MOVHASTE_HORSE, 3000, 25; bonus bAgi, 44; heal 0, -40; }\", 3, 3000, 0, \"{ specialeffect2 EF_WIND; }\";','','');
REPLACE INTO `item_db` VALUES ('4582','Bungisngis_Card','Bungisngis Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,getrefine()/2;','','');
REPLACE INTO `item_db` VALUES ('4583','Engkanto_Card','Engkanto Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Poison,30; bonus2 bIgnoreDefRate,RC_Plant,30;','','');
@@ -2689,20 +2704,20 @@ REPLACE INTO `item_db` VALUES ('4592','Buwaya_Card','Buwaya Card','6','20','10',
REPLACE INTO `item_db` VALUES ('4593','Menblatt_Card','Menblatt Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,1*(readparam(bDex)/10);','','');
REPLACE INTO `item_db` VALUES ('4594','Petal_Card','Petal Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,2*(readparam(bLuk)/10);','','');
REPLACE INTO `item_db` VALUES ('4595','Cenere_Card','Cenere Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,2*(readparam(bAgi)/10); bonus bDelayrate,-2*(readparam(bAgi)/10);','','');
-REPLACE INTO `item_db` VALUES ('4596','Antique_Book_Card','Antique Book Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5*(readparam(bInt)/10);','','');
-REPLACE INTO `item_db` VALUES ('4597','Lichtern_Blue_Card','Lichtern Blue Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Water,(getrefine()>=9)?10:5;','','');
-REPLACE INTO `item_db` VALUES ('4598','Lichtern_Green_Card','Lichtern Green Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Ghost,(getrefine()>=9)?10:5;','','');
-REPLACE INTO `item_db` VALUES ('4599','Lichtern_Red_Card','Lichtern Red Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Fire,(getrefine()>=9)?10:5;','','');
-REPLACE INTO `item_db` VALUES ('4600','Lichtern_Yellow_Card','Lichtern Yellow Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Earth,(getrefine()>=9)?10:5;','','');
+REPLACE INTO `item_db` VALUES ('4596','AntiqueBook_Card','Antique Book Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5*(readparam(bInt)/10);','','');
+REPLACE INTO `item_db` VALUES ('4597','LichternB_Card','Lichtern Blue Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Water,(getrefine()>=9)?10:5;','','');
+REPLACE INTO `item_db` VALUES ('4598','LichternY_Card','Lichtern Green Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Ghost,(getrefine()>=9)?10:5;','','');
+REPLACE INTO `item_db` VALUES ('4599','LichternR_Card','Lichtern Red Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Fire,(getrefine()>=9)?10:5;','','');
+REPLACE INTO `item_db` VALUES ('4600','LichternG_Card','Lichtern Yellow Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus2 bMagicAtkEle,Ele_Earth,(getrefine()>=9)?10:5;','','');
REPLACE INTO `item_db` VALUES ('4601','Amdarais_Card','Amdarais Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,15; bonus bMatkRate,15; bonus2 bHPLossRate,666,4000; bonus2 bSPLossRate,66,4000;','','heal -6666,-666;');
-REPLACE INTO `item_db` VALUES ('4602','Realized_Amdarais_Card','Realized Amdarais Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,20; bonus bMatkRate,20; bonus2 bHPLossRate,666,6000; bonus2 bSPLossRate,66,6000;','','heal -6666,-666;');
-REPLACE INTO `item_db` VALUES ('4603','Corruption_Root_Card','Corruption Root Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,20; bonus5 bAutoSpellWhenHit,NPC_WIDESTONE,1,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDESLEEP,1,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDECURSE,1,70,BF_WEAPON,0;','','');
-REPLACE INTO `item_db` VALUES ('4604','Realized_Corruption_Root_Card','Realized Corruption Root Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,NPC_WIDESTONE,2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDESLEEP,2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDECURSE,2,70,BF_WEAPON,0;','','');
-REPLACE INTO `item_db` VALUES ('4605','Agony_Of_Royal_Knight_Card','Agony Of Royal Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine();','','');
-REPLACE INTO `item_db` VALUES ('4606','Grudge_of_Royal_Knight_Card','Grudge of Royal Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2);','','heal 0,-444;');
-REPLACE INTO `item_db` VALUES ('4607','Faithful_Manager_Card','Faithful Manager Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),11) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } }','','');
-REPLACE INTO `item_db` VALUES ('4608','White_Knight_Card','White Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20;','','');
-REPLACE INTO `item_db` VALUES ('4609','Khalitzburg_Knight_Card','Khalitzburg Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25;','','');
+REPLACE INTO `item_db` VALUES ('4602','AmdaraisH_Card','Realized Amdarais Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,20; bonus bMatkRate,20; bonus2 bHPLossRate,666,6000; bonus2 bSPLossRate,66,6000;','','heal -6666,-666;');
+REPLACE INTO `item_db` VALUES ('4603','CorruptionRoot_Card','Corruption Root Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,20; bonus5 bAutoSpellWhenHit,NPC_WIDESTONE,1,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDESLEEP,1,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDECURSE,1,70,BF_WEAPON,0;','','');
+REPLACE INTO `item_db` VALUES ('4604','CorruptionRootH_Card','Realized Corruption Root Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,NPC_WIDESTONE,2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDESLEEP,2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,NPC_WIDECURSE,2,70,BF_WEAPON,0;','','');
+REPLACE INTO `item_db` VALUES ('4605','UndeadKnightM_Card','Agony Of Royal Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine();','','');
+REPLACE INTO `item_db` VALUES ('4606','UndeadKnightF_Card','Grudge of Royal Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2);','','heal 0,-444;');
+REPLACE INTO `item_db` VALUES ('4607','FaithfulManager_Card','Faithful Manager Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),11) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } }','','');
+REPLACE INTO `item_db` VALUES ('4608','White_Knightage_Card','White Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20;','','');
+REPLACE INTO `item_db` VALUES ('4609','Khali_Knightage_Card','Khalitzburg Knight Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25;','','');
REPLACE INTO `item_db` VALUES ('4610','Sarah_Card','Sarah Card','6','10','5','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('4625','Timeholder_Card','Timeholder Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,20; bonus bUseSPrate,10;','','');
REPLACE INTO `item_db` VALUES ('4626','Big_Ben_Card','Big Ben Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Formless,5; bonus2 bMagicAddRace,RC_Demon,5;','','');
@@ -2712,32 +2727,32 @@ REPLACE INTO `item_db` VALUES ('4629','Arc_Elder_Card','Arc Elder Card','6','20'
REPLACE INTO `item_db` VALUES ('4630','Time_Keeper_Card','Time Keeper Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,NPC_WIDECURSE,2,20;','','');
REPLACE INTO `item_db` VALUES ('4631','Owl_Viscount_Card','Owl Viscount Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,3;','','');
REPLACE INTO `item_db` VALUES ('4632','Owl_Marquees_Card','Owl Marquees Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getskilllv(SA_VIOLENTGALE)==5) { bonus5 bAutoSpell,SA_VIOLENTGALE,5,20,BF_WEAPON,0; } else bonus5 bAutoSpell,SA_VIOLENTGALE,1,20,BF_WEAPON,0;','','');
-REPLACE INTO `item_db` VALUES ('4633','Enhanced_Archer_Skeleton_Card','Enhanced Archer Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,10; if(BaseLevel>99) { bonus bLongAtkRate,2; }','','');
-REPLACE INTO `item_db` VALUES ('4634','Enhanced_Soldier_Skeleton_Card','Enhanced Soldier Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,9; if(BaseLevel>99) { bonus bCritical,1; }','','');
-REPLACE INTO `item_db` VALUES ('4635','Enhanced_Amdarais_Card','Enhanced Amdarais Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,getequiprefinerycnt(EQI_ARMOR)*10; bonus bFlee,-(getequiprefinerycnt(EQI_ARMOR)*2); if(BaseLevel>99) { bonus bMaxHP,500; }','','');
+REPLACE INTO `item_db` VALUES ('4633','P_Archer_Skeleton_Card','Enhanced Archer Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,10; if(BaseLevel>99) { bonus bLongAtkRate,2; }','','');
+REPLACE INTO `item_db` VALUES ('4634','P_Soldier_Skeleton_Card','Enhanced Soldier Skeleton Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,9; if(BaseLevel>99) { bonus bCritical,1; }','','');
+REPLACE INTO `item_db` VALUES ('4635','P_Amdarais_Card','Enhanced Amdarais Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,getequiprefinerycnt(EQI_ARMOR)*10; bonus bFlee,-(getequiprefinerycnt(EQI_ARMOR)*2); if(BaseLevel>99) { bonus bMaxHP,500; }','','');
REPLACE INTO `item_db` VALUES ('4636','Bijou_Card','Bijou Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Freeze,10000; bonus bAtkRate,10; bonus bMatkRate,10;','','');
-REPLACE INTO `item_db` VALUES ('4637','Immortal_Corps_Card','Immortal Corps Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPGainValue,50; bonus bSPGainValue,5; bonus bHPrecovRate,-100;','','heal -1000,100;');
+REPLACE INTO `item_db` VALUES ('4637','Immortal_Corpse_Card','Immortal Corps Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPGainValue,50; bonus bSPGainValue,5; bonus bHPrecovRate,-100;','','heal -1000,100;');
REPLACE INTO `item_db` VALUES ('4638','Watcher_Card','Watcher Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,30; /* When attacked by enemy, drain 5 SP from user. */','','');
REPLACE INTO `item_db` VALUES ('4639','Taffy_Card','Taffy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,1;','','');
REPLACE INTO `item_db` VALUES ('4640','Frozen_Wolf_Card','Frozen Wolf Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,1;','','');
REPLACE INTO `item_db` VALUES ('4641','Zombie_Guard_Card','Zombie Guard Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPrecovRate,-100; /*Each time you get a physical attack, recover SP by 1.*/','','');
-REPLACE INTO `item_db` VALUES ('4642','Infinite_Toad_Card','Infinite Toad Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,2; if (getrefine() > 6) bonus bFlee2,2; if (getrefine() > 8) bonus bFlee2,3;','','');
-REPLACE INTO `item_db` VALUES ('4643','Infinite_Vagabond_Wolf_Card','Infinite Vagabond Wolf Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,10; if (getrefine() > 6) bonus bAtk,10; if (getrefine() > 8) bonus bAtk,15;','','');
-REPLACE INTO `item_db` VALUES ('4644','Infinite_Vocal_Card','Infinite Vocal Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; if (getrefine() > 6) bonus bMdef,10; if (getrefine() > 8) bonus bMdef,15;','','');
-REPLACE INTO `item_db` VALUES ('4645','Infinite_Eclipse_Card','Infinite Eclipse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300; if (getrefine() > 6) bonus bMaxHP,300; if (getrefine() > 8) bonus bMaxHP,400;','','');
-REPLACE INTO `item_db` VALUES ('4646','Infinite_Chimera_Card','Infinite Chimera Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,8; bonus bMaxSPrate,4;','','');
-REPLACE INTO `item_db` VALUES ('4647','Infinite_Osiris_Card','Infinite_Osiris_Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPGainValue,300;','','');
-REPLACE INTO `item_db` VALUES ('4648','Infinite_Eddga_Card','Infinite_Eddga_Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpellWhenHit,SM_PROVOKE,10,500;','','');
-REPLACE INTO `item_db` VALUES ('4649','Infinite_Phreeoni_Card','Infinite Phreeoni Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,100;','','');
-REPLACE INTO `item_db` VALUES ('4650','Infinite_Orc_Hero_Card','Infinite Orc Hero Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus3 bAddEffWhenHit,Eff_Stun,10000,BF_MAGIC; /* NOTE: Works only on monsters, going to test further in Official servers if also works on players. [Frost] */','','');
-REPLACE INTO `item_db` VALUES ('4651','Infinite_Tao_Gunka_Card','Infinite Tao Gunka Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,10000; bonus bAgi,-10;','','');
-REPLACE INTO `item_db` VALUES ('4652','Nightmare_Amon_Ra_Card','Nightmare Amon Ra Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddEle,Ele_Dark,50; bonus2 bMagicAddEle,Ele_Undead,50; bonus2 bMagicAddRace,RC_Demon,50; bonus2 bMagicAddRace,RC_Undead,50;','','');
-REPLACE INTO `item_db` VALUES ('4653','Nightmare_Arclouse_Card','Nightmare Arclouse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Brute,20; bonus2 bSubRace,RC_Undead,20;','','');
-REPLACE INTO `item_db` VALUES ('4654','Nightmare_Mimic_Card','Nightmare Mimic Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Undead,5;','','');
-REPLACE INTO `item_db` VALUES ('4655','Nightmare_Minorous_Card','Nightmare Minorous Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Undead,10;','','');
-REPLACE INTO `item_db` VALUES ('4656','Nightmare_Mummy_Card','Nightmare Mummy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('4657','Nightmare_Ancient_Mummy_Card','Nightmare Ancient Mummy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15; bonus2 bMagicAtkEle,Ele_Fire,3+(getrefine()*3);','','');
-REPLACE INTO `item_db` VALUES ('4658','Nightmare_Verit_Card','Nightmare Verit Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,5; if (getrefine() > 6) bonus bMatkRate,3; if (getrefine() > 8) bonus bMatkRate,2;','','');
+REPLACE INTO `item_db` VALUES ('4642','Min_Toad_Card','Infinite Toad Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,2; if (getrefine() > 6) bonus bFlee2,2; if (getrefine() > 8) bonus bFlee2,3;','','');
+REPLACE INTO `item_db` VALUES ('4643','Min_Vagabond_Wolf_Card','Infinite Vagabond Wolf Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,10; if (getrefine() > 6) bonus bAtk,10; if (getrefine() > 8) bonus bAtk,15;','','');
+REPLACE INTO `item_db` VALUES ('4644','Min_Vocal_Card','Infinite Vocal Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; if (getrefine() > 6) bonus bMdef,10; if (getrefine() > 8) bonus bMdef,15;','','');
+REPLACE INTO `item_db` VALUES ('4645','Min_Eclipse_Card','Infinite Eclipse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300; if (getrefine() > 6) bonus bMaxHP,300; if (getrefine() > 8) bonus bMaxHP,400;','','');
+REPLACE INTO `item_db` VALUES ('4646','Min_Chimera_Card','Infinite Chimera Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,8; bonus bMaxSPrate,4;','','');
+REPLACE INTO `item_db` VALUES ('4647','Min_Osiris_Card','Infinite_Osiris_Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPGainValue,300;','','');
+REPLACE INTO `item_db` VALUES ('4648','Min_Eddga_Card','Infinite_Eddga_Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpellWhenHit,SM_PROVOKE,10,500;','','');
+REPLACE INTO `item_db` VALUES ('4649','Min_Phreeoni_Card','Infinite Phreeoni Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,100;','','');
+REPLACE INTO `item_db` VALUES ('4650','Min_Ork_Hero_Card','Infinite Orc Hero Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus3 bAddEffWhenHit,Eff_Stun,10000,BF_MAGIC; /* NOTE: Works only on monsters, going to test further in Official servers if also works on players. [Frost] */','','');
+REPLACE INTO `item_db` VALUES ('4651','Min_Tao_Gunka_Card','Infinite Tao Gunka Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,10000; bonus bAgi,-10;','','');
+REPLACE INTO `item_db` VALUES ('4652','N_Amon_Ra_Card','Nightmare Amon Ra Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddEle,Ele_Dark,50; bonus2 bMagicAddEle,Ele_Undead,50; bonus2 bMagicAddRace,RC_Demon,50; bonus2 bMagicAddRace,RC_Undead,50;','','');
+REPLACE INTO `item_db` VALUES ('4653','N_Arclouse_Card','Nightmare Arclouse Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Brute,20; bonus2 bSubRace,RC_Undead,20;','','');
+REPLACE INTO `item_db` VALUES ('4654','N_Mimic_Card','Nightmare Mimic Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Undead,5;','','');
+REPLACE INTO `item_db` VALUES ('4655','N_Minorous_Card','Nightmare Minorous Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Undead,10;','','');
+REPLACE INTO `item_db` VALUES ('4656','N_Mummy_Card','Nightmare Mummy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('4657','N_Ancient_Mummy_Card','Nightmare Ancient Mummy Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,15; bonus2 bMagicAtkEle,Ele_Fire,3+(getrefine()*3);','','');
+REPLACE INTO `item_db` VALUES ('4658','N_Verit_Card','Nightmare Verit Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,5; if (getrefine() > 6) bonus bMatkRate,3; if (getrefine() > 8) bonus bMatkRate,2;','','');
REPLACE INTO `item_db` VALUES ('4659','Eggring_Card','Eggring Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bMaxHP,50;','','');
REPLACE INTO `item_db` VALUES ('4660','Scout_Basilisk_Card','Scout Basilisk Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Small,5; bonus2 bSubSize,Size_Medium,5;','','');
REPLACE INTO `item_db` VALUES ('4661','Charge_Basilisk_Card','Charge Basilisk Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Small,-15; bonus2 bSubSize,Size_Medium,20; bonus2 bSubSize,Size_Large,20;','','');
@@ -2745,37 +2760,37 @@ REPLACE INTO `item_db` VALUES ('4662','Big_Eggring_Card','Big Eggring Card','6',
REPLACE INTO `item_db` VALUES ('4663','Leaf_Lunatic_Card','Leaf Lunatic Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,5;','','');
REPLACE INTO `item_db` VALUES ('4664','Grass_Fabre_Card','Grass Fabre Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('4665','Wild_Hornet_Card','Wild Hornet Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,5;','','');
-REPLACE INTO `item_db` VALUES ('4666','Swift_Roda_Frog_Card','Swift Roda Frog Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,10; bonus bMaxHP,300;','','');
+REPLACE INTO `item_db` VALUES ('4666','Sweet_Rodafrog_Card','Swift Roda Frog Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','16','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,10; bonus bMaxHP,300;','','');
REPLACE INTO `item_db` VALUES ('4667','Hunter_Wolf_Card','Hunter Wolf Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','64','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,30;','','');
REPLACE INTO `item_db` VALUES ('4668','Trance_Spore_Card','Trance Spore Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('4669','Jungle_Mandragora_Card','Jungle Mandragora Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddEle,Ele_Wind,3; if (getrefine() > 6) bonus2 bMagicAddEle,Ele_Wind,5; if (getrefine() > 8) bonus2 bMagicAddEle,Ele_Wind,7;','','');
-REPLACE INTO `item_db` VALUES ('4670','Fruit_Pom_Spider','Fruit Pom Spider','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddEle,Ele_Fire,3; if (getrefine() > 6) bonus2 bMagicAddEle,Ele_Fire,5; if (getrefine() > 8) bonus2 bMagicAddEle,Ele_Fire,7;','','');
-REPLACE INTO `item_db` VALUES ('4671','Sorcerer_Celia_Card','Sorcerer Celia Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Sorcerer || Class == Job_Sorcerer_T) { bonus bMaxHPrate,10; bonus bMatkRate,10; }','','');
-REPLACE INTO `item_db` VALUES ('4672','Sura_Chen_Card','Sura Chen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Sura || Class == Job_Sura_T) { bonus bMaxHPrate,10; bonus bAtkRate,10; }','','');
-REPLACE INTO `item_db` VALUES ('4673','Minstrel_Alphoccio_Card','Minstrel Alphoccio Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Minstrel || Class == Job_Minstrel_T) { bonus bMaxHPrate,15; bonus bMaxSPrate,10; }','','');
-REPLACE INTO `item_db` VALUES ('4674','Guillotine_Cross_Eremes_Card','Guillotine Cross Eremes Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T) { bonus bFlee2,10; bonus bAtkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4675','Arch_Bishop_Magaleta_Card','Arch Bishop Magaleta Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T) { bonus bMaxHPrate,10; bonus bHealPower,15; }','','');
-REPLACE INTO `item_db` VALUES ('4676','Ranger_Cecil_Card','Ranger Cecil Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Ranger || Class == Job_Ranger_T) { bonus bCritical,20; bonus bLongAtkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4677','Mechanic_Howard_Card','Merchanic Howard Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Mechanic || Class == Job_Mechanic_T) { bonus bHit,20; bonus bAtkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4678','Warlock_Kathryne_Card','Warlock Kathryne Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Warlock || Class == Job_Warlock_T) { bonus bMdef,80; bonus bMatkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4679','Rune_Knight_Seyren_Card','Rune Knight Seyren Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T) { bonus bAspd,2; bonus bAtkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4680','Royal_Guard_Randel_Card','Royal Guard Randel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T) { bonus bDef,350; bonus bAtkRate,10; }','','');
-REPLACE INTO `item_db` VALUES ('4681','Genetic_Flamel_Card','Genetic Flamel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Genetic || Class == Job_Genetic_T) { bonus bFlee,20; bonus bAtkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4682','Shadow_Chaser_Gertie_Card','Shadow Chaser Gertie Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T) { bonus bAtkRate,5; bonus bMatkRate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4683','Wanderer_Trentini_Card','Wanderer Trentini Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Wanderer || Class == Job_Wanderer_T) { bonus bMaxHPrate,10; bonus bMaxSPrate,15; }','','');
-REPLACE INTO `item_db` VALUES ('4684','True_Eremes_Guile_Card','True Eremes Guile Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GC_CROSSIMPACT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,GC_CROSSIMPACT,50; if (getrefine() >= 10) bonus2 bSkillAtk,GC_CROSSIMPACT,50;','','');
-REPLACE INTO `item_db` VALUES ('4685','True_Margaretha_Sorin_Card','True Margaretha Sorin Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AB_JUDEX,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,AB_JUDEX,50; if (getrefine() >= 10) bonus2 bSkillAtk,AB_JUDEX,50;','','');
-REPLACE INTO `item_db` VALUES ('4686','True_Kathryne_Keyron_Card','True Kathryne Keyron Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WL_HELLINFERNO,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WL_HELLINFERNO,50; if (getrefine() >= 10) bonus2 bSkillAtk,WL_HELLINFERNO,50;','','');
-REPLACE INTO `item_db` VALUES ('4687','True_Cecil_Damon_Card','True Cecil Damon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,RA_AIMEDBOLT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,RA_AIMEDBOLT,50; if (getrefine() >= 10) bonus2 bSkillAtk,RA_AIMEDBOLT,50;','','');
-REPLACE INTO `item_db` VALUES ('4688','True_Howard_Alt-Eisen_Card','True Howard Alt-Eisen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,NC_POWERSWING,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,NC_POWERSWING,50; if (getrefine() >= 10) bonus2 bSkillAtk,NC_POWERSWING,50;','','');
-REPLACE INTO `item_db` VALUES ('4689','True_Seyren_Windsor_Card','True Seyren Windsor Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,RK_SONICWAVE,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,RK_SONICWAVE,50; if (getrefine() >= 10) bonus2 bSkillAtk,RK_SONICWAVE,50;','','');
-REPLACE INTO `item_db` VALUES ('4690','True_Randel_Lawrence_Card','True Randel Lawrence Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,LG_BANISHINGPOINT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,LG_BANISHINGPOINT,50; if (getrefine() >= 10) bonus2 bSkillAtk,LG_BANISHINGPOINT,50;','','');
-REPLACE INTO `item_db` VALUES ('4691','True_Flamel_Emure_Card','True Flamel Emure Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GN_CARTCANNON,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,GN_CARTCANNON,50; if (getrefine() >= 10) bonus2 bSkillAtk,GN_CARTCANNON,50;','','');
-REPLACE INTO `item_db` VALUES ('4692','True_Celia_Alde_Card','True Celia Alde Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SO_CLOUD_KILL,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SO_CLOUD_KILL,50; if (getrefine() >= 10) bonus2 bSkillAtk,SO_CLOUDKILL,50;','','');
-REPLACE INTO `item_db` VALUES ('4693','True_Chen_Liu_Card','True Chen Liu Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SR_DRAGONCOMBO,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SR_DRAGONCOMBO,50; if (getrefine() >= 10) bonus2 bSkillAtk,SR_DRAGONCOMBO,50;','','');
-REPLACE INTO `item_db` VALUES ('4694','True_Gertie_Card','True Gertie Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SC_FEINTBOMB,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SC_FEINTBOMB,50; if (getrefine() >= 10) bonus2 bSkillAtk,SC_FEINTBOMB,50;','','');
-REPLACE INTO `item_db` VALUES ('4695','True_Trentini_Card','True Trentini Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_METALICSOUND,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WM_METALICSOUND,50; if (getrefine() >= 10) bonus2 bSkillAtk,WM_METALICSOUND,50;','','');
-REPLACE INTO `item_db` VALUES ('4696','True_Alphoccio_Card','True Alphoccio Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_REVERBERATION,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WM_REVERBERATION,50; if (getrefine() >= 10) bonus2 bSkillAtk,WM_REVERBERATION,50;','','');
+REPLACE INTO `item_db` VALUES ('4670','Fruit_Pom_Spider_Card','Fruit Pom Spider','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddEle,Ele_Fire,3; if (getrefine() > 6) bonus2 bMagicAddEle,Ele_Fire,5; if (getrefine() > 8) bonus2 bMagicAddEle,Ele_Fire,7;','','');
+REPLACE INTO `item_db` VALUES ('4671','V_Celia_Card','Sorcerer Celia Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Sorcerer || Class == Job_Sorcerer_T) { bonus bMaxHPrate,10; bonus bMatkRate,10; }','','');
+REPLACE INTO `item_db` VALUES ('4672','V_Chen_Card','Sura Chen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Sura || Class == Job_Sura_T) { bonus bMaxHPrate,10; bonus bAtkRate,10; }','','');
+REPLACE INTO `item_db` VALUES ('4673','V_Alphoccio_Card','Minstrel Alphoccio Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Minstrel || Class == Job_Minstrel_T) { bonus bMaxHPrate,15; bonus bMaxSPrate,10; }','','');
+REPLACE INTO `item_db` VALUES ('4674','V_Eremes_Card','Guillotine Cross Eremes Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T) { bonus bFlee2,10; bonus bAtkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4675','V_Magaleta_Card','Arch Bishop Magaleta Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T) { bonus bMaxHPrate,10; bonus bHealPower,15; }','','');
+REPLACE INTO `item_db` VALUES ('4676','V_Shecil_Card','Ranger Cecil Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Ranger || Class == Job_Ranger_T) { bonus bCritical,20; bonus bLongAtkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4677','V_Harword_Card','Merchanic Howard Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Mechanic || Class == Job_Mechanic_T) { bonus bHit,20; bonus bAtkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4678','V_Katrinn_Card','Warlock Kathryne Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Warlock || Class == Job_Warlock_T) { bonus bMdef,80; bonus bMatkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4679','V_Seyren_Card','Rune Knight Seyren Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T) { bonus bAspd,2; bonus bAtkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4680','V_Randel_Card','Royal Guard Randel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T) { bonus bDef,350; bonus bAtkRate,10; }','','');
+REPLACE INTO `item_db` VALUES ('4681','V_Flamel_Card','Genetic Flamel Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Genetic || Class == Job_Genetic_T) { bonus bFlee,20; bonus bAtkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4682','V_Gertie_Card','Shadow Chaser Gertie Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T) { bonus bAtkRate,5; bonus bMatkRate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4683','V_Trentini_Card','Wanderer Trentini Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','4','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (BaseLevel == 175) bonus bAllStats,10; if (getrefine() >= 10) bonus bAllStats,10; if (Class == Job_Wanderer || Class == Job_Wanderer_T) { bonus bMaxHPrate,10; bonus bMaxSPrate,15; }','','');
+REPLACE INTO `item_db` VALUES ('4684','V_B_Eremes_Card','True Eremes Guile Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GC_CROSSIMPACT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,GC_CROSSIMPACT,50; if (getrefine() >= 10) bonus2 bSkillAtk,GC_CROSSIMPACT,50;','','');
+REPLACE INTO `item_db` VALUES ('4685','V_B_Magaleta_Card','True Margaretha Sorin Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AB_JUDEX,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,AB_JUDEX,50; if (getrefine() >= 10) bonus2 bSkillAtk,AB_JUDEX,50;','','');
+REPLACE INTO `item_db` VALUES ('4686','V_B_Katrinn_Card','True Kathryne Keyron Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WL_HELLINFERNO,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WL_HELLINFERNO,50; if (getrefine() >= 10) bonus2 bSkillAtk,WL_HELLINFERNO,50;','','');
+REPLACE INTO `item_db` VALUES ('4687','V_B_Shecil_Card','True Cecil Damon Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,RA_AIMEDBOLT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,RA_AIMEDBOLT,50; if (getrefine() >= 10) bonus2 bSkillAtk,RA_AIMEDBOLT,50;','','');
+REPLACE INTO `item_db` VALUES ('4688','V_B_Harword_Card','True Howard Alt-Eisen Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,NC_POWERSWING,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,NC_POWERSWING,50; if (getrefine() >= 10) bonus2 bSkillAtk,NC_POWERSWING,50;','','');
+REPLACE INTO `item_db` VALUES ('4689','V_B_Seyren_Card','True Seyren Windsor Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,RK_SONICWAVE,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,RK_SONICWAVE,50; if (getrefine() >= 10) bonus2 bSkillAtk,RK_SONICWAVE,50;','','');
+REPLACE INTO `item_db` VALUES ('4690','V_B_Randel_Card','True Randel Lawrence Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,LG_BANISHINGPOINT,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,LG_BANISHINGPOINT,50; if (getrefine() >= 10) bonus2 bSkillAtk,LG_BANISHINGPOINT,50;','','');
+REPLACE INTO `item_db` VALUES ('4691','V_B_Flamel_Card','True Flamel Emure Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GN_CARTCANNON,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,GN_CARTCANNON,50; if (getrefine() >= 10) bonus2 bSkillAtk,GN_CARTCANNON,50;','','');
+REPLACE INTO `item_db` VALUES ('4692','V_B_Celia_Card','True Celia Alde Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SO_CLOUD_KILL,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SO_CLOUD_KILL,50; if (getrefine() >= 10) bonus2 bSkillAtk,SO_CLOUDKILL,50;','','');
+REPLACE INTO `item_db` VALUES ('4693','V_B_Chen_Card','True Chen Liu Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SR_DRAGONCOMBO,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SR_DRAGONCOMBO,50; if (getrefine() >= 10) bonus2 bSkillAtk,SR_DRAGONCOMBO,50;','','');
+REPLACE INTO `item_db` VALUES ('4694','V_B_Gertie_Card','True Gertie Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,SC_FEINTBOMB,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,SC_FEINTBOMB,50; if (getrefine() >= 10) bonus2 bSkillAtk,SC_FEINTBOMB,50;','','');
+REPLACE INTO `item_db` VALUES ('4695','V_B_Trentini_Card','True Trentini Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_METALICSOUND,50; if (getequipweaponlv(EQI_HAND_R) == 4) bonus2 bSkillAtk,WM_METALICSOUND,50; if (getrefine() >= 10) bonus2 bSkillAtk,WM_METALICSOUND,50;','','');
+REPLACE INTO `item_db` VALUES ('4696','V_B_Alphoccio_Card','True Alphoccio Card','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','2','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50; if (getequipweaponlv(EQI_HAND_R) == 4) { bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50; } if (getrefine() >= 10) { bonus2 bSkillAtk, WM_REVERBERATION_MELEE, 50; bonus2 bSkillAtk, WM_REVERBERATION_MAGIC, 50; }','','');
REPLACE INTO `item_db` VALUES ('4700','Strength1','STR+1','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('4701','Strength2','STR+2','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('4702','Strength3','STR+3','6','20','10','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3;','','');
@@ -2950,81 +2965,81 @@ REPLACE INTO `item_db` VALUES ('4870','SP25','SP+25','6','0','0','0','0','0','0'
REPLACE INTO `item_db` VALUES ('4871','SP75','SP+75','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,75;','','');
REPLACE INTO `item_db` VALUES ('4872','Attack_Delay_2','DelayafterAttack2Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 6;','','');
REPLACE INTO `item_db` VALUES ('4873','Attack_Delay_3','DelayafterAttack3Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 8;','','');
-REPLACE INTO `item_db` VALUES ('4875','Bear\'s_Power','Strength of Bear','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus2 \"{ bonus bStr, 200; bonus2 bHPLossRate, 500, 1000; montransform BIGFOOT, 5000; }\", 20, 5000, BF_WEAPON, \"{ specialeffect2 EF_POTION_BERSERK; showscript \\\"?!!!!\\\"; }\";','','heal 0, -300;');
+REPLACE INTO `item_db` VALUES ('4875','Bears_Power','Strength of Bear','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus2 \"{ bonus bStr, 200; bonus2 bHPLossRate, 500, 1000; montransform BIGFOOT, 5000; }\", 20, 5000, BF_WEAPON, \"{ specialeffect2 EF_POTION_BERSERK; showscript \\\"?!!!!\\\"; }\";','','heal 0, -300;');
REPLACE INTO `item_db` VALUES ('4876','Runaway_Magic','Runaway Magic','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bInt, 200; bonus2 bSPLossRate, 200, 1000; }\", 15, 10000, BF_MAGIC, \"{ specialeffect2 EF_POTION_BERSERK; showscript \\\"YOooooooo!!!!!\\\"; }\";','','heal 0, -2000;');
REPLACE INTO `item_db` VALUES ('4877','Speed_Of_Light','Speed Of Light','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bAspdRate, 100; bonus bFlee2, 100; bonus2 bHPLossRate, 400, 1000; bonus2 bSPLossRate, 40, 1000; }\", 10, 5000, BF_WEAPON, \"{ specialeffect2 EF_FLASHER; }\";','','heal 0, -300;');
REPLACE INTO `item_db` VALUES ('4878','Muscle_Fool','Muscle Fool','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus2 \"{ bonus bDef, 1000; bonus bMatkRate, -50; bonus bAtkRate, -50; }\", 20, 5000, BF_WEAPON, \"{ specialeffect2 EF_MAGNUMBREAK; }\";','','heal 0, -300;');
REPLACE INTO `item_db` VALUES ('4879','Hawkeye','Hawkeye','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bDex, 200; bonus2 bSPLossRate, 50, 1000; }\", 30, 5000, BF_WEAPON, \"{ specialeffect2 EF_FLASHER; }\";','','heal 0, -300;');
REPLACE INTO `item_db` VALUES ('4880','Lucky_Day','Lucky Day','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus2 bAddMonsterDropItem, Treasure_Box, 10; bonus bLuk, 200; }\", 15, 5000, BF_WEAPON | BF_MAGIC, \"{ specialeffect2 EF_MVP; }\"; autobonus2 \"{ bonus2 bAddMonsterDropItem, Treasure_Box, 1; bonus bLuk, 200; }\", 1, 5000, BF_WEAPON | BF_MAGIC, \"{ specialeffect2 EF_MVP; }\";','','heal 0, -300;');
REPLACE INTO `item_db` VALUES ('4881','Attack_Delay_4','DelayafterAttack4Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 10;','','');
-REPLACE INTO `item_db` VALUES ('4882','ATK_1','ATK + 1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 1;','','');
-REPLACE INTO `item_db` VALUES ('4883','MATK_1','MATK + 1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 1;','','');
-REPLACE INTO `item_db` VALUES ('4884','HIT_1','HIT + 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit, 1;','','');
-REPLACE INTO `item_db` VALUES ('4885','Spell_1','Spell 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 5; bonus bVariableCastrate, -3;','','');
-REPLACE INTO `item_db` VALUES ('4886','Spell_2','Spell 2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 10; bonus bVariableCastrate, -3;','','');
-REPLACE INTO `item_db` VALUES ('4887','Spell_3','Spell 3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 15; bonus bVariableCastrate, -3;','','');
-REPLACE INTO `item_db` VALUES ('4888','Spell_4','Spell 4','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 20; bonus bVariableCastrate, -3;','','');
-REPLACE INTO `item_db` VALUES ('4889','Spell_5','Spell 5','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 30; bonus bVariableCastrate, -5;','','');
-REPLACE INTO `item_db` VALUES ('4890','MDEF_1','MDEF+1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 1;','','');
-REPLACE INTO `item_db` VALUES ('4891','MDEF_3','MDEF+3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 3;','','');
-REPLACE INTO `item_db` VALUES ('4892','MDEF_5','MDEF+5','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 5;','','');
-REPLACE INTO `item_db` VALUES ('4893','DEF_15','DEF+15','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 15;','','');
-REPLACE INTO `item_db` VALUES ('4894','ATK_4','ATK + 4%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 4;','','');
-REPLACE INTO `item_db` VALUES ('4895','ATK_5','ATK + 5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 5;','','');
-REPLACE INTO `item_db` VALUES ('4896','MATK_2','MATK + 2%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 2;','','');
-REPLACE INTO `item_db` VALUES ('4897','MATK_3','MATK + 3%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 3;','','');
-REPLACE INTO `item_db` VALUES ('4898','MATK_4','MATK + 4%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 4;','','');
-REPLACE INTO `item_db` VALUES ('4899','MATK_5','MATK + 5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 5;','','');
-REPLACE INTO `item_db` VALUES ('4900','MHP_5','MHP+5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 5;','','');
-REPLACE INTO `item_db` VALUES ('4902','DEF_18','DEF+18','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 18;','','');
-REPLACE INTO `item_db` VALUES ('4903','DEF_21','DEF+21','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 21;','','');
-REPLACE INTO `item_db` VALUES ('4904','ATK_6','ATK+6%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 6;','','');
-REPLACE INTO `item_db` VALUES ('4905','ATK_7','ATK+7%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 7;','','');
-REPLACE INTO `item_db` VALUES ('4906','MATK_6','MATK+6%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 6;','','');
-REPLACE INTO `item_db` VALUES ('4907','MATK_7','MATK+7%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 7;','','');
-REPLACE INTO `item_db` VALUES ('4908','Essence_Of_Evil_Str1','Essence Of Evil STR 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 1; bonus bBaseAtk, 3; bonus bInt, -1;','','');
-REPLACE INTO `item_db` VALUES ('4909','Essence_Of_Evil_Str2','Essence Of Evil STR 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 2; bonus bBaseAtk, 6; bonus bInt, -2;','','');
-REPLACE INTO `item_db` VALUES ('4910','Essence_Of_Evil_Str3','Essence Of Evil STR 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 4; bonus bBaseAtk, 12; bonus bInt, -4;','','');
-REPLACE INTO `item_db` VALUES ('4911','Essence_Of_Evil_Int1','Essence Of Evil INT 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 1; bonus bMatk, 3; bonus bStr, -1;','','');
-REPLACE INTO `item_db` VALUES ('4912','Essence_Of_Evil_Int2','Essence Of Evil INT 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 2; bonus bMatk, 6; bonus bStr, -2;','','');
-REPLACE INTO `item_db` VALUES ('4913','Essence_Of_Evil_Int3','Essence Of Evil INT 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 4; bonus bMatk, 12; bonus bStr, -4;','','');
-REPLACE INTO `item_db` VALUES ('4914','Essence_Of_Evil_Agi1','Essence Of Evil AGI 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 1; bonus bFlee, 2; bonus bVit, -1;','','');
-REPLACE INTO `item_db` VALUES ('4915','Essence_Of_Evil_Agi2','Essence Of Evil AGI 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 2; bonus bFlee, 4; bonus bVit, -2;','','');
-REPLACE INTO `item_db` VALUES ('4916','Essence_Of_Evil_Agi3','Essence Of Evil AGI 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 4; bonus bFlee, 8; bonus bVit, -4;','','');
-REPLACE INTO `item_db` VALUES ('4917','Essence_Of_Evil_Vit1','Essence Of Evil VIT 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 1; bonus bDef, 3; bonus bMdef, 2; bonus bAgi, -1;','','');
-REPLACE INTO `item_db` VALUES ('4918','Essence_Of_Evil_Vit2','Essence Of Evil VIT 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 2; bonus bDef, 6; bonus bMdef, 4; bonus bAgi, -2;','','');
-REPLACE INTO `item_db` VALUES ('4919','Essence_Of_Evil_Vit3','Essence Of Evil VIT 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 4; bonus bDef, 12; bonus bMdef, 8; bonus bAgi, -4;','','');
-REPLACE INTO `item_db` VALUES ('4920','Essence_Of_Evil_Dex1','Essence Of Evil DEX 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 1; bonus bHit, 2; bonus bLuk, -1;','','');
-REPLACE INTO `item_db` VALUES ('4921','Essence_Of_Evil_Dex2','Essence Of Evil DEX 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 2; bonus bHit, 4; bonus bLuk, -2;','','');
-REPLACE INTO `item_db` VALUES ('4922','Essence_Of_Evil_Dex3','Essence Of Evil DEX 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 4; bonus bHit, 8; bonus bLuk, -4;','','');
-REPLACE INTO `item_db` VALUES ('4923','Essence_Of_Evil_Luk1','Essence Of Evil LUK 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 1; bonus bCritical, 1; bonus bDex, -1;','','');
-REPLACE INTO `item_db` VALUES ('4924','Essence_Of_Evil_Luk2','Essence Of Evil LUK 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 2; bonus bCritical, 2; bonus bDex, -2;','','');
-REPLACE INTO `item_db` VALUES ('4925','Essence_Of_Evil_Luk3','Essence Of Evil LUK 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 4; bonus bCritical, 4; bonus bDex, -4;','','');
+REPLACE INTO `item_db` VALUES ('4882','Atk1p','ATK + 1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 1;','','');
+REPLACE INTO `item_db` VALUES ('4883','Matk1p','MATK + 1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 1;','','');
+REPLACE INTO `item_db` VALUES ('4884','HIT1','HIT + 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit, 1;','','');
+REPLACE INTO `item_db` VALUES ('4885','Conjure1','Spell 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 5; bonus bVariableCastrate, -3;','','');
+REPLACE INTO `item_db` VALUES ('4886','Conjure2','Spell 2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 10; bonus bVariableCastrate, -3;','','');
+REPLACE INTO `item_db` VALUES ('4887','Conjure3','Spell 3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 15; bonus bVariableCastrate, -3;','','');
+REPLACE INTO `item_db` VALUES ('4888','Conjure4','Spell 4','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 20; bonus bVariableCastrate, -3;','','');
+REPLACE INTO `item_db` VALUES ('4889','Conjure5','Spell 5','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk, 30; bonus bVariableCastrate, -5;','','');
+REPLACE INTO `item_db` VALUES ('4890','Mdef1','MDEF+1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 1;','','');
+REPLACE INTO `item_db` VALUES ('4891','Mdef3','MDEF+3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 3;','','');
+REPLACE INTO `item_db` VALUES ('4892','Mdef5','MDEF+5','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 5;','','');
+REPLACE INTO `item_db` VALUES ('4893','Def15','DEF+15','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 15;','','');
+REPLACE INTO `item_db` VALUES ('4894','Atk4p','ATK + 4%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 4;','','');
+REPLACE INTO `item_db` VALUES ('4895','Atk5p','ATK + 5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 5;','','');
+REPLACE INTO `item_db` VALUES ('4896','Matk2p','MATK + 2%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 2;','','');
+REPLACE INTO `item_db` VALUES ('4897','Matk3p','MATK + 3%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 3;','','');
+REPLACE INTO `item_db` VALUES ('4898','Matk4p','MATK + 4%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 4;','','');
+REPLACE INTO `item_db` VALUES ('4899','Matk5p','MATK + 5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 5;','','');
+REPLACE INTO `item_db` VALUES ('4900','MHP5','MHP+5%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 5;','','');
+REPLACE INTO `item_db` VALUES ('4902','Def18','DEF+18','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 18;','','');
+REPLACE INTO `item_db` VALUES ('4903','Def21','DEF+21','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef, 21;','','');
+REPLACE INTO `item_db` VALUES ('4904','Atk6p','ATK+6%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 6;','','');
+REPLACE INTO `item_db` VALUES ('4905','Atk7p','ATK+7%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 7;','','');
+REPLACE INTO `item_db` VALUES ('4906','Matk6p','MATK+6%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate, 6;','','');
+REPLACE INTO `item_db` VALUES ('4907','Matk7p','MATK+7%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate, 7;','','');
+REPLACE INTO `item_db` VALUES ('4908','Force1','Essence Of Evil STR 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 1; bonus bBaseAtk, 3; bonus bInt, -1;','','');
+REPLACE INTO `item_db` VALUES ('4909','Force2','Essence Of Evil STR 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 2; bonus bBaseAtk, 6; bonus bInt, -2;','','');
+REPLACE INTO `item_db` VALUES ('4910','Force3','Essence Of Evil STR 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr, 4; bonus bBaseAtk, 12; bonus bInt, -4;','','');
+REPLACE INTO `item_db` VALUES ('4911','Intellect1','Essence Of Evil INT 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 1; bonus bMatk, 3; bonus bStr, -1;','','');
+REPLACE INTO `item_db` VALUES ('4912','Intellect2','Essence Of Evil INT 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 2; bonus bMatk, 6; bonus bStr, -2;','','');
+REPLACE INTO `item_db` VALUES ('4913','Intellect3','Essence Of Evil INT 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 4; bonus bMatk, 12; bonus bStr, -4;','','');
+REPLACE INTO `item_db` VALUES ('4914','Swiftness1','Essence Of Evil AGI 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 1; bonus bFlee, 2; bonus bVit, -1;','','');
+REPLACE INTO `item_db` VALUES ('4915','Swiftness2','Essence Of Evil AGI 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 2; bonus bFlee, 4; bonus bVit, -2;','','');
+REPLACE INTO `item_db` VALUES ('4916','Swiftness3','Essence Of Evil AGI 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi, 4; bonus bFlee, 8; bonus bVit, -4;','','');
+REPLACE INTO `item_db` VALUES ('4917','Tough1','Essence Of Evil VIT 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 1; bonus bDef, 3; bonus bMdef, 2; bonus bAgi, -1;','','');
+REPLACE INTO `item_db` VALUES ('4918','Tough2','Essence Of Evil VIT 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 2; bonus bDef, 6; bonus bMdef, 4; bonus bAgi, -2;','','');
+REPLACE INTO `item_db` VALUES ('4919','Tough3','Essence Of Evil VIT 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 4; bonus bDef, 12; bonus bMdef, 8; bonus bAgi, -4;','','');
+REPLACE INTO `item_db` VALUES ('4920','Artful1','Essence Of Evil DEX 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 1; bonus bHit, 2; bonus bLuk, -1;','','');
+REPLACE INTO `item_db` VALUES ('4921','Artful2','Essence Of Evil DEX 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 2; bonus bHit, 4; bonus bLuk, -2;','','');
+REPLACE INTO `item_db` VALUES ('4922','Artful3','Essence Of Evil DEX 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 4; bonus bHit, 8; bonus bLuk, -4;','','');
+REPLACE INTO `item_db` VALUES ('4923','Fortune1','Essence Of Evil LUK 1','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 1; bonus bCritical, 1; bonus bDex, -1;','','');
+REPLACE INTO `item_db` VALUES ('4924','Fortune2','Essence Of Evil LUK 2','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 2; bonus bCritical, 2; bonus bDex, -2;','','');
+REPLACE INTO `item_db` VALUES ('4925','Fortune3','Essence Of Evil LUK 3','6','0','0','10','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk, 4; bonus bCritical, 4; bonus bDex, -4;','','');
REPLACE INTO `item_db` VALUES ('4926','Critical1','Critical1Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 1;','','');
REPLACE INTO `item_db` VALUES ('4927','HP50','HP+50','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 50;','','');
REPLACE INTO `item_db` VALUES ('4928','SP10','SP+10','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP, 10;','','');
-REPLACE INTO `item_db` VALUES ('4929','MSP_1','MSP+1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate, 1;','','');
-REPLACE INTO `item_db` VALUES ('4930','Inc_Recovery','Increase Recovery','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate, 2;','','');
-REPLACE INTO `item_db` VALUES ('4931','Healing_10','Healing 10','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPRegenRate, 10, 10000;','','');
-REPLACE INTO `item_db` VALUES ('4932','SP_Recovery_1','SP Recovery 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPGainValue, 1;','','');
-REPLACE INTO `item_db` VALUES ('4933','Neutral1','Neutral Properties Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 1;','','');
-REPLACE INTO `item_db` VALUES ('4934','Neutral2','Neutral Properties Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 2;','','');
-REPLACE INTO `item_db` VALUES ('4935','Neutral3','Neutral Properties Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 3;','','');
-REPLACE INTO `item_db` VALUES ('4936','L_Atk1','Large Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Large, 1;','','');
-REPLACE INTO `item_db` VALUES ('4937','M_Atk1','Medium Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Medium, 1;','','');
-REPLACE INTO `item_db` VALUES ('4938','S_Atk1','Small Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Small, 1;','','');
+REPLACE INTO `item_db` VALUES ('4929','MSP1','MSP+1%','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate, 1;','','');
+REPLACE INTO `item_db` VALUES ('4930','HEAL2','Increase Recovery','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate, 2;','','');
+REPLACE INTO `item_db` VALUES ('4931','HEALHP1','Healing 10','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPRegenRate, 10, 10000;','','');
+REPLACE INTO `item_db` VALUES ('4932','HEALSP1','SP Recovery 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPGainValue, 1;','','');
+REPLACE INTO `item_db` VALUES ('4933','Tolerance_Not1','Neutral Properties Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 1;','','');
+REPLACE INTO `item_db` VALUES ('4934','Tolerance_Not2','Neutral Properties Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 2;','','');
+REPLACE INTO `item_db` VALUES ('4935','Tolerance_Not3','Neutral Properties Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle, Ele_Neutral, 3;','','');
+REPLACE INTO `item_db` VALUES ('4936','ATK_BIG1','Large Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Large, 1;','','');
+REPLACE INTO `item_db` VALUES ('4937','ATK_MEDIUM1','Medium Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Medium, 1;','','');
+REPLACE INTO `item_db` VALUES ('4938','ATK_SMALL1','Small Attack 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize, Size_Small, 1;','','');
REPLACE INTO `item_db` VALUES ('4939','Critical2','Critical2Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 2;','','');
REPLACE INTO `item_db` VALUES ('4940','Critical3','Critical3Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 4;','','');
REPLACE INTO `item_db` VALUES ('4941','Critical4','Critical4Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 6;','','');
-REPLACE INTO `item_db` VALUES ('4942','Critical_1','Critical Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 3;','','');
-REPLACE INTO `item_db` VALUES ('4943','Shedding2','Shedding2Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2, 4;','','');
-REPLACE INTO `item_db` VALUES ('4944','Shedding3','Shedding3Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2, 5;','','');
-REPLACE INTO `item_db` VALUES ('4945','Saving1','Saving Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -2;','','');
-REPLACE INTO `item_db` VALUES ('4946','Saving2','Saving Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -4;','','');
-REPLACE INTO `item_db` VALUES ('4947','Saving3','Saving Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -6;','','');
-REPLACE INTO `item_db` VALUES ('4948','Delay1','Delay After Skill Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -2;','','');
-REPLACE INTO `item_db` VALUES ('4949','Delay2','Delay After Skill Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -4;','','');
-REPLACE INTO `item_db` VALUES ('4950','Delay3','Delay After Skill Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -6;','','');
+REPLACE INTO `item_db` VALUES ('4942','Dodge1','Critical Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical, 3;','','');
+REPLACE INTO `item_db` VALUES ('4943','Dodge2','Shedding2Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2, 4;','','');
+REPLACE INTO `item_db` VALUES ('4944','Dodge3','Shedding3Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2, 5;','','');
+REPLACE INTO `item_db` VALUES ('4945','Thrift1','Saving Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -2;','','');
+REPLACE INTO `item_db` VALUES ('4946','Thrift2','Saving Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -4;','','');
+REPLACE INTO `item_db` VALUES ('4947','Thrift3','Saving Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, -6;','','');
+REPLACE INTO `item_db` VALUES ('4948','Skill_Delay1','Delay After Skill Lv1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -2;','','');
+REPLACE INTO `item_db` VALUES ('4949','Skill_Delay2','Delay After Skill Lv2','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -4;','','');
+REPLACE INTO `item_db` VALUES ('4950','Skill_Delay3','Delay After Skill Lv3','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate, -6;','','');
REPLACE INTO `item_db` VALUES ('4951','Darkness_Drop','Darkness Drop','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddEle, Ele_Dark, 2, BF_WEAPON | BF_MAGIC; bonus2 bSubEle, Ele_Dark, 1;','','');
REPLACE INTO `item_db` VALUES ('4952','Fire_Drop','Fire Drop','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddEle, Ele_Fire, 2, BF_WEAPON | BF_MAGIC; bonus2 bSubEle, Ele_Fire, 1;','','');
REPLACE INTO `item_db` VALUES ('4953','Water_Drop','Water Drop','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAddEle, Ele_Water, 2, BF_WEAPON | BF_MAGIC; bonus2 bSubEle, Ele_Water, 1;','','');
@@ -3066,8 +3081,8 @@ REPLACE INTO `item_db` VALUES ('4988','Auxiliary_Reactor_MaxHP','Auxiliary React
REPLACE INTO `item_db` VALUES ('4989','Auxiliary_Reactor_MaxSP','Auxiliary_Reactor_MaxHP','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate, 3;','','');
REPLACE INTO `item_db` VALUES ('4990','Auxiliary_Reactor_Frozen','Auxiliary Reactor Frozen','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff, Eff_Freeze, 10000;','','');
REPLACE INTO `item_db` VALUES ('4991','Auxiliary_Reactor_ASPD','Auxiliary Reactor ASPD','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd, 1;','','');
-REPLACE INTO `item_db` VALUES ('4992','HPAbsorb1','HP Absorb 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPDrainRate, 1, 1;','','');
-REPLACE INTO `item_db` VALUES ('4993','SPAbsorb1','SP Absorb 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSPDrainRate, 1, 1;','','');
+REPLACE INTO `item_db` VALUES ('4992','HPdrain1','HP Absorb 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPDrainRate, 1, 1;','','');
+REPLACE INTO `item_db` VALUES ('4993','SPdrain1','SP Absorb 1','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSPDrainRate, 1, 1;','','');
REPLACE INTO `item_db` VALUES ('4994','Rune_Of_Might1','Rune Of Might 1Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bStr, 5; if (getrefine() >= 10) bonus bAtkRate, 10;','','');
REPLACE INTO `item_db` VALUES ('4995','Rune_Of_Might2','Rune Of Might 2Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bStr, 6; if (getrefine() >= 11) { bonus bStr, 1; bonus bAtkRate, 7; }','','');
REPLACE INTO `item_db` VALUES ('4996','Rune_Of_Might3','Rune Of Might 3Lv','6','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1023','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 7) bonus bStr, 7; if (getrefine() >= 12) { bonus bStr, 1; bonus bAtkRate, 8; } if (getrefine() >= 13) { bonus bStr, 1; bonus bAtkRate, 2; }','','');
@@ -3085,11 +3100,11 @@ REPLACE INTO `item_db` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','1
REPLACE INTO `item_db` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','7','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','95','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('5010','Indian_Hair_Piece','Indian Fillet','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','96','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5011','Antenna','Aerial','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','97','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5012','Ph_D_Hat','Ph.D Hat','5','20','10','200','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5013','Horn_Of_Lord_Kaho','Lord Kaho\'s Horn','5','20','10','100','0','0','30','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','99','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20;','','');
REPLACE INTO `item_db` VALUES ('5014','Fin_Helm','Fin Helm','5','20','10','300','0','0','5','0','0','16514','63','2','512','0','65',NULL,'0','100','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5015','Egg_Shell','Egg Shell','5','20','10','200','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5016','Boys_Cap','Boy\'s Cap','5','20','10','100','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5017','Bone_Helm','Bone Helm','5','20','10','800','0','0','15','0','0','279714','63','2','256','0','70',NULL,'1','103','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,-15;','','');
REPLACE INTO `item_db` VALUES ('5018','Feather_Bonnet','Feather Bonnet','5','20','10','300','0','0','8','0','0','526344','63','2','256','0','0',NULL,'1','104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','11','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
@@ -3117,7 +3132,7 @@ REPLACE INTO `item_db` VALUES ('5040','Blush','Blush','5','20','10','100','0','0
REPLACE INTO `item_db` VALUES ('5041','Heart_Hair_Pin','Heart Hairpin','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','18446744073709551614','63','2','256','0','14',NULL,'1','127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','2','0','0','18446744073709551614','63','2','512','0','20',NULL,'0','128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5044','Devil\'s_Wing','Evil Wing Ears','5','20','10','350','0','0','4','0','0','18446744073709551615','63','2','256','0','45',NULL,'1','129','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('5044','Devils_Wing','Evil Wing Ears','5','20','10','350','0','0','4','0','0','18446744073709551615','63','2','256','0','45',NULL,'1','129','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
REPLACE INTO `item_db` VALUES ('5045','Magician_Hat','Magician Hat','5','20','10','500','0','0','6','0','0','8487700','63','2','256','0','50',NULL,'1','130','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50;','','');
REPLACE INTO `item_db` VALUES ('5046','Bongun_Hat','Bongun Hat','5','20','10','300','0','0','5','0','0','18446744073709551615','63','2','769','0','0',NULL,'0','139','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','131','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3141,13 +3156,13 @@ REPLACE INTO `item_db` VALUES ('5064','Leaf_Headgear','Smokie Leaf','5','20','10
REPLACE INTO `item_db` VALUES ('5065','Fish_On_Head','Blue Fish','5','20','10','500','0','0','4','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','149','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Fish,10;','','');
REPLACE INTO `item_db` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','7','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','8','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','151','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('5068','Ear_Of_Devil\'s_Wing','Evil Wing Ears','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('5068','Ear_Of_Devils_Wing','Evil Wing Ears','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','153','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','154','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
REPLACE INTO `item_db` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','2','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','155','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','7','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','156','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex, 2;','','');
-REPLACE INTO `item_db` VALUES ('5074','Ear_Of_Angel\'s_Wing','Angel Wing Ears','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('5074','Ear_Of_Angels_Wing','Angel Wing Ears','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5075','Cowboy_Hat','Cowboy Hat','5','20','10','500','0','0','8','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','159','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5076','Fur_Hat','Beanie','5','20','10','350','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','160','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('5077','Tulip_Hairpin','Tulip Hairpin','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','161','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3199,9 +3214,9 @@ REPLACE INTO `item_db` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15
REPLACE INTO `item_db` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','6','0','1','18446744073709551614','63','2','256','0','65',NULL,'1','254','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','6','0','0','18446744073709551614','63','2','256','0','65',NULL,'1','251','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','','');
REPLACE INTO `item_db` VALUES ('5125','Kiss_Of_Angel','Angel\'s Kiss','5','10000','5000','300','0','0','6','0','1','1','47','2','256','0','50',NULL,'1','255','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPrecovRate,3;','','');
-REPLACE INTO `item_db` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','3','0','0','18446744073709551614','63','2','256','0','33',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
-REPLACE INTO `item_db` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','0','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
-REPLACE INTO `item_db` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','0','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('5126','Morpheuss_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','3','0','0','18446744073709551614','63','2','256','0','33',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('5127','Morriganes_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','0','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
+REPLACE INTO `item_db` VALUES ('5128','Goibnes_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','0','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('5129','Bird_Nest','Bird Nest','5','20','10','400','0','0','2','0','0','18446744073709551615','63','2','256','0','50',NULL,'0','201','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus2 bAddRaceTolerance,RC_Brute,10;','','');
REPLACE INTO `item_db` VALUES ('5130','Lion_Mask','Lion Mask','5','20','10','700','0','0','0','0','0','1040256','63','2','768','0','75',NULL,'1','202','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('5131','Close_Helmet','Close Helmet','5','20','10','1200','0','0','8','0','0','16514','63','2','769','0','75',NULL,'1','203','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMaxHPrate,3;','','');
@@ -3209,7 +3224,7 @@ REPLACE INTO `item_db` VALUES ('5132','Angeling_Hat','Angeling Hat','5','20','10
REPLACE INTO `item_db` VALUES ('5133','Sheep_Hat','Sheep Hat','5','20','10','150','0','0','3','0','0','33040','63','2','256','0','0',NULL,'0','205','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bShortWeaponDamageReturn,5;','','');
REPLACE INTO `item_db` VALUES ('5134','Pumpkin_Hat','Pumpkin-Head','5','20','10','200','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3;','','');
REPLACE INTO `item_db` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','18446744073709551614','63','2','512','0','75',NULL,'0','207','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50;','','');
-REPLACE INTO `item_db` VALUES ('5136','Santa\'s_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
+REPLACE INTO `item_db` VALUES ('5136','Santas_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','1','0','1','18446744073709551614','63','2','256','0','30',NULL,'0','208','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddEff2,Eff_Sleep,10;','','');
REPLACE INTO `item_db` VALUES ('5138','Magic_Eyes','Magic Eyes','5','20','10','300','0','0','3','0','0','8454660','63','2','256','0','30',NULL,'1','209','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bVariableCastrate,-10; bonus bUseSPrate,20;','','');
REPLACE INTO `item_db` VALUES ('5139','Hibiscus','Hibiscus','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','256','0','10',NULL,'0','210','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bInt,1; bonus bMdef,5;','','');
@@ -3380,7 +3395,7 @@ REPLACE INTO `item_db` VALUES ('5303','Flower_Coronet','Flower Crown','5','20','
REPLACE INTO `item_db` VALUES ('5304','Cap_Of_Blindness','Cap Of Blindness','5','20','10','800','0','0','4','0','1','18446744073709551615','63','2','769','0','30',NULL,'1','326','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;','','');
REPLACE INTO `item_db` VALUES ('5305','Pirate_Dagger','Pirate Dagger','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','327','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5;','','');
REPLACE INTO `item_db` VALUES ('5306','Freyja_Crown','Freyja Crown','5','0','0','500','0','0','20','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','328','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5;','','');
-REPLACE INTO `item_db` VALUES ('5307','Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','329','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','','');
+REPLACE INTO `item_db` VALUES ('5307','Carmen_Mirandas_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','329','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','','');
REPLACE INTO `item_db` VALUES ('5308','Brazilian_Flag_Hat','Brazilian Flag Hat','5','20','10','300','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','330','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bSpeedAddRate,25;','','');
REPLACE INTO `item_db` VALUES ('5309','Mahican','Wool Mask','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','769','0','0',NULL,'1','331','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','','');
REPLACE INTO `item_db` VALUES ('5310','Bulb_Hairband','Shining Electric Bulb Hairband','5','20','10','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','332','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Dark,10; skill MG_SIGHT,1;','','sc_end SC_SIGHT;');
@@ -3420,9 +3435,9 @@ REPLACE INTO `item_db` VALUES ('5343','Tayelin_Doll_Hat','Telling Doll Hat','5',
REPLACE INTO `item_db` VALUES ('5344','Binit_Doll_Hat','Bennit Doll Hat','5','0','0','500','0','0','1','0','1','18446744073709551615','63','2','256','0','60',NULL,'0','358','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; autobonus \"{ bonus bAspdRate,5; }\",20,30000,0,\"{ specialeffect2 EF_HASTEUP; }\";','','');
REPLACE INTO `item_db` VALUES ('5345','Debril_Doll_Hat','W Doll Hat','5','0','0','500','0','0','1','0','1','18446744073709551615','63','2','256','0','60',NULL,'0','359','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5;','','');
REPLACE INTO `item_db` VALUES ('5346','Gf_Recruiter_Hat','Gf Recruiter Hat','5','0','0','0','0','0','4','0','0','18446744073709551615','63','2','256','0','10',NULL,'1','360','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','5','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5347','Ph_D_Hat_','Ph.D Hat','5','20','10','200','0','0','5','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5348','Big_Sis_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('5349','Boys_Cap_','Boy\'s Cap','5','20','10','100','0','0','3','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','4','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','74','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5351','Sunflower_','Sunflower','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','37','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Insect,10;','','');
REPLACE INTO `item_db` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','4','0','0','18446744073709551614','63','2','256','0','38',NULL,'1','361','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3494,7 +3509,7 @@ REPLACE INTO `item_db` VALUES ('5417','Crown_Parrot','Crown Parrots','5','20','1
REPLACE INTO `item_db` VALUES ('5418','Soldier_Hat','Soldier Hat','5','20','10','400','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','420','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bAddRace, RC_All, 3; bonus bUseSPrate,10;','','');
REPLACE INTO `item_db` VALUES ('5419','Evolved_Leaf','Leaves Of Grass','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','57','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bVit,1; bonus2 bSubRace,RC_Plant,5;','','');
REPLACE INTO `item_db` VALUES ('5420','Mask_Of_Ifrit','Ifrit Mask','5','20','10','800','0','0','12','0','1','18446744073709551614','63','2','769','0','50',NULL,'0','421','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;');
-REPLACE INTO `item_db` VALUES ('5421','Ifrit\'s_Ear','Ifrit\'s Ears','5','20','10','300','0','0','0','0','0','18446744073709551614','63','2','512','0','50',NULL,'0','422','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bInt,1; bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','','');
+REPLACE INTO `item_db` VALUES ('5421','Ifrits_Ear','Ifrit\'s Ears','5','20','10','300','0','0','0','0','0','18446744073709551614','63','2','512','0','50',NULL,'0','422','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bInt,1; bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','','');
REPLACE INTO `item_db` VALUES ('5422','Linguistic_Book_Cap','Linguistic Book Hat','5','20','10','70','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','423','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('5423','Lovecap_China','I LOVE CHINA','5','20','10','250','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','424','0','0','0','0','9',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus2 bAddRaceTolerance,RC_DemiPlayer,10;','','');
REPLACE INTO `item_db` VALUES ('5424','Fanta_Orange_Can','Fanta Orange Can Hat','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','425','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3509,7 +3524,7 @@ REPLACE INTO `item_db` VALUES ('5432','Brazil_Baseball_Cap','bRO 4th Anniversary
REPLACE INTO `item_db` VALUES ('5433','Golden_Wreath','Champion\'s Wreath','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','434','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5434','Cola_Can','Coca-Cola Bottle','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','435','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5435','Coke_Hat','Coca-Cola Hat','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','256','0','40',NULL,'1','436','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxSP,80; bonus bMdef,3; if(getrefine()>5) { bonus bMdef,getrefine()-5; bonus bMaxSP,(getrefine()-5)*10; }','','');
-REPLACE INTO `item_db` VALUES ('5436','Bride\'s_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,2;','','');
+REPLACE INTO `item_db` VALUES ('5436','Brides_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('5437','Flower_Of_Fairy','Fairy Flower','5','20','10','200','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','438','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,1; bonus2 bAddRaceTolerance,RC_Insect,5;','','');
REPLACE INTO `item_db` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','439','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','440','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,20;','','');
@@ -3524,9 +3539,9 @@ REPLACE INTO `item_db` VALUES ('5447','Frog_Cap','Frog Hat','5','20','10','500',
REPLACE INTO `item_db` VALUES ('5448','Solo_Play_Box1','Indifferent Solo Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','449','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','','');
REPLACE INTO `item_db` VALUES ('5449','Solo_Play_Box2','Angry Solo Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','450','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','','');
REPLACE INTO `item_db` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','18446744073709551614','63','2','256','0','20',NULL,'1','451','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5451','Dragonhelm_Gold','Gold Dragonhelm','5','20','10','1500','0','0','14','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','452','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,10; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','','');
-REPLACE INTO `item_db` VALUES ('5452','Dragonhelm_Silver','Silver Dragonhelm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','453','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,7; bonus2 bAddRace,RC_DemiPlayer,3; bonus2 bAddRace,RC_Player,3; bonus2 bAddRaceTolerance,RC_DemiPlayer,7; bonus2 bAddRaceTolerance,RC_Player,7;','','');
-REPLACE INTO `item_db` VALUES ('5453','Dragonhelm_Copper','Copper Dragonhelm','5','20','10','1500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','454','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,5; bonus2 bAddRace,RC_DemiPlayer,1; bonus2 bAddRace,RC_Player,1; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('5451','Dragonhelm_Gold','Gold Dragonhelm','5','20','10','1500','0','0','14','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','452','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 10; bonus2 bAddRace, RC_DemiPlayer, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','','');
+REPLACE INTO `item_db` VALUES ('5452','Dragonhelm_Silver','Silver Dragonhelm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','453','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 7; bonus2 bAddRace, RC_DemiPlayer, 3; bonus2 bAddRaceTolerance, RC_DemiPlayer, 7;','','');
+REPLACE INTO `item_db` VALUES ('5453','Dragonhelm_Copper','Copper Dragonhelm','5','20','10','1500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','454','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 5; bonus2 bAddRace, RC_DemiPlayer, 1; bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','','');
REPLACE INTO `item_db` VALUES ('5454','Dog_Cap_','Puppy Hat','5','20','10','500','0','0','4','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','234','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; autobonus \"{ bonus bCritical,100; }\",10,3000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\"; autobonus \"{ bonus bIgnoreMdefRate,100; }\",10,3000,BF_MAGIC,\"{ specialeffect2 EF_MAGICALATTHIT; }\";','','');
REPLACE INTO `item_db` VALUES ('5455','Geographer_Band_','Decorative Geographer','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','238','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus3 bAutoSpell,AL_HEAL,5,50; bonus3 bAutoSpellWhenHit,AL_HEAL,5,30;','','');
REPLACE INTO `item_db` VALUES ('5456','Vacation_Hat_','Summer Hat','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','315','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15;','','');
@@ -3552,7 +3567,7 @@ REPLACE INTO `item_db` VALUES ('5475','Cube_Mask','Quove Hat','5','20','10','100
REPLACE INTO `item_db` VALUES ('5476','Hairband_Of_Grandpeco','Grand Peco Headdress','5','20','10','800','0','0','5','0','0','18446744073709551615','63','2','768','0','0',NULL,'1','473','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMaxHPrate,-10; bonus2 bAddRace2,RC2_Orc,15;','','');
REPLACE INTO `item_db` VALUES ('5477','Bro_Flag','Brazilian Flag Hat','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','474','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5478','Classic_Hat','Classic Hat','5','20','10','500','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','475','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMaxHP,300;','','');
-REPLACE INTO `item_db` VALUES ('5479','Shaman\'s_Hair_Ornament','Shaman\'s Hair Decoration','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','476','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHP,50; bonus2 bSubEle,Ele_Neutral,5;','','');
+REPLACE INTO `item_db` VALUES ('5479','Shamans_Hair_Ornament','Shaman\'s Hair Decoration','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','476','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxHP,50; bonus2 bSubEle,Ele_Neutral,5;','','');
REPLACE INTO `item_db` VALUES ('5480','Bizofnil_Wing_Deco','Bijofnil Wings','5','20','10','1000','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','477','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus3 bAutoSpell,PR_IMPOSITIO,3,3;','','');
REPLACE INTO `item_db` VALUES ('5481','Hermose_Cap','Hermode Cap','5','20','10','1000','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','478','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10;','','');
REPLACE INTO `item_db` VALUES ('5482','Dark_Knight_Mask','Dark Knight Mask','5','20','10','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','0',NULL,'1','479','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3;','','');
@@ -3565,7 +3580,7 @@ REPLACE INTO `item_db` VALUES ('5488','J_Twin_Santahat','Cute Santa Hat','5','20
REPLACE INTO `item_db` VALUES ('5489','Love_Daddy','Love Daddy Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','484','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2;','','');
REPLACE INTO `item_db` VALUES ('5490','Anubis_Helm','Anubis Helm','5','20','10','0','0','0','8','0','0','18446744073709551615','63','2','768','0','65',NULL,'0','485','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,5; bonus2 bSubRace,RC_Boss,10; bonus bHealPower2,10; bonus bAddItemHealRate,10;','','');
REPLACE INTO `item_db` VALUES ('5491','Hat_Of_Outlaw','Bandit Hat','5','20','10','800','0','0','6','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','486','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bSubEle,Ele_Fire,10;','','');
-REPLACE INTO `item_db` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','102','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bAddRace,RC_DemiPlayer,5;','','');
+REPLACE INTO `item_db` VALUES ('5492','Boys_Cap_I','Student Cap','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','102','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bAddRace,RC_DemiPlayer,5;','','');
REPLACE INTO `item_db` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','12','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','254','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('5494','Spinx_Helm_I','Sphinx Hat','5','0','0','0','0','0','10','0','0','16514','63','2','257','0','0',NULL,'0','137','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5;','','');
REPLACE INTO `item_db` VALUES ('5495','Power_Of_Thor','Power Of Thor','5','20','10','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','493','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus bAgi,1; bonus bVit,1; bonus bStr,1; bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;','','');
@@ -3574,8 +3589,8 @@ REPLACE INTO `item_db` VALUES ('5497','King_Tiger_Doll_Hat','Edgga Doll','5','20
REPLACE INTO `item_db` VALUES ('5498','Wondering_Wolf_Helm','Vagabond Wolf Hat','5','20','10','600','0','0','5','0','1','18446744073709551615','63','2','768','0','20',NULL,'1','490','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,5; bonus bFlee,10;','','');
REPLACE INTO `item_db` VALUES ('5499','Pizza_Hat','Pizza Pie of Plenty','5','20','10','600','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','487','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_PROVOKE,1;','','');
REPLACE INTO `item_db` VALUES ('5500','Icecream_Hat','Ice Cream Hat','5','20','10','300','0','0','6','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','488','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; skill MG_FROSTDIVER,3;','','');
-REPLACE INTO `item_db` VALUES ('5501','Pirate\'s_Pride','Pirate\'s Pride','5','0','0','100','0','0','6','0','1','18446744073709551615','63','2','256','0','10',NULL,'0','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace2,RC2_Ninja,5; bonus2 bSubRace2,RC2_Ninja,5;','','');
-REPLACE INTO `item_db` VALUES ('5502','Necromencer\'s_Hood','Necromancer\'s Hood','5','0','0','500','0','0','6','0','0','18446744073709551615','63','2','768','0','0',NULL,'1','491','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bInt,3; bonus5 bAutoSpellWhenHit,NPC_DARKSTRIKE,5,5,BF_WEAPON|BF_MAGIC,1;','','');
+REPLACE INTO `item_db` VALUES ('5501','Pirates_Pride','Pirate\'s Pride','5','0','0','100','0','0','6','0','1','18446744073709551615','63','2','256','0','10',NULL,'0','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace2,RC2_Ninja,5; bonus2 bSubRace2,RC2_Ninja,5;','','');
+REPLACE INTO `item_db` VALUES ('5502','Necromencers_Hood','Necromancer\'s Hood','5','0','0','500','0','0','6','0','0','18446744073709551615','63','2','768','0','0',NULL,'1','491','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bInt,3; bonus5 bAutoSpellWhenHit,NPC_DARKSTRIKE,5,5,BF_WEAPON|BF_MAGIC,1;','','');
REPLACE INTO `item_db` VALUES ('5503','Rabbit_Magic_Hat','Rabbit Magic Hat','5','0','0','800','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','497','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bAgi,2; bonus bMdef,1; bonus bMaxSP,50; bonus3 bAutoSpellWhenHit,MG_FIREBOLT,1,20; bonus3 bAutoSpellWhenHit,MG_COLDBOLT,1,20; bonus3 bAutoSpellWhenHit,MG_LIGHTNINGBOLT,1,20;','','');
REPLACE INTO `item_db` VALUES ('5504','China_Wedding_Veil','RO 5th Wedding Anniversary','5','0','0','500','0','0','5','0','0','18446744073709551615','63','2','769','0','70',NULL,'0','489','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('5505','Asara_Fairy_Hat','Ashura Fairy Hat','5','0','0','500','0','0','2','0','0','18446744073709551615','63','2','768','0','50',NULL,'1','492','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill DC_DONTFORGETME,1; bonus bDex,2; bonus bLuk,2;','','');
@@ -3602,7 +3617,7 @@ REPLACE INTO `item_db` VALUES ('5525','First_Leaf_Tea_Hat','First Leaf Tea Hat',
REPLACE INTO `item_db` VALUES ('5526','Lady_Tanee_Doll','Lady Tanee Doll','5','20','10','300','0','0','4','0','0','18446744073709551615','63','2','256','0','60',NULL,'0','520','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bFlee,3; bonus2 bSubEle,Ele_Wind,5; bonus2 bAddMonsterDropItem,513,200;','','');
REPLACE INTO `item_db` VALUES ('5527','Lunatic_Hat','Lunatic Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','521','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus bMdef,2; bonus bFlee2,5; bonus2 bAddMonsterDropItem,622,50;','','');
REPLACE INTO `item_db` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','18446744073709551614','63','2','256','0','30',NULL,'0','522','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('5529','Evil\'s_Bone_Hat','Frost Giant\'s Skull','5','20','10','600','0','0','12','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','523','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bInt,2; bonus bStr,2; bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','','');
+REPLACE INTO `item_db` VALUES ('5529','Evils_Bone_Hat','Frost Giant\'s Skull','5','20','10','600','0','0','12','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','523','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bInt,2; bonus bStr,2; bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','','');
REPLACE INTO `item_db` VALUES ('5530','Raven_Cap','Raven Cap','5','45000','22500','100','0','0','6','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','524','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5531','B_Dragon_Hat','Baby Dragon Hat','5','45000','22500','100','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','525','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5532','Pirate_Dagger_J','Pirate Dagger','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','30',NULL,'0','327','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bShortWeaponDamageReturn,1;','','');
@@ -3652,8 +3667,8 @@ REPLACE INTO `item_db` VALUES ('5575','Onigiri_Hat','Rice Ball Hat','5','20','10
REPLACE INTO `item_db` VALUES ('5576','Japan_Winecup','Wine Cup','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','557','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('5577','Dark_Knight_MaskB','Dark Knight Mask','5','20','10','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','0',NULL,'1','479','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bStr,3;','','');
REPLACE INTO `item_db` VALUES ('5578','Voyage_Hat','Voyage Hat','5','200','100','10','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','236','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
-REPLACE INTO `item_db` VALUES ('5579','Wanderer\'s_Sakkat','Wanderer\'s Sakkat','5','20','10','300','0','0','2','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','558','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bFlee,3; if(getrefine()>6) { bonus bFlee,2; bonus bAgi,2; } if(getrefine()>8) { bonus bCritical,10; bonus bAspdRate,8; }','','');
-REPLACE INTO `item_db` VALUES ('5580','Red_Beret','Red Beret','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','559','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('5579','Wanderers_Sakkat','Wanderer\'s Sakkat','5','20','10','300','0','0','2','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','558','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bFlee,3; if(getrefine()>6) { bonus bFlee,2; bonus bAgi,2; } if(getrefine()>8) { bonus bCritical,10; bonus bAspdRate,8; }','','');
+REPLACE INTO `item_db` VALUES ('5580','Red_Beret','Red Beret','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','559','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_DemiPlayer, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','','');
REPLACE INTO `item_db` VALUES ('5581','Cancer_Diadem','Cancer Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','560','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus2 bSubEle,Ele_Water,5; if(getrefine()>6) { bonus bMdef,1; bonus bHealPower,3; bonus bMatkRate,2; }','','');
REPLACE INTO `item_db` VALUES ('5582','Cancer_Crown','Cancer Crown','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','561','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bSubEle,Ele_Water,5; if(getrefine()>6) { bonus bDef,1; bonus bBaseAtk,15; bonus bFlee,10; }','','');
REPLACE INTO `item_db` VALUES ('5583','Para_Team_Hat','Eden Group Hat','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','256','0','12',NULL,'1','465','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3665,7 +3680,7 @@ REPLACE INTO `item_db` VALUES ('5588','Leo_Crown','Leo Crown','5','20','10','300
REPLACE INTO `item_db` VALUES ('5589','Leo_Diadem','Leo Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','566','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bSubEle,Ele_Fire,5; if(getrefine()>6) { bonus bFlee,10; bonus bAspdRate,3; autobonus \"{ bonus bSplashRange,1; }\",10,10000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\"; }','','');
REPLACE INTO `item_db` VALUES ('5590','K_Poring_Cake_Cap','Poring Cake Hat','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','417','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bLuk,3; bonus bMaxHP,BaseLevel*2; bonus bMaxSP,50;','','');
REPLACE INTO `item_db` VALUES ('5591','Desert_Prince','Desert Prince','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','30',NULL,'0','567','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMaxSP,30;','','');
-REPLACE INTO `item_db` VALUES ('5592','Sigrun\'s_Wing','Sigrun\'s Wings','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','568','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) bonus bAspd,1; else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,2; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; }','','');
+REPLACE INTO `item_db` VALUES ('5592','Sigruns_Wing','Sigrun\'s Wings','5','20','10','100','0','0','2','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','568','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) bonus bAspd,1; else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,2; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; }','','');
REPLACE INTO `item_db` VALUES ('5593','K_Rabbit_Bonnet','Rabbit Bonnet','5','20','10','200','0','0','10','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','549','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; bonus bMatk,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,3; bonus bDelayrate,-3; if(getrefine()>6) { bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Ghost,5; }','','');
REPLACE INTO `item_db` VALUES ('5594','Donut_In_Mouth','Donut In Mouth','5','20','10','50','0','0','1','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','569','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bHPRegenRate,1,10000; bonus bMaxHP,100;','','');
REPLACE INTO `item_db` VALUES ('5595','Eye_Of_Juno','Eye Of Juno','5','20','10','400','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','570','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2;','','');
@@ -3817,8 +3832,8 @@ REPLACE INTO `item_db` VALUES ('5740','Sagittarius_Diadem','Sagittarius Diadem',
REPLACE INTO `item_db` VALUES ('5741','Im_Egg_Shell_Hat','Eternal Egg Skin Hat','5','20','10','0','0','0','1','0','0','18446744073709551615','63','2','256','0','10',NULL,'1','101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower2,5; bonus2 bAddMonsterDropItem,610,10; bonus2 bAddItemHealRate,Red_Potion,5; bonus2 bAddItemHealRate,Yellow_Potion,5; bonus2 bAddItemHealRate,Orange_Potion,5; bonus2 bAddItemHealRate,White_Potion,5; bonus2 bAddItemHealRate,Red_Slim_Potion,5; bonus2 bAddItemHealRate,Yellow_Slim_Potion,5; bonus2 bAddItemHealRate,White_Slim_Potion,5;','','');
REPLACE INTO `item_db` VALUES ('5742','Rudolf_Santa_Hat','Rudolf Santa Hat','5','20','10','400','0','0','5','0','0','18446744073709551615','63','2','256','0','10',NULL,'1','619','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus2 bAddItemHealRate,Piece_Of_Cake,100; bonus2 bAddItemHealRate,Well_Baked_Cookie,100;','','');
REPLACE INTO `item_db` VALUES ('5743','Orange_Stem_Hat','Orange Stem Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','620','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bLuk,3;','','');
-REPLACE INTO `item_db` VALUES ('5744','Capricon_Crown','Capricorn Crown','5','20','10','300','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','621','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bDex,2;','','');
-REPLACE INTO `item_db` VALUES ('5745','Capricon_Diadem','Capricorn Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','622','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bMdef,5;','','');
+REPLACE INTO `item_db` VALUES ('5744','Capricorn_Crown','Capricorn Crown','5','20','10','300','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','621','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bDex,2;','','');
+REPLACE INTO `item_db` VALUES ('5745','Capricorn_Diadem','Capricorn Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','622','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('5746','Rune_Circlet','Rune Circlet','5','20','10','100','0','0','12','0','1','128','56','2','256','0','100',NULL,'1','623','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bMdef,5; if(readparam(bStr)>=120) { bonus bBaseAtk,10; bonus bMatk,5; }','','');
REPLACE INTO `item_db` VALUES ('5747','Mitra','Mitra','5','20','10','100','0','0','12','0','1','256','56','2','256','0','100',NULL,'1','624','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bInt,1; bonus bMdef,5; bonus bHealPower,5; if(readparam(bInt)>=120) { bonus bMatk,10; }','','');
REPLACE INTO `item_db` VALUES ('5748','Sniper_Goggle','Sniper Goggle','5','20','10','100','0','0','12','0','1','2048','56','2','768','0','100',NULL,'1','625','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bDex,1; bonus bMdef,5; if(readparam(bAgi)>=120) { bonus bLongAtkRate,4; bonus bAspd,1; }','','');
@@ -3835,7 +3850,7 @@ REPLACE INTO `item_db` VALUES ('5758','Dying_Swan','Dying Swan','5','20','10','1
REPLACE INTO `item_db` VALUES ('5759','Noah_Hat','Noa\'s Hat','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','636','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('5760','Driver_Band_','Driver Band','5','20','10','100','0','0','12','0','1','1024','56','2','256','0','100',NULL,'1','637','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bDex,1; bonus bMdef,5; if(readparam(bStr)>=120) { bonus bBaseAtk,10; bonus bCritical,3; }','','');
REPLACE INTO `item_db` VALUES ('5761','Sloth_Hat','Sloth Hat','5','20','10','800','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','638','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus3 bAutoSpell,AS_SONICBLOW,5,50;','','');
-REPLACE INTO `item_db` VALUES ('5762','Duneyrr_Helm','Duneyrr Hat','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','639','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,2; bonus2 bAddRaceTolerance,RC_Player,2; bonus2 bAddRaceTolerance,RC_Brute,2;','','');
+REPLACE INTO `item_db` VALUES ('5762','Duneyrr_Helm','Duneyrr Hat','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','639','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats, 1; bonus bMdef, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 2; bonus2 bAddRaceTolerance, RC_Brute, 2;','','');
REPLACE INTO `item_db` VALUES ('5763','Red_Bunny_Band','Red Bunny Band','5','0','0','200','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','640','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('5764','Love_Rabbit_Hood','Love Rabbit Hood','5','20','10','300','0','0','1','0','1','18446744073709551615','63','2','769','0','10',NULL,'0','549','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,PR_GLORIA,3,((readparam(bAgi)>=80)?30:10);','','');
REPLACE INTO `item_db` VALUES ('5765','Black_Tail_Ribbon','Pitch Black Ribbon','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','642','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bLongAtkDef,10; bonus2 bSubEle,Ele_Neutral,5;','','');
@@ -3845,15 +3860,15 @@ REPLACE INTO `item_db` VALUES ('5768','Sakura_Coronet','Cherry Blossom Crown','5
REPLACE INTO `item_db` VALUES ('5769','Gold_Angel_Sculpture','Estatua Peque? Angel Oro','5','100','50','0','0','0','2','0','0','18446744073709551615','63','2','256','0','70',NULL,'0','646','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; skill RG_GRAFFITI,1;','','');
REPLACE INTO `item_db` VALUES ('5770','Splash_Hat','Splash Hat','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','349','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ sc_start SC_PROPERTYWIND,180000,1; }\",3,180000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";','','');
REPLACE INTO `item_db` VALUES ('5771','Family_Hat','Family Hat','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','109','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bMdef,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; skill PR_MAGNIFICAT,1;','','');
-REPLACE INTO `item_db` VALUES ('5772','Red_Navy_Hat','Blood Admiral\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','651','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','','');
-REPLACE INTO `item_db` VALUES ('5773','Navy_Beret','Navy Blue Beret','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','652','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','','');
-REPLACE INTO `item_db` VALUES ('5774','Red_Pirate_Hat','Scallywag\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','','');
+REPLACE INTO `item_db` VALUES ('5772','Red_Navy_Hat','Blood Admiral\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','651','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','','');
+REPLACE INTO `item_db` VALUES ('5773','Navy_Beret','Navy Blue Beret','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','652','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','','');
+REPLACE INTO `item_db` VALUES ('5774','Red_Pirate_Hat','Scallywag\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','','');
REPLACE INTO `item_db` VALUES ('5775','Choco_Donut_In_Mouth','Chocolate Donut','5','20','10','50','0','0','1','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','653','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMaxHP,50;','','');
REPLACE INTO `item_db` VALUES ('5776','Blazing_Sun','Blazin Sun','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,MG_FIREBOLT,-5; bonus2 bSkillAtk,MG_FIREBOLT,5; bonus2 bVariableCastrate,MG_FIREBALL,-5; bonus2 bSkillAtk,MG_FIREBALL,5; bonus2 bSkillAtk,MG_FIREWALL,3; bonus2 bSkillAtk,WZ_METEOR,3; bonus bUseSPrate,5;','','');
REPLACE INTO `item_db` VALUES ('5777','Remover_Hat','Remover Hat','5','20','10','800','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'0','655','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus3 bAddMonsterDropItem,713,RC_Formless,200; bonus3 bAddMonsterDropItem,971,RC_Formless,30; bonus3 bAddMonsterDropItem,972,RC_Formless,10;','','');
REPLACE INTO `item_db` VALUES ('5778','Blue_Arara_Hat','Turkey On Your Head','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','656','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bAddMonsterDropItem,574,500; bonus2 bAddItemHealRate,574,5; .@rate = min(getrefine(),10); bonus bMaxHPrate,.@rate; bonus bMaxSPrate,.@rate; bonus3 bAutoSpellWhenHit,AL_INCAGI,.@rate,10; bonus3 bAutoSpell,AL_INCAGI,.@rate,10;','','');
REPLACE INTO `item_db` VALUES ('5779','Drooping_Boto','Drooping Boto','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','657','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
-REPLACE INTO `item_db` VALUES ('5780','Tendrilion_Hat','Tendrilion Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','658','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10; skill WZ_EARTHSPIKE,3;','','');
+REPLACE INTO `item_db` VALUES ('5780','Tendrilion_Hat','Tendrilion Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','658','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; skill WZ_EARTHSPIKE, 3;','','');
REPLACE INTO `item_db` VALUES ('5781','Persika','Persica','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','659','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bFlee,1; bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('5782','Hoplite_Helmet','Legionaire Helm','5','20','10','700','0','0','4','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','660','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,3;','','');
REPLACE INTO `item_db` VALUES ('5783','YellowBunny_Hairband','YellowBunny Hairband','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','662','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bDex,2; if (getrefine()>8) { bonus bAtkRate,2; bonus bMatkRate,2; } if (getrefine()>9) { bonus bAtkRate,2; bonus bMatkRate,2; }','','');
@@ -3883,10 +3898,10 @@ REPLACE INTO `item_db` VALUES ('5806','Poem_Natalia_Hat','Poem Natalia Hat','5',
REPLACE INTO `item_db` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','2','0','0','18446744073709551614','63','2','256','0','50',NULL,'1','104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5808','Diabolus_Helmet','Dark Bacilium','5','20','10','250','0','0','5','0','1','1040256','58','2','769','0','0',NULL,'1','364','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Stone,2000+(getrefine()*200); bonus2 bResEff,Eff_Freeze,2000+(getrefine()*200); bonus2 bResEff,Eff_Stun,2000+(getrefine()*200);','','');
REPLACE INTO `item_db` VALUES ('5809','Boom_Boom_Hat','Boom Boom Hat','5','0','0','100','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','216','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus bSpeedRate,25;','','');
-REPLACE INTO `item_db` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','','');
+REPLACE INTO `item_db` VALUES ('5810','Ph_D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','5','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','','');
REPLACE INTO `item_db` VALUES ('5811','Santa_Beard','Santa\'s Beard','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Brute,5;','','');
REPLACE INTO `item_db` VALUES ('5812','Hat_Of_Expert','Hat Of Expert','5','0','0','0','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','16','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; bonus3 bAddEffWhenHit,Eff_Bleeding,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Silence,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Confusion,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Curse,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Blind,500,ATF_TARGET|ATF_SELF;','','');
-REPLACE INTO `item_db` VALUES ('5813','Red_Ph.D_Hat','Red Scholar Hat','5','1000','500','500','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','481','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('5813','Red_Ph_D_Hat','Red Scholar Hat','5','1000','500','500','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','481','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
REPLACE INTO `item_db` VALUES ('5814','Ati_Atihan_Hat3','Ati Atihan Hat3','5','20','10','0','0','0','2','0','0','18446744073709551615','63','2','769','0','20',NULL,'0','303','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5815','Cowboy_Hat_J','Classic Hat','5','20','10','500','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','475','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bSubSize,Size_Small,5; bonus2 bSubSize,Size_Medium,5; bonus2 bSubSize,Size_Large,5;','','');
REPLACE INTO `item_db` VALUES ('5816','Classic_Hat_J','New Cowboy Hat','5','20','10','500','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','411','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3926,7 +3941,7 @@ REPLACE INTO `item_db` VALUES ('5849','Doctor_Hairband','Doctor Hairband','5','2
REPLACE INTO `item_db` VALUES ('5850','Golden_Savage_Hat','Golden Savage Hat','5','20','10','500','0','0','5','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','648','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5851','Summer_Knight','Summer Knight','5','20','10','0','0','0','1','0','0','18446744073709551615','63','2','768','0','60',NULL,'0','138','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5852','Easter_Egg_Shell','Easter Egg Shell','5','20','10','500','0','0','0','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','537','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,-7; bonus bMdef,-7; bonus2 bHPRegenRate,(MaxHp/100),10000; if (getrefine()>=7) bonus bFlee,2; if (getrefine() >= 9) bonus2 bSPRegenRate,(MaxSp/100),10000;','','');
-REPLACE INTO `item_db` VALUES ('5855','Fishing_Rod','Fishing Rod','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5855','Fish_Rod','Fishing Rod','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('5856','Passion_FB_Hat','Passion Soccerball Hat','5','20','10','600','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','671','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('5857','Cool_FB_Hat','Cool Soccerball Hat','5','20','10','600','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','672','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('5858','Victory_FB_Hat','Soccerball Hat','5','20','10','600','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','673','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bMdef,1;','','');
@@ -3936,32 +3951,32 @@ REPLACE INTO `item_db` VALUES ('5868','Bushy_Moustache','Bushy Moustache','5','2
REPLACE INTO `item_db` VALUES ('5869','Mimic_Egg_Shell','Mimic Egg Shell','5','10','5','100','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','999','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEffWhenHit,Eff_Stone,600; bonus bSpeedRate,25;','','');
REPLACE INTO `item_db` VALUES ('5870','Bunny_Egg_Shell','Bunny Egg Shell','5','10','5','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1000','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,3; bonus bAspd,1;','','');
REPLACE INTO `item_db` VALUES ('5871','Picky_Egg_Shell','Picky Egg Shell','5','10','5','100','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1001','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,2;','','');
-REPLACE INTO `item_db` VALUES ('5873','Helmet_of_Siegfried','Helmet of Siegfried','5','20','10','600','0','0','7','0','1','279714','58','2','256','0','60',NULL,'1','1055','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,600,4000; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,5,20; /* Custom - IRO */ bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('5874','Circlet_of_Kriemhild','Circlet of Kriemhild','5','20','10','600','0','0','6','0','1','661576','58','2','256','0','60',NULL,'1','1056','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,400,4000; bonus3 bAutoSpellWhenHit,PR_KYRIE,5,50; bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('5875','Diadem_of_Brinhild','Diadem of Brinhild','5','20','10','600','0','0','6','0','1','99092','58','2','256','0','60',NULL,'1','1057','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,300,4000; bonus3 bAutoSpellWhenHit,SM_ENDURE,5,50; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('5873','Helmet_Of_Siegfried','Helmet of Siegfried','5','20','10','600','0','0','7','0','1','279714','58','2','256','0','60',NULL,'1','1055','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,600,4000; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,5,20; /* Custom - IRO */ bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('5874','Circlet_Of_Kriemhild','Circlet of Kriemhild','5','20','10','600','0','0','6','0','1','661576','58','2','256','0','60',NULL,'1','1056','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,400,4000; bonus3 bAutoSpellWhenHit,PR_KYRIE,5,50; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('5875','Diadem_Of_Bruenhild','Diadem of Brinhild','5','20','10','600','0','0','6','0','1','99092','58','2','256','0','60',NULL,'1','1057','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bHPLossRate,300,4000; bonus3 bAutoSpellWhenHit,SM_ENDURE,5,50; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('5881','Weissbier_Hat','Weissbier Hat','5','0','0','300','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','1079','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bDex,-10; bonus4 bAutoSpell,WZ_ESTIMATION,1,800,1; bonus4 bAutoSpell,MC_IDENTIFY,1,500,1; bonus4 bAutoSpell,TF_PICKSTONE,1,1000,1; bonus4 bAutoSpell,BS_GREED,1,100,1; bonus5 bAutoSpellWhenHit,TK_RUN,5,200,BF_SHORT,0; bonus5 bAutoSpellWhenHit,TK_HIGHJUMP,3,300,BF_SHORT,0; bonus5 bAutoSpellWhenHit,NV_FIRSTAID,1,1000,BF_SHORT,0; bonus5 bAutoSpellWhenHit,TF_BACKSLIDING,1,500,BF_SHORT,0; if(getrefine()>6) { bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bDex,-5; }','','');
-REPLACE INTO `item_db` VALUES ('5890','Angel_Earrings','Angel Earrings','5','0','0','100','0','0','5','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','1093','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('5890','Angel_Earing','Angel Earrings','5','0','0','100','0','0','5','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','1093','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('5891','Black_Cat_Hat','Black Cat Hat','5','0','0','100','0','0','7','0','0','18446744073709551615','63','2','256','0','10',NULL,'1','1105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus5 bAutoSpell,DC_SCREAM,5,50,BF_WEAPON|BF_MAGIC,0; /* Custom - TWRO */','','');
REPLACE INTO `item_db` VALUES ('5897','Ascendant_Crown_','Ascendant Crown','5','0','0','50','0','0','20','0','1','1','63','2','256','0','100',NULL,'1','1118','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,10; bonus bMaxHPrate,15; bonus bMaxSPrate,15; bonus2 bAddRace, RC_All, 15; bonus bMatkRate,15; bonus bHit,20; bonus bFlee,20; bonus bCritical,20; bonus bFlee2,10; bonus bVariableCastrate,-20; bonus2 bSubEle,Ele_Neutral,5;','','');
REPLACE INTO `item_db` VALUES ('5898','Autumn_Headband','Autumn Headband','5','0','0','200','0','0','10','0','1','2048','56','2','256','0','100',NULL,'0','1119','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,SN_WINDWALK,20; bonus bLongAtkRate,5; if(getrefine()>=7) { bonus bAtk,2*(readparam(bInt)/5); } if(getrefine()>=9) { bonus2 bSkillAtk,RA_ARROWSTORM,2*(BaseLevel/10); }','','');
REPLACE INTO `item_db` VALUES ('5899','Black_Ribbon_','Black Ribbon','5','0','0','200','0','0','10','0','1','128','56','2','256','0','100',NULL,'1','1120','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,RK_WINDCUTTER,50; bonus2 bSkillAtk,RK_SONICWAVE,50; if(getrefine()>=7) { bonus bAtk,2*(readparam(bAgi)/5); } if(getrefine()>=9) { bonus2 bSkillAtk,RK_IGNITIONBREAK,30; }','','');
REPLACE INTO `item_db` VALUES ('5900','Divine_Guard_Hat_','Divine Guard Hat','5','20','10','200','0','0','10','0','1','16384','56','2','256','0','100',NULL,'1','1121','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Medium,5; bonus2 bSubSize,Size_Large,5; bonus2 bSubSize,Size_Small,5; if(getrefine()>6) { bonus5 bAutoSpellWhenHit,AL_HEAL,max(getskilllv(AL_HEAL),5),100,BF_WEAPON,0; } if(getrefine()>8) { bonus2 bSkillAtk,LG_RAYOFGENESIS,20; }','','');
REPLACE INTO `item_db` VALUES ('5904','Inconspicuous_Hat_','Inconspicuous Hat','5','20','10','200','0','0','10','0','1','131072','56','2','256','0','100',NULL,'1','1125','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,7; if(getrefine()>6) { bonus bMatk,(readparam(bInt)/5)*2; } if(getrefine()>8) { bonus bMatkRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('5905','Lyrica_Hat_','Lyrica Hat','5','20','10','200','0','0','10','0','1','524288','56','1','256','0','100',NULL,'1','1126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_SEVERE_RAINSTORM,15; if(getrefine()>6) { bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*4); } if(getrefine()>8) { bonus2 bSkillUseSP,WM_SEVERE_RAINSTORM,10; }','','');
-REPLACE INTO `item_db` VALUES ('5906','Oni_Horns_','Oni Horns','5','20','10','200','0','0','10','0','1','4096','56','2','256','0','100',NULL,'1','1127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GC_COUNTERSLASH,getskilllv(GC_WEAPONBLOCKING)*10; if(getrefine()>6) { bonus bAtk,10; bonus bHit,5; } if(getrefine()>8) { bonus3 bAutoSpell,GC_CROSSIMPACT,1,100; }','','');
-REPLACE INTO `item_db` VALUES ('5907','Sea_Captain_Hat','Sea Captain Hat','5','20','10','200','0','0','20','0','1','1024','56','2','256','0','100',NULL,'1','1128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,NC_AXETORNADO,20; bonus2 bSkillAtk,NC_AXEBOOMERANG,20; if(getrefine()>6) { bonus2 bSkillAtk,NC_AXETORNADO,getskilllv(BS_WEAPONRESEARCH); } if(getrefine()>8) { bonus2 bSkillAtk,NC_AXETORNADO,getskilllv(NC_TRAININGAXE); }','','');
+REPLACE INTO `item_db` VALUES ('5905','Lyrica_Hat_','Lyrica Hat','5','20','10','200','0','0','10','0','1','524288','56','1','256','0','100',NULL,'1','1126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WM_SEVERE_RAINSTORM_MELEE,15; if(getrefine()>6) { bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*4); } if(getrefine()>8) { bonus2 bSkillUseSP,WM_SEVERE_RAINSTORM,10; }','','');
+REPLACE INTO `item_db` VALUES ('5906','Oni_Horns','Oni Horns','5','20','10','200','0','0','10','0','1','4096','56','2','256','0','100',NULL,'1','1127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GC_COUNTERSLASH,getskilllv(GC_WEAPONBLOCKING)*10; if(getrefine()>6) { bonus bAtk,10; bonus bHit,5; } if(getrefine()>8) { bonus3 bAutoSpell,GC_CROSSIMPACT,1,100; }','','');
+REPLACE INTO `item_db` VALUES ('5907','Sea_Captain_Hat_','Sea Captain Hat','5','20','10','200','0','0','20','0','1','1024','56','2','256','0','100',NULL,'1','1128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,NC_AXETORNADO,20; bonus2 bSkillAtk,NC_AXEBOOMERANG,20; if(getrefine()>6) { bonus2 bSkillAtk,NC_AXETORNADO,getskilllv(BS_WEAPONRESEARCH); } if(getrefine()>8) { bonus2 bSkillAtk,NC_AXETORNADO,getskilllv(NC_TRAININGAXE); }','','');
REPLACE INTO `item_db` VALUES ('5918','Gambler_Seal','Gambler Seal','5','20','10','500','0','0','0','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1202','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,3; bonus bCritAtkRate,3;','','');
-REPLACE INTO `item_db` VALUES ('5921','Fish_Monster\'s_Grill','Fish Monster\'s Grill','5','0','0','200','0','0','1','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','1218','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('5932','Birdcage_Of_Paradise','Birdcage Of Paradise','5','20','10','800','0','0','6','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','1286','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,5; bonus bCritical,5; bonus bFlee2,5; if (Class == Job_Ranger || Class == Job_Ranger_T) { skill HT_BLITZBEAT,5*getrefine(); }','','');
+REPLACE INTO `item_db` VALUES ('5921','Fish_Monsters_Grill','Fish Monster\'s Grill','5','0','0','200','0','0','1','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','1218','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('5932','Heaven_Cage','Birdcage Of Paradise','5','20','10','800','0','0','6','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','1286','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,5; bonus bCritical,5; bonus bFlee2,5; if (Class == Job_Ranger || Class == Job_Ranger_T) { skill HT_BLITZBEAT,5*getrefine(); }','','');
REPLACE INTO `item_db` VALUES ('5933','Crow_Tengu_Mask','Crow Tengu Mask','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','512','0','80',NULL,'1','1287','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,1; bonus bLongAtkRate,2; if(readparam(bStr)>=108) { bonus bAtkRate,1; bonus bLongAtkRate,2; } if(readparam(bStr)>=120) { bonus bAtkRate,2; bonus bLongAtkRate,3; }','','');
-REPLACE INTO `item_db` VALUES ('5934','Happy_Balloon','Happy Balloon','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','1289','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,5; bonus2 bAddMonsterDropItem,644,30; /*Custom - JRO*/ /*+Mistcase card, when base Luk is 77 or more, Has change to drops \\\'Happy Box\\\' when killing a monster.*/','','');
+REPLACE INTO `item_db` VALUES ('5934','Happy_Balloon_J','Happy Balloon','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','1289','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,5; bonus2 bAddMonsterDropItem,644,30; /*Custom - JRO*/ /*+Mistcase card, when base Luk is 77 or more, Has change to drops \\\'Happy Box\\\' when killing a monster.*/','','');
REPLACE INTO `item_db` VALUES ('5941','Joystick_Hat','Joystick Hat','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1305','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bLuk,5; bonus4 bAutoSpell,BS_ADRENALINE,5,100,0; bonus5 bAutoSpellWhenHit,AC_CONCENTRATION,5,100,BF_WEAPON,0;','','');
REPLACE INTO `item_db` VALUES ('5942','Lovegame_Hat','Lovegame Hat','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1306','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; bonus5 bAutoSpellWhenHit,DC_WINKCHARM,1,500,BF_WEAPON,1;','','');
-REPLACE INTO `item_db` VALUES ('5966','Kardui_Ears','Kardui Ears','5','0','0','300','0','0','0','0','0','18446744073709551615','63','2','512','0','70',NULL,'1','1357','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,2*(readparam(bDex)/10); if(readparam(bDex)>=108) { bonus bMatk,60; bonus bVariableCastrate,-10; } if(readparam(bDex)>=120) { bonus bMatk,40; bonus bVariableCastrate,-5; }','','');
-REPLACE INTO `item_db` VALUES ('5967','Flying_Galapagos','Flying Galapagos','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','1','0','110',NULL,'1','1358','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,HT_BLITZBEAT,getskilllv(HT_BLITZBEAT),(10*getskilllv(HT_BLITZBEAT))+(readparam(bLuk)/3); if(getskilllv(HT_STEELCROW)>0) { skill HT_BLITZBEAT,40; }','','');
-REPLACE INTO `item_db` VALUES ('5968','Divine_Angel_Nurse_Cap','Divine Angel Nurse Cap','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1359','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower,3; bonus bNoCastCancel,0; if(getrefine()>4) { bonus bHealPower,3; } if(getrefine()>6) { bonus bHealPower,3; } if(getrefine()>8) { bonus bHealPower,3; }','','');
-REPLACE INTO `item_db` VALUES ('5969','Queen_Anne\'s_Revenge','Queen Anne\'s Revenge','5','0','0','400','0','0','7','0','1','18446744073709551615','63','2','256','0','100',NULL,'1','1360','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus2 bAddRace, RC_All, 7; if (getrefine() > 4) { bonus2 bAddRace, RC_All, 2; } if (getrefine() > 6) { bonus2 bAddRace, RC_All, 1; } if (getrefine() > 8) { bonus2 bAddRace, RC_All, 1; bonus bNoSizeFix,0; }','','');
-REPLACE INTO `item_db` VALUES ('5970','Rune_Helm','Rune Helm','5','0','0','3000','0','0','15','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1361','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMaxHPrate,4; if(BaseLevel<100) { bonus bVit,getrefine()/2; } if(BaseLevel>99) { bonus bVit,getrefine(); } /* Grant additional effects on Rune stone skill activation */','','');
+REPLACE INTO `item_db` VALUES ('5966','KarduiEar','Kardui Ears','5','0','0','300','0','0','0','0','0','18446744073709551615','63','2','512','0','70',NULL,'1','1357','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,2*(readparam(bDex)/10); if(readparam(bDex)>=108) { bonus bMatk,60; bonus bVariableCastrate,-10; } if(readparam(bDex)>=120) { bonus bMatk,40; bonus bVariableCastrate,-5; }','','');
+REPLACE INTO `item_db` VALUES ('5967','FlyingGalapago','Flying Galapagos','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','1','0','110',NULL,'1','1358','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,HT_BLITZBEAT,getskilllv(HT_BLITZBEAT),(10*getskilllv(HT_BLITZBEAT))+(readparam(bLuk)/3); if(getskilllv(HT_STEELCROW)>0) { skill HT_BLITZBEAT,40; }','','');
+REPLACE INTO `item_db` VALUES ('5968','DVAngelNurseCap','Divine Angel Nurse Cap','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1359','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower,3; bonus bNoCastCancel,0; if(getrefine()>4) { bonus bHealPower,3; } if(getrefine()>6) { bonus bHealPower,3; } if(getrefine()>8) { bonus bHealPower,3; }','','');
+REPLACE INTO `item_db` VALUES ('5969','QueenAnzRevenge','Queen Anne\'s Revenge','5','0','0','400','0','0','7','0','1','18446744073709551615','63','2','256','0','100',NULL,'1','1360','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus2 bAddRace, RC_All, 7; if (getrefine() > 4) { bonus2 bAddRace, RC_All, 2; } if (getrefine() > 6) { bonus2 bAddRace, RC_All, 1; } if (getrefine() > 8) { bonus2 bAddRace, RC_All, 1; bonus bNoSizeFix,0; }','','');
+REPLACE INTO `item_db` VALUES ('5970','RuneHelm','Rune Helm','5','0','0','3000','0','0','15','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1361','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMaxHPrate,4; if(BaseLevel<100) { bonus bVit,getrefine()/2; } if(BaseLevel>99) { bonus bVit,getrefine(); } /* Grant additional effects on Rune stone skill activation */','','');
REPLACE INTO `item_db` VALUES ('6000','Dark_Ashes','Ashes of Darkness','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6001','Essence_Of_Fire','Essence of Fire','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6002','Token_Of_Apostle','Token of Apostle','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -3970,7 +3985,7 @@ REPLACE INTO `item_db` VALUES ('6004','Bapho_Doll','Cursed Baphomet Doll','3','0
REPLACE INTO `item_db` VALUES ('6005','New_Year_Rice_Cake','NewYear Ricecake','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6006','Rice_Cake_Delivery_Box','Delivery Ricecake Box','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6007','New_Year_Rice_Cake_Soup','NewYear Ricecake Soup','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6008','Wood','Wood','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6008','Wood','Lumber','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6009','Large_Magical_Fan','Big Fan Of Magic','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6010','Pickaxe','Hoe','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6011','Blue_Card_B','Blue B Card','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4031,11 +4046,11 @@ REPLACE INTO `item_db` VALUES ('6066','Moon_Cake19','Letter Moon Cake','3','10',
REPLACE INTO `item_db` VALUES ('6067','Moon_Cake20','Letter Moon Cake','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6068','Rabbit_Skin','Leather Rabbit','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6069','ABUNDANCE','ABUNDANCE','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6070','Shaman\'s_Old_Paper','Shaman\'s Document','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6070','Shamans_Old_Paper','Shaman\'s Document','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6071','Broken_Sword','Broken Sword','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6072','Wing_Of_Bizofnil','Bijofnil Feather','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6073','Dragon\'s_Mane','Dragon\'s Mane','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6074','Bazett\'s_Order','Bazett\'s Order','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6073','Dragons_Mane','Dragon\'s Mane','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6074','Bazetts_Order','Bazett\'s Order','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6075','Crystalized_Teardrop','Crystalized Teardrop','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6076','Portable_Toolbox','Portable Toolbox','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6077','Rough_Mineral','Rough Mineral','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4085,7 +4100,7 @@ REPLACE INTO `item_db` VALUES ('6120','Face_Paint','Face Paint','3','150','75','
REPLACE INTO `item_db` VALUES ('6121','Makeover_Brush','Makeover Brush','3','12','6','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6122','Paint_Brush','Paint Brush','3','12','6','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6123','Surface_Paint','Surface Paint','3','250','125','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6124','Wolf\'s_Flute','Wolf Flute','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6124','Wolfs_Flute','Wolf Flute','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6125','Lucky_Box','Bunny Box','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6126','Happy_Box','Summer Happy Box','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6127','Purification_Stone','Purification Stone','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4330,7 +4345,7 @@ REPLACE INTO `item_db` VALUES ('6371','Amatsu_Bead_Tsu','Amatsu Bead Tsu','3','0
REPLACE INTO `item_db` VALUES ('6372','Amatsu_Bead_Jam','Amatsu Bead Jam','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6373','Amatsu_Bead_Bo','Amatsu Bead Bo','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6374','Amatsu_Bead_Ree','Amatsu Bead Ree','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6375','Amatsu_Bead_!','Amatsu Bead !','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6375','Amatsu_Bead_','Amatsu Bead !','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6376','KVM_Badge','KVM Badge','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6377','Buy_Market_Permit','Bulk Buyer Shop License','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6378','Winning_Mark','Token Of Victory War','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4528,7 +4543,7 @@ REPLACE INTO `item_db` VALUES ('6584','Guarantee_Weapon_12Up','Safe to 12 Weapon
REPLACE INTO `item_db` VALUES ('6585','Guarantee_Armor_12Up','Safe to 12 Armor Certificate','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6586','Captured_Book','Captured Book','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6592','Small_Wooden_Chest','Small Wooden Chest','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6593','Criatura_Hair_Coupon','Criatura Hair Coupon','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6593','Cryptura_Hair_Coupon','Criatura Hair Coupon','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6594','Magic_Bronze_Bullion','Magic Bronze Bullion','3','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6595','Hammer_Of_Velund','Hammer Of Velund','3','20','10','500','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6596','Anvil_Of_Velund','Anvil Of Velund','3','20','10','2000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4564,16 +4579,16 @@ REPLACE INTO `item_db` VALUES ('6656','Goast_Free_Charm','Controlling Amulet','3
REPLACE INTO `item_db` VALUES ('6657','Memory_Of_Jack','Jack Memories','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6658','Halloween_Coin','Halloween Coin','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6665','RWC_Inicializer','RWC Enchant Reset Ticket','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6671','Geffen_Magic_Tournament_Coin','Geffen Magic Tournament Coin','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6672','Gray_Piece','Gray Piece','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6673','Ticket_to_Bossnia','Ticket to Bossnia','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6674','Part_time_Receipt','Part-time Receipt','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6671','Geffen_Magic_Coin','Geffen Magic Tournament Coin','3','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6672','Gray_Shard','Gray Piece','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6673','Bossnia_Pass','Ticket to Bossnia','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6674','Daily_Coin','Part-time Receipt','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6681','XMAS_Cookie','XMAS Cookie','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6682','Bag_Of_Selling_Goods','Bag Of Selling Goods','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6712','Lovely_Stick','Love Wand','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6755','Contaminated_Magic','Contaminated Magic','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6804','Organic_Pumpkin','Organic Pumpkin','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('6805','Inorganic_Pumpkin','Inorganic Pumpkin','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6755','Corrupted_Charm','Contaminated Magic','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6804','ORGANIC_PUMPKIN','Organic Pumpkin','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6805','INORGANIC_PUMPKIN','Inorganic Pumpkin','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6821','Solo_Troops_Badge','Single Union Badge','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6913','Sacred_Rosary','Sacred Rosary','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6914','Black_Soul','Black Soul','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4594,15 +4609,15 @@ REPLACE INTO `item_db` VALUES ('7013','Coral_Reef','Coral Reef','3','772','386',
REPLACE INTO `item_db` VALUES ('7014','Old_Portrait','Old Portrait','3','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7015','Bookclip_In_Memory','Bookclip in Memory','3','3000','1500','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7016','Spoon_Stub','Spoon Stub','3','2500','1250','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7017','Executioner\'s_Mitten','Executioner\'s Mitten','3','4500','2250','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7017','Executioners_Mitten','Executioner\'s Mitten','3','4500','2250','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7018','Young_Twig','Young Twig','3','50','25','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7019','Loki\'s_Whispers','Loki\'s Whispers','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7020','Mother\'s_Nightmare','Mother\'s Nightmare','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7019','Lokis_Whispers','Loki\'s Whispers','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7020','Mothers_Nightmare','Mother\'s Nightmare','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7021','Foolishness_Of_Blind','Foolishness of the Blind','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7022','Old_Hilt','Old Hilt','3','150','75','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7023','Blade_Lost_In_Darkness','Blade Lost in Darkness','3','12000','6000','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7024','Bloody_Edge','Bloody Edge','3','10000','5000','40','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7025','Lucifer\'s_Lament','Lucifer\'s Lament','3','30000','15000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7025','Lucifers_Lament','Lucifer\'s Lament','3','30000','15000','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7026','Key_Of_Clock_Tower','Key of Clock Tower','3','100','50','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7027','Underground_Key','Key of Underground','3','100','50','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7028','Invite_For_Duel','Invite for Duel','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4624,7 +4639,7 @@ REPLACE INTO `item_db` VALUES ('7043','Fine_Sand','Fine Sand','3','100','50','10
REPLACE INTO `item_db` VALUES ('7044','Vigorgra','Vigorgra','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7045','Magic_Paint','Magic Paint','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7046','Cart_Parts','Cart Parts','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7047','Alice\'s_Apron','Alice\'s Apron','3','2424','1212','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7047','Alices_Apron','Alice\'s Apron','3','2424','1212','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7048','Talon_Of_Griffin','Talon of Griffon','3','5418','2709','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7049','Stone','Stone','3','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7050','Cotton_Mat','Cotton Mat','3','100','50','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4639,7 +4654,7 @@ REPLACE INTO `item_db` VALUES ('7058','Gullraifnir','Gleipnir','3','0','0','500'
REPLACE INTO `item_db` VALUES ('7059','Cargo_Free_Ticket','Free Ticket for Kafra Storage','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7060','Warp_Free_Ticket','Free Ticket for Kafra Transportation','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7061','Cart_Free_Ticket','Free Ticket for the Cart Service','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7062','Broken_Turtle_Shell','Broken Turtle Shell','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7062','Turtle_Shell_','Broken Turtle Shell','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7063','Soft_Feather','Soft Feather','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7064','Dragon_Fly_Wing','Wing of Dragonfly','3','520','260','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7065','Sea_Otter_Leather','Sea-otter Fur','3','820','410','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4683,26 +4698,26 @@ REPLACE INTO `item_db` VALUES ('7102','Hideous_Dream','Nightmare','3','1075','53
REPLACE INTO `item_db` VALUES ('7103','Unknown_Liquid_Bottle','Unknown Liquid Bottle','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7104','Fake_Angel_Wing','False Angel Wing','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7105','Fake_Angel_Loop','False Heaven Ring','3','924','462','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7106','Goat\'s_Horn','Antelope Horn','3','672','336','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7107','Gaoat\'s_Skin','Antelope Skin','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7106','Goats_Horn','Antelope Horn','3','672','336','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7107','Gaoats_Skin','Antelope Skin','3','756','378','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7108','Boroken_Shiled_Piece','Piece of Shield','3','1680','840','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7109','Shine_Spear_Blade','Shining Spear Blade','3','840','420','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7110','Vroken_Sword','Broken Sword','3','588','294','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7111','Smooth_Paper','Slick Paper','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7112','Fright_Paper_Blade','Sharp Paper','3','907','453','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7113','Broken_Pharaoh_Symbol','Broken Pharaoh Emblem','3','2016','1008','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7114','Tutankhamen\'s_Mask','Masque of Tutankhamen','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7115','Harpy\'s_Feather','Harpy Feather','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7116','Harpy\'s_Claw','Harpy Talon','3','1210','605','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7114','Tutankhamens_Mask','Masque of Tutankhamen','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7115','Harpys_Feather','Harpy Feather','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7116','Harpys_Claw','Harpy Talon','3','1210','605','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7117','Rent_Spell_Book','Torn Magic Book','3','1142','571','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7118','Rent_Scroll','Torn Scroll','3','1361','680','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7119','Spawns','Bacillus','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7120','Burning_Horse_Shoe','Burning Horseshoe','3','823','411','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7121','Honey_Jar','Honey Pot','3','622','311','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7122','Hot_Hair','Burning Hair','3','974','487','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7123','Dragon\'s_Skin','Dragon Skin','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7123','Dragons_Skin','Dragon Skin','3','1025','512','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7124','Sand_Lump','Sand Clump','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7125','Scropion\'s_Nipper','Scorpion Claw','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7125','Scropions_Nipper','Scorpion Claw','3','706','353','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7126','Large_Jellopy','Large Jellopy','3','840','420','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7127','Alcol_Create_Book','Alcohol Creation Guide','3','100000','50000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7128','FireBottle_Create_Book','Bottle Grenade Creation Guide','3','100000','50000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4732,13 +4747,13 @@ REPLACE INTO `item_db` VALUES ('7151','Oil_Paper','Oil Paper','3','210','105','1
REPLACE INTO `item_db` VALUES ('7152','Glossy_Hair','Glossy Hair','3','340','170','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7153','Old_Japaness_Clothes','Worn-out Kimono','3','590','295','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7154','Poison_Powder','Poisonous Powder','3','160','80','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7155','Poison_Toad\'s_Skin','Poisonous Toad Skin','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7155','Poison_Toads_Skin','Poisonous Toad Skin','3','280','140','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7156','Broken_Shuriken','Broken Shuriken','3','470','235','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7157','Black_Mask','Dark Mask','3','315','157','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7158','Broken_Wine_Vessel','Broken Liquor Jar','3','160','80','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7159','Tengu\'s_Nose','Tengu Nose','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7160','Lord\'s_Passable_Ticket','Feudal Lord Permit','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7161','Black_Bear\'s_Skin','Black Bear Skin','3','384','192','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7159','Tengus_Nose','Tengu Nose','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7160','Lords_Passable_Ticket','Feudal Lord Permit','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7161','Black_Bears_Skin','Black Bear Skin','3','384','192','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7162','Cloud_Piece','Cloud Crumb','3','390','195','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7163','Sharp_Feeler','Hard Feeler','3','570','285','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7164','Hard_Peach','Solid Peach','3','400','200','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4754,10 +4769,10 @@ REPLACE INTO `item_db` VALUES ('7173','BurnBuster_Bag','Bun Buster Bag','3','0',
REPLACE INTO `item_db` VALUES ('7174','Packing_Ribbon','Wrapping Lace','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7175','Packing_Paper','Wrapping Paper','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7176','XMAS_Coupon','Royal Certificate','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7177','Part_Of_Star\'s_Sob','Crumb of Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7178','Star\'s_Sob','Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7177','Part_Of_Stars_Sob','Crumb of Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7178','Stars_Sob','Sobbing Starlight','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7179','Donation_Card','Proof of Donation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7180','Introduction_Of_Mr.Han','Hahn Sukbong\'s Recommendation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7180','Introduction_Of_Mr_Han','Hahn Sukbong\'s Recommendation','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7181','Receipt_01','Receipt','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7182','Cacao','Cacao','3','200','100','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7183','Sister_Letter','Letter from Sister','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4786,7 +4801,7 @@ REPLACE INTO `item_db` VALUES ('7205','Piece_Of_Black_Cloth','Piece of Black Clo
REPLACE INTO `item_db` VALUES ('7206','Black_Kitty_Doll','Black Cat Doll','3','1440','720','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7207','Old_Manteau','Old Manteau','3','1050','525','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7208','Rusty_Cleaver','Rusty Kitchen Knife','3','1780','890','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7209','Dullahan\'s_Helm','Helm of Dullahan','3','1350','675','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7209','Dullahans_Helm','Helm of Dullahan','3','1350','675','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7210','Dullahan_Armor','Armor Piece of Dullahan','3','790','395','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7211','Rojerta_Piece','Fragment of Rossata Stone','3','2600','1300','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7212','Hanging_Doll','Hung Doll','3','1020','510','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4881,11 +4896,11 @@ REPLACE INTO `item_db` VALUES ('7300','Gemstone','Gemstone','3','1420','710','10
REPLACE INTO `item_db` VALUES ('7301','Sword_Accessory','Tassel','3','798','399','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7302','KRATHONG','Krathong','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7303','Bag_Of_Rice','Straw Rice Bag','3','0','0','800','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7304','Witch\'s_Spell_Book','Witch\'s Spell Scroll','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7304','Witchs_Spell_Book','Witch\'s Spell Scroll','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7305','Authority_Of_Nine_World','Symbol of the Nine Realms','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7306','Fragment_Of_Soul','Piece of Spirit','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7307','Whisper_Of_Soul','Spiritual Whispers','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7308','Witch\'s_Potion','Witch\'s Tonic','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7308','Witchs_Potion','Witch\'s Tonic','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7309','Wing_Of_Crow','Crow Wing','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7310','Free_Peco_Ticket','Free Ticket for Peco Ride','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7311','Free_Flying_Ship_Ticket','Free Ticket for Flyship','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4927,7 +4942,7 @@ REPLACE INTO `item_db` VALUES ('7347','Lab_Staff_Record','Research Chart','3','8
REPLACE INTO `item_db` VALUES ('7348','Indication_Of_Member01','Membership Card','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7349','Indication_Of_Member02','Archive Permit','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7350','Pass','Pass','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7351','Friend\'s_Diary','Friend\'s Diary','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7351','Friends_Diary','Friend\'s Diary','3','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7352','Transparent_Plate01','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7353','Transparent_Plate02','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7354','Transparent_Plate03','Transparent Plate','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5034,7 +5049,7 @@ REPLACE INTO `item_db` VALUES ('7454','Plain_Sauce','Savory Sauce','3','700','35
REPLACE INTO `item_db` VALUES ('7455','Hot_Sauce','Spicy Sauce','3','700','350','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7456','Red_Spice','Red Spice','3','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7457','Cooking_Oil','Cooking Oil','3','500','250','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7458','Baphomet\'s_Horn','Fortune Horn','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7458','Baphomets_Horn','Fortune Horn','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7459','RAMADAN_','Idul Fitri Card','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7460','Niflheim_Ticket','Niflheim Express Ticket','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7461','BlueCard_A','Blue A Card','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5094,7 +5109,7 @@ REPLACE INTO `item_db` VALUES ('7514','Monster_Ticket','Monster Ticket','3','2',
REPLACE INTO `item_db` VALUES ('7515','Marvelous_Medal','Prize Medal','3','2','1','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7516','Green_Key_Card','Green Keycard','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7517','Gold_Coin_','Gold Coin','3','1000','500','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7518','Women\'s_Medal','Women\'s Medal','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7518','Womens_Medal','Women\'s Medal','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7519','Money_Envelope','Handsel','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7520','Chinese_Scroll','Please Be Rich','3','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7521','Flame_Stone','Flame Stone','3','112','56','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5170,7 +5185,7 @@ REPLACE INTO `item_db` VALUES ('7590','Moon_Cake11','Lettered Moon Snack 02','3'
REPLACE INTO `item_db` VALUES ('7591','Moon_Cake12','Lettered Moon Snack 03','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7592','Moon_Cake13','Lettered Moon Snack 04','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7593','Moon_Cake14','Lettered Moon Snack 05','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7594','Sonia\'s_Letter','Sonia\'s Letter','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7594','Sonias_Letter','Sonia\'s Letter','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7595','Unique_Sword','Special Sword','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7596','Unique_Shield','Special Shield','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7597','Magic_Stone','Magic Stone','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5221,8 +5236,8 @@ REPLACE INTO `item_db` VALUES ('7647','Taiwan_Luk_Coin','Taiwan Luk Coin','3','0
REPLACE INTO `item_db` VALUES ('7648','Snake_Bookmark','Snake Bookmark','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7649','Big_Luk_Bookmark','Big Luk Bookmark','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7651','Mystery_Egg','Mystery Egg','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7663','Full_Metal_Jacket','Full Metal Jacket','10','200','100','2','10','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7664','Projection_Landmines','Projection Landmines','10','450','225','3','10','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7663','Fullmetal_Jacket_Bullet','Full Metal Jacket','10','200','100','2','10','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7664','Mine_Projectile','Projection Landmines','10','450','225','3','10','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7665','Dragon_Tail_Missile','Dragon Tail Missile','10','1500','750','100','10','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7701','Dragon_Spirit','Soul','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7702','Special_Cogwheel','Special Cogwheel','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5441,7 +5456,7 @@ REPLACE INTO `item_db` VALUES ('7916','Silver_Coin_','Silver Coin','3','0','0','
REPLACE INTO `item_db` VALUES ('7917','Magic_Potion','Magic Potion','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7918','Particle_Of_Memory','Fragment Of Memory','3','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7919','Festival_Ticket','Festival Ticket','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7920','Hero\'s_Arsenal','Hero\'s Arsenal','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7920','Heros_Arsenal','Hero\'s Arsenal','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7921','Essence_Of_Dragon','Essence Of Dragon','3','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7922','RWC_Ticket','RWC Voucher Items','3','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7923','KRATHONG_','Krathong','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5451,7 +5466,7 @@ REPLACE INTO `item_db` VALUES ('7926','Incense','Incense','3','20','10','10','0'
REPLACE INTO `item_db` VALUES ('7927','Candle_TW','Candle TW','3','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7928','Brazilian_Flag_','Brazil National Flag','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7929','Golden_Coin_','Gold Coin','3','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('7930','Cowking\'s_Nose_Ring','Devil\'s Cattle Ring','3','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('7930','Cowkings_Nose_Ring','Devil\'s Cattle Ring','3','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7931','Poison_Kit','Poison Kit','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7932','Poison_Herb_Nerium','Poison Herb Nerium','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('7933','Poison_Herb_Rantana','Poison Herb Rantana','3','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5544,7 +5559,7 @@ REPLACE INTO `item_db` VALUES ('9020','Sohee_Egg','Sohee Egg','7','20','10','0',
REPLACE INTO `item_db` VALUES ('9021','Isis_Egg','Isis Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9022','Green_Petite_Egg','Green Petite Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9023','Deviruchi_Egg','Deviruchi Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('9024','Bapho_Jr._Egg','Bapho Jr. Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9024','Bapho_Jr_Egg','Bapho Jr. Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9025','Bongun_Egg','Bongun Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9026','Zherlthsh_Egg','Zealotus Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('9027','Alice_Egg','Alice Egg','7','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5588,7 +5603,7 @@ REPLACE INTO `item_db` VALUES ('10002','Monster_Oxygen_Mask','Monster Oxygen Mas
REPLACE INTO `item_db` VALUES ('10003','Transparent_Headgear','Transparent Head Protector','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10004','Pacifier','Pacifier','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10005','Wig','Wig','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('10006','Queen\'s_Hair_Ornament','Queen\'s Hair Ornament','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10006','Queens_Hair_Ornament','Queen\'s Hair Ornament','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10007','Silk_Ribbon','Silk Ribbon','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10008','Punisher','Punisher','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10009','Wild_Flower','Wild Flower','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5614,7 +5629,7 @@ REPLACE INTO `item_db` VALUES ('10028','Nice_Badge','Beautiful Badges','8','20',
REPLACE INTO `item_db` VALUES ('10029','Jade_Trinket','Jade Trinket','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10030','Summer_Fan','Summer Fan','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10031','Death_Coil','Ring Of Death','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('10032','Queen\'s_Coronet','Queen\'s Coronet','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('10032','Queens_Coronet','Queen\'s Coronet','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10033','Apro_Hair','Afro','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10034','Ball_Mask','Masked Ball','8','300000','150000','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10035','Windup_Spring','Spring','8','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5744,6 +5759,7 @@ REPLACE INTO `item_db` VALUES ('11592','Trance_Candy_R','Red Transform Candy','0
REPLACE INTO `item_db` VALUES ('11593','Trance_Candy_B','Blue Transform Candy','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65), 0; specialeffect2 EF_CLOAKING; showscript \"Trans-Form-!!! Bathory Fo-rm!!\"; montransform BATHORY, 600000, SC_MTF_MSP, 100;','','');
REPLACE INTO `item_db` VALUES ('11594','Trance_Candy_Y','Yellow Transform Candy','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0; specialeffect2 EF_CLOAKING; showscript \"Trans-Form-!! Jack Fo-rm!!\"; montransform JAKK, 600000, SC_MTF_PUMPKIN, 2000;','','');
REPLACE INTO `item_db` VALUES ('11595','Trance_Candy_G','Green Transform Candy','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(45,65),0; specialeffect2 EF_CLOAKING; showscript \"Trans-Form-!! Cube Fo-rm!!\"; montransform QUVE, 600000, SC_MTF_HITFLEE, 10, 20;','','');
+REPLACE INTO `item_db` VALUES ('11602','Catnip_Fruit','Catnip Fruit','0','15','7','1','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(10,40),0;','','');
REPLACE INTO `item_db` VALUES ('11701','Girl_Bunch_Of_Flower','Girl\'s Bouquet','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(105,145),0;','','');
REPLACE INTO `item_db` VALUES ('11702','Moon_Cookie','Moon Cookie','0','0','0','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('11703','Mysterious_Blood','Mystery Blood','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal 0,rand(25,35);','','');
@@ -5756,7 +5772,7 @@ REPLACE INTO `item_db` VALUES ('11709','Fanta_Zero_Lemon','Fanta Zero Lemon','0'
REPLACE INTO `item_db` VALUES ('11710','Sakura_Mist','Sakura Mist','0','800','400','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,70),rand(10,12);','','');
REPLACE INTO `item_db` VALUES ('11711','Sakura_Milk_Tea','Sakura Milk Tea','0','800','400','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,70),rand(10,12);','','');
REPLACE INTO `item_db` VALUES ('11712','First_Leaf_Tea','Flower','0','800','400','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,70),rand(10,12);','','');
-REPLACE INTO `item_db` VALUES ('11713','Julia\'s_Candy','Julia\'s Candy','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,45),0;','','');
+REPLACE INTO `item_db` VALUES ('11713','Julias_Candy','Julia\'s Candy','0','0','0','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(40,45),0;','','');
REPLACE INTO `item_db` VALUES ('11715','Fruit_Salad','Fruit Salad','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_TARGET_ASPD, 180000, 10;','','');
REPLACE INTO `item_db` VALUES ('11716','Shepherd_Salad','Shepherd Salad','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_LIGHTSPHERE; sc_start SC_HEALPLUS, 180000, 20;','','');
REPLACE INTO `item_db` VALUES ('11717','Yogurt','Yogurt','0','0','0','140','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_HEAL3; sc_start2 SC_ATKER_MOVESPEED, 180000, 5, 10;','','');
@@ -5898,7 +5914,7 @@ REPLACE INTO `item_db` VALUES ('12132','Red_Bag','Santa\'s Bag','2','0','0','200
REPLACE INTO `item_db` VALUES ('12133','Ice_Cream_','McDonald\'s Ice Cone','0','0','0','80','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (gettime(GETTIME_DAYOFMONTH) != MDiceCone) { MDiceCone = gettime(GETTIME_DAYOFMONTH); percentheal 50,50; }','','');
REPLACE INTO `item_db` VALUES ('12134','Red_Envelope','Red Envelope','2','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','Zeny += rand(1000,10000);','','');
REPLACE INTO `item_db` VALUES ('12135','Green_Ale','Green Ale','2','20','10','30','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50,50; sc_start SC_CONFUSION,10000,0,1000,SCFLAG_NONE;','','');
-REPLACE INTO `item_db` VALUES ('12136','Women\'s_Bundle','Women\'s Bundle','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem callfunc(\"F_RandMes\",4,558,529,2668,7518),1;','','');
+REPLACE INTO `item_db` VALUES ('12136','Womens_Bundle','Women\'s Bundle','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem callfunc(\"F_RandMes\",4,558,529,2668,7518),1;','','');
REPLACE INTO `item_db` VALUES ('12137','1st_Stage_Prize','First Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12138','2nd_Stage_Prize','Second Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12139','3rd_Stage_Prize','Third Stage Prize','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -5983,7 +5999,7 @@ REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll'
REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','sc_start SC_ASSUMPTIO,100000,5; skilleffect HP_ASSUMPTIO,0;','','');
REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect SN_WINDWALK,0; sc_start SC_WINDWALK,250000,5;','','');
REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','.@type = getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect BS_ADRENALINE,0; sc_start SC_ADRENALINE,150000,5; }','','');
-REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','input @megaphone$; announce strcharinfo(0) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
+REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','input @megaphone$; announce strcharinfo(PC_NAME) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
REPLACE INTO `item_db` VALUES ('12225','Sweet_Candy_Striper','Sweet Candy Cane','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','pet GOBLIN_XMAS;','','');
REPLACE INTO `item_db` VALUES ('12226','Examination1','Examination1','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_STR, 5400000, 10; sc_start SC_FOOD_DEX, 5400000, 5; sc_start SC_PLUSATTACKPOWER, 5400000, 22; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
REPLACE INTO `item_db` VALUES ('12227','Examination2','Examination2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_INT, 5400000, 8; sc_start SC_FOOD_VIT, 5400000, 7; sc_start SC_FOOD_LUK, 5400000, 7; sc_start SC_PLUSATTACKPOWER, 3600000, 20;','','');
@@ -6017,7 +6033,7 @@ REPLACE INTO `item_db` VALUES ('12254','Luk_Dish10_M','Cooked Nine Tail','2','0'
REPLACE INTO `item_db` VALUES ('12255','Vit_Dish10_M','Immortal Stew','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_VIT,3600000,10; percentheal 25,0;','','');
REPLACE INTO `item_db` VALUES ('12256','PRO_Gift_Box','PRO Gift Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12257','Cold_Medicine','Cold Medicine','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 25,25;','','');
-REPLACE INTO `item_db` VALUES ('12258','Bombring_Box','Bombring Capsule','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_rang02\") { monster \"this\",-1,-1,\"--ja--\",1904,1,\"\"; }','','');
+REPLACE INTO `item_db` VALUES ('12258','Bombring_Box','Bombring Capsule','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rang02\") { monster \"this\",-1,-1,\"--ja--\",1904,1,\"\"; }','','');
REPLACE INTO `item_db` VALUES ('12259','Miracle_Medicine','Miracle Tonic','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getexp 3000000,1500000;','','');
REPLACE INTO `item_db` VALUES ('12260','Cool_Summer_Outfit','Cool Summer Outfit','2','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_SUMMER,600000,0;','','');
REPLACE INTO `item_db` VALUES ('12261','Secret_Medicine','Leap of Fantasy','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getexp 2000000,1000000;','','');
@@ -6101,14 +6117,14 @@ REPLACE INTO `item_db` VALUES ('12338','Grilled_Corn','Grilled Corn','2','100','
REPLACE INTO `item_db` VALUES ('12339','Cherish_Box_Ori','Treasure Edition Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 12339,1;','','');
REPLACE INTO `item_db` VALUES ('12340','Mysterious_Rice_Powder','Chewy Rice Powder','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','pet EVENT_RICECAKE;','','');
REPLACE INTO `item_db` VALUES ('12341','Special_Alloy_Trap_Box','Special Alloy Trap Box','2','30000','15000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 7940,100;','','');
-REPLACE INTO `item_db` VALUES ('12342','Manuk\'s_Opportunity','Manuk\'s Opportunity','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12343','Manuk\'s_Courage','Manuk\'s Courage','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12344','Pinguicula\'s_fruit_Jam','Pinguicula\'s Fruit Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12345','Luciola\'s_Honey_Jam','Luciola\'s Honey Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_SPL_DEF,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12342','Manuks_Opportunity','Manuk\'s Opportunity','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12343','Manuks_Courage','Manuk\'s Courage','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12344','Pinguiculas_fruit_Jam','Pinguicula\'s Fruit Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12345','Luciolas_Honey_Jam','Luciola\'s Honey Jam','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_GUARD; sc_start SC_SPL_DEF,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12346','Unripe_Acorn','Unripe Acorn','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','heal -100,0;','','');
REPLACE INTO `item_db` VALUES ('12347','Acorn_Jelly','Acorn Jelly','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_REVERSEORCISH,1;','','');
-REPLACE INTO `item_db` VALUES ('12348','Manuk\'s_Faith','Manuk\'s Faith','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_MATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12349','Cornus\'_Tears','Cornus\' Tears','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_MATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12348','Manuks_Faith','Manuk\'s Faith','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_MATK,600000,10;','','');
+REPLACE INTO `item_db` VALUES ('12349','Cornus_Tears','Cornus\' Tears','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_MATK,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','11','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5; itemskill AL_ANGELUS,5;','','');
REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','11','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill MC_LOUD,1;','','');
REPLACE INTO `item_db` VALUES ('12352','Dun_Tele_Scroll3','Dungeon Teleport Scroll 3','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','callfunc \"F_CashDungeon\",3;','','');
@@ -6129,27 +6145,27 @@ REPLACE INTO `item_db` VALUES ('12366','Gril_Doll','Girl Doll','2','20','10','50
REPLACE INTO `item_db` VALUES ('12367','Luxury_Whisky_Bottle','Luxury Whisky Bottle','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet DULLAHAN;','','');
REPLACE INTO `item_db` VALUES ('12368','Splendid_Mirror','Splendid Mirror','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet MEDUSA;','','');
REPLACE INTO `item_db` VALUES ('12369','Oilpalm_Coconut','Oilpalm Coconut','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet STONE_SHOOTER;','','');
-REPLACE INTO `item_db` VALUES ('12370','Gril\'s_Naivety','Girl\'s Naivety','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','pet INCUBUS;','','');
+REPLACE INTO `item_db` VALUES ('12370','Grils_Naivety','Girl\'s Naivety','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','pet INCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12371','Magical_Lithography','Magical Lithography','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet GOLEM;','','');
REPLACE INTO `item_db` VALUES ('12372','Hell_Contract','Hell Contract','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet NIGHTMARE_TERROR;','','');
-REPLACE INTO `item_db` VALUES ('12373','Boy\'s_Naivety','Boy\'s Pure Heart','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
+REPLACE INTO `item_db` VALUES ('12373','Boys_Naivety','Boy\'s Pure Heart','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12374','Flaming_Ice','Ice Fireworks','2','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet IMP;','','');
REPLACE INTO `item_db` VALUES ('12375','Acaraje','Akaraje','2','0','0','80','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_STEAL; sc_start2 SC_ACARAJE,120000,5,10;','','');
REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 3, 0; itemskill PR_GLORIA, 2;','','');
REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0, 3; itemskill PR_MAGNIFICAT, 1;','','');
REPLACE INTO `item_db` VALUES ('12378','2009_Rice_Cake_Soup','Rice Cake Soup','2','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50, 50;','','');
-REPLACE INTO `item_db` VALUES ('12379','Pope\'s_Cookie','Pope Cookie','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12379','Popes_Cookie','Pope Cookie','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12380','Desert_Wolf_Babe_Scroll','Job Change Flute','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create M_DESERT_WOLF_B, 1800000;','','');
-REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Language Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(3) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
-REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Language Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(3) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
+REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Language Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
+REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Language Scroll','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12383','Vulcan_Bullet_Magazine','Vulcan Bullet Magazine','2','13750','6875','500','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Vulcan_Bullet, 1000;','','');
-REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_war02\") { itemskill WL_FROSTMISTY,5; }','','');
-REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_war02\") { itemskill WL_CRIMSONROCK,5; }','','');
-REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_war02\") { itemskill WL_CHAINLIGHTNING,5; }','','');
-REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_war02\") { itemskill WL_EARTHSTRAIN,5; }','','');
-REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_rune02\") { itemskill RK_CRUSHSTRIKE,1; }','','');
-REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_rune02\") { itemskill RK_STORMBLAST,1; }','','');
-REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(3)==\"job3_rune02\") { itemskill RK_MILLENNIUMSHIELD,1; }','','');
+REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_FROSTMISTY,5; }','','');
+REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CRIMSONROCK,5; }','','');
+REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CHAINLIGHTNING,5; }','','');
+REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','11','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_EARTHSTRAIN,5; }','','');
+REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_CRUSHSTRIKE,1; }','','');
+REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_STORMBLAST,1; }','','');
+REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_MILLENNIUMSHIELD,1; }','','');
REPLACE INTO `item_db` VALUES ('12391','Lucky_Egg_C','RWC Groove Pack','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12392','RepairA','Repair A','0','275','137','100','0','0','0','0','0','1024','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(200,300), 0;','','');
REPLACE INTO `item_db` VALUES ('12393','RepairB','Repair B','0','625','312','140','0','0','0','0','0','1024','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(300,400), 0;','','');
@@ -6175,7 +6191,7 @@ REPLACE INTO `item_db` VALUES ('12412','HE_Bubble_Gum','HE Bubble Gum','2','0','
REPLACE INTO `item_db` VALUES ('12413','PCBang_Coupon_Box2','PCRoom Coupon Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12414','Guarana_Candy','Guarana Candy','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION1,1800000,0; sc_start SC_INC_AGI,140000,5; skilleffect AL_INCAGI,0;','','');
REPLACE INTO `item_db` VALUES ('12415','Siege_Teleport_Scroll2','Siege Map Teleport Scroll II','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12416','LUcky_Egg_C3','Thanksgiving Groove Pack','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12416','Lucky_Egg_C3','Thanksgiving Groove Pack','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12417','Boost500','Boost500','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_BOOST500, 500000, 10;','','');
REPLACE INTO `item_db` VALUES ('12418','Full_SwingK','Full SwingK','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FULL_SWING_K, 500000, 50;','','');
REPLACE INTO `item_db` VALUES ('12419','Mana_Plus','Mana +','2','100','50','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MANA_PLUS, 500000, 50;','','');
@@ -6552,7 +6568,7 @@ REPLACE INTO `item_db` VALUES ('12798','Zealotus_Scroll','Zealotus Scroll','11',
REPLACE INTO `item_db` VALUES ('12800','Ktullanux_Scroll','Ktullanux Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_KTULLANUX, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12801','Eddga_Scroll','Eddga Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_EDDGA, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12805','Mystic_Powder','Mystic Powder','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_WIND; sc_start2 SC_MYSTICPOWDER, 300000, 20, 10;','','');
-REPLACE INTO `item_db` VALUES ('12806','Antler_Scaraba_Scroll','Antler Scaraba Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_ANTLER_SCARABA, 1800000;','','');
+REPLACE INTO `item_db` VALUES ('12806','Scaraba_Scroll','Antler Scaraba Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_ANTLER_SCARABA, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12807','Mercenary_Casting_','Mercenary Casting','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','20',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Bow_Mercenary_Scroll8,5; getitem SwordMercenary_Scroll8,5; getitem Spear_Mercenary_Scroll8,5; getitem Mother_Love_Box,1;','','');
REPLACE INTO `item_db` VALUES ('12808','Mother_Love_Box','Mother_Love_Box','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem Mother_Heart,1209600;','','');
REPLACE INTO `item_db` VALUES ('12809','Level_Up_Box','Level Up Box','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','120',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Comp_Battle_Manual,5; getitem Comp_Bubble_Gum,5; getitem Comp_Insurance,5; getitem Reward_Job_BM25,5; getitem Zherlthsh_Tck_Box_,1;','','');
@@ -6564,12 +6580,12 @@ REPLACE INTO `item_db` VALUES ('12818','High_Weapon_Box_','Advanced Weapons Box'
REPLACE INTO `item_db` VALUES ('12819','Zherlthsh_Tck_Box_','Zherlthsh Ticket Box','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','150',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Zherlthsh_Ticket,1;','','');
REPLACE INTO `item_db` VALUES ('12820','Mao_Guai_Scroll','Mao Guai Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_CIVIL_SERVANT, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12821','Loli_Ruri_Scroll','Loli Ruri Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_LOLI_RURI, 1800000;','','');
-REPLACE INTO `item_db` VALUES ('12822','Sungpyun_Box50','Korea Rice Cake 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Korea_Rice_Cake, 50;','','');
+REPLACE INTO `item_db` VALUES ('12822','Songpyun_Box50','Korea Rice Cake 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Korea_Rice_Cake, 50;','','');
REPLACE INTO `item_db` VALUES ('12823','Sedora_Scroll','Sedora Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_SEDORA, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12824','Chepet_Scroll','Chepet Scroll','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','mercenary_create MER_CHEPET, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12831','Potion_Box','Potion Box','2','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Red_Slim_Potion, 100; getitem Yellow_Slim_Potion, 100; getitem White_Slim_Potion, 100; getitem Blue_Potion, 100;','','');
REPLACE INTO `item_db` VALUES ('12845','WOB_Amatsu','Amatsu Butterfly Wing','3','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','warp \"iz_ng01\",26,57;','','');
-REPLACE INTO `item_db` VALUES ('12846','Little_Unripe_Apple','Little Unripe Apple','2','10','5','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','pet LITTLE_PORING;','','');
+REPLACE INTO `item_db` VALUES ('12846','Unripe_Apple2','Little Unripe Apple','2','10','5','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'1',NULL,'0',NULL,'0','pet LITTLE_PORING;','','');
REPLACE INTO `item_db` VALUES ('12847','Old_Equipment_Box','Old Equipment Box','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12848','Falcon_Flute','Falcon Flute','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getskilllv(HT_FALCON)) { if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) end; if (checkfalcon() == 1) { setfalcon 0; } else { setfalcon 1; } }','','');
REPLACE INTO `item_db` VALUES ('12849','Combination_Kit','Union Kit','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6590,7 +6606,7 @@ REPLACE INTO `item_db` VALUES ('12882','Elf_Tear_Blind','Elf Tear Blind','2','0'
REPLACE INTO `item_db` VALUES ('12884','C_Center_Potion','Infinite Concentration Potion','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION1,1800000,4; specialeffect2 EF_POTION_CON; /* NOTE: No special effect when used. */','','');
REPLACE INTO `item_db` VALUES ('12885','C_Awakening_Potion','Infinite Awakening Potion','11','0','0','0','0','0','0','0','0','2145902319','63','2','0','0','40',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2,1800000,6; specialeffect2 EF_POTION_; /* NOTE: No special effect when used. */','','');
REPLACE INTO `item_db` VALUES ('12886','C_Berserk_Potion','Infinite Berserk Potion','11','0','0','0','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION3,1800000,9; specialeffect2 EF_POTION_BERSERK; /* NOTE: No special effect when used. */','','');
-REPLACE INTO `item_db` VALUES ('12887','C_Wing_Of_Fly','Infinite Fly Wing','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','warp strcharinfo(3),0,0; /* NOTE: Temporary script until we get the correct information. */','','');
+REPLACE INTO `item_db` VALUES ('12887','C_Wing_Of_Fly','Infinite Fly Wing','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','warp strcharinfo(PC_MAP),0,0; /* NOTE: Temporary script until we get the correct information. */','','');
REPLACE INTO `item_db` VALUES ('12888','Siege_Kit_Box','Siege Kit Box','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 12888,1; getrandgroupitem 12888,1; getrandgroupitem 12888,1;','','');
REPLACE INTO `item_db` VALUES ('12900','Battle_Manual_Box','Battle Manual Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12208,10;','','');
REPLACE INTO `item_db` VALUES ('12901','Insurance_Package','Insurance Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12209,10;','','');
@@ -6776,8 +6792,8 @@ REPLACE INTO `item_db` VALUES ('13081','Octo_kitchen_Knife','Discount knife Octo
REPLACE INTO `item_db` VALUES ('13083','TE_Woe_Knife','T Woe Knife','4','0','0','0','100','100','0','1','0','1049583343','1','2','2','3','40',NULL,'0','1','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Silence,1000;','','');
REPLACE INTO `item_db` VALUES ('13086','Goldsmithing_Dagger','Goldsmithing Dagger','4','20','10','500','35','25','0','1','0','41943142','56','2','2','1','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13092','RWC_Memory_Knife','RWC Memory Knife','4','1000','500','650','50','0','0','1','1','41943157','1','2','2','3','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,20*(getrefine()/3); bonus bMatk,20*(getrefine()/3); if(getrefine()>=9) { .@val = 1; bonus4 bAutoSpell,BS_WEAPONPERFECT,1,20,0; } if (getrefine() >= 6) { .@rate = 5*(.@val+1); bonus2 bAddRace, RC_All, .@rate; bonus2 bMagicAddRace, RC_All, .@rate; }','','');
-REPLACE INTO `item_db` VALUES ('13093','Thanatos_Dagger','Thanatos Dagger','4','20','10','800','100','130','0','1','1','941290','56','2','2','4','120',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('13094','Evil_Slayer_Stabber_Dagger','Evil Slayer Stabber Dagger','4','20','10','900','120','0','0','1','1','41943157','56','2','2','3','100',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('13093','Thanos_Dagger','Thanatos Dagger','4','20','10','800','100','130','0','1','1','941290','56','2','2','4','120',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('13094','Dagger_Of_Evil_Slayer','Evil Slayer Stabber Dagger','4','20','10','900','120','0','0','1','1','41943157','56','2','2','3','100',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
REPLACE INTO `item_db` VALUES ('13100','Six_Shooter','Six Shooter','4','4500','2250','400','30','0','0','7','1','16777216','1','2','34','1','10',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-10;','','');
REPLACE INTO `item_db` VALUES ('13101','Six_Shooter_','Six Shooter','4','4500','2250','400','30','0','0','7','2','16777216','1','2','34','1','10',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-10;','','');
REPLACE INTO `item_db` VALUES ('13102','Crimson_Bolt','Crimson Bolt','4','20000','10000','450','45','0','0','7','1','16777216','1','2','34','2','35',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-10;','','');
@@ -6796,10 +6812,10 @@ REPLACE INTO `item_db` VALUES ('13114','P_Revolver3','Eden Group Revolver III','
REPLACE INTO `item_db` VALUES ('13115','Upg_Revolver','Upgrade Revolver','4','20','10','500','35','0','0','7','1','16777216','1','2','34','3','0',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*5); bonus bLongAtkRate,(getrefine()*2); if(BaseLevel>70) { bonus bBaseAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13116','Novice_Revolver','Beginner Revolver','4','0','0','500','20','0','0','7','0','16777216','1','2','34','1','0',NULL,'0','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-5;','','');
REPLACE INTO `item_db` VALUES ('13117','TE_Woe_Pistol','TE Woe Pistol','4','0','0','0','60','0','0','7','0','1090519040','63','2','34','3','40',NULL,'0','17','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Curse,1000;','','');
-REPLACE INTO `item_db` VALUES ('13120','Heaven\'s_Feather_and_Hell\'s_Fire','Heaven\'s_Feather_&_Hell\'s_Fire','5','1250000','625000','800','150','0','0','9','1','1090519040','63','2','34','3','99',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GS_DESPERADO,20; bonus2 bSkillAtk,RL_FALLEN_ANGEL,20;','','');
-REPLACE INTO `item_db` VALUES ('13122','Altea_and_Ares','Altea & Ares','5','1450000','725000','1000','200','0','0','9','0','1073741824','63','2','34','3','140',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;','','');
-REPLACE INTO `item_db` VALUES ('13124','Altea_and_Ares_','Altea & Ares','5','1450000','725000','1000','200','0','0','9','1','1073741824','63','2','34','3','140',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;','','');
-REPLACE INTO `item_db` VALUES ('13127','Crimson_Revolver','Crimson Revolver','4','20','10','1000','100','0','0','7','2','16777216','63','2','34','3','70',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('13120','H_FEATHER_H_FIRE','Heaven\'s_Feather_&_Hell\'s_Fire','4','1250000','625000','800','150','0','0','9','1','1090519040','63','2','34','3','99',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GS_DESPERADO,20; bonus2 bSkillAtk,RL_FALLEN_ANGEL,20;','','');
+REPLACE INTO `item_db` VALUES ('13122','ALTAIR_ARES','Altea & Ares','4','1450000','725000','1000','200','0','0','9','0','1073741824','63','2','34','3','140',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;','','');
+REPLACE INTO `item_db` VALUES ('13124','ALTAIR_ARES_','Altea & Ares','4','1450000','725000','1000','200','0','0','9','1','1073741824','63','2','34','3','140',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;','','');
+REPLACE INTO `item_db` VALUES ('13127','Scarlet_Revolver','Crimson Revolver','4','20','10','1000','100','0','0','7','2','16777216','63','2','34','3','70',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13128','Revolver_of_Vicious_Mind','Revolver of Vicious Mind','4','20','10','1500','150','0','0','7','1','16777216','63','2','34','4','160',NULL,'1','17','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('13150','Branch','Branch','4','3000','1500','500','50','0','0','9','3','16777216','1','2','34','1','0',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13151','The_Cyclone','Cyclone','4','17500','8750','700','120','0','0','9','1','16777216','1','2','34','2','24',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCritical,10;','','');
@@ -6839,16 +6855,16 @@ REPLACE INTO `item_db` VALUES ('13184','TE_Woe_Rifle','TE Woe Rifle','4','0','0'
REPLACE INTO `item_db` VALUES ('13185','TE_Woe_Gatling','TE Woe Gatling','4','0','0','0','100','0','0','9','0','1090519040','63','2','34','3','40',NULL,'0','19','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Stun,1000;','','');
REPLACE INTO `item_db` VALUES ('13186','TE_Woe_Shotgun','TE Woe Shotgun','4','0','0','0','100','0','0','9','0','1090519040','63','2','34','3','40',NULL,'0','20','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Poison,1000;','','');
REPLACE INTO `item_db` VALUES ('13187','TE_Woe_Grenade','TE Woe Grenade','4','0','0','0','100','0','0','9','0','1090519040','63','2','34','3','40',NULL,'0','21','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,1000;','','');
-REPLACE INTO `item_db` VALUES ('13189','Color_Scope','Color Scope','5','1350000','675000','1200','240','0','0','9','2','1073741824','63','2','34','3','105',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,30; bonus bCriticalRate,30;','','');
-REPLACE INTO `item_db` VALUES ('13190','RAG203','RAG203','5','1800000','900000','1300','260','0','0','9','1','1073741824','63','2','34','3','140',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,AL_DECAGI,1,500,0;','','');
-REPLACE INTO `item_db` VALUES ('13192','Death_Fire','Death Fire','5','1250000','625000','2000','400','0','0','9','1','1073741824','63','2','34','3','108',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,5; bonus bHit,-50; bonus bDelayrate,-10;','','');
-REPLACE INTO `item_db` VALUES ('13193','Rolling_Thunder','Rolling Thunder','5','1350000','675000','1800','280','0','0','9','1','1073741824','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-10; bonus bDelayrate,-10; bonus3 bAutoSpell,MG_THUNDERSTORM,5,500;','','');
-REPLACE INTO `item_db` VALUES ('13194','Peace_Breaker','Peace Breaker','5','1950000','975000','1400','250','0','0','9','0','1090519040','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bAspdRate,25;','','');
-REPLACE INTO `item_db` VALUES ('13195','RAG203_','RAG203','5','1800000','900000','1300','260','0','0','9','0','1073741824','63','2','34','3','140',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,AL_DECAGI,1,10,0;','','');
-REPLACE INTO `item_db` VALUES ('13196','Peace_Breaker_','Peace Breaker','5','1950000','975000','1400','250','0','0','9','1','1090519040','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bAspdRate,25;','','');
-REPLACE INTO `item_db` VALUES ('13197','Mini_Mei','Mini Mei','5','1600000','800000','2500','220','0','0','9','2','1090519040','63','2','34','2','106',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('13198','Tempest','Tempest','5','2200000','1100000','2500','250','0','0','9','0','1090519040','63','2','34','2','140',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;','','');
-REPLACE INTO `item_db` VALUES ('13199','Tempest_','Tempest','5','2200000','1100000','2500','250','0','0','9','1','1090519040','63','2','34','2','140',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;','','');
+REPLACE INTO `item_db` VALUES ('13189','COLORSCOPE','Color Scope','4','1350000','675000','1200','240','0','0','9','2','1073741824','63','2','34','3','105',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,30; bonus bCriticalRate,30;','','');
+REPLACE INTO `item_db` VALUES ('13190','RAG203_','RAG203','4','1800000','900000','1300','260','0','0','9','1','1073741824','63','2','34','3','140',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,AL_DECAGI,1,500,0;','','');
+REPLACE INTO `item_db` VALUES ('13192','DEATHFIRE','Death Fire','4','1250000','625000','2000','400','0','0','9','1','1073741824','63','2','34','3','108',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,5; bonus bHit,-50; bonus bDelayrate,-10;','','');
+REPLACE INTO `item_db` VALUES ('13193','R_THUNDER','Rolling Thunder','4','1350000','675000','1800','280','0','0','9','1','1073741824','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-10; bonus bDelayrate,-10; bonus3 bAutoSpell,MG_THUNDERSTORM,5,500;','','');
+REPLACE INTO `item_db` VALUES ('13194','P_BREAKER','Peace Breaker','4','1950000','975000','1400','250','0','0','9','0','1090519040','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bAspdRate,25;','','');
+REPLACE INTO `item_db` VALUES ('13195','RAG203','RAG203','4','1800000','900000','1300','260','0','0','9','0','1073741824','63','2','34','3','140',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,AL_DECAGI,1,10,0;','','');
+REPLACE INTO `item_db` VALUES ('13196','P_BREAKER_','Peace Breaker','4','1950000','975000','1400','250','0','0','9','1','1090519040','63','2','34','3','120',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bAspdRate,25;','','');
+REPLACE INTO `item_db` VALUES ('13197','MINIMAY','Mini Mei','4','1600000','800000','2500','220','0','0','9','2','1090519040','63','2','34','2','106',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13198','TEMPEST','Tempest','4','2200000','1100000','2500','250','0','0','9','0','1090519040','63','2','34','2','140',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;','','');
+REPLACE INTO `item_db` VALUES ('13199','TEMPEST_','Tempest','4','2200000','1100000','2500','250','0','0','9','1','1090519040','63','2','34','2','140',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;','','');
REPLACE INTO `item_db` VALUES ('13200','Bullet','Bullet','10','1','0','2','10','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
REPLACE INTO `item_db` VALUES ('13201','Silver_Bullet','Silver Bullet','10','15','7','2','15','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('13202','Shell_Of_Blood','Bloody Shell','10','30','15','2','30','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral; bonus2 bAddEff, Eff_Bleeding, 100;','','');
@@ -6858,24 +6874,24 @@ REPLACE INTO `item_db` VALUES ('13205','Poison_Sphere','Poison Sphere','10','80'
REPLACE INTO `item_db` VALUES ('13206','Blind_Sphere','Blind Sphere','10','80','40','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500;','','');
REPLACE INTO `item_db` VALUES ('13207','Freezing_Sphere','Freezing Sphere','10','80','40','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Water;','','');
REPLACE INTO `item_db` VALUES ('13208','Gong_Bug','GongBug','10','0','0','20','50','0','0','0','0','16777216','63','2','32768','0','50',NULL,'0','3','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Stun,1000;','','');
-REPLACE INTO `item_db` VALUES ('13210','Slug_Ammunition_L','Slug Ammunition L','10','250','125','500','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13211','Slug_Ammunition_M','Slug Ammunition M','10','500','250','500','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13212','Slug_Ammunition_H','Slug Ammunition H','10','750','375','750','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13213','Slug_Ammunition_SH','Slug Ammunition SH','10','1','0','1000','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13214','Slug_Ammunition_XH','Slug Ammunition XH','10','1','0','1200','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13215','Armor_Piercing_Bullet','Armor-Piercing Bullet','10','15','7','2','50','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
-REPLACE INTO `item_db` VALUES ('13216','Blazing_Bullet','Blazing Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
+REPLACE INTO `item_db` VALUES ('13210','Slug_Bullet_1','Slug Ammunition L','10','250','125','500','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13211','Slug_Bullet_2','Slug Ammunition M','10','500','250','500','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13212','Slug_Bullet_3','Slug Ammunition H','10','750','375','750','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13213','Slug_Bullet_4','Slug Ammunition SH','10','1','0','1000','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13214','Slug_Bullet_5','Slug Ammunition XH','10','1','0','1200','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13215','AP_Ammo','Armor-Piercing Bullet','10','15','7','2','50','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral;','','');
+REPLACE INTO `item_db` VALUES ('13216','Blaze_Bullet','Blazing Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
REPLACE INTO `item_db` VALUES ('13217','Freezing_Bullet','Freezing Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
-REPLACE INTO `item_db` VALUES ('13218','Lightning_Bullet','Lightning Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
-REPLACE INTO `item_db` VALUES ('13219','Magic_Stone_Bullet','Magic Stone Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Earth;','','');
-REPLACE INTO `item_db` VALUES ('13220','Purifying_Bullet','Purifying Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Holy;','','');
+REPLACE INTO `item_db` VALUES ('13218','Electric_Shock_Bullet','Lightning Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
+REPLACE INTO `item_db` VALUES ('13219','Magical_Stone_Bullet','Magic Stone Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Earth;','','');
+REPLACE INTO `item_db` VALUES ('13220','Sanctified_Bullet','Purifying Bullet','10','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('13221','Silver_Bullet_','Silver Bullet','10','5','2','2','15','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Holy;','','');
REPLACE INTO `item_db` VALUES ('13222','Shell_Of_Blood_','Bloody Shell','10','10','5','2','30','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral; bonus2 bAddEff, Eff_Bleeding, 100;','','');
-REPLACE INTO `item_db` VALUES ('13223','Incendiary_Grenade','Incendiary Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
-REPLACE INTO `item_db` VALUES ('13224','Lightning_Grenade','Lightning Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
-REPLACE INTO `item_db` VALUES ('13225','Poison_Grenade','Poison Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Poison; bonus2 bAddEff, Eff_Poison, 500;','','');
-REPLACE INTO `item_db` VALUES ('13226','Flash_Grenade','Flash Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Dark; bonus2 bAddEff, Eff_Blind, 500;','','');
-REPLACE INTO `item_db` VALUES ('13227','Cyro_Grenade','Cyro Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('13223','Flare_Sphere_','Incendiary Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
+REPLACE INTO `item_db` VALUES ('13224','Lighting_Sphere_','Lightning Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
+REPLACE INTO `item_db` VALUES ('13225','Poison_Sphere_','Poison Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Poison; bonus2 bAddEff, Eff_Poison, 500;','','');
+REPLACE INTO `item_db` VALUES ('13226','Blind_Sphere_','Flash Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Dark; bonus2 bAddEff, Eff_Blind, 500;','','');
+REPLACE INTO `item_db` VALUES ('13227','Freezing_Sphere_','Cyro Grenade','10','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
REPLACE INTO `item_db` VALUES ('13250','Shuriken','Shuriken','10','4','2','5','10','0','0','0','0','33554432','63','2','32768','0','0',NULL,'0','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13251','Nimbus_Shuriken','Nimbus Shuriken','10','10','5','5','30','0','0','0','0','33554432','63','2','32768','0','20',NULL,'0','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13252','Flash_Shuriken','Flash Shuriken','10','20','10','5','45','0','0','0','0','33554432','63','2','32768','0','40',NULL,'0','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6940,7 +6956,7 @@ REPLACE INTO `item_db` VALUES ('13314','Huuma_Fluttering_Snow','Huuma Fluttering
REPLACE INTO `item_db` VALUES ('13315','Huuma_Thunderstorm','Huuma Thunderstorm','4','100000','50000','1500','200','50','0','1','0','570425344','1','2','34','4','110',NULL,'1','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,50; bonus bAtkEle,Ele_Wind; bonus3 bAutoSpell,NJ_RAIGEKISAI,max(getskilllv(NJ_RAIGEKISAI),1),30;','','');
REPLACE INTO `item_db` VALUES ('13316','Upg_Huuma_Shuriken','Upg Huuma Shuriken','4','20','10','1500','55','0','0','1','1','570425344','1','2','34','3','0',NULL,'1','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10*getrefine(); bonus bMatk,5*getrefine(); bonus bLongAtkRate,getrefine(); if(BaseLevel>=70) { bonus bBaseAtk,5*((BaseLevel-60)/10); }','','');
REPLACE INTO `item_db` VALUES ('13317','TE_Woe_Huuma','TE Woe Huuma','4','0','0','0','80','100','0','1','0','570425344','1','2','34','3','40',NULL,'0','22','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,1000;','','');
-REPLACE INTO `item_db` VALUES ('13327','Crimson_Huuma_Shuriken','Crimson Huuma Shuriken','4','20','10','1000','100','0','0','1','2','570425344','63','2','34','3','70',NULL,'1','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('13327','Scarlet_Huuma','Crimson Huuma Shuriken','4','20','10','1000','100','0','0','1','2','570425344','63','2','34','3','70',NULL,'1','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13328','Huuma_Shuriken_of_Vicious_Mind','Huuma Shuriken of Vicious Mind','4','20','10','1500','150','50','0','1','1','570425344','63','2','34','4','160',NULL,'1','22','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('13400','Cutlas_','Cutlus','4','20','10','900','150','0','0','1','1','414946','63','2','2','4','40',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill SM_BASH,5; bonus bStr,2; bonus bDef,1;','','');
REPLACE INTO `item_db` VALUES ('13401','Excalibur_C','Excalibur','4','1','0','0','199','0','0','1','0','414946','63','2','2','4','0',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bInt,10; bonus bLuk,10; bonus bAtkEle,Ele_Holy;','','');
@@ -6962,7 +6978,7 @@ REPLACE INTO `item_db` VALUES ('13416','Krieger_Onehand_Sword1','Glorious Flambe
REPLACE INTO `item_db` VALUES ('13417','Krieger_Onehand_Sword2','Glorious Rapier','4','20','10','0','130','80','0','1','0','414947','63','2','2','4','80',NULL,'1','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus bUseSPrate,-10; } if(getrefine()>8) { bonus bInt,5; }','','');
REPLACE INTO `item_db` VALUES ('13418','Krieger_Onehand_Sword3','Glorious Holy Avenger','4','20','10','0','130','80','0','1','0','279714','63','2','2','4','80',NULL,'1','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus bUseSPrate,-10; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,PA_PRESSURE,PR_LEXAETERNA,1,1000; } if(getrefine()>9) { bonus bInt,5; }','','');
REPLACE INTO `item_db` VALUES ('13419','Holy_Saber','Holy Saber','4','20','10','0','160','0','0','1','0','414946','63','2','2','3','0',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('13420','Honglyun\'s_Sword','Honglyun\'s Sword','4','20','10','1200','160','0','0','1','1','414946','63','2','2','4','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bStr,2; bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('13420','Honglyuns_Sword','Honglyun\'s Sword','4','20','10','1200','160','0','0','1','1','414946','63','2','2','4','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Fire; bonus bStr,2; bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('13421','Ruber','Ruber','4','20','10','1500','170','0','0','1','1','279714','58','2','2','3','50',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus2 bSkillAtk,KN_BOWLINGBASH,20; bonus2 bSkillAtk,SM_BASH,20; }\",5,15000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";','','');
REPLACE INTO `item_db` VALUES ('13422','Flamberge_C','Flamberge','4','0','0','0','185','0','0','1','0','16512','63','2','2','3','0',NULL,'0','2','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('13423','P_Sabre1','Eden Sabre I','4','0','0','0','147','0','0','1','0','414946','63','2','2','2','26',NULL,'0','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6980,10 +6996,10 @@ REPLACE INTO `item_db` VALUES ('13434','P_Saber3','Eden Group Saber III','4','0'
REPLACE INTO `item_db` VALUES ('13438','Magical_Blade','Magical Blade','4','60000','30000','2000','165','110','0','1','2','414947','63','2','2','4','105',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13439','TE_Woe_Sword','TE Woe Sword','4','0','0','0','120','100','0','1','0','414947','63','2','2','3','40',NULL,'0','2','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Poison,1000;','','');
REPLACE INTO `item_db` VALUES ('13440','Ceremonial_Sword','Ceremonial Sword','4','20','10','500','60','0','0','0','0','414947','56','2','2','1','0',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Holy;','','');
-REPLACE INTO `item_db` VALUES ('13441','Thanatos_Sword','Thanatos Sword','4','10','5','700','150','100','0','1','1','16514','63','2','2','4','120',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 6; bonus bVit, 6; bonus bLuk, -6; bonus2 bHPDrainRate, 50, 5; bonus2 bSPDrainRate, 10, 5; bonus2 bHPLossRate, 100, 10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('13441','Thanos_Sword','Thanatos Sword','4','10','5','700','150','100','0','1','1','16514','63','2','2','4','120',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 6; bonus bVit, 6; bonus bLuk, -6; bonus2 bHPDrainRate, 50, 5; bonus2 bSPDrainRate, 10, 5; bonus2 bHPLossRate, 100, 10000;','','heal -1000,0;');
REPLACE INTO `item_db` VALUES ('13442','Old_Parasol','Old Parasol','4','20','10','500','120','80','0','0','3','414946','63','2','2','3','80',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,getrefine(); skill MG_SOULSTRIKE,10;','','');
REPLACE INTO `item_db` VALUES ('13444','Pala','Pala','4','20','10','700','190','0','0','0','1','414946','63','2','2','3','0',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,8;','','');
-REPLACE INTO `item_db` VALUES ('13454','Crimson_Saber','Crimson Saber','4','20','10','850','85','0','0','1','2','414947','63','2','2','3','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('13454','Scarlet_Saber','Crimson Saber','4','20','10','850','85','0','0','1','2','414947','63','2','2','3','70',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13455','Saber_of_Vicious_Mind','Saber of Vicious Mind','4','20','10','1350','135','0','0','1','1','414947','63','2','2','4','160',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('13500','Insurance60_Package','Life Insurrance Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14500,10;','','');
REPLACE INTO `item_db` VALUES ('13501','Assorted_Scroll_Box','Experience Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -7006,8 +7022,8 @@ REPLACE INTO `item_db` VALUES ('13517','Yggdrasilberry_Box','Yggdrasil Berry Box
REPLACE INTO `item_db` VALUES ('13518','Weapon_Card_Scroll_Box','Weapon Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13558,1;','','');
REPLACE INTO `item_db` VALUES ('13519','Armor_Card_Scroll_Box','Armor Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13559,1;','','');
REPLACE INTO `item_db` VALUES ('13520','Helmet_Card_Scroll_Box','Helmet Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13560,1;','','');
-REPLACE INTO `item_db` VALUES ('13521','Garment_Card_Scroll_Box','Garment Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13561,1;','','');
-REPLACE INTO `item_db` VALUES ('13522','Shield_Card_Scroll_Box','Shield Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13562,1;','','');
+REPLACE INTO `item_db` VALUES ('13521','Hood_Card_Scroll_Box','Garment Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13561,1;','','');
+REPLACE INTO `item_db` VALUES ('13522','Hood_Card_Scroll_Box2','Shield Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13562,1;','','');
REPLACE INTO `item_db` VALUES ('13523','Shoes_Card_Scroll_Box','Shoes Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13563,1;','','');
REPLACE INTO `item_db` VALUES ('13524','Accy_Card_Scroll_Box','Accessory Card Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13564,1;','','');
REPLACE INTO `item_db` VALUES ('13525','Zeny_Scroll_Box','Zeny Pet Egg Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14508,1;','','');
@@ -7379,12 +7395,12 @@ REPLACE INTO `item_db` VALUES ('13892','Water_Converter_Box','Water Converter Bo
REPLACE INTO `item_db` VALUES ('13893','Wind_Converter_Box','Wind Converter Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12117,10;','','');
REPLACE INTO `item_db` VALUES ('13894','Earth_Converter_Box','Earth Converter Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12116,10;','','');
REPLACE INTO `item_db` VALUES ('13895','Starter_Pack','Starter Pack','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 7229,2; getitem 569,300; getitem 504,20; getitem 505,20; getitem 7060,30; getitem 2403,1; getitem 5039,1; getitem 2503,1; getitem 2307,1; getitem 616,1; getitem 603,1; getitem 617,1; getitem 610,5; getitem 604,5;','','');
-REPLACE INTO `item_db` VALUES ('13896','Mimic_Scroll_Box5','Mimic Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13897','Disguise_Scroll_Box5','Disguise Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13898','Alice_Scroll_Box5','Alice Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 5;','','');
-REPLACE INTO `item_db` VALUES ('13899','Mimic_Scroll_Box10','Mimic Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 10;','','');
-REPLACE INTO `item_db` VALUES ('13900','Disguise_Scroll_Box10','Disguise Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 10;','','');
-REPLACE INTO `item_db` VALUES ('13901','Alice_Scroll_Box10','Alice Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13896','Mimic_Summon_Box5','Mimic Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13897','Disguise_Summon_Box5','Disguise Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13898','Alice_Summon_Box5','Alice Summoning Box(5)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 5;','','');
+REPLACE INTO `item_db` VALUES ('13899','Mimic_Summon_Box10','Mimic Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mimic_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13900','Disguise_Summon_Box10','Disguise Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Disguise_Scroll, 10;','','');
+REPLACE INTO `item_db` VALUES ('13901','Alice_Summon_Box10','Alice Summoning Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Alice_Scroll, 10;','','');
REPLACE INTO `item_db` VALUES ('13902','Fish_Head_Hat_Box','Fish Head Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5380,1;','','');
REPLACE INTO `item_db` VALUES ('13903','Santa_Poring_Hat_Box','Santa Poring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5381,1;','','');
REPLACE INTO `item_db` VALUES ('13904','Bell_Ribbon_Box','Bell Ribbon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5382,1;','','');
@@ -7394,10 +7410,10 @@ REPLACE INTO `item_db` VALUES ('13907','Soft_Core_Set_Box','XM Softcore Set Box'
REPLACE INTO `item_db` VALUES ('13908','Deviruchi_Set_Box','Class Set Card Album','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5227,1; getitem 5228,1; getitem 5229,1;','','');
REPLACE INTO `item_db` VALUES ('13909','MVP_Hunt_Box','MVP Hunting Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 7621,1; getitem 12210,1; getitem 12221,1; getitem 12214,3;','','');
REPLACE INTO `item_db` VALUES ('13910','Brewing_Box','XM Brewing Set Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12204,10; getitem 12205,10; getitem 12206,10;','','');
-REPLACE INTO `item_db` VALUES ('13911','Christmas_Pet_Scroll','Christmas Pet Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13912','Pty_Blessing_Box','Party Blessing 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14588,10;','','');
-REPLACE INTO `item_db` VALUES ('13913','Pty_Inc_Agi_Box','Party Increase Agi 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14589,10;','','');
-REPLACE INTO `item_db` VALUES ('13914','Pty_Assumptio_Box','Party Assumptio 5 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14590,10;','','');
+REPLACE INTO `item_db` VALUES ('13911','Xmas_Pet_Scroll','Christmas Pet Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13912','Party_Blessing_Box','Party Blessing 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14588,10;','','');
+REPLACE INTO `item_db` VALUES ('13913','Party_Inc_Agi_Box','Party Increase Agi 10 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14589,10;','','');
+REPLACE INTO `item_db` VALUES ('13914','Party_Assumptio_Box','Party Assumptio 5 Scroll Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14590,10;','','');
REPLACE INTO `item_db` VALUES ('13915','Love_Angel_Box','Love Angel Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 12287,604800;','','');
REPLACE INTO `item_db` VALUES ('13916','Squirrel_Box','Squirrel Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 12288,604800;','','');
REPLACE INTO `item_db` VALUES ('13917','Gogo_Box','Gogo Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 12289,604800;','','');
@@ -7408,7 +7424,7 @@ REPLACE INTO `item_db` VALUES ('13921','Antique_Pipe_Box','Gentleman\'s Pipe Box
REPLACE INTO `item_db` VALUES ('13922','Rabbit_Ear_Hat_Box','Bunny Top Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5378,1;','','');
REPLACE INTO `item_db` VALUES ('13923','Darkness_Helm_Box','Dark Randgris Helm Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5373,1;','','');
REPLACE INTO `item_db` VALUES ('13924','L_Orc_Hero_Helm_Box','Orc Hero Headdress Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5375,1;','','');
-REPLACE INTO `item_db` VALUES ('13925','Year_Of_Mouse_Scroll','Mouse Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13925','Lucky_Scroll08','Mouse Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('13926','Crusader_Card_Box','Crusader Card Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 4371,1; getitem 4311,1; getitem 4319,1; getitem 4331,1;','','');
REPLACE INTO `item_db` VALUES ('13927','Alchemist_Card_Box','Alchemist Card Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 4281,1; getitem 4233,1; getitem 4343,1; getitem 4186,1; getitem 4036,1;','','');
REPLACE INTO `item_db` VALUES ('13928','Rogue_Card_Box','Rogue Card Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 4039,1; getitem 4210,1; getitem 4257,1; getitem 4230,1; getitem 4348,1;','','');
@@ -7424,16 +7440,16 @@ REPLACE INTO `item_db` VALUES ('13937','Robo_Eye_Box','Robo Eye Box','18','20','
REPLACE INTO `item_db` VALUES ('13938','Twin_Ribbon_Box','Maiden\'s Twin Ribbon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5187,1;','','');
REPLACE INTO `item_db` VALUES ('13939','Diadem_Box','Diadem Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5313,1;','','');
REPLACE INTO `item_db` VALUES ('13940','Siege_Tele_Scroll_Box','WoE Teleport Scroll 100 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14591,100;','','');
-REPLACE INTO `item_db` VALUES ('13941','TW_Valentine_Scroll','Taiwan Valentine Scroll','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13941','Valentine_Scroll_TW','Taiwan Valentine Scroll','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13942','Love_Angel_Box_1m','Love Angel Magic Powder Box 30 Days','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 14009,2592000;','','');
REPLACE INTO `item_db` VALUES ('13943','Squirrel_Box_1m','Squirrel Magic Powder Box 30 Days','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 14010,2592000;','','');
REPLACE INTO `item_db` VALUES ('13944','Gogo_Box_1m','Gogo Magic Powder Box 30 Days','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 14011,2592000;','','');
-REPLACE INTO `item_db` VALUES ('13945','BRO_SM_Package','Brazil Swordsman Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13946','BRO_MG_Package','Brazil Magician Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13947','BRO_AC_Package','Brazil Acolyte Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13948','BRO_AR_Package','Brazil Archer package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13949','BRO_MC_Package','Brazil Merchant Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('13950','BRO_TF_Package','Brazil Thief Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13945','Br_SwordPackage','Brazil Swordsman Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13946','Br_MagePackage','Brazil Magician Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13947','Br_AcolPackage','Brazil Acolyte Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13948','Br_ArcherPackage','Brazil Archer package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13949','Br_MerPackage','Brazil Merchant Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('13950','Br_ThiefPackage','Brazil Thief Package','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('13951','Wasteland_Outlaw_Box','Western Outlaw Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 13109,604800;','','');
REPLACE INTO `item_db` VALUES ('13952','Lever_Action_Rifle_Box','Lever Action Rifle Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 13170,604800;','','');
REPLACE INTO `item_db` VALUES ('13953','All_In_One_Ring_Box','All In One Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2741,604800;','','');
@@ -7713,18 +7729,18 @@ REPLACE INTO `item_db` VALUES ('14226','Quagmire_Scroll_Box50','Quagmire Scroll
REPLACE INTO `item_db` VALUES ('14227','Healing_Staff_Box','Staff of Healing Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 1638,604800;','','');
REPLACE INTO `item_db` VALUES ('14228','Praxinus_Box','Praccsinos Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2752,604800;','','');
REPLACE INTO `item_db` VALUES ('14229','Cherry_Blossom_Scroll','Cherry Blossoms Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('14230','Note_Headphones_Box','Note Headphones Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5151,1;','','');
-REPLACE INTO `item_db` VALUES ('14231','Novice_Breastplate_Boxes','Novice Breastplate Boxes','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('14230','Headphone_Box','Note Headphones Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5151,1;','','');
+REPLACE INTO `item_db` VALUES ('14231','Novice_Box','Novice Breastplate Boxes','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14232','Yggdrasilberry_Box_','Yggdrasil Berry Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 607,10;','','');
REPLACE INTO `item_db` VALUES ('14233','Dead_Tree_Branch_Box1','Dead Branch Box(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 604,10;','','');
REPLACE INTO `item_db` VALUES ('14234','Dead_Tree_Branch_Box2','Dead Branch Box(25)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 604,25;','','');
REPLACE INTO `item_db` VALUES ('14235','Field_Manual_Box_2','Field Manual 2 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12208,2;','','');
-REPLACE INTO `item_db` VALUES ('14236','Steamed_Tongue_Box_20','Steamed Tongue 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12202,20;','','');
-REPLACE INTO `item_db` VALUES ('14237','Steamed_Desert_Scorpions_Box_20','Steamed Desert Scorpions Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12203,20;','','');
-REPLACE INTO `item_db` VALUES ('14238','Stew_Of_Immortality_Box_20','Immortal Stew 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12207,20;','','');
-REPLACE INTO `item_db` VALUES ('14239','Dragon_Breath_Cocktail_Box_20','Dragon Breath Cocktail 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12204,20;','','');
-REPLACE INTO `item_db` VALUES ('14240','Hwergelmir\'s_Tonic_Box_20','Hwergelmir\'s Tonic 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12205,20;','','');
-REPLACE INTO `item_db` VALUES ('14241','Nine_Tail_Dish_Box_20','Nine Tail Dish 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12206,20;','','');
+REPLACE INTO `item_db` VALUES ('14236','Str_Dish_Box60','Steamed Tongue 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12202,20;','','');
+REPLACE INTO `item_db` VALUES ('14237','Agi_Dish_Box60','Steamed Desert Scorpions Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12203,20;','','');
+REPLACE INTO `item_db` VALUES ('14238','Int_Dish_Box60','Immortal Stew 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12207,20;','','');
+REPLACE INTO `item_db` VALUES ('14239','Dex_Dish_Box60','Dragon Breath Cocktail 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12204,20;','','');
+REPLACE INTO `item_db` VALUES ('14240','Luk_Dish_Box60','Hwergelmir\'s Tonic 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12205,20;','','');
+REPLACE INTO `item_db` VALUES ('14241','Vit_Dish_Box60','Nine Tail Dish 20 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12206,20;','','');
REPLACE INTO `item_db` VALUES ('14242','Beholder_Ring_Box','Beholder Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2753,604800;','','');
REPLACE INTO `item_db` VALUES ('14243','Hallow_Ring_Box','Hallow Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2754,604800;','','');
REPLACE INTO `item_db` VALUES ('14244','Clamorous_Ring_Box','Clamorous Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2755,604800;','','');
@@ -7757,38 +7773,38 @@ REPLACE INTO `item_db` VALUES ('14270','Freshman_Magic_Powder_Box4','Freshman Ma
REPLACE INTO `item_db` VALUES ('14271','Kid_Magic_Powder_Box4','Kid Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14272','Magic_Magic_Powder_Box4','Magic Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14273','JJangu_Magic_Powder_Box4','JJangu Magic Powder Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('14274','Amplification_10_Scroll_Box2','Mystical Amplification Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,10;','','');
-REPLACE INTO `item_db` VALUES ('14275','Amplification_30_Scroll_Box2','Mystical Amplification Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,30;','','');
-REPLACE INTO `item_db` VALUES ('14276','Amplification_50_Scroll_Box2','Mystical Amplification Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,50;','','');
-REPLACE INTO `item_db` VALUES ('14277','Quagmire_10_Scroll_Box2','Quagmire Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,10;','','');
-REPLACE INTO `item_db` VALUES ('14278','Quagmire_30_Scroll_Box2','Quagmire Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,30;','','');
-REPLACE INTO `item_db` VALUES ('14279','Quagmire_50_Scroll_Box2','Quagmire Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,50;','','');
+REPLACE INTO `item_db` VALUES ('14274','F_Magic_Scroll_Box','Mystical Amplification Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,10;','','');
+REPLACE INTO `item_db` VALUES ('14275','F_Magic_Scroll_Box30','Mystical Amplification Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,30;','','');
+REPLACE INTO `item_db` VALUES ('14276','F_Magic_Scroll_Box50','Mystical Amplification Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14593,50;','','');
+REPLACE INTO `item_db` VALUES ('14277','F_Quagmire_Scroll_Box','Quagmire Scroll 10 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,10;','','');
+REPLACE INTO `item_db` VALUES ('14278','F_Quagmire_Scroll_Box30','Quagmire Scroll 30 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,30;','','');
+REPLACE INTO `item_db` VALUES ('14279','F_Quagmire_Scroll_Box50','Quagmire Scroll 50 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14594,50;','','');
REPLACE INTO `item_db` VALUES ('14280','Healing_Staff_Box2','Healing Staff Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 1638,604800;','','');
REPLACE INTO `item_db` VALUES ('14281','Praccsinos_Box','Praccsinos_Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2752,604800;','','');
REPLACE INTO `item_db` VALUES ('14282','Emperium_Box','Emperium Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 714,1;','','');
REPLACE INTO `item_db` VALUES ('14283','Marriage_Covenant_Box','Marriage Certificate Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6026,1;','','');
-REPLACE INTO `item_db` VALUES ('14284','Muffler_Box','Muffler Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2548,604800;','','');
-REPLACE INTO `item_db` VALUES ('14285','Balkiriah_Shield_Box','Balkiriah Shield Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2137,604800;','','');
-REPLACE INTO `item_db` VALUES ('14286','Skull_Ring_Box','Skull Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2763,604800;','','');
-REPLACE INTO `item_db` VALUES ('14287','Baricade_Repair_Kit','Barricade Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 1019,30; getitem 999,10; getitem 1011,10; getitem 984,5;','','');
-REPLACE INTO `item_db` VALUES ('14288','Guardian_Stone_Repair_Kit','Guardian Stone Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 984,1; getitem 985,1; getitem 7049,30; getitem 717,5; getitem 716,5; getitem 715,5;','','');
+REPLACE INTO `item_db` VALUES ('14284','Muffler_C_Box','Muffler Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2548,604800;','','');
+REPLACE INTO `item_db` VALUES ('14285','Valkyrjas_Shield_C_Box','Balkiriah Shield Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2137,604800;','','');
+REPLACE INTO `item_db` VALUES ('14286','Skul_Ring_C_Box','Skull Ring Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem 2763,604800;','','');
+REPLACE INTO `item_db` VALUES ('14287','S_Barricade_Repair_Kit','Barricade Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 1019,30; getitem 999,10; getitem 1011,10; getitem 984,5;','','');
+REPLACE INTO `item_db` VALUES ('14288','S_Gstone_Repair_Kit','Guardian Stone Repair Kit','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 984,1; getitem 985,1; getitem 7049,30; getitem 717,5; getitem 716,5; getitem 715,5;','','');
REPLACE INTO `item_db` VALUES ('14289','Cloth_Dye_Coupon_Box','Clothing Dye Coupon Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6046,1;','','');
REPLACE INTO `item_db` VALUES ('14290','Cloth_Dye_Coupon2_Box','Clothing Dye Coupon Box II','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6047,1;','','');
REPLACE INTO `item_db` VALUES ('14291','Cloth_Dye_Coupon3_Box','Clothing Dye Coupon Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6046,1;','','');
REPLACE INTO `item_db` VALUES ('14292','Cloth_Dye_Coupon4_Box','Clothing Dye Coupon Box II','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6047,1;','','');
REPLACE INTO `item_db` VALUES ('14293','Mercenary_Contract_Box','Mercenary Contract Box','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6050,1;','','');
-REPLACE INTO `item_db` VALUES ('14294','Mercenary_Contract_Box5','Mercenary Contract Box 5ea','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6050,5;','','');
-REPLACE INTO `item_db` VALUES ('14295','Mercenary_Contract_Box10','Mercenary Contract Box 10ea','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6050,10;','','');
+REPLACE INTO `item_db` VALUES ('14294','Mercenary_Contract_5Box','Mercenary Contract Box 5ea','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6050,5;','','');
+REPLACE INTO `item_db` VALUES ('14295','Mercenary_Contract_10Bo','Mercenary Contract Box 10ea','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6050,10;','','');
REPLACE INTO `item_db` VALUES ('14296','Angel_Scroll','Angel Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14297','Devil_Scroll','Devil Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14298','Surprise_Scroll','Surprised Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14300','Mask_Of_Ifrit_Box','Mask Of Ifrit Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5420,1;','','');
-REPLACE INTO `item_db` VALUES ('14301','Ifrit\'s_Ear_Box','Ifrit\'s Ear Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5421,1;','','');
+REPLACE INTO `item_db` VALUES ('14301','Ifrits_Ear_Box','Ifrit\'s Ear Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5421,1;','','');
REPLACE INTO `item_db` VALUES ('14304','Scuba_Mask_Box','Scuba Mask Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5397,1;','','');
REPLACE INTO `item_db` VALUES ('14306','RWC_Special_Scroll','RWC Special Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14307','RWC_Limited_Scroll','RWC Limited Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14308','Ardor_Scroll','Ardor Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('14314','PhreeoniS_Box','Phreeoni Scroll Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem PhreeoniS, 10;','','');
+REPLACE INTO `item_db` VALUES ('14314','Phreeoni_Scroll_Box','Phreeoni Scroll Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem PhreeoniS, 10;','','');
REPLACE INTO `item_db` VALUES ('14315','GhostringS_Box','Ghostring Scroll Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem GhostringS, 10;','','');
REPLACE INTO `item_db` VALUES ('14316','July7_Scroll','Love Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14317','Bacsojin_Scroll','Bacsojin Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
@@ -7797,8 +7813,8 @@ REPLACE INTO `item_db` VALUES ('14344','Rainbow_Scarf_Box','Rainbow Scarf Box','
REPLACE INTO `item_db` VALUES ('14345','Animal_Scroll','Animal Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('14349','Mental_Potion20_Box','Mental Potion Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mental_Potion,20;','','');
REPLACE INTO `item_db` VALUES ('14350','Mental_Potion50_Box','Mental Potion Box(50)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Mental_Potion,50;','','');
-REPLACE INTO `item_db` VALUES ('14351','Tyr\'s_Blessing20_Box','Tyr\'s Blessing Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Tyr\'s_Blessing,20;','','');
-REPLACE INTO `item_db` VALUES ('14352','Tyr\'s_Blessing50_Box','Tyr\'s Blessing Box(50)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Tyr\'s_Blessing,50;','','');
+REPLACE INTO `item_db` VALUES ('14351','Tyrs_Blessing20_Box','Tyr\'s Blessing Box(20)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Tyrs_Blessing,20;','','');
+REPLACE INTO `item_db` VALUES ('14352','Tyrs_Blessing50_Box','Tyr\'s Blessing Box(50)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Tyrs_Blessing,50;','','');
REPLACE INTO `item_db` VALUES ('14359','TaogunkaS_Box','Tao Gunka Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem TaogunkaS, 10;','','');
REPLACE INTO `item_db` VALUES ('14360','MistressS_Box','Mistress Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem MistressS, 10;','','');
REPLACE INTO `item_db` VALUES ('14361','Orc_HeroS_Box','Orc Hero Scroll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Orc_HeroS, 10;','','');
@@ -7818,15 +7834,15 @@ REPLACE INTO `item_db` VALUES ('14385','Death_Note_Box_M','Book of the Dead Box'
REPLACE INTO `item_db` VALUES ('14393','Almighty_Charm_Box','Universal Amulet Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 7945,1;','','');
REPLACE INTO `item_db` VALUES ('14407','Xmas_Scroll','Christmas Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14408','New_Year_Scroll','Solar Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('14438','Honglyun\'s_Sword_Box','Honglyun\'s Sword Sword Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13420,1;','','');
+REPLACE INTO `item_db` VALUES ('14438','Honglyuns_Sword_Box','Honglyun\'s Sword Sword Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 13420,1;','','');
REPLACE INTO `item_db` VALUES ('14439','Power_Of_Thor_Box','Power Of Thor Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5495,1;','','');
REPLACE INTO `item_db` VALUES ('14440','Dice_Hat_Box','Dice Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5496,1;','','');
REPLACE INTO `item_db` VALUES ('14441','King_Tiger_Doll_Hat_Box','King Tiger Doll Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5497,1;','','');
REPLACE INTO `item_db` VALUES ('14442','Wondering_Wolf_Helm_Box','Wandering Wolf Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5498,1;','','');
REPLACE INTO `item_db` VALUES ('14443','Pizza_Hat_Box','Pizza Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5499,1;','','');
REPLACE INTO `item_db` VALUES ('14444','Icecream_Hat_Box','Ice Cream Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5500,1;','','');
-REPLACE INTO `item_db` VALUES ('14447','Pirate\'s_Pride_Box','Scallywag\'s Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5501,1;','','');
-REPLACE INTO `item_db` VALUES ('14448','Necromencer\'s_Hood_Box','Necromancer Hood Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5502,1;','','');
+REPLACE INTO `item_db` VALUES ('14447','Pirates_Pride_Box','Scallywag\'s Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5501,1;','','');
+REPLACE INTO `item_db` VALUES ('14448','Necromencers_Hood_Box','Necromancer Hood Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5502,1;','','');
REPLACE INTO `item_db` VALUES ('14459','Rabbit_Magic_Hat_Box','Magic Rabbit Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5503,1;','','');
REPLACE INTO `item_db` VALUES ('14460','China_Wedding_Veil_Box','RO 5th Wedding Anniversary Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5504,1;','','');
REPLACE INTO `item_db` VALUES ('14461','Asara_Fairy_Hat_Box','Ashura Fairy Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5505,1;','','');
@@ -7847,11 +7863,11 @@ REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11
REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','itemskill WZ_VERMILION,10;','','');
REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','itemskill PR_LEXAETERNA,1;','','');
REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','11','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','itemskill PR_MAGNIFICAT,5;','','');
-REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),237,5;','','');
-REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),235,5;','','');
-REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),236,5;','','');
-REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3),234,5;','','');
-REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(3),108,1;','','');
+REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5;','','');
+REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5;','','');
+REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5;','','');
+REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5;','','');
+REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1;','','');
REPLACE INTO `item_db` VALUES ('14522','Big_Bun','Big Bun','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('14523','Pill_','Pill','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','percentheal 0,100;','','');
REPLACE INTO `item_db` VALUES ('14524','Superb_Fish_Slice','Superb Fish Slice','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','percentheal 100,100;','','');
@@ -7931,7 +7947,7 @@ REPLACE INTO `item_db` VALUES ('14597','PhreeoniS','Phreeoni Scroll','2','0','0'
REPLACE INTO `item_db` VALUES ('14598','GhostringS','Ghostring Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_LIGHTSPHERE; sc_start4 SC_ARMOR_PROPERTY, 60000, 1, Ele_Neutral, 1, 0;','','');
REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('14600','Mental_Potion','Mental Potion','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_TARGET_ASPD, 1800000, 10;','','');
-REPLACE INTO `item_db` VALUES ('14601','Tyr\'s_Blessing','Tyr\'s Blessing','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
+REPLACE INTO `item_db` VALUES ('14601','Tyrs_Blessing','Tyr\'s Blessing','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
REPLACE INTO `item_db` VALUES ('14602','TaogunkaS','Tao Gunka Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_LIGHTSPHERE; sc_start4 SC_MVPCARD_TAOGUNKA, 1800000, 100, 50, 50, 0;','','');
REPLACE INTO `item_db` VALUES ('14603','MistressS','Mistress Scroll','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_MVPCARD_MISTRESS, 180000, 25;','','');
REPLACE INTO `item_db` VALUES ('14604','Orc_HeroS','Orc Hero Scard','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MVPCARD_ORCHERO, 180000, 100;','','');
@@ -7953,7 +7969,7 @@ REPLACE INTO `item_db` VALUES ('14621','LUK_Biscuit_Stick','Bar of Luck','2','0'
REPLACE INTO `item_db` VALUES ('14674','Cup_Of_Boza','Cup Of Boza','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start2 SC_CUP_OF_BOZA, 120000, 10, 5;','','');
REPLACE INTO `item_db` VALUES ('14680','Cup_Of_Mintlemon','Cup Of Mintlemon','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_VIT, 180000, 15; specialeffect2 EF_GUARD; sc_start SC_PROTECT_DEF, 60000, 3; sc_start SC_PROTECT_MDEF, 60000, 3;','','');
REPLACE INTO `item_db` VALUES ('15000','Bone_Plate','Bone Plate','5','20','10','1000','0','0','60','0','1','414946','58','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,NPC_WIDEBLEEDING,1,10;','','');
-REPLACE INTO `item_db` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15001','Odins_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','18446744073709551614','63','2','16','0','0',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('15002','Rune_Plate','Rune Plate','5','0','0','0','0','0','95','0','1','128','56','2','16','0','99',NULL,'1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('15003','Freyja_SRobe7','Freya Soul Robe','5','0','0','300','0','0','7','0','0','18446744073709551615','63','2','16','0','20',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,700;','','');
REPLACE INTO `item_db` VALUES ('15004','Freyja_SRobe30','Freya Soul Robe','5','0','0','300','0','0','7','0','0','18446744073709551615','63','2','16','0','20',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,700;','','');
@@ -8001,7 +8017,7 @@ REPLACE INTO `item_db` VALUES ('15045','Armor_Of_Valor','Armor Of Valor','5','0'
REPLACE INTO `item_db` VALUES ('15046','Siege_Plate','WoE Plate','5','10','5','3300','0','0','85','0','1','6571170','63','2','16','0','95',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bAddRaceTolerance,RC_Player,2; if(getrefine()>5) { bonus bHealPower2,12; bonus bAddItemHealRate,12; } if(getrefine()>8) { bonus bMaxHPrate,25; }','','');
REPLACE INTO `item_db` VALUES ('15047','Siege_Suits','WoE Suits','5','10','5','750','0','0','50','0','1','594435306','63','2','16','0','95',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus2 bAddRaceTolerance,RC_Player,2; if(getrefine()>5) { bonus bFlee2,5; bonus bLongAtkDef,20; } if(getrefine()>8) { bonus bMaxHPrate,15; }','','');
REPLACE INTO `item_db` VALUES ('15048','Siege_Robe','WoE Robe','5','10','5','500','0','0','40','0','1','8487701','63','2','16','0','95',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,20; bonus2 bAddRaceTolerance,RC_Player,2; if(getrefine()>5) { bonus bFlee,5; bonus bLongAtkDef,15; } if(getrefine()>8) { bonus bMaxHP,1000; bonus bMaxSP,100; }','','');
-REPLACE INTO `item_db` VALUES ('15049','Invincible_God_Clothes','Invincible God Clothes','5','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','16','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,4; bonus2 bAddRaceTolerance,RC_DemiPlayer,10;','','');
+REPLACE INTO `item_db` VALUES ('15049','Armor_Of_Faith','Invincible God Clothes','5','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','16','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,4; bonus2 bAddRaceTolerance,RC_DemiPlayer,10;','','');
REPLACE INTO `item_db` VALUES ('15050','Armor_Of_Sanctity','Province','5','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','16','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,4; bonus bInt,4; bonus bVit,4; bonus bDex,4; bonus bAgi,4; bonus bLuk,4;','','');
REPLACE INTO `item_db` VALUES ('15051','Bakonawa_Armor','Bakonawa Scale Armor','5','20','10','500','0','0','55','0','0','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Boss,getrefine()/2; bonus bAllStats,1;','','');
REPLACE INTO `item_db` VALUES ('15052','Bayani_Bakonawa_Armor','Bakonawa Scale Armor(Bayani)','5','20','10','500','0','0','55','0','1','18446744073709551615','63','2','16','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Boss,getrefine()/2; bonus bAllStats,2;','','');
@@ -8019,17 +8035,22 @@ REPLACE INTO `item_db` VALUES ('15063','TE_Woe_Chain_Mail','TE Woe Chain Mail','
REPLACE INTO `item_db` VALUES ('15064','TE_Woe_Mage_Coat','TE Woe Mage Coat','5','0','0','0','0','0','5','0','0','8487701','63','2','16','0','40',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,25; bonus bMaxHP,200; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableArmor,0;','','');
REPLACE INTO `item_db` VALUES ('15066','Engraved_Armor','Engraved Armor','5','0','0','3000','0','0','120','0','1','16514','56','2','16','0','150',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,25;','','');
REPLACE INTO `item_db` VALUES ('15067','Rune_Suit','Rune Suit','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','16','0','1','100','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_All,10;','','');
-REPLACE INTO `item_db` VALUES ('15068','Adv_Angel\'s_Protection','Advanced Angelic Protection','5','10000','5000','600','0','0','40','0','1','1','47','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,30;','','');
-REPLACE INTO `item_db` VALUES ('15073','Anti-Magic_Suit','Anti-Magic Suit','5','20','10','1500','0','0','50','0','1','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5; bonus bMdef,10; if (getrefine()>6) { bonus bMdef,5; } if (getrefine()>8) { bonus bMaxHPrate,2; }','','');
-REPLACE INTO `item_db` VALUES ('15074','Geffen_Magic_Robe','Geffen Magic Robe','5','20','10','1000','0','0','40','0','1','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-10; bonus bVariableCastrate,15; bonus bNoCastCancel,0; if (getrefine()>6) { bonus bUseSPrate,-5; } if (getrefine()>8) { bonus bVariableCastrate,-5; }','','');
-REPLACE INTO `item_db` VALUES ('15089','Menswear','Menswear','4','20','10','300','0','0','40','0','0','18446744073709551614','63','2','16','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,3+((getrefine()>=7)?2:0); bonus bDelayrate,-3-((getrefine()>=7)?2:0); bonus bVariableCastrate,-3-((getrefine()>=7)?2:0);','','');
-REPLACE INTO `item_db` VALUES ('15090','Gray_Armor','Gray Armor','5','0','0','2400','0','0','90','0','1','414954','56','2','16','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus2 bSubEle,Ele_Holy,10+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('15068','Im_Angels_Protection','Advanced Angelic Protection','5','10000','5000','600','0','0','40','0','1','1','47','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,30;','','');
+REPLACE INTO `item_db` VALUES ('15073','Anti_Magic_Suit','Anti-Magic Suit','5','20','10','1500','0','0','50','0','1','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5; bonus bMdef,10; if (getrefine()>6) { bonus bMdef,5; } if (getrefine()>8) { bonus bMaxHPrate,2; }','','');
+REPLACE INTO `item_db` VALUES ('15074','Geffen_Mage_Robe','Geffen Magic Robe','5','20','10','1000','0','0','40','0','1','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-10; bonus bVariableCastrate,15; bonus bNoCastCancel,0; if (getrefine()>6) { bonus bUseSPrate,-5; } if (getrefine()>8) { bonus bVariableCastrate,-5; }','','');
+REPLACE INTO `item_db` VALUES ('15089','Lounge_Suit','Menswear','4','20','10','300','0','0','40','0','0','18446744073709551614','63','2','16','0','80',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,3+((getrefine()>=7)?2:0); bonus bDelayrate,-3-((getrefine()>=7)?2:0); bonus bVariableCastrate,-3-((getrefine()>=7)?2:0);','','');
+REPLACE INTO `item_db` VALUES ('15090','Armor_Of_Gray','Gray Armor','5','0','0','2400','0','0','90','0','1','414954','56','2','16','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus2 bSubEle,Ele_Holy,10+(getrefine()/2);','','');
REPLACE INTO `item_db` VALUES ('15091','Gray_Robe','Gray Robe','5','0','0','1300','0','0','55','0','1','99092','56','2','16','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,10+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('15116','Armor_Of_Airship','Armor Of Airship','5','20','10','700','0','0','100','0','0','18446744073709551615','63','2','16','0','125',NULL,'1','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,1000; bonus bMaxSP,100; bonus bMdef,10; bonus bAllStats,1;','','');
-REPLACE INTO `item_db` VALUES ('15117','Tarlock\'s_Armor','Tarlock\'s Armor','5','20','10','750','0','0','70','0','0','18446744073709551615','63','2','16','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500; bonus bMaxSP,50; bonus bMdef,10; bonus bAllStats,1; if (getrefine()>=7) { bonus bMaxHP,500; bonus bMaxSP,50; } if (getrefine()>=9) { bonus bMaxHP,200; bonus bMaxSP,20; } if (getrefine()>=12) { bonus bMaxHP,300; bonus bMaxSP,30; }','','');
+REPLACE INTO `item_db` VALUES ('15116','Airship_Armor','Armor Of Airship','5','20','10','700','0','0','100','0','0','18446744073709551615','63','2','16','0','125',NULL,'1','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,1000; bonus bMaxSP,100; bonus bMdef,10; bonus bAllStats,1;','','');
+REPLACE INTO `item_db` VALUES ('15117','Felock_Armor','Tarlock\'s Armor','5','20','10','750','0','0','70','0','0','18446744073709551615','63','2','16','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500; bonus bMaxSP,50; bonus bMdef,10; bonus bAllStats,1; if (getrefine()>=7) { bonus bMaxHP,500; bonus bMaxSP,50; } if (getrefine()>=9) { bonus bMaxHP,200; bonus bMaxSP,20; } if (getrefine()>=12) { bonus bMaxHP,300; bonus bMaxSP,30; }','','');
REPLACE INTO `item_db` VALUES ('15123','Whikebain_Suit','Whikebain Suit','5','10','5','9000','0','0','56','0','1','4096','56','2','16','0','105',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,DC_WINKCHARM,1,20; /* Custom - IDRO */ if(getrefine()>4) { bonus bCritAtkRate,4; } if(getrefine()>6) { bonus bCritAtkRate,6; }','','');
-REPLACE INTO `item_db` VALUES ('15128','Excellion_Suit','Excellion Suit','5','20','10','1000','0','0','100','0','0','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,6; bonus bMaxHPrate,(getrefine()/3)*4; if(BaseLevel>130) { bonus bVit,4; }','','');
-REPLACE INTO `item_db` VALUES ('15138','Egir_Armor_K','Aegir Armor','5','200000','100000','1600','0','0','25','0','1','18446744073709551615','63','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableArmor, 0;','','');
+REPLACE INTO `item_db` VALUES ('15126','Female_Poring_Balloon','Private Doram Suits','4','20','10','700','0','0','80','0','1','0','63','2','16','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 100; bonus bDex, getrefine() / 3; bonus bInt, getrefine() / 3;','','');
+REPLACE INTO `item_db` VALUES ('15128','Female_Poring_Egg','Excellion Suit','5','20','10','1000','0','0','100','0','0','18446744073709551615','63','2','16','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,6; bonus bMaxHPrate,(getrefine()/3)*4; if(BaseLevel>130) { bonus bVit,4; }','','');
+REPLACE INTO `item_db` VALUES ('15129','Blue_Bellflower_Hat','Luxury Doram Suit','4','20','10','800','0','0','100','0','1','0','63','2','16','0','140',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 10; bonus bMaxSPrate, 10; bonus bDex, getrefine() / 2; bonus bInt, getrefine() / 2;','','');
+REPLACE INTO `item_db` VALUES ('15138','Aegir_Armor','Aegir Armor','5','200000','100000','1600','0','0','25','0','1','18446744073709551615','63','2','16','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableArmor, 0;','','');
+REPLACE INTO `item_db` VALUES ('15150','White_Shirt','White Shirt','5','20','10','50','0','0','25','0','1','0','63','2','16','0','6',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,70; bonus bFlee,5;','','');
+REPLACE INTO `item_db` VALUES ('15151','White_Eco_Shirt','White Eco-Shirt','4','20','10','100','0','0','40','0','1','0','63','2','16','0','15',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,150; bonus bFlee,10;','','');
+REPLACE INTO `item_db` VALUES ('15156','Elegant_Doram_Suit','Elegant Doram Suit','4','20','10','900','0','0','120','0','1','0','63','2','16','0','175',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 15; bonus bMaxSPrate, 15; bonus bDex, getrefine(); bonus bInt, getrefine(); if (getrefine() > 9) bonus bUseSPrate, -5;','','');
REPLACE INTO `item_db` VALUES ('16000','Erde','Erde','4','20','10','500','130','0','0','1','2','312754','58','2','2','3','50',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus bMaxSP,50; bonus bHealPower,10;','','');
REPLACE INTO `item_db` VALUES ('16001','Red_Square_Bag','Red Square Bag','4','20','10','500','130','0','0','1','2','312754','58','2','2','3','50',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) { bonus2 bAddEff,Eff_Stun,500; }','','');
REPLACE INTO `item_db` VALUES ('16002','Stunner_C','Stunner','4','0','0','0','175','0','0','1','0','33040','63','2','2','3','0',NULL,'0','8','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','','');
@@ -8040,7 +8061,7 @@ REPLACE INTO `item_db` VALUES ('16006','Tourist_Mace','Traveler\'s Mace','4','0'
REPLACE INTO `item_db` VALUES ('16007','Mjolnir_C','Ephemeral Mjolnir','4','20','10','0','250','0','0','1','0','279714','63','2','2','4','95',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus bStr,15; bonus bDex,40;','','');
REPLACE INTO `item_db` VALUES ('16008','F_Spanner_C','Rental Wrench','4','2','1','0','150','0','0','1','0','33040','63','2','2','3','0',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16009','E_Spanner_C','E Spanner C','4','2','1','0','150','0','0','1','0','33040','63','2','2','3','0',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('16010','Red_Ether_Bag','Red Ether Bag','4','20','10','1000','15','100','0','1','1','262144','56','2','2','3','102',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>=6) { bonus2 bSkillAtk,GN_CRAZYWEED,20+((getrefine()-5)*2); bonus2 bSkillAtk,GN_DEMONIC_FIRE,20+((getrefine()-5)*2); } else { bonus2 bSkillAtk,GN_CRAZYWEED,20; bonus2 bSkillAtk,GN_DEMONIC_FIRE,20; }','','');
+REPLACE INTO `item_db` VALUES ('16010','Red_Ether_Bag','Red Ether Bag','4','20','10','1000','15','100','0','1','1','262144','56','2','2','3','102',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine() >= 6) { bonus2 bSkillAtk, GN_CRAZYWEED_ATK, 20 + ((getrefine()-5)*2); bonus2 bSkillAtk, GN_DEMONIC_FIRE, 20 + ((getrefine()-5)*2); } else { bonus2 bSkillAtk, GN_CRAZYWEED_ATK, 20; bonus2 bSkillAtk, GN_DEMONIC_FIRE, 20; }','','');
REPLACE INTO `item_db` VALUES ('16011','Adventure_Mace','Adventure Mace','4','0','0','0','60','0','0','1','0','33040','63','2','2','1','0',NULL,'0','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16012','Academy_Mace','Academy Mace','4','0','0','1000','110','0','0','1','1','33040','63','2','2','1','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16013','Mace_Of_Judgement','Mace Of Judgement','4','20','10','1200','140','180','0','1','2','256','56','2','2','3','100',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; autobonus \"{ bonus2 bMagicAddRace,RC_Demon,20; }\",30,7000,BF_MAGIC,\"{ specialeffect2 EF_SPELLBREAKER; }\"; autobonus \"{ bonus2 bAddRace,RC_Demon,20; }\",5,7000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";','','');
@@ -8057,18 +8078,18 @@ REPLACE INTO `item_db` VALUES ('16023','Metal_Mace','Metal Mace','4','20','10','
REPLACE INTO `item_db` VALUES ('16024','Quadrille_','Quadrille','4','20','10','900','165','0','0','1','2','16','63','2','2','4','40',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddEle,Ele_Earth,10;','','');
REPLACE INTO `item_db` VALUES ('16025','TE_Woe_Mace','TE Woe Mace','4','0','0','0','120','0','0','1','0','16','63','2','2','3','40',NULL,'0','8','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,1; bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Freeze,1000; bonus bHealPower,5;','','');
REPLACE INTO `item_db` VALUES ('16026','RWC_Memory_Mace','RWC Memory Mace','4','20','10','800','100','0','0','1','1','312754','63','2','2','3','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('16027','Evil_Slayer_Destroyer_Hammer','Evil Slayer Destroyer Hammer','4','20','10','1350','120','0','0','1','1','312754','56','2','2','3','100',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
-REPLACE INTO `item_db` VALUES ('16028','Thanatos_Hammer','Thanatos Hammer','4','20','10','3000','180','120','0','1','1','312754','56','2','2','4','120',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('16030','Pilebunker_S','Pile Bunker S','4','0','0','3000','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, (getrefine() / 2);','','');
-REPLACE INTO `item_db` VALUES ('16031','Pilebunker_P','Pile Bunker P','4','0','0','4000','450','0','0','1','0','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk, (getrefine() * 5);','','');
-REPLACE INTO `item_db` VALUES ('16032','Pilebunker_T','Pile Bunker T','4','0','0','3500','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, - getrefine();','','');
+REPLACE INTO `item_db` VALUES ('16027','Hammer_Of_Evil_Slayer','Evil Slayer Destroyer Hammer','4','20','10','1350','120','0','0','1','1','312754','56','2','2','3','100',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('16028','Thanos_Hammer','Thanatos Hammer','4','20','10','3000','180','120','0','1','1','312754','56','2','2','4','120',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('16030','Pilebuncker_S','Pile Bunker S','4','0','0','3000','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, (getrefine() / 2);','','');
+REPLACE INTO `item_db` VALUES ('16031','Pilebuncker_P','Pile Bunker P','4','0','0','4000','450','0','0','1','0','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk, (getrefine() * 5);','','');
+REPLACE INTO `item_db` VALUES ('16032','Pilebuncker_T','Pile Bunker T','4','0','0','3500','400','0','0','1','1','1024','56','2','2','4','130',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate, - getrefine();','','');
REPLACE INTO `item_db` VALUES ('16039','Spoon','Spoon','4','20','10','100','80','0','0','1','1','312755','63','2','2','3','40',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000;','','');
-REPLACE INTO `item_db` VALUES ('16040','Crimson_Mace','Crimson Mace','4','20','10','800','80','0','0','1','2','312755','63','2','2','3','70',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('16040','Scarlet_Mace','Crimson Mace','4','20','10','800','80','0','0','1','2','312755','63','2','2','3','70',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('16041','Mace_of_Vicious_Mind','Mace of Vicious Mind','4','20','10','1300','130','0','0','1','1','312755','63','2','2','4','160',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('16131','Lady_Tanee_Doll_Box','Tanigumi Girl Doll Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5526,1;','','');
REPLACE INTO `item_db` VALUES ('16132','Lunatic_Hat_Box','Lunatic Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5527,1;','','');
REPLACE INTO `item_db` VALUES ('16134','King_Frog_Hat_Box','Frog King Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5528,1;','','');
-REPLACE INTO `item_db` VALUES ('16135','Evil\'s_Bone_Hat_Box','Satanic Bone Helm Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5529,1;','','');
+REPLACE INTO `item_db` VALUES ('16135','Evils_Bone_Hat_Box','Satanic Bone Helm Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5529,1;','','');
REPLACE INTO `item_db` VALUES ('16185','Raven_Cap_Box','Crow Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5530,1;','','');
REPLACE INTO `item_db` VALUES ('16186','B_Dragon_Hat_Box','Baby Dragon Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5531,1;','','');
REPLACE INTO `item_db` VALUES ('16192','Quati_Hat_Box','Quati Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5537,1;','','');
@@ -8102,7 +8123,7 @@ REPLACE INTO `item_db` VALUES ('16260','HD_Bradium_Box10','HD Bradium 10 Box','2
REPLACE INTO `item_db` VALUES ('16261','HD_Carnium_Box10','HD Carnium 10 Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6225,10;','','');
REPLACE INTO `item_db` VALUES ('16269','Cancer_Diadem_Box','Cancer Diadem Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5581,1;','','');
REPLACE INTO `item_db` VALUES ('16270','Cancer_Crown_Box','Cancer Crown Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5582,1;','','');
-REPLACE INTO `item_db` VALUES ('16304','Evil_Incarnation','Deviling Incarnation Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('16304','Evil_Incarnation_Disable','Deviling Incarnation Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16305','Upg_Guard_Box','Reinforcement Guard Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 2149,1;','','');
REPLACE INTO `item_db` VALUES ('16306','F_Upg_Guard_Box','Reinforcement Guard Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 2149,1;','','');
REPLACE INTO `item_db` VALUES ('16307','Upg_Buckler_Box','Reinforcement Buckler Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 2150,1;','','');
@@ -8118,12 +8139,12 @@ REPLACE INTO `item_db` VALUES ('16345','F_Leo_Crown_Box','Leo Crown Box','18','2
REPLACE INTO `item_db` VALUES ('16346','F_Leo_Diadem_Box','Leo Diadem Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5589,1;','','');
REPLACE INTO `item_db` VALUES ('16360','Desert_Prince_Box','Desert Prince Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5591,1;','','');
REPLACE INTO `item_db` VALUES ('16361','FDesert_Prince_Box','Desert Prince Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5591,1;','','');
-REPLACE INTO `item_db` VALUES ('16362','Sigrun\'s_Wing_Box','Sigrun\'s Wings Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5592,1;','','');
-REPLACE INTO `item_db` VALUES ('16363','FSigrun\'s_Wing_Box','Sigrun\'s Wings Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5592,1;','','');
+REPLACE INTO `item_db` VALUES ('16362','Sigruns_Wing_Box','Sigrun\'s Wings Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5592,1;','','');
+REPLACE INTO `item_db` VALUES ('16363','FSigruns_Wing_Box','Sigrun\'s Wings Box','18','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5592,1;','','');
REPLACE INTO `item_db` VALUES ('16368','Virgo_Crown_Box','Virgo Crown Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 5598,1;','','');
REPLACE INTO `item_db` VALUES ('16371','Tw_Aug_Scroll','Tw Aug Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16372','F_Clover_Box_Mouth','Four Leaf Clover Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('16374','BGum_Box_In_Mouth','Chewing Bubblegum R Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('16374','Mouth_Bubble_Gum_Box','Chewing Bubblegum R Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16381','WoE_Teleport_Scroll_100_Box','WoE Teleport Scroll 100 Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12444,100;','','');
REPLACE INTO `item_db` VALUES ('16385','F_Clover_Box_Mouth2','O\'Riley\'s Green Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16386','F_Clover_Box_Mouth4','4 Leaf Clover In Mouth R Box III','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8173,7 +8194,7 @@ REPLACE INTO `item_db` VALUES ('16544','FSnowman_Hat_Box','Snowman Hat Box','18'
REPLACE INTO `item_db` VALUES ('16548','Sagittarius_Crown_Box','Ephemeral Brysinggamen Trade Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5739,1;','','');
REPLACE INTO `item_db` VALUES ('16549','Sagittarius_Diadem_Box','Ephemeral Sleipnir Trade Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5740,1;','','');
REPLACE INTO `item_db` VALUES ('16555','Pr_Reset_Stone_Box','Playspan Reset Stone Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('16556','FPr_Reset_Stone_Box','Reset Stone Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('16556','FPremium_Reset_Stone_Box','Reset Stone Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16557','CP_Helm_Scroll10','CP Helm Scroll10','18','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14517,10;','','');
REPLACE INTO `item_db` VALUES ('16558','CP_Shield_Scroll10','CP Shield Scroll10','18','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14518,10;','','');
REPLACE INTO `item_db` VALUES ('16559','CP_Armor_Scroll10','CP Armor Scroll10','18','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 14519,10;','','');
@@ -8184,7 +8205,7 @@ REPLACE INTO `item_db` VALUES ('16563','BM100_Box_5','BM100 Box 5','18','0','0',
REPLACE INTO `item_db` VALUES ('16565','Capricorn_Crown_Box','Capricorn Crown Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5744,1;','','');
REPLACE INTO `item_db` VALUES ('16567','Capricorn_Diadem_Box','Capricorn Diadem Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5745,1;','','');
REPLACE INTO `item_db` VALUES ('16568','FCapricorn_Diadem_Box','Capricorn Diadem Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5745,1;','','');
-REPLACE INTO `item_db` VALUES ('16569','Summber_Scroll','Komodo Egg','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16569','Summer_Scroll','Komodo Egg','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16576','Illusion_Nothing','Illusion Nothing','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16577','Dragon_Captain','Dragon Captain','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16582','Red_Bunny_Band_Box','Red Bunny Band Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5763,1;','','');
@@ -8197,9 +8218,9 @@ REPLACE INTO `item_db` VALUES ('16601','Blue_Arara_Hat_Box','Blue Arara Hat Box'
REPLACE INTO `item_db` VALUES ('16602','F_Blue_Arara_Hat_Box','F Blue Arara Hat Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5778,1;','','');
REPLACE INTO `item_db` VALUES ('16619','Yellow_Bunnyband_Box','Yellow Bunnyband Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 5783,1;','','');
REPLACE INTO `item_db` VALUES ('16631','Aributa_Scroll','Aributa Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('16638','Life_Ribbon_Box','Ribbon of Life Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('16639','Life_Ribbon_Box2','Ribbon of Life Box II','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('16640','Life_Ribbon_Box3','Life Ribbon Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16638','Ribbon_Of_Life_Box','Ribbon of Life Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16639','Ribbon_Of_Life_Box2','Ribbon of Life Box II','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('16640','Ribbon_Of_Life_Box3','Life Ribbon Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('16652','Flame_Light','Flame Light','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16653','BM75_10Box','BM75 10Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 12563,10;','','');
REPLACE INTO `item_db` VALUES ('16654','Valiant_Will','Valiant Will','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8292,18 +8313,18 @@ REPLACE INTO `item_db` VALUES ('17024','Lovely_Aquarius_Scroll','Lovely Aquarius
REPLACE INTO `item_db` VALUES ('17025','Lovely_Aquarius_Box','Lovely Aquarius Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17026','Boitata_Scroll','Boitata Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17028','Pisces_Diadem_Scroll','Pisces Diadem Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('17029','Pisces_Diadem_Box','Pisces Diadem Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('17029','Pisces_Diadem_Box2','Pisces Diadem Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17030','St_Pat_Hat_box','St Patrick\'s Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18565,1;','','');
REPLACE INTO `item_db` VALUES ('17035','Energetic_Pisces_Scroll','Energetic Pisces Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17036','Energetic_Pisces_Box','Energetic Pisces Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('17037','Transbox_Devi','Transformation Scroll Box(Deviruchi)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12658,10;','','');
-REPLACE INTO `item_db` VALUES ('17038','Transbox_Ray','Transformation Scroll Box(Raydric Archer)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12659,10;','','');
-REPLACE INTO `item_db` VALUES ('17039','Transbox_Mavka','Transformation Scroll Box(Mavka)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12660,10;','','');
-REPLACE INTO `item_db` VALUES ('17040','Transbox_Marduk','Transformation Scroll Box(Manuk)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12661,10;','','');
-REPLACE INTO `item_db` VALUES ('17041','Transbox_Banshee','Transformation Scroll Box(Banshee)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12662,10;','','');
-REPLACE INTO `item_db` VALUES ('17042','Transbox_Poring','Transformation Scroll Box(Poring)(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12663,10;','','');
-REPLACE INTO `item_db` VALUES ('17043','Transbox_Golem','Transformation Scroll Box(Golem)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12664,10;','','');
-REPLACE INTO `item_db` VALUES ('17050','Aries_Scroll','Aries Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('17037','Trans_Box_Devi','Transformation Scroll Box(Deviruchi)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12658,10;','','');
+REPLACE INTO `item_db` VALUES ('17038','Trans_Box_Ray_Arch','Transformation Scroll Box(Raydric Archer)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12659,10;','','');
+REPLACE INTO `item_db` VALUES ('17039','Trans_Box_Mavka','Transformation Scroll Box(Mavka)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12660,10;','','');
+REPLACE INTO `item_db` VALUES ('17040','Trans_Box_Marduk','Transformation Scroll Box(Manuk)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12661,10;','','');
+REPLACE INTO `item_db` VALUES ('17041','Trans_Box_Banshee','Transformation Scroll Box(Banshee)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12662,10;','','');
+REPLACE INTO `item_db` VALUES ('17042','Trans_Box_Poring','Transformation Scroll Box(Poring)(10)','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12663,10;','','');
+REPLACE INTO `item_db` VALUES ('17043','Trans_Box_Golem','Transformation Scroll Box(Golem)(10)','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 12664,10;','','');
+REPLACE INTO `item_db` VALUES ('17050','Aries_Scroll_','Aries Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17051','Aries_Scroll_Box','Aries Scroll Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17052','Holy_Mom_Blaze_Box','Virgin Splendor Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 6472,1;','','');
REPLACE INTO `item_db` VALUES ('17056','Wiz_Card_Album','Wiz Card Album','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8353,7 +8374,7 @@ REPLACE INTO `item_db` VALUES ('17108','Gemi_Crown_Scroll_Box','Gemini Crown Scr
REPLACE INTO `item_db` VALUES ('17109','Capri_Scroll','May You Groove On Pack','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('17110','Aquarius_Scroll','Aquarius Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('17113','Pisces_Scroll','Marching Hat Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('17114','Horn_Of_Ancient_Box','Ancient Horns Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18595,1;','','');
+REPLACE INTO `item_db` VALUES ('17114','Horn_Of_The_Ancient_Box','Ancient Horns Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18595,1;','','');
REPLACE INTO `item_db` VALUES ('17115','Sprout_Hat_Box','Sprout Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18596,1;','','');
REPLACE INTO `item_db` VALUES ('17116','Mercury_Helm_Box','Mercury Riser Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18597,1;','','');
REPLACE INTO `item_db` VALUES ('17118','ASPD_Potion_Box10','ASPD Enhanced Potion Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8368,7 +8389,7 @@ REPLACE INTO `item_db` VALUES ('17127','Leo_Scroll2','March Groove and Win Crate
REPLACE INTO `item_db` VALUES ('17134','RWC_Scroll','RWC Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('17138','Ms_Cancer_Scroll','Cancer Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17139','RWC_Super_Scroll','RWC Super Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
-REPLACE INTO `item_db` VALUES ('17140','Leo_Scroll','Leo Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('17140','Leo_Scroll3','Leo Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17141','Ms_Virgo_Scroll','Virgo Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17143','Ms_Scorpio_Scroll','Scorpius Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17146','Dep_Alice_Hat_Box','Dep Alice Hat Box','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 18630,1;','','');
@@ -8403,8 +8424,8 @@ REPLACE INTO `item_db` VALUES ('17238','Scroll_Of_Holiness','Scroll Of Holiness'
REPLACE INTO `item_db` VALUES ('17239','Horned_Scroll','Horned Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('17240','Mercury_Scroll','Mercury Scroll','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('17245','Idn_Independ_Scroll','Idn Independ Scroll','18','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('17246','HD_Elunium_Box(30)','HD Elunium Box(30)','18','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6241,30;','','');
-REPLACE INTO `item_db` VALUES ('17247','HD_Oridecon_Box(30)','HD Oridecon Box(30)','18','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6240,30;','','');
+REPLACE INTO `item_db` VALUES ('17246','HD_Elu_Box30','HD Elunium Box(30)','18','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6241,30;','','');
+REPLACE INTO `item_db` VALUES ('17247','HD_Ori_Box30','HD Oridecon Box(30)','18','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 6240,30;','','');
REPLACE INTO `item_db` VALUES ('17251','C_Wing_Of_Fly_3Day_Box','Fly Wing Infinite 3rd Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','rentitem C_Wing_Of_Fly,259200;','','');
REPLACE INTO `item_db` VALUES ('17252','RWC_2012_Set_Box','RWC Rally Box','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17253','RWC_2012_Ring_Box','RWC Enchant Reset Ticket Box','18','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 2966,1;','','');
@@ -8442,15 +8463,15 @@ REPLACE INTO `item_db` VALUES ('18115','Orc_Archer_Bow_','Orc Archer\'s Bow','4'
REPLACE INTO `item_db` VALUES ('18116','Metal_Bow','Metal Bow','4','20','10','0','50','0','0','5','1','526344','63','2','34','3','0',NULL,'1','11','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','if(BaseJob==Job_Hunter && Upper!=2) bonus bBaseAtk,10; bonus bBaseAtk,(getrefine()*3); bonus bLongAtkRate,getrefine(); .@val = max(BaseLevel/10, 12); if (.@val > 2) { bonus bBaseAtk,((.@val-2)*5); }','','');
REPLACE INTO `item_db` VALUES ('18117','Royal_Bow','Royal Bow','4','200000','100000','1500','80','0','0','5','1','657416','63','2','34','4','105',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18118','TE_Woe_Bow','TE Woe Bow','4','200000','100000','1500','120','0','0','5','0','657416','63','2','34','3','40',NULL,'0','11','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Curse,1000;','','');
-REPLACE INTO `item_db` VALUES ('18119','Thanatos_Bow','Thanatos Bow','4','20','10','1300','180','110','0','5','1','657416','56','2','34','4','120',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('18120','Evil_Slayer_Piercer_Bow','Evil Slayer Piercer Bow','4','20','10','1350','115','0','0','5','1','657416','56','2','34','3','100',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('18119','Thanos_Bow','Thanatos Bow','4','20','10','1300','180','110','0','5','1','657416','56','2','34','4','120',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('18120','Bow_Of_Evil_Slayer','Evil Slayer Piercer Bow','4','20','10','1350','115','0','0','5','1','657416','56','2','34','3','100',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
REPLACE INTO `item_db` VALUES ('18121','Bow_of_Vicious_Mind','Bow of Vicious Mind','4','20','10','1700','170','0','0','5','1','657416','63','2','34','4','160',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
-REPLACE INTO `item_db` VALUES ('18122','Giant_Bow','Giant Bow','4','20','10','3000','195','0','0','5','1','2048','56','2','34','4','130',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,40; bonus bAspdRate,-15; bonus bHit,-50;','','');
-REPLACE INTO `item_db` VALUES ('18123','Bow_of_Storms','Bow of Storms','4','12400','6200','1500','160','0','0','5','1','526344','56','2','34','4','130',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,30; bonus2 bSkillCooldown,WM_SEVERE_RAINSTORM,-20; bonus2 bSkillUseSP,WM_SEVERE_RAINSTORM,15;','','');
+REPLACE INTO `item_db` VALUES ('18122','Gigantic_Bow','Giant Bow','4','20','10','3000','195','0','0','5','1','2048','56','2','34','4','130',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,40; bonus bAspdRate,-15; bonus bHit,-50;','','');
+REPLACE INTO `item_db` VALUES ('18123','Bow_Of_Storm','Bow of Storms','4','12400','6200','1500','160','0','0','5','1','526344','56','2','34','4','130',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,30; bonus2 bSkillCooldown,WM_SEVERE_RAINSTORM,-20; bonus2 bSkillUseSP,WM_SEVERE_RAINSTORM,15;','','');
REPLACE INTO `item_db` VALUES ('18124','Half_BF_Bow1','Half BF Bow1','4','0','0','0','100','0','0','5','0','657480','63','2','34','3','0',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus2 bAddRace,RC_DemiPlayer,30; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('18126','Blue_Bow','Blue Bow','4','20','10','1200','170','0','0','5','1','2048','56','2','34','3','100',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bDex,5;','','');
+REPLACE INTO `item_db` VALUES ('18126','Ru_Blue_Bow','Blue Bow','4','20','10','1200','170','0','0','5','1','2048','56','2','34','3','100',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bDex,5;','','');
REPLACE INTO `item_db` VALUES ('18128','Infinity_Bow','Infinity Bow','4','0','0','500','160','0','0','5','1','657480','56','2','34','4','100',NULL,'1','11','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18130','Crimson_Bow','Crimson Bow','4','20','10','1200','120','0','0','5','2','657416','63','2','34','3','7',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('18130','Scarlet_Bow','Crimson Bow','4','20','10','1200','120','0','0','5','2','657416','63','2','34','3','7',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('18500','Cheer_Scarf6','Cheering scarf VI','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 60;','','');
REPLACE INTO `item_db` VALUES ('18501','Cheer_Scarf8','Cheering scarf VIII','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 80;','','');
REPLACE INTO `item_db` VALUES ('18502','Cheer_Scarf10','Cheering scarf X','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','369','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bExpAddRace, RC_All, 100;','','');
@@ -8466,11 +8487,11 @@ REPLACE INTO `item_db` VALUES ('18511','Blood_Angel_Wing_Ear','Bloody Angel Wing
REPLACE INTO `item_db` VALUES ('18512','Juho_Necktie','Necktie of Drunkard','5','0','0','0','0','0','1','0','1','18446744073709551615','63','2','256','0','20',NULL,'1','443','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18513','Shining_Sunflower','Shining Sunflower','5','20','10','300','0','0','0','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','681','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2;','','');
REPLACE INTO `item_db` VALUES ('18514','Para_Team_Hat2','Eden Group Hat II','5','0','0','0','0','0','5','0','1','18446744073709551615','63','2','256','0','60',NULL,'1','682','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bBaseAtk,10; }\",50,5000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\"; autobonus \"{ bonus bMatk,10; }\",50,5000,BF_MAGIC,\"{ specialeffect2 EF_MAGICALATTHIT; }\";','','');
-REPLACE INTO `item_db` VALUES ('18515','RTC_1st_Helm','RTC winners Pitching','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','683','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18516','RTC_2nd_Helm','RTC Second Pitching','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','684','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18517','RTC_3rd_Helm','RTC 3rd Winner Hat','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','685','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18518','Ear_Of_Angel\'s_Wing_','Angel Wing Ears','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
-REPLACE INTO `item_db` VALUES ('18519','Ear_Of_Devil\'s_Wing_','Wing of Diablo','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('18515','RTC_Winner_Headgear','RTC winners Pitching','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','683','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18516','RTC_2nd_Headgear','RTC Second Pitching','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','684','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18517','RTC_3rd_Headgear','RTC 3rd Winner Hat','5','6000','3000','2500','0','0','0','0','1','18446744073709551614','63','2','769','0','90',NULL,'0','685','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18518','Ear_Of_Angels_Wing_','Angel Wing Ears','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','512','0','70',NULL,'0','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('18519','Ear_Of_Devils_Wing_','Wing of Diablo','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','512','0','70',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('18520','Jaty_C','Jaty Crown','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','686','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Plant,5; bonus2 bAddRaceTolerance,RC_Brute,5; bonus2 bAddRace,RC_Plant,5; bonus2 bAddRace,RC_Brute,5;','','');
REPLACE INTO `item_db` VALUES ('18521','Lucky_Clover','Lucky Clover','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','50',NULL,'0','571','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bLuk,1; bonus bMaxSP,20;','','');
REPLACE INTO `item_db` VALUES ('18522','Evil_Marcher_Hat','Evil Marching Hat','5','20','10','500','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','687','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bAddRace, RC_All, 2; if(getrefine()>6) { bonus bCriticalRate,10; } if(getrefine()>8) { bonus bLongAtkRate,5; bonus bAtkRate,5; }','','');
@@ -8489,10 +8510,10 @@ REPLACE INTO `item_db` VALUES ('18534','Fancy_Phantom_Mask','Fancy Phantom Mask'
REPLACE INTO `item_db` VALUES ('18535','Pumpkin_Hat_2010','Pumpkin Hat 2010','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18536','Foxtail','Foxtail','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','711','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-1; bonus bMatk,10;','','');
REPLACE INTO `item_db` VALUES ('18537','Malangdo_Hat','Malangdo Hat','5','20','10','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','726','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,6;','','');
-REPLACE INTO `item_db` VALUES ('18538','Devil_Whisper','Spirit Whispers','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','712','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('18538','Evil_Whisper','Spirit Whispers','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','712','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('18539','Skull_Cap','Skull Cap','5','20','10','400','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','713','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,2; if(getrefine() >= 5) { bonus bMatkRate,3; } if(getrefine() >= 7) { bonus bMatkRate,3; }','','');
REPLACE INTO `item_db` VALUES ('18540','Evil_Mask','Demon Mask','5','20','10','1000','0','0','3','0','0','18446744073709551615','63','2','513','0','10',NULL,'0','714','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,1;','','');
-REPLACE INTO `item_db` VALUES ('18541','Little_Feather_Hat','Little Feather Hat','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','715','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bCritAtkRate,10; if(getrefine()>=7) { bonus bCritAtkRate,5; }','','');
+REPLACE INTO `item_db` VALUES ('18541','Little_Fhat','Little Feather Hat','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','715','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bCritAtkRate,10; if(getrefine()>=7) { bonus bCritAtkRate,5; }','','');
REPLACE INTO `item_db` VALUES ('18542','All_Love_Guard','Benevolent Guardian','5','20','10','500','0','0','10','0','1','18446744073709551615','63','2','768','0','30',NULL,'1','716','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower,2; bonus bHealPower2,5; if(getrefine()>6) { bonus bHealPower,3; }','','');
REPLACE INTO `item_db` VALUES ('18543','Witchs_Hat','Witch Hat','5','20','10','300','0','0','7','0','0','18446744073709551615','63','2','256','0','20',NULL,'1','717','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,2; bonus bInt,1; bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('18544','Blrabbit_Hband','Blrabbit Hband','5','20','10','100','0','0','6','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','718','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8500,15 +8521,15 @@ REPLACE INTO `item_db` VALUES ('18545','Whrabbit_Hband','Whrabbit Hband','5','20
REPLACE INTO `item_db` VALUES ('18546','Lover_In_Mouth','Sweetheart Gum Of Mouth','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','720','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18547','Campus_Festival','Campus Festival Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','721','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_INCAGI,2;','','');
REPLACE INTO `item_db` VALUES ('18548','Tiny_Hat','Taini Cap','5','20','10','30','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','722','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('18549','Nabi_Hair_Pin','Butterfly Hairpin','5','20','10','200','0','0','3','0','1','18446744073709551615','63','2','256','0','20',NULL,'1','723','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('18549','Butterfly_Hairpin','Butterfly Hairpin','5','20','10','200','0','0','3','0','1','18446744073709551615','63','2','256','0','20',NULL,'1','723','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('18550','Asgard_Blessing','Asgard Blessing','5','20','10','300','0','0','3','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','724','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
REPLACE INTO `item_db` VALUES ('18551','Galaxy_Circlet','Galaxy Circlet','5','20','10','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','725','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('18552','Proba_Angel_Blessing','Baby Angel Stone Hat','5','20','10','1200','0','0','0','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','444','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2;','','');
REPLACE INTO `item_db` VALUES ('18553','Mini_Tree','Christmas Tree Hat','5','20','10','50','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','727','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18554','King_Prawn_Hat','Amami Old Hat','5','20','10','1000','0','0','8','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','728','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18555','General_Helmet','Dragon General Helm','5','20','10','200','0','0','3','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','729','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bAddRaceTolerance,RC_Dragon,5; bonus2 bAddRace,RC_Dragon,5; bonus2 bMagicAddRace,RC_Dragon,5; bonus3 bAddMonsterDropItem,7444,RC_Dragon,2;','','');
-REPLACE INTO `item_db` VALUES ('18556','Angel_Team_Helm','Angel\'s Symbol','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18557','Devil_Team_Helm','Devil\'s Symbol','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','12','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18556','Angel_Helmet','Angel\'s Symbol','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18557','Devil_Helmet','Devil\'s Symbol','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','12','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18558','Sinsuncho_Hat','Sinsuncho Hat','5','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','256','0','10',NULL,'0','730','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_Plant,5; bonus2 bSubRace,RC_Plant,-10;','','');
REPLACE INTO `item_db` VALUES ('18559','Fafnir_Skin','Fafunirusukin','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18560','Fafnir_Mask','Fafunirumasuku','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','1','0','50',NULL,'0','180','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8579,14 +8600,14 @@ REPLACE INTO `item_db` VALUES ('18624','Rocket_Helm3','Rocket Helm3','5','20','1
REPLACE INTO `item_db` VALUES ('18625','Rocket_Helm_RWC','Rocket Helm','5','10000','5000','1000','0','0','20','0','1','18446744073709551615','63','2','256','0','95',NULL,'1','769','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bAllStats,2; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18626','Gelato_Hat','Gelato Hat','5','20','10','200','0','0','2','0','1','18446744073709551615','63','2','256','0','40',NULL,'1','777','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300; if(getrefine()>6) { skill MG_FROSTDIVER,5; } else { skill MG_FROSTDIVER,1; }','','');
REPLACE INTO `item_db` VALUES ('18627','Dried_Leaf','Dried Leaf','5','20','10','50','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','711','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace,RC_Plant,3;','','');
-REPLACE INTO `item_db` VALUES ('18628','Tare_Brownie','Tare Brownie','5','20','10','500','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'0','781','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHPrate,2; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('18628','Tare_Brownie','Tare Brownie','5','20','10','500','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'0','781','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 5; bonus bMaxHPrate, 2; bonus2 bAddRace, RC_DemiPlayer, 5;','','');
REPLACE INTO `item_db` VALUES ('18629','B_Desert_Wolf_Hat','B Desert Wolf Hat','5','10','5','300','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','783','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,15;','','');
-REPLACE INTO `item_db` VALUES ('18630','Dep_Alice_Hat','Drooping Alice','5','20','10','500','0','0','6','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddRace,RC_Demon,10; if(getrefine()>6) { autobonus \"{ bonus bAspdRate,100; }\",10,7000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\"; }','','');
+REPLACE INTO `item_db` VALUES ('18630','Dep_Alice_Hat','Drooping Alice','5','20','10','500','0','0','6','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_DemiPlayer, 10; bonus2 bAddRace, RC_Demon, 10; if(getrefine() > 6) { autobonus \"{ bonus bAspdRate, 100; }\", 10, 7000, 0, \"{ specialeffect2 EF_POTION_BERSERK; }\"; }','','');
REPLACE INTO `item_db` VALUES ('18631','Ribbon_Chef_Hat','Ribbon Chef hat','5','20','10','300','0','0','5','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','785','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bLuk,1; if(getrefine()>6) { bonus2 bAddMonsterDropItem,12125,500; bonus2 bAddMonsterDropItem,12126,500; bonus2 bAddMonsterDropItem,12127,400; bonus2 bAddMonsterDropItem,12128,300; bonus2 bAddMonsterDropItem,12129,200; }','','');
-REPLACE INTO `item_db` VALUES ('18632','Yellow_Poring_Pin','Yellow Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','786','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18633','Pink_Poring_Pin','Pink Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','787','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18634','Green_Poring_Pin','Green Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','788','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18635','Blue_Poring_Pin','Blue Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','789','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18632','Yellow_Poring_Hairpin','Yellow Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','786','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18633','Pink_Poring_Hairpin','Pink Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','787','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18634','Green_Poring_Hairpin','Green Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','788','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18635','Blue_Poring_Hairpin','Blue Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','789','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18636','Bridal_Ribbon','Ribbon of bride','5','20','10','200','0','0','6','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','790','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus4 bAutoSpellWhenHit,DC_WINKCHARM,1,100,1;','','');
REPLACE INTO `item_db` VALUES ('18637','Ancient_Admiral_Helm','Ancient Admiral Helm','5','20','10','700','0','0','4','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','660','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bVit,1; if(getrefine()>7) { bonus bSpeedRate,25; }','','');
REPLACE INTO `item_db` VALUES ('18638','Citron_Hat','Citron Hat','5','20','10','400','0','0','3','0','0','18446744073709551614','63','2','256','0','0',NULL,'1','791','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus2 bAddRaceTolerance,RC_Plant,10;','','');
@@ -8596,17 +8617,17 @@ REPLACE INTO `item_db` VALUES ('18641','Ribbon_Magic_Hat','Ribbon Magic Hat','5'
REPLACE INTO `item_db` VALUES ('18642','hand_Scissorhand_Model','Scissorhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','795','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
REPLACE INTO `item_db` VALUES ('18643','Rockhand_Model','Rockhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','796','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('18644','Paperhand_Model','Paperhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','797','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18645','Sailor_Hat','Sailor Hat','5','20','10','200','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','798','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('18645','Sailor_Hat','Sailor Hat','5','20','10','200','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','798','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 1; bonus2 bAddRace, RC_DemiPlayer, 5;','','');
REPLACE INTO `item_db` VALUES ('18646','Cow_Hat','Cow Hat','5','20','10','300','0','0','4','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','799','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddMonsterDropItem,519,100; bonus bDex,2;','','');
REPLACE INTO `item_db` VALUES ('18647','Star_Eyepatch','Stunning Star Eyepatch','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','800','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Stun,1500;','','');
REPLACE INTO `item_db` VALUES ('18648','Tongue_Charm','Tongue Charm','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','801','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,3;','','');
REPLACE INTO `item_db` VALUES ('18649','Lude_Mask','Lude Mask','5','10','5','100','0','0','1','0','0','18446744073709551615','63','2','513','0','0',NULL,'1','802','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18650','RWC_Shouting_Mouth','RWC Shouting Mouth','5','20','10','50','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','194','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18651','Ignis_Cap','Ignis Cap','5','20','10','800','0','0','8','0','1','18446744073709551615','63','2','256','0','40',NULL,'1','803','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18652','Vanargandr_Helm','Vanargand Helm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','80',NULL,'1','804','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPDrainRate,10*(5+1*(getrefine()>7)+2*(getrefine()>8)+2*(getrefine()>9)),1+2*(getrefine()>5)+2*(getrefine()>7)+3*(getrefine()>9); bonus2 bSPDrainRate,10*(5+1*(getrefine()>8)+2*(getrefine()>9)),1+(getrefine()>7)+2*(getrefine()>9);','','');
-REPLACE INTO `item_db` VALUES ('18653','Deviruchi_Headphone','Headphones Debiruchi','5','20','10','200','0','0','8','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','805','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,4; bonus bAgi,2;','','');
+REPLACE INTO `item_db` VALUES ('18652','Vanargand_Helm','Vanargand Helm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','80',NULL,'1','804','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPDrainRate,10*(5+1*(getrefine()>7)+2*(getrefine()>8)+2*(getrefine()>9)),1+2*(getrefine()>5)+2*(getrefine()>7)+3*(getrefine()>9); bonus2 bSPDrainRate,10*(5+1*(getrefine()>8)+2*(getrefine()>9)),1+(getrefine()>7)+2*(getrefine()>9);','','');
+REPLACE INTO `item_db` VALUES ('18653','Devi_Headphone','Headphones Debiruchi','5','20','10','200','0','0','8','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','805','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,4; bonus bAgi,2;','','');
REPLACE INTO `item_db` VALUES ('18654','SS_Bandana','SS Bandana','5','1000','500','10','0','0','0','0','1','18446744073709551615','63','2','769','0','0',NULL,'0','806','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Curse,10000; bonus bMdef,5; bonus bMaxHP,500;','','');
-REPLACE INTO `item_db` VALUES ('18655','Goedo_Monocle','Dragonfly Monocle','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18655','Lupin_One_Eyed_Glasses','Dragonfly Monocle','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18656','Wit_Pumpkin_Hat','Witch\'s Pumpkin Hat','5','20','10','300','0','0','10','0','0','18446744073709551615','63','2','256','0','20',NULL,'1','717','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus bStr,2; bonus bInt,2; bonus2 bAddRace,RC_Undead,15; bonus2 bAddRace,RC_Demon,15; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Demon,15;','','');
REPLACE INTO `item_db` VALUES ('18657','Pegasus_Wing_Ears','Pegasus Ear Wing','5','20','10','500','0','0','1','0','0','18446744073709551615','63','2','512','0','80',NULL,'0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bAspdRate,1; if(BaseLevel>=100) { bonus bAspdRate,1; } if(BaseLevel>=150) { bonus bAspdRate,1; }','','');
REPLACE INTO `item_db` VALUES ('18658','Holy_Santa_Beard','Santa\'s Beard Holy','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8680,16 +8701,16 @@ REPLACE INTO `item_db` VALUES ('18726','Skymet','Skymet','5','1000','500','10','
REPLACE INTO `item_db` VALUES ('18727','Sedora_Hat','Sedora Hat','5','20','10','300','0','0','13','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','869','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18728','Egir_Helm','Aegir Helm','5','200000','100000','800','0','0','10','0','1','18446744073709551615','63','2','256','0','110',NULL,'1','870','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 5; bonus bUnbreakableHelm, 0;','','');
REPLACE INTO `item_db` VALUES ('18729','MVP_Basketball','MVP Basketball Hat','5','20','10','150','0','0','6','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','871','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,10; bonus2 bAddItemHealRate,522,30; bonus bVariableCastrate,-3; if(getrefine()>=12) { bonus bVariableCastrate,-1; } if(getrefine()>=14) { bonus bVariableCastrate,-1; }','','');
-REPLACE INTO `item_db` VALUES ('18730','Criatura_Academy_Hat','Criatura Hat','5','100','50','200','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','872','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,5; bonus bMaxHP,15;','','');
-REPLACE INTO `item_db` VALUES ('18731','Valkyrie_Headgear','Valkyrie Helm','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','225','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18732','TE_WoE_Cap','TE WoE Cap','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','256','0','40',NULL,'0','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('18733','TE_WoE_Bone_Helm','TE WoE Bone Helm','5','0','0','0','0','0','10','0','0','279714','63','2','256','0','40',NULL,'0','40','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('18734','TE_WoE_Magic_Eyes','TE WoE Magic Eyes','5','0','0','0','0','0','5','0','0','8454657','63','2','256','0','40',NULL,'0','209','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('18730','Cryptura_Academy_Hat','Criatura Hat','5','100','50','200','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','872','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,5; bonus bMaxHP,15;','','');
+REPLACE INTO `item_db` VALUES ('18731','Valkyrie_Outing_Helm','Valkyrie Helm','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','225','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18732','TE_Woe_Cap','TE WoE Cap','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','256','0','40',NULL,'0','14','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('18733','TE_Woe_Bone_Helm','TE WoE Bone Helm','5','0','0','0','0','0','10','0','0','279714','63','2','256','0','40',NULL,'0','40','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('18734','TE_Woe_Magic_Eyes','TE WoE Magic Eyes','5','0','0','0','0','0','5','0','0','8454657','63','2','256','0','40',NULL,'0','209','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18736','Censor_Bar_','Censor Bar','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','229','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bUnbreakableHelm,0; /*TODO: sc_start EFST_UNKNOWN_NAME 9999 1*/','','');
REPLACE INTO `item_db` VALUES ('18737','Fortier_Mask','Fortier Masque','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','876','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18739','Carnation_Hairband','Carnation Hairband','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','878','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
-REPLACE INTO `item_db` VALUES ('18740','Hair_Of_The_Strong','RMSC2012 Special Costume','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','879','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18741','C_WillOWisp_Accessory','Will O Wisp','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','880','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_STRANGELIGHTS,-1,0;','sc_end SC_STRANGELIGHTS;');
+REPLACE INTO `item_db` VALUES ('18740','C_Hair_Of_The_Strong','RMSC2012 Special Costume','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','879','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18741','C_Will_O_Wisp','Will O Wisp','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','880','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_STRANGELIGHTS,-1,0;','sc_end SC_STRANGELIGHTS;');
REPLACE INTO `item_db` VALUES ('18742','C_MoonStar_Accessory','Moon and Stars','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','881','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_MOONSTAR,-1,0;','sc_end SC_MOONSTAR;');
REPLACE INTO `item_db` VALUES ('18743','C_Spirit_Of_Chung_E','Spirit Of Chung E','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','882','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18744','C_World_Star','Twilight','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','883','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_SUPER_STAR,-1,0;','sc_end SC_SUPER_STAR;');
@@ -8702,7 +8723,7 @@ REPLACE INTO `item_db` VALUES ('18750','Poker_Card_In_Mouth','Poker Card In Mout
REPLACE INTO `item_db` VALUES ('18752','Cursed_Book','Cursed Book','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','890','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18753','Tw_Rice_Ball','Rice Dumpling Hat','5','20','10','100','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','892','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('18754','Blood_Sucker','Blood Sucker','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','1','0','40',NULL,'0','893','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('18755','Feather_Beret_','Feather Beret','5','30000','15000','600','0','0','1','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bUnbreakableHelm,0; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','','');
+REPLACE INTO `item_db` VALUES ('18755','Feather_Beret_','Feather Beret','5','30000','15000','600','0','0','1','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 1; bonus bUnbreakableHelm, 0; bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','','');
REPLACE INTO `item_db` VALUES ('18756','Black_Shiba_Inu_Hat','Black Shiba Inu Hat','5','20','10','400','0','0','6','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','894','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18757','Holy_Klobuk','Holy Klobuk','5','0','0','500','0','0','5','0','1','18446744073709551615','63','2','768','0','0',NULL,'0','895','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bAddRaceTolerance,RC_Demon,10; bonus bHealPower,3; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18758','Hat_Of_Scrat','Hat Of Scrat','5','20','10','200','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','896','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -8726,13 +8747,13 @@ REPLACE INTO `item_db` VALUES ('18775','Improved_Welding_Mask','Modified Welding
REPLACE INTO `item_db` VALUES ('18776','Improved_Kiss_Of_Angel','Modified Angel\'s Kiss','5','20','10','300','0','0','6','0','1','1','63','2','256','0','99',NULL,'1','255','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bSPrecovRate,30;','','');
REPLACE INTO `item_db` VALUES ('18777','Aladdin_Lamp','Aladdin Lamp','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','897','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,10;','','');
REPLACE INTO `item_db` VALUES ('18778','Pink_Bunny_Hair_Band','Pink Bunny Hair Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','898','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18779','RWC_Crown_Of_Victory(1st)','RWC Crown Of Victory(1st)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','902','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18780','RWC_Crown_Of_Victory(2nd)','RWC Crown Of Victory(2nd)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','903','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18781','RWC_Crown_Of_Victory(3rd)','RWC Crown Of Victory(3rd)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','904','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18779','RWC_Champ_Crown_Red','RWC Crown Of Victory(1st)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','902','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18780','RWC_Champ_Crown_Blue','RWC Crown Of Victory(2nd)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','903','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18781','RWC_Champ_Crown_Black','RWC Crown Of Victory(3rd)','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','904','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18782','Butterfly_Wing_Ear_J','Butterfly Wing Ear','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','695','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18783','Rose_Corolla','Rose Corolla','5','20','10','300','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','583','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMdef,10; skill SA_SPELLBREAKER,1; bonus bUseSPrate,50; if(getrefine()>5) { bonus bUseSPrate,-((getrefine()*10)-50); }','','');
REPLACE INTO `item_db` VALUES ('18784','Elder_Devil_Horns_','Elder Devil Horns','5','20','10','400','0','0','8','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','757','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus2 bMagicAddRace,RC_DemiPlayer,5; if(getrefine()>6) { bonus2 bMagicAddRace,RC_DemiPlayer,5; }','','');
-REPLACE INTO `item_db` VALUES ('18785','King_Poring_Hat_','King Poring Hat','5','20','10','600','0','0','10','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bLuk,1; if(getrefine()>4) { bonus bDex,(getrefine()-4); bonus bLuk,(getrefine()-4); }','','');
+REPLACE INTO `item_db` VALUES ('18785','King_Poring_Hat','King Poring Hat','5','20','10','600','0','0','10','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bLuk,1; if(getrefine()>4) { bonus bDex,(getrefine()-4); bonus bLuk,(getrefine()-4); }','','');
REPLACE INTO `item_db` VALUES ('18786','Anemos_Mask','Anemos Mask','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','906','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18787','Goaltender_Mask','Goaltender Mask','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','513','0','50',NULL,'1','336','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,8;','','');
REPLACE INTO `item_db` VALUES ('18788','Starlight_Scope','Starlight Scope','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','512','0','30',NULL,'1','83','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bLongAtkRate,1; if(BaseLevel>100) { bonus bLongAtkRate,1; } if(BaseLevel>150) { bonus bLongAtkRate,1; }','','');
@@ -8741,9 +8762,9 @@ REPLACE INTO `item_db` VALUES ('18790','Rainbow_Poring_Hat','Rainbow Poring Hat'
REPLACE INTO `item_db` VALUES ('18791','Shrine_Maiden_Hat','Shrine Maiden Hat','5','0','0','200','0','0','30','0','1','256','56','2','256','0','100',NULL,'1','908','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,PR_MAGNUS,30; bonus2 bSkillAtk,PR_MAGNUS,(getrefine()/2)*5; if(getrefine()>6) { bonus3 bAutoSpellWhenHit,AL_HEAL,max(getskilllv(AL_HEAL),1),50; } if(getrefine()>8) { bonus bFixedCastrate,-1; }','','');
REPLACE INTO `item_db` VALUES ('18792','Indonesian_Id_Sakkat','Indonesian Id Sakkat','5','0','0','400','0','0','1','0','0','18446744073709551614','63','2','256','0','45',NULL,'1','901','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus bMatkRate,5; bonus bAtkRate,5;','','');
REPLACE INTO `item_db` VALUES ('18793','Sorc_Night_Cap','Sorc Night Cap','5','0','0','200','0','0','25','0','1','65536','56','2','256','0','100',NULL,'1','911','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus2 bSkillAtk,MG_FIREBOLT,50; bonus2 bSkillAtk,MG_LIGHTNINGBOLT,50; bonus2 bSkillAtk,MG_COLDBOLT,50; if(getrefine()>6) { bonus2 bSkillAtk,SO_SPELLFIST,25; } if(getrefine()>8) { bonus bAspd,5; }','','');
-REPLACE INTO `item_db` VALUES ('18794','Plain_Black_Mage_Hat','Plain Black Mage Hat','5','0','0','200','0','0','15','0','1','512','56','2','256','0','100',NULL,'1','912','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,WL_CRIMSONROCK,5; bonus2 bSkillAtk,WL_JACKFROST,5; bonus2 bSkillAtk,WL_EARTHSTRAIN,5; bonus2 bSkillAtk,WL_CHAINLIGHTNING,5; bonus2 bIgnoreMdefRate,RC_NonBoss,10; bonus2 bIgnoreMdefRate,RC_NonBoss,getrefine()*2; if(getrefine()>6) { bonus2 bSkillAtk,WL_CRIMSONROCK,5; bonus2 bSkillAtk,WL_JACKFROST,5; bonus2 bSkillAtk,WL_EARTHSTRAIN,5; bonus2 bSkillAtk,WL_CHAINLIGHTNING,5; } if(getrefine()>8) { bonus bMatkRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('18795','Night_Sparrow_Hat','Night Sparrow Hat','5','0','0','200','0','0','15','0','0','524288','56','2','256','0','100',NULL,'1','913','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*5); if(getrefine()>6) { bonus2 bSkillAtk,WM_SEVERE_RAINSTORM,25; } if(getrefine()>8) { bonus bMaxSP,200; }','','');
-REPLACE INTO `item_db` VALUES ('18796','RWC_Crown_Of_Victory(8th)','RWC Crown Of Victory(8th)','5','0','0','500','0','0','12','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','914','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus2 bResEff,Eff_Curse,10000; bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('18794','Ordinary_Black_Mage_Hat','Plain Black Mage Hat','5','0','0','200','0','0','15','0','1','512','56','2','256','0','100',NULL,'1','912','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk, WL_CRIMSONROCK, 5; bonus2 bSkillAtk, WL_JACKFROST, 5; bonus2 bSkillAtk, WL_EARTHSTRAIN, 5; bonus2 bSkillAtk, WL_CHAINLIGHTNING_ATK, 5; bonus2 bIgnoreMdefRate, RC_NonBoss, 10; bonus2 bIgnoreMdefRate, RC_NonBoss, getrefine() * 2; if (getrefine() > 6) { bonus2 bSkillAtk, WL_CRIMSONROCK, 5; bonus2 bSkillAtk, WL_JACKFROST, 5; bonus2 bSkillAtk, WL_EARTHSTRAIN, 5; bonus2 bSkillAtk, WL_CHAINLIGHTNING_ATK, 5; } if (getrefine() > 8) { bonus bMatkRate, 5; }','','');
+REPLACE INTO `item_db` VALUES ('18795','Night_Sparrow_Hat','Night Sparrow Hat','5','0','0','200','0','0','15','0','0','524288','56','2','256','0','100',NULL,'1','913','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFixedCastrate,-(getskilllv(BA_MUSICALLESSON)*5); if(getrefine()>6) { bonus2 bSkillAtk,WM_SEVERE_RAINSTORM_MELEE,25; } if(getrefine()>8) { bonus bMaxSP,200; }','','');
+REPLACE INTO `item_db` VALUES ('18796','RWC_Champ_Crown_QF','RWC Crown Of Victory(8th)','5','0','0','500','0','0','12','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','914','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus2 bResEff,Eff_Curse,10000; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18797','Deep_Angel_Hairband','Deep Angel Hairband','5','0','0','100','0','0','4','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','915','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bLuk,1; bonus bMdef,3; bonus2 bAddRaceTolerance,RC_Demon,3;','','');
REPLACE INTO `item_db` VALUES ('18798','Pink_Angel_Hairband','Pink Angel Hairband','5','0','0','100','0','0','4','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','916','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bLuk,1; bonus bMdef,3; bonus2 bAddRaceTolerance,RC_Demon,3;','','');
REPLACE INTO `item_db` VALUES ('18799','Mask_of_Nero','Mask of Nero','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','917','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAtkEle,Ele_Water,4;','','');
@@ -8772,7 +8793,7 @@ REPLACE INTO `item_db` VALUES ('18822','Flame_Wing_Ear','Flame Wing Ear','5','0'
REPLACE INTO `item_db` VALUES ('18823','Imperial_Feather','Imperial Feather','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','935','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,1; bonus2 bSubEle,Ele_Wind,5; if (readparam(bAgi)>=108) { bonus bAspdRate,1; bonus bAspd,1; }','','');
REPLACE INTO `item_db` VALUES ('18824','Mask_Of_Bankrupt','Mask Of Bankrupt','5','0','0','490','0','0','0','0','0','18446744073709551615','63','2','513','0','49',NULL,'0','936','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bHPDrainRate,10,1,0; bonus3 bSPDrainRate,10,1,0;','','');
REPLACE INTO `item_db` VALUES ('18825','Bankruptcy_Of_Heart_','Bankruptcy Of Heart','5','20','10','1200','0','0','8','0','1','18446744073709551615','63','2','256','0','38',NULL,'1','107','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1;','','');
-REPLACE INTO `item_db` VALUES ('18826','Chun_Tree_Hat','Chun Tree Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','939','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bVit,2;','','');
+REPLACE INTO `item_db` VALUES ('18826','Woodie_Hat','Chun Tree Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','939','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bVit,2;','','');
REPLACE INTO `item_db` VALUES ('18827','Valkyrie_Circlet','Valkyrie Circlet','5','20','10','300','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','940','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus2 bAddEle,Ele_Dark,10; bonus2 bAddRace,RC_Demon,10;','','');
REPLACE INTO `item_db` VALUES ('18828','2012RMSCNO1','RMSC2012 Champion Headgear','5','0','0','1000','0','0','20','0','1','18446744073709551615','63','2','256','0','95',NULL,'0','942','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bAllStats,5; bonus bMdef,5; skill AL_TELEPORT,1;','','');
REPLACE INTO `item_db` VALUES ('18829','2012RMSCNO2','RMSC2012 1st Runner Headgear','5','0','0','1000','0','0','20','0','1','18446744073709551615','63','2','256','0','95',NULL,'0','943','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bAllStats,4; bonus bMdef,5; skill AL_TELEPORT,1;','','');
@@ -8781,25 +8802,25 @@ REPLACE INTO `item_db` VALUES ('18831','2012RMSCNO4','RMSC2012 Special Headgear'
REPLACE INTO `item_db` VALUES ('18832','Rolf_Von_Gigue_666','Rolf Von Gigue 666','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','946','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18833','Marin_Crown','Marin Crown','5','0','0','10','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','948','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,2; bonus3 bAutoSpellWhenHit,MG_FROSTDIVER,3,10; bonus3 bAutoSpell,MG_COLDBOLT,5,10;','','');
REPLACE INTO `item_db` VALUES ('18834','Sakura_Hairband','Sakura Hairband','5','0','0','0','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','949','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,3; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,3,10;','','');
-REPLACE INTO `item_db` VALUES ('18835','RO10th_Anni_Cap','RO10th Anni Cap','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','950','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18836','Lmt_RO10th_Anni_Cap','Lmt RO10th Anni Cap','5','0','0','100','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','951','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,2; bonus bMdef,10; bonus bMaxHP,100+(getrefine()*100); bonus bMaxSP,10+(getrefine()*10); bonus bAtk,getrefine(); bonus bMatk,getrefine(); if (getrefine()>=11) { bonus bAtk,10; bonus bMatk,10; bonus bHit,10; bonus bFlee,10; bonus bCritical,10; bonus bFixedCastrate,10; }','','');
+REPLACE INTO `item_db` VALUES ('18835','TW_10th_Anni_Hat','RO10th Anni Cap','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','950','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18836','TW_10th_Anni_Lmtd_Hat','Lmt RO10th Anni Cap','5','0','0','100','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','951','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,2; bonus bMdef,10; bonus bMaxHP,100+(getrefine()*100); bonus bMaxSP,10+(getrefine()*10); bonus bAtk,getrefine(); bonus bMatk,getrefine(); if (getrefine()>=11) { bonus bAtk,10; bonus bMatk,10; bonus bHit,10; bonus bFlee,10; bonus bCritical,10; bonus bFixedCastrate,10; }','','');
REPLACE INTO `item_db` VALUES ('18837','Cheering_Whistle','Cheering Whistle','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','952','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
-REPLACE INTO `item_db` VALUES ('18839','Poring_Sunglasses','Poring Sunglasses','5','0','0','100','0','0','10','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','954','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bVariableCastrate,-5;','','');
-REPLACE INTO `item_db` VALUES ('18840','King_Poring_Hat','King Poring Hat','5','20','10','350','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,10;','','');
+REPLACE INTO `item_db` VALUES ('18839','Poring_Sunglasses_','Poring Sunglasses','5','0','0','100','0','0','10','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','954','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bVariableCastrate,-5;','','');
+REPLACE INTO `item_db` VALUES ('18840','King_Poring_Hat_','King Poring Hat','5','20','10','350','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,10;','','');
REPLACE INTO `item_db` VALUES ('18841','Small_Poring_Band','Small Poring Band','5','20','10','350','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','955','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,(getrefine()/3)*2; bonus2 bExpAddRace, RC_All, 3; if (getrefine()>9) { bonus bAspd,1; }','','');
REPLACE INTO `item_db` VALUES ('18842','Hat_Of_Girl','Hat Of Girl','5','20','10','350','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','956','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,(getrefine()/3)*2; bonus2 bSubRace,RC_DemiPlayer,7; bonus bMaxHPrate,-3;','','');
-REPLACE INTO `item_db` VALUES ('18843','Small_Deviling_Hat','Small Deviling Hat','5','20','10','350','0','0','7','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','957','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5; if (getrefine()>7) { bonus bMaxHPrate,getrefine()-7; }','','');
+REPLACE INTO `item_db` VALUES ('18843','Small_Deviling_Hat','Small Deviling Hat','5','20','10','350','0','0','7','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','957','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; if (getrefine() > 7) { bonus bMaxHPrate, getrefine()-7; }','','');
REPLACE INTO `item_db` VALUES ('18844','Blue_Poring_Bubble','Blue Poring Bubble','5','20','10','50','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','958','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus bFlee2,2;','','');
-REPLACE INTO `item_db` VALUES ('18845','Banshee_Master_Kiss','Banshee Master Kiss','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','959','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMaxSPrate,3; autobonus2 \"{ bonus2 bAddRaceTolerance,RC_DemiPlayer,100; bonus2 bAddRaceTolerance,RC_Player,100; }\",10,3000,BF_WEAPON|BF_MAGIC,\"{ specialeffect2 EF_POTION_BERSERK; }\";','','');
+REPLACE INTO `item_db` VALUES ('18845','Banshee_Master_Kiss','Banshee Master Kiss','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','959','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm, 0; bonus bMaxSPrate, 3; autobonus2 \"{ bonus2 bAddRaceTolerance, RC_DemiPlayer, 100; }\", 10, 3000, BF_WEAPON|BF_MAGIC, \"{ specialeffect2 EF_POTION_BERSERK; }\";','','');
REPLACE INTO `item_db` VALUES ('18846','Seagod_Protector','Seagod Protector','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','960','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,5;','','');
REPLACE INTO `item_db` VALUES ('18847','Jolly_Roger','Jolly Roger','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','962','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus2 bSubEle,Ele_Water,2; bonus2 bAddEle,Ele_Water,2; if (getrefine()>=7) { bonus2 bAddEle,Ele_Water,3; } if (getrefine()>=9) { bonus2 bSubEle,Ele_Water,3; }','','');
-REPLACE INTO `item_db` VALUES ('18848','Fresh_Roses','Fresh Roses','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','963','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,20+getrefine();','','');
-REPLACE INTO `item_db` VALUES ('18849','Celine_Ribbon','Celine Ribbon','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','967','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bMatk,40+getrefine(); bonus bMagicHPGainValue,200; bonus2 bHPRegenRate,50,5000;','','');
+REPLACE INTO `item_db` VALUES ('18848','Lush_Rose','Fresh Roses','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','963','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,20+getrefine();','','');
+REPLACE INTO `item_db` VALUES ('18849','Celines_Ribbon','Celine Ribbon','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','967','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bMatk,40+getrefine(); bonus bMagicHPGainValue,200; bonus2 bHPRegenRate,50,5000;','','');
REPLACE INTO `item_db` VALUES ('18850','Polar_Bear_Cap','Polar Bear Cap','5','20','10','300','0','0','7','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','966','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bDex,1; bonus bAgi,1; bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('18851','Valentine_Heart','Valentine Heart','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','397','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('18852','Tasty_Strawberry_Hat','Tasty Strawberry Hat','5','20','10','150','0','0','4','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; if (getrefine()>=12) { bonus bAspd,2; }','','');
-REPLACE INTO `item_db` VALUES ('18853','Tasty_Strawberry_Hat_','Tasty Strawberry Hat','5','20','10','150','0','0','4','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; if (getrefine()>=12) { bonus bAspd,2; }','','');
-REPLACE INTO `item_db` VALUES ('18854','Yellow_Valentine_Heart','Yellow Valentine Heart','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','865','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('18851','ValentineHeart','Valentine Heart','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','397','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('18852','Berry_Hat_Decoration','Tasty Strawberry Hat','5','20','10','150','0','0','4','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; if (getrefine()>=12) { bonus bAspd,2; }','','');
+REPLACE INTO `item_db` VALUES ('18853','Berry_Hat_Decoration_','Tasty Strawberry Hat','5','20','10','150','0','0','4','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; if (getrefine()>=12) { bonus bAspd,2; }','','');
+REPLACE INTO `item_db` VALUES ('18854','ValentineYellowHeart','Yellow Valentine Heart','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','40',NULL,'1','865','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,5+(getrefine()/2);','','');
REPLACE INTO `item_db` VALUES ('18855','Aviator_Hat','Aviator Hat','5','0','0','100','0','0','10','0','0','18446744073709551615','63','2','1','0','0',NULL,'1','972','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,3; bonus bInt,3;','','');
REPLACE INTO `item_db` VALUES ('18858','Pink_Angeling_Bubble','Pink Angeling Bubble','5','0','0','50','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','975','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,200; bonus bAspd,1;','','');
REPLACE INTO `item_db` VALUES ('18859','Angeling_Bubble','Angeling Bubble','5','0','0','50','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','976','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bMatkRate,2; bonus bMaxHP,100;','','');
@@ -8808,7 +8829,7 @@ REPLACE INTO `item_db` VALUES ('18870','Very_Sweet_Candy_Bar','Very Sweet Candy
REPLACE INTO `item_db` VALUES ('18871','Very_Sweet_Candy','Very Sweet Candy','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','446','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18872','Snake_Hat','Snake Hat','5','20','10','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','986','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3; bonus bInt,3; bonus bMdef,5; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('18873','Sweet_Valentine_Out','Sweet Valentine Out','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','865','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18874','Cyclops_Glasses','Cyclops Glasses','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18874','One_Eyed_Glass_','Cyclops Glasses','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18879','Angry_Scorpion_Hat','Angry Scorpion Hat','5','10','5','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','995','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5;','','');
REPLACE INTO `item_db` VALUES ('18880','Advanced_Jao_King_Hat','Advanced Jao King Hat','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','996','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18885','Jejecap','Jejecap','5','0','0','500','0','0','8','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','1011','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bInt,3; bonus bUnbreakableHelm,0;','','');
@@ -8819,35 +8840,35 @@ REPLACE INTO `item_db` VALUES ('18889','Golden_Bunny_Band','Golden Bunny Band','
REPLACE INTO `item_db` VALUES ('18890','Gray_Bunny_Band','Gray Bunny Band','5','0','0','0','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1015','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bLuk,5; bonus bAtkRate,2; bonus bMatkRate,5; if(getrefine()>8) { bonus bAtkRate,4; bonus bMatkRate,4; } if(getrefine()>11) { bonus bFixedCastrate,-10; }','','');
REPLACE INTO `item_db` VALUES ('18891','Husky_Hat','Husky Hat','5','0','0','500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1016','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,5; bonus bMatkRate,5; bonus4 bAutoSpellWhenHit,SN_WINDWALK,5,100+(getrefine()*30),0;','','');
REPLACE INTO `item_db` VALUES ('18892','Ufo_Poring_Hat','Ufo Poring Hat','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1017','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bFlee,5; bonus bCritical,5; bonus bHit,5; bonus bFlee2,5; if(getrefine()>6) { bonus bVariableCastrate,-5; } if(getrefine()>8) { bonus bDelayrate,-5; bonus bAspdRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('18893','Dragon_Claw_Helm','Dragon Claw Helm','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1018','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,8; bonus2 bAddRaceTolerance,RC_Player,8; bonus2 bAddRaceTolerance,RC_Dragon,8; bonus2 bAddItemHealRate,517,200; if(getrefine()>11) { bonus bMaxHPrate,7; bonus bMaxSPrate,3; }','','');
-REPLACE INTO `item_db` VALUES ('18894','Rainbow_Star','Rainbow Star','5','0','0','500','0','0','5','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1019','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','','');
+REPLACE INTO `item_db` VALUES ('18893','Dragon_Claw_Helm','Dragon Claw Helm','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1018','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 8; bonus2 bAddRaceTolerance, RC_Dragon, 8; bonus2 bAddItemHealRate, 517, 200; if(getrefine() > 11) { bonus bMaxHPrate, 7; bonus bMaxSPrate, 3; }','','');
+REPLACE INTO `item_db` VALUES ('18894','Rainbow_Star','Rainbow Star','5','0','0','500','0','0','5','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1019','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','','');
REPLACE INTO `item_db` VALUES ('18895','Celestial_Dark_Flame','Celestial Dark Flame','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1008','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Fire,5;','','');
REPLACE INTO `item_db` VALUES ('18896','Pterios_Fins','Pterios Fins','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1009','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Fire,8;','','');
REPLACE INTO `item_db` VALUES ('18897','Azure_Diadem','Azure Diadem','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1010','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,8;','','');
REPLACE INTO `item_db` VALUES ('18898','Yggdrasil_Herald_Crown','Yggdrasil Herald Crown','5','0','0','200','0','0','6','0','1','18446744073709551615','63','2','512','0','50',NULL,'0','997','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,5; bonus bMaxHP,100; bonus bMaxSP,50; if(getrefine()>7) { bonus bMaxHPrate,getrefine()-7; bonus bFixedCastrate,-(getrefine()-7); }','','');
REPLACE INTO `item_db` VALUES ('18900','Weisswurst','Weisswurst','5','20','10','100','0','0','1','0','0','18446744073709551615','63','2','1','0','60',NULL,'0','1022','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18901','Seppl_Hat','Seppl Hat','5','20','10','500','0','0','5','0','1','18446744073709551615','63','2','1','0','60',NULL,'1','1023','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18908','Piamette\'s_Red_Ears','Piamette\'s Red Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1030','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus bMaxHPrate,5; bonus2 bSubEle,Ele_Fire,10; if(getrefine()>=9) { bonus bAspd,1+((getrefine()/2)-4); }','','');
-REPLACE INTO `item_db` VALUES ('18909','Piamette\'s_Brown_Ears','Piamette\'s Brown Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1031','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus bMatk,getrefine()*2;','','');
-REPLACE INTO `item_db` VALUES ('18910','Piamette\'s_Blue_Ears','Piamette\'s Blue Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1032','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; if(getrefine()>=12) { bonus bShortWeaponDamageReturn,5; }','','');
+REPLACE INTO `item_db` VALUES ('18908','Isabella_Red_Ear','Piamette\'s Red Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1030','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus bMaxHPrate,5; bonus2 bSubEle,Ele_Fire,10; if(getrefine()>=9) { bonus bAspd,1+((getrefine()/2)-4); }','','');
+REPLACE INTO `item_db` VALUES ('18909','Isabella_Brown_Ear','Piamette\'s Brown Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1031','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus bMatk,getrefine()*2;','','');
+REPLACE INTO `item_db` VALUES ('18910','Isabella_Blue_Ear','Piamette\'s Blue Ears','5','0','0','300','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1032','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,10; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; if(getrefine()>=12) { bonus bShortWeaponDamageReturn,5; }','','');
REPLACE INTO `item_db` VALUES ('18911','Red_Flower_Hat','Red Flower Hat','5','0','0','200','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1033','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus2 bSubEle,Ele_Earth,3; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; if(getrefine()>=12) { bonus bShortWeaponDamageReturn,5; }','','');
REPLACE INTO `item_db` VALUES ('18912','Bell_Pigeon','Bell Pigeon','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1034','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus5 bAutoSpellWhenHit,AL_RUWACH,1,50,BF_WEAPON,0; /* Custom - PRO */','','');
REPLACE INTO `item_db` VALUES ('18913','Gossip_Raven','Gossip Raven','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1035','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus5 bAutoSpellWhenHit,AL_RUWACH,1,50,BF_WEAPON,0; /* Custom - PRO */','','');
-REPLACE INTO `item_db` VALUES ('18914','Baby_Deviling','Baby Deviling','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1036','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus3 bAutoSpell,AL_BLESSING,7,50;','','');
-REPLACE INTO `item_db` VALUES ('18915','Blood_Butterfly_Ears','Blood Butterfly Ears','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1037','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,1; bonus bMaxHP,200;','','');
+REPLACE INTO `item_db` VALUES ('18914','Kid_Deviling','Baby Deviling','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1036','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus3 bAutoSpell,AL_BLESSING,7,50;','','');
+REPLACE INTO `item_db` VALUES ('18915','Blood_Buffterfly','Blood Butterfly Ears','5','0','0','100','0','0','5','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','1037','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,1; bonus bMaxHP,200;','','');
REPLACE INTO `item_db` VALUES ('18916','Bear_Balloon','Bear Balloon','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','1038','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bLuk,1; bonus bMaxHP,50;','','');
REPLACE INTO `item_db` VALUES ('18917','LoveLove_Balloon','LoveLove Balloon','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','1039','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1;','','');
-REPLACE INTO `item_db` VALUES ('18918','Cute_Octopus_Balloon','Cute Octopus Balloon','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','1040','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bInt,1; bonus bMaxSP,30;','','');
-REPLACE INTO `item_db` VALUES ('18921','C_Tarnished_Lamp','Costume Tarnished Lamp','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','1024','0','50',NULL,'0','897','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18918','Long_Octopus_Balloon','Cute Octopus Balloon','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','1040','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bInt,1; bonus bMaxSP,30;','','');
+REPLACE INTO `item_db` VALUES ('18921','C_Lamp_Of_Alladin','Costume Tarnished Lamp','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','1024','0','50',NULL,'0','897','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18929','Elephant_Model_Hat','Elephant Model Hat','5','0','0','300','0','0','10','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','1065','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus5 bAutoSpellWhenHit,WZ_STORMGUST,5,50,BF_WEAPON,0; /* Custom - IRO */ if(getrefine()>=8) { bonus bDex,1+((getrefine()/2)-4); }','','');
-REPLACE INTO `item_db` VALUES ('18934','Fox_Ears_Drop_Ribbon','Fox Ears Drop Ribbon','5','0','0','400','0','0','4','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','1070','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18937','Memories_of_Lover','Memories of Lover','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1072','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18934','Fox_Ears_Bell_Ribbon','Fox Ears Drop Ribbon','5','0','0','400','0','0','4','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','1070','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18937','Memories_Of_Lovers','Memories of Lover','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1072','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18938','Astro_Circle','Astro Circle','5','0','0','300','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1073','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18942','Knit_Cap_of_Water','Knit Cap of Water','5','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','256','0','90',NULL,'1','1077','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18943','Silk_Hat_of_Earth','Silk Hat of Earth','5','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','256','0','90',NULL,'1','1078','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('18944','Deviruchi_Ballon','Deviruchi Ballon','5','20','10','200','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1082','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus2 bAddRace,RC_Demon,1; bonus2 bMagicAddRace,RC_Demon,1;','','');
-REPLACE INTO `item_db` VALUES ('18945','Super_Cute_Doll_Hat','Super Cute Doll Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','1083','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bDex,2; bonus bMdef,3; bonus bFlee,-1; bonus bMaxHPrate,2; bonus bMaxSP,30; skill PR_MAGNIFICAT,1;','','');
-REPLACE INTO `item_db` VALUES ('18946','Very_Cute_Doll_Hat','Very Cute Doll Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','1084','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bLuk,2; bonus bMdef,3; bonus bFlee,-1; bonus bMaxHPrate,1; bonus bMaxSP,15;','','');
+REPLACE INTO `item_db` VALUES ('18942','Knit_Cap_Of_Water','Knit Cap of Water','5','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','256','0','90',NULL,'1','1077','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18943','Silk_Hat_Of_Earth','Silk Hat of Earth','5','0','0','1000','0','0','0','0','0','18446744073709551615','63','2','256','0','90',NULL,'1','1078','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('18944','Deviruchi_Balloon','Deviruchi Ballon','5','20','10','200','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1082','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus2 bAddRace,RC_Demon,1; bonus2 bMagicAddRace,RC_Demon,1;','','');
+REPLACE INTO `item_db` VALUES ('18945','Tare_Maid_Doll_Hat','Super Cute Doll Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','1083','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus bDex,2; bonus bMdef,3; bonus bFlee,-1; bonus bMaxHPrate,2; bonus bMaxSP,30; skill PR_MAGNIFICAT,1;','','');
+REPLACE INTO `item_db` VALUES ('18946','Tare_HSchool_Doll_Hat','Very Cute Doll Hat','5','20','10','300','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'1','1084','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bLuk,2; bonus bMdef,3; bonus bFlee,-1; bonus bMaxHPrate,1; bonus bMaxSP,15;','','');
REPLACE INTO `item_db` VALUES ('18969','Boss_Beret','Boss Beret_J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1134','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('18997','Riot_Chip','Riot Chip','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','256','0','100',NULL,'1','1201','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,50; bonus bFlee,50; bonus bMaxSPrate,-50;','','');
REPLACE INTO `item_db` VALUES ('19014','Gravekeeper_Blinker','Gravekeeper Blinker','5','0','0','100','0','0','1','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','1210','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Undead,5; bonus2 bAddRace,RC_Undead,5;','','');
@@ -8855,19 +8876,19 @@ REPLACE INTO `item_db` VALUES ('19015','C_Kamas_Hairband','Costume Kama\'s Hairb
REPLACE INTO `item_db` VALUES ('19019','Elemental_Crown','Elemental Crown','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1219','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bLongAtkRate,4; bonus bDex,(getrefine()/2); if(BaseLevel>130) { bonus bDex,getrefine(); }','','');
REPLACE INTO `item_db` VALUES ('19020','Survive_Circlet','Survive Circlet','5','20','10','500','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1220','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3; bonus bMatkRate,4; if(BaseLevel<100) { bonus bInt,getrefine()/2; } else { bonus bInt,getrefine(); }','','');
REPLACE INTO `item_db` VALUES ('19021','Gigant_Helm','Gigant Helm','5','20','10','500','0','0','10','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','1221','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,3; bonus bAtkRate,4; if(BaseLevel<100) { bonus bStr,getrefine()/2; } else { bonus bStr,getrefine(); } /* +Giant Lance, when using Joint Beat, auto cast Lv.1 Spiral pierce, */ /* every refine of lance increase the chance of trigger and increase damage of spiral pierce by 5%. */','','');
-REPLACE INTO `item_db` VALUES ('19022','C_Floating_Stone_Of_Intelligence','Floating Stone Of Intelligence','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1230','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_FSTONE, -1, 0;','sc_end SC_FSTONE;');
+REPLACE INTO `item_db` VALUES ('19022','Floating_Stone_Of_Int','Floating Stone Of Intelligence','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1230','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_FSTONE, -1, 0;','sc_end SC_FSTONE;');
REPLACE INTO `item_db` VALUES ('19023','Queen_Scaraba_Crown','Queen Scaraba Crown','5','0','0','1500','0','0','0','0','1','18446744073709551615','63','2','257','0','70',NULL,'1','1231','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDefRate,-50; bonus bMdefRate,-50; bonus2 bSubRace,RC_Insect,getrefine(); bonus3 bAutoSpell,NPC_WIDECONFUSE,2,100+(getrefine()*10); /* Custom - JRO */','','');
REPLACE INTO `item_db` VALUES ('19024','Protect_Feathers','Protect Feathers','5','20','10','500','0','0','0','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1232','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus2 bAddRaceTolerance,RC_DemiPlayer,2; bonus bAspdRate,-5; if(readparam(bVit)>=108) { bonus bAspdRate,-5; bonus2 bAddRaceTolerance,RC_DemiPlayer,2; } if(readparam(bVit)>=120) { bonus bMdef,3; bonus bMaxHPrate,3; }','','');
REPLACE INTO `item_db` VALUES ('19025','Puppy_Ears_Hat_','Puppy Ears Hat','5','0','0','200','0','0','3','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','827','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus2 bMagicAddRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bAddRaceTolerance,RC_Brute,5; bonus3 bAddMonsterDropItem,7938,RC_Brute,100;','','');
-REPLACE INTO `item_db` VALUES ('19026','Egir_Helm_K','Aegir Helm','5','200000','100000','800','0','0','10','0','1','18446744073709551615','63','2','256','0','110',NULL,'1','870','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 3; bonus bUnbreakableHelm, 0;','','');
+REPLACE INTO `item_db` VALUES ('19026','Aegir_Helm','Aegir Helm','5','200000','100000','800','0','0','10','0','1','18446744073709551615','63','2','256','0','110',NULL,'1','870','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit, 3; bonus bUnbreakableHelm, 0;','','');
REPLACE INTO `item_db` VALUES ('19027','Type_10_Glasses','Type-10 Glasses','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','1237','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Brute,4; bonus2 bAddRaceTolerance,RC_Brute,5;','','');
REPLACE INTO `item_db` VALUES ('19028','Devils_Minion','Devil\'s Minion','5','0','0','200','0','0','0','0','0','18446744073709551615','63','2','512','0','40',NULL,'1','1036','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AM_POTIONPITCHER,3;','','');
REPLACE INTO `item_db` VALUES ('19029','Alice_Friesinger_Hat_69','Alice Friesinger Hat 69','5','0','0','300','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','1249','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Boss,15;','','');
REPLACE INTO `item_db` VALUES ('19031','Fallen_Angel_Blessing','Fallen Angel Blessing','5','20','10','200','0','0','1','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','1250','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Angel,5; bonus2 bAddRace,RC_Angel,3;','','');
REPLACE INTO `item_db` VALUES ('19041','Black_Fairy_Ears','Black Fairy Ears','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','498','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,5; bonus2 bMagicAddRace,RC_Demon,4;','','');
REPLACE INTO `item_db` VALUES ('19042','Maneater_Flower_Hat_','Maneater Flower Hat','5','20','10','300','0','0','5','0','1','18446744073709551615','63','2','256','0','20',NULL,'1','852','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSPDrainValueRace,RC_Insect,5; bonus bHPGainValue,100;','','');
-REPLACE INTO `item_db` VALUES ('19043','Goibne\'s_Helmet_','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','1','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('19044','Morrigane\'s_Helm_','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','1','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
+REPLACE INTO `item_db` VALUES ('19043','Goibnes_Helmet_','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','1','18446744073709551614','63','2','256','0','54',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bMdef,3;','','');
+REPLACE INTO `item_db` VALUES ('19044','Morriganes_Helm_','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','1','18446744073709551614','63','2','256','0','61',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bBaseAtk,3;','','');
REPLACE INTO `item_db` VALUES ('19045','Blue_Ears_Accessory','Blue Ears Accessory','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'1','1186','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bMagicAddRace,RC_Angel,4; bonus2 bAddRaceTolerance,RC_Angel,5;','','');
REPLACE INTO `item_db` VALUES ('19046','Poisonous_Man','Poisonous Man','5','0','0','500','0','0','16','0','1','2145386623','58','2','4','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Poison,200; bonus bMdef,2; bonus bMaxHPrate,5; bonus bMatkRate,1;','','');
REPLACE INTO `item_db` VALUES ('19047','Angeling_Furhat','Angeling Furhat','5','20','10','300','0','0','5','0','1','18446744073709551615','63','2','256','0','20',NULL,'1','953','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bSPDrainValueRace,RC_Angel,5; bonus bHPGainValue,100; if(getrefine()>=5) { bonus2 bAddRaceTolerance,RC_Angel,5; } if(getrefine()>=7) { bonus2 bAddRaceTolerance,RC_Angel,5; }','','');
@@ -8875,7 +8896,7 @@ REPLACE INTO `item_db` VALUES ('19051','Warrior_Moon_Cat_Hat','Warrior Moon Cat
REPLACE INTO `item_db` VALUES ('19053','Fighter_Moon_Cat_Hat','Fighter Moon Cat Hat','5','20','10','100','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1308','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','skill ALL_CATCRY, 1; bonus bAllStats,3; bonus3 bAddEff,Eff_Stun,500+(getrefine()*100),ATF_SHORT|ATF_LONG;','','');
REPLACE INTO `item_db` VALUES ('19080','Nettie_Heart_Bubblegum','Nettie Heart Bubblegum','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'1','720','0','0','0','0','448',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19081','Faceworm_Egg_Shell','Faceworm Egg Shell','5','20','10','500','0','0','2','0','1','18446744073709551615','63','2','256','0','30',NULL,'1','1308','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,20; /* bonus2 bAddDamageClass,2528,5; bonus2 bAddDamageClass,2529,5; bonus2 bAddDamageClass,2530,5; bonus2 bAddDefClass,2529,5; bonus2 bAddDefClass,2528,5; bonus2 bAddDefClass,2530,5; if(getrefine()>=5) { bonus2 bAddDamageClass,2528,5; bonus2 bAddDamageClass,2529,5; bonus2 bAddDamageClass,2530,5; bonus2 bAddDefClass,2529,5; bonus2 bAddDefClass,2528,5; bonus2 bAddDefClass,2530,5; } if(getrefine()>=7) { bonus2 bAddDamageClass,2528,5; bonus2 bAddDamageClass,2529,5; bonus2 bAddDamageClass,2530,5; bonus2 bAddDefClass,2529,5; bonus2 bAddDefClass,2528,5; bonus2 bAddDefClass,2530,5; } if(getrefine()>=9) { bonus2 bAddDamageClass,2528,5; bonus2 bAddDamageClass,2529,5; bonus2 bAddDamageClass,2530,5; bonus2 bAddDefClass,2529,5; bonus2 bAddDefClass,2528,5; bonus2 bAddDefClass,2530,5; } */','','');
-REPLACE INTO `item_db` VALUES ('19085','Sigrun\'s_Wing_','Sigrun\'s Wings','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) { bonus bMatk,3; bonus bHealPower,1; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) { bonus bLongAtkRate,1; } else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; }','','');
+REPLACE INTO `item_db` VALUES ('19085','Sigruns_Wing_','Sigrun\'s Wings','5','20','10','100','0','0','2','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker) { bonus bMatk,3; bonus bHealPower,1; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) { bonus bLongAtkRate,1; } else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; }','','');
REPLACE INTO `item_db` VALUES ('19086','Robo_Eye_','Robo Eye','5','20','10','200','0','0','2','0','1','18446744073709551615','63','2','512','0','10',NULL,'0','345','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace, RC_All, 1; bonus bMatkRate,1; bonus bDex,1;','','');
REPLACE INTO `item_db` VALUES ('19087','Angel_Spirit_','Angel Spirit','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','512','0','0',NULL,'0','394','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bHit,8;','','');
REPLACE INTO `item_db` VALUES ('19500','T_Mr_Smile','Costume Mr. Smile','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','65','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
@@ -8885,7 +8906,7 @@ REPLACE INTO `item_db` VALUES ('19503','T_Munak_Hat','Costume Munak Hat','5','0'
REPLACE INTO `item_db` VALUES ('19504','T_Sunglasses','Costume Sunglasses','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19505','T_Cigarette','Costume Cigarette','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'0','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19506','T_Valkyrie_Feather_Band','Costume Valkyrie Feather Band','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','300','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19507','Clear_Sun','Costume Shining Sun','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('19507','Fine_Sun','Costume Shining Sun','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19508','T_Gemmed_Sallet','Costume Gemmed Sallet','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19509','Butterfly_Wing_Ear','Costume Yellow Butterfly Wings','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','695','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19510','Nut_On_Head','Costume Bolt Ears','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','696','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
@@ -8921,9 +8942,9 @@ REPLACE INTO `item_db` VALUES ('19539','C_Reginleif_Hairband','Costume Hairband
REPLACE INTO `item_db` VALUES ('19540','C_Rabbit_Earplug','Costume Bunny Ear Costume','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'0','515','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bFlee,2;','','');
REPLACE INTO `item_db` VALUES ('19541','C_Romantic_White_Flower','Costume White Flower','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'0','259','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,1; bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19542','C_Devil_Whisper','Costume Devil\'s Whisper','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','712','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRaceTolerance,RC_Angel,1; bonus2 bAddRaceTolerance,RC_Demon,1; bonus3 bAddMonsterDropItem,523,RC_Angel,400; bonus3 bAddMonsterDropItem,12020,RC_Demon,400;','','');
-REPLACE INTO `item_db` VALUES ('19543','C_Oliver_Wolf_Hood','Costume Oliver Wolf Hood','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','1024','0','70',NULL,'1','849','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('19543','Oliver_Wolf_Hood','Costume Oliver Wolf Hood','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','1024','0','70',NULL,'1','849','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19544','C_Tare_Neko_Cru','Costume Drooping Neko Crew Costume','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','692','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('19545','C_Boy\'s_Cap','Costume Boy\'s Cap','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','100',NULL,'0','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
+REPLACE INTO `item_db` VALUES ('19545','C_Boys_Cap','Costume Boy\'s Cap','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','100',NULL,'0','102','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19546','C_Valkyrie_Helm','Costume Valkyrie Helm','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','100',NULL,'0','225','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19547','C_Deviruchi_Cap','Costume Deviruchi Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','100',NULL,'0','123','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19548','C_Frog_Cap','Costume Frog Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','100',NULL,'0','448','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','bonus bUnbreakableHelm,0;','');
@@ -8937,112 +8958,112 @@ REPLACE INTO `item_db` VALUES ('19555','C_Crescent_Helm','Costume Crescent Helm'
REPLACE INTO `item_db` VALUES ('19556','C_Kabuki_Mask','Costume Kabuki Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','214','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19557','C_Ayothaya_Hat','Costume Ayothaya Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','334','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19558','C_Raven_Cap','Costume Raven Cap','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','524','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19559','C_Baby Dragon Hat','Costume Baby Dragon Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','525','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19560','C_Kwati_Hat','Costume Kwati Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','527','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19559','C_B_Dragon_Hat','Costume Baby Dragon Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','525','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19560','C_Quati_Hat','Costume Kwati Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','527','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19561','C_Tucan_Hat','Costume Tucan Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','528','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19562','C_Jaguar_Mask','Costume Jaguar Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','530','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19563','C_Dragon_Arhat_Mask','Costume Dragon Arhat Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','545','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19564','C_Tiger_Arhat_Mask','Costume Tiger Arhat Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','546','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19565','C_Dynasty_Decoration','Costume Dynasty Decoration','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','583','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19565','C_Chung_Hairband','Costume Dynasty Decoration','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','583','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19566','C_Samurai_Mask','Costume Samurai Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','644','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19567','C_Hatah_Black','Costume Hatah Black','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','676','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19568','C_Ancient_Horn','Costume Ancient Horn','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','757','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19568','C_Horn_Of_The_Ancient','Costume Ancient Horn','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','757','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19569','C_Sprout_Hat','Costume Sprout Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','758','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19570','C_Mercury_Helm','Costume Mercury Helm','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','759','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19571','C_White_Musang_Hat','Costume White Musang Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','770','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19572','C_Black_Musang_Hat','Costume Black Musang Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','771','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19573','C_Heart_Wing_Hairband','Costume Heart Wing Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','733','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19574','C_Lord_of_Death','Costume Lord Of Death Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','742','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
-REPLACE INTO `item_db` VALUES ('19575','C_Ascension_Black_Dragon','Costume Ascension Black Dragon','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','863','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19575','C_Rising_Black_Dragon','Costume Ascension Black Dragon','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','863','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19576','C_Tare_Pope','Costume Tare Popedoll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','817','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19577','C_10th_Poring_Hat','Costume 10th Poring Hat','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','874','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19579','C_Red_Wind_Hat','Costume Red Wind Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','613','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19577','10th_Anni_Poring_Hat','Costume 10th Poring Hat','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','874','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19579','C_Red_Wing_Hat','Costume Red Wind Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','613','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19580','C_Sphinx_Helm','Costume Sphinx Helm','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','137','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19581','C_Adventurer\'s_Hat','Costume Adventurer\'s Hat','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','891','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19581','C_Adventurers_Hat','Costume Adventurer\'s Hat','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','891','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19582','C_Cowboy_Hat','Costume Cowboy Hat','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','411','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19583','C_Zorro_Mask','Costume Zorro Mask','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','2048','0','0',NULL,'1','50','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19583','C_Gangster_Patch','Costume Zorro Mask','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','2048','0','0',NULL,'1','50','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19584','C_Dagger_In_Mouth','Costume Dagger In Mouth','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','4096','0','0',NULL,'1','327','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19585','C_Feather_Beret','Costume Feather Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19586','C_Pink_Bunny_Hair_Band','Costume Pink Bunny Hair Band','5','100','50','0','0','0','0','0','0','18446744073709551615','2','2','1024','0','0',NULL,'1','898','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19586','C_Pink_Bunny_Band_J','Costume Pink Bunny Hair Band','5','100','50','0','0','0','0','0','0','18446744073709551615','2','2','1024','0','0',NULL,'1','898','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19587','C_King_Poring_Hat','Costume King Poring','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','','');
REPLACE INTO `item_db` VALUES ('19589','C_Fallen_Angel_Lost_J','C Fallen Angel Lost J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','907','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19596','C_Flapping_Angel_Wing','Costume Flapping Angel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','264','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19596','C_Flying_Angel','Costume Flapping Angel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','264','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19597','C_Magic_Eyes','Costume Magic Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','209','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19598','C_Wandering_Wolf_Hat','Costume Wandering Wolf Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','490','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19598','C_Wondering_Wolf_Helm','Costume Wandering Wolf Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','490','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19599','C_Imp_Hat','Costume Imp Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','589','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19600','C_Drooping_Kiehl','Costume Drooping Kiehl','5','0','0','400','0','0','0','0','0','18446744073709551615','63','2','1024','0','30',NULL,'0','909','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19601','C_Drooping_Aliot','Costume Drooping Aliot','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','910','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19600','Drooping_Kiehl','Costume Drooping Kiehl','5','0','0','400','0','0','0','0','0','18446744073709551615','63','2','1024','0','30',NULL,'0','909','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19601','Drooping_Aliot','Costume Drooping Aliot','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','910','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19602','C_Invisible_Cap','Costume Invisible Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19603','C_Invisible_Sunglasses','Costume Koneko Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','378','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19604','C_Invisible_Mask','Costume Invisible Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19605','C_Gang_Scarf','Costume Gang Scarf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','369','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19606','C_Ninja_Scroll','Costume Ninja Scroll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','370','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19607','C_Chicken_Love_Hat','Costume Chicken Love Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','500','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19607','C_Love_Chick_Hat','Costume Chicken Love Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','500','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19608','C_Chick_Hat','Costume Chick Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','311','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19609','C_Red_Glasses','Costume Red Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','316','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19610','C_Whisper_Mask','Costume Whisper Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','321','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19611','C_Peco_Ears','Costume Peco Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','366','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19612','C_Note_Headphone','Costume Note Headphone','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','220','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19611','C_Pecopeco_Wing_Ears','Costume Peco Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','366','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19612','C_Headset_OST','Costume Note Headphone','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','220','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19613','C_Valkyrie_Feather_Band','Costume Valkyrie Feather Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','300','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19614','C_Super_Novice_Hat','Costume Super Novice Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','193','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19615','C_Loki_Mask','Costume Loki Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','346','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19616','C_Wickebine\'s_Black_Cat_Ears','Costume Wickebine\'s Black Cat Ears','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','368','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19616','C_Wickebines_Black_Cat_Ears','Costume Wickebine\'s Black Cat Ears','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','368','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19617','C_Puppy_Headband','Costume Puppy Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','199','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19619','C_Corsair','Costume Corsair','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19620','C_Detective_Hat','Costume Detective Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','189','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19621','C_Evil_Wing_Ears','Costume Evil Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19621','C_Ear_Of_Devils_Wing','Costume Evil Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19622','C_Crescent_Hairpin','Costume Crescent Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','132','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19623','C_Bijofnil_Wings','Costume Bijofnil Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','477','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19624','C_Blank_Eyes','Costume Blank Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','185','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19625','C_Refined_Bunny_Band','Costume Refined Bunny Band','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19624','C_Round_Eyes','Costume Blank Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','185','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19625','C_Bunny_Band','Costume Refined Bunny Band','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19627','C_Satellite_Hairband','Costume Satellite Hairband','5','1000','500','0','0','0','0','0','1','18446744073709551615','63','2','1024','0','0',NULL,'1','266','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19628','C_Headset','Costume Headset','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','97','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19629','C_Tiara','Costume Tiara','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','19','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19630','C_Crown','Costume Crown','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','45','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19631','C_Poring_Fedora_Hat','Costume Poring Fedora Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','919','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19632','C_Hat','Costume Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19633','C_Flower_Band','Costume Flower Band','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19633','C_Flower_Hairband','Costume Flower Band','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19634','C_Flu_Mask','Costume Flu Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19635','C_Mini_Propeller','Costume Mini Propeller','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','46','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19636','C_Clown_Nose','Costume Clown Nose','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','49','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19636','C_Pierrot_Nose','Costume Clown Nose','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','49','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19637','C_Nurse_Cap','Costume Nurse Cap','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','64','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19638','C_Mr_Smile','Costume Mr Smile','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','65','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19639','C_Sakkat','Costume Sakkat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','67','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19639','C_Sahkkat','Costume Sakkat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','67','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19640','C_Charming_Ribbon','Costume Charming Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','211','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19641','C_Helm_of_Darkness','Costume Helm of Darkness','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','233','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19642','C_Moonlight_Flower_Hat','Costume Moonlight Flower Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','268','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19643','C_Wickebine_Ears','Costume Wickebine Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','368','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19643','C_Whikebain_Ears','Costume Wickebine Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','368','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19644','C_Takius_Blindfold','Costume Takius Blindfold','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','184','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19645','C_Phoenix Crown','Costume Phoenix Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','221','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19645','C_Chinese_Crown_','Costume Phoenix Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','221','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19646','C_Ramen_Hat','Costume Ramen Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','271','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19647','C_Red_Deviruchi_Hat','Costume Red Deviruchi Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','271','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19648','C_Autumn_Leaves','Costume Autumn Leaves','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','241','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19649','C_White_Kitten_Ears','Costume White Kitten Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','926','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19647','C_Red_Deviruchi_Cap','Costume Red Deviruchi Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','271','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19648','C_Fallen_Leaves','Costume Autumn Leaves','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','241','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19649','C_White_Baby_Cat_Ears','Costume White Kitten Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','926','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19650','C_Rainbow_Feather_Deco','Costume Five Colored Feathers','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','934','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19651','C_RWC_Shouting_Mouth','Costume RWC Shouting Mouth','5','1000','500','0','0','0','0','0','0','18446744073709551615','2','2','4096','0','0',NULL,'1','194','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19652','C_Rabbit_Magic_Hat','Costume Rabbit Magic Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','497','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19653','C_Marcher_Hat','Costume Marcher Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','269','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19654','C_Master\'s_Hat','Costume Master\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','367','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19654','C_J_Captain_Hat','Costume Master\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','367','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19655','C_Tiraya_Bonnet','C Tiraya Bonnet','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','398','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19656','C_Minstrel_Hat','Costume Minstrel Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','240','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19657','C_Captain_Hat','Costume Captain Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','236','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19658','C_Vacation_Hat','Costume Vacation Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','315','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19659','C_Brown Beanie','Costume Brown Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','279','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19659','C_Gray_Fur_Hat','Costume Brown Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','279','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19660','C_Coppola','Costume Coppola','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','252','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19661','C_Sweet_Bonnet','Costume Sweet Bonnet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','938','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19662','C_Magician_Hat','Costume Magician Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','130','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19663','C_Wish_Lamp','Costume Wish Lamp','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','947','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19663','Wishing_Sky_Lantern','Costume Wish Lamp','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','947','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19664','C_Campus_Festival','Costume Campus Festival','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','721','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19665','C_Poring_Cake_Hat','Costume Poring Cake Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','417','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19666','C_Cookie_Hat','Costume Cookie Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','217','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19667','C_Dragon_Helm','Costume Dragon Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','464','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19668','C_Wind_Milestone','Costume Wind Milestone','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','463','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19669','C_Reginrev\'s_Wings','Costume Reginrev\'s Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','468','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19669','C_Reginleif_Hairband_','Costume Reginrev\'s Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','468','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19670','C_Southern_Cross','Costume Southern Cross','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','601','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19671','C_Piggie_Bank','Costume Piggie Bank','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','603','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19672','C_Poring_Letter','Costume Poring Letter','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','604','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19673','C_Benevolent_Guardian','Costume Benevolent Guardian','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','716','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19674','C_Demon_Mask','Costume Demon Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','714','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19674','C_Evil_Mask','Costume Demon Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','714','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19675','C_Jumping_Poring','Costume Jumping Poring','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','349','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19676','C_Rainbow_Poring_Hat','Costume Rainbow Poring Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','900','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19677','C_Soulless_Wing','Costume Soulless Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','301','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9053,11 +9074,11 @@ REPLACE INTO `item_db` VALUES ('19681','C_Silver_Tiara','Costume Silver Tiara','
REPLACE INTO `item_db` VALUES ('19682','C_Santa_Poring_Hat','Costume SantaPoring Cap','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','387','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19683','C_Sweet_Candy','Costume Sweet Candy','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','414','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19684','C_Happy_Wig','Costume Happy Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','305','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19685','C_Shine_Stanta_Poring','Costume Shine Stanta Poring','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','981','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19686','C_Santa_Doll_Headband','Costume Santa Doll Headband','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','964','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19687','C_Fresh_Roses','Costume Fresh Roses','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','963','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19688','C_Katusa','Costume Katusa','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','533','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19689','C_Ati_Atihan','Costume Ati Atihan','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','303','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19685','C_ShineSantaPoring','Costume Shine Stanta Poring','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','981','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19686','C_SantaHairband','Costume Santa Doll Headband','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','964','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19687','C_Lush_Rose','Costume Fresh Roses','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','963','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19688','C_RJC_Katusa','Costume Katusa','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','533','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19689','C_Ati_Atihan_Hat','Costume Ati Atihan','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','303','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19690','C_Dark_Snake_Lord_Hat_J','Costume Dark Snake Lord Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','372','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19691','C_Blue_Ribbon','Costume Blue Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','407','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19692','C_Antique_Pipe_J','Costume Antique Pipe J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','383','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9069,47 +9090,47 @@ REPLACE INTO `item_db` VALUES ('19697','C_Rudolph_Santa_Hat','Costume Rudolph Sa
REPLACE INTO `item_db` VALUES ('19698','C_Bf_Recruiter_Hat','Costume Bf Recruiter Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','352','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19699','C_Gf_Recruiter_Hat','Costume Gf Recruiter Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','360','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19700','C_RWC_Champ_Crown_2nd','Costume RWC Champ Crown 2nd','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','903','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19701','Costumes_Red_Bonnet','Costumes Red Bonnet','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','190','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19702','C_Twin_Pompom_By_JB','Costume Twin Pompom By JB','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','390','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19701','C_Red_Bonnet','Costumes Red Bonnet','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','190','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19702','C_Santa_Hat_1','Costume Twin Pompom By JB','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','390','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19706','C_Red_Dress_Hat','Costume Red Dress Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','670','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19707','C_Polar_Bear_Cap','Costume Polar Bear Cap','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','966','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19708','C_Withe_Snake_Hat','Costume Withe Snake Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','413','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19709','C_Yellow_Ribbon','Costume Yellow Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','310','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19710','C_Wings_of_Victory','Costume Wings of Victory','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','365','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19710','C_Wings_Of_Victory','Costume Wings of Victory','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','365','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19712','C_Little_Angel_Doll','Costume Little Angel Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','344','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19713','C_Lucky_Clover','Costume Lucky Clover','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','571','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19714','C_Lady_Tanee_Doll','Costume Lady Tanee Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','520','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19715','C_Scarf','Costume Scarf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','343','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19716','C_Alice_Doll','Costume Alice Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','208','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19717','C_Pink_Ribbon','Costume Pink Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','245','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19717','C_Ribbon_Pink','Costume Pink Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','245','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19718','C_Gothic_Head_Dress','Costume Gothic Head Dress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','978','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19719','C_Coronet','Costume Coronet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','33','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19720','C_Romantic_Gent','Costume Romantic Gent','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','31','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19721','C_Darkness_Helm','Costume Darkness Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','586','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19722','C_Black_Glasses','Costume Black Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','404','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19723','C_Sacred_Torch_Coronet','Costume Sacred Torch Coronet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','431','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19724','C_Deprotai_Doll','Costume Deprotai Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','354','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19724','C_Deprotai_Doll_Hat','Costume Deprotai Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','354','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19725','C_Bread_Bag2','Costume Bread Bag2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','412','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19726','C_Scarlet_Rose','Costume Scarlet Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','534','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19727','C_Deviling_Hat','Costume Deviling Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','298','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19728','C_Tare_Zonda','Costume Tare Zonda','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','985','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19729','C_Neko_Mimi_Kafra','Costume Neko Mimi Kafra','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','392','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19730','C_Snake_Hat','C Snake Hat','5','20','10','10','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','986','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19731','C_Evolved_Evil_Wing','Costume Evolved Evil Wing','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','39','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19732','C_Goblin_Leader_Mask','Costume Goblin Leader Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','174','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19731','C_Satanic_Chain','Costume Evolved Evil Wing','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','39','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19732','C_Goblin_Mask_04','Costume Goblin Leader Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','174','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19733','C_Panda_Cap','Costume Panda Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','115','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19734','C_Binoculars','Costume Binoculars','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','83','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19735','C_Fin_Helm','Costume Fin Helm','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','100','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19736','C_Gas_Mask','Costume Gas Mask','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','91','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19737','C_Corsair_K','Costume Refined Corsair','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19738','C_Renown_Detective\'s_Cap','Costume Renown Detective\'s Cap','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','189','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19739','C_Sleeping_Cat_Hat','Costume Sleeping Cat Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','838','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19738','C_Detective_Hat_K','Costume Renown Detective\'s Cap','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','189','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19739','C_Sleeping_Kitty_Cat','Costume Sleeping Cat Hat','5','1000','500','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','838','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19741','C_Majestic_Devil_Horns','Costume Majestic Devil Horns','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','562','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19742','C_Small_Golden_Wings','Costume Small Golden Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','724','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, 1;','','');
REPLACE INTO `item_db` VALUES ('19743','C_Anubis_Helm_J','Costume Anubis Helm J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','485','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19744','C_Black_Tail_Ribbon','Costume Black Tail Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','642','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19745','C_Holy Marching_Hat_J','Costume Holy Marching Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','587','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19746','C_Executioner_Hood','Costume Executioner Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','326','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19745','C_Holy_Marching_Hat_J','Costume Holy Marching Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','587','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19746','C_Cap_Of_Blindness','Costume Executioner Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','326','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19747','C_Tha_Despero_Mask_J','Costume Tha Despero Mask J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','693','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19748','C_Diadem','Costume Diadem','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','335','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19749','C_Gold_Spirit_Chain','Costume Gold Spirit Chain','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','260','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9138,33 +9159,33 @@ REPLACE INTO `item_db` VALUES ('19771','C_Butterfly_Hairpin','Costume Butterfly
REPLACE INTO `item_db` VALUES ('19772','C_Honeybee_Hat','Costume Honeybee Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','709','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19773','C_Angeling_Hairpin','Costume Angeling Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','222','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19774','C_Emperor_Wreath_J','Costume Emperor Wreath J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','261','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19775','C_Afro_Wig','Costume Afro Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','307','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19775','C_Marvelous_Wig','Costume Afro Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','307','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19776','C_Tomboy_Fairy','Costume Tomboy Fairy','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','998','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19777','C_Twinkle_Little_Star','Costume Twinkle Little Star','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1005','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19778','C_King_Strawberry','Costume King Strawberry','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19779','C_Persica','Costume Persica','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','659','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19780','C_Knit_Rabbit_Ears','Costume Knit Rabbit Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','867','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19781','C_Angel_Wing_Ears','Costume Angel Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19782','C_Drooping_Cat','Costume Drooping Cat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19783','C_Grampa_Beard','Costume Grampa Beard','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19784','C_Morrigane\'s_Helm','Costume Morrigane\'s Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19785','C_Crunch_Toast','Costume Crunch Toast','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','188','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19786','C_Crown_of_Mistress','Costume Crown of Mistress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','165','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19778','C_King_Berry','Costume King Strawberry','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','968','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19779','C_Persika','Costume Persica','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','659','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19780','C_Rabbit_Ear_Knit_Hat','Costume Knit Rabbit Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','867','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19781','C_Ear_Of_Angels_Wing_','Costume Angel Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19782','C_Drooping_Kitty','Costume Drooping Cat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19783','C_Granpa_Beard','Costume Grampa Beard','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','25','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19784','C_Morriganes_Helm','Costume Morrigane\'s Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19785','C_Well_Baked_Toast','Costume Crunch Toast','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','188','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19786','C_Mistress_Crown','Costume Crown of Mistress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','165','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19787','C_Devoted_Eyes','Costume Devoted Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','1021','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19788','C_Heart_Eyepatch','Costume Heart Eyepatch','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','779','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19789','C_Sweet_Gents','Costume Sweet Gents','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','29','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19790','C_Veil','Costume Veil','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','44','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19790','C_Wedding_Veil','Costume Veil','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','44','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19791','C_Alarm_Mask','Costume Alarm Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','170','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19792','C_Poker_Mask','Costume Poker Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','171','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19793','C_Surprised_Mask','Costume Surprised Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','172','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19794','C_Annoyed_Mask','Costume Annoyed Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','173','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19795','C_Grand_Circlet','Costume Grand Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','93','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19792','C_Goblin_Mask_01','Costume Poker Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','171','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19793','C_Goblin_Mask_02','Costume Surprised Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','172','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19794','C_Goblin_Mask_03','Costume Annoyed Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','173','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19795','C_Lord_Circlet','Costume Grand Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','93','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19796','C_Bone_Helm','Costume Bone Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','103','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19797','C_Apple_of_Archer','Costume Apple of Archer','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','72','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19798','C_Angry_Snarl','Costume Angry Snarl','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','194','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19797','C_Apple_Of_Archer','Costume Apple of Archer','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','72','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19798','C_Angry_Mouth','Costume Angry Snarl','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','194','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19799','C_Golden_Gear','Costume Golden Gear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','30','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19800','C_Carnation_Headband','Costume Carnation Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','878','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19801','C_Fox_Hat','Costume Fox Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','403','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19800','C_Carnation_Hairband','Costume Carnation Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','878','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19801','C_Fox_Hat_J','Costume Fox Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','403','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19802','C_Drooping_Nine_Tail','Costume Drooping Nine Tail','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','296','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19803','C_Pinwheel_Cap','Costume Pinwheel Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','456','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19804','C_Red_Vane_Hairpin','Costume Red Vane Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1044','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9173,62 +9194,62 @@ REPLACE INTO `item_db` VALUES ('19806','C_Full_Bloom_Hairpin','Costume Full Bloo
REPLACE INTO `item_db` VALUES ('19807','C_Majestic_Helmet','Costume Majestic Helmet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1047','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19808','C_Blazing_Sun','Costume Blazing Sun','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19809','C_Purple_Cowboy_Hat','Costume Purple Cowboy Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','411','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19810','C_Ifrit\'s_Ear','Costume Ifrit\'s Ear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','422','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19810','C_Ifrits_Ear','Costume Ifrit\'s Ear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','422','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19811','C_Beer_Cap','Costume Beer Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','418','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19812','C_Large_Hibiscus','Costume Large Hibiscus','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','333','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19813','C_Icecream_Hat','Costume Icecream Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','488','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19814','C_Shiny_Wig','Costume Shiny Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','306','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19815','C_Lolita_Ten_Gallon_Hat','Costume Lolita Ten Gallon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1048','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19816','C_Pecopeco_Cap','Costume Pecopeco Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1049','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19817','C_Ifrit\'s_Breath','Costume Ifrit\'s Breath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1050','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19818','C_Drooping_Morocc_Minion','Costume Drooping Morocc Minion','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','600','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19820','C_Necromencer_Hood','Costume Necromencer Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','491','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19817','C_Ifrits_Breath','Costume Ifrit\'s Breath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1050','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19818','C_Droop_Morocc_Minion','Costume Drooping Morocc Minion','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','600','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19820','C_Bone_Hat','Costume Necromencer Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','491','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19821','C_Hyegun_Hat','Costume Hyegun Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','375','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19822','C_Yellow_Bandana','Costume Yellow Bandana','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','309','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19823','C_White_Cat_Hood','Costume White Cat Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','1052','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19824','C_Evil_Druid_Hat','Costume Evil Druid Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1053','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19825','C_Vicious_Stop_Bandage','Costume Vicious Stop Bandage','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1054','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19826','C_Ice_Wings_Ears','Costume Ice Wings Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','584','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19826','C_Ice_Wing_Ear','Costume Ice Wings Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','584','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19827','C_Amistr_Cap','Costume Amistr Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','643','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19828','C_Fedora','Costume Fedora','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','195','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19829','C_Straw_Hat','C Straw Hat','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','146','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19830','C_Sunglasses','Costume Sunglasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','12','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19831','C_Filir_Hat','Costume Filir Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','408','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19832','C_Poring_Hat','Costume Poring Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','120','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19833','C_Cute_Ribbon','Costume Cute Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','34','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19833','C_Fillet','Costume Cute Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','34','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19834','C_Baseball_Cap','Costume Baseball Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','216','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19835','C_Lif_Doll_Hat','Costume Lif Doll Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','297','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19836','C_Large_Majestic_Horns','Costume Large Majestic Horns','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','380','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19836','C_L_Magestic_Goat','Costume Large Majestic Horns','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','380','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19837','C_Asara_Fairy_Hat','Costume Asara Fairy Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','492','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19838','C_Fox_Hatt','Costume Fox Hatt','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','403','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19838','C_Fox_Hat','Costume Fox Hatt','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','403','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19839','C_Vanilmirth_Hat','Costume Vanilmirth Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','317','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19841','C_Dragonhelm_Copper','Costume Dragonhelm Copper','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','454','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19842','C_Puppy_Hat','Costume Puppy Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','234','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19843','C_Kitty_Band','Costume Kitty Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19843','C_Cat_Hairband','Costume Kitty Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','2','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19844','C_Turban','Costume Turban','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19845','C_Bao_Bao','Costume Bao Bao','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19846','C_Opera_Phantom_Mask','Costume Opera Phantom Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19847','C_Big_Ribbon','Costume Big Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19845','C_Hair_Protector','Costume Bao Bao','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','127','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19846','C_Opera_Ghost_Mask','Costume Opera Phantom Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','128','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19847','C_Big_Sis_Ribbon','Costume Big Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','28','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19848','C_Angeling_Hat','Costume Angeling Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','204','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19849','C_Munak_Hat','Costume Munak Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','51','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19849','C_Munak_Turban','Costume Munak Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','51','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19850','C_Bongun_Hat','Costume Bongun Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','139','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19851','C_Teddybear_Hat','Costume Teddybear Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','143','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19853','C_Filir_Wings','Costume Filir Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','595','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19851','C_Brown_Bear_Cap','Costume Teddybear Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','143','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19853','C_Filir_Wing','Costume Filir Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','595','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19855','C_Happy_Summer_Wig','Costume Happy Summer Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1059','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19856','C_Snow_Cone_Hat','Costume Snow Cone Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1080','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19857','C_Crayfish_Hat','Costume Crayfish Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','728','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19858','C_Smokie_Leaf','Costume Smokie Leaf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','148','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19859','C_Flying_Angel','Costume Flying Angel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','264','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19860','C_School_Criatura_Hat','Costume School Criatura Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','872','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19861','C_Heart_Hairpin','Costume Heart Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19862','C_Succubus_Horn','Costume Succubus Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19863','C_Incubus_Horn','Costume Incubus Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','156','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19864','C_Dokebi\'s_Wig','Costume Dokebi\'s Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','302','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19856','C_Iceflake_Hat','Costume Snow Cone Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1080','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19857','C_King_Prawn_Hat','Costume Crayfish Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','728','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19858','C_Leaf_Headgear','Costume Smokie Leaf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','148','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19859','C_Flying_Angel_','Costume Flying Angel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','264','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19860','C_Cryptura_Hair_Cap','Costume School Criatura Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','872','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19861','C_Heart_Hair_Pin','Costume Heart Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','126','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19862','C_Horn_Of_Succubus','Costume Succubus Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19863','C_Inccubus_Horn','Costume Incubus Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','156','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19864','C_Dokebis_Wig','Costume Dokebi\'s Wig','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','302','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19865','C_Joker_Jester','Costume Joker Jester','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','89','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19866','C_Blue_Pajamas','Costume Blue Pajamas','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','501','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19867','C_Red_Pajamas','Costume Red Pajamas','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','501','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19866','C_Blue_Pajamas_Hat','Costume Blue Pajamas','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','501','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19867','C_Pink_Pajamas_Hat','Costume Red Pajamas','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','501','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19868','C_Showy_High_Cap','Costume Showy High Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','830','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19869','C_Antiquity_Helmet','Costume Antiquity Helmet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','846','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19869','C_Ancient_Civil_Man','Costume Antiquity Helmet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','846','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19871','C_Music_Decoration','Decoration of Music','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'0','1074','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_DECORATION_OF_MUSIC, -1, 0;','sc_end SC_DECORATION_OF_MUSIC;');
REPLACE INTO `item_db` VALUES ('19873','C_Carnival_Hat','Costume Carnival Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','505','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19874','C_Carnival_Circlet','Costume Carnival Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','506','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9241,26 +9262,26 @@ REPLACE INTO `item_db` VALUES ('19880','C_Golden_Tiara','Costume Golden Tiara','
REPLACE INTO `item_db` VALUES ('19881','C_Pretty_Rabbit_Hood','Costume Pretty Rabbit Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1085','0','0','0','0','384',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19882','C_Flowerpot_Mask','Costume Flowerpot Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','1086','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19883','C_Piamette_Hood','Costume Piamette Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1087','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19884','C_Vanargand_Helm','Costume Vanargand Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','804','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19884','C_Vanargandr_Helm','Costume Vanargand Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','804','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19885','C_Blinker','Costume Blinker','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','82','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19886','C_Purple_Glasses','Costume Purple Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','26','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19887','C_Cyclops_Glasses','Costume Cyclops Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19886','C_Luxury_Sunglasses','Costume Purple Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','26','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19887','C_One_Eyed_Glass','Costume Cyclops Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19888','C_Glasses','Costume Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19889','C_Small_Ribbon','Costume Small Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','169','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19889','C_Pair_Of_Red_Ribbon','Costume Small Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','169','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19890','C_Mage_Hat','Costume Mage Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','112','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19891','C_Magnolia_Hat','Costume Magnolia Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','373','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19892','C_Night_Sparrow_Hat','Costume Night Sparrow Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','913','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19893','C_Ordinary_Black_Magician_Hat','Costume Ordinary Black Magician Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','912','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19894','C_Shrine_Maiden_Hat','Costume Shrine Maiden Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','908','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19895','C_Magician\'s_Night_Cap','Costume Magician\'s Night Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','911','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19895','C_Magicians_Night_Cap','Costume Magician\'s Night Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','911','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19896','C_PRO_10th_Cap','Costume PRO 10th Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1094','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19897','C_RPC13_1ST_Wreath','Costume RPC13 1ST Wreath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','261','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; bonus bMdef,3;','','');
REPLACE INTO `item_db` VALUES ('19898','C_RPC13_2ND_Wreath','Costume RPC13 2ND Wreath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','261','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus bMdef,2;','','');
REPLACE INTO `item_db` VALUES ('19899','C_RPC13_3RD_Wreath','Costume RPC13 3RD Wreath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','261','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,1;','','');
REPLACE INTO `item_db` VALUES ('19900','C_Cool_Pirate_Eyepatch','Costume Cool Pirate Eyepatch','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1097','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19901','C_Orc_Helm','Costume Orc Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','86','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19902','C_Cigarette','Costume Cigarette','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19903','C_Witch\'s_Pumpkin_Hat','Costume Witch\'s Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','717','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19902','C_Cigar','Costume Cigarette','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19903','C_Witchs_Hat','Costume Witch\'s Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','717','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19904','C_Skull_Cap','Costume Skull Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','713','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19905','C_Secret_Society_Hood','Costume Secret Society Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','806','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19906','C_Screw_stuck_in_head','Costume Screw stuck in head','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','696','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9271,126 +9292,126 @@ REPLACE INTO `item_db` VALUES ('19910','C_Halloween_Hat','Costume Halloween Hat'
REPLACE INTO `item_db` VALUES ('19911','C_Triangle_Roof_Hat','Costume Triangle Roof Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1099','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19912','C_Cat_Eye','Costume Cat Eye','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1100','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19913','C_Poo_Poo_Hat','Costume Poo Poo Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','76','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19914','C_Tarlock\'s_Hat','Costume Tarlock\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19914','Felock_Cap','Costume Tarlock\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19916','C_Black_Cat_Hat','Costume Black Cat Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19917','C_Dark_Pumpkin_Hat','Costume Dark Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','691','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19917','C_Gloomy_Pumpkin_Hat','Costume Dark Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'0','691','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19918','C_Lude_Mask','Costume Lude Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','802','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19919','C_Quve_Mask','Costume Quve Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','472','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19920','C_Evolved_Whisper_Mask','Costume Evolved Whisper Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'0','458','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19922','C_Noah\'s_Hat','Costume Noah\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','636','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19925','C_Monocle','Costume Monocle','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19919','C_Cube_Mask_','Costume Quve Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'0','472','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19920','C_Adv_Whisper_Mask','Costume Evolved Whisper Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'0','458','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19922','C_Noah_Hat','Costume Noah\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','636','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19925','C_One_Eyed_Glasses','Costume Monocle','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','23','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19928','C_Gothic_Heart_Wing','Costume Gothic Heart Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1111','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19929','C_Classical_Ribbon','Costume Classical Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1112','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19930','C_Angel_Mini_Silk_Hat','Costume Angel Mini Silk Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1113','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19931','C_Lazy_Smokie','Costume Lazy Smokie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','168','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19932','C_Model_Training_Hat','Costume Model Training Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19934','C_Flaming_Ten_Gallon_Hat','Costume Flaming Ten Gallon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1075','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19931','C_Lazy_Raccoon','Costume Lazy Smokie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','168','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19932','C_Cap_Of_Concentration','Costume Model Training Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19934','C_10Gallon_Hat_Of_Flame','Costume Flaming Ten Gallon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1075','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19935','C_Hunting_Cap_Of_Gust','Costume Hunting Cap Of Gust','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1076','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19936','C_Knit_Cap_Of_Water','Costume Knit Cap Of Water','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1077','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19938','C_Love_Bunny_Hood','Costume Love Bunny Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','549','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19939','C_Antlers','Costume Antlers','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','71','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19941','C_Ear_Muffs','Costume Ear Muffs','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','70','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19939','C_Antler','Costume Antlers','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','71','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19941','C_Ear_Mufs','Costume Ear Muffs','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','70','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19949','C_RWC2013_Japan_Hat','Costume RWC2013 Japan Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1136','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19952','C_Bubble_Gum_in_Mouth','Costume Bubble Gum in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','572','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19952','C_Bubble_Gum_In_Mouth','Costume Bubble Gum in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','572','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19953','C_Parade_Cap','Costume Parade Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','465','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19954','C_3D_Glasses','Costume 3D Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','661','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19955','C_Mini_Tree','Costume Mini Tree','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','727','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19955','C_Mini_Tree_J','Costume Mini Tree','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','727','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19956','C_Soldier_Hat','Costume Soldier Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','420','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19957','C_Scooter_Hat','Costume Scooter Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','588','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19957','C_Scooter_Hat_J','Costume Scooter Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','588','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19958','C_Choir_Hat','Costume Choir Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1137','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19959','C_Drooping_Argiope','Costume Drooping Argiope','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1138','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19960','C_Chain_Puppet','Costume Chain Puppet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1139','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19961','C_Rune_Circlet','Costume Rune Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','623','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19962','C_Mitra','Costume Mitra','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','624','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19963','C_Driver_Band_Red','Costume Driver Band Red','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','626','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19964','C_Driver_Band_Yellow','Costume Driver Band Yellow','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','637','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19963','C_Driver_Band_R','Costume Driver Band Red','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','626','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19964','C_Driver_Band_Y','Costume Driver Band Yellow','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','637','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19965','C_Shadow_Handicraft','Costume Shadow Handicraft','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','627','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19966','C_Minstrel_Song\'s_Hat','Costume Minstrel Song\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','628','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19966','C_Minstrel_Song_Hat','Costume Minstrel Song\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','628','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19967','C_Midas_Whisper','Costume Midas Whisper','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','629','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19968','C_Magic_Stone_Hat','Costume Magic Stone Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','630','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19969','C_Blazing_Soul','Costume Blazing Soul','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','631','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19970','C_Wind_Whisper','Costume Wind Whisper','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','633','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19971','C_Dying_Swan','Costume Dying Swan','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','635','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19972','C_Protect_Of_Crown','Costume Protect Of Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1140','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19973','C_Circlet_Of_Bones','Costume Circlet Of Bones','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1141','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19974','C_Camouflage_Rabbit_Hood','Costume Camouflage Rabbit Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19973','C_Circlet_Of_Bone','Costume Circlet Of Bones','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1141','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19974','C_Camouflage_RabbitHood','Costume Camouflage Rabbit Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19976','C_Cat_Santa_Hat','Costume Cat Santa Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1144','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19977','C_Golden_Exclamation_Mark','Costume Golden Exclamation Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1145','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19978','C_Silver_Exclamation_Mark','Costume Silver Exclamation Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1146','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19979','C_Golden_Question_Mark','Costume Golden Question Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1147','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19980','C_Silver_Question_Mark','Costume Silver Question Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1148','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19982','C_Santa_Hat','Costume Santa Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','727','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19977','C_Golden_Exclamation','Costume Golden Exclamation Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1145','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19978','C_Silver_Exclamation','Costume Silver Exclamation Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1146','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19979','C_Golden_Question','Costume Golden Question Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1147','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19980','C_Silver_Question','Costume Silver Question Mark','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1148','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19982','C_Santas_Hat','Costume Santa Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','727','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19983','C_Flower_Hairpin','Costume Flower Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','145','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19984','C_Winter_Hat','Costume Winter Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','196','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19985','C_Aura_Quartz','Costume Aura Quartz','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','866','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19985','C_Aura_Quartz_Crown','Costume Aura Quartz','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','866','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19986','C_Lunatic_Hat','Costume Lunatic Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','521','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19987','C_Blue_Fur_Hat','Costume Blue Fur Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','280','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19988','C_Elder_Crown','Costume Elder Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','933','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19989','C_Mouton_Life','Costume Mouton Life','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1156','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19990','C_Rabbit_Knit_Hat','Costume Rabbit Knit Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19990','C_Snow_Rabbit_Knit_Hat','Costume Rabbit Knit Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1157','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19991','C_Galanthus_Guard','Costume Galanthus Guard','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1158','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19992','C_Chilly_Breath','Costume Chilly Breath','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','885','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19994','C_saLUsalo_Hat','Costume saLUsalo Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1171','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19996','C_Horse_King','Costume Horse King','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1189','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19996','Horse_King','Costume Horse King','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1189','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19997','C_Bomb_Hat','Costume Bomb Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1191','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19998','C_Dragon_Turtle_Hat','Costume Dragon Turtle Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1192','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('19999','C_Mouse_Hat1','Costume Mouse Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1193','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20000','C_Mouse_Hat2','Costume Mouse Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1194','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20001','C_Mouse_Hat3','Costume Mouse Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1195','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20002','C_Mouse_Hat4','Costume Mouse Hat4','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1196','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20003','C_Mouse_Hat5','Costume Mouse Hat5','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1197','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('19999','Mouse_Hat1','Costume Mouse Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1193','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20000','Mouse_Hat2','Costume Mouse Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1194','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20001','Mouse_Hat3','Costume Mouse Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1195','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20002','Mouse_Hat4','Costume Mouse Hat4','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1196','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20003','Mouse_Hat5','Costume Mouse Hat5','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1197','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20004','C_Big_Golden_Bell','Costume Big Golden Bell','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','175','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20005','C_Sigrun_Wing','Costume Sigrun Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','568','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20006','C_Dark_Knight_Mask','Costume Dark Knight Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'1','479','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20007','C_Horned_Hat','Costume Horned Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','322','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20008','C_Dragon_General_Helm','Costume Dragon General Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','729','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20009','C_Dragon_Skull_Hat','Costume Dragon Skull Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','319','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20010','C_Rainbow_Ears_Feather','Costume Rainbow Ears Feather','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1198','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20010','C_Rainbow_Wing_Ears','Costume Rainbow Ears Feather','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1198','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20011','C_Lightning_Speed','Costume Lightning Speed','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1199','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20012','C_Double_Horn_Helm','Costume Double Horn Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1200','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20013','C_Chef_Hat','Costume Chef Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','111','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20014','C_Lincoln_Hat','Costume Lincoln Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1204','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20015','C_Lincoln_Beard','Costume Lincoln Beard','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1205','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20016','C_Cool_Dinner_Hat','Costume Cool Dinner Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20014','Lincoln_Hat','Costume Lincoln Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1204','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20015','Lincoln_Beard','Costume Lincoln Beard','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1205','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20016','Lobster_Hat','Costume Cool Dinner Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20017','C_Marionette_Doll','Costume Marionette Doll','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','212','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20019','C_Artisant_Beret','Costume Artisant Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1209','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20019','Beret_Of_Artist','Costume Artisant Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1209','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20020','C_Zaha_Doll_Hat','Costume Zaha Doll Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','461','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20021','C_Heart_Ribbon_Hairband','Costume Heart Ribbon Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','708','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20022','C_Love_Fragment','Costume Love Fragment','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','734','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20023','C_Red_Beret','Costume Red Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','559','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20024','C_Orange_Ribbon','Costume Orange Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','247','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20025','C_Cow_Hat1','Costume Cow Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1211','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20026','C_Cow_Hat2','Costume Cow Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1212','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20027','C_Cow_Hat3','Costume Cow Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1213','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20028','C_Cow_Hat4','Costume Cow Hat4','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1214','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20025','Cow_Hat1','Costume Cow Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1211','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20026','Cow_Hat2','Costume Cow Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1212','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20027','Cow_Hat3','Costume Cow Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1213','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20028','Cow_Hat4','Costume Cow Hat4','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1214','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20029','C_Donut_in_Mouth','Costume Donut in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','569','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20030','C_Choco_Donut_in_Mouth','Costume Choco Donut in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','653','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20031','C_Bunny_Headress','Costume Bunny Headress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1215','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20031','C_Bunny_Head_Dress','Costume Bunny Headress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1215','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20032','C_Firinto_Scarf','Costume Firinto Scarf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1216','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20033','C_Monk_Crown','Costume Monk Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1217','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20033','C_Buddhist_Priest_Crown','Costume Monk Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1217','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20034','C_Jack_Castle_Bat','Costume Jack Castle Bat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1041','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20035','C_Miracle_Blue_Rose','Costume Miracle Blue Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1064','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20036','C_Crown_of_Victory','Costume Crown of Victory','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','981','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20036','C_Sword_Master_Crown','Costume Crown of Victory','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','981','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20037','C_Owlduke_Silk_Hat','Costume Owlduke Silk Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','982','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20038','C_Alphonse_Helm','Costume Alphonse Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1214','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20039','C_Butterfly_Wing_Ears','Costume Butterfly Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','695','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20040','C_Chung_Hairpin','Costume Chung Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','583','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20040','C_Chung_Hairband_','Costume Chung Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','583','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20041','C_Rose_Headband','Costume Rose Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','864','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20042','C_Hermos_Cap','Costume Hermos Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','478','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20043','C_Cherryblossom_in_Mouth','Costume Cherryblossom in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','823','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20044','C_Carmen_Miranda\'s_Hat','Costume Carmen Miranda\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','329','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20044','C_Carmen_Mirandas_Hat','Costume Carmen Miranda\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','329','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20045','C_Samambaia','Costume Samambaia','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','508','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20046','C_Blue_Ribbon_Band','Costume Blue Ribbon Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1222','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20047','C_Prayer_Cherry_Blossom','Costume Prayer Cherry Blossom','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1223','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20048','C_Wind_Prairie','Costume Wind Prairie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20049','C_Giant_Aid_Band','Costume Giant Aid Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','147','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20050','C_Ph.D_Hat','Costume Ph.D Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20047','C_Pray_Cherry_Blossom','Costume Prayer Cherry Blossom','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1223','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20048','C_Wind_Of_The_Prairie','Costume Wind Prairie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20049','C_Plaster','Costume Giant Aid Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','147','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20050','C_Ph_D_Hat','Costume Ph.D Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','98','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20051','C_Stop_Post','Costume Stop Post','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','59','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20052','C_AFK_Hat','Costume AFK Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','471','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20053','C_WKing_Tiger_Doll_Hat','Costume WKing Tiger Doll Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','973','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20054','C_Pacifier','Costume Pacifier','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','191','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20054','C_Baby_Pacifier','Costume Pacifier','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','191','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20055','C_Ghost_Bandana','Costume Ghost Bandana','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','61','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20056','C_Bride\'s_Corolla','Costume Bride\'s Corolla','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20056','C_Bride_Corolla','Costume Bride\'s Corolla','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','437','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20057','C_Feather_Bonnet','Costume Feather Bonnet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20058','C_Hot_Blood_Headband','Costume Hot Blood Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','154','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20059','C_Welding_Mask','Costume Welding Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','79','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9399,7 +9420,7 @@ REPLACE INTO `item_db` VALUES ('20061','C_Demo_Mask','Costume Demo Mask','5','0'
REPLACE INTO `item_db` VALUES ('20062','C_Angel_Stair','Costume Angel Stair','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_HAT_EFFECT, -1, 0;','sc_end SC_HAT_EFFECT;');
REPLACE INTO `item_db` VALUES ('20063','C_Yellow_Brain_Hat','Costume Yellow Brain Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1228','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20064','C_Blue_Brain_Hat','Costume Blue Brain Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1229','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20065','C_Grand_Peco_Hairband','Costume Grand Peco Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','473','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20065','C_Hairband_Of_Grandpeco','Costume Grand Peco Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','473','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20066','C_Pecopeco_Hairband','Costume Pecopeco Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','314','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20067','C_White_Rabbit_Headband','Costume White Rabbit Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','719','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20068','C_Black_Rabbit_Headband','Costume Black Rabbit Headband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','718','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9408,29 +9429,29 @@ REPLACE INTO `item_db` VALUES ('20070','C_Alpaca_Hood','Costume Alpaca Hood','5'
REPLACE INTO `item_db` VALUES ('20071','C_Worg_In_Mouth','Costume Worg In Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1235','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20073','C_Hair_Band','Costume Hair Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20074','C_Biretta','Costume Biretta','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','11','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20075','C_Little_Feather_Hat','Costume Little Feather Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','715','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20076','C_Idun_Feather_Ears','Costume Idun Feather Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','724','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20077','C_Wing_Frame_Sunglasses','Costume Wing Frame Sunglasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','925','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20075','C_Little_Fhat','Costume Little Feather Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','715','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20076','C_Idun_Wing_Ears','Costume Idun Feather Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','724','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20077','C_Wing_Form_Spectacle','Costume Wing Frame Sunglasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','925','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20078','C_White_Feather','Costume White Feather','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','741','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20079','C_Forgotten_Angel_Wing','Costume Forgotten Angel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20080','C_Shaman_Hair_Ornament','Costume Shaman Hair Ornament','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','476','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20079','C_Love_Daddy_2013','Costume Forgotten Angel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1104','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20080','C_Shamans_Hair_Orna','Costume Shaman Hair Ornament','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','476','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20081','C_Metal_Dragon_Helm','Costume Metal Dragon Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1242','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20082','C_Metal_Dragon_Hat','Costume Metal Dragon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1243','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20083','C_Mythlit_Hat','Costume Mythlit Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1244','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20084','C_Ceremonial_Hat','Costume Ceremonial Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','325','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20085','C_St_Patrick\'s_Hat','Costume St Patrick\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','735','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20084','C_Clover_Coronet','Costume Ceremonial Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','325','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20085','C_Clover_Silkhat','Costume St Patrick\'s Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','735','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20086','C_Dragon_Cintamani_Hat1','Costume Dragon Cintamani Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1245','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20087','C_Dragon_Cintamani_Hat2','Costume Dragon Cintamani Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1246','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20088','C_Dragon_Cintamani_Hat3','Costume Dragon Cintamani Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1247','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20089','C_Dragon_Cintamani_Hat4','Costume Dragon Cintamani Hat4','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1248','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20090','C_Egg_Shell','Costume Egg Shell','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','101','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20091','C_Smoking_Pipe','Costume Smoking Pipe','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','55','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20092','C_Sale_Banner','Costume Sale Banner','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','183','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20093','C_Wizard_Hat','Costume Wizard Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','36','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20094','C_Green_Ribbon','Costume Green Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','439','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20095','C_Red_Ribbon','Costume Red Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','440','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20096','C_Blue_Ribbonn','Costume Blue Ribbonn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','441','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20097','C_White_Ribbon','Costume White Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','442','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20092','C_Sales_Signboard','Costume Sale Banner','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','183','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20093','C_Star_Sparkling','Costume Wizard Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','36','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20094','C_Fillet_Green','Costume Green Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','439','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20095','C_Fillet_Red','Costume Red Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','440','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20096','C_Fillet_Blue','Costume Blue Ribbonn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','441','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20097','C_Fillet_White','Costume White Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','442','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20098','C_Vampire_Hairband','Costume Vampire Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1238','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20099','C_Ljosalfar','Costume Ljosalfar','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1239','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_LJOSALFAR,-1,0;','sc_end SC_LJOSALFAR;');
REPLACE INTO `item_db` VALUES ('20100','C_Volume_Fhat','Costume Volume Fhat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1240','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9447,27 +9468,27 @@ REPLACE INTO `item_db` VALUES ('20110','C_Coiledup_Snake_Hat1','Costume Coiledup
REPLACE INTO `item_db` VALUES ('20111','C_Coiledup_Snake_Hat2','Costume Coiledup Snake Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1259','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20112','C_Aqua_Ten_Gallon_Hat','Costume Aqua Ten Gallon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20113','C_Star_Reading_Hat','Costume Star Reading Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1253','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20114','C_Funeral_Hat','Costume Funeral Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','77','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20114','C_Funeral_Costume','Costume Funeral Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','77','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20115','C_Under_Rim_Glasses','Costume Under Rim Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1255','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20116','C_Mermaid_Headphones','Costume Mermaid Headphones','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1254','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20116','C_Mermaid_Headphone','Costume Mermaid Headphones','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1254','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20117','C_Raspberry_Mousse_Hat','Costume Raspberry Mousse Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1257','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20118','C_Cake_Hat','Costume Cake Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','109','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20119','C_Beanie','Costume Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','160','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20118','C_Hat_Of_Cake','Costume Cake Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','109','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20119','C_Fur_Hat','Costume Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','160','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20120','C_Antenna','Costume Antenna','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','97','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20121','C_Water_Lily_Hat','Costume Water Lily Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','324','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20122','C_Happy_Summer_Ribbon','Costume Happy Summer Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1260','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20121','C_Lotus_Flower_Hat','Costume Water Lily Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','324','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20122','Happy_Summer_Ribbon','Costume Happy Summer Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1260','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20123','C_Eagle_Eyes','Costume Eagle Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','63','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20124','C_Masquerade','Costume Masquerade','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','78','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20125','C_Mini_Glasses','Costume Mini Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','47','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20126','C_Odium_Thanatos_Mask','Costume Odium Thanatos Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','667','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20127','C_Abysmal_Knight_Helm','Costume Abysmal Knight Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','371','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20128','C_Remover_Hat','Costume Remover Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','655','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20129','C_Poporing_Cap','Costume Poporing Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','361','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20129','C_Poporing_Hat','Costume Poporing Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','361','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20130','C_Whisper_Tall_Hat','Costume Whisper Tall Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1265','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20131','C_Clock_Tower_Manager_Incom','Costume Clock Tower Manager Incom','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1266','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20131','C_C_Tower_Manager_Hat','Costume Clock Tower Manager Incom','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1266','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20132','C_Subject_Aura','Costume Subject Aura','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1267','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20133','C_Poring_Mascot','Costume Poring Mascot','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1268','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20134','C_White_Helm_Of_Abyss','Costume White Helm Of Abyss','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1269','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20133','C_Poring_Mascot_Costume','Costume Poring Mascot','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1268','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20134','C_Helm_Of_Abyss_White','Costume White Helm Of Abyss','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1269','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20135','C_12th_Anniversary_Crown','Costume 12th Anniversary Crown','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1117','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20136','C_12th_Anniversary_Fairy_Ears','Costume 12th Anniversary Fairy Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','875','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20137','C_Bomb_Wick','Costume Bomb Wick','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','66','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9479,22 +9500,22 @@ REPLACE INTO `item_db` VALUES ('20142','C_Machoman_Glasses','Costume Machoman Gl
REPLACE INTO `item_db` VALUES ('20143','C_Candy_Cane_In_Mouth','Costume Candy Cane In Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','665','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20144','C_Ancient_Elven_Ear','Costume Ancient Elven Ear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','665','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20145','C_Robo_Eye','Costume Robo Eye','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','345','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20146','C_Angel_Of_Ghost','Costume Angel Of Ghost','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','394','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20147','C_Pigeon_On_Shoulder','Costume Pigeon On Shoulder','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1034','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20146','C_Angel_Spirit','Costume Angel Of Ghost','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','394','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20147','C_Bell_Pigeon','Costume Pigeon On Shoulder','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1034','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20148','C_Musketeer_Hat','Costume Musketeer Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','466','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20149','C_Hexagon_Glasses','Costume Hexagon Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','822','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20150','C_Wind_Fan','Costume Wind Fan','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1051','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20151','C_Poison_Spore_Hat','Costume Poison Spore Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','899','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20152','C_Straw_Rice_Bag','Costume Straw Rice Bag','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1273','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20153','C_Monochrome_Cap','Costume Monochrome Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1274','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20154','C_Falling_Maple_leafs','Costume Falling Maple leafs','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1275','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_MAPLE_FALLS, -1, 0;','sc_end SC_MAPLE_FALLS;');
-REPLACE INTO `item_db` VALUES ('20155','C_Lady_Feather_Hat','Costume Lady Feather Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1276','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20156','C_Fan_in_Mouth','Costume Fan in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','857','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20157','C_Blue_Fish','Costume Blue Fish','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','149','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20154','C_Maple_Which_Falls','Costume Falling Maple leafs','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1275','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_MAPLE_FALLS, -1, 0;','sc_end SC_MAPLE_FALLS;');
+REPLACE INTO `item_db` VALUES ('20155','C_Ladys_Feather_Hat','Costume Lady Feather Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1276','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20156','C_Fan_In_Mouth','Costume Fan in Mouth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','857','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20157','C_Fish_On_Head','Costume Blue Fish','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','149','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20158','C_Circlet','Costume Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20159','C_Blue_Hairband','Costume Blue Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','136','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20160','C_Magnolia_Hat_J','Costume Magnolia Hat_J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','373','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20161','C_Army_Cap','Costume Army Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','48','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20159','C_Blue_Hair_Band','Costume Blue Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','136','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20160','C_Fried_Egg','Costume Magnolia Hat_J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','373','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20161','C_Prontera_Army_Cap','Costume Army Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','48','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20162','C_Lamb_Hat1','Costume Lamb Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1277','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20163','C_Lamb_Hat2','Costume Lamb Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1278','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20164','C_Duneyrr_Hat','Costume Duneyrr Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','639','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9505,24 +9526,24 @@ REPLACE INTO `item_db` VALUES ('20168','C_Skull_Hood','Costume Skull Hood','5','
REPLACE INTO `item_db` VALUES ('20169','C_Long_Tongue','Costume Long Tongue','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','773','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20170','C_Brown_Deviruchi_Cap','Costume Brown Deviruchi Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','273','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20171','C_Sepia_Cap','Costume Sepia Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1280','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20172','C_Pumpkin_Hat','Costume Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1281','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20172','C_Pumpkin_Head','Costume Pumpkin Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1281','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20173','C_Lude_Hood','Costume Lude Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1282','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20174','C_Orange_Halloween_Hat','Costume Orange Halloween Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1283','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20174','C_Halloween_Hat_Orange','Costume Orange Halloween Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1283','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20175','C_Diabolic_Headphone','Costume Diabolic Headphone','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1284','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20176','C_Happy_Pierrot_Mask','Costume Happy Pierrot Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','1288','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20176','Happy_Pierrot_Mask','Costume Happy Pierrot Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','1288','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20177','C_Drooping_Dorasuke','Costume Drooping Dorasuke','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1290','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20178','C_Puppy_Love','Costume Puppy Love','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','94','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20179','C_Monkey_Fur_Hat','Costume Monkey Fur Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','858','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20180','C_Western_Grace','Costume Western Grace','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','32','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20181','C_Mystic_Rose','Costume Mystic Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','198','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20182','C_Rainbow_Eggshell','Costume Rainbow Eggshell','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','124','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20180','C_Westren_Grace','Costume Western Grace','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','32','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20181','C_Mistic_Rose','Costume Mystic Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','198','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20182','C_Mottled_Egg_Shell','Costume Rainbow Eggshell','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','124','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20183','C_There_Is_Something','C There Is Something','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','3072','0','0',NULL,'0','1091','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20184','C_Party_Hat','Costume Party Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','144','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20185','C_Fashionable_Glasses','Costume Fashionable Glasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','131','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20186','C_Magni\'s_Cap','Costume Magni\'s Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','250','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20187','C_Fricca\'s_Circlet','Costume Fricca\'s Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','251','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20188','C_Morpheus\'s_Hood','Costume Morpheus\'s Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20189','C_Goibne\'s_Helm','Costume Goibne\'s Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20186','C_Magni_Cap','Costume Magni\'s Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','250','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20187','C_Friccas_Circlet','Costume Fricca\'s Circlet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','251','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20188','C_Morpheuss_Hood','Costume Morpheus\'s Hood','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','256','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20189','C_Goibnes_Helm','Costume Goibne\'s Helm','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','258','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20190','C_Chick_Hat_J','Costume Chick Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','432','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20191','C_Black_Cat_Ears_Beret','Costume Black Cat Ears Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1071','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20192','C_Green_Foxtail','Costume Green Foxtail','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1058','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9532,20 +9553,20 @@ REPLACE INTO `item_db` VALUES ('20195','C_Scratching_Cat','Costume Scratching Ca
REPLACE INTO `item_db` VALUES ('20196','C_Leopard_Ear_Hat','Costume Leopard Ear Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1293','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20197','C_Amistr_Beret','Costume Amistr Beret','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1294','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20198','C_Misty_Ears','Costume Misty Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1295','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20199','C_Evil_Marching_Hat','Costume Evil Marching Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','687','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20200','C_Rabbit_Headdress','Costume Rabbit Headdress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1095','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20199','C_Evil_Marcher_Hat','Costume Evil Marching Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','687','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20200','C_Rabbit_Head_Dress','Costume Rabbit Headdress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1095','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20201','C_Banshee_Master_Kiss','Costume Banshee Master Kiss','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','959','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20202','C_Deviruchi_Balloon','Costume Deviruchi Balloon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1082','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20203','C_Bandana','Costume Bandana','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20204','C_Hunting_Cap','Costume Hunting Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','389','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20205','C_Fancy_Flower','Costume Fancy Flower','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20206','C_Chicken_Hat1','Costume Chicken Hat1','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1296','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20207','C_Striped_Hairband','Costume Striped Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','133','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20207','C_Stripe_Band','Costume Striped Hairband','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','133','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20208','C_Necktie','Costume Necktie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','443','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20209','C_Mermaid_Bubbles','Costume Mermaid Bubbles','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1299','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_MERMAID_LONGING,-1,0;','sc_end SC_MERMAID_LONGING;');
+REPLACE INTO `item_db` VALUES ('20209','C_Mermaid_Longing','Costume Mermaid Bubbles','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1299','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_MERMAID_LONGING,-1,0;','sc_end SC_MERMAID_LONGING;');
REPLACE INTO `item_db` VALUES ('20210','C_Chicken_Hat2','Costume Chicken Hat2','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1297','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20211','C_Chicken_Hat3','Costume Chicken Hat3','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1298','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20212','C_Loki_&_Nidhoggur_dolls','Costume Loki & Nidhoggur dolls','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1304','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20212','C_Loki_Nidhogg_Hat','Costume Loki & Nidhoggur dolls','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1304','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20213','C_Robot_Eyes','Costume Robot Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','345','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20214','C_Evil_Marcher_Hat_J','Costume Evil Marcher Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1002','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20215','C_Black_Devil_Mask','Costume Black Devil Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','760','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9555,25 +9576,25 @@ REPLACE INTO `item_db` VALUES ('20218','C_Spell_Circuit','Costume Spell Circuit'
REPLACE INTO `item_db` VALUES ('20219','C_Angel_Marcher_Hat','Costume Angel Marcher Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1302','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20220','C_Dark_Night_Veil','Costume Dark Night Veil','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1303','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20221','C_Ifrit_Eyes','Costume Ifrit Eyes','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','886','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20222','C_Blue_Santa_Hat','Costume Blue Santa Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','395','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20223','C_Romantic_Leaf','Costume Romantic Leaf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','57','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20222','C_Santa_Hat_2','Costume Blue Santa Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','395','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20223','C_Centimental_Leaf','Costume Romantic Leaf','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','57','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20224','C_Red_Tailed_Ribbon','Costume Red Tailed Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','167','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20225','C_Pumpkin_Head','Costume Pumpkin Head','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20226','C_Red_Comb','Costume Red Comb','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','445','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20225','C_Pumpkin_Hat','Costume Pumpkin Head','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','206','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20226','C_Hair_Brush','Costume Red Comb','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','445','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20227','C_Husky_Hat','Costume Husky Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1016','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20228','C_Piggie_Bank_J','Costume Piggie Bank J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','603','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20229','C_New_Year_Hairpin','Costume New Year Hairpin','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1155','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20230','C_Bankruptcy_Mask','Costume Bankruptcy Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','936','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20230','C_Mask_Of_Bankrupt','Costume Bankruptcy Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','936','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20231','C_Snowman_Hat','Costume Snowman Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','616','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20232','C_Celines_Ribbon','Costume Celines Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','967','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20233','C_Golden_Statue_of_Baby_Angel','Costume Golden Statue of Baby Angel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','646','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20233','C_Gold_Angel_Sculpture','Costume Golden Statue of Baby Angel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','646','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20234','C_Baphomet_Hat','Costume Baphomet Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1311','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20235','C_Frozen_Rose','Costume Frozen Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1025','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20236','C_Arc_Angeling_Hat','Costume Arc Angeling Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','241','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20237','C_Pink_Beanie','Costume Pink Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','281','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20238','C_Drooping_Blue_Cat','Costume Drooping Blue Cat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','277','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20235','C_Frozen_Land_Rose','Costume Frozen Rose','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1025','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20236','C_Hellomother_Hat','Costume Arc Angeling Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','241','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20237','C_Pink_Fur_Hat','Costume Pink Beanie','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','281','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20238','C_Blue_Drooping_Kitty','Costume Drooping Blue Cat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','277','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20239','C_Large_Ribbon_Muffler','Costume Large Ribbon Muffler','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1312','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20240','C_Gift_of_Snow','Costume Gift of Snow','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20240','C_Gift_Of_Snow','Costume Gift of Snow','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20241','C_Eclipse_Hat','Costume Eclipse Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','922','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20242','C_Snownow_Hat','Costume Snownow Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1313','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20243','C_Choco_Mint_Bonnet','Costume Choco Mint Bonnet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1314','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9585,17 +9606,17 @@ REPLACE INTO `item_db` VALUES ('20248','C_Black_Strong_Hair','Costume Black Stro
REPLACE INTO `item_db` VALUES ('20249','C_Red_Strong_Hair','Costume Red Strong Hair','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1316','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20250','C_White_Strong_Hair','Costume White Strong Hair','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1317','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20251','C_Rose_Cascade','Costume Rose Cascade','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','920','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20252','C_Mage_Decoration','Costume Mage Decoration','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20253','C_Drooping_Alicel','Costume Drooping Alicel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20254','C_Yellow_Ribbonn','Costume Yellow Ribbonn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','243','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20255','C_Love_Cheeks','Costume Love Cheeks','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1318','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20256','C_Honey_Pancake','Costume Honey Pancake','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1319','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20252','C_Accessory_of_Ascetic','Costume Mage Decoration','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1150','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20253','C_Droopy_Alice_Doll','Costume Drooping Alicel','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20254','C_Ribbon_Yellow','Costume Yellow Ribbonn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','243','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20255','C_Love_Cheek','Costume Love Cheeks','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1318','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20256','C_Honey_Pancakes','Costume Honey Pancake','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1319','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20257','C_Black_Rabbit_Bonnet','Costume Black Rabbit Bonnet','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1320','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20258','C_Blue_Headdress','Costume Blue Headdress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1321','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20258','C_Blue_Head_Dress','Costume Blue Headdress','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1321','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20259','C_Pink_Clover','Costume Pink Clover','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1322','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20260','C_Stardust','Costume Stardust','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','81','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20262','C_Fox_Ears_Drop_Ribbon','Costume Fox Ears Drop Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1070','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20263','C_Sleeping_Cat_Hat_J','Costume Sleeping Cat Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','838','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20262','C_Fox_Ears_Bell_Ribbon','Costume Fox Ears Drop Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1070','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20263','C_Hat_Of_Drowsy_Cat','Costume Sleeping Cat Hat J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','838','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20264','C_Blood_Sucker','Costume Blood Sucker','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','893','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20265','C_Bird_Nest_Hat','Costume Bird Nest Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','235','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20266','C_Secret_Zipper','Costume Secret Zipper','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1324','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9604,20 +9625,20 @@ REPLACE INTO `item_db` VALUES ('20268','C_Sleep_Eclipse_Family','Costume Sleep E
REPLACE INTO `item_db` VALUES ('20269','C_White_Fox_Ear_Ribbon','Costume White Fox Ear Ribbon','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1327','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20270','C_Gryphon_Wing_Ears','Costume Gryphon Wing Ears','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1328','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20271','C_Sunflower','Costume Sunflower','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','37','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20272','C_Unicorn_Horn','Costume Unicorn Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','42','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20272','C_Snowy_Horn','Costume Unicorn Horn','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','42','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20273','C_Soft_Sheep_Hat','Costume Soft Sheep Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','738','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20274','C_Polar_Bear_Cap_J','Costume Polar Bear Cap J','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','966','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20277','C_Balloon_Hat','Costume Balloon Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','385','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20278','C_Mans_Medal','Costume Man\'s Medal','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','775','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20279','C_Cheering_Whistle','Costume Cheering Whistle','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','952','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20280','C_Well-Chewed_Pencil','Costume Well-Chewed Pencil','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','555','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20280','C_Pencil_In_Mouth','Costume Well-Chewed Pencil','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','555','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20281','C_Kindergarten_Hat','Costume Kindergarten Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','977','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20282','C_White_Student_Cap','Costume White Student Cap','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','877','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20283','C_Over_Protector','Costume Over Protector','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1329','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20284','C_Sakura_Hat','Costume Sakura Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1330','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20285','C_Dancing_Fallen_Sakura','Costume Dancing Fallen Sakura','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1331','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_BLOSSOM_FLUTTERING, -1, 0;','sc_end SC_BLOSSOM_FLUTTERING;');
+REPLACE INTO `item_db` VALUES ('20284','C_Cherry_Blossom_Hat','Costume Sakura Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1330','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20285','C_Blossom_Fluttering','Costume Dancing Fallen Sakura','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'1','1331','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','sc_start SC_BLOSSOM_FLUTTERING, -1, 0;','sc_end SC_BLOSSOM_FLUTTERING;');
REPLACE INTO `item_db` VALUES ('20286','C_Under_Rim_Glasses_Red','Costume Under Rim Glasses Red','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1332','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20287','C_Mans_Medal(Gold)','Costume Man\'s Medal(Gold)','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1333','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20287','C_Mans_Medal_','Costume Man\'s Medal(Gold)','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1333','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20288','C_Bijou_Hat','Costume Bijou Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1334','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20291','C_Helm_of_Thoth','Costume Helm of Thoth','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','860','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20292','C_Black_Ramen_Hat','Costume Black Ramen Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','1338','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9626,7 +9647,7 @@ REPLACE INTO `item_db` VALUES ('20294','C_Savage_Babe_Hat','Costume Savage Babe
REPLACE INTO `item_db` VALUES ('20295','C_Poring_Sunglasses','Costume Poring Sunglasses','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','954','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20296','C_Yoyo_Hat','Costume Yoyo Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','391','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20297','C_Cactus_Hat','Costume Cactus Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','615','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20298','C_Happy_Lunatic_Hanging_Ear','Costume Happy Lunatic Hanging Ear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1340','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20298','C_Happy_Lunatic_Ear','Costume Happy Lunatic Hanging Ear','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','2048','0','0',NULL,'1','1340','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20299','C_Face_Crusher','Costume Face Crusher','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','6144','0','0',NULL,'1','1341','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20300','C_Hill_Wind_Mask','Costume Hill Wind Mask','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','7168','0','0',NULL,'1','1342','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20301','C_Golden_Savage_Hat','Costume Golden Savage Hat','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','648','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -9657,34 +9678,37 @@ REPLACE INTO `item_db` VALUES ('20704','TE_Woe_Magic_Manteau','TE Woe Magic Mant
REPLACE INTO `item_db` VALUES ('20706','Amistr_Bag','Amistr Bag','5','0','0','500','0','0','18','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Undead,5;','','');
REPLACE INTO `item_db` VALUES ('20707','Kirin_Wing','Kirin Wing','5','20','10','0','0','0','18','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bVit,1; bonus bDex,1; bonus bAgi,1; bonus bLuk,1;','','');
REPLACE INTO `item_db` VALUES ('20709','Mana_Manteau','Mana Manteau','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4','0','1','100','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_All,10;','','');
-REPLACE INTO `item_db` VALUES ('20710','Modified_Angel\'s_Cardigan','Modified Angel\'s Cardigan','5','20','10','400','0','0','6','0','1','1','47','2','4','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,50;','','');
+REPLACE INTO `item_db` VALUES ('20710','Impr_Angels_Warmth','Modified Angel\'s Cardigan','5','20','10','400','0','0','6','0','1','1','47','2','4','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,50;','','');
REPLACE INTO `item_db` VALUES ('20711','Manteau_Of_Diego','Manteau Of Diego','5','20','10','600','0','0','15','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bMdef,3;','','');
-REPLACE INTO `item_db` VALUES ('20717','Gigant_Snake_Skin','Gigant Snake Skin','5','20','10','400','0','0','38','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
-REPLACE INTO `item_db` VALUES ('20718','Gigant_Snake_Skin_','Gigant Snake Skin','5','20','10','400','0','0','38','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
-REPLACE INTO `item_db` VALUES ('20721','Gray_Cloak','Gray Cloak','5','20','10','600','0','0','45','0','1','18446744073709551615','56','2','4','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,3+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('20724','Love_Dad_Wing_2012','Love Dad Wing 2012','5','0','0','100','0','0','15','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(readparam(bStr)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bStr,getrefine(); } if(readparam(bAgi)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bAgi,getrefine(); } if(readparam(bVit)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bVit,getrefine(); } if(readparam(bInt)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bInt,getrefine(); } if(readparam(bDex)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bDex,getrefine(); } if(readparam(bLuk)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bLuk,getrefine(); }','','');
-REPLACE INTO `item_db` VALUES ('20725','Piamette_Ribbon','Piamette Ribbon','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','4','0','30',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bMatk,10;','','');
-REPLACE INTO `item_db` VALUES ('20727','C_Brilliant_Golden_Wings','Brilliant Golden Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20717','FaceWorm_Skin','Gigant Snake Skin','5','20','10','400','0','0','38','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
+REPLACE INTO `item_db` VALUES ('20718','FaceWorm_Skin_','Gigant Snake Skin','5','20','10','400','0','0','38','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10;','','');
+REPLACE INTO `item_db` VALUES ('20721','Cloak_Of_Gray','Gray Cloak','5','20','10','600','0','0','45','0','1','18446744073709551615','56','2','4','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,3+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('20724','Love_Dad_Wings_2012','Love Dad Wing 2012','5','0','0','100','0','0','15','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(readparam(bStr)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bStr,getrefine(); } if(readparam(bAgi)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bAgi,getrefine(); } if(readparam(bVit)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bVit,getrefine(); } if(readparam(bInt)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bInt,getrefine(); } if(readparam(bDex)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bDex,getrefine(); } if(readparam(bLuk)>=90) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bLuk,getrefine(); }','','');
+REPLACE INTO `item_db` VALUES ('20725','Ribbon_Piamat','Piamette Ribbon','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','4','0','30',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bDex,1; bonus bMatk,10;','','');
+REPLACE INTO `item_db` VALUES ('20727','Brilliant_Golden_Wings','Brilliant Golden Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20730','Hood_of_Loyal','Hood of Loyal','5','20','10','500','0','0','30','0','0','18446744073709551615','63','2','4','0','80',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bMaxHPrate,10; bonus bNoKnockback,0; bonus2 bSubEle,Ele_All,-20;','','');
-REPLACE INTO `item_db` VALUES ('20732','Physical_Complement_Device','Physical Complement Device','5','20','10','500','0','0','20','0','1','1024','56','2','4','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,6+(getrefine()/2); if(getrefine()>=9) { bonus bHPrecovRate,50; }','','');
-REPLACE INTO `item_db` VALUES ('20733','Reinforced_Parts_Engine','Reinforced Parts - Engine','5','20','10','1500','0','0','25','0','1','1024','56','2','4','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-10; if(getrefine()>=7) { bonus2 bSubEle,Ele_Neutral,10; } if(getrefine()>=9) { bonus bDelayrate,-10; }','','');
-REPLACE INTO `item_db` VALUES ('20737','C_Kirin_Wings','Costume Kirin Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20743','Manteau_Of_Airship','Manteau Of Airship','5','20','10','0','0','0','25','0','1','18446744073709551615','63','2','4','0','125',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,20; bonus bVariableCastrate,-20; bonus2 bSubEle,Ele_Neutral,10;','','');
-REPLACE INTO `item_db` VALUES ('20744','Tarlock\'s_Manteau','Tarlock\'s Manteau','5','20','10','400','0','0','12','0','1','18446744073709551615','63','2','4','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,20; bonus bVariableCastrate,-10; bonus2 bSubEle,Ele_Neutral,10; if (getrefine()>=7) { bonus bVariableCastrate,-10; } if (getrefine()>=9) { bonus bVariableCastrate,-10; } if (getrefine()>=12) { bonus bVariableCastrate,-5; }','','');
-REPLACE INTO `item_db` VALUES ('20746','C_Rudra_Wings','Costume Rudra Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20748','Manteau_of_The_Fallen','Manteau of The Fallen','5','20','10','600','0','0','20','0','0','18446744073709551615','63','2','4','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) { bonus bBaseAtk,10+(getrefine()*2); } if(readparam(bInt)>=90) { bonus bMatk,20+(getrefine()*3); } if(readparam(bVit)>=90) { bonus2 bSubEle,Ele_Neutral,3+((getrefine()>=8)?3:0)+((getrefine()>=10)?4:0); } if(readparam(bDex)>=90) { bonus bLongAtkRate,3+(getrefine()/2); } if(readparam(bLuk)>=90) { bonus bCriticalRate,5+getrefine(); } if(readparam(bAgi)>=90) { bonus bAspdRate,3+(getrefine()/2); bonus bAspd,((getrefine()>=10)?1:0); }','','');
-REPLACE INTO `item_db` VALUES ('20749','Manteau_of_The_Fallen_','Manteau of The Fallen','5','20','10','600','0','0','30','0','1','18446744073709551615','63','2','4','0','170',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bFlee,10; bonus bMaxHPrate,getrefine()/2; bonus bMaxSPrate,getrefine()/2; if(readparam(bStr)>=90) { bonus bBaseAtk,10+(getrefine()*2); } if(readparam(bInt)>=90) { bonus bMatk,20+(getrefine()*3); } if(readparam(bVit)>=90) { bonus2 bSubEle,Ele_Neutral,3+((getrefine()>=8)?3:0)+((getrefine()>=10)?4:0); } if(readparam(bDex)>=90) { bonus bLongAtkRate,3+(getrefine()/2); } if(readparam(bLuk)>=90) { bonus bCriticalRate,5+getrefine(); } if(readparam(bAgi)>=90) { bonus bAspdRate,3+(getrefine()/2); bonus bAspd,((getrefine()>=10)?1:0); }','','');
-REPLACE INTO `item_db` VALUES ('20756','Egir_Manteau_K','Aegir Cloak','5','200000','100000','300','0','0','10','0','1','18446744073709551615','63','2','4','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableGarment, 0;','','');
-REPLACE INTO `item_db` VALUES ('20757','Heavenly_Wings1','Heavenly Wings1','5','0','0','0','0','0','10','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; skill AL_INCAGI,3;','','');
-REPLACE INTO `item_db` VALUES ('20758','Heavenly_Wings2','Heavenly Wings2','5','0','0','0','0','0','10','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; skill AL_INCAGI,3;','','');
-REPLACE INTO `item_db` VALUES ('20761','C_Wing_of_Happiness','Costume Wing of Happiness','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('20762','C_Great_Devil_Wings','Costume Great Devil Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20732','Supplement_Part_Con','Physical Complement Device','5','20','10','500','0','0','20','0','1','1024','56','2','4','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,6+(getrefine()/2); if(getrefine()>=9) { bonus bHPrecovRate,50; }','','');
+REPLACE INTO `item_db` VALUES ('20733','Upgrade_Part_Engine','Reinforced Parts - Engine','5','20','10','1500','0','0','25','0','1','1024','56','2','4','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-10; if(getrefine()>=7) { bonus2 bSubEle,Ele_Neutral,10; } if(getrefine()>=9) { bonus bDelayrate,-10; }','','');
+REPLACE INTO `item_db` VALUES ('20737','C_Kirin_Wing','Costume Kirin Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','6','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20743','Airship_Cape','Manteau Of Airship','5','20','10','0','0','0','25','0','1','18446744073709551615','63','2','4','0','125',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,20; bonus bVariableCastrate,-20; bonus2 bSubEle,Ele_Neutral,10;','','');
+REPLACE INTO `item_db` VALUES ('20744','Felock_Cape','Tarlock\'s Manteau','5','20','10','400','0','0','12','0','1','18446744073709551615','63','2','4','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,20; bonus bVariableCastrate,-10; bonus2 bSubEle,Ele_Neutral,10; if (getrefine()>=7) { bonus bVariableCastrate,-10; } if (getrefine()>=9) { bonus bVariableCastrate,-10; } if (getrefine()>=12) { bonus bVariableCastrate,-5; }','','');
+REPLACE INTO `item_db` VALUES ('20746','C_Rudra_Wing','Costume Rudra Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','8','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20748','Manteau_Of_Fallen','Manteau of The Fallen','5','20','10','600','0','0','20','0','0','18446744073709551615','63','2','4','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) { bonus bBaseAtk,10+(getrefine()*2); } if(readparam(bInt)>=90) { bonus bMatk,20+(getrefine()*3); } if(readparam(bVit)>=90) { bonus2 bSubEle,Ele_Neutral,3+((getrefine()>=8)?3:0)+((getrefine()>=10)?4:0); } if(readparam(bDex)>=90) { bonus bLongAtkRate,3+(getrefine()/2); } if(readparam(bLuk)>=90) { bonus bCriticalRate,5+getrefine(); } if(readparam(bAgi)>=90) { bonus bAspdRate,3+(getrefine()/2); bonus bAspd,((getrefine()>=10)?1:0); }','','');
+REPLACE INTO `item_db` VALUES ('20749','Manteau_Of_Fallen_','Manteau of The Fallen','5','20','10','600','0','0','30','0','1','18446744073709551615','63','2','4','0','170',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,5; bonus bFlee,10; bonus bMaxHPrate,getrefine()/2; bonus bMaxSPrate,getrefine()/2; if(readparam(bStr)>=90) { bonus bBaseAtk,10+(getrefine()*2); } if(readparam(bInt)>=90) { bonus bMatk,20+(getrefine()*3); } if(readparam(bVit)>=90) { bonus2 bSubEle,Ele_Neutral,3+((getrefine()>=8)?3:0)+((getrefine()>=10)?4:0); } if(readparam(bDex)>=90) { bonus bLongAtkRate,3+(getrefine()/2); } if(readparam(bLuk)>=90) { bonus bCriticalRate,5+getrefine(); } if(readparam(bAgi)>=90) { bonus bAspdRate,3+(getrefine()/2); bonus bAspd,((getrefine()>=10)?1:0); }','','');
+REPLACE INTO `item_db` VALUES ('20756','Aegir_Cloak','Aegir Cloak','5','200000','100000','300','0','0','10','0','1','18446744073709551615','63','2','4','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableGarment, 0;','','');
+REPLACE INTO `item_db` VALUES ('20757','Wing_Of_Happiness','Heavenly Wings1','5','0','0','0','0','0','10','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; skill AL_INCAGI,3;','','');
+REPLACE INTO `item_db` VALUES ('20758','Wing_Of_Happiness_','Heavenly Wings2','5','0','0','0','0','0','10','0','1','18446744073709551615','63','2','4','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,3; skill AL_INCAGI,3;','','');
+REPLACE INTO `item_db` VALUES ('20761','C_Wing_Of_Happiness','Costume Wing of Happiness','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','9','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20762','C_GreatDevilWing','Costume Great Devil Wings','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20763','C_Amistr_Bag','Costume Amistr Bag','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,10; bonus2 bAddRaceTolerance,RC_Player,1;','','');
REPLACE INTO `item_db` VALUES ('20764','C_Fallen_Angel_Wing','Costume Fallen Angel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20765','C_Archangel_Wing','Costume Archangel Wing','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','8192','0','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20768','Arch_Angel_Wing','Arch Angel Wing','5','0','0','200','0','0','18','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('20773','Excellion_Wing','Excellion Wing','5','20','10','900','0','0','40','0','0','18446744073709551615','63','2','4','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,8; bonus bFlee,getrefine()*2; if(BaseLevel>130) { bonus bFlee2,2; }','','');
REPLACE INTO `item_db` VALUES ('20778','Crimson_Stole','Crimson Stole','5','20','10','700','0','0','8','0','0','18446744073709551615','63','2','4','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bMaxSPrate,10; bonus bUseSPrate,-(1+2*(getrefine()/3)); if (getrefine() >= 10) { bonus bSPGainValue, 20; }','','');
+REPLACE INTO `item_db` VALUES ('20788','Private_Doram_Manteau','Private Doram Manteau','5','20','10','300','0','0','20','0','1','0','63','2','4','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3;','','');
+REPLACE INTO `item_db` VALUES ('20789','Luxury_Doram_Manteau','Luxury Doram Manteau','5','20','10','400','0','0','25','0','1','0','63','2','4','0','140',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee, 7; bonus2 bSubEle,Ele_Neutral, 3; bonus bFlee2, getrefine() / 3; bonus bLuk, getrefine() / 3;','','');
+REPLACE INTO `item_db` VALUES ('20790','Elegant_Doram_Manteau','Elegant Doram Manteau','5','20','10','500','0','0','30','0','1','0','63','2','4','0','175',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee, 10; bonus2 bSubEle,Ele_Neutral, 5; bonus bFlee2, getrefine() / 2; bonus bInt, getrefine() / 2; bonus bDex, getrefine() / 2; bonus bLuk, getrefine() / 2;','','');
REPLACE INTO `item_db` VALUES ('21000','Upg_Twohand_Sword','Upgrade Two-Hand Sword','4','20','10','1500','100','0','0','1','1','16514','63','2','34','3','0',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*12); bonus bMatk,(getrefine()*5); if(BaseLevel>70) { bonus bBaseAtk,(((BaseLevel-70)/10)*10); }','','');
REPLACE INTO `item_db` VALUES ('21001','Velum_Claymore','Vellum Claymore','4','20','10','3500','260','0','0','2','0','16514','63','2','34','4','95',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,80; bonus2 bIgnoreDefRate,RC_DemiPlayer,30; if(getrefine()>=6) { bonus2 bAddRace,RC_DemiPlayer,40; } if(getrefine()>=9) { autobonus2 \"{ bonus bShortWeaponDamageReturn,20; bonus bMagicDamageReturn,20; }\",200,1000,BF_WEAPON,\"{ specialeffect2 EF_REFLECTSHIELD; }\"; }','','');
REPLACE INTO `item_db` VALUES ('21002','Velum_Katzbalger','Vellum Katzbalger','4','20','10','2500','100','0','0','1','0','16514','63','2','34','4','95',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bHPVanishRate, 1000, 8, BF_NORMAL;','','');
@@ -9694,346 +9718,353 @@ REPLACE INTO `item_db` VALUES ('21005','Metal_Two_Hand_Sword','Metal Two-Handed
REPLACE INTO `item_db` VALUES ('21006','TE_Woe_Two_Hand_Sword','TE WoE Two Hand Sword','4','0','0','0','150','0','0','1','0','16514','63','2','34','3','40',NULL,'0','3','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEff,Eff_Bleeding,1000; bonus2 bAddRace,RC_DemiPlayer,40;','','');
REPLACE INTO `item_db` VALUES ('21007','Heavy_Sword','Heavy Sword','4','20','10','2500','330','0','0','1','1','16512','63','2','34','1','150',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,20;','','');
REPLACE INTO `item_db` VALUES ('21008','Small_Karasuma','Small Karasuma','4','20','10','1000','170','0','0','1','2','16514','63','2','34','4','50',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritAtkRate,getrefine()*2; bonus3 bAutoSpell,NPC_CRITICALWOUND,1,50; /* Custom - JRO */','','');
-REPLACE INTO `item_db` VALUES ('21009','Thanatos_Great_Sword','Thanatos Great Sword','4','20','10','1300','280','120','0','1','1','16514','56','2','34','4','120',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('21010','Evil_Slayer_Slasher_Sword','Evil Slayer Slasher Sword','4','20','10','2000','225','0','0','1','1','16514','56','2','34','3','100',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
-REPLACE INTO `item_db` VALUES ('21011','Gigantic_Blade','Gigantic Blade','4','20','10','5000','300','0','0','1','1','16514','56','2','34','4','130',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAspdRate,-5; if(readparam(bStr)<110) { bonus bAtk,-250; } bonus bCritAtkRate,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('21009','Thanos_Great_Sword','Thanatos Great Sword','4','20','10','1300','280','120','0','1','1','16514','56','2','34','4','120',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('21010','Tw_Sword_Of_Evil_Slayer','Evil Slayer Slasher Sword','4','20','10','2000','225','0','0','1','1','16514','56','2','34','3','100',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if(getrefine()>=9) { bonus bAtkRate,5; } if(getrefine()>=12) { bonus bAtkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('21011','Giant_Blade','Gigantic Blade','4','20','10','5000','300','0','0','1','1','16514','56','2','34','4','130',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAspdRate,-5; if(readparam(bStr)<110) { bonus bAtk,-250; } bonus bCritAtkRate,getrefine();','','');
REPLACE INTO `item_db` VALUES ('21012','Mashirubeken','Mashirubeken','4','20','10','2200','200','150','0','1','2','128','56','2','34','4','110',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('21013','Companion_Cavalry_Sword','Companion Cavalry Sword','4','20','10','2200','210','0','0','1','2','128','56','2','34','4','110',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,KN_AUTOCOUNTER,-2; bonus2 bSkillUseSP,LK_PARRYING,-25;','','');
-REPLACE INTO `item_db` VALUES ('21014','Infinity_Two-Handed_Sword','Infinity Two-Handed Sword','4','20','10','500','230','0','0','1','1','16514','56','2','34','4','100',NULL,'1','3','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('21015','Crimson_Two-Handed_Sword','Crimson Two-Handed Sword','4','20','10','1700','170','0','0','1','2','16514','63','2','34','3','70',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('21014','Infinity_Two_Hand_Sword','Infinity Two-Handed Sword','4','20','10','500','230','0','0','1','1','16514','56','2','34','4','100',NULL,'1','3','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('21015','Scarlet_Twohand_Sword','Crimson Two-Handed Sword','4','20','10','1700','170','0','0','1','2','16514','63','2','34','3','70',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('21016','Two_Handed_Sword_of_Vicious_Mind','Two-Handed Sword of Vicious Mind','4','20','10','2200','220','0','0','1','1','16514','63','2','34','4','160',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('21018','Lindy_Hop','Lindy Hop','4','20','10','3400','340','0','0','1','2','16514','56','2','34','4','170',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtkRate,getrefine()/2; bonus bAspdRate,getrefine();','','');
REPLACE INTO `item_db` VALUES ('21019','Onimaru','Onimaru','4','0','0','4200','75','0','0','1','2','128','56','2','34','4','130',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,min(readparam(bStr),120); if(readparam(bStr)>=95) { bonus bAtk,40; } if(readparam(bStr)>=108) { bonus bAtk,40; } if(readparam(bStr)>=120) { bonus bAtk,40; } if(getrefine()>=7) { bonus3 bAutoSpell,NPC_WIDECURSE,5,10; } /* Custom - JRO */ if(getrefine()>=9) { skill LK_BERSERK,1; }','','');
-REPLACE INTO `item_db` VALUES ('22000','Temporal_STR_Boots','Temporal STR Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAtk,(getrefine()/3)*7; if(readparam(bStr)>=120) { bonus bAtk,50; }','','');
-REPLACE INTO `item_db` VALUES ('22001','Temporal_INT_Boots','Temporal INT Boots','5','20','10','600','0','0','20','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bMatk,(getrefine()/3)*10; if(readparam(bInt)>=120) { bonus bMatk,60; bonus bMdef,5; }','','');
-REPLACE INTO `item_db` VALUES ('22002','Temporal_AGI_Boots','Temporal AGI Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAspdRate,(getrefine()/3)*3; if(readparam(bAgi)>=120) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('22003','Temporal_VIT_Boots','Temporal VIT Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); if(readparam(bVit)>=120) { bonus bMaxHPrate,8; }','','');
-REPLACE INTO `item_db` VALUES ('22004','Temporal_DEX_Boots','Temporal DEX Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bDex,(getrefine()/3)*3; if(readparam(bDex)>=120) { bonus bFixedCast,-500; bonus bLongAtkRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('22005','Temporal_LUK_Boots','Temporal LUK Boots','5','20','10','600','0','0','20','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bCritAtkRate,getrefine()/3; if(readparam(bLuk)>=120) { bonus bCritAtkRate,30; bonus bMdef,5; }','','');
-REPLACE INTO `item_db` VALUES ('22006','Temporal_STR_Boots_','Temporal STR Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAtk,(getrefine()/3)*7; if(readparam(bStr)>=120) { bonus bAtk,50; }','','');
-REPLACE INTO `item_db` VALUES ('22007','Temporal_VIT_Boots_','Temporal VIT Boots','5','20','10','600','0','0','20','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); if(readparam(bVit)>=120) { bonus bMaxHPrate,8; }','','');
-REPLACE INTO `item_db` VALUES ('22008','Temporal_DEX_Boots_','Temporal DEX Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bDex,(getrefine()/3)*3; if(readparam(bDex)>=120) { bonus bFixedCast,-500; bonus bLongAtkRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('22009','Temporal_INT_Boots_','Temporal INT Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bMatk,(getrefine()/3)*10; if(readparam(bInt)>=120) { bonus bMatk,60; bonus bMdef,5; }','','');
-REPLACE INTO `item_db` VALUES ('22010','Temporal_AGI_Boots_','Temporal AGI Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAspdRate,(getrefine()/3)*3; if(readparam(bAgi)>=120) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('22011','Temporal_LUK_Boots_','Temporal LUK Boots','5','20','10','600','0','0','20','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bCritAtkRate,getrefine()/3; if(readparam(bLuk)>=120) { bonus bCritAtkRate,30; bonus bMdef,5; }','','');
+REPLACE INTO `item_db` VALUES ('22000','Temporal_Str_Boots','Temporal STR Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAtk,(getrefine()/3)*7; if(readparam(bStr)>=120) { bonus bAtk,50; }','','');
+REPLACE INTO `item_db` VALUES ('22001','Temporal_Int_Boots','Temporal INT Boots','5','20','10','600','0','0','20','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bMatk,(getrefine()/3)*10; if(readparam(bInt)>=120) { bonus bMatk,60; bonus bMdef,5; }','','');
+REPLACE INTO `item_db` VALUES ('22002','Temporal_Agi_Boots','Temporal AGI Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAspdRate,(getrefine()/3)*3; if(readparam(bAgi)>=120) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('22003','Temporal_Vit_Boots','Temporal VIT Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); if(readparam(bVit)>=120) { bonus bMaxHPrate,8; }','','');
+REPLACE INTO `item_db` VALUES ('22004','Temporal_Dex_Boots','Temporal DEX Boots','5','20','10','600','0','0','25','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bDex,(getrefine()/3)*3; if(readparam(bDex)>=120) { bonus bFixedCast,-500; bonus bLongAtkRate,5; }','','');
+REPLACE INTO `item_db` VALUES ('22005','Temporal_Luk_Boots','Temporal LUK Boots','5','20','10','600','0','0','20','0','0','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bCritAtkRate,getrefine()/3; if(readparam(bLuk)>=120) { bonus bCritAtkRate,30; bonus bMdef,5; }','','');
+REPLACE INTO `item_db` VALUES ('22006','Temporal_Str_Boots_','Temporal STR Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAtk,(getrefine()/3)*7; if(readparam(bStr)>=120) { bonus bAtk,50; }','','');
+REPLACE INTO `item_db` VALUES ('22007','Temporal_Vit_Boots_','Temporal VIT Boots','5','20','10','600','0','0','20','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); if(readparam(bVit)>=120) { bonus bMaxHPrate,8; }','','');
+REPLACE INTO `item_db` VALUES ('22008','Temporal_Dex_Boots_','Temporal DEX Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bDex,(getrefine()/3)*3; if(readparam(bDex)>=120) { bonus bFixedCast,-500; bonus bLongAtkRate,5; }','','');
+REPLACE INTO `item_db` VALUES ('22009','Temporal_Int_Boots_','Temporal INT Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bMatk,(getrefine()/3)*10; if(readparam(bInt)>=120) { bonus bMatk,60; bonus bMdef,5; }','','');
+REPLACE INTO `item_db` VALUES ('22010','Temporal_Agi_Boots_','Temporal AGI Boots','5','20','10','600','0','0','25','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bAspdRate,(getrefine()/3)*3; if(readparam(bAgi)>=120) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('22011','Temporal_Luk_Boots_','Temporal LUK Boots','5','20','10','600','0','0','20','0','1','18446744073709551615','56','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300+((getrefine()/3)*100); bonus bMaxSP,30+((getrefine()/3)*10); bonus bCritAtkRate,getrefine()/3; if(readparam(bLuk)>=120) { bonus bCritAtkRate,30; bonus bMdef,5; }','','');
REPLACE INTO `item_db` VALUES ('22012','Mana_Boots','Mana Boots','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','64','0','1','100','0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_All,10;','','');
REPLACE INTO `item_db` VALUES ('22014','Enhanced_Variant_Shoes','Enhanced Variant Shoes','5','20','10','500','0','0','13','0','1','2093997952','63','2','64','0','85',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,12; bonus bMaxSPrate,12; bonus bDef,getrefine(); bonus bMdef,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('22015','Impr_Angel\'s_Arrival','Advanced Angel\'s Reincarnation','5','10000','5000','300','0','0','8','0','1','1','63','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500; bonus bMaxSP,100;','','');
+REPLACE INTO `item_db` VALUES ('22015','Impr_Angels_Arrival','Advanced Angel\'s Reincarnation','5','10000','5000','300','0','0','8','0','1','1','63','2','64','0','99',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,500; bonus bMaxSP,100;','','');
REPLACE INTO `item_db` VALUES ('22016','Assassin_Shoes','Assassin Shoes','5','10','5','300','0','0','10','0','0','18446744073709551615','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_DemiPlayer,5+getrefine();','','');
REPLACE INTO `item_db` VALUES ('22018','Shoes_Of_Wise_Man','Shoes Of Wise Man','5','10','5','300','0','0','15','0','1','18446744073709551615','63','2','64','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHPrate,-(getrefine()-5); }','','');
-REPLACE INTO `item_db` VALUES ('22019','Immune_Boots','Immune Boots','5','10','5','500','0','0','20','0','1','18446744073709551615','63','2','64','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,3; bonus2 bSubEle,Ele_Fire,-3; bonus2 bSubEle,Ele_Water,-3; bonus2 bSubEle,Ele_Wind,-3; bonus2 bSubEle,Ele_Earth,-3; bonus2 bSubEle,Ele_Dark,-3; bonus2 bSubEle,Ele_Holy,-3; bonus2 bSubEle,Ele_Ghost,-3; if (getrefine()>5) { bonus2 bSubEle,Ele_Neutral,getrefine()-5; }','','');
-REPLACE INTO `item_db` VALUES ('22033','Boots_of_Gray','Boots of Gray','5','10','5','400','0','0','25','0','1','18446744073709551615','56','2','64','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,1+getrefine()/3;','','');
+REPLACE INTO `item_db` VALUES ('22019','Immuned_Boots','Immune Boots','5','10','5','500','0','0','20','0','1','18446744073709551615','63','2','64','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Neutral,3; bonus2 bSubEle,Ele_Fire,-3; bonus2 bSubEle,Ele_Water,-3; bonus2 bSubEle,Ele_Wind,-3; bonus2 bSubEle,Ele_Earth,-3; bonus2 bSubEle,Ele_Dark,-3; bonus2 bSubEle,Ele_Holy,-3; bonus2 bSubEle,Ele_Ghost,-3; if (getrefine()>5) { bonus2 bSubEle,Ele_Neutral,getrefine()-5; }','','');
+REPLACE INTO `item_db` VALUES ('22033','Boots_Of_Gray','Boots of Gray','5','10','5','400','0','0','25','0','1','18446744073709551615','56','2','64','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Holy,1+getrefine()/3;','','');
REPLACE INTO `item_db` VALUES ('22034','Crimson_Gaiter','Crimson Gaiter','5','10','5','500','0','0','10','0','0','18446744073709551615','63','2','64','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=6) { bonus bCritical,3; bonus bCritAtkRate,3; }','','');
-REPLACE INTO `item_db` VALUES ('22035','Heroic_Nepenthes_Shoes','Heroic Nepenthes Shoes','5','10','5','300','0','0','10','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=8) { bonus bVariableCastrate,-5-((getrefine()>=9)?getrefine():0); }','','');
-REPLACE INTO `item_db` VALUES ('22036','Heroic_Silver_Fox_Leather_Boots','Heroic Silver Fox Leather Boots','5','10','5','300','0','0','15','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,5+((getrefine()>=8)?getrefine():0);','','');
-REPLACE INTO `item_db` VALUES ('22037','Heroic_Ungoliant_Upgrade_Boots','Heroic Ungoliant Upgrade Boots','5','10','5','300','0','0','10','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-5-((getrefine()>=8)?getrefine():0);','','');
+REPLACE INTO `item_db` VALUES ('22035','Vet_Nepen_Heel','Heroic Nepenthes Shoes','5','10','5','300','0','0','10','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=8) { bonus bVariableCastrate,-5-((getrefine()>=9)?getrefine():0); }','','');
+REPLACE INTO `item_db` VALUES ('22036','Vet_SliverFox_Boots','Heroic Silver Fox Leather Boots','5','10','5','300','0','0','15','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLongAtkRate,5+((getrefine()>=8)?getrefine():0);','','');
+REPLACE INTO `item_db` VALUES ('22037','Vet_Ungo_Boots','Heroic Ungoliant Upgrade Boots','5','10','5','300','0','0','10','0','1','18446744073709551615','63','2','64','0','160',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-5-((getrefine()>=8)?getrefine():0);','','');
REPLACE INTO `item_db` VALUES ('22038','Shoes_of_Hope','Shoes of Hope','5','10','5','100','0','0','3','0','1','18446744073709551615','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,5; bonus bMaxSPrate,5; if(getrefine()>= 6) { bonus bMaxHPrate,5; bonus bMaxSPrate,5; }','','');
REPLACE INTO `item_db` VALUES ('22039','Elemental_Boots','Elemental Boots','5','10','5','100','0','0','10','0','1','18446744073709551615','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,MG_LIGHTNINGBOLT,3; bonus2 bSkillAtk,MG_FIREBOLT,3; bonus2 bSkillAtk,MG_COLDBOLT,3; bonus2 bSkillAtk,WZ_EARTHSPIKE,3; bonus2 bVariableCastrate,MG_LIGHTNINGBOLT,-3; bonus2 bVariableCastrate,MG_FIREBOLT,-3; bonus2 bVariableCastrate,MG_COLDBOLT,-3; bonus2 bVariableCastrate,WZ_EARTHSPIKE,-3; if(getrefine()>= 6) { bonus2 bSkillAtk,MG_LIGHTNINGBOLT,(getrefine()-5); bonus2 bSkillAtk,MG_FIREBOLT,(getrefine()-5); bonus2 bSkillAtk,MG_COLDBOLT,(getrefine()-5); bonus2 bSkillAtk,WZ_EARTHSPIKE,(getrefine()-5); bonus2 bVariableCastrate,MG_LIGHTNINGBOLT,-(getrefine()-5); bonus2 bVariableCastrate,MG_FIREBOLT,-(getrefine()-5); bonus2 bVariableCastrate,MG_COLDBOLT,-(getrefine()-5); bonus2 bVariableCastrate,WZ_EARTHSPIKE,-(getrefine()-5); }','','');
-REPLACE INTO `item_db` VALUES ('22040','New_Trend_Shoes','New Trend Shoes','5','10','5','500','0','0','13','0','0','18446744073709551615','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus bMaxSPrate,10; if(getrefine()>= 12) { bonus bAspd,2; }','','');
-REPLACE INTO `item_db` VALUES ('22041','New_Trend_Shoes_','New Trend Shoes','5','10','5','500','0','0','13','0','1','18446744073709551615','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus bMaxSPrate,10; if(getrefine()>= 12) { bonus bAspd,2; }','','');
+REPLACE INTO `item_db` VALUES ('22040','Fashion_Shoes','New Trend Shoes','5','10','5','500','0','0','13','0','0','18446744073709551615','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus bMaxSPrate,10; if(getrefine()>= 12) { bonus bAspd,2; }','','');
+REPLACE INTO `item_db` VALUES ('22041','Fashion_Shoes_','New Trend Shoes','5','10','5','500','0','0','13','0','1','18446744073709551615','63','2','64','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,10; bonus bMaxSPrate,10; if(getrefine()>= 12) { bonus bAspd,2; }','','');
REPLACE INTO `item_db` VALUES ('22042','Terraria','Terraria','5','10','5','300','0','0','15','0','1','18446744073709551615','63','2','64','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bAspd,1; bonus bMdef,5; bonus bUnbreakableShoes,1;','','');
-REPLACE INTO `item_db` VALUES ('22043','AGI_Complement','AGI Complement','5','10','5','350','0','0','25','0','1','1024','56','2','64','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,5+(getrefine()/4);','','');
-REPLACE INTO `item_db` VALUES ('22044','Reinforced_Parts_Booster','Reinforced Parts - Booster','5','10','5','1000','0','0','23','0','1','1024','56','2','64','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,NC_HOVERING,15; if(getrefine()>=7) { bonus2 bSkillUseSP,NC_HOVERING,-20; }','','');
+REPLACE INTO `item_db` VALUES ('22043','Supplement_Part_Agi','AGI Complement','5','10','5','350','0','0','25','0','1','1024','56','2','64','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,5+(getrefine()/4);','','');
+REPLACE INTO `item_db` VALUES ('22044','Upgrade_Part_Booster','Reinforced Parts - Booster','5','10','5','1000','0','0','23','0','1','1024','56','2','64','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillUseSP,NC_HOVERING,15; if(getrefine()>=7) { bonus2 bSkillUseSP,NC_HOVERING,-20; }','','');
REPLACE INTO `item_db` VALUES ('22045','Beach_Sandals','Summer Sandals','5','10','5','200','0','0','5','0','0','18446744073709551615','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5; bonus3 bAutoSpellWhenHit,AL_INCAGI,10,300;','','');
-REPLACE INTO `item_db` VALUES ('22046','Boots_of_Airship','Boots of Airship','5','20','10','0','0','0','26','0','0','18446744073709551615','63','2','64','0','125',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bAspdRate,10;','','');
-REPLACE INTO `item_db` VALUES ('22047','Tarlock\'s_Boots','Tarlock\'s Boots','5','20','10','250','0','0','13','0','0','18446744073709551615','63','2','64','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bAspdRate,5; if(getrefine()>6) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>11) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('22059','Egir_Shoes_K','Egir Shoes','5','200000','100000','300','0','0','13','0','1','18446744073709551615','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableShoes, 0;','','');
+REPLACE INTO `item_db` VALUES ('22046','Airship_Boots','Boots of Airship','5','20','10','0','0','0','26','0','0','18446744073709551615','63','2','64','0','125',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bAspdRate,10;','','');
+REPLACE INTO `item_db` VALUES ('22047','Felock_Boots','Tarlock\'s Boots','5','20','10','250','0','0','13','0','0','18446744073709551615','63','2','64','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bAspdRate,5; if(getrefine()>6) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>11) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('22059','Aegir_Shoes','Egir Shoes','5','200000','100000','300','0','0','13','0','1','18446744073709551615','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableShoes, 0;','','');
REPLACE INTO `item_db` VALUES ('22067','Witch_Shoes','Witch Shoes','5','3500','1750','400','0','0','10','0','0','18446744073709551614','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill ALL_CATCRY, 1; bonus bUnbreakableShoes, 1; autobonus3 \"{ }\", 1000, 7000, ALL_CATCRY, \"{ montransform LOLI_RURI, 420000; }\";','','');
+REPLACE INTO `item_db` VALUES ('22076','Wooden_Slipper','Wooden Slipper','4','20','10','50','0','0','10','0','1','0','63','2','64','0','9',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bHPRegenRate,2,10000;','','');
+REPLACE INTO `item_db` VALUES ('22077','Red_Eco_Friendly_Shoes','Red Eco-Friendly Shoes','4','20','10','100','0','0','20','0','1','0','63','2','64','0','18',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5; bonus2 bHPRegenRate,4,10000; bonus2 bSPRegenRate,1,10000;','','');
+REPLACE INTO `item_db` VALUES ('22083','Private_Doram_Shoes','Private Doram Shoes','4','20','10','500','0','0','25','0','1','0','63','2','64','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 100; bonus bMaxSP, 50; bonus bHPrecovRate, getrefine() * 10 / 3; bonus bSPrecovRate, getrefine() * 10 / 3;','','');
+REPLACE INTO `item_db` VALUES ('22084','Luxury_Doram_Shoes','Luxury Doram Shoes','4','20','10','600','0','0','30','0','1','0','63','2','64','0','140',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 300; bonus bMaxSP, 100; bonus bHPrecovRate, 20 * getrefine() / 3; bonus bSPrecovRate, 20 * getrefine() / 3;','','');
+REPLACE INTO `item_db` VALUES ('22085','Elegant_Doram_Shoes','Elegant Doram Shoes','4','20','10','700','0','0','35','0','1','0','63','2','64','0','175',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate, 10; bonus bMaxSPrate, 5; bonus bMaxHP, 100 * getrefine() / 2; bonus bMaxSP, 20 * getrefine() / 2; if ((getrefine() / 2) >= 4) bonus2 bSkillUseSP, SU_LOPE, 5;','','');
+REPLACE INTO `item_db` VALUES ('22508','Para_Team_Mark_','Eden Group Mark','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','1200000','507',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT), \"AL_TELEPORT\", 3;','','');
REPLACE INTO `item_db` VALUES ('22514','Candy_Holder','Candy Holder','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('22515','Twisted_Key_of_Time','Twisted Key of Time','3','10','5','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22515','Key_Of_Twisted_Time','Twisted Key of Time','3','10','5','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
REPLACE INTO `item_db` VALUES ('22669','HALLOWEEN_G_BOX','Halloween Box','2','0','0','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 22669,1;','','');
REPLACE INTO `item_db` VALUES ('22670','DARK_INVITATION','Invitation of Darkness','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','.@temp = rand(1,3); if (.@temp == 1) { specialeffect2 EF_DEVIL; warp \"niflheim\",193,186; } else if (.@temp == 2) { specialeffect2 EF_DEVIL; warp \"niflheim\",106,254; } else { specialeffect2 EF_DEVIL; warp \"niflheim\",347,255; }','','');
REPLACE INTO `item_db` VALUES ('22675','Mysterious_Scroll','Mysterious Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_INT,3600000,30;','','');
REPLACE INTO `item_db` VALUES ('22676','Hangul_Day_Event_Box','Hangul Day Event Box','2','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem 22675,10; getitem 607,9;','','');
-REPLACE INTO `item_db` VALUES ('22679','Death_Bin','Death Bin','18','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','170',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('22679','Chest_Of_Death','Death Bin','18','10','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','170',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22685','Solo_Christmas_Gift','Single Union Christmas Gift','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22686','Solo_Cookie','Single Cookie','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 5,5;','','');
-REPLACE INTO `item_db` VALUES ('22737','Bloody_Cartrige','Bloody Bullet Case','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Shell_Of_Blood_, 500;','','');
-REPLACE INTO `item_db` VALUES ('22738','Silver_Cartrige','Silver Bullet Case','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Silver_Bullet_, 500;','','');
-REPLACE INTO `item_db` VALUES ('22739','Lightning_Sphere_Pack','Lightning Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Lightning_Grenade, 500;','','');
-REPLACE INTO `item_db` VALUES ('22740','Blind_Sphere_Pack','Blind Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Flash_Grenade, 500;','','');
-REPLACE INTO `item_db` VALUES ('22741','Poison_Sphere_Pack','Poison Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Poison_Grenade, 500;','','');
-REPLACE INTO `item_db` VALUES ('22742','Freezing_Sphere_Pack','Freezing Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Cyro_Grenade, 500;','','');
-REPLACE INTO `item_db` VALUES ('22743','Flare_Sphere_Pack','Flare Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Incendiary_Grenade, 500;','','');
-REPLACE INTO `item_db` VALUES ('22744','Armor_Piercing_Cartrige','Armor-Piercing Cartrige','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Armor_Piercing_Bullet, 500;','','');
-REPLACE INTO `item_db` VALUES ('22745','Incandescence_Shot_Cartridge','Incandescence Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Blazing_Bullet, 500;','','');
-REPLACE INTO `item_db` VALUES ('22746','Glaciation_Shot_Cartridge','Glaciation Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Freezing_Bullet, 500;','','');
-REPLACE INTO `item_db` VALUES ('22747','Dengeki_Shot_Cartridge','Dengeki Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Lightning_Bullet, 500;','','');
-REPLACE INTO `item_db` VALUES ('22748','Hearthstone_Shot_Cartridge','Hearthstone Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Magic_Stone_Bullet, 500;','','');
-REPLACE INTO `item_db` VALUES ('22749','Purification_Shot_Cartridge','Purification Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Purifying_Bullet, 500;','','');
+REPLACE INTO `item_db` VALUES ('22737','Bullet_Case_Blood_','Bloody Bullet Case','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Shell_Of_Blood_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22738','Bullet_Case_Silver_','Silver Bullet Case','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Silver_Bullet_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22739','Sphere_Case_Wind_','Lightning Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Lighting_Sphere_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22740','Sphere_Case_Darkness_','Blind Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Blind_Sphere_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22741','Sphere_Case_Poison_','Poison Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Poison_Sphere_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22742','Sphere_Case_Water_','Freezing Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Freezing_Sphere_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22743','Sphere_Case_Fire_','Flare Sphere Pack','2','2','1','350','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Flare_Sphere_, 500;','','');
+REPLACE INTO `item_db` VALUES ('22744','Bullet_Case_AP','Armor-Piercing Cartrige','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem AP_Ammo, 500;','','');
+REPLACE INTO `item_db` VALUES ('22745','Bullet_Case_Blaze','Incandescence Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Blaze_Bullet, 500;','','');
+REPLACE INTO `item_db` VALUES ('22746','Bullet_Case_Fleeze','Glaciation Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Freezing_Bullet, 500;','','');
+REPLACE INTO `item_db` VALUES ('22747','Bullet_Case_Electric','Dengeki Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Electric_Shock_Bullet, 500;','','');
+REPLACE INTO `item_db` VALUES ('22748','Bullet_Case_Stone','Hearthstone Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Magical_Stone_Bullet, 500;','','');
+REPLACE INTO `item_db` VALUES ('22749','Sanctified_Bullet_Case','Purification Shot Cartridge','2','2','1','250','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Sanctified_Bullet, 500;','','');
REPLACE INTO `item_db` VALUES ('22777','Buff_Gift_Set','Buff Gift Set','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem 14534,5; getitem 12215,5; getitem 12216,5;','','');
REPLACE INTO `item_db` VALUES ('22837','Integer_Time','Integer Time','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','TmpRouletteBronze += 1;','','');
-REPLACE INTO `item_db` VALUES ('22838','Pumpkin_Candy_Holder','Pumpkin Candy Holder','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 22838,1;','','');
-REPLACE INTO `item_db` VALUES ('24000','T_STR1_Armor_Shadow','T STR1 Armor Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
-REPLACE INTO `item_db` VALUES ('24001','T_DEX1_Weapon_Shadow','T DEX1 Weapon Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
-REPLACE INTO `item_db` VALUES ('24002','T_LUK1_Shield_Shadow','T LUK1 Shield Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
-REPLACE INTO `item_db` VALUES ('24003','T_AGI1_Shoes_Shadow','T AGI1 Shoes Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
-REPLACE INTO `item_db` VALUES ('24004','T_VIT1_Earrings_Shadow(R)','T VIT1 Earrings Shadow(R)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
-REPLACE INTO `item_db` VALUES ('24005','T_INT1_Pendant_Shadow(L)','T INT1 Pendant Shadow(L)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
-REPLACE INTO `item_db` VALUES ('24006','T_STR2_Armor_Shadow','T STR2 Armor Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
-REPLACE INTO `item_db` VALUES ('24007','T_DEX2_Weapon_Shadow','T DEX2 Weapon Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2;','','');
-REPLACE INTO `item_db` VALUES ('24008','T_LUK2_Shield_Shadow','T LUK2 Shield Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','60',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2;','','');
-REPLACE INTO `item_db` VALUES ('24009','T_AGI2_Shoes_Shadow','T AGI2 Shoes Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','90',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
-REPLACE INTO `item_db` VALUES ('24010','T_VIT2_Earrings_Shadow(R)','T VIT2 Earrings Shadow(R)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2;','','');
-REPLACE INTO `item_db` VALUES ('24011','T_INT2_Pendant_Shadow(L)','T INT2 Pendant Shadow(L)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','150',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('22838','Something_Candy_Holder','Pumpkin Candy Holder','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 22838,1;','','');
+REPLACE INTO `item_db` VALUES ('24000','T1_Shadow_Armor','T STR1 Armor Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
+REPLACE INTO `item_db` VALUES ('24001','T1_Shadow_Weapon','T DEX1 Weapon Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
+REPLACE INTO `item_db` VALUES ('24002','T1_Shadow_Shield','T LUK1 Shield Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1;','','');
+REPLACE INTO `item_db` VALUES ('24003','T1_Shadow_Shoes','T AGI1 Shoes Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','','');
+REPLACE INTO `item_db` VALUES ('24004','T1_Shadow_R_Accessory','T VIT1 Earrings Shadow(R)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('24005','T1_Shadow_L_Accessory','T INT1 Pendant Shadow(L)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('24006','T2_Shadow_Armor','T STR2 Armor Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2;','','');
+REPLACE INTO `item_db` VALUES ('24007','T2_Shadow_Weapon','T DEX2 Weapon Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','30',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2;','','');
+REPLACE INTO `item_db` VALUES ('24008','T2_Shadow_Shield','T LUK2 Shield Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','60',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2;','','');
+REPLACE INTO `item_db` VALUES ('24009','T2_Shadow_Shoes','T AGI2 Shoes Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','90',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','','');
+REPLACE INTO `item_db` VALUES ('24010','T2_Shadow_R_Accessory','T VIT2 Earrings Shadow(R)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','120',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2;','','');
+REPLACE INTO `item_db` VALUES ('24011','T2_Shadow_L_Accessory','T INT2 Pendant Shadow(L)','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','150',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
REPLACE INTO `item_db` VALUES ('24012','S_Promotion_Weapon','Promotional Weapon Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bBaseAtk,getrefine(); bonus bMatk,getrefine();','','');
REPLACE INTO `item_db` VALUES ('24013','S_Promotion_Armor','Promotional Armor Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus bMaxHP,getrefine()*10;','','');
REPLACE INTO `item_db` VALUES ('24014','S_Promotion_Shoes','Promotional Shoes Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bMaxHP,getrefine()*10;','','');
REPLACE INTO `item_db` VALUES ('24015','S_Promotion_Shield','Promotional Shield Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bMaxHP,getrefine()*10;','','');
REPLACE INTO `item_db` VALUES ('24016','S_Promotion_Earring','Promotional Earring Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMaxHP,getrefine()*10;','','');
REPLACE INTO `item_db` VALUES ('24017','S_Promotion_Pendant','Promotional Pendant Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bMaxHP,getrefine()*10;','','');
-REPLACE INTO `item_db` VALUES ('24018','Shadow_Physical_Earring','Shadow Physical Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,(getrefine()>=7)?2:1;','','');
-REPLACE INTO `item_db` VALUES ('24019','Shadow_Physical_Weapon','Shadow Physical Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bAtkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24020','Shadow_Physical_Pendant','Shadow Physical Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24021','Shadow_Magical_Earring','Shadow Magical Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-(getrefine()>=7)?2:1;','','');
-REPLACE INTO `item_db` VALUES ('24022','Shadow_Magical_Weapon','Shadow Magical Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; if (getrefine()>=7) { bonus bMatkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24023','Shadow_Magical_Pendant','Shadow Magical Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; if (getrefine()>=7) { bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24024','Shadow_Breeze_Armor','Shadow Breeze Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()>=7?10:0);','','');
-REPLACE INTO `item_db` VALUES ('24025','Shadow_Champion_Shoes','Shadow Champion Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,20; bonus bMaxSP,10; if (getrefine()>=7) { bonus bMaxHPrate,1; bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24026','Shadow_Athena_Shield','Shadow Athena Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,(getrefine()>=7)?20:10;','','');
-REPLACE INTO `item_db` VALUES ('24027','Immune_Shadow_Armor','Immune Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,0,1;','','');
-REPLACE INTO `item_db` VALUES ('24028','Hard_Shadow_Armor','Hard Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24029','Ancient_Shadow_Armor','Ancient Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,(getrefine()>=7)?20:10;','','');
-REPLACE INTO `item_db` VALUES ('24030','Critital_Shadow_Armor','Critital Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,(getrefine()>=7)?10:5;','','');
-REPLACE INTO `item_db` VALUES ('24031','King_Bird_Shadow_Weapon','King Bird Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bLongAtkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24032','Critical_Hit_Shadow_Weapon','Critical Hit Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bCritAtkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24033','Healing_Shadow_Weapon','Healing Shadow Weapon','5','10','5','0','0','10','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=7) { bonus bHealPower2,5; }','','');
-REPLACE INTO `item_db` VALUES ('24034','Lucky_Shadow_Weapon','Lucky Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; if (getrefine()>=7) { bonus bLuk,1; } if (getrefine()>=9) { bonus bLuk,1; }','','');
-REPLACE INTO `item_db` VALUES ('24035','Power_Shadow_Earring','Power Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; if (getrefine()>=7) { bonus bStr,1; } if (getrefine()>=9) { bonus bStr,1; }','','');
-REPLACE INTO `item_db` VALUES ('24036','Intelligent_Shadow_Pendant','Intelligent Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; if (getrefine()>=7) { bonus bInt,1; } if (getrefine()>=9) { bonus bInt,1; }','','');
-REPLACE INTO `item_db` VALUES ('24037','Dexterous_Shadow_Armor','Dexterous Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; if (getrefine()>=7) { bonus bDex,1; } if (getrefine()>=9) { bonus bDex,1; }','','');
-REPLACE INTO `item_db` VALUES ('24038','Vital_Shadow_Shoes','Vital Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; if (getrefine()>=7) { bonus bVit,1; } if (getrefine()>=9) { bonus bVit,1; }','','');
-REPLACE INTO `item_db` VALUES ('24039','Athletic_Shadow_Shield','Athletic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; if (getrefine()>=7) { bonus bAgi,1; } if (getrefine()>=9) { bonus bAgi,1; }','','');
-REPLACE INTO `item_db` VALUES ('24040','Lucky_Shadow_Armor','Lucky Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus bCritical,(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24041','Power_Shadow_Pendant','Power Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bBaseAtk,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24042','Intelligent_Shadow_Earring','Intelligent Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatk,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24043','Dexterous_Shadow_Weapon','Dexterous Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bHit,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24044','Vital_Shadow_Shield','Vital Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bDef,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24045','Athletic_Shadow_Shoes','Athletic Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bFlee,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24046','Resist_Spell_Power_Shadow_Pendant','Resist Spell Power Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,(getrefine()>=7)?6:3;','','');
-REPLACE INTO `item_db` VALUES ('24047','Rapid_Shadow_Pendant','Rapid Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24048','Casters_Shadow_Pendant','Casters Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24049','Hard_Shadow_Earring','Hard Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; bonus bMaxHPrate,((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24050','Wise_Shadow_Earring','Wise Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; bonus bMaxSPrate,((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24051','Athena_Shadow_Earring','Athena Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,(getrefine()>=7)?20:10;','','');
-REPLACE INTO `item_db` VALUES ('24052','Cranial_Shadow_Shield','Cranial Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,1; if (getrefine()>=7) { bonus2 bSubRace,RC_DemiPlayer,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_DemiPlayer,1; }','','');
-REPLACE INTO `item_db` VALUES ('24053','Safeguard_Shadow_Shield','Safeguard Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Boss,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Boss,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Boss,1; }','','');
-REPLACE INTO `item_db` VALUES ('24054','Brutal_Shadow_Shield','Brutal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Brute,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Brute,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Brute,1; }','','');
-REPLACE INTO `item_db` VALUES ('24055','Gargantua_Shadow_Shield','Gargantua Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Insect,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Insect,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Insect,1; }','','');
-REPLACE INTO `item_db` VALUES ('24056','Homer\'s_Shadow_Shield','Homer\'s Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Fish,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Fish,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Fish,1; }','','');
-REPLACE INTO `item_db` VALUES ('24057','Dragoon_Shadow_Shield','Dragoon Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Dragon,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Dragon,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Dragon,1; }','','');
-REPLACE INTO `item_db` VALUES ('24058','Satanic_Shadow_Shield','Satanic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Angel,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Angel,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Angel,1; }','','');
-REPLACE INTO `item_db` VALUES ('24059','Fire_Proof_Shadow_Shield','Fire Proof Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Formless,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Formless,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Formless,1; }','','');
-REPLACE INTO `item_db` VALUES ('24060','Requiem_Shadow_Shield','Requiem Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Undead,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Undead,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Undead,1; }','','');
-REPLACE INTO `item_db` VALUES ('24061','Cadi_Shadow_Shield','Cadi Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Plant,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Plant,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Plant,1; }','','');
-REPLACE INTO `item_db` VALUES ('24062','Bloody_Shadow_Shoes','Bloody Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,2; bonus2 bMagicAddRace,RC_DemiPlayer,2; if (getrefine()>=7) { bonus2 bAddRace,RC_DemiPlayer,1; bonus2 bMagicAddRace,RC_DemiPlayer,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_DemiPlayer,2; bonus2 bMagicAddRace,RC_DemiPlayer,2; }','','');
-REPLACE INTO `item_db` VALUES ('24063','Liberation_Shadow_Shoes','Liberation Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Boss,2; bonus2 bMagicAddRace,RC_Boss,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Boss,1; bonus2 bMagicAddRace,RC_Boss,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Boss,2; bonus2 bMagicAddRace,RC_Boss,2; }','','');
-REPLACE INTO `item_db` VALUES ('24064','Chemical_Shadow_Shoes','Chemical Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Plant,2; bonus2 bMagicAddRace,RC_Plant,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Plant,1; bonus2 bMagicAddRace,RC_Plant,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Plant,2; bonus2 bMagicAddRace,RC_Plant,2; }','','');
-REPLACE INTO `item_db` VALUES ('24065','Glamorous_Shadow_Shoes','Glamorous Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,2; bonus2 bMagicAddRace,2,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Brute,1; bonus2 bMagicAddRace,2,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Brute,2; bonus2 bMagicAddRace,2,2; }','','');
-REPLACE INTO `item_db` VALUES ('24066','Insecticide_Shadow_Shoes','Insecticide Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Insect,2; bonus2 bMagicAddRace,RC_Insect,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Insect,1; bonus2 bMagicAddRace,RC_Insect,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Insect,2; bonus2 bMagicAddRace,RC_Insect,2; }','','');
-REPLACE INTO `item_db` VALUES ('24067','Fisher_Shadow_Shoes','Fisher Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Fish,2; bonus2 bMagicAddRace,RC_Fish,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Fish,1; bonus2 bMagicAddRace,RC_Fish,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Fish,2; bonus2 bMagicAddRace,RC_Fish,2; }','','');
-REPLACE INTO `item_db` VALUES ('24068','Seraphim_Shadow_Shoes','Seraphim Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Angel,2; bonus2 bMagicAddRace,RC_Angel,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Angel,1; bonus2 bMagicAddRace,RC_Angel,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Angel,2; bonus2 bMagicAddRace,RC_Angel,2; }','','');
-REPLACE INTO `item_db` VALUES ('24069','Beholder_Shadow_Shoes','Beholder Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Formless,2; bonus2 bMagicAddRace,RC_Formless,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Formless,1; bonus2 bMagicAddRace,RC_Formless,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Formless,2; bonus2 bMagicAddRace,RC_Formless,2; }','','');
-REPLACE INTO `item_db` VALUES ('24070','Divine_Shadow_Shoes','Divine Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Undead,2; bonus2 bMagicAddRace,RC_Undead,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Undead,1; bonus2 bMagicAddRace,RC_Undead,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Undead,2; bonus2 bMagicAddRace,RC_Undead,2; }','','');
-REPLACE INTO `item_db` VALUES ('24071','Dragoons_Shadow_Shoes','Dragoons Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Dragon,2; bonus2 bMagicAddRace,RC_Dragon,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Dragon,1; bonus2 bMagicAddRace,RC_Dragon,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Dragon,2; bonus2 bMagicAddRace,RC_Dragon,2; }','','');
-REPLACE INTO `item_db` VALUES ('24072','Large_Shadow_Armor','Large Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Large,2; }','','');
-REPLACE INTO `item_db` VALUES ('24073','Medium_Shadow_Armor','Medium Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Medium,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Medium,2; }','','');
-REPLACE INTO `item_db` VALUES ('24074','Small_Shadow_Armor','Small Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Small,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Small,2; }','','');
-REPLACE INTO `item_db` VALUES ('24075','Large_Shadow_Weapon','Large Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
-REPLACE INTO `item_db` VALUES ('24076','Medium_Shadow_Weapon','Medium Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
-REPLACE INTO `item_db` VALUES ('24077','Small_Shadow_Weapon','Small Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
-REPLACE INTO `item_db` VALUES ('24078','Spiritual_Shadow_Weapon','Spiritual Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-5; if (getrefine()>=7) { bonus bSPrecovRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('24079','Spiritual_Shadow_Earring','Spiritual Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; if (getrefine()>=7) { bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24080','Spiritual_Shadow_Pendant','Spiritual Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,(getrefine()>=7?2:1);','','');
-REPLACE INTO `item_db` VALUES ('24081','Malevolent_Shadow_Armor','Malevolent Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24082','Malevolent_Shadow_Shoes','Malevolent Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,(getrefine()>=7?2:1);','','');
-REPLACE INTO `item_db` VALUES ('24083','Malevolent_Shadow_Shield','Malevolent Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,(getrefine()>=7?10:5);','','');
-REPLACE INTO `item_db` VALUES ('24084','Gemstone_Shadow_Armor','Gemstone Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24085','Gemstone_Shadow_Shoes','Gemstone Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24086','Gemstone_Shadow_Shield','Gemstone Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24087','Gemstone_Shadow_Weapon','Gemstone Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24088','Gemstone_Shadow_Earring','Gemstone Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24089','Gemstone_Shadow_Pendant','Gemstone Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24090','Stability_Shadow_Shield','Stability Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,3; bonus2 bResEff,Eff_Stun,getrefine()/2; bonus2 bResEff,Eff_Freeze,getrefine()/2; bonus2 bResEff,Eff_Curse,getrefine()/2; bonus2 bResEff,Eff_Bleeding,getrefine()/2; bonus2 bResEff,Eff_Stone,getrefine(); bonus2 bResEff,Eff_Sleep,getrefine(); bonus2 bResEff,Eff_Silence,getrefine(); bonus2 bResEff,Eff_Blind,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24091','Plasterus_Shadow_Armor','Plasterus Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24092','Plasterus_Shadow_Shoes','Plasterus Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24093','Insomnia_Shadow_Armor','Insomnia Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24094','Insomnia_Shadow_Shoes','Insomnia Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24095','Peerless_Shadow_Armor','Peerless Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24096','Peerless_Shadow_Shoes','Peerless Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24097','Adurate_Shadow_Armor','Adurate Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24098','Adurate_Shadow_Shoes','Adurate Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24099','Freezing_Frozen_Shadow_Weapon','Freezing Frozen Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24100','Freezing_Frozen_Shadow_Earring','Freezing Frozen Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24101','Freezing_Frozen_Shadow_Pendant','Freezing Frozen Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24102','Vitality_Shadow_Earring','Vitality Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24103','Vitality_Shadow_Pendant','Vitality Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24104','Neutral_Shadow_Weapon','Neutral Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2;','','');
-REPLACE INTO `item_db` VALUES ('24105','Neutral_Shadow_Earring','Neutral Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24106','Neutral_Shadow_Pendant','Neutral Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24107','Frozen_Curse_Shadow_Earring','Frozen Curse Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24108','Frozen_Curse_Shadow_Pendant','Frozen Curse Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24109','Caster_Shadow_Earrings','Caster Shadow Earrings','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-1-((getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24110','Caster_Shadow_Weapon','Caster Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-1-((getrefine()>=7)?1:0)-((getrefine()>=9)?2:0);','','');
-REPLACE INTO `item_db` VALUES ('24111','Spell_Flow_Shadow_Shoes','Spell Flow Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1; if (getrefine() >= 7) { bonus bSPrecovRate,5; }','','');
-REPLACE INTO `item_db` VALUES ('24112','Spell_Flow_Shadow_Armor','Spell Flow Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24113','Spell_Flow_Shadow_Shield','Spell Flow Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1; if (getrefine() >= 7) { bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24114','Greed_Shadow_Armor','Greed Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24115','Greed_Shadow_Shoes','Greed Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24116','Greed_Shadow_Shield','Greed Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24117','Greed_Shadow_Weapon','Greed Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24118','Greed_Shadow_Earring','Greed Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24119','Greed_Shadow_Pendant','Greed Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
-REPLACE INTO `item_db` VALUES ('24120','Heal_Shadow_Armor','Heal Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24121','Heal_Shadow_Shoes','Heal Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24122','Heal_Shadow_Shield','Heal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24123','Heal_Shadow_Weapon','Heal Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24124','Heal_Shadow_Earring','Heal Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24125','Heal_Shadow_Pendant','Heal Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24126','Hiding_Shadow_Armor','Hiding Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24127','Hiding_Shadow_Shoes','Hiding Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24128','Hiding_Shadow_Shield','Hiding Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24129','Hiding_Shadow_Weapon','Hiding Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24130','Hiding_Shadow_Earring','Hiding Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24131','Hiding_Shadow_Pendant','Hiding Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
-REPLACE INTO `item_db` VALUES ('24132','Cloaking_Shadow_Armor','Cloaking Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24133','Cloaking_Shadow_Shoes','Cloaking Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24134','Cloaking_Shadow_Shield','Cloaking Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24135','Cloaking_Shadow_Weapon','Cloaking Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24136','Cloaking_Shadow_Earring','Cloaking Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24137','Cloaking_Shadow_Pendant','Cloaking Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES ('24138','Teleport_Shadow_Armor','Teleport Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24139','Teleport_Shadow_Shoes','Teleport Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24140','Teleport_Shadow_Shield','Teleport Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24141','Teleport_Shadow_Weapon','Teleport Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24142','Teleport_Shadow_Earring','Teleport Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24143','Teleport_Shadow_Pendant','Teleport Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24144','Steal_Shadow_Armor','Steal Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24145','Steal_Shadow_Shoes','Steal Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24146','Steal_Shadow_Shield','Steal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24147','Steal_Shadow_Weapon','Steal Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24148','Steal_Shadow_Earring','Steal Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24149','Steal_Shadow_Pendant','Steal Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
-REPLACE INTO `item_db` VALUES ('24150','Infinity_Shadow_Earring','Infinity Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_All,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24151','Infinity_Shadow_Pendant','Infinity Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_All,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
-REPLACE INTO `item_db` VALUES ('24152','Solid_Shadow_Weapon','Solid Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24153','Solid_Shadow_Earring','Solid Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24154','Solid_Shadow_Armor','Solid Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24155','Solid_Shadow_Pendant','Solid Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24156','Demihuman_Shadow_Weapon','Demihuman Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_DemiPlayer,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24157','Exorcist_Shadow_Weapon','Exorcist Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Demon,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24158','Hunting_Shadow_Weapon','Hunting Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Brute,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24159','Insect_Shadow_Weapon','Insect Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Insect,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24160','Fishing_Shadow_Weapon','Fishing Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Fish,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24161','Dragon_Killer_Shadow_Weapon','Dragon Killer Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Dragon,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24162','Angelus_Shadow_Weapon','Angelus Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Angel,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24163','Formless_Shadow_Weapon','Formless Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Formless,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24164','Holy_Water_Shadow_Weapon','Holy Water Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Undead,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24165','Plant_Shadow_Weapon','Plant Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Plant,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24166','Penetration_Shadow_Earring','Penetration Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate, RC_All, 5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24167','Penetration_Shadow_Pendant','Penetration Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate, RC_All, 5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24168','Tempest_Shadow_Earring','Tempest Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_NonBoss,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24169','Tempest_Pendant_Shadow','Tempest Pendant Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_NonBoss,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24170','Magic_Executioner_Shadow_Weapon','Magic Executioner Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_DemiPlayer,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24171','Magic_Exorcist_Shadow_Weapon','Magic Exorcist Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Demon,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24172','Magic_Hunting_Shadow_Weapon','Magic Hunting Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Brute,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24173','Magic_Insecticide_Shadow_Weapon','Magic Insecticide Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Insect,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24174','Magic_Fishing_Shadow_Weapon','Magic Fishing Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Fish,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24175','Magic_Dragon_Killer_Shadow_Weapon','Magic Dragon Killer Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Dragon,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24176','Magic_Angelus_Shadow_Weapon','Magic Angelus Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Angel,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24177','Magic_Formless_Shadow_Weapon','Magic Formless Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Formless,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24178','Magic_Holy_Water_Shadow_Weapon','Magic Holy Water Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Undead,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24179','Magic_Caesars_Shadow_Weapon','Magic Caesars Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Plant,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24180','Bearer\'s_Shadow_Armor','Bearer\'s Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24181','Bearer\'s_Shadow_Shoes','Bearer\'s Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50+(5*(getrefine()/2));','','');
-REPLACE INTO `item_db` VALUES ('24182','Bearer\'s_Shadow_Shield','Bearer\'s Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24183','Bearer\'s_Shadow_Weapon','Bearer\'s Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100+(10*(getrefine()/2));','','');
-REPLACE INTO `item_db` VALUES ('24184','Bearer\'s_Shadow_Earring','Bearer\'s Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24185','Bearer\'s_Shadow_Pendant','Bearer\'s Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24186','Basis_Shadow_Armor','Basis Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Neutral,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Neutral,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24187','Hallowed_Shadow_Armor','Hallowed Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Dark,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Dark,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24188','Underneith_Shadow_Armor','Underneith Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Water,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Water,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24189','Underneath_Shadow_Armor','Underneath Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Earth,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Earth,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24190','Flame_Shadow_Armor','Flame Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Fire,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Fire,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24191','Windy_Shadow_Armor','Windy Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Wind,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Wind,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24192','Envenom_Shadow_Armor','Envenom Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Poison,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Poison,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24193','Damned_Shadow_Armor','Damned Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Holy,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Holy,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24194','Exorcism_Shadow_Armor','Exorcism Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Ghost,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Ghost,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24195','Divine_Shadow_Armor','Divine Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Undead,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Undead,1+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24196','Hasty_Shadow_Shoes','Hasty Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24197','Hasty_Shadow_Armor','Hasty Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24198','Basis_Shadow_Shield','Basis Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24199','Hallowed_Shadow_Shield','Hallowed Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24200','Saharic_Shadow_Shield','Saharic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24201','Underneath_Shadow_Shield','Underneath Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24202','Flammable_Shadow_Shield','Flammable Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24203','Windy_Shadow_Shield','Windy Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24204','Envenom_Shadow_Shield','Envenom Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24205','Damned_Shadow_Shield','Damned Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24206','Exorcism_Shadow_Shield','Exorcism Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24207','Divine_Shadow_Shield','Divine Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('24208','Expert_Shadow_Shoes','Expert Shadow Shoes','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','524288','0','150','175','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, 1;','','');
-REPLACE INTO `item_db` VALUES ('24209','Expert_Shield_Shadow','Expert Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','150','175','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/4);','','');
-REPLACE INTO `item_db` VALUES ('24210','Beginner_Shadow_Shoes','Beginner Shadow Shoes','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','1','49','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24211','Beginner_Shadow_Shield','Beginner Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','1','49','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24212','Rookie_Shadow_Shoes','Rookie Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','50','99','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24213','Rookie_Shadow_Shield','Rookie Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','50','99','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24214','Advanced_Shadow_Shoes','Advanced Shadow Shoes','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','100','149','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/3);','','');
-REPLACE INTO `item_db` VALUES ('24215','Advanced_Shadow_Shield','Advanced Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','100','149','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/3);','','');
-REPLACE INTO `item_db` VALUES ('24216','Attack_Shadow_Armor','Attack Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bAtk2,(getrefine()*5); }\",(getrefine()*20)+100,3000,BF_NORMAL;','','');
-REPLACE INTO `item_db` VALUES ('24217','Blitz_Shadow_Earring','Blitz Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,(getrefine()/2)+5; if (getrefine()>=7) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('24218','Blitz_Shadow_Pendant','Blitz Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,(getrefine()/2)+5; if (getrefine()>=7) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('24219','Cold_Bolt_Shadow_Armor','Cold Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,14,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
-REPLACE INTO `item_db` VALUES ('24220','Fire_Bolt_Shadow_Armor','Fire Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,19,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
-REPLACE INTO `item_db` VALUES ('24221','Lightning_Bolt_Shadow_Armor','Lightning Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,20,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
-REPLACE INTO `item_db` VALUES ('24222','Earth_Spike_Shadow_Armor','Earth Spike Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,90,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
-REPLACE INTO `item_db` VALUES ('24223','Enhanced_Force_Shadow_Weapon','Enhanced Force Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','56','2','131072','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,10; bonus bAtkRate,(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24224','Force_Shadow_Weapon','Force Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,1; if (getrefine()>=7) { bonus bAtkRate,1; } if (getrefine()>=9) { bonus bAtkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24225','Force_Shadow_Earring','Force Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24226','Force_Shadow_Pendant','Force Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,5+getrefine(); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMaxSPrate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24227','Enhanced_Soul_Shadow_Weapon','Enhanced Soul Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','56','2','131072','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus bMatkRate,(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24228','Soul_Shadow_Weapon','Soul Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,1; if (getrefine()>=7) { bonus bMatkRate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24229','Soul_Shadow_Earring','Soul Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24230','Soul_Shadow_Pendant','Soul Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
-REPLACE INTO `item_db` VALUES ('24231','Blitz_Shadow_Shoes','Blitz Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5; if (getrefine()>=2) { bonus bCritical,2; } if (getrefine()>=7) { bonus bAspd,1; } if (getrefine()>=9) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('24232','Blitz_Shadow_Shield','Blitz Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5; if (getrefine()>=2) { bonus bCritical,2; } if (getrefine()>=7) { bonus bAspd,1; } if (getrefine()>=9) { bonus bAspd,1; }','','');
-REPLACE INTO `item_db` VALUES ('24233','Exceeding_Shadow_Weapon','Exceeding Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,5; bonus bMatk,5; bonus bAtkRate,getrefine(); bonus bMatkRate,getrefine();','','');
-REPLACE INTO `item_db` VALUES ('24234','Titan_Shadow_Earring','Titan Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
-REPLACE INTO `item_db` VALUES ('24235','Titan_Shadow_Pendant','Titan Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
-REPLACE INTO `item_db` VALUES ('24236','Boned_Shadow_Earring','Boned Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
-REPLACE INTO `item_db` VALUES ('24237','Boned_Shadow_Pendant','Boned Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
-REPLACE INTO `item_db` VALUES ('24238','Gigantic_Shadow_Earring','Gigantic Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
-REPLACE INTO `item_db` VALUES ('24239','Gigantic_Shadow_Pendant','Gigantic Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
-REPLACE INTO `item_db` VALUES ('24240','Caster_Shadow_Shoes','Caster Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24241','Caster_Shadow_Shield','Caster Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24242','Caster_Shadow_Armor','Caster Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
-REPLACE INTO `item_db` VALUES ('24243','Reload_Shadow_Shoes','Reload Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
-REPLACE INTO `item_db` VALUES ('24244','Reload_Shadow_Shield','Reload Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
-REPLACE INTO `item_db` VALUES ('24245','Reload_Shadow_Armor','Reload Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
-REPLACE INTO `item_db` VALUES ('28000','Thanatos_Katar','Thanatos Katar','4','20','10','1800','220','80','0','1','1','4096','56','2','34','4','120',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('28001','Evil_Slayer_Ripper_Katar','Evil Slayer Ripper Katar','4','20','10','1200','120','0','0','1','1','4096','56','2','34','3','100',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>8) { bonus bAtkRate,5; } if(getrefine()>11) { bonus bAtkRate,7; }','','');
+REPLACE INTO `item_db` VALUES ('24018','S_Physical_Earring','Shadow Physical Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,(getrefine()>=7)?2:1;','','');
+REPLACE INTO `item_db` VALUES ('24019','S_Physical_Weapon','Shadow Physical Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bAtkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24020','S_Physical_Pendant','Shadow Physical Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24021','S_Magical_Earring','Shadow Magical Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-(getrefine()>=7)?2:1;','','');
+REPLACE INTO `item_db` VALUES ('24022','S_Magical_Weapon','Shadow Magical Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; if (getrefine()>=7) { bonus bMatkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24023','S_Magical_Pendant','Shadow Magical Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; if (getrefine()>=7) { bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24024','S_Breezy_Armor','Shadow Breeze Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()>=7?10:0);','','');
+REPLACE INTO `item_db` VALUES ('24025','S_Champion_Shoes','Shadow Champion Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,20; bonus bMaxSP,10; if (getrefine()>=7) { bonus bMaxHPrate,1; bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24026','S_Athena_Shield','Shadow Athena Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,(getrefine()>=7)?20:10;','','');
+REPLACE INTO `item_db` VALUES ('24027','S_Immune_Armor','Immune Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,0,1;','','');
+REPLACE INTO `item_db` VALUES ('24028','S_Hard_Armor','Hard Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,50; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24029','S_Ancient_Armor','Ancient Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,(getrefine()>=7)?20:10;','','');
+REPLACE INTO `item_db` VALUES ('24030','S_Critical_Armor','Critital Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,(getrefine()>=7)?10:5;','','');
+REPLACE INTO `item_db` VALUES ('24031','S_Kingbird_Weapon','King Bird Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bLongAtkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24032','S_Cri_Hit_Weapon','Critical Hit Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,10; if (getrefine()>=7) { bonus bCritAtkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24033','S_Healing_Weapon','Healing Shadow Weapon','5','10','5','0','0','10','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=7) { bonus bHealPower2,5; }','','');
+REPLACE INTO `item_db` VALUES ('24034','S_Lucky_Weapon','Lucky Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; if (getrefine()>=7) { bonus bLuk,1; } if (getrefine()>=9) { bonus bLuk,1; }','','');
+REPLACE INTO `item_db` VALUES ('24035','S_Power_Earring','Power Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; if (getrefine()>=7) { bonus bStr,1; } if (getrefine()>=9) { bonus bStr,1; }','','');
+REPLACE INTO `item_db` VALUES ('24036','S_Int_Pendant','Intelligent Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; if (getrefine()>=7) { bonus bInt,1; } if (getrefine()>=9) { bonus bInt,1; }','','');
+REPLACE INTO `item_db` VALUES ('24037','S_Dexterous_Armor','Dexterous Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; if (getrefine()>=7) { bonus bDex,1; } if (getrefine()>=9) { bonus bDex,1; }','','');
+REPLACE INTO `item_db` VALUES ('24038','S_Vital_Shoes','Vital Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; if (getrefine()>=7) { bonus bVit,1; } if (getrefine()>=9) { bonus bVit,1; }','','');
+REPLACE INTO `item_db` VALUES ('24039','S_Athletic_Shield','Athletic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; if (getrefine()>=7) { bonus bAgi,1; } if (getrefine()>=9) { bonus bAgi,1; }','','');
+REPLACE INTO `item_db` VALUES ('24040','S_Lucky_Armor','Lucky Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,1; bonus bCritical,(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24041','S_Power_Pendant','Power Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bBaseAtk,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24042','S_Int_Earring','Intelligent Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus bMatk,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24043','S_Dexterous_Weapon','Dexterous Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bHit,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24044','S_Vital_Shield','Vital Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus bDef,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24045','S_Athletic_Shoes','Athletic Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bFlee,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24046','S_Resist_Spell_Pendant','Resist Spell Power Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,(getrefine()>=7)?6:3;','','');
+REPLACE INTO `item_db` VALUES ('24047','S_Rapid_Pendant','Rapid Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24048','S_Caster_Pendant','Casters Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24049','S_Hard_Earring','Hard Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; bonus bMaxHPrate,((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24050','S_Wise_Earring','Wise Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; bonus bMaxSPrate,((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24051','S_Athena_Earring','Athena Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,(getrefine()>=7)?20:10;','','');
+REPLACE INTO `item_db` VALUES ('24052','S_Cranial_Shield','Cranial Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_DemiPlayer,1; if (getrefine()>=7) { bonus2 bSubRace,RC_DemiPlayer,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_DemiPlayer,1; }','','');
+REPLACE INTO `item_db` VALUES ('24053','S_Safeguard_Shield','Safeguard Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Boss,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Boss,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Boss,1; }','','');
+REPLACE INTO `item_db` VALUES ('24054','S_Brutal_Shield','Brutal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Brute,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Brute,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Brute,1; }','','');
+REPLACE INTO `item_db` VALUES ('24055','S_Gargantua_Shield','Gargantua Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Insect,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Insect,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Insect,1; }','','');
+REPLACE INTO `item_db` VALUES ('24056','S_Homers_Shield','Homer\'s Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Fish,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Fish,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Fish,1; }','','');
+REPLACE INTO `item_db` VALUES ('24057','S_Dragoon_Shield','Dragoon Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Dragon,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Dragon,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Dragon,1; }','','');
+REPLACE INTO `item_db` VALUES ('24058','S_Satanic_Shield','Satanic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Angel,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Angel,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Angel,1; }','','');
+REPLACE INTO `item_db` VALUES ('24059','S_Flameguard_Shield','Fire Proof Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Formless,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Formless,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Formless,1; }','','');
+REPLACE INTO `item_db` VALUES ('24060','S_Requiem_Shield','Requiem Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Undead,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Undead,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Undead,1; }','','');
+REPLACE INTO `item_db` VALUES ('24061','S_Cadi_Shield','Cadi Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubRace,RC_Plant,1; if (getrefine()>=7) { bonus2 bSubRace,RC_Plant,1; } if (getrefine()>=9) { bonus2 bSubRace,RC_Plant,1; }','','');
+REPLACE INTO `item_db` VALUES ('24062','S_Bloody_Shoes','Bloody Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,2; bonus2 bMagicAddRace,RC_DemiPlayer,2; if (getrefine()>=7) { bonus2 bAddRace,RC_DemiPlayer,1; bonus2 bMagicAddRace,RC_DemiPlayer,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_DemiPlayer,2; bonus2 bMagicAddRace,RC_DemiPlayer,2; }','','');
+REPLACE INTO `item_db` VALUES ('24063','S_Liberation_Shoes','Liberation Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Boss,2; bonus2 bMagicAddRace,RC_Boss,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Boss,1; bonus2 bMagicAddRace,RC_Boss,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Boss,2; bonus2 bMagicAddRace,RC_Boss,2; }','','');
+REPLACE INTO `item_db` VALUES ('24064','S_Chemical_Shoes','Chemical Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Plant,2; bonus2 bMagicAddRace,RC_Plant,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Plant,1; bonus2 bMagicAddRace,RC_Plant,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Plant,2; bonus2 bMagicAddRace,RC_Plant,2; }','','');
+REPLACE INTO `item_db` VALUES ('24065','S_Clamorous_Shoes','Glamorous Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Brute,2; bonus2 bMagicAddRace,2,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Brute,1; bonus2 bMagicAddRace,2,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Brute,2; bonus2 bMagicAddRace,2,2; }','','');
+REPLACE INTO `item_db` VALUES ('24066','S_Insecticide_Shoes','Insecticide Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Insect,2; bonus2 bMagicAddRace,RC_Insect,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Insect,1; bonus2 bMagicAddRace,RC_Insect,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Insect,2; bonus2 bMagicAddRace,RC_Insect,2; }','','');
+REPLACE INTO `item_db` VALUES ('24067','S_Fisher_Shoes','Fisher Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Fish,2; bonus2 bMagicAddRace,RC_Fish,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Fish,1; bonus2 bMagicAddRace,RC_Fish,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Fish,2; bonus2 bMagicAddRace,RC_Fish,2; }','','');
+REPLACE INTO `item_db` VALUES ('24068','S_Seraphim_Shoes','Seraphim Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Angel,2; bonus2 bMagicAddRace,RC_Angel,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Angel,1; bonus2 bMagicAddRace,RC_Angel,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Angel,2; bonus2 bMagicAddRace,RC_Angel,2; }','','');
+REPLACE INTO `item_db` VALUES ('24069','S_Beholder_Shoes','Beholder Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Formless,2; bonus2 bMagicAddRace,RC_Formless,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Formless,1; bonus2 bMagicAddRace,RC_Formless,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Formless,2; bonus2 bMagicAddRace,RC_Formless,2; }','','');
+REPLACE INTO `item_db` VALUES ('24070','S_Divine_Shoes','Divine Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Undead,2; bonus2 bMagicAddRace,RC_Undead,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Undead,1; bonus2 bMagicAddRace,RC_Undead,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Undead,2; bonus2 bMagicAddRace,RC_Undead,2; }','','');
+REPLACE INTO `item_db` VALUES ('24071','S_Dragoon_Shoes','Dragoons Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Dragon,2; bonus2 bMagicAddRace,RC_Dragon,2; if (getrefine()>=7) { bonus2 bAddRace,RC_Dragon,1; bonus2 bMagicAddRace,RC_Dragon,1; } if (getrefine()>=9) { bonus2 bAddRace,RC_Dragon,2; bonus2 bMagicAddRace,RC_Dragon,2; }','','');
+REPLACE INTO `item_db` VALUES ('24072','S_Big_Armor','Large Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Large,2; }','','');
+REPLACE INTO `item_db` VALUES ('24073','S_Medium_Armor','Medium Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Medium,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Medium,2; }','','');
+REPLACE INTO `item_db` VALUES ('24074','S_Small_Armor','Small Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Small,2; if (getrefine()>=7) { bonus2 bSubSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bSubSize,Size_Small,2; }','','');
+REPLACE INTO `item_db` VALUES ('24075','S_Big_Weapon','Large Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
+REPLACE INTO `item_db` VALUES ('24076','S_Medium_Weapon','Medium Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
+REPLACE INTO `item_db` VALUES ('24077','S_Small_Weapon','Small Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,2; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
+REPLACE INTO `item_db` VALUES ('24078','S_Spiritual_Weapon','Spiritual Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,-5; if (getrefine()>=7) { bonus bSPrecovRate,5; }','','');
+REPLACE INTO `item_db` VALUES ('24079','S_Spiritual_Earring','Spiritual Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50; if (getrefine()>=7) { bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24080','S_Spiritual_Pendent','Spiritual Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSPrate,(getrefine()>=7?2:1);','','');
+REPLACE INTO `item_db` VALUES ('24081','S_Malicious_Armor','Malevolent Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100; if (getrefine()>=7) { bonus bMaxHPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24082','S_Malicious_Shoes','Malevolent Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,(getrefine()>=7?2:1);','','');
+REPLACE INTO `item_db` VALUES ('24083','S_Malicious_Shield','Malevolent Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHPrecovRate,(getrefine()>=7?10:5);','','');
+REPLACE INTO `item_db` VALUES ('24084','S_Gemstone_Armor','Gemstone Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24085','S_Gemstone_Shoes','Gemstone Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24086','S_Gemstone_Shield','Gemstone Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24087','S_Gemstone_Weapon','Gemstone Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24088','S_Gemstone_Earring','Gemstone Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24089','S_Gemstone_Pendent','Gemstone Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24090','S_Stability_Shield','Stability Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,3; bonus2 bResEff,Eff_Stun,getrefine()/2; bonus2 bResEff,Eff_Freeze,getrefine()/2; bonus2 bResEff,Eff_Curse,getrefine()/2; bonus2 bResEff,Eff_Bleeding,getrefine()/2; bonus2 bResEff,Eff_Stone,getrefine(); bonus2 bResEff,Eff_Sleep,getrefine(); bonus2 bResEff,Eff_Silence,getrefine(); bonus2 bResEff,Eff_Blind,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24091','S_Plasterers_Armor','Plasterus Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24092','S_Plasterers_Shoes','Plasterus Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24093','S_Insomniac_Armor','Insomnia Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24094','S_Insomniac_Shoes','Insomnia Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24095','S_Peerless_Armor','Peerless Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24096','S_Peerless_Shoes','Peerless Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24097','S_Adurate_Armor','Adurate Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24098','S_Adurate_Shoes','Adurate Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24099','Unfreez_Weapon_S','Freezing Frozen Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24100','Unfreeze_Earing_S','Freezing Frozen Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24101','Unfreeze_Pendent_S','Freezing Frozen Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24102','Vitality_Earing_S','Vitality Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24103','Vitality_Pendant_S','Vitality Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24104','S_Neutral_Weapon','Neutral Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2;','','');
+REPLACE INTO `item_db` VALUES ('24105','S_Neutral_Earring','Neutral Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24106','S_Neutral_Pendent','Neutral Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24107','S_Curse_Lift_Earring','Frozen Curse Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24108','S_Curse_Lift_Pendent','Frozen Curse Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24109','S_Caster_earring','Caster Shadow Earrings','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-1-((getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24110','S_Caster_Weapon','Caster Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVariableCastrate,-1-((getrefine()>=7)?1:0)-((getrefine()>=9)?2:0);','','');
+REPLACE INTO `item_db` VALUES ('24111','S_Spell_Flow_Shoes','Spell Flow Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1; if (getrefine() >= 7) { bonus bSPrecovRate,5; }','','');
+REPLACE INTO `item_db` VALUES ('24112','S_Spell_Flow_Armor','Spell Flow Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24113','S_Spell_Flow_Shield','Spell Flow Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUseSPrate,1; if (getrefine() >= 7) { bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24114','S_Greed_Armor','Greed Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24115','S_Greed_Shoes','Greed Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24116','S_Greed_Shield','Greed Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24117','S_Greed_Weapon','Greed Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24118','S_Greed_Earring','Greed Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24119','S_Greed_Pendant','Greed Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill BS_GREED,1; bonus2 bSkillUseSP,BS_GREED,100-(getrefine()*10);','','');
+REPLACE INTO `item_db` VALUES ('24120','S_Heal_Armor','Heal Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24121','S_Heal_Shoes','Heal Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24122','S_Heal_Shield','Heal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24123','S_Heal_Weapon','Heal Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24124','S_Heal_Earring','Heal Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24125','S_Heal_Pendant','Heal Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1; bonus2 bSkillUseSP,AL_HEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24126','S_Hiding_Armor','Hiding Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24127','S_Hiding_Shoes','Hiding Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24128','S_Hiding_Shield','Hiding Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24129','S_Hiding_Weapon','Hiding Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24130','S_Hiding_Earring','Hiding Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24131','S_Hiding_Pendant','Hiding Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_HIDING,1; bonus2 bSkillUseSP,TF_HIDING,50-(getrefine()*5);','','sc_end SC_HIDING;');
+REPLACE INTO `item_db` VALUES ('24132','S_Cloaking_Armor','Cloaking Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24133','S_Cloaking_Shoes','Cloaking Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24134','S_Cloaking_Shield','Cloaking Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24135','S_Cloaking_Weapon','Cloaking Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24136','S_Cloaking_Earring','Cloaking Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24137','S_Cloaking_Pendant','Cloaking Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AS_CLOAKING,1; bonus2 bSkillUseSP,AS_CLOAKING,50-(getrefine()*5);','','sc_end SC_CLOAKING;');
+REPLACE INTO `item_db` VALUES ('24138','S_Teleport_Armor','Teleport Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24139','S_Teleport_Shoes','Teleport Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24140','S_Teleport_Shield','Teleport Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24141','S_Teleport_Weapon','Teleport Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24142','S_Teleport_Earring','Teleport Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24143','S_Teleport_Pendant','Teleport Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1; bonus2 bSkillUseSP,AL_TELEPORT,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24144','S_Steal_Armor','Steal Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24145','S_Steal_Shoes','Steal Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24146','S_Steal_Shield','Steal Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24147','S_Steal_Weapon','Steal Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24148','S_Steal_Earring','Steal Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24149','S_Steal_Pendant','Steal Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill TF_STEAL,1; bonus2 bSkillUseSP,TF_STEAL,50-(getrefine()*5);','','');
+REPLACE INTO `item_db` VALUES ('24150','S_Infinity_Earring','Infinity Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_All,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24151','S_Infinity_Pendant','Infinity Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_All,1+((getrefine()>=9)?2:(getrefine()>=7)?1:0);','','');
+REPLACE INTO `item_db` VALUES ('24152','S_Solid_Weapon','Solid Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24153','S_Solid_Earring','Solid Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24154','S_Immortal_Armor','Solid Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24155','S_Immortal_Pendant','Solid Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24156','S_Executioner_Weapon','Demihuman Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_DemiPlayer,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24157','S_Exorcist_Weapon','Exorcist Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Demon,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24158','S_Hunting_Weapon','Hunting Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Brute,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24159','S_Insect_Net_Weapon','Insect Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Insect,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24160','S_Fishing_Weapon','Fishing Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Fish,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24161','S_Dragon_Killer_Weapon','Dragon Killer Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Dragon,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24162','S_Corrupt_Weapon','Angelus Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Angel,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24163','S_Vibration_Weapon','Formless Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Formless,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24164','S_Holy_Water_Weapon','Holy Water Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Undead,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24165','S_Scissors_Weapon','Plant Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate,RC_Plant,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24166','S_Penetration_Earring','Penetration Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate, RC_All, 5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24167','S_Penetration_Pendent','Penetration Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreDefRate, RC_All, 5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24168','S_Tempest_Earring','Tempest Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_NonBoss,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24169','S_Tempest_Pendent','Tempest Pendant Shadow','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_NonBoss,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24170','S_M_Executioner_Weapon','Magic Executioner Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_DemiPlayer,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24171','S_M_Exorcist_Weapon','Magic Exorcist Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Demon,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24172','S_M_Hunting_Weapon','Magic Hunting Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Brute,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24173','S_M_Insect_Net_Weapon','Magic Insecticide Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Insect,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24174','S_M_Fishing_Weapon','Magic Fishing Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Fish,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24175','S_M_Dragon_K_Weapon','Magic Dragon Killer Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Dragon,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24176','S_M_Corrupt_Weapon','Magic Angelus Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Angel,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24177','S_M_Vibration_Weapon','Magic Formless Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Formless,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24178','S_M_Holy_Water_Weapon','Magic Holy Water Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Undead,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24179','S_M_Scissors_Weapon','Magic Caesars Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bIgnoreMdefRate,RC_Plant,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24180','S_Bearers_Armor','Bearer\'s Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24181','S_Bearers_Shoes','Bearer\'s Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxSP,50+(5*(getrefine()/2));','','');
+REPLACE INTO `item_db` VALUES ('24182','S_Bearers_Shield','Bearer\'s Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDef,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24183','S_Bearers_Weapon','Bearer\'s Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,100+(10*(getrefine()/2));','','');
+REPLACE INTO `item_db` VALUES ('24184','S_Bearers_Earring','Bearer\'s Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24185','S_Bearers_Pendent','Bearer\'s Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24186','S_Basis_Armor','Basis Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Neutral,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Neutral,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24187','S_Hallowed_Armor','Hallowed Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Dark,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Dark,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24188','S_Saharic_Armor','Underneith Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Water,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Water,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24189','S_Underneath_Armor','Underneath Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Earth,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Earth,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24190','S_Flam_Armor','Flame Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Fire,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Fire,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24191','S_Windy_Armor','Windy Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Wind,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Wind,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24192','S_Envenom_Armor','Envenom Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Poison,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Poison,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24193','S_Damned_Armor','Damned Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Holy,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Holy,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24194','S_Geist_Armor','Exorcism Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Ghost,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Ghost,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24195','S_Divine_Armor','Divine Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddEle,Ele_Undead,1+(getrefine()/2); bonus2 bMagicAddEle,Ele_Undead,1+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24196','S_Hasty_Shoes','Hasty Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24197','S_Hasty_Armor','Hasty Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5+(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24198','S_Basis_Shield','Basis Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24199','S_Hallowed_Shield','Hallowed Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24200','S_Saharic_Shield','Saharic Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24201','S_Underneath_Shield','Underneath Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24202','S_Flam_Shield','Flammable Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24203','S_Windy_Shield','Windy Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24204','S_Envenom_Shield','Envenom Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24205','S_Damned_Shield','Damned Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24206','S_Geist_Shield','Exorcism Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24207','S_Divine_Shield','Divine Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('24208','S_Expert_Shoes','Expert Shadow Shoes','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','524288','0','150','175','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, 1;','','');
+REPLACE INTO `item_db` VALUES ('24209','S_Expert_Shield','Expert Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','150','175','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/4);','','');
+REPLACE INTO `item_db` VALUES ('24210','S_Beginner_Shoes','Beginner Shadow Shoes','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','1','49','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24211','S_Beginner_Shield','Beginner Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','1','49','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24212','S_Rookie_Shoes','Rookie Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','50','99','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24213','S_Rookie_Shield','Rookie Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','50','99','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24214','S_Advanced_Shoes','Advanced Shadow Shoes','5','20','10','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','100','149','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/3);','','');
+REPLACE INTO `item_db` VALUES ('24215','S_Advanced_Shield','Advanced Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','100','149','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace, RC_All, (getrefine()/3);','','');
+REPLACE INTO `item_db` VALUES ('24216','S_Attack_Armor','Attack Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ bonus bAtk2,(getrefine()*5); }\",(getrefine()*20)+100,3000,BF_NORMAL;','','');
+REPLACE INTO `item_db` VALUES ('24217','S_Blitz_Earring','Blitz Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,(getrefine()/2)+5; if (getrefine()>=7) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('24218','S_Blitz_Pendent','Blitz Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,(getrefine()/2)+5; if (getrefine()>=7) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('24219','S_ColdBolt_Armor','Cold Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,14,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
+REPLACE INTO `item_db` VALUES ('24220','S_FireBolt_Armor','Fire Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,19,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
+REPLACE INTO `item_db` VALUES ('24221','S_LightingBolt_Armor','Lightning Bolt Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,20,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
+REPLACE INTO `item_db` VALUES ('24222','S_EarthSpike_Armor','Earth Spike Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','if (getrefine()>=2) { autobonus \"{ bonus3 bAutoSpell,90,(getrefine()/2),1000; }\",(getrefine()*2)+100,100,BF_SHORT; }','','');
+REPLACE INTO `item_db` VALUES ('24223','S_Enhance_Force_Weapon','Enhanced Force Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','56','2','131072','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,10; bonus bAtkRate,(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24224','S_Force_Weapon','Force Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,1; if (getrefine()>=7) { bonus bAtkRate,1; } if (getrefine()>=9) { bonus bAtkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24225','S_Force_Earring','Force Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24226','S_Force_Pendant','Force Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk2,5+getrefine(); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMaxSPrate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24227','S_Enhance_Spirit_Weapon','Enhanced Soul Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','56','2','131072','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,10; bonus bMatkRate,(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24228','S_Spirit_Weapon','Soul Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatkRate,1; if (getrefine()>=7) { bonus bMatkRate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24229','S_Spirit_Earring','Soul Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24230','S_Spirit_Pendant','Soul Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,(5+getrefine()); if (getrefine()>=7) { bonus bMaxHPrate,1; } if (getrefine()>=9) { bonus bMatkRate,1; }','','');
+REPLACE INTO `item_db` VALUES ('24231','S_Blitz_Shoes','Blitz Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee,5; if (getrefine()>=2) { bonus bCritical,2; } if (getrefine()>=7) { bonus bAspd,1; } if (getrefine()>=9) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('24232','S_Blitz_Shield','Blitz Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bCritical,5; if (getrefine()>=2) { bonus bCritical,2; } if (getrefine()>=7) { bonus bAspd,1; } if (getrefine()>=9) { bonus bAspd,1; }','','');
+REPLACE INTO `item_db` VALUES ('24233','S_Exceed_Weapon','Exceeding Shadow Weapon','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','131072','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,5; bonus bMatk,5; bonus bAtkRate,getrefine(); bonus bMatkRate,getrefine();','','');
+REPLACE INTO `item_db` VALUES ('24234','S_Titan_Earring','Titan Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
+REPLACE INTO `item_db` VALUES ('24235','S_Titan_Pendant','Titan Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Large,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Large,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Large,2; }','','');
+REPLACE INTO `item_db` VALUES ('24236','S_Boned_Earring','Boned Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
+REPLACE INTO `item_db` VALUES ('24237','S_Boned_Pendant','Boned Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Medium,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Medium,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Medium,2; }','','');
+REPLACE INTO `item_db` VALUES ('24238','S_Gigantic_Earring','Gigantic Shadow Earring','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','1048576','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
+REPLACE INTO `item_db` VALUES ('24239','S_Gigantic_Pendant','Gigantic Shadow Pendant','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','2097152','0','70',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,1; if (getrefine()>=7) { bonus2 bAddSize,Size_Small,1; } if (getrefine()>=9) { bonus2 bAddSize,Size_Small,2; }','','');
+REPLACE INTO `item_db` VALUES ('24240','S_Caster_Shoes','Caster Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24241','S_Caster_Shield','Caster Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24242','S_Caster_Armor','Caster Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,5; bonus bUseSPrate,-1; bonus bUseSPrate,-(getrefine()/2);','','');
+REPLACE INTO `item_db` VALUES ('24243','S_Reload_Shoes','Reload Shadow Shoes','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','524288','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
+REPLACE INTO `item_db` VALUES ('24244','S_Reload_Shield','Reload Shadow Shield','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','262144','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
+REPLACE INTO `item_db` VALUES ('24245','S_Reload_Armor','Reload Shadow Armor','5','10','5','0','0','0','0','0','0','18446744073709551615','63','2','65536','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDelayrate,-1; if (getrefine()>=7) { bonus bDelayrate,-1; } if (getrefine()>=9) { bonus bDelayrate,-1; }','','');
+REPLACE INTO `item_db` VALUES ('26101','Paradise_Foxtail_Staff_III','Eden Group Foxtail Staff III','4','20','10','0','150','195','0','1','0','0','7','2','2','3','60',NULL,'0','10','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,5; bonus bInt,5; bonus bLongAtkRate,7;','','');
+REPLACE INTO `item_db` VALUES ('28000','Thanos_Katar','Thanatos Katar','4','20','10','1800','220','80','0','1','1','4096','56','2','34','4','120',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('28001','Katar_Of_Evil_Slayer','Evil Slayer Ripper Katar','4','20','10','1200','120','0','0','1','1','4096','56','2','34','3','100',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Demon,10; bonus2 bAddRace,RC_Undead,10; if(getrefine()>8) { bonus bAtkRate,5; } if(getrefine()>11) { bonus bAtkRate,7; }','','');
REPLACE INTO `item_db` VALUES ('28002','Half_BF_Katar2','Half BF Katar2','4','20','10','0','130','0','0','1','0','4096','63','2','34','3','80',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiPlayer,35; bonus bCritAtkRate,10; bonus bAspdRate,3; bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('28007','Crimson_Katar','Crimson Katar','4','20','10','1300','130','0','0','1','2','4096','63','2','34','3','70',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,5*((BaseLevel-70)/10); }','','');
+REPLACE INTO `item_db` VALUES ('28007','Scarlet_Katar','Crimson Katar','4','20','10','1300','130','0','0','1','2','4096','63','2','34','3','70',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,5*((BaseLevel-70)/10); }','','');
REPLACE INTO `item_db` VALUES ('28008','Katar_of_Vicious_Mind','Katar of Vicious Mind','4','20','10','1800','180','0','0','1','1','4096','63','2','34','4','160',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2);','','');
REPLACE INTO `item_db` VALUES ('28010','Juliette_de_Rachel','Juliette de Rachel','4','20','10','2500','300','0','0','1','2','4096','56','2','34','4','170',NULL,'1','16','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,getrefine()/2; bonus bAspdRate,getrefine(); bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('28100','Thanatos_Axe','Thanatos Axe','4','20','10','4000','300','80','0','1','1','279714','56','2','34','4','120',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
-REPLACE INTO `item_db` VALUES ('28101','Axe_Tornado','Axe Tornado','4','500','250','4000','320','0','0','1','1','279714','56','2','34','4','100',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus2 bSkillCooldown,NC_AXETORNADO,-1000;','','');
+REPLACE INTO `item_db` VALUES ('28100','Thanos_Axe','Thanatos Axe','4','20','10','4000','300','80','0','1','1','279714','56','2','34','4','120',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus2 bSPDrainRate,10,5; bonus2 bHPDrainRate,10,5; bonus2 bHPLossRate,100,10000;','','heal -1000,0;');
+REPLACE INTO `item_db` VALUES ('28101','Tornado_Axe','Axe Tornado','4','500','250','4000','320','0','0','1','1','279714','56','2','34','4','100',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle,Ele_Wind; bonus2 bSkillCooldown,NC_AXETORNADO,-1000;','','');
REPLACE INTO `item_db` VALUES ('28105','Infinity_Two_handed_Axe','Infinity Two-handed Axe','4','20','10','500','265','0','0','1','1','279714','56','2','34','4','100',NULL,'1','7','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('28106','Crimson_Two_handed_Axe','Crimson Two-handed Axe','4','20','10','2000','200','0','0','1','2','279714','63','2','34','3','70',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('28106','Scarlet_Twohand_Axe','Crimson Two-handed Axe','4','20','10','2000','200','0','0','1','2','279714','63','2','34','3','70',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28107','Two_Handed_Axe_of_Vicious_Mind','Two-Handed Axe of Vicious Mind','4','20','10','2500','250','0','0','1','1','279714','63','2','34','4','160',NULL,'1','7','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('28200','End_Of_The_Horizon','End Of The Horizon','4','2700000','1350000','2400','410','0','0','9','1','1073741824','63','2','34','4','110',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('28201','South_Cross','Southern Cross','4','2800000','1400000','2000','480','0','0','9','0','1073741824','63','2','34','4','141',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
-REPLACE INTO `item_db` VALUES ('28202','Southern_Cross_','Southern Cross','4','2800000','1400000','2000','480','0','0','9','1','1073741824','63','2','34','4','141',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
+REPLACE INTO `item_db` VALUES ('28200','END_OF_HORIZON','End Of The Horizon','4','2700000','1350000','2400','410','0','0','9','1','1073741824','63','2','34','4','110',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28201','Southern_Cross_R','Southern Cross','4','2800000','1400000','2000','480','0','0','9','0','1073741824','63','2','34','4','141',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
+REPLACE INTO `item_db` VALUES ('28202','Southern_Cross_R_','Southern Cross','4','2800000','1400000','2000','480','0','0','9','1','1073741824','63','2','34','4','141',NULL,'1','21','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,GC_CROSSIMPACT,1,50;','','');
REPLACE INTO `item_db` VALUES ('28203','Half_BF_Rifle1','Half BF Rifle1','4','0','0','0','50','0','0','9','0','1090519040','63','2','34','3','80',NULL,'1','18','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bHit,8; bonus bCritical,8; bonus2 bAddRace,RC_DemiPlayer,30; bonus2 bVariableCastrate,GS_TRACKING,-20; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('28204','Half_BF_Shotgun1','Half BF Shotgun1','4','0','0','0','100','0','0','9','0','1090519040','63','2','34','3','80',NULL,'1','20','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiPlayer,30; bonus2 bIgnoreDefRate,RC_DemiPlayer,10; autobonus \"{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }\",30,6000,BF_WEAPON,\"{ specialeffect2 EF_BASH3D; }\"; bonus bUnbreakableWeapon,0;','','');
-REPLACE INTO `item_db` VALUES ('28306','Luna\'s_Blessing','Luna\'s Blessing','5','0','0','100','0','0','5','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bAllStats,1; bonus5 bAutoSpell,CG_TAROTCARD,5,100,BF_WEAPON|BF_MAGIC,1;','','');
-REPLACE INTO `item_db` VALUES ('28310','Sarah\'s_Left_Earring','Sarah\'s Left Earring','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1;','','');
-REPLACE INTO `item_db` VALUES ('28311','Sarah\'s_Right_Earring','Sarah\'s Right Earring','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('28306','Bless_Of_Moon','Luna\'s Blessing','5','0','0','100','0','0','5','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3; bonus bAllStats,1; bonus5 bAutoSpell,CG_TAROTCARD,5,100,BF_WEAPON|BF_MAGIC,1;','','');
+REPLACE INTO `item_db` VALUES ('28310','Earring_Of_Sarah_L','Sarah\'s Left Earring','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_HEAL,1;','','');
+REPLACE INTO `item_db` VALUES ('28311','Earring_Of_Sarah_R','Sarah\'s Right Earring','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','136','0','145',NULL,'0','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','skill AL_TELEPORT,1;','','');
REPLACE INTO `item_db` VALUES ('28320','Desperation_of_Assassin','Desperation of Assassin','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','136','0','50',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,1;','','');
-REPLACE INTO `item_db` VALUES ('28326','Broken_Chips_01','Broken Chips 01','5','10','5','100','0','0','0','0','1','18446744073709551615','63','2','136','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,4;','','');
-REPLACE INTO `item_db` VALUES ('28327','Broken_Chips_02','Broken Chips 02','5','10','5','100','0','0','0','0','1','18446744073709551615','63','2','136','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4;','','');
-REPLACE INTO `item_db` VALUES ('28332','Jewerly_Ring','Jewerly Ring','5','10','5','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,20; autobonus \"{ bonus bAspd,2; }\",50,2000,BF_WEAPON|BF_MAGIC;','','');
+REPLACE INTO `item_db` VALUES ('28326','Broken_Chip_1','Broken Chips 01','5','10','5','100','0','0','0','0','1','18446744073709551615','63','2','136','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,4;','','');
+REPLACE INTO `item_db` VALUES ('28327','Broken_Chip_2','Broken Chips 02','5','10','5','100','0','0','0','0','1','18446744073709551615','63','2','136','0','100',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,4;','','');
+REPLACE INTO `item_db` VALUES ('28332','Jewel_Ring','Jewerly Ring','5','10','5','100','0','0','0','0','0','18446744073709551615','63','2','136','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,20; autobonus \"{ bonus bAspd,2; }\",50,2000,BF_WEAPON|BF_MAGIC;','','');
REPLACE INTO `item_db` VALUES ('28333','Gold_PC_Room_Ring','Gold PC Room Ring','5','10','5','0','0','0','0','0','1','18446744073709551615','63','2','136','0','0',NULL,'1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,3; bonus bMaxSPrate,3;','','');
REPLACE INTO `item_db` VALUES ('28362','Str_Gloves','Str Gloves','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','120',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus bAtkRate,5;','','');
REPLACE INTO `item_db` VALUES ('28363','Agi_Gloves','Agi Gloves','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','120',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bAspdRate,5;','','');
@@ -10042,11 +10073,27 @@ REPLACE INTO `item_db` VALUES ('28365','Vit_Gloves','Vit Gloves','5','0','0','10
REPLACE INTO `item_db` VALUES ('28366','Dex_Gloves','Dex Gloves','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','120',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2; bonus bVariableCastrate,-5;','','');
REPLACE INTO `item_db` VALUES ('28367','Luk_Gloves','Luk Gloves','5','0','0','100','0','0','0','0','1','18446744073709551615','63','2','136','0','120',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bLuk,2; bonus bFlee2,5;','','');
REPLACE INTO `item_db` VALUES ('28372','Imperial_Ring','Imperial Ring','5','0','0','500','0','0','3','0','1','18446744073709551615','63','2','136','0','50',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bMaxHPrate,3; bonus bMaxSPrate,3;','','');
-REPLACE INTO `item_db` VALUES ('28604','Crimson_Bible','Crimson Bible','4','20','10','450','45','0','0','1','2','4260096','63','2','2','3','70',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('28374','Foxtail_Ring','Foxtail Ring','4','20','10','100','0','0','0','0','0','0','63','2','136','0','1',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl;','','');
+REPLACE INTO `item_db` VALUES ('28380','Fresh_Grass_Necklace','Fresh Grass Necklace','4','20','10','100','0','0','0','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,5; bonus2 bSkillCooldown,SU_SCAROFTAROU,-5000;','','');
+REPLACE INTO `item_db` VALUES ('28381','Cute_Grass_Necklace','Cute Grass Necklace','4','20','10','10','0','0','0','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHealPower,5; bonus2 bSkillCooldown,SU_TUNAPARTY,-7000;','','');
+REPLACE INTO `item_db` VALUES ('28382','Charm_Grass_Necklace','Charm Grass Necklace','4','20','10','10','0','0','0','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bVariableCastrate,SU_CN_METEOR,-1000;','','');
+REPLACE INTO `item_db` VALUES ('28413','Lesser_Mackerel_Talisman','Lesser Mackerel Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1;','','');
+REPLACE INTO `item_db` VALUES ('28414','Intermediate_Mackerel_Talisman','Intermediate Mackerel Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','140',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,2;','','');
+REPLACE INTO `item_db` VALUES ('28415','Greater_Mackerel_Talisman','Greater Mackerel Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','175',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3;','','');
+REPLACE INTO `item_db` VALUES ('28416','Lesser_Leaf_Talisman','Lesser Leaf Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1;','','');
+REPLACE INTO `item_db` VALUES ('28417','Intermediate_Leaf_Talisman','Intermediate Leaf Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','140',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','','');
+REPLACE INTO `item_db` VALUES ('28418','Greater_Leaf_Talisman','Greater Leaf Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','175',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,3;','','');
+REPLACE INTO `item_db` VALUES ('28419','Lesser_Rabbit_Talisman','Lesser Rabbit Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1;','','');
+REPLACE INTO `item_db` VALUES ('28420','Intermediate_Rabbit_Talisman','Intermediate Rabbit Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','140',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,2;','','');
+REPLACE INTO `item_db` VALUES ('28421','Greater_Rabbit_Talisman','Greater Rabbit Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','175',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3;','','');
+REPLACE INTO `item_db` VALUES ('28422','Shiny_Branch_Talisman','Shiny Branch Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,SU_SV_STEMSPEAR,-50; bonus2 bSkillAtk,SU_SV_STEMSPEAR,(readparam(bInt)/2)+(20 * getskilllv(SU_SV_STEMSPEAR)); //Need to confirm damage formula','','');
+REPLACE INTO `item_db` VALUES ('28423','Fresh_Tuna_Talisman','Fresh Tuna Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillCooldown,SU_TUNAPARTY,-5000; bonus3 bAutoSpellWhenHit,SU_TUNAPARTY,max(1,getskilllv(SU_TUNAPARTY)),10;','','');
+REPLACE INTO `item_db` VALUES ('28424','Chubby_Worm_Talisman','Chubby Worm Talisman','4','0','0','100','0','0','1','0','1','0','63','2','136','0','100',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,SU_PICKYPECK,-50; bonus2 bSkillAtk,SU_PICKYPECK,(readparam(bDex)/2)+(20 * getskilllv(SU_PICKYPECK)); //Need to confirm damage formula','','');
+REPLACE INTO `item_db` VALUES ('28604','Scarlet_Bible','Crimson Bible','4','20','10','450','45','0','0','1','2','4260096','63','2','2','3','70',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableWeapon,0; bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28605','Book_of_Vicious_Mind','Book of Vicious Mind','4','20','10','950','95','0','0','1','1','4260096','63','2','2','4','160',NULL,'1','15','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,0;','','');
REPLACE INTO `item_db` VALUES ('28703','Infinity_Dagger','Infinity Dagger','4','20','10','500','125','100','0','1','1','579821295','63','2','2','4','100',NULL,'1','1','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('28704','Twilight_Desert_','Desert Twilight','4','20','10','600','130','0','0','1','4','4096','58','2','2','2','70',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('28705','Crimson_Dagger','Crimson Dagger','4','20','10','550','55','0','0','1','2','579821295','63','2','2','3','70',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
+REPLACE INTO `item_db` VALUES ('28705','Scarlet_Dagger','Crimson Dagger','4','20','10','550','55','0','0','1','2','579821295','63','2','2','3','70',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; if(BaseLevel>70) { bonus bAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('28706','Dagger_of_Vicious_Mind','Dagger of Vicious Mind','4','20','10','1050','105','50','0','1','1','579821295','63','2','2','4','160',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2;','','');
REPLACE INTO `item_db` VALUES ('28900','Praetorian_Shield','Praetorian Shield','5','20','10','3000','0','0','30','0','1','18446744073709551615','63','2','32','0','100',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill LG_SHIELDSPELL,1; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,3,20+(getrefine()); bonus bDef,getrefine()*10; bonus bMdef,getrefine();','','');
REPLACE INTO `item_db` VALUES ('28901','Cursed_Mad_Bunny','Cursed Mad Bunny','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','1','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspd,3; bonus bAtkRate,5; bonus bMatkRate,5; bonus bShortWeaponDamageReturn,10; autobonus \"{ bonus bMagicDamageReturn,60; }\",100,2000,BF_MAGIC,\"{ specialeffect2 EF_NONE; }\"; if(getrefine()>6) { bonus bAtk,5; bonus bMatk,5; } if(getrefine()>8) { bonus bAtk,10; bonus bMatk,10; } if(getrefine()>11) { bonus bNoCastCancel,0; bonus bCritical,10; }','','');
diff --git a/sql-files/main.sql b/sql-files/main.sql
index fe25fb100..5eac523ed 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -241,6 +241,7 @@ CREATE TABLE IF NOT EXISTS `charlog` (
`account_id` INT(11) NOT NULL DEFAULT '0',
`char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`char_num` TINYINT(4) NOT NULL DEFAULT '0',
+ `class` MEDIUMINT(9) NOT NULL DEFAULT '0',
`name` VARCHAR(23) NOT NULL DEFAULT '',
`str` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`agi` INT(11) UNSIGNED NOT NULL DEFAULT '0',
@@ -250,7 +251,7 @@ CREATE TABLE IF NOT EXISTS `charlog` (
`luk` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`hair` TINYINT(4) NOT NULL DEFAULT '0',
`hair_color` INT(11) NOT NULL DEFAULT '0'
-) ENGINE=MyISAM;
+) ENGINE=MyISAM;
--
-- Table structure for table `elemental`
@@ -827,6 +828,7 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1450367880); -- 2015-12-1
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1457638175); -- 2016-03-10--22-18.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1467934919); -- 2016-07-08--02-42.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1467935469); -- 2016-07-08--02-51.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1475526420); -- 2016-10-03--20-27.sql
--
-- Table structure for table `storage`
diff --git a/sql-files/upgrades/2016-10-03--20-27.sql b/sql-files/upgrades/2016-10-03--20-27.sql
new file mode 100644
index 000000000..6ad840e05
--- /dev/null
+++ b/sql-files/upgrades/2016-10-03--20-27.sql
@@ -0,0 +1,23 @@
+#1475526420
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2015-2016 Hercules Dev Team
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ALTER TABLE `charlog` ADD `class` MEDIUMINT(9) NOT NULL DEFAULT '0' AFTER `char_num`;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1475526420);
diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt
index b0347ab72..0b1051d76 100644
--- a/sql-files/upgrades/index.txt
+++ b/sql-files/upgrades/index.txt
@@ -32,3 +32,4 @@
2016-03-10--22-18.sql
2016-07-08--02-42.sql
2016-07-08--02-51.sql
+2016-10-03--20-27.sql
diff --git a/src/char/Makefile.in b/src/char/Makefile.in
index fe40621fb..7806ce2bb 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -51,7 +51,7 @@ CHAR_PH =
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- CHAR_SERVER_SQL_DEPENDS=$(CHAR_OBJ) $(COMMON_D)/obj_sql/common_sql.a $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
+ CHAR_SERVER_SQL_DEPENDS=$(CHAR_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
else
CHAR_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -110,8 +110,8 @@ char-server: ../../char-server@EXEEXT@
../../char-server@EXEEXT@: $(CHAR_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o ../../char-server@EXEEXT@ $(CHAR_OBJ) $(COMMON_D)/obj_sql/common_sql.a \
- $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o ../../char-server@EXEEXT@ $(CHAR_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
diff --git a/src/char/char.c b/src/char/char.c
index 952c3d781..d69ea0d53 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -1544,7 +1544,7 @@ int char_check_char_name(char * name, char * esc_name)
* -5: 'Symbols in Character Names are forbidden'
* char_id: Success
**/
-int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style)
+int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job)
{
char name[NAME_LENGTH];
char esc_name[NAME_LENGTH*2+1];
@@ -1557,9 +1557,17 @@ int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int
SQL->EscapeStringLen(inter->sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
flag = chr->check_char_name(name,esc_name);
- if( flag < 0 )
+ if (flag < 0)
return flag;
+ switch (starting_job) {
+ case JOB_SUMMONER:
+ case JOB_NOVICE:
+ break;
+ default:
+ return -2; // Char Creation Denied
+ }
+
//check other inputs
#if PACKETVER >= 20120307
if(slot < 0 || slot >= sd->char_slots)
@@ -1580,11 +1588,11 @@ int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int
return -2; /* character account limit exceeded */
#if PACKETVER >= 20120307
- //Insert the new char entry to the database
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `zeny`, `status_point`,`str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
+ // Insert the new char entry to the database
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`,`str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d','%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
- char_db, sd->account_id , slot, esc_name, start_zeny, 48, str, agi, vit, int_, dex, luk,
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
+ char_db, sd->account_id , slot, esc_name, starting_job, start_zeny, 48, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y) )
{
@@ -1593,10 +1601,10 @@ int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int
}
#else
//Insert the new char entry to the database
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
+ if( SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
- char_db, sd->account_id , slot, esc_name, start_zeny, str, agi, vit, int_, dex, luk,
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
+ char_db, sd->account_id , slot, esc_name, starting_job, start_zeny, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y) )
{
@@ -1613,9 +1621,9 @@ int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int
// Validation success, log result
if (chr->enable_logs) {
if (SQL_ERROR == SQL->Query(inter->sql_handle,
- "INSERT INTO `%s` (`time`, `char_msg`,`account_id`,`char_id`,`char_num`,`name`,`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hair`,`hair_color`)"
- "VALUES (NOW(), '%s', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
- charlog_db, "make new char", sd->account_id, char_id, slot, esc_name, str, agi, vit, int_, dex, luk, hair_style, hair_color))
+ "INSERT INTO `%s` (`time`, `char_msg`, `account_id`, `char_id`, `char_num`, `class`, `name`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `hair`, `hair_color`)"
+ "VALUES (NOW(), '%s', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
+ charlog_db, "make new char", sd->account_id, char_id, slot, starting_job, esc_name, str, agi, vit, int_, dex, luk, hair_style, hair_color))
Sql_ShowDebug(inter->sql_handle);
}
@@ -1945,11 +1953,15 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) {
}
/* Made Possible by Yommy~! <3 */
-void char_mmo_char_send099d(int fd, struct char_session_data *sd) {
+void char_mmo_char_send099d(int fd, struct char_session_data *sd)
+{
+// support added for client between 20121010 and 20130320
+#if PACKETVER > 20120418
WFIFOHEAD(fd,4 + (MAX_CHARS*MAX_CHAR_BUF));
WFIFOW(fd,0) = 0x99d;
WFIFOW(fd,2) = chr->mmo_chars_fromsql(sd, WFIFOP(fd,4)) + 4;
WFIFOSET(fd,WFIFOW(fd,2));
+#endif
}
/* Sends character ban list */
@@ -4621,10 +4633,12 @@ void char_parse_char_create_new_char(int fd, struct char_session_data* sd)
//turn character creation on/off [Kevin]
result = -2;
} else {
- #if PACKETVER >= 20120307
- result = chr->make_new_char_sql(sd, RFIFOP(fd,2), 1, 1, 1, 1, 1, 1, RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29));
+ #if PACKETVER >= 20151001
+ result = chr->make_new_char_sql(sd, RFIFOP(fd,2), 1, 1, 1, 1, 1, 1, RFIFOB(fd,26), RFIFOW(fd,27), RFIFOW(fd,29), RFIFOW(fd, 31));
+ #elif PACKETVER >= 20120307
+ result = chr->make_new_char_sql(sd, RFIFOP(fd,2), 1, 1, 1, 1, 1, 1, RFIFOB(fd,26), RFIFOW(fd,27), RFIFOW(fd,29), JOB_NOVICE);
#else
- result = chr->make_new_char_sql(sd, RFIFOP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35));
+ result = chr->make_new_char_sql(sd, RFIFOP(fd,2), RFIFOB(fd,26), RFIFOB(fd,27), RFIFOB(fd,28), RFIFOB(fd,29), RFIFOB(fd,30), RFIFOB(fd,31), RFIFOB(fd,32), RFIFOW(fd,33), RFIFOW(fd,35), JOB_NOVICE);
#endif
}
@@ -4640,11 +4654,13 @@ void char_parse_char_create_new_char(int fd, struct char_session_data* sd)
// add new entry to the chars list
sd->found_char[char_dat.slot] = result; // the char_id of the new char
}
- #if PACKETVER >= 20120307
- RFIFOSKIP(fd,31);
- #else
- RFIFOSKIP(fd,37);
- #endif
+#if PACKETVER >= 20151001
+ RFIFOSKIP(fd, 36);
+#elif PACKETVER >= 20120307
+ RFIFOSKIP(fd, 31);
+#else
+ RFIFOSKIP(fd, 37);
+#endif
}
// flag:
@@ -5022,17 +5038,22 @@ int char_parse_char(int fd)
break;
// create new char
- #if PACKETVER >= 20120307
+#if PACKETVER >= 20151001
+ // S 0a39 <name>.24B <slot>.B <hair color>.W <hair style>.W <starting job ID>.W <Unknown>.(W or 2 B's)??? <sex>.B
+ case 0xa39:
+ {
+ FIFOSD_CHECK(36);
+#elif PACKETVER >= 20120307
// S 0970 <name>.24B <slot>.B <hair color>.W <hair style>.W
case 0x970:
{
FIFOSD_CHECK(31);
- #else
+#else
// S 0067 <name>.24B <str>.B <agi>.B <vit>.B <int>.B <dex>.B <luk>.B <slot>.B <hair color>.W <hair style>.W
case 0x67:
{
FIFOSD_CHECK(37);
- #endif
+#endif
chr->parse_char_create_new_char(fd, sd);
}
@@ -5919,7 +5940,7 @@ bool char_config_read_player_new(const char *filename, const struct config_t *co
#else
const char *start_point_setting = "start_point_pre";
#endif
- long long int i64 = 0; // TODO: Temporary until the signature of libconfig->setting_lookup_int64 is changed to take a defined-size int (int64)
+ int64 i64 = 0;
nullpo_retr(false, filename);
nullpo_retr(false, config);
diff --git a/src/char/char.h b/src/char/char.h
index 4dbdfd9db..d7bc96e13 100644
--- a/src/char/char.h
+++ b/src/char/char.h
@@ -147,7 +147,7 @@ struct char_interface {
bool (*char_slotchange) (struct char_session_data *sd, int fd, unsigned short from, unsigned short to);
int (*rename_char_sql) (struct char_session_data *sd, int char_id);
int (*check_char_name) (char * name, char * esc_name);
- int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style);
+ int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job);
int (*divorce_char_sql) (int partner_id1, int partner_id2);
int (*count_users) (void);
int (*mmo_char_tobuf) (uint8* buffer, struct mmo_charstatus* p);
diff --git a/src/char/geoip.c b/src/char/geoip.c
index 002045850..0b84d2b09 100644
--- a/src/char/geoip.c
+++ b/src/char/geoip.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/geoip.h b/src/char/geoip.h
index 61ebb535f..c5d71f5e1 100644
--- a/src/char/geoip.h
+++ b/src/char/geoip.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_auction.c b/src/char/int_auction.c
index 51acb32a6..bf690327c 100644
--- a/src/char/int_auction.c
+++ b/src/char/int_auction.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_auction.h b/src/char/int_auction.h
index ccd5bfbf5..9f0ccbd09 100644
--- a/src/char/int_auction.h
+++ b/src/char/int_auction.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_elemental.h b/src/char/int_elemental.h
index 9cdd63e7f..8a046b0f8 100644
--- a/src/char/int_elemental.h
+++ b/src/char/int_elemental.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_guild.h b/src/char/int_guild.h
index 252c2dc47..93bf6c699 100644
--- a/src/char/int_guild.h
+++ b/src/char/int_guild.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_homun.h b/src/char/int_homun.h
index e070cccb6..7ea7331f2 100644
--- a/src/char/int_homun.h
+++ b/src/char/int_homun.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_mail.c b/src/char/int_mail.c
index bf3403b5f..10f905a0d 100644
--- a/src/char/int_mail.c
+++ b/src/char/int_mail.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_mail.h b/src/char/int_mail.h
index 346adeea7..cb72db504 100644
--- a/src/char/int_mail.h
+++ b/src/char/int_mail.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_mercenary.h b/src/char/int_mercenary.h
index 17cc97fda..3b1623438 100644
--- a/src/char/int_mercenary.h
+++ b/src/char/int_mercenary.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_party.h b/src/char/int_party.h
index 62fef4192..77363dd45 100644
--- a/src/char/int_party.h
+++ b/src/char/int_party.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_pet.h b/src/char/int_pet.h
index 3eb19d656..13291e226 100644
--- a/src/char/int_pet.h
+++ b/src/char/int_pet.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_quest.c b/src/char/int_quest.c
index cf93db51e..bd49cb7d4 100644
--- a/src/char/int_quest.c
+++ b/src/char/int_quest.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -182,7 +182,7 @@ bool mapif_quest_update(int char_id, struct quest qd)
int i;
StrBuf->Init(&buf);
- StrBuf->Printf(&buf, "UPDATE `%s` SET `state`='%u'", quest_db, qd.state);
+ StrBuf->Printf(&buf, "UPDATE `%s` SET `state`='%u', `time`='%u'", quest_db, qd.state, qd.time);
for (i = 0; i < MAX_QUEST_OBJECTIVES; i++) {
StrBuf->Printf(&buf, ", `count%d`='%d'", i+1, qd.count[i]);
}
diff --git a/src/char/int_quest.h b/src/char/int_quest.h
index 8d5cd5807..737213fff 100644
--- a/src/char/int_quest.h
+++ b/src/char/int_quest.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_storage.c b/src/char/int_storage.c
index e46a1c80f..8e3ebdff3 100644
--- a/src/char/int_storage.c
+++ b/src/char/int_storage.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_storage.h b/src/char/int_storage.h
index 3c48c00ec..8c6341e85 100644
--- a/src/char/int_storage.h
+++ b/src/char/int_storage.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/inter.c b/src/char/inter.c
index 05f2bf4f6..fd3fe8c16 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -389,6 +389,9 @@ const char* inter_job_name(int class_)
case JOB_REBELLION:
return inter->msg_txt(655);
+ case JOB_SUMMONER:
+ return inter->msg_txt(669);
+
default:
return inter->msg_txt(620); // "Unknown Job"
}
diff --git a/src/char/loginif.c b/src/char/loginif.c
index 1e457fcca..b0e18eb1f 100644
--- a/src/char/loginif.c
+++ b/src/char/loginif.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/loginif.h b/src/char/loginif.h
index d1bfe5c3c..daafdf4ac 100644
--- a/src/char/loginif.h
+++ b/src/char/loginif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/mapif.c b/src/char/mapif.c
index 91bfd884c..0c0a68654 100644
--- a/src/char/mapif.c
+++ b/src/char/mapif.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/mapif.h b/src/char/mapif.h
index 37d9444e2..7f1d53b3e 100644
--- a/src/char/mapif.h
+++ b/src/char/mapif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/common/HPM.c b/src/common/HPM.c
index dbe121940..c84b447e8 100644
--- a/src/common/HPM.c
+++ b/src/common/HPM.c
@@ -103,6 +103,7 @@ void hplugin_export_symbol(void *value, const char *name)
void *hplugin_import_symbol(char *name, unsigned int pID)
{
int i;
+ nullpo_retr(NULL, name);
ARR_FIND(0, VECTOR_LENGTH(HPM->symbols), i, strcmp(VECTOR_INDEX(HPM->symbols, i)->name, name) == 0);
if (i != VECTOR_LENGTH(HPM->symbols))
@@ -133,6 +134,7 @@ bool hplugin_iscompatible(char* version) {
bool hplugin_exists(const char *filename)
{
int i;
+ nullpo_retr(false, filename);
for (i = 0; i < VECTOR_LENGTH(HPM->plugins); i++) {
if (strcmpi(VECTOR_INDEX(HPM->plugins, i)->filename,filename) == 0)
return true;
@@ -259,6 +261,7 @@ void hplugins_addToHPData(enum HPluginDataTypes type, uint32 pluginID, struct hp
return;
}
store = *storeptr;
+ nullpo_retv(store);
/* duplicate check */
ARR_FIND(0, VECTOR_LENGTH(store->entries), i, VECTOR_INDEX(store->entries, i)->pluginID == pluginID && VECTOR_INDEX(store->entries, i)->classid == classid);
@@ -447,7 +450,8 @@ bool hplugins_addconf(unsigned int pluginID, enum HPluginConfType type, char *na
return true;
}
-struct hplugin *hplugin_load(const char* filename) {
+struct hplugin *hplugin_load(const char* filename)
+{
struct hplugin *plugin;
struct hplugin_info *info;
struct HPMi_interface **HPMi;
@@ -563,6 +567,7 @@ struct hplugin *hplugin_load(const char* filename) {
/* id */
plugin->hpi->pid = plugin->idx;
/* core */
+ plugin->hpi->memmgr = HPMiMalloc;
#ifdef CONSOLE_INPUT
plugin->hpi->addCPCommand = console->input->addCommand;
#endif // CONSOLE_INPUT
@@ -596,6 +601,7 @@ struct hplugin *hplugin_load(const char* filename) {
void hplugin_unload(struct hplugin* plugin)
{
int i;
+ nullpo_retv(plugin);
if (plugin->filename)
aFree(plugin->filename);
if (plugin->dll)
@@ -622,7 +628,8 @@ CMDLINEARG(loadplugin)
/**
* Reads the plugin configuration and loads the plugins as necessary.
*/
-void hplugins_config_read(void) {
+void hplugins_config_read(void)
+{
struct config_t plugins_conf;
struct config_setting_t *plist = NULL;
const char *config_filename = "conf/plugins.conf"; // FIXME hardcoded name
@@ -788,6 +795,7 @@ const char *HPM_file2ptr(const char *file)
{
int i;
+ nullpo_retr(NULL, file);
ARR_FIND(0, HPM->filenames.count, i, HPM->filenames.data[i].addr == file);
if (i != HPM->filenames.count) {
return HPM->filenames.data[i].name;
@@ -801,19 +809,29 @@ const char *HPM_file2ptr(const char *file)
return HPM->filenames.data[i].name;
}
-void* HPM_mmalloc(size_t size, const char *file, int line, const char *func) {
+
+void* HPM_mmalloc(size_t size, const char *file, int line, const char *func)
+{
return iMalloc->malloc(size,HPM_file2ptr(file),line,func);
}
-void* HPM_calloc(size_t num, size_t size, const char *file, int line, const char *func) {
+
+void* HPM_calloc(size_t num, size_t size, const char *file, int line, const char *func)
+{
return iMalloc->calloc(num,size,HPM_file2ptr(file),line,func);
}
-void* HPM_realloc(void *p, size_t size, const char *file, int line, const char *func) {
+
+void* HPM_realloc(void *p, size_t size, const char *file, int line, const char *func)
+{
return iMalloc->realloc(p,size,HPM_file2ptr(file),line,func);
}
-void* HPM_reallocz(void *p, size_t size, const char *file, int line, const char *func) {
+
+void* HPM_reallocz(void *p, size_t size, const char *file, int line, const char *func)
+{
return iMalloc->reallocz(p,size,HPM_file2ptr(file),line,func);
}
-char* HPM_astrdup(const char *p, const char *file, int line, const char *func) {
+
+char* HPM_astrdup(const char *p, const char *file, int line, const char *func)
+{
return iMalloc->astrdup(p,HPM_file2ptr(file),line,func);
}
@@ -849,6 +867,7 @@ bool hplugins_get_battle_conf(const char *w1, int *value)
{
int i;
+ nullpo_retr(false, w1);
nullpo_retr(false, value);
ARR_FIND(0, VECTOR_LENGTH(HPM->config_listeners[HPCT_BATTLE]), i, strcmpi(w1, VECTOR_INDEX(HPM->config_listeners[HPCT_BATTLE], i).key) == 0);
@@ -880,7 +899,7 @@ bool hplugins_parse_conf(const struct config_t *config, const char *filename, en
for (i = 0; i < VECTOR_LENGTH(HPM->config_listeners[point]); i++) {
const struct HPConfListenStorage *entry = &VECTOR_INDEX(HPM->config_listeners[point], i);
const char *config_name = entry->key;
- const char *str = buf;
+ const char *str = NULL;
if ((setting = libconfig->lookup(config, config_name)) == NULL) {
if (!imported && entry->required) {
ShowWarning("Missing configuration '%s' in file %s!\n", config_name, filename);
@@ -1012,9 +1031,11 @@ void hplugin_data_store_create(struct hplugin_data_store **storeptr, enum HPlugi
/**
* Called by HPM->DataCheck on a plugins incoming data, ensures data structs in use are matching!
**/
-bool HPM_DataCheck(struct s_HPMDataCheck *src, unsigned int size, int version, char *name) {
+bool HPM_DataCheck(struct s_HPMDataCheck *src, unsigned int size, int version, char *name)
+{
unsigned int i, j;
+ nullpo_retr(false, src);
if (version != datacheck_version) {
ShowError("HPMDataCheck:%s: DataCheck API version mismatch %d != %d\n", name, datacheck_version, version);
return false;
@@ -1039,7 +1060,8 @@ bool HPM_DataCheck(struct s_HPMDataCheck *src, unsigned int size, int version, c
return true;
}
-void HPM_datacheck_init(const struct s_HPMDataCheck *src, unsigned int length, int version) {
+void HPM_datacheck_init(const struct s_HPMDataCheck *src, unsigned int length, int version)
+{
unsigned int i;
datacheck_version = version;
@@ -1055,11 +1077,13 @@ void HPM_datacheck_init(const struct s_HPMDataCheck *src, unsigned int length, i
}
}
-void HPM_datacheck_final(void) {
+void HPM_datacheck_final(void)
+{
db_destroy(datacheck_db);
}
-void hpm_init(void) {
+void hpm_init(void)
+{
int i;
datacheck_db = NULL;
datacheck_data = NULL;
@@ -1070,8 +1094,8 @@ void hpm_init(void) {
HPM->off = false;
- memcpy(&iMalloc_HPM, iMalloc, sizeof(struct malloc_interface));
HPMiMalloc = &iMalloc_HPM;
+ *HPMiMalloc = *iMalloc;
HPMiMalloc->malloc = HPM_mmalloc;
HPMiMalloc->calloc = HPM_calloc;
HPMiMalloc->realloc = HPM_realloc;
@@ -1151,6 +1175,7 @@ void hpm_final(void)
return;
}
+
void hpm_defaults(void)
{
HPM = &HPM_s;
diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h
index 7ccb960de..8dd0f1cd7 100644
--- a/src/common/HPMSymbols.inc.h
+++ b/src/common/HPMSymbols.inc.h
@@ -155,9 +155,6 @@ struct loginif_interface *loginif;
#ifdef MAP_MAIL_H /* mail */
struct mail_interface *mail;
#endif // MAP_MAIL_H
-#ifdef COMMON_MEMMGR_H /* iMalloc */
-struct malloc_interface *iMalloc;
-#endif // COMMON_MEMMGR_H
#ifdef MAP_MAP_H /* map */
struct map_interface *map;
#endif // MAP_MAP_H
@@ -405,9 +402,6 @@ if ((server_type&(SERVER_TYPE_CHAR)) && !HPM_SYMBOL("loginif", loginif)) return
#ifdef MAP_MAIL_H /* mail */
if ((server_type&(SERVER_TYPE_MAP)) && !HPM_SYMBOL("mail", mail)) return "mail";
#endif // MAP_MAIL_H
-#ifdef COMMON_MEMMGR_H /* iMalloc */
-if ((server_type&(SERVER_TYPE_ALL)) && !HPM_SYMBOL("iMalloc", iMalloc)) return "iMalloc";
-#endif // COMMON_MEMMGR_H
#ifdef MAP_MAP_H /* map */
if ((server_type&(SERVER_TYPE_MAP)) && !HPM_SYMBOL("map", map)) return "map";
#endif // MAP_MAP_H
diff --git a/src/common/HPMi.h b/src/common/HPMi.h
index 19b9b20a5..143c325c1 100644
--- a/src/common/HPMi.h
+++ b/src/common/HPMi.h
@@ -231,6 +231,7 @@ struct HPMi_interface {
/* Hooking */
struct HPMHooking_interface *hooking;
+ struct malloc_interface *memmgr;
};
#ifdef HERCULES_CORE
#define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true)
diff --git a/src/common/atomic.h b/src/common/atomic.h
index 82d579bf4..b370052a9 100644
--- a/src/common/atomic.h
+++ b/src/common/atomic.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) rAthena Project (www.rathena.org)
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index d3db86543..8c3b5ad04 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -291,12 +291,19 @@ typedef uintptr_t uintptr;
#define GCC_VERSION 0
#endif
-// Pragma macro only enabled on gcc >= 4.5 or clang - borrowed from Mana Plus
-#if defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40500)
-#define PRAGMA_GCC45(str) _Pragma(#str)
-#else // ! defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40500)
-#define PRAGMA_GCC45(str)
-#endif // ! defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40500)
+// Pragma macro only enabled on gcc >= 4.6 or clang - borrowed from Mana Plus
+#if defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40600)
+#define PRAGMA_GCC46(str) _Pragma(#str)
+#else // ! defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40600)
+#define PRAGMA_GCC46(str)
+#endif // ! defined(__GNUC__) && (defined(__clang__) || GCC_VERSION >= 40600)
+
+// fallthrough attribute only enabled on gcc >= 7.0
+#if defined(__GNUC__) && (GCC_VERSION >= 70000)
+#define FALLTHROUGH __attribute__ ((fallthrough));
+#else // ! defined(__GNUC__) && (GCC_VERSION >= 70000)
+#define FALLTHROUGH
+#endif // ! defined(__GNUC__) && (GCC_VERSION >= 70000)
// boolean types for C
#if !defined(_MSC_VER) || _MSC_VER >= 1800
diff --git a/src/common/conf.c b/src/common/conf.c
index 9188affa4..96b9bff9f 100644
--- a/src/common/conf.c
+++ b/src/common/conf.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -373,6 +373,80 @@ int config_lookup_mutable_string(const struct config_t *config, const char *name
return CONFIG_FALSE;
}
+/**
+ * Wrapper for config_setting_get_int64() using defined-size variables
+ *
+ * @see config_setting_get_int64_real()
+ */
+int64 config_setting_get_int64_real(const struct config_setting_t *setting)
+{
+ return (int64)config_setting_get_int64(setting);
+}
+
+/**
+ * Wrapper for config_setting_lookup_int64() using defined-size variables
+ *
+ * @see config_setting_lookup_int64()
+ */
+int config_setting_lookup_int64_real(const struct config_setting_t *setting, const char *name, int64 *value)
+{
+ long long int lli = 0;
+
+ if (config_setting_lookup_int64(setting, name, &lli) != CONFIG_TRUE)
+ return CONFIG_FALSE;
+
+ *value = (int64)lli;
+
+ return CONFIG_TRUE;
+}
+
+/**
+ * Wrapper for config_setting_set_int64() using defined-size variables
+ *
+ * @see config_setting_set_int64()
+ */
+int config_setting_set_int64_real(struct config_setting_t *setting, int64 value)
+{
+ return config_setting_set_int64(setting, (long long int)value);
+}
+
+/**
+ * Wrapper for config_setting_get_int64_elem() using defined-size variables
+ *
+ * @see config_setting_get_int64_elem()
+ */
+int64 config_setting_get_int64_elem_real(const struct config_setting_t *setting, int idx)
+{
+ return (int64)config_setting_get_int64_elem(setting, idx);
+}
+
+/**
+ * Wrapper for config_setting_set_int64_elem() using defined-size variables
+ *
+ * @see config_setting_set_int64_elem()
+ */
+struct config_setting_t *config_setting_set_int64_elem_real(struct config_setting_t *setting, int idx, int64 value)
+{
+ return config_setting_set_int64_elem(setting, idx, (long long int)value);
+}
+
+/**
+ * Wrapper for config_lookup_int64() using defined-size variables
+ *
+ * @see config_lookup_int64()
+ */
+int config_lookup_int64_real(const struct config_t *config, const char *filepath, int64 *value)
+{
+ long long int lli = 0;
+
+ if (config_lookup_int64(config, filepath, &lli) != CONFIG_TRUE)
+ return CONFIG_FALSE;
+
+ *value = (int64)lli;
+
+ return CONFIG_TRUE;
+}
+
void libconfig_defaults(void) {
libconfig = &libconfig_s;
@@ -393,20 +467,20 @@ void libconfig_defaults(void) {
libconfig->destroy = config_destroy;
/* */
libconfig->setting_get_int = config_setting_get_int;
- libconfig->setting_get_int64 = config_setting_get_int64;
+ libconfig->setting_get_int64 = config_setting_get_int64_real;
libconfig->setting_get_float = config_setting_get_float;
libconfig->setting_get_bool = config_setting_get_bool;
libconfig->setting_get_string = config_setting_get_string;
/* */
libconfig->setting_lookup = config_setting_lookup;
libconfig->setting_lookup_int = config_setting_lookup_int;
- libconfig->setting_lookup_int64 = config_setting_lookup_int64;
+ libconfig->setting_lookup_int64 = config_setting_lookup_int64_real;
libconfig->setting_lookup_float = config_setting_lookup_float;
libconfig->setting_lookup_bool = config_setting_lookup_bool;
libconfig->setting_lookup_string = config_setting_lookup_string;
/* */
libconfig->setting_set_int = config_setting_set_int;
- libconfig->setting_set_int64 = config_setting_set_int64;
+ libconfig->setting_set_int64 = config_setting_set_int64_real;
libconfig->setting_set_float = config_setting_set_float;
libconfig->setting_set_bool = config_setting_set_bool;
libconfig->setting_set_string = config_setting_set_string;
@@ -415,13 +489,13 @@ void libconfig_defaults(void) {
libconfig->setting_get_format = config_setting_get_format;
/* */
libconfig->setting_get_int_elem = config_setting_get_int_elem;
- libconfig->setting_get_int64_elem = config_setting_get_int64_elem;
+ libconfig->setting_get_int64_elem = config_setting_get_int64_elem_real;
libconfig->setting_get_float_elem = config_setting_get_float_elem;
libconfig->setting_get_bool_elem = config_setting_get_bool_elem;
libconfig->setting_get_string_elem = config_setting_get_string_elem;
/* */
libconfig->setting_set_int_elem = config_setting_set_int_elem;
- libconfig->setting_set_int64_elem = config_setting_set_int64_elem;
+ libconfig->setting_set_int64_elem = config_setting_set_int64_elem_real;
libconfig->setting_set_float_elem = config_setting_set_float_elem;
libconfig->setting_set_bool_elem = config_setting_set_bool_elem;
libconfig->setting_set_string_elem = config_setting_set_string_elem;
@@ -441,7 +515,7 @@ void libconfig_defaults(void) {
libconfig->lookup = config_lookup;
/* */
libconfig->lookup_int = config_lookup_int;
- libconfig->lookup_int64 = config_lookup_int64;
+ libconfig->lookup_int64 = config_lookup_int64_real;
libconfig->lookup_float = config_lookup_float;
libconfig->lookup_bool = config_lookup_bool;
libconfig->lookup_string = config_lookup_string;
diff --git a/src/common/conf.h b/src/common/conf.h
index f2bfcac62..bd6acc4be 100644
--- a/src/common/conf.h
+++ b/src/common/conf.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -46,7 +46,7 @@ struct libconfig_interface {
void (*destroy) (struct config_t *config);
int (*setting_get_int) (const struct config_setting_t *setting);
- long long (*setting_get_int64) (const struct config_setting_t *setting);
+ int64 (*setting_get_int64) (const struct config_setting_t *setting);
double (*setting_get_float) (const struct config_setting_t *setting);
int (*setting_get_bool) (const struct config_setting_t *setting);
@@ -55,12 +55,12 @@ struct libconfig_interface {
struct config_setting_t * (*setting_lookup) (struct config_setting_t *setting, const char *name);
int (*setting_lookup_int) (const struct config_setting_t *setting, const char *name, int *value);
- int (*setting_lookup_int64) (const struct config_setting_t *setting, const char *name, long long *value);
+ int (*setting_lookup_int64) (const struct config_setting_t *setting, const char *name, int64 *value);
int (*setting_lookup_float) (const struct config_setting_t *setting, const char *name, double *value);
int (*setting_lookup_bool) (const struct config_setting_t *setting, const char *name, int *value);
int (*setting_lookup_string) (const struct config_setting_t *setting, const char *name, const char **value);
- int (*setting_set_int) (struct config_setting_t *setting ,int value);
- int (*setting_set_int64) (struct config_setting_t *setting, long long value);
+ int (*setting_set_int) (struct config_setting_t *setting, int value);
+ int (*setting_set_int64) (struct config_setting_t *setting, int64 value);
int (*setting_set_float) (struct config_setting_t *setting, double value);
int (*setting_set_bool) (struct config_setting_t *setting, int value);
int (*setting_set_string) (struct config_setting_t *setting, const char *value);
@@ -69,12 +69,12 @@ struct libconfig_interface {
short (*setting_get_format) (const struct config_setting_t *setting);
int (*setting_get_int_elem) (const struct config_setting_t *setting, int idx);
- long long (*setting_get_int64_elem) (const struct config_setting_t *setting, int idx);
+ int64 (*setting_get_int64_elem) (const struct config_setting_t *setting, int idx);
double (*setting_get_float_elem) (const struct config_setting_t *setting, int idx);
int (*setting_get_bool_elem) (const struct config_setting_t *setting, int idx);
const char * (*setting_get_string_elem) (const struct config_setting_t *setting, int idx);
struct config_setting_t * (*setting_set_int_elem) (struct config_setting_t *setting, int idx, int value);
- struct config_setting_t * (*setting_set_int64_elem) (struct config_setting_t *setting, int idx, long long value);
+ struct config_setting_t * (*setting_set_int64_elem) (struct config_setting_t *setting, int idx, int64 value);
struct config_setting_t * (*setting_set_float_elem) (struct config_setting_t *setting, int idx, double value);
struct config_setting_t * (*setting_set_bool_elem) (struct config_setting_t *setting, int idx, int value);
struct config_setting_t * (*setting_set_string_elem) (struct config_setting_t *setting, int idx, const char *value);
@@ -93,7 +93,7 @@ struct libconfig_interface {
struct config_setting_t * (*lookup) (const struct config_t *config, const char *filepath);
int (*lookup_int) (const struct config_t *config, const char *filepath, int *value);
- int (*lookup_int64) (const struct config_t *config, const char *filepath, long long *value);
+ int (*lookup_int64) (const struct config_t *config, const char *filepath, int64 *value);
int (*lookup_float) (const struct config_t *config, const char *filepath, double *value);
int (*lookup_bool) (const struct config_t *config, const char *filepath, int *value);
int (*lookup_string) (const struct config_t *config, const char *filepath, const char **value);
diff --git a/src/common/console.c b/src/common/console.c
index f1b4523e2..0f79b9494 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -68,7 +68,8 @@ struct {
/*======================================
* CORE : Display title
*--------------------------------------*/
-void display_title(void) {
+void display_title(void)
+{
const char *vcstype = sysinfo->vcstype();
ShowMessage("\n");
@@ -99,7 +100,7 @@ void display_title(void) {
*/
void display_gplnotice(void)
{
- ShowInfo("Hercules, Copyright (C) 2012-2015, Hercules Dev Team and others.\n");
+ ShowInfo("Hercules, Copyright (C) 2012-2016, Hercules Dev Team and others.\n");
ShowInfo("Licensed under the GNU General Public License, version 3 or later.\n");
}
@@ -130,21 +131,24 @@ int console_parse_key_pressed(void)
/**
* Stops server
**/
-CPCMD_C(exit,server) {
+CPCMD_C(exit, server)
+{
core->runflag = 0;
}
/**
* Displays ERS-related statistics (Entry Reusage System)
**/
-CPCMD_C(ers_report,server) {
+CPCMD_C(ers_report, server)
+{
ers_report();
}
/**
* Displays memory usage
**/
-CPCMD_C(mem_report,server) {
+CPCMD_C(mem_report, server)
+{
#ifdef USE_MEMMGR
memmgr_report(line?atoi(line):0);
#endif
@@ -171,7 +175,8 @@ CPCMD(help)
* [Ind/Hercules]
* Displays current malloc usage
*/
-CPCMD_C(malloc_usage,server) {
+CPCMD_C(malloc_usage, server)
+{
unsigned int val = (unsigned int)iMalloc->usage();
ShowInfo("malloc_usage: %.2f MB\n",(double)(val)/1024);
}
@@ -180,7 +185,8 @@ CPCMD_C(malloc_usage,server) {
* Skips an sql update
* Usage: sql update skip UPDATE-FILE.sql
**/
-CPCMD_C(skip,update) {
+CPCMD_C(skip, update)
+{
if( !line ) {
ShowDebug("usage example: sql update skip 2013-02-14--16-15.sql\n");
return;
@@ -311,6 +317,7 @@ void console_parse_create(char *name, CParseFunc func)
char sublist[CP_CMD_LENGTH * 5];
struct CParseEntry *cmd;
+ nullpo_retv(name);
safestrncpy(sublist, name, CP_CMD_LENGTH * 5);
tok = strtok(sublist,":");
@@ -364,6 +371,7 @@ void console_parse_list_subs(struct CParseEntry *cmd, unsigned char depth)
{
int i;
char msg[CP_CMD_LENGTH * 2];
+ nullpo_retv(cmd);
Assert_retv(cmd->type == CPET_CATEGORY);
for (i = 0; i < VECTOR_LENGTH(cmd->u.children); i++) {
struct CParseEntry *child = VECTOR_INDEX(cmd->u.children, i);
@@ -391,6 +399,7 @@ void console_parse_sub(char *line)
char sublist[CP_CMD_LENGTH * 5];
int i;
+ nullpo_retv(line);
memcpy(bline, line, 200);
tok = strtok(line, " ");
@@ -444,9 +453,12 @@ void console_parse_sub(char *line)
}
ShowError("Is only a category, type '"CL_WHITE"%s help"CL_RESET"' to list its subcommands\n",sublist);
}
-void console_parse(char* line) {
+
+void console_parse(char *line)
+{
int c, i = 0, len = MAX_CONSOLE_INPUT - 1;/* we leave room for the \0 :P */
+ nullpo_retv(line);
while( (c = fgetc(stdin)) != EOF ) {
if( --len == 0 )
break;
@@ -458,7 +470,9 @@ void console_parse(char* line) {
line[i++] = '\0';
}
-void *cThread_main(void *x) {
+
+void *cThread_main(void *x)
+{
while( console->input->ptstate ) {/* loopx */
if( console->input->key_pressed() ) {
char input[MAX_CONSOLE_INPUT];
@@ -483,7 +497,9 @@ void *cThread_main(void *x) {
return NULL;
}
-int console_parse_timer(int tid, int64 tick, int id, intptr_t data) {
+
+int console_parse_timer(int tid, int64 tick, int id, intptr_t data)
+{
int i;
EnterSpinLock(console->input->ptlock);
for(i = 0; i < cinput.count; i++) {
@@ -494,7 +510,9 @@ int console_parse_timer(int tid, int64 tick, int id, intptr_t data) {
mutex->cond_signal(console->input->ptcond);
return 0;
}
-void console_parse_final(void) {
+
+void console_parse_final(void)
+{
if( console->input->ptstate ) {
InterlockedDecrement(&console->input->ptstate);
mutex->cond_signal(console->input->ptcond);
@@ -506,7 +524,9 @@ void console_parse_final(void) {
mutex->destroy(console->input->ptmutex);
}
}
-void console_parse_init(void) {
+
+void console_parse_init(void)
+{
cinput.count = 0;
console->input->ptstate = 1;
@@ -524,6 +544,7 @@ void console_parse_init(void) {
timer->add_func_list(console->input->parse_timer, "console_parse_timer");
timer->add_interval(timer->gettick() + 1000, console->input->parse_timer, 0, 0, 500);/* start listening in 1s; re-try every 0.5s */
}
+
void console_setSQL(struct Sql *SQL_handle)
{
console->input->SQL = SQL_handle;
diff --git a/src/common/core.c b/src/common/core.c
index 63123dfea..74c63a6d6 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -100,7 +100,8 @@ struct core_interface *core = &core_s;
#ifndef POSIX
#define compat_signal(signo, func) signal((signo), (func))
#else
-sigfunc *compat_signal(int signo, sigfunc *func) {
+sigfunc *compat_signal(int signo, sigfunc *func)
+{
struct sigaction sact, oact;
sact.sa_handler = func;
@@ -121,7 +122,8 @@ sigfunc *compat_signal(int signo, sigfunc *func) {
* CORE : Console events for Windows
*--------------------------------------*/
#ifdef _WIN32
-static BOOL WINAPI console_handler(DWORD c_event) {
+static BOOL WINAPI console_handler(DWORD c_event)
+{
switch(c_event) {
case CTRL_CLOSE_EVENT:
case CTRL_LOGOFF_EVENT:
@@ -137,7 +139,8 @@ static BOOL WINAPI console_handler(DWORD c_event) {
return TRUE;
}
-static void cevents_init(void) {
+static void cevents_init(void)
+{
if (SetConsoleCtrlHandler(console_handler,TRUE)==FALSE)
ShowWarning ("Unable to install the console handler!\n");
}
@@ -146,7 +149,8 @@ static void cevents_init(void) {
/*======================================
* CORE : Signal Sub Function
*--------------------------------------*/
-static void sig_proc(int sn) {
+static void sig_proc(int sn)
+{
static int is_called = 0;
switch (sn) {
@@ -179,7 +183,8 @@ static void sig_proc(int sn) {
}
}
-void signals_init (void) {
+void signals_init (void)
+{
compat_signal(SIGTERM, sig_proc);
compat_signal(SIGINT, sig_proc);
#ifndef _DEBUG // need unhandled exceptions to debug on Windows
@@ -245,7 +250,8 @@ bool usercheck(void)
return true;
}
-void core_defaults(void) {
+void core_defaults(void)
+{
nullpo_defaults();
#ifndef MINICORE
hpm_defaults();
@@ -271,16 +277,20 @@ void core_defaults(void) {
thread_defaults();
#endif
}
+
/**
* Returns the source (core or plugin name) for the given command-line argument
*/
-const char *cmdline_arg_source(struct CmdlineArgData *arg) {
+const char *cmdline_arg_source(struct CmdlineArgData *arg)
+{
#ifdef MINICORE
return "core";
#else // !MINICORE
+ nullpo_retr(NULL, arg);
return HPM->pid2name(arg->pluginID);
#endif // MINICORE
}
+
/**
* Defines a command line argument.
*
@@ -292,9 +302,11 @@ const char *cmdline_arg_source(struct CmdlineArgData *arg) {
* @param options options associated to the command-line argument. @see enum cmdline_options.
* @return the success status.
*/
-bool cmdline_arg_add(unsigned int pluginID, const char *name, char shortname, CmdlineExecFunc func, const char *help, unsigned int options) {
+bool cmdline_arg_add(unsigned int pluginID, const char *name, char shortname, CmdlineExecFunc func, const char *help, unsigned int options)
+{
struct CmdlineArgData *data = NULL;
+ nullpo_retr(false, name);
VECTOR_ENSURE(cmdline->args_data, 1, 1);
VECTOR_PUSHZEROED(cmdline->args_data);
data = &VECTOR_LAST(cmdline->args_data);
@@ -310,6 +322,7 @@ bool cmdline_arg_add(unsigned int pluginID, const char *name, char shortname, Cm
return true;
}
+
/**
* Help screen to be displayed by '--help'.
*/
@@ -333,6 +346,7 @@ static CMDLINEARG(help)
}
return false;
}
+
/**
* Info screen to be displayed by '--version'.
*/
@@ -343,6 +357,7 @@ static CMDLINEARG(version)
ShowInfo("Open "CL_WHITE"readme.txt"CL_RESET" for more information.\n");
return false;
}
+
/**
* Checks if there is a value available for the current argument
*
@@ -360,6 +375,7 @@ bool cmdline_arg_next_value(const char *name, int current_arg, int argc)
return true;
}
+
/**
* Executes the command line arguments handlers.
*
@@ -381,6 +397,8 @@ bool cmdline_arg_next_value(const char *name, int current_arg, int argc)
int cmdline_exec(int argc, char **argv, unsigned int options)
{
int count = 0, i;
+
+ nullpo_ret(argv);
for (i = 1; i < argc; i++) {
int j;
struct CmdlineArgData *data = NULL;
@@ -423,6 +441,7 @@ int cmdline_exec(int argc, char **argv, unsigned int options)
}
return count;
}
+
/**
* Defines the global command-line arguments.
*/
@@ -466,10 +485,12 @@ void cmdline_defaults(void)
cmdline->arg_next_value = cmdline_arg_next_value;
cmdline->arg_source = cmdline_arg_source;
}
+
/*======================================
* CORE : MAINROUTINE
*--------------------------------------*/
-int main (int argc, char **argv) {
+int main (int argc, char **argv)
+{
int retval = EXIT_SUCCESS;
{// initialize program arguments
char *p1 = SERVER_NAME = argv[0];
diff --git a/src/common/core.h b/src/common/core.h
index 4aaa6cfac..a8726fcef 100644
--- a/src/common/core.h
+++ b/src/common/core.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/db.c b/src/common/db.c
index bbcac4b33..91592fdac 100644
--- a/src/common/db.c
+++ b/src/common/db.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -93,6 +93,7 @@
#include "common/ers.h"
#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/nullpo.h"
#include "common/showmsg.h"
#include "common/strlib.h"
@@ -2418,6 +2419,7 @@ enum DBOptions db_fix_options(enum DBType type, enum DBOptions options)
default:
ShowError("db_fix_options: Unknown database type %u with options %x\n", type, options);
+ FALLTHROUGH
case DB_STRING:
case DB_ISTRING: // String databases, no fix required
return options;
@@ -2794,7 +2796,8 @@ void *db_data2ptr(struct DBData *data)
* @public
* @see #db_final(void)
*/
-void db_init(void) {
+void db_init(void)
+{
db_iterator_ers = ers_new(sizeof(struct DBIterator_impl),"db.c::db_iterator_ers",ERS_OPT_CLEAN|ERS_OPT_FLEX_CHUNK);
db_alloc_ers = ers_new(sizeof(struct DBMap_impl),"db.c::db_alloc_ers",ERS_OPT_CLEAN|ERS_OPT_FLEX_CHUNK);
ers_chunk_size(db_alloc_ers, 50);
@@ -2906,7 +2909,7 @@ void db_final(void)
}
// Link DB System - jAthena
-void linkdb_insert( struct linkdb_node** head, void *key, void* data)
+void linkdb_insert(struct linkdb_node **head, void *key, void *data)
{
struct linkdb_node *node;
if( head == NULL ) return ;
@@ -2927,7 +2930,8 @@ void linkdb_insert( struct linkdb_node** head, void *key, void* data)
node->data = data;
}
-void linkdb_vforeach( struct linkdb_node** head, LinkDBFunc func, va_list ap) {
+void linkdb_vforeach(struct linkdb_node **head, LinkDBFunc func, va_list ap)
+{
struct linkdb_node *node;
if( head == NULL ) return;
node = *head;
@@ -2940,14 +2944,15 @@ void linkdb_vforeach( struct linkdb_node** head, LinkDBFunc func, va_list ap) {
}
}
-void linkdb_foreach( struct linkdb_node** head, LinkDBFunc func, ...) {
+void linkdb_foreach(struct linkdb_node **head, LinkDBFunc func, ...)
+{
va_list ap;
va_start(ap, func);
linkdb_vforeach(head, func, ap);
va_end(ap);
}
-void* linkdb_search( struct linkdb_node** head, void *key)
+void* linkdb_search(struct linkdb_node **head, void *key)
{
int n = 0;
struct linkdb_node *node;
@@ -2972,7 +2977,7 @@ void* linkdb_search( struct linkdb_node** head, void *key)
return NULL;
}
-void* linkdb_erase( struct linkdb_node** head, void *key)
+void* linkdb_erase(struct linkdb_node **head, void *key)
{
struct linkdb_node *node;
if( head == NULL ) return NULL;
@@ -2994,7 +2999,7 @@ void* linkdb_erase( struct linkdb_node** head, void *key)
return NULL;
}
-void linkdb_replace( struct linkdb_node** head, void *key, void *data )
+void linkdb_replace(struct linkdb_node **head, void *key, void *data)
{
int n = 0;
struct linkdb_node *node;
@@ -3021,7 +3026,7 @@ void linkdb_replace( struct linkdb_node** head, void *key, void *data )
linkdb_insert( head, key, data );
}
-void linkdb_final( struct linkdb_node** head )
+void linkdb_final(struct linkdb_node **head)
{
struct linkdb_node *node, *node2;
if( head == NULL ) return ;
@@ -3033,7 +3038,9 @@ void linkdb_final( struct linkdb_node** head )
}
*head = NULL;
}
-void db_defaults(void) {
+
+void db_defaults(void)
+{
DB = &DB_s;
DB->alloc = db_alloc;
DB->custom_release = db_custom_release;
@@ -3054,5 +3061,4 @@ void db_defaults(void) {
DB->ui2key = db_ui2key;
DB->i642key = db_i642key;
DB->ui642key = db_ui642key;
-
}
diff --git a/src/common/db.h b/src/common/db.h
index 1c0955221..2918e5acb 100644
--- a/src/common/db.h
+++ b/src/common/db.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -1114,7 +1114,11 @@ HPShared struct db_interface *DB;
* @param _vec Vector.
*/
#define VECTOR_INIT(_vec) \
- memset(&(_vec), 0, sizeof(_vec))
+ do { \
+ VECTOR_DATA(_vec) = NULL; \
+ VECTOR_CAPACITY(_vec) = 0; \
+ VECTOR_LENGTH(_vec) = 0; \
+ } while(false)
/**
* Returns the internal array of values.
@@ -1220,12 +1224,11 @@ HPShared struct db_interface *DB;
*/
#define VECTOR_ENSURE(_vec, _n, _step) \
do { \
- int _empty_ = VECTOR_CAPACITY(_vec)-VECTOR_LENGTH(_vec); \
- if ((_n) > _empty_) { \
- while ((_n) > _empty_) \
- _empty_ += (_step); \
- VECTOR_RESIZE(_vec, _empty_+VECTOR_LENGTH(_vec)); \
- } \
+ int _newcapacity_ = VECTOR_CAPACITY(_vec); \
+ while ((_n) + VECTOR_LENGTH(_vec) > _newcapacity_) \
+ _newcapacity_ += (_step); \
+ if (_newcapacity_ > VECTOR_CAPACITY(_vec)) \
+ VECTOR_RESIZE(_vec, _newcapacity_); \
} while(false)
/**
diff --git a/src/common/des.c b/src/common/des.c
index c680610e9..73297ab70 100644
--- a/src/common/des.c
+++ b/src/common/des.c
@@ -23,6 +23,7 @@
#include "des.h"
#include "common/cbasetypes.h"
+#include "common/nullpo.h"
/** @file
* Implementation of the des interface.
@@ -54,6 +55,7 @@ static void des_IP(struct des_bit64 *src)
struct des_bit64 tmp = {{0}};
int i;
+ nullpo_retv(src);
for(i = 0; i < ARRAYLENGTH(ip_table); ++i) {
uint8_t j = ip_table[i] - 1;
if (src->b[(j >> 3) & 7] & mask[j & 7])
@@ -81,6 +83,7 @@ static void des_FP(struct des_bit64 *src)
struct des_bit64 tmp = {{0}};
int i;
+ nullpo_retv(src);
for (i = 0; i < ARRAYLENGTH(fp_table); ++i) {
uint8_t j = fp_table[i] - 1;
if (src->b[(j >> 3) & 7] & mask[j & 7])
@@ -119,6 +122,7 @@ static void des_E(struct des_bit64 *src)
tmp.b[i / 6 + 0] |= mask[i % 6];
}
#endif
+ nullpo_retv(src);
// optimized
tmp.b[0] = ((src->b[7]<<5) | (src->b[4]>>3)) & 0x3f; // ..0 vutsr
tmp.b[1] = ((src->b[4]<<1) | (src->b[5]>>7)) & 0x3f; // ..srqpo n
@@ -150,6 +154,7 @@ static void des_TP(struct des_bit64 *src)
struct des_bit64 tmp = {{0}};
int i;
+ nullpo_retv(src);
for (i = 0; i < ARRAYLENGTH(tp_table); ++i) {
uint8_t j = tp_table[i] - 1;
if (src->b[(j >> 3) + 0] & mask[j & 7])
@@ -194,6 +199,7 @@ static void des_SBOX(struct des_bit64 *src)
struct des_bit64 tmp = {{0}};
int i;
+ nullpo_retv(src);
for (i = 0; i < ARRAYLENGTH(s_table); ++i) {
tmp.b[i] = (s_table[i][src->b[i*2+0]] & 0xf0)
| (s_table[i][src->b[i*2+1]] & 0x0f);
@@ -214,6 +220,7 @@ static void des_RoundFunction(struct des_bit64 *src)
des_SBOX(&tmp);
des_TP(&tmp);
+ nullpo_retv(src);
src->b[0] ^= tmp.b[4];
src->b[1] ^= tmp.b[5];
src->b[2] ^= tmp.b[6];
diff --git a/src/common/ers.c b/src/common/ers.c
index 8970fefc2..f2256cf30 100644
--- a/src/common/ers.c
+++ b/src/common/ers.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -149,7 +149,8 @@ static struct ers_instance_t *InstanceList = NULL;
/**
* @param Options the options from the instance seeking a cache, we use it to give it a cache with matching configuration
**/
-static ers_cache_t *ers_find_cache(unsigned int size, enum ERSOptions Options) {
+static ers_cache_t *ers_find_cache(unsigned int size, enum ERSOptions Options)
+{
ers_cache_t *cache;
for (cache = CacheList; cache; cache = cache->Next)
@@ -187,6 +188,7 @@ static void ers_free_cache(ers_cache_t *cache, bool remove)
{
unsigned int i;
+ nullpo_retv(cache);
for (i = 0; i < cache->Used; i++)
aFree(cache->Blocks[i]);
@@ -307,7 +309,8 @@ static void ers_obj_destroy(ERS *self)
aFree(instance);
}
-void ers_cache_size(ERS *self, unsigned int new_size) {
+void ers_cache_size(ERS *self, unsigned int new_size)
+{
struct ers_instance_t *instance = (struct ers_instance_t *)self;
nullpo_retv(instance);
@@ -319,10 +322,11 @@ void ers_cache_size(ERS *self, unsigned int new_size) {
instance->Cache->ChunkSize = new_size;
}
-
ERS *ers_new(uint32 size, char *name, enum ERSOptions options)
{
struct ers_instance_t *instance;
+
+ nullpo_retr(NULL, name);
CREATE(instance,struct ers_instance_t, 1);
size += sizeof(struct ers_list);
@@ -359,7 +363,8 @@ ERS *ers_new(uint32 size, char *name, enum ERSOptions options)
return &instance->VTable;
}
-void ers_report(void) {
+void ers_report(void)
+{
ers_cache_t *cache;
unsigned int cache_c = 0, blocks_u = 0, blocks_a = 0, memory_b = 0, memory_t = 0;
#ifdef DEBUG
@@ -403,7 +408,8 @@ void ers_report(void) {
/**
* Call on shutdown to clear remaining entries
**/
-void ers_final(void) {
+void ers_final(void)
+{
struct ers_instance_t *instance = InstanceList, *next;
while( instance ) {
diff --git a/src/common/ers.h b/src/common/ers.h
index 1689345dc..5f9516ad6 100644
--- a/src/common/ers.h
+++ b/src/common/ers.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/grfio.c b/src/common/grfio.c
index 0a9708f17..fba3dda86 100644
--- a/src/common/grfio.c
+++ b/src/common/grfio.c
@@ -86,11 +86,13 @@ struct grfio_interface *grfio;
// little endian char array to uint conversion
static unsigned int getlong(unsigned char *p)
{
+ nullpo_ret(p);
return (p[0] << 0 | p[1] << 8 | p[2] << 16 | p[3] << 24);
}
static void NibbleSwap(unsigned char *src, int len)
{
+ nullpo_retv(src);
while (len > 0) {
*src = (*src >> 4) | (*src << 4);
++src;
@@ -135,6 +137,7 @@ static void grf_shuffle_enc(struct des_bit64 *src)
{
struct des_bit64 out;
+ nullpo_retv(src);
out.b[0] = src->b[3];
out.b[1] = src->b[4];
out.b[2] = src->b[5];
@@ -152,6 +155,7 @@ static void grf_shuffle_dec(struct des_bit64 *src)
{
struct des_bit64 out;
+ nullpo_retv(src);
out.b[0] = src->b[3];
out.b[1] = src->b[4];
out.b[2] = src->b[6];
@@ -175,6 +179,7 @@ static void grf_decode_header(unsigned char *buf, size_t len)
struct des_bit64 *p = (struct des_bit64 *)buf;
size_t nblocks = len / sizeof(struct des_bit64);
size_t i;
+ nullpo_retv(buf);
// first 20 blocks are all des-encrypted
for (i = 0; i < 20 && i < nblocks; ++i)
@@ -197,6 +202,7 @@ static void grf_decode_full(unsigned char *buf, size_t len, int cycle)
int dcycle, scycle;
size_t i, j;
+ nullpo_retv(buf);
// first 20 blocks are all des-encrypted
for (i = 0; i < 20 && i < nblocks; ++i)
des->decrypt_block(&p[i]);
@@ -314,6 +320,7 @@ static void hashinit(void)
static int grf_filehash(const char *fname)
{
uint32 hash = 0;
+ nullpo_ret(fname);
while (*fname != '\0') {
hash = (hash<<1) + (hash>>7)*9 + TOLOWER(*fname);
fname++;
@@ -396,7 +403,9 @@ static struct grf_filelist *grfio_filelist_add(struct grf_filelist *entry)
*/
static struct grf_filelist *grfio_filelist_modify(struct grf_filelist *entry)
{
- struct grf_filelist *fentry = grfio_filelist_find(entry->fn);
+ struct grf_filelist *fentry;
+ nullpo_retr(NULL, entry);
+ fentry = grfio_filelist_find(entry->fn);
if (fentry != NULL) {
int tmp = fentry->next;
memcpy(fentry, entry, sizeof(struct grf_filelist));
@@ -434,6 +443,7 @@ static void grfio_localpath_create(char *buffer, size_t size, const char *filena
int i;
size_t len;
+ nullpo_retv(buffer);
len = strlen(data_dir);
if (data_dir[0] == '\0' || data_dir[len-1] == '/' || data_dir[len-1] == '\\')
@@ -553,6 +563,7 @@ void *grfio_reads(const char *fname, int *size)
static char *grfio_decode_filename(unsigned char *buf, int len)
{
int i;
+ nullpo_retr(NULL, buf);
for (i = 0; i < len; i += 8) {
NibbleSwap(&buf[i],8);
des->decrypt(&buf[i],8);
@@ -568,7 +579,9 @@ static char *grfio_decode_filename(unsigned char *buf, int len)
*/
static bool grfio_is_full_encrypt(const char *fname)
{
- const char *ext = strrchr(fname, '.');
+ const char *ext;
+ nullpo_retr(false, fname);
+ ext = strrchr(fname, '.');
if (ext != NULL) {
static const char *extensions[] = { ".gnd", ".gat", ".act", ".str" };
int i;
@@ -594,8 +607,10 @@ static int grfio_entryread(const char *grfname, int gentry)
unsigned char grf_header[0x2e] = { 0 };
int entry,entrys,ofs,grf_version;
unsigned char *grf_filelist;
+ FILE *fp;
- FILE *fp = fopen(grfname, "rb");
+ nullpo_retr(1, grfname);
+ fp = fopen(grfname, "rb");
if (fp == NULL) {
ShowWarning("GRF data file not found: '%s'\n", grfname);
return 1; // 1:not found error
@@ -764,6 +779,7 @@ static bool grfio_parse_restable_row(const char *row)
char local[256];
struct grf_filelist *entry = NULL;
+ nullpo_retr(false, row);
if (sscanf(row, "%255[^#\r\n]#%255[^#\r\n]#", w1, w2) != 2)
return false;
@@ -854,6 +870,7 @@ static void grfio_resourcecheck(void)
*/
static int grfio_add(const char *fname)
{
+ nullpo_retr(1, fname);
if (gentry_entrys >= gentry_maxentry) {
#define GENTRY_ADDS 4 // The number increment of gentry_table entries
gentry_maxentry += GENTRY_ADDS;
@@ -899,6 +916,7 @@ void grfio_init(const char *fname)
FILE *data_conf;
int grf_num = 0;
+ nullpo_retv(fname);
hashinit(); // hash table initialization
data_conf = fopen(fname, "r");
diff --git a/src/common/mapindex.c b/src/common/mapindex.c
index 5b0f6169b..e16eb4216 100644
--- a/src/common/mapindex.c
+++ b/src/common/mapindex.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -25,6 +25,7 @@
#include "common/cbasetypes.h"
#include "common/db.h"
#include "common/mmo.h"
+#include "common/nullpo.h"
#include "common/showmsg.h"
#include "common/strlib.h"
@@ -37,11 +38,14 @@ struct mapindex_interface *mapindex;
/// Retrieves the map name from 'string' (removing .gat extension if present).
/// Result gets placed either into 'buf' or in a static local buffer.
-const char* mapindex_getmapname(const char* string, char* output) {
+const char* mapindex_getmapname(const char* string, char* output)
+{
static char buf[MAP_NAME_LENGTH];
char* dest = (output != NULL) ? output : buf;
- size_t len = strnlen(string, MAP_NAME_LENGTH_EXT);
+ size_t len;
+ nullpo_retr(buf, string);
+ len = strnlen(string, MAP_NAME_LENGTH_EXT);
if (len == MAP_NAME_LENGTH_EXT) {
ShowWarning("(mapindex_normalize_name) Map name '%*s' is too long!\n", 2*MAP_NAME_LENGTH_EXT, string);
len--;
@@ -58,12 +62,15 @@ const char* mapindex_getmapname(const char* string, char* output) {
/// Retrieves the map name from 'string' (adding .gat extension if not already present).
/// Result gets placed either into 'buf' or in a static local buffer.
-const char* mapindex_getmapname_ext(const char* string, char* output) {
+const char* mapindex_getmapname_ext(const char* string, char* output)
+{
static char buf[MAP_NAME_LENGTH_EXT];
char* dest = (output != NULL) ? output : buf;
size_t len;
+ nullpo_retr(buf, string);
+
safestrncpy(buf,string, sizeof(buf));
sscanf(string, "%*[^#]%*[#]%15s", buf);
@@ -87,7 +94,8 @@ const char* mapindex_getmapname_ext(const char* string, char* output) {
/// Adds a map to the specified index
/// Returns 1 if successful, 0 otherwise
-int mapindex_addmap(int index, const char* name) {
+int mapindex_addmap(int index, const char* name)
+{
char map_name[MAP_NAME_LENGTH];
if (index == -1){
@@ -128,7 +136,8 @@ int mapindex_addmap(int index, const char* name) {
return index;
}
-unsigned short mapindex_name2id(const char* name) {
+unsigned short mapindex_name2id(const char* name)
+{
int i;
char map_name[MAP_NAME_LENGTH];
@@ -141,7 +150,8 @@ unsigned short mapindex_name2id(const char* name) {
return 0;
}
-const char *mapindex_id2name_sub(uint16 id, const char *file, int line, const char *func) {
+const char *mapindex_id2name_sub(uint16 id, const char *file, int line, const char *func)
+{
if (id >= MAX_MAPINDEX || !mapindex_exists(id)) {
ShowDebug("mapindex_id2name: Requested name for non-existant map index [%d] in cache. %s:%s:%d\n", id,file,func,line);
return mapindex->list[0].name; // dummy empty string so that the callee doesn't crash
@@ -149,7 +159,8 @@ const char *mapindex_id2name_sub(uint16 id, const char *file, int line, const ch
return mapindex->list[id].name;
}
-int mapindex_init(void) {
+int mapindex_init(void)
+{
FILE *fp;
char line[1024];
int last_index = -1;
@@ -196,16 +207,20 @@ bool mapindex_check_default(void)
return true;
}
-void mapindex_removemap(int index){
+void mapindex_removemap(int index)
+{
+ Assert_retv(index < MAX_MAPINDEX);
strdb_remove(mapindex->db, mapindex->list[index].name);
mapindex->list[index].name[0] = '\0';
}
-void mapindex_final(void) {
+void mapindex_final(void)
+{
db_destroy(mapindex->db);
}
-void mapindex_defaults(void) {
+void mapindex_defaults(void)
+{
mapindex = &mapindex_s;
/* TODO: place it in inter-server.conf? */
diff --git a/src/common/mapindex.h b/src/common/mapindex.h
index 0ebbeb04b..91f59aeaf 100644
--- a/src/common/mapindex.h
+++ b/src/common/mapindex.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/memmgr.c b/src/common/memmgr.c
index dfea24465..b80b4d4e9 100644
--- a/src/common/memmgr.c
+++ b/src/common/memmgr.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/memmgr.h b/src/common/memmgr.h
index 680947466..6381c5bfa 100644
--- a/src/common/memmgr.h
+++ b/src/common/memmgr.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -101,8 +101,10 @@ struct malloc_interface {
void malloc_defaults(void);
void memmgr_report(int extra);
-#endif // HERCULES_CORE
HPShared struct malloc_interface *iMalloc;
+#else
+#define iMalloc HPMi->memmgr
+#endif // HERCULES_CORE
#endif /* COMMON_MEMMGR_H */
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 77f706f0d..93151d3ca 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -131,7 +131,7 @@
#define MAX_FAME 1000000000
#define MAX_CART 100
#ifndef MAX_SKILL
-#define MAX_SKILL 1478
+#define MAX_SKILL 1510
#endif
#ifndef MAX_SKILL_ID
#define MAX_SKILL_ID 10015 // [Ind/Hercules] max used skill ID
@@ -993,6 +993,8 @@ enum {
JOB_OBORO,
JOB_REBELLION = 4215,
+ JOB_SUMMONER = 4218,
+
#ifndef JOB_MAX
JOB_MAX,
#endif
diff --git a/src/common/mutex.c b/src/common/mutex.c
index bdc2fb4dc..464a54161 100644
--- a/src/common/mutex.c
+++ b/src/common/mutex.c
@@ -24,6 +24,7 @@
#include "common/cbasetypes.h" // for WIN32
#include "common/memmgr.h"
+#include "common/nullpo.h"
#include "common/showmsg.h"
#include "common/timer.h"
@@ -84,6 +85,7 @@ struct mutex_data *mutex_create(void)
/// @copydoc mutex_interface::destroy()
void mutex_destroy(struct mutex_data *m)
{
+ nullpo_retv(m);
#ifdef WIN32
DeleteCriticalSection(&m->hMutex);
#else
@@ -96,6 +98,7 @@ void mutex_destroy(struct mutex_data *m)
/// @copydoc mutex_interface::lock()
void mutex_lock(struct mutex_data *m)
{
+ nullpo_retv(m);
#ifdef WIN32
EnterCriticalSection(&m->hMutex);
#else
@@ -106,6 +109,7 @@ void mutex_lock(struct mutex_data *m)
/// @copydoc mutex_interface::trylock()
bool mutex_trylock(struct mutex_data *m)
{
+ nullpo_retr(false, m);
#ifdef WIN32
if (TryEnterCriticalSection(&m->hMutex) != FALSE)
return true;
@@ -119,6 +123,7 @@ bool mutex_trylock(struct mutex_data *m)
/// @copydoc mutex_interface::unlock()
void mutex_unlock(struct mutex_data *m)
{
+ nullpo_retv(m);
#ifdef WIN32
LeaveCriticalSection(&m->hMutex);
#else
@@ -152,6 +157,7 @@ struct cond_data *cond_create(void)
/// @copydoc mutex_interface::cond_destroy()
void cond_destroy(struct cond_data *c)
{
+ nullpo_retv(c);
#ifdef WIN32
CloseHandle(c->events[EVENT_COND_SIGNAL]);
CloseHandle(c->events[EVENT_COND_BROADCAST]);
@@ -171,6 +177,7 @@ void cond_wait(struct cond_data *c, struct mutex_data *m, sysint timeout_ticks)
int result;
bool is_last = false;
+ nullpo_retv(c);
EnterCriticalSection(&c->waiters_lock);
c->nWaiters++;
LeaveCriticalSection(&c->waiters_lock);
@@ -201,6 +208,7 @@ void cond_wait(struct cond_data *c, struct mutex_data *m, sysint timeout_ticks)
mutex->lock(m);
#else
+ nullpo_retv(m);
if (timeout_ticks < 0) {
pthread_cond_wait(&c->hCond, &m->hMutex);
} else {
@@ -221,6 +229,7 @@ void cond_signal(struct cond_data *c)
#ifdef WIN32
# if 0
bool has_waiters = false;
+ nullpo_retv(c);
EnterCriticalSection(&c->waiters_lock);
if(c->nWaiters > 0)
has_waiters = true;
@@ -230,6 +239,7 @@ void cond_signal(struct cond_data *c)
# endif // 0
SetEvent(c->events[EVENT_COND_SIGNAL]);
#else
+ nullpo_retv(c);
pthread_cond_signal(&c->hCond);
#endif
}
@@ -240,6 +250,7 @@ void cond_broadcast(struct cond_data *c)
#ifdef WIN32
# if 0
bool has_waiters = false;
+ nullpo_retv(c);
EnterCriticalSection(&c->waiters_lock);
if(c->nWaiters > 0)
has_waiters = true;
@@ -249,6 +260,7 @@ void cond_broadcast(struct cond_data *c)
# endif // 0
SetEvent(c->events[EVENT_COND_BROADCAST]);
#else
+ nullpo_retv(c);
pthread_cond_broadcast(&c->hCond);
#endif
}
diff --git a/src/common/nullpo.c b/src/common/nullpo.c
index 5b1be14ea..6525793bf 100644
--- a/src/common/nullpo.c
+++ b/src/common/nullpo.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/nullpo.h b/src/common/nullpo.h
index 098e669f3..28d058dc0 100644
--- a/src/common/nullpo.h
+++ b/src/common/nullpo.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/showmsg.c b/src/common/showmsg.c
index d8864684d..23679e762 100644
--- a/src/common/showmsg.c
+++ b/src/common/showmsg.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/showmsg.h b/src/common/showmsg.h
index 303c8dd28..eee6b467b 100644
--- a/src/common/showmsg.h
+++ b/src/common/showmsg.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/socket.c b/src/common/socket.c
index cee2875d5..d4b8bb43f 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -520,7 +520,8 @@ void flush_fifos(void)
/*======================================
* CORE : Connection functions
*--------------------------------------*/
-int connect_client(int listen_fd) {
+int connect_client(int listen_fd)
+{
int fd;
struct sockaddr_in client_address;
socklen_t len;
@@ -647,7 +648,8 @@ int make_listen_bind(uint32 ip, uint16 port)
return fd;
}
-int make_connection(uint32 ip, uint16 port, struct hSockOpt *opt) {
+int make_connection(uint32 ip, uint16 port, struct hSockOpt *opt)
+{
struct sockaddr_in remote_address = { 0 };
int fd;
int result;
@@ -817,9 +819,12 @@ int rfifoskip(int fd, size_t len)
int wfifoset(int fd, size_t len)
{
size_t newreserve;
- struct socket_data* s = sockt->session[fd];
+ struct socket_data* s;
- if (!sockt->session_is_valid(fd) || s->wdata == NULL)
+ if (!sockt->session_is_valid(fd))
+ return 0;
+ s = sockt->session[fd];
+ if (s == NULL || s->wdata == NULL)
return 0;
// we have written len bytes to the buffer already before calling WFIFOSET
@@ -892,13 +897,12 @@ int do_sockets(int next)
#ifdef SEND_SHORTLIST
send_shortlist_do_sends();
#else // SEND_SHORTLIST
- for (i = 1; i < sockt->fd_max; i++)
- {
- if(!sockt->session[fd]
+ for (i = 1; i < sockt->fd_max; i++) {
+ if (sockt->session[i] == NULL)
continue;
- if(sockt->session[fd]>wdata_size)
- sockt->session[fd]>func_send(i);
+ if (sockt->session[i]->wdata_size > 0)
+ sockt->session[i]->func_send(i);
}
#endif // SEND_SHORTLIST
@@ -1019,10 +1023,6 @@ int do_sockets(int next)
}
}
-#ifdef __clang_analyzer__
- // Let Clang's static analyzer know this never happens (it thinks it might because of a NULL check in session_is_valid)
- if (!sockt->session[i]) continue;
-#endif // __clang_analyzer__
sockt->session[i]->func_parse(i);
if(!sockt->session[i])
@@ -1200,7 +1200,8 @@ static int connect_check_(uint32 ip)
/// Timer function.
/// Deletes old connection history records.
-static int connect_check_clear(int tid, int64 tick, int id, intptr_t data) {
+static int connect_check_clear(int tid, int64 tick, int id, intptr_t data)
+{
int clear = 0;
int list = 0;
struct connect_history *hist = NULL;
@@ -1236,6 +1237,9 @@ int access_ipmask(const char *str, struct access_control *acc)
uint32 ip;
uint32 mask;
+ nullpo_ret(str);
+ nullpo_ret(acc);
+
if( strcmp(str,"all") == 0 ) {
ip = 0;
mask = 0;
@@ -1737,9 +1741,11 @@ bool session_is_active(int fd)
}
// Resolves hostname into a numeric ip.
-uint32 host2ip(const char* hostname)
+uint32 host2ip(const char *hostname)
{
- struct hostent* h = gethostbyname(hostname);
+ struct hostent* h;
+ nullpo_ret(hostname);
+ h = gethostbyname(hostname);
return (h != NULL) ? ntohl(*(uint32*)h->h_addr) : 0;
}
@@ -1772,7 +1778,8 @@ uint16 ntows(uint16 netshort)
}
/* [Ind/Hercules] - socket_datasync */
-void socket_datasync(int fd, bool send) {
+void socket_datasync(int fd, bool send)
+{
struct {
unsigned int length;/* short is not enough for some */
} data_list[] = {
@@ -2056,7 +2063,8 @@ void socket_net_config_read(const char *filename)
return;
}
-void socket_defaults(void) {
+void socket_defaults(void)
+{
sockt = &sockt_s;
sockt->fd_max = 0;
diff --git a/src/common/socket.h b/src/common/socket.h
index 947ea8d3e..e3a309f20 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/sql.c b/src/common/sql.c
index be0bd43e3..c80edbce4 100644
--- a/src/common/sql.c
+++ b/src/common/sql.c
@@ -144,6 +144,7 @@ int Sql_GetColumnNames(struct Sql *self, const char *table, char *out_buf, size_
size_t len;
size_t off = 0;
+ nullpo_retr(SQL_ERROR, out_buf);
if( self == NULL || SQL_ERROR == SQL->Query(self, "EXPLAIN `%s`", table) )
return SQL_ERROR;
@@ -377,7 +378,8 @@ void Sql_ShowDebug_(struct Sql *self, const char *debug_file, const unsigned lon
}
/// Frees a Sql handle returned by Sql_Malloc.
-void Sql_Free(struct Sql *self) {
+void Sql_Free(struct Sql *self)
+{
if( self )
{
SQL->FreeResult(self);
@@ -414,6 +416,7 @@ static enum enum_field_types Sql_P_SizeToMysqlIntType(int sz)
/// @private
static int Sql_P_BindSqlDataType(MYSQL_BIND* bind, enum SqlDataType buffer_type, void* buffer, size_t buffer_len, unsigned long* out_length, int8* out_is_null)
{
+ nullpo_retr(SQL_ERROR, bind);
memset(bind, 0, sizeof(MYSQL_BIND));
switch( buffer_type )
{
@@ -422,39 +425,48 @@ static int Sql_P_BindSqlDataType(MYSQL_BIND* bind, enum SqlDataType buffer_type,
break;
// fixed size
case SQLDT_UINT8: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_INT8: bind->buffer_type = MYSQL_TYPE_TINY;
buffer_len = 1;
break;
case SQLDT_UINT16: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_INT16: bind->buffer_type = MYSQL_TYPE_SHORT;
buffer_len = 2;
break;
case SQLDT_UINT32: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_INT32: bind->buffer_type = MYSQL_TYPE_LONG;
buffer_len = 4;
break;
case SQLDT_UINT64: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_INT64: bind->buffer_type = MYSQL_TYPE_LONGLONG;
buffer_len = 8;
break;
// platform dependent size
case SQLDT_UCHAR: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_CHAR: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(char));
buffer_len = sizeof(char);
break;
case SQLDT_USHORT: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_SHORT: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(short));
buffer_len = sizeof(short);
break;
case SQLDT_UINT: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_INT: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(int));
buffer_len = sizeof(int);
break;
case SQLDT_ULONG: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_LONG: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(long));
buffer_len = sizeof(long);
break;
case SQLDT_ULONGLONG: bind->is_unsigned = 1;
+ FALLTHROUGH
case SQLDT_LONGLONG: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(int64));
buffer_len = sizeof(int64);
break;
@@ -485,7 +497,8 @@ static int Sql_P_BindSqlDataType(MYSQL_BIND* bind, enum SqlDataType buffer_type,
/// Prints debug information about a field (type and length).
///
/// @private
-static void Sql_P_ShowDebugMysqlFieldInfo(const char* prefix, enum enum_field_types type, int is_unsigned, unsigned long length, const char* length_postfix) {
+static void Sql_P_ShowDebugMysqlFieldInfo(const char* prefix, enum enum_field_types type, int is_unsigned, unsigned long length, const char* length_postfix)
+{
const char *sign = (is_unsigned ? "UNSIGNED " : "");
const char *type_string = NULL;
switch (type) {
@@ -526,6 +539,7 @@ static void SqlStmt_P_ShowDebugTruncatedColumn(struct SqlStmt *self, size_t i)
MYSQL_FIELD* field;
MYSQL_BIND* column;
+ nullpo_retv(self);
meta = mysql_stmt_result_metadata(self->stmt);
field = mysql_fetch_field_direct(meta, (unsigned int)i);
ShowSQL("DB error - data of field '%s' was truncated.\n", field->name);
@@ -655,8 +669,8 @@ int SqlStmt_BindParam(struct SqlStmt *self, size_t idx, enum SqlDataType buffer_
if (idx >= self->max_params)
return SQL_SUCCESS; // out of range - ignore
-PRAGMA_GCC45(GCC diagnostic push)
-PRAGMA_GCC45(GCC diagnostic ignored "-Wcast-qual")
+PRAGMA_GCC46(GCC diagnostic push)
+PRAGMA_GCC46(GCC diagnostic ignored "-Wcast-qual")
/*
* MySQL uses the same struct with a non-const buffer for both
* parameters (input) and columns (output).
@@ -664,7 +678,7 @@ PRAGMA_GCC45(GCC diagnostic ignored "-Wcast-qual")
* dropping a const qualifier here.
*/
return Sql_P_BindSqlDataType(self->params+idx, buffer_type, (void *)buffer, buffer_len, NULL, NULL);
-PRAGMA_GCC45(GCC diagnostic pop)
+PRAGMA_GCC46(GCC diagnostic pop)
}
/// Executes the prepared statement.
@@ -865,8 +879,10 @@ void SqlStmt_Free(struct SqlStmt *self)
aFree(self);
}
}
+
/* receives mysql error codes during runtime (not on first-time-connects) */
-void hercules_mysql_error_handler(unsigned int ecode) {
+void hercules_mysql_error_handler(unsigned int ecode)
+{
switch( ecode ) {
case 2003:/* Can't connect to MySQL (this error only happens here when failing to reconnect) */
if( mysql_reconnect_type == 1 ) {
@@ -1032,10 +1048,13 @@ void Sql_HerculesUpdateSkip(struct Sql *self, const char *filename)
return;
}
-void Sql_Init(void) {
+void Sql_Init(void)
+{
Sql_inter_server_read("conf/common/inter-server.conf", false); // FIXME: Hardcoded path
}
-void sql_defaults(void) {
+
+void sql_defaults(void)
+{
SQL = &sql_s;
SQL->Connect = Sql_Connect;
diff --git a/src/common/strlib.c b/src/common/strlib.c
index b67adb63c..75ce2a272 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -629,6 +629,7 @@ int sv_parse(const char* str, int len, int startoff, char delim, int* out_pos, i
svstate.delim = delim;
svstate.done = false;
svstate.start = 0;
+ svstate.end = 0;
// parse
count = 0;
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index aeb8d8e71..3c7e25a0c 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -31,6 +31,7 @@
#include "common/cbasetypes.h"
#include "common/core.h"
#include "common/memmgr.h"
+#include "common/nullpo.h"
#include "common/strlib.h"
#include <stdio.h> // fopen
@@ -237,11 +238,13 @@ enum windows_ver_suite {
* @retval true if a revision was correctly detected.
* @retval false if no revision was detected. out is set to NULL in this case.
*/
-bool sysinfo_svn_get_revision(char **out) {
+bool sysinfo_svn_get_revision(char **out)
+{
// Only include SVN support if detected it, or we're on MSVC
#if !defined(SYSINFO_VCSTYPE) || SYSINFO_VCSTYPE == VCSTYPE_SVN || SYSINFO_VCSTYPE == VCSTYPE_UNKNOWN
FILE *fp;
+ nullpo_ret(out);
// subversion 1.7 uses a sqlite3 database
// FIXME this is hackish at best...
// - ignores database file structure
@@ -291,6 +294,8 @@ bool sysinfo_svn_get_revision(char **out) {
if (*out != NULL)
return true;
}
+#else
+ nullpo_ret(out);
#endif
if (*out != NULL)
aFree(*out);
@@ -305,11 +310,13 @@ bool sysinfo_svn_get_revision(char **out) {
* @retval true if a revision was correctly detected.
* @retval false if no revision was detected. out is set to NULL in this case.
*/
-bool sysinfo_git_get_revision(char **out) {
+bool sysinfo_git_get_revision(char **out)
+{
// Only include Git support if we detected it, or we're on MSVC
#if !defined(SYSINFO_VCSTYPE) || SYSINFO_VCSTYPE == VCSTYPE_GIT || SYSINFO_VCSTYPE == VCSTYPE_UNKNOWN
char ref[128], filepath[128], line[128];
+ nullpo_ret(out);
strcpy(ref, "HEAD");
while (*ref) {
@@ -334,6 +341,7 @@ bool sysinfo_git_get_revision(char **out) {
if (*out != NULL)
return true;
#else
+ nullpo_ret(out);
if (*out != NULL)
aFree(*out);
*out = NULL;
@@ -351,7 +359,8 @@ typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD);
*
* Once retrieved, the version string is stored into sysinfo->p->osversion.
*/
-void sysinfo_osversion_retrieve(void) {
+void sysinfo_osversion_retrieve(void)
+{
OSVERSIONINFOEX osvi;
StringBuf buf;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
@@ -602,7 +611,8 @@ typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
* System info is not stored anywhere after retrieval
* @see http://msdn.microsoft.com/en-us/library/windows/desktop/ms724958(v=vs.85).aspx
**/
-void sysinfo_systeminfo_retrieve( LPSYSTEM_INFO info ) {
+void sysinfo_systeminfo_retrieve(LPSYSTEM_INFO info)
+{
PGNSI pGNSI;
// Call GetNativeSystemInfo if supported or GetSystemInfo otherwise.
@@ -619,7 +629,8 @@ void sysinfo_systeminfo_retrieve( LPSYSTEM_INFO info ) {
* Returns number of bytes in a memory page
* Only needed when compiling with MSVC
**/
-long sysinfo_getpagesize( void ) {
+long sysinfo_getpagesize(void)
+{
SYSTEM_INFO si;
ZeroMemory(&si, sizeof(SYSTEM_INFO));
@@ -633,7 +644,8 @@ long sysinfo_getpagesize( void ) {
* Once retrieved, the name is stored into sysinfo->p->cpu and the
* number of cores in sysinfo->p->cpucores.
*/
-void sysinfo_cpu_retrieve(void) {
+void sysinfo_cpu_retrieve(void)
+{
StringBuf buf;
SYSTEM_INFO si;
ZeroMemory(&si, sizeof(SYSTEM_INFO));
@@ -669,7 +681,8 @@ void sysinfo_cpu_retrieve(void) {
*
* Once retrieved, the name is stored into sysinfo->p->arch.
*/
-void sysinfo_arch_retrieve(void) {
+void sysinfo_arch_retrieve(void)
+{
SYSTEM_INFO si;
ZeroMemory(&si, sizeof(SYSTEM_INFO));
@@ -697,7 +710,8 @@ void sysinfo_arch_retrieve(void) {
*
* Once retrieved, the value is stored in sysinfo->p->vcsrevision_src.
*/
-void sysinfo_vcsrevision_src_retrieve(void) {
+void sysinfo_vcsrevision_src_retrieve(void)
+{
if (sysinfo->p->vcsrevision_src != NULL) {
aFree(sysinfo->p->vcsrevision_src);
sysinfo->p->vcsrevision_src = NULL;
@@ -721,7 +735,8 @@ void sysinfo_vcsrevision_src_retrieve(void) {
*
* Once retrieved, the value is stored in sysinfo->p->vcstype_name.
*/
-void sysinfo_vcstype_name_retrieve(void) {
+void sysinfo_vcstype_name_retrieve(void)
+{
if (sysinfo->p->vcstype_name != NULL) {
aFree(sysinfo->p->vcstype_name);
sysinfo->p->vcstype_name = NULL;
@@ -750,7 +765,8 @@ void sysinfo_vcstype_name_retrieve(void) {
*
* Output example: "Linux", "Darwin", "Windows", etc.
*/
-const char *sysinfo_platform(void) {
+const char *sysinfo_platform(void)
+{
return sysinfo->p->platform;
}
@@ -768,7 +784,8 @@ const char *sysinfo_platform(void) {
* Output example: "Windows 2008 Small Business Server", "OS X 10.8 Mountain Lion",
* "Gentoo Base System Release 2.2", "Debian GNU/Linux 6.0.6 (squeeze)", etc.
*/
-const char *sysinfo_osversion(void) {
+const char *sysinfo_osversion(void)
+{
return sysinfo->p->osversion;
}
@@ -787,7 +804,8 @@ const char *sysinfo_osversion(void) {
* "Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz", "Intel Core i7",
* "x86 CPU, Family 6, Model 54, Stepping 1", etc.
*/
-const char *sysinfo_cpu(void) {
+const char *sysinfo_cpu(void)
+{
return sysinfo->p->cpu;
}
@@ -800,7 +818,8 @@ const char *sysinfo_cpu(void) {
*
* @return the number of CPU cores.
*/
-int sysinfo_cpucores(void) {
+int sysinfo_cpucores(void)
+{
return sysinfo->p->cpucores;
}
@@ -817,7 +836,8 @@ int sysinfo_cpucores(void) {
*
* Output example: "x86", "x86_64", "IA-64", "ARM", etc.
*/
-const char *sysinfo_arch(void) {
+const char *sysinfo_arch(void)
+{
return sysinfo->p->arch;
}
@@ -827,7 +847,8 @@ const char *sysinfo_arch(void) {
* @retval true if this is a 64 bit build.
* @retval false if this isn't a 64 bit build (i.e. it is a 32 bit build).
*/
-bool sysinfo_is64bit(void) {
+bool sysinfo_is64bit(void)
+{
#ifdef _LP64
return true;
#else
@@ -845,7 +866,8 @@ bool sysinfo_is64bit(void) {
* Output example: "Microsoft Visual C++ 2012 (v170050727)",
* "Clang v5.0.0", "MinGW32 v3.20", "GCC v4.7.3", etc.
*/
-const char *sysinfo_compiler(void) {
+const char *sysinfo_compiler(void)
+{
return sysinfo->p->compiler;
}
@@ -860,7 +882,8 @@ const char *sysinfo_compiler(void) {
*
* Output example: "-ggdb -O2 -flto -pipe -ffast-math ..."
*/
-const char *sysinfo_cflags(void) {
+const char *sysinfo_cflags(void)
+{
return sysinfo->p->cflags;
}
@@ -875,7 +898,8 @@ const char *sysinfo_cflags(void) {
*
* @see VCSTYPE_NONE, VCSTYPE_GIT, VCSTYPE_SVN, VCSTYPE_UNKNOWN
*/
-int sysinfo_vcstypeid(void) {
+int sysinfo_vcstypeid(void)
+{
return sysinfo->p->vcstype;
}
@@ -892,7 +916,8 @@ int sysinfo_vcstypeid(void) {
*
* Output example: "Git", "SVN", "Exported"
*/
-const char *sysinfo_vcstype(void) {
+const char *sysinfo_vcstype(void)
+{
return sysinfo->p->vcstype_name;
}
@@ -910,7 +935,8 @@ const char *sysinfo_vcstype(void) {
*
* Output example: Git: "9128feccf3bddda94a7f8a170305565416815b40", SVN: "17546"
*/
-const char *sysinfo_vcsrevision_src(void) {
+const char *sysinfo_vcsrevision_src(void)
+{
return sysinfo->p->vcsrevision_src;
}
@@ -926,7 +952,8 @@ const char *sysinfo_vcsrevision_src(void) {
*
* Output example: Git: "9128feccf3bddda94a7f8a170305565416815b40", SVN: "17546"
*/
-const char *sysinfo_vcsrevision_scripts(void) {
+const char *sysinfo_vcsrevision_scripts(void)
+{
return sysinfo->p->vcsrevision_scripts;
}
@@ -934,7 +961,8 @@ const char *sysinfo_vcsrevision_scripts(void) {
* Reloads the run-time (scripts) VCS revision information. To be used during
* script reloads to refresh the cached version.
*/
-void sysinfo_vcsrevision_reload(void) {
+void sysinfo_vcsrevision_reload(void)
+{
if (sysinfo->p->vcsrevision_scripts != NULL) {
aFree(sysinfo->p->vcsrevision_scripts);
sysinfo->p->vcsrevision_scripts = NULL;
@@ -956,7 +984,8 @@ void sysinfo_vcsrevision_reload(void) {
* @retval false if the current process is running as regular user, or
* in any case under Windows.
*/
-bool sysinfo_is_superuser(void) {
+bool sysinfo_is_superuser(void)
+{
#ifndef _WIN32
if (geteuid() == 0)
return true;
@@ -967,7 +996,8 @@ bool sysinfo_is_superuser(void) {
/**
* Interface runtime initialization.
*/
-void sysinfo_init(void) {
+void sysinfo_init(void)
+{
sysinfo->p->compiler = SYSINFO_COMPILER;
#ifdef WIN32
sysinfo->p->platform = "Windows";
@@ -993,7 +1023,8 @@ void sysinfo_init(void) {
/**
* Interface shutdown cleanup.
*/
-void sysinfo_final(void) {
+void sysinfo_final(void)
+{
#ifdef WIN32
// Only need to be free'd in win32, they're #defined elsewhere
if (sysinfo->p->osversion)
@@ -1035,7 +1066,8 @@ static const char *sysinfo_time(void)
/**
* Interface default values initialization.
*/
-void sysinfo_defaults(void) {
+void sysinfo_defaults(void)
+{
sysinfo = &sysinfo_s;
memset(&sysinfo_p, '\0', sizeof(sysinfo_p));
sysinfo->p = &sysinfo_p;
diff --git a/src/common/timer.c b/src/common/timer.c
index 0b28f6a06..4f2b86a32 100644
--- a/src/common/timer.c
+++ b/src/common/timer.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -258,10 +258,6 @@ int64 timer_gettick(void) {
/// Adds a timer to the timer_heap
static void push_timer_heap(int tid) {
BHEAP_ENSURE(timer_heap, 1, 256);
-#ifdef __clang_analyzer__ // Clang's static analyzer warns that BHEAP_ENSURE might set BHEAP_DATA(timer_heap) to NULL.
-#include "assert.h"
- assert(BHEAP_DATA(timer_heap) != NULL);
-#endif // __clang_analyzer__
BHEAP_PUSH(timer_heap, tid, DIFFTICK_MINTOPCMP, swap);
}
diff --git a/src/common/timer.h b/src/common/timer.h
index 2161f5e31..88c891dff 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/utils.c b/src/common/utils.c
index 73df3aae1..bcfc153e3 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -54,6 +54,9 @@ void WriteDump(FILE* fp, const void* buffer, size_t length)
size_t i;
char hex[48+1], ascii[16+1];
+ nullpo_retv(fp);
+ nullpo_retv(buffer);
+
fprintf(fp, "--- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F 0123456789ABCDEF\n");
ascii[16] = 0;
@@ -78,10 +81,12 @@ void WriteDump(FILE* fp, const void* buffer, size_t length)
}
/// Dumps given buffer on the console.
-void ShowDump(const void *buffer, size_t length) {
+void ShowDump(const void *buffer, size_t length)
+{
size_t i;
char hex[48+1], ascii[16+1];
+ nullpo_retv(buffer);
ShowDebug("--- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F 0123456789ABCDEF\n");
ascii[16] = 0;
@@ -108,6 +113,7 @@ static char* checkpath(char *path, const char *srcpath)
{
// just make sure the char*path is not const
char *p = path;
+
if (NULL == path || NULL == srcpath)
return path;
while(*srcpath) {
@@ -400,7 +406,9 @@ int apply_percentrate(int value, int rate, int maxrate)
//-----------------------------------------------------
const char* timestamp2string(char* str, size_t size, time_t timestamp, const char* format)
{
- size_t len = strftime(str, size, format, localtime(&timestamp));
+ size_t len;
+ nullpo_retr(NULL, str);
+ len = strftime(str, size, format, localtime(&timestamp));
memset(str + len, '\0', size - len);
return str;
}
@@ -413,6 +421,7 @@ bool HCache_check(const char *file)
char s_path[255], dT[1];
time_t rtime;
+ nullpo_retr(false, file);
if (!(first = fopen(file,"rb")))
return false;
@@ -456,10 +465,14 @@ bool HCache_check(const char *file)
return true;
}
-FILE *HCache_open(const char *file, const char *opt) {
+FILE *HCache_open(const char *file, const char *opt)
+{
FILE *first;
char s_path[255];
+ nullpo_retr(NULL, file);
+ nullpo_retr(NULL, opt);
+
if( file[0] == '.' && file[1] == '/' )
file += 2;
else if( file[0] == '.' )
@@ -498,15 +511,19 @@ void HCache_init(void)
}
/* transit to fread, shields vs warn_unused_result */
-size_t hread(void * ptr, size_t size, size_t count, FILE * stream) {
+size_t hread(void *ptr, size_t size, size_t count, FILE *stream)
+{
return fread(ptr, size, count, stream);
}
+
/* transit to fwrite, shields vs warn_unused_result */
-size_t hwrite(const void * ptr, size_t size, size_t count, FILE * stream) {
+size_t hwrite(const void *ptr, size_t size, size_t count, FILE *stream)
+{
return fwrite(ptr, size, count, stream);
}
-void HCache_defaults(void) {
+void HCache_defaults(void)
+{
HCache = &HCache_s;
HCache->init = HCache_init;
diff --git a/src/common/utils.h b/src/common/utils.h
index c5f64124f..9d3c323ef 100644
--- a/src/common/utils.h
+++ b/src/common/utils.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/common/winapi.h b/src/common/winapi.h
index 724f052a0..b410e00cd 100644
--- a/src/common/winapi.h
+++ b/src/common/winapi.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/config/classes/general.h b/src/config/classes/general.h
index f1fa63179..330e6437e 100644
--- a/src/config/classes/general.h
+++ b/src/config/classes/general.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/config/const.h b/src/config/const.h
index 655f0f949..5c6b451db 100644
--- a/src/config/const.h
+++ b/src/config/const.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/config/core.h b/src/config/core.h
index afd138a43..bdc7f3eee 100644
--- a/src/config/core.h
+++ b/src/config/core.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/config/renewal.h b/src/config/renewal.h
index 67d216226..2b5a043d4 100644
--- a/src/config/renewal.h
+++ b/src/config/renewal.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/config/secure.h b/src/config/secure.h
index 3f1342b22..3d111be69 100644
--- a/src/config/secure.h
+++ b/src/config/secure.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/login/Makefile.in b/src/login/Makefile.in
index c74ed1e10..69cc6a897 100644
--- a/src/login/Makefile.in
+++ b/src/login/Makefile.in
@@ -47,7 +47,7 @@ LOGIN_PH = lclif.p.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- LOGIN_SERVER_SQL_DEPENDS=$(LOGIN_OBJ) $(COMMON_D)/obj_sql/common_sql.a $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ $(SYSINFO_INC))
+ LOGIN_SERVER_SQL_DEPENDS=$(LOGIN_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
else
LOGIN_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -106,8 +106,8 @@ login-server: ../../login-server@EXEEXT@
../../login-server@EXEEXT@: $(LOGIN_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o ../../login-server@EXEEXT@ $(LOGIN_OBJ) $(COMMON_D)/obj_sql/common_sql.a \
- $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o ../../login-server@EXEEXT@ $(LOGIN_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index 3c6a3f806..c01826bfb 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -57,7 +57,7 @@ MAP_PH =
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- MAP_SERVER_SQL_DEPENDS=$(MAP_OBJ) $(COMMON_D)/obj_sql/common_sql.a $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ $(SYSINFO_INC))
+ MAP_SERVER_SQL_DEPENDS=$(MAP_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
else
MAP_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -116,8 +116,8 @@ map-server: ../../map-server@EXEEXT@
../../map-server@EXEEXT@: $(MAP_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_OBJ) $(COMMON_D)/obj_sql/common_sql.a \
- $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index ef8be7807..35b3c382e 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/battle.c b/src/map/battle.c
index 01072702d..8c1a3f364 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -693,6 +693,7 @@ int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,in
#ifdef RENEWAL
if((skill_lv = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
damage += (skill_lv * 3);
+ FALLTHROUGH
#endif
case W_DAGGER:
if((skill_lv = pc->checkskill(sd,SM_SWORD)) > 0)
@@ -737,6 +738,7 @@ int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,in
if((skill_lv = pc->checkskill(sd,TK_RUN)) > 0)
damage += (skill_lv * 10);
// No break, fall through to Knuckles
+ FALLTHROUGH
case W_KNUCKLE:
if((skill_lv = pc->checkskill(sd,MO_IRONHAND)) > 0)
damage += (skill_lv * 3);
@@ -1664,8 +1666,29 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block
break;
#endif
/**
- * Arch Bishop
- **/
+ * Summoner
+ **/
+ case SU_BITE:
+ skillratio += 100;
+ break;
+ case SU_SCRATCH:
+ skillratio += -50 + 50 * skill_lv;
+ break;
+ case SU_SCAROFTAROU:
+ skillratio += -100 + 100 * skill_lv;
+ break;
+ case SU_PICKYPECK:
+ case SU_PICKYPECK_DOUBLE_ATK:
+ skillratio += 100 + 100 * skill_lv;
+ if ((status_get_max_hp(target) / 100) <= 50)
+ skillratio *= 2;
+ break;
+ case SU_LUNATICCARROTBEAT:
+ skillratio += 100 + 100 * skill_lv;
+ break;
+ /**
+ * Arch Bishop
+ **/
case AB_JUDEX:
skillratio = 300 + 20 * skill_lv;
RE_LVL_DMOD(100);
@@ -1884,6 +1907,12 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block
pc->del_charm(sd, sd->charm_count, sd->charm_type);
}
break;
+ case SU_SV_STEMSPEAR:
+ skillratio += 600;
+ break;
+ case SU_CN_METEOR:
+ skillratio += 100 + 100 * skill_lv;
+ break;
default:
battle->calc_skillratio_magic_unknown(&attack_type, src, target, &skill_id, &skill_lv, &skillratio, &flag);
break;
@@ -3005,6 +3034,7 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
case W_WHIP:
if(!t_sd->state.arrow_atk)
break;
+ FALLTHROUGH
case W_BOW:
case W_REVOLVER:
case W_RIFLE:
@@ -3065,6 +3095,9 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
damage -= 50 * damage / 100;//50% reduction to physical ranged attacks
}
+ if (sc->data[SC_SU_STOOP])
+ damage -= damage * 90 / 100;
+
// Compressed code, fixed by map.h [Epoque]
if (src->type == BL_MOB) {
const struct mob_data *md = BL_UCCAST(BL_MOB, src);
@@ -3173,6 +3206,19 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
status_change_end(bl, SC_KYRIE, INVALID_TIMER);
}
+ if ((sce = sc->data[SC_TUNAPARTY]) != NULL && damage > 0) {
+ clif->specialeffect(bl, 336, AREA);
+ sce->val2 -= (int)cap_value(damage, INT_MIN, INT_MAX);
+ if (sce->val2 >= 0) {
+ damage = 0;
+ } else {
+ damage = -sce->val2;
+ }
+ if (sce->val2 <= 0) {
+ status_change_end(bl, SC_TUNAPARTY, INVALID_TIMER);
+ }
+ }
+
if( sc->data[SC_MEIKYOUSISUI] && rnd()%100 < 40 ) // custom value
damage = 0;
@@ -3673,6 +3719,12 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
//Damage calculation from iRO wiki. [Jobbie]
ad.damage = status->get_lv(src) * 10 + sstatus->int_;
break;
+ /**
+ * Summoner
+ */
+ case SU_SV_ROOTTWIST_ATK:
+ ad.damage = 100;
+ break;
default: {
unsigned int skillratio = 100; //Skill dmg modifiers.
MATK_ADD( status->get_matk(src, 2) );
@@ -4256,7 +4308,9 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
switch( skill_id ) {
case RA_FIRINGTRAP:
case RA_ICEBOUNDTRAP:
- if( md.damage == 1 ) break;
+ if (md.damage == 1)
+ break;
+ FALLTHROUGH
case RA_CLUSTERBOMB:
{
struct Damage wd;
@@ -4556,16 +4610,19 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
wd.div_ = 5;
break;
}
+ FALLTHROUGH
case 4:
if( chance < 7){// 6 % chance to attack 4 times.
wd.div_ = 4;
break;
}
+ FALLTHROUGH
case 3:
if( chance < 10){// 9 % chance to attack 3 times.
wd.div_ = 3;
break;
}
+ FALLTHROUGH
case 2:
case 1:
if( chance < 13){// 12 % chance to attack 2 times.
@@ -4619,6 +4676,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if(!(sc && sc->data[SC_AUTOCOUNTER]))
break;
status_change_end(src, SC_AUTOCOUNTER, INVALID_TIMER);
+ FALLTHROUGH
case KN_AUTOCOUNTER:
if(battle_config.auto_counter_type &&
(battle_config.auto_counter_type&src->type))
@@ -5074,7 +5132,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
wd.damage = battle->calc_masteryfix(src, target, skill_id, skill_lv, wd.damage, wd.div_, 0, flag.weapon);
wd.damage = battle->calc_cardfix2(src, target, wd.damage, s_ele, nk, wd.flag);
}
- /* Fall through */
+ FALLTHROUGH
#endif
default:
ATK_RATE(battle->calc_skillratio(BF_WEAPON, src, target, skill_id, skill_lv, skillratio, wflag));
@@ -5190,8 +5248,16 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if (hd != NULL)
ATK_ADD(hd->homunculus.spiritball * 3);
}
+ if ((wd.flag&(BF_LONG|BF_MAGIC)) == BF_LONG) {
+ if (sd != NULL && pc->checkskill(sd, SU_POWEROFLIFE) > 0) {
+ if (pc->checkskill(sd, SU_SCAROFTAROU) == 5 && pc->checkskill(sd, SU_PICKYPECK) == 5 && pc->checkskill(sd, SU_ARCLOUSEDASH) == 5 && pc->checkskill(sd, SU_LUNATICCARROTBEAT) == 5) {
+ ATK_ADDRATE(20);
+ }
+ }
+ }
}
+
switch (skill_id) {
case AS_SONICBLOW:
if (sc && sc->data[SC_SOULLINK] &&
@@ -5254,6 +5320,9 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if( sc && sc->data[SC_MTF_RANGEATK] )
ATK_ADDRATE(sc->data[SC_MTF_RANGEATK]->val1);// temporary it should be 'bonus.long_attack_atk_rate'
#endif
+ if (sc != NULL && sc->data[SC_ARCLOUSEDASH] != NULL && sc->data[SC_ARCLOUSEDASH]->val4 != 0) {
+ ATK_ADDRATE(sc->data[SC_ARCLOUSEDASH]->val4);
+ }
if( (i=pc->checkskill(sd,AB_EUCHARISTICA)) > 0 &&
(tstatus->race == RC_DEMON || tstatus->def_ele == ELE_DARK) )
ATK_ADDRATE(-i);
@@ -5999,20 +6068,18 @@ int battle_damage_area(struct block_list *bl, va_list ap) {
if (bl->type == BL_MOB && BL_UCCAST(BL_MOB, bl)->class_ == MOBID_EMPELIUM)
return 0;
if( bl != src && battle->check_target(src,bl,BCT_ENEMY) > 0 ) {
- struct map_session_data *sd = NULL;
nullpo_ret(src);
map->freeblock_lock();
- sd = BL_CAST(BL_PC, src);
if (src->type == BL_PC)
- battle->drain(sd, bl, damage, damage, status_get_race(bl), is_boss(bl));
+ battle->drain(BL_UCAST(BL_PC, src), bl, damage, damage, status_get_race(bl), is_boss(bl));
if( amotion )
battle->delay_damage(tick, amotion,src,bl,0,CR_REFLECTSHIELD,0,damage,ATK_DEF,0,true);
else
status_fix_damage(src,bl,damage,0);
clif->damage(bl,bl,amotion,dmotion,damage,1,BDT_ENDURE,0);
- if (src->type != BL_PC || !sd->state.autocast)
+ if (src->type != BL_PC || !BL_UCCAST(BL_PC, src)->state.autocast)
skill->additional_effect(src, bl, CR_REFLECTSHIELD, 1, BF_WEAPON|BF_SHORT|BF_NORMAL,ATK_DEF,tick);
map->freeblock_unlock();
}
@@ -6546,6 +6613,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
case RK_DRAGONBREATH_WATER:
if( !map->list[m].flag.pvp && !map->list[m].flag.gvg )
break;
+ FALLTHROUGH
case 0://you can hit them without skills
case MA_REMOVETRAP:
case HT_REMOVETRAP:
@@ -7250,6 +7318,7 @@ static const struct battle_data {
{ "save_body_style", &battle_config.save_body_style, 0, 0, 1, },
{ "player_warp_keep_direction", &battle_config.player_warp_keep_direction, 0, 0, 1, },
{ "atcommand_levelup_events", &battle_config.atcommand_levelup_events, 0, 0, 1, },
+ { "max_summoner_parameter", &battle_config.max_summoner_parameter, 120, 10, 10000, },
};
#ifndef STATS_OPT_OUT
/**
diff --git a/src/map/battle.h b/src/map/battle.h
index ebfa0e305..7e7048a38 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -544,6 +544,8 @@ struct Battle_Config {
int player_warp_keep_direction;
int atcommand_levelup_events; // Enable atcommands trigger level up events for NPCs
+
+ int max_summoner_parameter; // Summoner Max Stats
};
/* criteria for battle_config.idletime_critera */
diff --git a/src/map/battleground.c b/src/map/battleground.c
index 5231ce3d2..4bb2b9b2e 100644
--- a/src/map/battleground.c
+++ b/src/map/battleground.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -862,11 +862,11 @@ enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, struct bg_
count++;
}
if ( count < arena->min_team_players ) {
- char response[117];
+ char response[121];
if( count != sd->guild->connect_member && sd->guild->connect_member >= arena->min_team_players )
- sprintf(response, "Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d",arena->min_team_players);
+ sprintf(response, "Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d", arena->min_team_players);
else
- sprintf(response, "Can't apply: not enough members in your team/guild, minimum is %d",arena->min_team_players);
+ sprintf(response, "Can't apply: not enough members in your team/guild, minimum is %d", arena->min_team_players);
clif->messagecolor_self(sd->fd, COLOR_RED, response);
return BGQA_FAIL_TEAM_COUNT;
}
@@ -894,9 +894,9 @@ enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, struct bg_
return BGQA_NOT_PARTY_GUILD_LEADER;
if( count < arena->min_team_players ) {
- char response[117];
+ char response[121];
if( count != p->party.count && p->party.count >= arena->min_team_players )
- sprintf(response, "Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d",arena->min_team_players);
+ sprintf(response, "Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d", arena->min_team_players);
else
sprintf(response, "Can't apply: not enough members in your team/party, minimum is %d",arena->min_team_players);
clif->messagecolor_self(sd->fd, COLOR_RED, response);
diff --git a/src/map/battleground.h b/src/map/battleground.h
index 4c3d4878f..6bd0f2c99 100644
--- a/src/map/battleground.h
+++ b/src/map/battleground.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/buyingstore.c b/src/map/buyingstore.c
index 58a1f925f..70e08a4b4 100644
--- a/src/map/buyingstore.c
+++ b/src/map/buyingstore.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -383,7 +383,7 @@ void buyingstore_trade(struct map_session_data* sd, int account_id, unsigned int
// notify clients
clif->buyingstore_delete_item(sd, index, amount, pl_sd->buyingstore.items[listidx].price);
- clif->buyingstore_update_item(pl_sd, nameid, amount);
+ clif->buyingstore_update_item(pl_sd, nameid, amount, sd->status.char_id, zeny);
}
if( map->save_settings&128 ) {
diff --git a/src/map/buyingstore.h b/src/map/buyingstore.h
index 1e277b7fa..b3756c39e 100644
--- a/src/map/buyingstore.h
+++ b/src/map/buyingstore.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/chat.c b/src/map/chat.c
index 145d44d1e..763d98f7a 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/chat.h b/src/map/chat.h
index af43d9703..bcdf674f7 100644
--- a/src/map/chat.h
+++ b/src/map/chat.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/chrif.c b/src/map/chrif.c
index d641c6dd3..6e567a402 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/chrif.h b/src/map/chrif.h
index 4a1e1da47..615521e0f 100644
--- a/src/map/chrif.h
+++ b/src/map/chrif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/clif.c b/src/map/clif.c
index ce88b32da..5d9802b57 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -1360,6 +1360,7 @@ void clif_spiritball_single(int fd, struct map_session_data *sd) {
*------------------------------------------*/
void clif_charm_single(int fd, struct map_session_data *sd)
{
+#if PACKETVER >= 20110809
nullpo_retv(sd);
WFIFOHEAD(fd, packet_len(0x08cf));
WFIFOW(fd,0) = 0x08cf;
@@ -1367,6 +1368,7 @@ void clif_charm_single(int fd, struct map_session_data *sd)
WFIFOW(fd,6) = sd->charm_type;
WFIFOW(fd,8) = sd->charm_count;
WFIFOSET(fd, packet_len(0x08cf));
+#endif
}
/*==========================================
@@ -1495,6 +1497,15 @@ void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag)
struct status_data *hstatus;
unsigned char buf[128];
enum homun_type htype;
+ int offset = 0;
+
+// probably can works also for < 20141223, but in 3CeaM packet size defined only for 20150513
+#if PACKETVER < 20150513
+ int cmd = 0x22e;
+#else
+ int cmd = 0x9f7;
+#endif
+ int len = packet_len(cmd);
nullpo_retv(sd);
nullpo_retv(hd);
@@ -1502,65 +1513,75 @@ void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag)
hstatus = &hd->battle_status;
htype = homun->class2type(hd->homunculus.class_);
- memset(buf,0,packet_len(0x22e));
- WBUFW(buf,0)=0x22e;
- memcpy(WBUFP(buf,2),hd->homunculus.name,NAME_LENGTH);
+ memset(buf, 0, len);
+ WBUFW(buf, 0) = cmd;
+ memcpy(WBUFP(buf, 2), hd->homunculus.name, NAME_LENGTH);
// Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
- WBUFB(buf,26)=(battle_config.hom_rename && hd->homunculus.rename_flag ? 0x1 : 0x0) | (hd->homunculus.vaporize == HOM_ST_REST ? 0x2 : 0) | (hd->homunculus.hp > 0 ? 0x4 : 0);
- WBUFW(buf,27)=hd->homunculus.level;
- WBUFW(buf,29)=hd->homunculus.hunger;
- WBUFW(buf,31)=(unsigned short) (hd->homunculus.intimacy / 100) ;
- WBUFW(buf,33)=0; // equip id
+ WBUFB(buf, 26) = (!battle_config.hom_rename && hd->homunculus.rename_flag ? 0x1 : 0x0) | (hd->homunculus.vaporize == HOM_ST_REST ? 0x2 : 0) | (hd->homunculus.hp > 0 ? 0x4 : 0);
+ WBUFW(buf, 27) = hd->homunculus.level;
+ WBUFW(buf, 29) = hd->homunculus.hunger;
+ WBUFW(buf, 31) = (unsigned short) (hd->homunculus.intimacy / 100) ;
+ WBUFW(buf, 33) = 0; // equip id
#ifdef RENEWAL
WBUFW(buf, 35) = cap_value(hstatus->rhw.atk2, 0, INT16_MAX);
#else
- WBUFW(buf,35)=cap_value(hstatus->rhw.atk2+hstatus->batk, 0, INT16_MAX);
+ WBUFW(buf,35) = cap_value(hstatus->rhw.atk2 + hstatus->batk, 0, INT16_MAX);
#endif
- WBUFW(buf,37)=cap_value(hstatus->matk_max, 0, INT16_MAX);
- WBUFW(buf,39)=hstatus->hit;
+ WBUFW(buf,37) = cap_value(hstatus->matk_max, 0, INT16_MAX);
+ WBUFW(buf,39) = hstatus->hit;
if (battle_config.hom_setting&0x10)
- WBUFW(buf,41)=hstatus->luk/3 + 1; //crit is a +1 decimal value! Just display purpose.[Vicious]
+ WBUFW(buf, 41) = hstatus->luk / 3 + 1; //crit is a +1 decimal value! Just display purpose.[Vicious]
else
- WBUFW(buf,41)=hstatus->cri/10;
+ WBUFW(buf, 41) = hstatus->cri / 10;
#ifdef RENEWAL
WBUFW(buf, 43) = hstatus->def + hstatus->def2;
WBUFW(buf, 45) = hstatus->mdef + hstatus->mdef2;
#else
- WBUFW(buf,43)=hstatus->def + hstatus->vit ;
+ WBUFW(buf, 43) =hstatus->def + hstatus->vit ;
WBUFW(buf, 45) = hstatus->mdef;
#endif
- WBUFW(buf,47)=hstatus->flee;
- WBUFW(buf,49)=(flag)?0:hstatus->amotion;
+ WBUFW(buf, 47) = hstatus->flee;
+ WBUFW(buf, 49) = (flag) ? 0 : hstatus->amotion;
+
+// probably can works also for < 20141223, but in 3CeaM packet size defined only for 20150513
+#if PACKETVER < 20150513
if (hstatus->max_hp > INT16_MAX) {
- WBUFW(buf,51) = hstatus->hp/(hstatus->max_hp/100);
- WBUFW(buf,53) = 100;
+ WBUFW(buf, 51) = hstatus->hp / (hstatus->max_hp / 100);
+ WBUFW(buf, 53) = 100;
} else {
- WBUFW(buf,51)=hstatus->hp;
- WBUFW(buf,53)=hstatus->max_hp;
+ WBUFW(buf, 51) = hstatus->hp;
+ WBUFW(buf, 53) = hstatus->max_hp;
}
+#else
+ WBUFL(buf, 51) = hstatus->hp;
+ WBUFL(buf, 55) = hstatus->max_hp;
+ offset = 4;
+#endif
+
if (hstatus->max_sp > INT16_MAX) {
- WBUFW(buf,55) = hstatus->sp/(hstatus->max_sp/100);
- WBUFW(buf,57) = 100;
+ WBUFW(buf, 55 + offset) = hstatus->sp / (hstatus->max_sp / 100);
+ WBUFW(buf, 57 + offset) = 100;
} else {
- WBUFW(buf,55)=hstatus->sp;
- WBUFW(buf,57)=hstatus->max_sp;
+ WBUFW(buf, 55 + offset) = hstatus->sp;
+ WBUFW(buf, 57 + offset) = hstatus->max_sp;
}
- WBUFL(buf,59)=hd->homunculus.exp;
- WBUFL(buf,63)=hd->exp_next;
- switch( htype ) {
+ WBUFL(buf, 59 + offset) = hd->homunculus.exp;
+ WBUFL(buf, 63 + offset) = hd->exp_next;
+ switch (htype) {
case HT_REG:
case HT_EVO:
- if( hd->homunculus.level >= battle_config.hom_max_level )
- WBUFL(buf,63)=0;
+ if (hd->homunculus.level >= battle_config.hom_max_level)
+ WBUFL(buf, 63 + offset) = 0;
break;
case HT_S:
- if( hd->homunculus.level >= battle_config.hom_S_max_level )
- WBUFL(buf,63)=0;
+ if (hd->homunculus.level >= battle_config.hom_S_max_level)
+ WBUFL(buf, 63 + offset) = 0;
break;
}
- WBUFW(buf,67)=hd->homunculus.skillpts;
- WBUFW(buf,69)=status_get_range(&hd->bl);
- clif->send(buf,packet_len(0x22e),&sd->bl,SELF);
+ WBUFW(buf, 67 + offset) = hd->homunculus.skillpts;
+ WBUFW(buf, 69 + offset) = status_get_range(&hd->bl);
+
+ clif->send(buf, len, &sd->bl, SELF);
}
/// Notification about a change in homunuculus' state (ZC_CHANGESTATE_MER).
@@ -3228,10 +3249,7 @@ void clif_changelook(struct block_list *bl,int type,int val)
#endif
break;
case LOOK_BODY2:
- if (val && (
- sd->sc.option&OPTION_WEDDING || sd->sc.option&OPTION_XMAS ||
- sd->sc.option&OPTION_SUMMER || sd->sc.option&OPTION_HANBOK ||
- sd->sc.option&OPTION_OKTOBERFEST))
+ if (sd != NULL && (sd->sc.option&OPTION_COSTUME) != OPTION_NOTHING)
val = 0;
vd->body_style = val;
break;
@@ -5208,33 +5226,46 @@ int clif_skill_damage2(struct block_list *src, struct block_list *dst, int64 tic
}
#endif // 0
-/// Non-damaging skill effect (ZC_USE_SKILL).
-/// 011a <skill id>.W <skill lv>.W <dst id>.L <src id>.L <result>.B
-int clif_skill_nodamage(struct block_list *src,struct block_list *dst,uint16 skill_id,int heal,int fail)
+/// Non-damaging skill effect.
+/// 011a <skill id>.W <skill lv>.W <dst id>.L <src id>.L <result>.B (ZC_USE_SKILL)
+/// 09cb <skill id>.W <skill lv>.L <dst id>.L <src id>.L <result>.B (ZC_USE_SKILL2)
+int clif_skill_nodamage(struct block_list *src, struct block_list *dst, uint16 skill_id, int heal, int fail)
{
unsigned char buf[32];
+ short offset = 0;
+#if PACKETVER < 20131223
+ short cmd = 0x11a;
+#else
+ short cmd = 0x9cb;
+#endif
+ int len = packet_len(cmd);
nullpo_ret(dst);
- WBUFW(buf,0)=0x11a;
- WBUFW(buf,2)=skill_id;
- WBUFW(buf,4)=min(heal, INT16_MAX);
- WBUFL(buf,6)=dst->id;
- WBUFL(buf,10)=src?src->id:0;
- WBUFB(buf,14)=fail;
+ WBUFW(buf, 0) = cmd;
+ WBUFW(buf, 2) = skill_id;
+#if PACKETVER < 20131223
+ WBUFW(buf, 4) = min(heal, INT16_MAX);
+#else
+ WBUFL(buf, 4) = min(heal, INT_MAX);
+ offset += 2;
+#endif
+ WBUFL(buf, 6 + offset) = dst->id;
+ WBUFL(buf, 10 + offset) = src ? src->id : 0;
+ WBUFB(buf, 14 + offset) = fail;
if (clif->isdisguised(dst)) {
- clif->send(buf,packet_len(0x11a),dst,AREA_WOS);
- WBUFL(buf,6)=-dst->id;
- clif->send(buf,packet_len(0x11a),dst,SELF);
+ clif->send(buf, len, dst, AREA_WOS);
+ WBUFL(buf, 6 + offset) = -dst->id;
+ clif->send(buf, len, dst, SELF);
} else
- clif->send(buf,packet_len(0x11a),dst,AREA);
+ clif->send(buf, len, dst, AREA);
if (src && clif->isdisguised(src)) {
- WBUFL(buf,10)=-src->id;
+ WBUFL(buf, 10 + offset) = -src->id;
if (clif->isdisguised(dst))
- WBUFL(buf,6)=dst->id;
- clif->send(buf,packet_len(0x11a),src,SELF);
+ WBUFL(buf, 6 + offset) = dst->id;
+ clif->send(buf, len, src, SELF);
}
return fail;
@@ -5708,13 +5739,24 @@ void clif_broadcast2(struct block_list *bl, const char *mes, int len, unsigned i
/// 5 = HP (SP_HP)
/// 7 = SP (SP_SP)
/// ? = ignored
-void clif_heal(int fd,int type,int val)
+void clif_heal(int fd, int type, int val)
{
- WFIFOHEAD(fd,packet_len(0x13d));
- WFIFOW(fd,0)=0x13d;
- WFIFOW(fd,2)=type;
- WFIFOW(fd,4)=cap_value(val,0,INT16_MAX);
- WFIFOSET(fd,packet_len(0x13d));
+#if PACKETVER < 20150513
+ short cmd = 0x13d;
+#else
+ short cmd = 0xa27;
+#endif
+ int len = packet_len(cmd);
+
+ WFIFOHEAD(fd, len);
+ WFIFOW(fd, 0) = cmd;
+ WFIFOW(fd, 2) = type;
+#if PACKETVER < 20150513
+ WFIFOW(fd, 4) = cap_value(val, 0, INT16_MAX);
+#else
+ WFIFOL(fd, 4) = cap_value(val, 0, INT_MAX);
+#endif
+ WFIFOSET(fd, len);
}
/// Displays resurrection effect (ZC_RESURRECTION).
@@ -6376,29 +6418,41 @@ void clif_openvending(struct map_session_data* sd, int id, struct s_vending* ven
}
WFIFOSET(fd,WFIFOW(fd,2));
-#if PACKETVER >= 20141022
+#if PACKETVER >= 20140625
/** should go elsewhere perhaps? it has to be bundled with this however. **/
- WFIFOHEAD(fd, 3);
+ WFIFOHEAD(fd, packet_len(0xa28));
WFIFOW(fd, 0) = 0xa28;
WFIFOB(fd, 2) = 0;/** 1 is failure. our current responses to failure are working so not yet implemented **/
- WFIFOSET(fd, 3);
+ WFIFOSET(fd, packet_len(0xa28));
#endif
}
-/// Inform merchant that someone has bought an item (ZC_DELETEITEM_FROM_MCSTORE).
-/// 0137 <index>.W <amount>.W
-void clif_vendingreport(struct map_session_data* sd, int index, int amount)
+/// Inform merchant that someone has bought an item.
+/// 0137 <index>.W <amount>.W (ZC_DELETEITEM_FROM_MCSTORE).
+/// 09e5 <index>.W <amount>.W <GID>.L <Date>.L <zeny>.L (ZC_DELETEITEM_FROM_MCSTORE2).
+void clif_vendingreport(struct map_session_data* sd, int index, int amount, uint32 char_id, int zeny)
{
int fd;
+#if PACKETVER < 20141016 // TODO : not sure for client date [Napster]
+ const int cmd = 0x137;
+#else
+ const int cmd = 0x9e5;
+#endif
+ const int len = packet_len(cmd);
nullpo_retv(sd);
fd = sd->fd;
- WFIFOHEAD(fd,packet_len(0x137));
- WFIFOW(fd,0) = 0x137;
- WFIFOW(fd,2) = index+2;
- WFIFOW(fd,4) = amount;
- WFIFOSET(fd,packet_len(0x137));
+ WFIFOHEAD(fd, len);
+ WFIFOW(fd, 0) = cmd;
+ WFIFOW(fd, 2) = index + 2;
+ WFIFOW(fd, 4) = amount;
+#if PACKETVER >= 20141016
+ WFIFOL(fd,6) = char_id; // GID
+ WFIFOL(fd,10) = (int)time(NULL); // Date
+ WFIFOL(fd,14) = zeny; // zeny
+#endif
+ WFIFOSET(fd, len);
}
/// Result of organizing a party (ZC_ACK_MAKE_GROUP).
@@ -7050,21 +7104,31 @@ void clif_devotion(struct block_list *src, struct map_session_data *tsd)
if( src->type == BL_MER )
{
struct mercenary_data *md = BL_CAST(BL_MER,src);
+ int skill_lvl;
if( md && md->master && md->devotion_flag )
WBUFL(buf,6) = md->master->bl.id;
- WBUFW(buf,26) = skill->get_range2(src, ML_DEVOTION, mercenary->checkskill(md, ML_DEVOTION));
+ skill_lvl = mercenary->checkskill(md, ML_DEVOTION);
+ if (skill_lvl > 0)
+ WBUFW(buf, 26) = skill->get_range2(src, ML_DEVOTION, skill_lvl);
+ else
+ WBUFW(buf, 26) = 0;
}
else
{
int i;
struct map_session_data *sd = BL_CAST(BL_PC,src);
+ int skill_lvl;
if( sd == NULL )
return;
for( i = 0; i < MAX_PC_DEVOTION; i++ )
WBUFL(buf,6+4*i) = sd->devotion[i];
- WBUFW(buf,26) = skill->get_range2(src, CR_DEVOTION, pc->checkskill(sd, CR_DEVOTION));
+ skill_lvl = pc->checkskill(sd, CR_DEVOTION);
+ if (skill_lvl > 0)
+ WBUFW(buf, 26) = skill->get_range2(src, CR_DEVOTION, skill_lvl);
+ else
+ WBUFW(buf, 26) = 0;
}
if( tsd )
@@ -9755,11 +9819,9 @@ void clif_parse_QuitGame(int fd, struct map_session_data *sd) __attribute__((non
void clif_parse_QuitGame(int fd, struct map_session_data *sd)
{
/* Rovert's prevent logout option fixed [Valaris] */
- if( !sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK] && !sd->sc.data[SC_CLOAKINGEXCEED] && !sd->sc.data[SC__INVISIBILITY] &&
- (!battle_config.prevent_logout || DIFF_TICK(timer->gettick(), sd->canlog_tick) > battle_config.prevent_logout) )
- {
+ if (!sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK] && !sd->sc.data[SC_CLOAKINGEXCEED] && !sd->sc.data[SC__INVISIBILITY] && !sd->sc.data[SC_SUHIDE] &&
+ (!battle_config.prevent_logout || DIFF_TICK(timer->gettick(), sd->canlog_tick) > battle_config.prevent_logout)) {
sockt->eof(fd);
-
clif->disconnect_ack(sd, 0);
} else {
clif->disconnect_ack(sd, 1);
@@ -9991,7 +10053,7 @@ void clif_parse_Emotion(int fd, struct map_session_data *sd)
{
int emoticon = RFIFOB(fd,packet_db[RFIFOW(fd,0)].pos[0]);
- if (battle_config.basic_skill_check == 0 || pc->checkskill(sd, NV_BASIC) >= 2) {
+ if (battle_config.basic_skill_check == 0 || pc->check_basicskill(sd, 2)) {
if (emoticon == E_MUTE) {// prevent use of the mute emote [Valaris]
clif->skill_fail(sd, 1, USESKILL_FAIL_LEVEL, 1);
return;
@@ -10051,7 +10113,8 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
sd->sc.data[SC_TRICKDEAD] ||
(sd->sc.data[SC_AUTOCOUNTER] && action_type != 0x07) ||
sd->sc.data[SC_BLADESTOP] ||
- sd->sc.data[SC_DEEP_SLEEP] )
+ sd->sc.data[SC_DEEP_SLEEP] ||
+ sd->sc.data[SC_SUHIDE] )
)
return;
@@ -10091,7 +10154,7 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
}
break;
case 0x02: // sitdown
- if (battle_config.basic_skill_check && pc->checkskill(sd, NV_BASIC) < 3) {
+ if (battle_config.basic_skill_check && !pc->check_basicskill(sd, 3)) {
clif->skill_fail(sd, 1, USESKILL_FAIL_LEVEL, 2);
break;
}
@@ -10176,7 +10239,7 @@ void clif_parse_Restart(int fd, struct map_session_data *sd) {
case 0x01:
/* Rovert's Prevent logout option - Fixed [Valaris] */
if (!sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK]
- && !sd->sc.data[SC_CLOAKINGEXCEED] && !sd->sc.data[SC__INVISIBILITY]
+ && !sd->sc.data[SC_CLOAKINGEXCEED] && !sd->sc.data[SC__INVISIBILITY] && !sd->sc.data[SC_SUHIDE]
&& (!battle_config.prevent_logout || DIFF_TICK(timer->gettick(), sd->canlog_tick) > battle_config.prevent_logout)
) {
//Send to char-server for character selection.
@@ -10364,6 +10427,7 @@ void clif_parse_TakeItem(int fd, struct map_session_data *sd)
sd->sc.data[SC_TRICKDEAD] ||
sd->sc.data[SC_BLADESTOP] ||
sd->sc.data[SC_CLOAKINGEXCEED] ||
+ sd->sc.data[SC_SUHIDE] ||
pc_ismuted(&sd->sc, MANNER_NOITEM)
) )
break;
@@ -10696,7 +10760,7 @@ void clif_parse_CreateChatRoom(int fd, struct map_session_data* sd)
if (pc_ismuted(&sd->sc, MANNER_NOROOM))
return;
- if(battle_config.basic_skill_check && pc->checkskill(sd,NV_BASIC) < 4) {
+ if(battle_config.basic_skill_check && !pc->check_basicskill(sd, 4)) {
clif->skill_fail(sd,1,USESKILL_FAIL_LEVEL,3);
return;
}
@@ -10813,7 +10877,7 @@ void clif_parse_TradeRequest(int fd,struct map_session_data *sd) {
return;
}
- if( battle_config.basic_skill_check && pc->checkskill(sd,NV_BASIC) < 1) {
+ if( battle_config.basic_skill_check && !pc->check_basicskill(sd, 1)) {
clif->skill_fail(sd,1,USESKILL_FAIL_LEVEL,0);
return;
}
@@ -11859,7 +11923,7 @@ void clif_parse_CreateParty(int fd, struct map_session_data *sd)
clif->message(fd, msg_fd(fd,227)); // Party modification is disabled in this map.
return;
}
- if( battle_config.basic_skill_check && pc->checkskill(sd,NV_BASIC) < 7 ) {
+ if (battle_config.basic_skill_check && !pc->check_basicskill(sd, 7)) {
clif->skill_fail(sd,1,USESKILL_FAIL_LEVEL,4);
return;
}
@@ -11881,7 +11945,7 @@ void clif_parse_CreateParty2(int fd, struct map_session_data *sd)
clif->message(fd, msg_fd(fd,227)); // Party modification is disabled in this map.
return;
}
- if( battle_config.basic_skill_check && pc->checkskill(sd,NV_BASIC) < 7 ) {
+ if (battle_config.basic_skill_check && !pc->check_basicskill(sd, 7)) {
clif->skill_fail(sd,1,USESKILL_FAIL_LEVEL,4);
return;
}
@@ -13766,6 +13830,7 @@ void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd)
case MAPID_TAEKWON:
if (!sd->state.rest)
break;
+ FALLTHROUGH
case MAPID_SUPER_NOVICE:
sd->state.doridori=1;
break;
@@ -14151,15 +14216,18 @@ void clif_ranklist_sub(unsigned char *buf, enum fame_list_type type) {
}
/// 097d <RankingType>.W {<CharName>.24B <point>L}*10 <mypoint>L (ZC_ACK_RANKING)
-void clif_ranklist(struct map_session_data *sd, enum fame_list_type type) {
+void clif_ranklist(struct map_session_data *sd, enum fame_list_type type)
+{
+#if PACKETVER >= 20120502
int fd;
int mypoint = 0;
int upperMask;
+ int len = packet_len(0x97d);
nullpo_retv(sd);
fd = sd->fd;
upperMask = sd->class_&MAPID_UPPERMASK;
- WFIFOHEAD(fd, 288);
+ WFIFOHEAD(fd, len);
WFIFOW(fd, 0) = 0x97d;
WFIFOW(fd, 2) = type;
clif_ranklist_sub(WFIFOP(fd,4), type);
@@ -14174,7 +14242,8 @@ void clif_ranklist(struct map_session_data *sd, enum fame_list_type type) {
}
WFIFOL(fd, 284) = mypoint; //mypoint
- WFIFOSET(fd, 288);
+ WFIFOSET(fd, len);
+#endif
}
void clif_parse_ranklist(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -14194,8 +14263,9 @@ void clif_parse_ranklist(int fd, struct map_session_data *sd) {
}
// 097e <RankingType>.W <point>.L <TotalPoint>.L (ZC_UPDATE_RANKING_POINT)
-void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type type, int points) {
-#if PACKETVER < 20130710
+void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type type, int points)
+{
+#if PACKETVER < 20120502
switch( type ) {
case RANKTYPE_BLACKSMITH: clif->fame_blacksmith(sd,points); break;
case RANKTYPE_ALCHEMIST: clif->fame_alchemist(sd,points); break;
@@ -14204,15 +14274,16 @@ void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type t
#else
int fd;
+ int len = packet_len(0x97e);
nullpo_retv(sd);
fd = sd->fd;
- WFIFOHEAD(fd, 12);
+ WFIFOHEAD(fd, len);
WFIFOW(fd, 0) = 0x97e;
WFIFOW(fd, 2) = type;
WFIFOL(fd, 4) = points;
WFIFOL(fd, 8) = sd->status.fame;
- WFIFOSET(fd, 12);
+ WFIFOSET(fd, len);
#endif
}
@@ -15197,10 +15268,10 @@ void clif_Auction_message(int fd, unsigned char flag)
/// 2 = Auction ID is incorrect
void clif_Auction_close(int fd, unsigned char flag)
{
- WFIFOHEAD(fd,packet_len(0x25e));
+ WFIFOHEAD(fd, 4);
WFIFOW(fd,0) = 0x25d; // BUG: The client identifies this packet as 0x25d (CZ_AUCTION_REQ_MY_SELL_STOP)
WFIFOW(fd,2) = flag;
- WFIFOSET(fd,packet_len(0x25e));
+ WFIFOSET(fd, 4);
}
void clif_parse_Auction_register(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -16126,28 +16197,46 @@ void clif_readbook(int fd, int book_id, int page)
/// Battlegrounds
///
-/// Updates HP bar of a camp member (ZC_BATTLEFIELD_NOTIFY_HP).
-/// 02e0 <account id>.L <name>.24B <hp>.W <max hp>.W
+/// Updates HP bar of a camp member.
+/// 02e0 <account id>.L <name>.24B <hp>.W <max hp>.W (ZC_BATTLEFIELD_NOTIFY_HP).
+/// 0a0e <account id>.L <hp>.L <max hp>.L (ZC_BATTLEFIELD_NOTIFY_HP2)
void clif_bg_hp(struct map_session_data *sd)
{
unsigned char buf[34];
+
+// packet version can be wrong, because inconsistend data in other servers.
+#if PACKETVER < 20140613
const int cmd = 0x2e0;
nullpo_retv(sd);
- WBUFW(buf,0) = cmd;
- WBUFL(buf,2) = sd->status.account_id;
- memcpy(WBUFP(buf,6), sd->status.name, NAME_LENGTH);
+ WBUFW(buf, 0) = cmd;
+ WBUFL(buf, 2) = sd->status.account_id;
+ memcpy(WBUFP(buf, 6), sd->status.name, NAME_LENGTH);
- if( sd->battle_status.max_hp > INT16_MAX )
+ if (sd->battle_status.max_hp > INT16_MAX)
{ // To correctly display the %hp bar. [Skotlex]
- WBUFW(buf,30) = sd->battle_status.hp/(sd->battle_status.max_hp/100);
- WBUFW(buf,32) = 100;
+ WBUFW(buf, 30) = sd->battle_status.hp / (sd->battle_status.max_hp / 100);
+ WBUFW(buf, 32) = 100;
}
else
{
- WBUFW(buf,30) = sd->battle_status.hp;
- WBUFW(buf,32) = sd->battle_status.max_hp;
+ WBUFW(buf, 30) = sd->battle_status.hp;
+ WBUFW(buf, 32) = sd->battle_status.max_hp;
}
+#else
+ const int cmd = 0xa0e;
+ nullpo_retv(sd);
+
+ WBUFW(buf, 0) = cmd;
+ WBUFL(buf, 2) = sd->status.account_id;
+ if (sd->battle_status.max_hp > INT32_MAX) {
+ WBUFL(buf, 6) = sd->battle_status.hp / (sd->battle_status.max_hp / 100);
+ WBUFL(buf, 10) = 100;
+ } else {
+ WBUFL(buf, 6) = sd->battle_status.hp;
+ WBUFL(buf, 10) = sd->battle_status.max_hp;
+ }
+#endif
clif->send(buf, packet_len(cmd), &sd->bl, BG_AREA_WOS);
}
@@ -16606,6 +16695,7 @@ void clif_elemental_info(struct map_session_data *sd) {
/// 0810 <slots>.B
void clif_buyingstore_open(struct map_session_data* sd)
{
+#if PACKETVER >= 20100303
int fd;
nullpo_retv(sd);
@@ -16614,6 +16704,7 @@ void clif_buyingstore_open(struct map_session_data* sd)
WFIFOW(fd,0) = 0x810;
WFIFOB(fd,2) = sd->buyingstore.slots;
WFIFOSET(fd,packet_len(0x810));
+#endif
}
void clif_parse_ReqOpenBuyingStore(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -16667,6 +16758,7 @@ void clif_parse_ReqOpenBuyingStore(int fd, struct map_session_data* sd) {
/// ? = nothing
void clif_buyingstore_open_failed(struct map_session_data* sd, unsigned short result, unsigned int weight)
{
+#if PACKETVER >= 20100420
int fd;
nullpo_retv(sd);
@@ -16676,6 +16768,7 @@ void clif_buyingstore_open_failed(struct map_session_data* sd, unsigned short re
WFIFOW(fd,2) = result;
WFIFOL(fd,4) = weight;
WFIFOSET(fd,packet_len(0x812));
+#endif
}
/// Notification, that the requested buying store was created (ZC_MYITEMLIST_BUYING_STORE).
@@ -16708,6 +16801,7 @@ void clif_buyingstore_myitemlist(struct map_session_data* sd)
/// 0814 <account id>.L <store name>.80B
void clif_buyingstore_entry(struct map_session_data* sd)
{
+#if PACKETVER >= 20100420
uint8 buf[86];
nullpo_retv(sd);
@@ -16716,9 +16810,11 @@ void clif_buyingstore_entry(struct map_session_data* sd)
memcpy(WBUFP(buf,6), sd->message, MESSAGE_SIZE);
clif->send(buf, packet_len(0x814), &sd->bl, AREA_WOS);
+#endif
}
void clif_buyingstore_entry_single(struct map_session_data* sd, struct map_session_data* pl_sd)
{
+#if PACKETVER >= 20100420
int fd;
nullpo_retv(sd);
@@ -16728,6 +16824,7 @@ void clif_buyingstore_entry_single(struct map_session_data* sd, struct map_sessi
WFIFOL(fd,2) = pl_sd->bl.id;
memcpy(WFIFOP(fd,6), pl_sd->message, MESSAGE_SIZE);
WFIFOSET(fd,packet_len(0x814));
+#endif
}
void clif_parse_ReqCloseBuyingStore(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -16741,6 +16838,7 @@ void clif_parse_ReqCloseBuyingStore(int fd, struct map_session_data* sd) {
/// 0816 <account id>.L
void clif_buyingstore_disappear_entry(struct map_session_data* sd)
{
+#if PACKETVER >= 20100309
uint8 buf[6];
nullpo_retv(sd);
@@ -16748,9 +16846,12 @@ void clif_buyingstore_disappear_entry(struct map_session_data* sd)
WBUFL(buf,2) = sd->bl.id;
clif->send(buf, packet_len(0x816), &sd->bl, AREA_WOS);
+#endif
}
+
void clif_buyingstore_disappear_entry_single(struct map_session_data* sd, struct map_session_data* pl_sd)
{
+#if PACKETVER >= 20100309
int fd;
nullpo_retv(sd);
@@ -16760,6 +16861,7 @@ void clif_buyingstore_disappear_entry_single(struct map_session_data* sd, struct
WFIFOW(fd,0) = 0x816;
WFIFOL(fd,2) = pl_sd->bl.id;
WFIFOSET(fd,packet_len(0x816));
+#endif
}
/// Request to open someone else's buying store (CZ_REQ_CLICK_TO_BUYING_STORE).
@@ -16844,6 +16946,7 @@ void clif_parse_ReqTradeBuyingStore(int fd, struct map_session_data* sd) {
/// ? = nothing
void clif_buyingstore_trade_failed_buyer(struct map_session_data* sd, short result)
{
+#if PACKETVER >= 20100420
int fd;
nullpo_retv(sd);
@@ -16852,22 +16955,36 @@ void clif_buyingstore_trade_failed_buyer(struct map_session_data* sd, short resu
WFIFOW(fd,0) = 0x81a;
WFIFOW(fd,2) = result;
WFIFOSET(fd,packet_len(0x81a));
+#endif
}
/// Updates the zeny limit and an item in the buying store item list (ZC_UPDATE_ITEM_FROM_BUYING_STORE).
/// 081b <name id>.W <amount>.W <limit zeny>.L
-void clif_buyingstore_update_item(struct map_session_data* sd, unsigned short nameid, unsigned short amount)
+void clif_buyingstore_update_item(struct map_session_data* sd, unsigned short nameid, unsigned short amount, uint32 char_id, int zeny)
{
int fd;
+#if PACKETVER < 20141016 // TODO : not sure for client date [Napster]
+ const int cmd = 0x81b;
+#else
+ const int cmd = 0x9e6;
+#endif
+ const int len = packet_len(cmd);
nullpo_retv(sd);
fd = sd->fd;
- WFIFOHEAD(fd,packet_len(0x81b));
- WFIFOW(fd,0) = 0x81b;
- WFIFOW(fd,2) = nameid;
- WFIFOW(fd,4) = amount; // amount of nameid received
- WFIFOL(fd,6) = sd->buyingstore.zenylimit;
- WFIFOSET(fd,packet_len(0x81b));
+ WFIFOHEAD(fd, len);
+ WFIFOW(fd, 0) = cmd;
+ WFIFOW(fd, 2) = nameid;
+ WFIFOW(fd, 4) = amount; // amount of nameid received
+#if PACKETVER < 20141016
+ WFIFOL(fd, 6) = sd->buyingstore.zenylimit;
+#else
+ WFIFOL(fd, 6) = zeny; // zeny
+ WFIFOL(fd, 10) = sd->buyingstore.zenylimit;
+ WFIFOL(fd, 14) = char_id; // GID
+ WFIFOL(fd, 18) = (int)time(NULL); // date
+#endif
+ WFIFOSET(fd, len);
}
/// Deletes item from inventory, that was sold to a buying store (ZC_ITEM_DELETE_BUYING_STORE).
@@ -16878,6 +16995,7 @@ void clif_buyingstore_update_item(struct map_session_data* sd, unsigned short na
/// NOTE: This function has to be called _instead_ of clif_delitem/clif_dropitem.
void clif_buyingstore_delete_item(struct map_session_data* sd, short index, unsigned short amount, int price)
{
+#if PACKETVER >= 20100420
int fd;
nullpo_retv(sd);
@@ -16888,6 +17006,7 @@ void clif_buyingstore_delete_item(struct map_session_data* sd, short index, unsi
WFIFOW(fd,4) = amount;
WFIFOL(fd,6) = price; // price per item, client calculates total Zeny by itself
WFIFOSET(fd,packet_len(0x81c));
+#endif
}
/// Notifies the seller, that a buying store trade failed (ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER).
@@ -16899,6 +17018,7 @@ void clif_buyingstore_delete_item(struct map_session_data* sd, short index, unsi
/// ? = nothing
void clif_buyingstore_trade_failed_seller(struct map_session_data* sd, short result, unsigned short nameid)
{
+#if PACKETVER >= 20100420
int fd;
nullpo_retv(sd);
@@ -16908,6 +17028,7 @@ void clif_buyingstore_trade_failed_seller(struct map_session_data* sd, short res
WFIFOW(fd,2) = result;
WFIFOW(fd,4) = nameid;
WFIFOSET(fd,packet_len(0x824));
+#endif
}
void clif_parse_SearchStoreInfo(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -17027,6 +17148,7 @@ void clif_search_store_info_ack(struct map_session_data* sd)
/// 4 = "No sale (purchase) information available." (0x705)
void clif_search_store_info_failed(struct map_session_data* sd, unsigned char reason)
{
+#if PACKETVER >= 20100601
int fd;
nullpo_retv(sd);
@@ -17035,6 +17157,7 @@ void clif_search_store_info_failed(struct map_session_data* sd, unsigned char re
WFIFOW(fd,0) = 0x837;
WFIFOB(fd,2) = reason;
WFIFOSET(fd,packet_len(0x837));
+#endif
}
void clif_parse_SearchStoreInfoNextPage(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -17052,6 +17175,7 @@ void clif_parse_SearchStoreInfoNextPage(int fd, struct map_session_data* sd)
/// 1 = Search Stores (Cash), asks for confirmation, when clicking a store
void clif_open_search_store_info(struct map_session_data* sd)
{
+#if PACKETVER >= 20100608
int fd;
nullpo_retv(sd);
@@ -17063,6 +17187,7 @@ void clif_open_search_store_info(struct map_session_data* sd)
WFIFOB(fd,4) = (unsigned char)min(sd->searchstore.uses, UINT8_MAX);
#endif
WFIFOSET(fd,packet_len(0x83a));
+#endif
}
void clif_parse_CloseSearchStoreInfo(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -17093,6 +17218,7 @@ void clif_parse_SearchStoreInfoListItemClick(int fd, struct map_session_data* sd
/// 083d <xPos>.W <yPos>.W
void clif_search_store_info_click_ack(struct map_session_data* sd, short x, short y)
{
+#if PACKETVER >= 20100608
int fd;
nullpo_retv(sd);
@@ -17102,6 +17228,7 @@ void clif_search_store_info_click_ack(struct map_session_data* sd, short x, shor
WFIFOW(fd,2) = x;
WFIFOW(fd,4) = y;
WFIFOSET(fd,packet_len(0x83d));
+#endif
}
/// Parse function for packet debugging.
@@ -17370,6 +17497,7 @@ void clif_parse_SkillSelectMenu(int fd, struct map_session_data *sd) {
*------------------------------------------*/
void clif_charm(struct map_session_data *sd)
{
+#if PACKETVER >= 20110809
unsigned char buf[10];
nullpo_retv(sd);
@@ -17379,6 +17507,7 @@ void clif_charm(struct map_session_data *sd)
WBUFW(buf,6) = sd->charm_type;
WBUFW(buf,8) = sd->charm_count;
clif->send(buf,packet_len(0x08cf),&sd->bl,AREA);
+#endif
}
void clif_parse_MoveItem(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -17480,6 +17609,7 @@ void clif_cashshop_db(void) {
/// Items that are in favorite tab of inventory (ZC_ITEM_FAVORITE).
/// 0900 <index>.W <favorite>.B
void clif_favorite_item(struct map_session_data* sd, unsigned short index) {
+#if PACKETVER >= 20120410
int fd;
nullpo_retv(sd);
@@ -17489,9 +17619,11 @@ void clif_favorite_item(struct map_session_data* sd, unsigned short index) {
WFIFOW(fd,2) = index+2;
WFIFOB(fd,4) = (sd->status.inventory[index].favorite == 1) ? 0 : 1;
WFIFOSET(fd,packet_len(0x908));
+#endif
}
void clif_snap( struct block_list *bl, short x, short y ) {
+#if PACKETVER >= 20110809
unsigned char buf[10];
nullpo_retv(bl);
@@ -17501,9 +17633,12 @@ void clif_snap( struct block_list *bl, short x, short y ) {
WBUFW(buf,8) = y;
clif->send(buf,packet_len(0x8d2),bl,AREA);
+#endif
}
-void clif_monster_hp_bar( struct mob_data* md, struct map_session_data *sd ) {
+void clif_monster_hp_bar(struct mob_data *md, struct map_session_data *sd)
+{
+#if PACKETVER >= 20120228
struct packet_monster_hp p;
nullpo_retv(md);
@@ -17514,6 +17649,7 @@ void clif_monster_hp_bar( struct mob_data* md, struct map_session_data *sd ) {
p.MaxHP = md->status.max_hp;
clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
}
/* [Ind/Hercules] placeholder for unsupported incoming packets (avoids server disconnecting client) */
@@ -17542,7 +17678,9 @@ void clif_parse_CashShopClose(int fd, struct map_session_data *sd) {
}
void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd) {
+void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20110614
int i, j = 0;
for( i = 0; i < CASHSHOP_TAB_MAX; i++ ) {
@@ -17562,6 +17700,7 @@ void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd) {
WFIFOSET(fd, 8 + ( clif->cs.item_count[i] * 6 ));
}
+#endif
}
void clif_parse_CashShopBuy(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -17655,7 +17794,9 @@ void clif_parse_CashShopBuy(int fd, struct map_session_data *sd) {
void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
/* [Ind/Hercules] */
-void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd) {
+void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20110222
short tab = RFIFOW(fd, 2);
int j;
@@ -17674,9 +17815,12 @@ void clif_parse_CashShopReqTab(int fd, struct map_session_data *sd) {
}
WFIFOSET(fd, 10 + ( clif->cs.item_count[tab] * 6 ));
+#endif
}
+
/* [Ind/Hercules] */
-void clif_maptypeproperty2(struct block_list *bl,enum send_target t) {
+void clif_maptypeproperty2(struct block_list *bl,enum send_target t)
+{
#if PACKETVER >= 20121010
struct packet_maptypeproperty2 p;
struct map_session_data *sd = NULL;
@@ -17729,6 +17873,7 @@ void clif_partytickack(struct map_session_data* sd, bool flag) {
void clif_ShowScript(struct block_list *bl, const char *message)
{
+#if PACKETVER >= 20110111
char buf[256];
int len;
nullpo_retv(bl);
@@ -17748,6 +17893,7 @@ void clif_ShowScript(struct block_list *bl, const char *message)
WBUFL(buf,4) = bl->id;
safestrncpy(WBUFP(buf,8),message,len);
clif->send(buf,WBUFW(buf,2),bl,AREA);
+#endif
}
void clif_status_change_end(struct block_list *bl, int tid, enum send_target target, int type) {
@@ -17904,14 +18050,17 @@ void clif_bgqueue_battlebegins(struct map_session_data *sd, unsigned char arena_
clif->send(&p,sizeof(p), &sd->bl, target);
}
-void clif_scriptclear(struct map_session_data *sd, int npcid) {
+void clif_scriptclear(struct map_session_data *sd, int npcid)
+{
+#if PACKETVER >= 20110928
struct packet_script_clear p;
nullpo_retv(sd);
p.PacketType = script_clearType;
p.NpcID = npcid;
- clif->send(&p,sizeof(p), &sd->bl, SELF);
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
}
/* Made Possible Thanks to Yommy! */
@@ -18033,7 +18182,9 @@ void clif_parse_BankWithdraw(int fd, struct map_session_data *sd)
}
void clif_parse_BankCheck(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
-void clif_parse_BankCheck(int fd, struct map_session_data* sd) {
+void clif_parse_BankCheck(int fd, struct map_session_data* sd)
+{
+#if PACKETVER >= 20130313
struct packet_banking_check p;
if (!battle_config.feature_banking) {
@@ -18046,6 +18197,7 @@ void clif_parse_BankCheck(int fd, struct map_session_data* sd) {
p.Reason = (short)0;
clif->send(&p,sizeof(p), &sd->bl, SELF);
+#endif
}
void clif_parse_BankOpen(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -18058,7 +18210,9 @@ void clif_parse_BankClose(int fd, struct map_session_data* sd) {
return;
}
-void clif_bank_deposit(struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK reason) {
+void clif_bank_deposit(struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK reason)
+{
+#if PACKETVER >= 20130313
struct packet_banking_deposit_ack p;
nullpo_retv(sd);
@@ -18068,9 +18222,12 @@ void clif_bank_deposit(struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK r
p.Reason = (short)reason;
clif->send(&p,sizeof(p), &sd->bl, SELF);
+#endif
}
-void clif_bank_withdraw(struct map_session_data *sd,enum e_BANKING_WITHDRAW_ACK reason) {
+void clif_bank_withdraw(struct map_session_data *sd,enum e_BANKING_WITHDRAW_ACK reason)
+{
+#if PACKETVER >= 20130313
struct packet_banking_withdraw_ack p;
nullpo_retv(sd);
@@ -18080,6 +18237,7 @@ void clif_bank_withdraw(struct map_session_data *sd,enum e_BANKING_WITHDRAW_ACK
p.Reason = (short)reason;
clif->send(&p,sizeof(p), &sd->bl, SELF);
+#endif
}
/* TODO: official response packet (tried 0x8cb/0x97b but the display was quite screwed up.) */
@@ -18336,6 +18494,7 @@ void clif_PartyLeaderChanged(struct map_session_data *sd, int prev_leader_aid, i
void clif_parse_RouletteOpen(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
/* Roulette System [Yommy/Hercules] */
void clif_parse_RouletteOpen(int fd, struct map_session_data* sd) {
+#if PACKETVER >= 20140612
struct packet_roulette_open_ack p;
if( !battle_config.feature_roulette ) {
@@ -18354,10 +18513,13 @@ void clif_parse_RouletteOpen(int fd, struct map_session_data* sd) {
p.SilverPoint = pc_readglobalreg(sd, script->add_str("TmpRouletteSilver"));
clif->send(&p,sizeof(p), &sd->bl, SELF);
+#endif
}
void clif_parse_RouletteInfo(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
-void clif_parse_RouletteInfo(int fd, struct map_session_data* sd) {
+void clif_parse_RouletteInfo(int fd, struct map_session_data* sd)
+{
+#if PACKETVER >= 20140612
struct packet_roulette_info_ack p;
unsigned short i, j, count = 0;
@@ -18380,7 +18542,7 @@ void clif_parse_RouletteInfo(int fd, struct map_session_data* sd) {
}
}
clif->send(&p,sizeof(p), &sd->bl, SELF);
- return;
+#endif
}
void clif_parse_RouletteClose(int fd, struct map_session_data* sd) __attribute__((nonnull (2)));
@@ -18454,7 +18616,9 @@ void clif_parse_RouletteRecvItem(int fd, struct map_session_data* sd) __attribut
/**
* Request to cash in!
**/
-void clif_parse_RouletteRecvItem(int fd, struct map_session_data* sd) {
+void clif_parse_RouletteRecvItem(int fd, struct map_session_data* sd)
+{
+#if PACKETVER >= 20140612
struct packet_roulette_itemrecv_ack p;
if( !battle_config.feature_roulette ) {
@@ -18497,7 +18661,7 @@ void clif_parse_RouletteRecvItem(int fd, struct map_session_data* sd) {
p.Result = RECV_ITEM_FAILED;
clif->send(&p,sizeof(p), &sd->bl, SELF);
- return;
+#endif
}
bool clif_parse_roulette_db(void) {
@@ -18592,7 +18756,9 @@ bool clif_parse_roulette_db(void) {
/**
*
**/
-void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, short bonusItemID) {
+void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, short bonusItemID)
+{
+#if PACKETVER >= 20140612
struct packet_roulette_generate_ack p;
nullpo_retv(sd);
@@ -18606,6 +18772,7 @@ void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char resul
p.RemainSilver = pc_readglobalreg(sd, script->add_str("TmpRouletteSilver"));
clif->send(&p,sizeof(p), &sd->bl, SELF);
+#endif
}
/**
@@ -18613,6 +18780,7 @@ void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char resul
*/
void clif_openmergeitem(int fd, struct map_session_data *sd)
{
+#if PACKETVER > 20120228
int i = 0, n = 0, j = 0;
struct merge_item merge_items[MAX_INVENTORY];
struct merge_item *merge_items_[MAX_INVENTORY] = {0};
@@ -18655,6 +18823,7 @@ void clif_openmergeitem(int fd, struct map_session_data *sd)
for ( i = 0; i < j; i++ )
WFIFOW(fd,i*2+4) = merge_items_[i]->position;
WFIFOSET(fd,2*j+4);
+#endif
}
int clif_comparemergeitem(const void *a, const void *b)
@@ -18671,6 +18840,7 @@ int clif_comparemergeitem(const void *a, const void *b)
void clif_ackmergeitems(int fd, struct map_session_data *sd)
{
+#if PACKETVER > 20120228
int i = 0, n = 0, length = 0, count = 0;
int16 nameid = 0, indexes[MAX_INVENTORY] = {0}, amounts[MAX_INVENTORY] = {0};
struct item item_data;
@@ -18750,6 +18920,7 @@ void clif_ackmergeitems(int fd, struct map_session_data *sd)
WFIFOW(fd,4) = count;
WFIFOB(fd,6) = MERGEITEM_SUCCESS;
WFIFOSET(fd,7);
+#endif
}
void clif_cancelmergeitem (int fd, struct map_session_data *sd)
@@ -18760,6 +18931,7 @@ void clif_cancelmergeitem (int fd, struct map_session_data *sd)
void clif_dressroom_open(struct map_session_data *sd, int view)
{
+#if PACKETVER >= 20150513
int fd;
nullpo_retv(sd);
@@ -18769,6 +18941,7 @@ void clif_dressroom_open(struct map_session_data *sd, int view)
WFIFOW(fd,0)=0xa02;
WFIFOW(fd,2)=view;
WFIFOSET(fd,packet_len(0xa02));
+#endif
}
/// Request to select cart's visual look for new cart design (ZC_SELECTCART).
@@ -18793,6 +18966,48 @@ void clif_selectcart(struct map_session_data *sd)
#endif
}
+/// Starts navigation to the given target on client side
+void clif_navigate_to(struct map_session_data *sd, const char* mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id)
+{
+// probably this packet with other fields present in older packet versions
+#if PACKETVER >= 20120307
+ int fd;
+
+ nullpo_retv(sd);
+ nullpo_retv(mapname);
+ fd = sd->fd;
+ WFIFOHEAD(fd, packet_len(0x8e2));
+ WFIFOW(fd, 0) = 0x8e2;
+
+ // How detailed will our navigation be?
+ if (mob_id > 0) {
+ x = 0;
+ y = 0;
+ WFIFOB(fd, 2) = 3; // monster with destination field
+ } else if (x > 0 && y > 0) {
+ WFIFOB(fd, 2) = 0; // with coordinates
+ } else {
+ x = 0;
+ y = 0;
+ WFIFOB(fd, 2) = 1; // without coordinates(will fail if you are already on the map)
+ }
+
+ // Which services can be used for transportation?
+ WFIFOB(fd, 3) = flag;
+ // If this flag is set, the navigation window will not be opened up
+ WFIFOB(fd, 4) = hideWindow;
+ // Target map
+ safestrncpy((char*)WFIFOP(fd, 5), mapname, MAP_NAME_LENGTH_EXT);
+ // Target x
+ WFIFOW(fd, 21) = x;
+ // Target y
+ WFIFOW(fd, 23) = y;
+ // Target monster ID
+ WFIFOW(fd, 25) = mob_id;
+ WFIFOSET(fd, packet_len(0x8e2));
+#endif
+}
+
/**
* Returns the name of the given bl, in a client-friendly format.
*
@@ -19636,6 +19851,7 @@ void clif_defaults(void) {
clif->selectcart = clif_selectcart;
/* */
clif->isdisguised = clif_isdisguised;
+ clif->navigate_to = clif_navigate_to;
clif->bl_type = clif_bl_type;
/*------------------------
diff --git a/src/map/clif.h b/src/map/clif.h
index 8b75a32f3..b27adb5be 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -896,7 +896,7 @@ struct clif_interface {
void (*vendinglist) (struct map_session_data* sd, unsigned int id, struct s_vending* vending_list);
void (*buyvending) (struct map_session_data* sd, int index, int amount, int fail);
void (*openvending) (struct map_session_data* sd, int id, struct s_vending* vending_list);
- void (*vendingreport) (struct map_session_data* sd, int index, int amount);
+ void (*vendingreport) (struct map_session_data* sd, int index, int amount, uint32 char_id, int zeny);
/* storage handling */
void (*storagelist) (struct map_session_data* sd, struct item* items, int items_length);
void (*updatestorageamount) (struct map_session_data* sd, int amount, int max_amount);
@@ -1058,7 +1058,7 @@ struct clif_interface {
void (*buyingstore_disappear_entry_single) (struct map_session_data* sd, struct map_session_data* pl_sd);
void (*buyingstore_itemlist) (struct map_session_data* sd, struct map_session_data* pl_sd);
void (*buyingstore_trade_failed_buyer) (struct map_session_data* sd, short result);
- void (*buyingstore_update_item) (struct map_session_data* sd, unsigned short nameid, unsigned short amount);
+ void (*buyingstore_update_item) (struct map_session_data* sd, unsigned short nameid, unsigned short amount, uint32 char_id, int zeny);
void (*buyingstore_delete_item) (struct map_session_data* sd, short index, unsigned short amount, int price);
void (*buyingstore_trade_failed_seller) (struct map_session_data* sd, short result, unsigned short nameid);
/* search store-related */
@@ -1111,6 +1111,7 @@ struct clif_interface {
void (*ackmergeitems) (int fd, struct map_session_data *sd);
/* */
bool (*isdisguised) (struct block_list* bl);
+ void (*navigate_to) (struct map_session_data *sd, const char* mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id);
unsigned char (*bl_type) (struct block_list *bl);
/*------------------------
*- Parse Incoming Packet
diff --git a/src/map/date.c b/src/map/date.c
index 5579962bf..a20578e51 100644
--- a/src/map/date.c
+++ b/src/map/date.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/date.h b/src/map/date.h
index 831539e3c..3a109d1ad 100644
--- a/src/map/date.h
+++ b/src/map/date.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/duel.c b/src/map/duel.c
index 64991d39c..558dc1d9e 100644
--- a/src/map/duel.c
+++ b/src/map/duel.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/duel.h b/src/map/duel.h
index 60b5b09ab..c0af04df6 100644
--- a/src/map/duel.h
+++ b/src/map/duel.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/elemental.c b/src/map/elemental.c
index b6297c2cf..76b7ba24b 100644
--- a/src/map/elemental.c
+++ b/src/map/elemental.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/elemental.h b/src/map/elemental.h
index cdd83fd21..f13d095df 100644
--- a/src/map/elemental.h
+++ b/src/map/elemental.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/guild.c b/src/map/guild.c
index 83afc9538..5de8d5d02 100644
--- a/src/map/guild.c
+++ b/src/map/guild.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/guild.h b/src/map/guild.h
index 4fe7106d3..feb374e4a 100644
--- a/src/map/guild.h
+++ b/src/map/guild.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/homunculus.c b/src/map/homunculus.c
index 080a314b8..cc920b888 100644
--- a/src/map/homunculus.c
+++ b/src/map/homunculus.c
@@ -1215,7 +1215,7 @@ void homunculus_read_db(void) {
if( i > 0 ) {
char filepath[256];
- sprintf(filepath, "%s/%s", map->db_path, filename[i]);
+ snprintf(filepath, 256, "%s/%s", map->db_path, filename[i]);
if( !exists(filepath) ) {
continue;
diff --git a/src/map/homunculus.h b/src/map/homunculus.h
index 3dd9e4772..a80392cf6 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/instance.c b/src/map/instance.c
index fa2cfec16..21ee6bf80 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/instance.h b/src/map/instance.h
index 2019b1a42..141d37a8f 100644
--- a/src/map/instance.h
+++ b/src/map/instance.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/intif.c b/src/map/intif.c
index 2d6d39406..55a5f8340 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/intif.h b/src/map/intif.h
index 5e7f86fc2..c4d960256 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 350697a08..58397a2ee 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -437,6 +437,9 @@ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable)
case JOB_REBELLION:
mask[1] = 1ULL << MAPID_GUNSLINGER;
break;
+ case JOB_SUMMONER:
+ mask[0] = 1ULL << MAPID_SUMMONER;
+ break;
// Other Classes
case JOB_GANGSI: //Bongun/Munak
mask[0] = 1ULL << MAPID_GANGSI;
@@ -538,6 +541,8 @@ void itemdb_jobmask2mapid(uint64 *bclass, uint64 jobmask)
bclass[1] |= 1ULL<<MAPID_NINJA;
if (jobmask & 1ULL<<30) //Rebellion
bclass[1] |= 1ULL<<MAPID_GUNSLINGER;
+ if (jobmask & 1ULL<<31) //Summoner
+ bclass[0] |= 1ULL<<MAPID_SUMMONER;
}
void create_dummy_data(void)
@@ -1376,7 +1381,7 @@ void itemdb_read_combos(void)
char filepath[256];
FILE* fp;
- sprintf(filepath, "%s/%s", map->db_path, DBPATH"item_combo_db.txt");
+ snprintf(filepath, 256, "%s/%s", map->db_path, DBPATH"item_combo_db.txt");
if ((fp = fopen(filepath, "r")) == NULL) {
ShowError("itemdb_read_combos: File not found \"%s\".\n", filepath);
@@ -1535,6 +1540,30 @@ int itemdb_validate_entry(struct item_data *entry, int n, const char *source) {
return 0;
}
+ {
+ const char *c = entry->name;
+ while (ISALNUM(*c) || *c == '_')
+ ++c;
+
+ if (*c != '\0') {
+ ShowWarning("itemdb_validate_entry: Invalid characters in the AegisName '%s' for item %d in '%s'. Skipping.\n",
+ entry->name, entry->nameid, source);
+ if (entry->script) {
+ script->free_code(entry->script);
+ entry->script = NULL;
+ }
+ if (entry->equip_script) {
+ script->free_code(entry->equip_script);
+ entry->equip_script = NULL;
+ }
+ if (entry->unequip_script) {
+ script->free_code(entry->unequip_script);
+ entry->unequip_script = NULL;
+ }
+ return 0;
+ }
+ }
+
if( entry->type < 0 || entry->type == IT_UNKNOWN || entry->type == IT_UNKNOWN2
|| (entry->type > IT_DELAYCONSUME && entry->type < IT_CASH ) || entry->type >= IT_MAX
) {
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index d33805174..77e702638 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -54,6 +54,7 @@ enum item_itemid {
ITEMID_WHITE_POTION = 504,
ITEMID_BLUE_POTION = 505,
ITEMID_APPLE = 512,
+ ITEMID_CARROT = 515,
ITEMID_HOLY_WATER = 523,
ITEMID_PUMPKIN = 535,
ITEMID_RED_SLIM_POTION = 545,
@@ -64,7 +65,7 @@ enum item_itemid {
ITEMID_BRANCH_OF_DEAD_TREE = 604,
ITEMID_ANODYNE = 605,
ITEMID_ALOEBERA = 606,
- ITEMID_MAGNIFIER = 611,
+ ITEMID_SPECTACLES = 611,
ITEMID_POISON_BOTTLE = 678,
ITEMID_EMPTY_BOTTLE = 713,
ITEMID_EMPERIUM = 714,
@@ -92,15 +93,15 @@ enum item_itemid {
ITEMID_IRON_ORE = 1002,
ITEMID_PHRACON = 1010,
ITEMID_EMVERETARCON = 1011,
- ITEMID_TRAP = 1065,
+ ITEMID_BOOBY_TRAP = 1065,
ITEMID_PILEBUNCKER = 1549,
ITEMID_ANGRA_MANYU = 1599,
ITEMID_STRANGE_EMBRYO = 6415,
ITEMID_FACE_PAINT = 6120,
- ITEMID_SCARLET_POINT = 6360,
- ITEMID_INDIGO_POINT = 6361,
- ITEMID_YELLOW_WISH_POINT = 6362,
- ITEMID_LIME_GREEN_POINT = 6363,
+ ITEMID_SCARLET_PTS = 6360,
+ ITEMID_INDIGO_PTS = 6361,
+ ITEMID_YELLOW_WISH_PTS = 6362,
+ ITEMID_LIME_GREEN_PTS = 6363,
ITEMID_STONE = 7049,
ITEMID_FIRE_BOTTLE = 7135,
ITEMID_ACID_BOTTLE = 7136,
@@ -112,7 +113,8 @@ enum item_itemid {
ITEMID_TOKEN_OF_SIEGFRIED = 7621,
ITEMID_GOLD_KEY77 = 7782,
ITEMID_SILVER_KEY77 = 7783,
- ITEMID_TRAP_ALLOY = 7940,
+ ITEMID_SPECIAL_ALLOY_TRAP = 7940,
+ ITEMID_CATNIP_FRUIT = 11602,
ITEMID_RED_POUCH_OF_SURPRISE = 12024,
ITEMID_BLOODY_DEAD_BRANCH = 12103,
ITEMID_PORING_BOX = 12109,
@@ -137,13 +139,13 @@ enum item_itemid {
ITEMID_MAGIC_CASTLE = 12308,
ITEMID_BULGING_HEAD = 12309,
ITEMID_THICK_MANUAL50 = 12312,
- ITEMID_NOVICE_MAGNIFIER = 12325,
- ITEMID_ANCILLA = 12333,
- ITEMID_REPAIR_A = 12392,
- ITEMID_REPAIR_B = 12393,
- ITEMID_REPAIR_C = 12394,
+ ITEMID_N_MAGNIFIER = 12325,
+ ITEMID_ANSILA = 12333,
+ ITEMID_REPAIRA = 12392,
+ ITEMID_REPAIRB = 12393,
+ ITEMID_REPAIRC = 12394,
ITEMID_BLACK_THING = 12435,
- ITEMID_REINS_OF_MOUNT = 12622,
+ ITEMID_BOARDING_HALTER = 12622,
ITEMID_NOBLE_NAMEPLATE = 12705,
ITEMID_DUN_TELE_SCROLL1 = 14527,
ITEMID_BATTLE_MANUAL25 = 14532,
@@ -548,7 +550,7 @@ struct item_data {
#define itemdb_canrefine(n) (!itemdb->search(n)->flag.no_refine)
#define itemdb_is_rune(n) (((n) >= ITEMID_NAUTHIZ && (n) <= ITEMID_HAGALAZ) || (n) == ITEMID_LUX_ANIMA)
-#define itemdb_is_element(n) ((n) >= ITEMID_SCARLET_POINT && (n) <= ITEMID_LIME_GREEN_POINT)
+#define itemdb_is_element(n) ((n) >= ITEMID_SCARLET_PTS && (n) <= ITEMID_LIME_GREEN_PTS)
#define itemdb_is_spellbook(n) ((n) >= ITEMID_MAGIC_BOOK_FB && (n) <= ITEMID_MAGIC_BOOK_DL)
#define itemdb_is_poison(n) ((n) >= ITEMID_POISON_PARALYSIS && (n) <= ITEMID_POISON_FATIGUE)
#define itemid_isgemstone(n) ((n) >= ITEMID_YELLOW_GEMSTONE && (n) <= ITEMID_BLUE_GEMSTONE)
diff --git a/src/map/mail.c b/src/map/mail.c
index e446a10d2..d8a354cc7 100644
--- a/src/map/mail.c
+++ b/src/map/mail.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/mail.h b/src/map/mail.h
index 94100e608..0391f83c4 100644
--- a/src/map/mail.h
+++ b/src/map/mail.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/map.c b/src/map/map.c
index e901eb6b9..16d5e645d 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -337,6 +337,7 @@ int map_moveblock(struct block_list *bl, int x1, int y1, int64 tick) {
//status_change_end(bl, SC_BLADESTOP, INVALID_TIMER); //Won't stop when you are knocked away, go figure...
status_change_end(bl, SC_NJ_TATAMIGAESHI, INVALID_TIMER);
status_change_end(bl, SC_MAGICROD, INVALID_TIMER);
+ status_change_end(bl, SC_SU_STOOP, INVALID_TIMER);
if (sc && sc->data[SC_PROPERTYWALK] &&
sc->data[SC_PROPERTYWALK]->val3 >= skill->get_maxcount(sc->data[SC_PROPERTYWALK]->val1,sc->data[SC_PROPERTYWALK]->val2) )
status_change_end(bl,SC_PROPERTYWALK,INVALID_TIMER);
@@ -1929,6 +1930,7 @@ int map_quit(struct map_session_data *sd) {
case SC_GDSKILL_REGENERATION:
if( !sd->sc.data[i]->val4 )
break;
+ FALLTHROUGH
default:
status_change_end(&sd->bl, (sc_type)i, INVALID_TIMER);
}
@@ -3738,8 +3740,8 @@ int map_readallmaps (void) {
if( map->enable_grf )
ShowStatus("Loading maps (using GRF files)...\n");
else {
- char mapcachefilepath[254];
- sprintf(mapcachefilepath,"%s/%s%s",map->db_path,DBPATH,"map_cache.dat");
+ char mapcachefilepath[256];
+ snprintf(mapcachefilepath, 256, "%s/%s%s", map->db_path, DBPATH, "map_cache.dat");
ShowStatus("Loading maps (using %s as map cache)...\n", mapcachefilepath);
if( (fp = fopen(mapcachefilepath, "rb")) == NULL ) {
ShowFatalError("Unable to open map cache file "CL_WHITE"%s"CL_RESET"\n", mapcachefilepath);
@@ -3996,7 +3998,7 @@ bool map_config_read_map_list(const char *filename, struct config_t *config, boo
nullpo_retr(false, filename);
nullpo_retr(false, config);
- deleted_maps = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_KEY, MAP_NAME_LENGTH);
+ deleted_maps = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_ALLOW_NULL_DATA, MAP_NAME_LENGTH);
// Remove maps
if ((setting = libconfig->lookup(config, "map_configuration/map_removed")) != NULL) {
@@ -4128,6 +4130,7 @@ bool map_read_npclist(const char *filename, bool imported)
struct config_setting_t *setting = NULL;
const char *import = NULL;
bool retval = true;
+ bool remove_all = false;
struct DBMap *deleted_npcs;
@@ -4136,9 +4139,9 @@ bool map_read_npclist(const char *filename, bool imported)
if (!libconfig->load_file(&config, filename))
return false;
- deleted_npcs = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_KEY, MAP_NAME_LENGTH);
+ deleted_npcs = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_ALLOW_NULL_DATA, 0);
- // Remove maps
+ // Remove NPCs
if ((setting = libconfig->lookup(&config, "npc_removed_list")) != NULL) {
int i, del_count = libconfig->setting_length(setting);
for (i = 0; i < del_count; i++) {
@@ -4147,10 +4150,13 @@ bool map_read_npclist(const char *filename, bool imported)
if ((scriptname = libconfig->setting_get_string_elem(setting, i)) == NULL || scriptname[0] == '\0')
continue;
- strdb_put(deleted_npcs, scriptname, NULL);
-
- if (imported) // Map list is empty on the first run, only do this for imported files.
+ if (strcmp(scriptname, "all") == 0) {
+ remove_all = true;
+ npc->clearsrcfile();
+ } else {
+ strdb_put(deleted_npcs, scriptname, NULL);
npc->delsrcfile(scriptname);
+ }
}
}
@@ -4168,7 +4174,7 @@ bool map_read_npclist(const char *filename, bool imported)
if ((scriptname = libconfig->setting_get_string_elem(setting, i)) == NULL || scriptname[0] == '\0')
continue;
- if (strdb_exists(deleted_npcs, scriptname))
+ if (remove_all || strdb_exists(deleted_npcs, scriptname))
continue;
npc->addsrcfile(scriptname);
@@ -4208,7 +4214,7 @@ bool map_read_npclist(const char *filename, bool imported)
void map_reloadnpc(bool clear) {
int i;
if (clear)
- npc->addsrcfile("clear"); // this will clear the current script list
+ npc->clearsrcfile();
#ifdef RENEWAL
map->read_npclist("npc/re/scripts_main.conf", false);
@@ -4390,7 +4396,7 @@ struct map_zone_data *map_merge_zone(struct map_zone_data *main, struct map_zone
nullpo_retr(NULL, main);
nullpo_retr(NULL, other);
- sprintf(newzone, "%s+%s",main->name,other->name);
+ snprintf(newzone, MAP_ZONE_NAME_LENGTH, "%s+%s", main->name, other->name);
if( (zone = strdb_get(map->zone_db, newzone)) )
return zone;/* this zone has already been merged */
diff --git a/src/map/map.h b/src/map/map.h
index 723691971..c186dab4a 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -88,6 +88,7 @@ enum {
MAPID_XMAS,
MAPID_SUMMER,
MAPID_GANGSI,
+ MAPID_SUMMONER,
//2-1 Jobs
MAPID_SUPER_NOVICE = JOBL_2_1|0x0,
MAPID_KNIGHT,
diff --git a/src/map/mercenary.c b/src/map/mercenary.c
index 0b055bedf..95c1f9be3 100644
--- a/src/map/mercenary.c
+++ b/src/map/mercenary.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/mercenary.h b/src/map/mercenary.h
index 142460e2a..0af75e8a2 100644
--- a/src/map/mercenary.h
+++ b/src/map/mercenary.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/mob.c b/src/map/mob.c
index bede7deed..0aadd989d 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -1099,6 +1099,7 @@ int mob_ai_sub_hard_activesearch(struct block_list *bl, va_list ap)
case BL_PC:
if (BL_UCCAST(BL_PC, bl)->state.gangsterparadise && !(status_get_mode(&md->bl)&MD_BOSS))
return 0; //Gangster paradise protection.
+ FALLTHROUGH
default:
if (battle_config.hom_setting&0x4 &&
(*target) && (*target)->type == BL_HOM && bl->type != BL_HOM)
@@ -1326,6 +1327,7 @@ int mob_unlocktarget(struct mob_data *md, int64 tick) {
break;
//Because it is not unset when the mob finishes walking.
md->state.skillstate = MSS_IDLE;
+ FALLTHROUGH
case MSS_IDLE:
// Idle skill.
if (!(++md->ud.walk_count%IDLE_SKILL_INTERVAL) && mob->skill_use(md, tick, -1))
@@ -3289,6 +3291,7 @@ int mobskill_use(struct mob_data *md, int64 tick, int event) {
bl = map->id2bl(md->master_id);
if (bl) //Otherwise, fall through.
break;
+ FALLTHROUGH
case MST_FRIEND:
bl = fbl?fbl:(fmd?&fmd->bl:&md->bl);
break;
@@ -3331,6 +3334,7 @@ int mobskill_use(struct mob_data *md, int64 tick, int event) {
bl = map->id2bl(md->master_id);
if (bl) //Otherwise, fall through.
break;
+ FALLTHROUGH
case MST_FRIEND:
if (fbl) {
bl = fbl;
@@ -3339,6 +3343,7 @@ int mobskill_use(struct mob_data *md, int64 tick, int event) {
bl = &fmd->bl;
break;
} // else fall through
+ FALLTHROUGH
default:
bl = &md->bl;
break;
@@ -5057,7 +5062,7 @@ void mob_readskilldb(void) {
for( fi = 0; fi < ARRAYLENGTH(filename); ++fi ) {
if(fi > 0) {
char filepath[256];
- sprintf(filepath, "%s/%s", map->db_path, filename[fi]);
+ snprintf(filepath, 256, "%s/%s", map->db_path, filename[fi]);
if(!exists(filepath)) {
continue;
}
diff --git a/src/map/mob.h b/src/map/mob.h
index 60bc4b869..7f2accedf 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/npc.c b/src/map/npc.c
index 945a84957..72c451ef9 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -2167,12 +2167,15 @@ int npc_selllist(struct map_session_data *sd, struct itemlist *item_list)
}
if( nd->subtype != SHOP ) {
- if( !(nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type == NST_ZENY) )
+ if (!(nd->subtype == SCRIPT && nd->u.scr.shop && (nd->u.scr.shop->type == NST_ZENY || nd->u.scr.shop->type == NST_MARKET)))
return 1;
}
z = 0;
+ if (sd->status.zeny >= MAX_ZENY && nd->master_nd == NULL)
+ return 1;
+
// verify the sell list
for (i = 0; i < VECTOR_LENGTH(*item_list); i++) {
struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
@@ -2222,7 +2225,10 @@ int npc_selllist(struct map_session_data *sd, struct itemlist *item_list)
pc->delitem(sd, idx, entry->amount, 0, DELITEM_SOLD, LOG_TYPE_NPC);
}
- if( z > MAX_ZENY )
+ if (z + sd->status.zeny > MAX_ZENY && nd->master_nd == NULL)
+ return 1;
+
+ if (z > MAX_ZENY)
z = MAX_ZENY;
pc->getzeny(sd, (int)z, LOG_TYPE_NPC, NULL);
@@ -2426,24 +2432,22 @@ void npc_clearsrcfile(void)
npc->src_files = NULL;
}
-/// Adds a npc source file (or removes all)
-void npc_addsrcfile(const char* name)
+/**
+ * Adds a npc source file.
+ *
+ * @param name The file name to add.
+ */
+void npc_addsrcfile(const char *name)
{
struct npc_src_list* file;
struct npc_src_list* file_prev = NULL;
nullpo_retv(name);
- if( strcmpi(name, "clear") == 0 )
- {
- npc->clearsrcfile();
- return;
- }
// prevent multiple insert of source files
file = npc->src_files;
- while( file != NULL )
- {
- if( strcmp(name, file->name) == 0 )
+ while (file != NULL) {
+ if (strcmp(name, file->name) == 0)
return;// found the file, no need to insert it again
file_prev = file;
file = file->next;
@@ -2458,24 +2462,21 @@ void npc_addsrcfile(const char* name)
file_prev->next = file;
}
-/// Removes a npc source file (or all)
-void npc_delsrcfile(const char* name)
+/**
+ * Removes a npc source file.
+ *
+ * @param name The file name to remove.
+ */
+void npc_delsrcfile(const char *name)
{
struct npc_src_list* file = npc->src_files;
struct npc_src_list* file_prev = NULL;
nullpo_retv(name);
- if( strcmpi(name, "all") == 0 )
- {
- npc->clearsrcfile();
- return;
- }
- while( file != NULL )
- {
- if( strcmp(file->name, name) == 0 )
- {
- if( npc->src_files == file )
+ while (file != NULL) {
+ if (strcmp(file->name, name) == 0) {
+ if (npc->src_files == file)
npc->src_files = file->next;
else
file_prev->next = file->next;
diff --git a/src/map/npc.h b/src/map/npc.h
index 24ea9ea59..6180e9765 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/npc_chat.c b/src/map/npc_chat.c
index 4bd7d416d..b8caa5df3 100644
--- a/src/map/npc_chat.c
+++ b/src/map/npc_chat.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -393,7 +393,7 @@ int npc_chat_sub(struct block_list* bl, va_list ap)
// save out the matched strings
for (i = 0; i < r; i++)
{
- char var[12], val[255];
+ char var[15], val[255];
snprintf(var, sizeof(var), "$@p%i$", i);
libpcre->copy_substring(msg, offsets, r, i, val, sizeof(val));
script->set_var(sd, var, val);
diff --git a/src/map/packets.h b/src/map/packets.h
index 0badd94f5..c622cb89d 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -1868,15 +1868,111 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0859,-1);
#endif
+// 2010-12-21aRagexe
+#if PACKETVER >= 20101221
+// shuffle packets not added
+// new packets
+ packet(0x08b1,-1); // ZC_MCSTORE_NOTMOVEITEM_LIST
+#endif
+
+// 2011-01-11aRagexe
+#if PACKETVER >= 20110111
+// shuffle packets not added
+// new packets
+ packet(0x08b3,-1); // ZC_SHOWSCRIPT
+#endif
+
+// 2011-01-25aRagexe
+#if PACKETVER >= 20110125
+// shuffle packets not added
+// new packets
+ packet(0x08b4,2); // ZC_START_COLLECTION
+ packet(0x08b5,6,clif->pDull,2); // CZ_TRYCOLLECTION
+ packet(0x08b6,3); // ZC_TRYCOLLECTION
+#endif
+
+// 2011-01-31aRagexe
+#if PACKETVER >= 20110131
+// shuffle packets not added
+// new packets
+ packet(0x02f3,-1,clif->pDull); // CZ_IRMAIL_SEND
+ packet(0x02f4,3); // ZC_IRMAIL_SEND_RES
+ packet(0x02f5,7); // ZC_IRMAIL_NOTIFY
+ packet(0x02f6,7,clif->pDull,2); // CZ_IRMAIL_LIST
+#endif
+
+// 2011-02-22aRagexe
+#if PACKETVER >= 20110222
+// shuffle packets not added
+// new packets
+ packet(0x08c0,-1); // ZC_ACK_SE_CASH_ITEM_LIST2
+ packet(0x08c1,2,clif->pDull); // CZ_MACRO_START
+ packet(0x08c2,2,clif->pDull); // CZ_MACRO_STOP
+#endif
+
+// 2011-04-19aRagexe
+#if PACKETVER >= 20110419
+// shuffle packets not added
+// new packets
+ packet(0x08c7,-1); // ZC_SKILL_ENTRY3
+#endif
+
+// 2011-06-14aRagexe
+#if PACKETVER >= 20110614
+// shuffle packets not added
+// new packets
+ packet(0x08c8,34); // ZC_NOTIFY_ACT3
+ packet(0x08c9,2,clif->pCashShopSchedule,0);
+ packet(0x08ca,-1); // ZC_ACK_SCHEDULER_CASHITEM
+#endif
+
+// 2011-06-27aRagexe
+#if PACKETVER >= 20110627
+// shuffle packets not added
+// new packets
+ packet(0x08cb,-1); // ZC_PERSONAL_INFOMATION
+#endif
+
//2011-07-18aRagexe (Thanks to Yommy!)
#if PACKETVER >= 20110718
+// shuffle packets not added
packet(0x0844,2,clif->pCashShopOpen,2);/* tell server cashshop window is being open */
packet(0x084a,2,clif->pCashShopClose,2);/* tell server cashshop window is being closed */
packet(0x0846,4,clif->pCashShopReqTab,2);
- packet(0x08c9,2,clif->pCashShopSchedule,0);
packet(0x0848,-1,clif->pCashShopBuy,2);
#endif
+// 2011-08-02aRagexe
+#if PACKETVER >= 20110802
+// shuffle packets not added
+// new packets
+ packet(0x09dc,2); // unknown
+#endif
+
+// 2011-08-09aRagexe
+#if PACKETVER >= 20110809
+// shuffle packets not added
+// new packets
+ packet(0x08cf,10); // ZC_SPIRITS_ATTRIBUTE
+ packet(0x08d0,9); // ZC_REQ_WEAR_EQUIP_ACK2
+ packet(0x08d1,7); // ZC_REQ_TAKEOFF_EQUIP_ACK2
+ packet(0x08d2,10); // ZC_FASTMOVE
+#endif
+
+// 2011-08-16aRagexe
+#if PACKETVER >= 20110816
+// shuffle packets not added
+// new packets
+ packet(0x08d3,10); // ZC_SE_CASHSHOP_UPDATE
+#endif
+
+// 2011-09-28aRagexe
+#if PACKETVER >= 20110928
+// shuffle packets not added
+// new packets
+ packet(0x08d6,6); // ZC_CLEAR_DIALOG
+#endif
+
//2011-10-05aRagexeRE
#if PACKETVER >= 20111005
packet(0x0364,5,clif->pWalkToXY,2);
@@ -1891,7 +1987,6 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x088a,6,clif->pGetCharNameRequest,2);
packet(0x0838,6,clif->pSolveCharName,2);
packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x08d2,10);
packet(0x08d7,28,clif->pBGQueueRegister,2);
packet(0x090a,26,clif->pBGQueueCheckState,2);
packet(0x08da,26,clif->pBGQueueRevokeReq,2);
@@ -1954,6 +2049,8 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
packet(0x0439,8,clif->pUseItem,2,4);
+// changed packet sizes
+ packet(0x08e2,27); // ZC_NAVIGATION_ACTIVE
#endif
//2012-04-10aRagexeRE
@@ -2021,7 +2118,6 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x08FB,6,clif->pDull,2); //bookingcanceljoinparty
packet(0x0907,5,clif->pMoveItem,2,4);
packet(0x0908,5);
- packet(0x08CF,10);//Amulet spirits
packet(0x0977,14);//Monster HP Bar
#endif
@@ -2042,18 +2138,26 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096A,6,clif->pGetCharNameRequest,2);
packet(0x0368,6,clif->pSolveCharName,2);
packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4);
- packet(0x08d2,10);
packet(0x0916,26,clif->pGuildInvite2,2);
#endif
+// 2012-05-02aRagexeRE
+#if PACKETVER >= 20120502
+// shuffle packets not added
+ packet(0x097d,288); // ZC_ACK_RANKING
+ packet(0x097e,12); // ZC_UPDATE_RANKING_POINT
+#endif
+
#ifndef PACKETVER_RE
#if PACKETVER >= 20120604
+// shuffle packets not added
packet(0x0861,18,clif->pPartyRecruitRegisterReq,2,4,6);
#endif
#endif
//2012-06-18aRagexeRE
#if PACKETVER >= 20120618
+// shuffle packets not added
packet(0x0983,29);
#endif
@@ -2112,6 +2216,8 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
packet(0x096A,6,clif->pGetCharNameRequest,2);
packet(0x0368,6,clif->pSolveCharName,2);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-03-20Ragexe (Judas + Yommy)
@@ -2142,14 +2248,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x085D,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- //packet(0x095A,8); // unknown usage
packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x086D,26,clif->pPartyInvite2,2);
- //packet(0x0890,4); // unknown usage
packet(0x086F,26,clif->pFriendsListAdd,2);
packet(0x093F,5,clif->pHomMenu,2,4);
packet(0x0947,36,clif->pStoragePassword,0);
+ packet(0x0890,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x095a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
// New Packets
@@ -2187,14 +2293,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x092D,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- //packet(0x08AA,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0947,26,clif->pPartyInvite2,2);
- //packet(0x0862,4); // CZ_GANGSI_RANK
packet(0x0962,26,clif->pFriendsListAdd,2);
packet(0x0931,5,clif->pHomMenu,2,4);
packet(0x093E,36,clif->pStoragePassword,0);
+ packet(0x0862,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x08aa,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
@@ -2226,14 +2332,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x089B,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- //packet(0x0965,8); // CZ_JOIN_BATTLE_FIELD
packet(0x086A,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x08A9,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0950,26,clif->pPartyInvite2,2);
- //packet(0x08AC,4); // CZ_GANGSI_RANK
packet(0x0362,26,clif->pFriendsListAdd,2);
packet(0x0926,5,clif->pHomMenu,2,4);
packet(0x088E,36,clif->pStoragePassword,0);
+ packet(0x08ac,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0965,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
@@ -2264,14 +2370,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x088E,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x08A8,26,clif->pPartyInvite2,2);
- // packet(0x0888,4); // CZ_GANGSI_RANK
packet(0x0877,26,clif->pFriendsListAdd,2);
packet(0x023B,5,clif->pHomMenu,2,4);
packet(0x0956,36,clif->pStoragePassword,0);
+ packet(0x0888,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x088e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-05Ragexe (Shakto)
@@ -2301,19 +2407,20 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x023B,26,clif->pFriendsListAdd,2);
packet(0x0361,5,clif->pHomMenu,2,4);
packet(0x0883,36,clif->pStoragePassword,0);
packet(0x097C,4,clif->pRanklist);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-06-12Ragexe (Shakto)
#if PACKETVER >= 20130612
+// most shuffle packets used from 20130605
packet(0x087E,5,clif->pChangeDir,2,4);
packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0940,26,clif->pFriendsListAdd,2);
@@ -2348,14 +2455,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x08A7,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x087A,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x095B,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0887,26,clif->pPartyInvite2,2);
- // packet(0x0878,4); // CZ_GANGSI_RANK
packet(0x0953,26,clif->pFriendsListAdd,2);
packet(0x02C4,5,clif->pHomMenu,2,4);
packet(0x0864,36,clif->pStoragePassword,0);
+ packet(0x0878,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x087a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-26Ragexe (Shakto)
@@ -2385,14 +2492,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x0860,8); // CZ_JOIN_BATTLE_FIELD
packet(0x08A5,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x088C,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0895,26,clif->pPartyInvite2,2);
- // packet(0x088F,4); // CZ_GANGSI_RANK
packet(0x08AB,26,clif->pFriendsListAdd,2);
packet(0x0960,5,clif->pHomMenu,2,4);
packet(0x0930,36,clif->pStoragePassword,0);
+ packet(0x0860,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x088f,4,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-07-03Ragexe (Shakto)
@@ -2410,18 +2517,19 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x0360,26,clif->pFriendsListAdd,2);
packet(0x094A,5,clif->pHomMenu,2,4);
packet(0x0873,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
#endif
/* Bank System [Yommy/Hercules] */
#if PACKETVER >= 20130724
+// shuffle packets not added
packet(0x09A6,12); // ZC_BANKING_CHECK
packet(0x09A7,10,clif->pBankDeposit,2,4,6);
packet(0x09A8,16); // ZC_ACK_BANKING_DEPOSIT
@@ -2462,14 +2570,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x023B,26,clif->pFriendsListAdd,2);
packet(0x0361,5,clif->pHomMenu,2,4);
packet(0x0887,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-08-14aRagexe - Themon
@@ -2499,14 +2607,14 @@ packet(0x96e,-1,clif->ackmergeitems);
#else // not PACKETVER_RE
packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4);
#endif // PACKETVER_RE
- // packet(0x0896,8); // CZ_JOIN_BATTLE_FIELD
packet(0x08A4,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0927,26,clif->pPartyInvite2,2);
- // packet(0x0815,4); // CZ_GANGSI_RANK
packet(0x0281,26,clif->pFriendsListAdd,2);
packet(0x0958,5,clif->pHomMenu,2,4);
packet(0x0885,36,clif->pStoragePassword,0);
+ packet(0x0815,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0896,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2013-12-18bRagexe - Yommy
@@ -2532,14 +2640,14 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x092F,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x087B,4); // CZ_GANGSI_RANK
packet(0x08AB,26,clif->pFriendsListAdd,2);
packet(0x0811,5,clif->pHomMenu,2,4);
packet(0x085C,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x087b,4,clif->pDull); // CZ_GANGSI_RANK
/* New */
packet(0x09d4,2,clif->pNPCShopClosed);
packet(0x09ce,102,clif->pGM_Monster_Item,2);
@@ -2571,15 +2679,16 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x023B,26,clif->pFriendsListAdd,2);
packet(0x0361,5,clif->pHomMenu,2,4);
packet(0x08A4,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x09df,7);
+ packet(0x09cb,17);
#endif
// 2013-12-30aRagexe - Yommy
@@ -2605,20 +2714,21 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x094C,2,clif->pReqCloseBuyingStore,0);
packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x091F,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x093E,8); // CZ_JOIN_BATTLE_FIELD
packet(0x022D,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x089C,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x08A9,26,clif->pPartyInvite2,2);
- // packet(0x087E,4); // CZ_GANGSI_RANK
packet(0x0943,26,clif->pFriendsListAdd,2);
packet(0x0949,5,clif->pHomMenu,2,4);
packet(0x091D,36,clif->pStoragePassword,0);
+ packet(0x087e,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x093e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2014 Packet Data
// 2014-01-15eRagexe - YomRawr
#if PACKETVER >= 20140115
+// probably for some shuffle packets used wrong id
packet(0x0369,7,clif->pActionRequest,2,6);
packet(0x083C,10,clif->pUseSkillToId,2,4,6);
packet(0x0437,5,clif->pWalkToXY,2);
@@ -2640,11 +2750,11 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0965,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x096A,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x088A,8); // CZ_JOIN_BATTLE_FIELD
+ // packet(0x088A,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x095D,26,clif->pPartyInvite2,2);
- // packet(0x095B,4); // CZ_GANGSI_RANK
+ // packet(0x095B,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x089B,26,clif->pFriendsListAdd,2);
packet(0x092D,5,clif->pHomMenu,2,4);
packet(0x0865,36,clif->pStoragePassword,0);
@@ -2673,14 +2783,14 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x023B,26,clif->pFriendsListAdd,2);
packet(0x0361,5,clif->pHomMenu,2,4);
packet(0x0938,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x09DF,7);
#endif
@@ -2707,14 +2817,14 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0878,4); // CZ_GANGSI_RANK
packet(0x07E4,26,clif->pFriendsListAdd,2);
packet(0x0934,5,clif->pHomMenu,2,4);
packet(0x095e,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0878,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x09DF,7);
#endif
@@ -2741,14 +2851,14 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0867,2,clif->pReqCloseBuyingStore,0);
packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x08AC,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x094C,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0890,26,clif->pPartyInvite2,2);
- // packet(0x088C,4); // CZ_GANGSI_RANK
packet(0x089A,26,clif->pFriendsListAdd,2);
packet(0x0896,5,clif->pHomMenu,2,4);
packet(0x0926,36,clif->pStoragePassword,0);
+ packet(0x088c,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x094c,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
packet(0x09DF,7);
#endif
@@ -2775,17 +2885,28 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0436,4); // CZ_GANGSI_RANK
packet(0x023B,26,clif->pFriendsListAdd,2);
packet(0x0361,5,clif->pHomMenu,2,4);
packet(0x095C,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x09DF,7);
#endif
+#if PACKETVER >= 20140613
+// no shuffle packets
+ packet(0x0a0e,14);
+#endif
+
+// 2014-06-25aRagexeRE
+#if PACKETVER >= 20140625
+// no shuffle packets
+ packet(0x0a28,3); // ZC_ACK_OPENSTORE2
+#endif
+
// 2014-10-16aRagexe - YomRawr
#if PACKETVER >= 20141016
packet(0x0369,7,clif->pActionRequest,2,6);
@@ -2809,16 +2930,18 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x086E,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0802,26,clif->pPartyInvite2,2);
- // packet(0x0922,4); // CZ_GANGSI_RANK
packet(0x094B,26,clif->pFriendsListAdd,2);
packet(0x0364,5,clif->pHomMenu,2,4);
packet(0x0936,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0922,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x09DF,7);
packet(0x0a00,269);
+ packet(0x09e5,18); // ZC_DELETEITEM_FROM_MCSTORE2
+ packet(0x09e6,22); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
#endif
/* Roulette System [Yommy/Hercules] */
@@ -2858,18 +2981,19 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0817,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4);
- // packet(0x092B,8); // CZ_JOIN_BATTLE_FIELD
packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x093B,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x0896,26,clif->pPartyInvite2,2);
- // packet(0x08AB,4); // CZ_GANGSI_RANK
packet(0x091A,26,clif->pFriendsListAdd,2);
packet(0x0899,5,clif->pHomMenu,2,4);
packet(0x0438,36,clif->pStoragePassword,0);
packet(0x0A01,3,clif->pHotkeyRowShift,2);
+ packet(0x08ab,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x092b,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
#if PACKETVER >= 20150226
+// shuffle packets not added
packet(0x0A09,45);
packet(0x0A0A,47);
packet(0x0A0B,47);
@@ -2902,11 +3026,11 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x022D,2,clif->pReqCloseBuyingStore,0);
packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x02C4,8); // CZ_JOIN_BATTLE_FIELD
+ packet(0x02C4,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8);
packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18);
packet(0x094A,26,clif->pPartyInvite2,2);
- packet(0x0927,4); // CZ_GANGSI_RANK
+ packet(0x0927,4,clif->pDull); // CZ_GANGSI_RANK
packet(0x08A8,26,clif->pFriendsListAdd,2);
packet(0x0817,5,clif->pHomMenu,2,4);
packet(0x0923,36,clif->pStoragePassword,0);
@@ -2914,13 +3038,150 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0A2E,6,clif->pDull); // TITLE
packet(0x0A02,4); // ZC_DRESSROOM_OPEN
packet(0x0A35,4,clif->pOneClick_ItemIdentify,2);
+ packet(0x0a27,8); // ZC_RECOVERY2
+ packet(0x09f7,75); // ZC_PROPERTY_HOMUN_2
#endif
#if PACKETVER >= 20150805 // RagexeRE
+// shuffle packets not added
packet(0x097f,-1); // ZC_SELECTCART
packet(0x0980,7,clif->pSelectCart); // CZ_SELECTCART
#endif
+// 2015-10-01bRagexeRE
+#if PACKETVER >= 20151001
+ packet(0x0369,7,clif->pActionRequest,2,6);
+ packet(0x083C,10,clif->pUseSkillToId,2,4,6);
+ packet(0x0437,5,clif->pWalkToXY,2);
+ packet(0x035F,6,clif->pTickSend,2);
+ packet(0x0202,5,clif->pChangeDir,2,4);
+ packet(0x07E4,6,clif->pTakeItem,2);
+ packet(0x0362,6,clif->pDropItem,2,4);
+ packet(0x07EC,8,clif->pMoveToKafra,2,4);
+ packet(0x0364,8,clif->pMoveFromKafra,2,4);
+ packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
+ packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
+ packet(0x096A,6,clif->pGetCharNameRequest,2);
+ packet(0x0368,6,clif->pSolveCharName,2);
+ packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
+ packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
+ packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
+ packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
+ packet(0x0360,6,clif->pReqClickBuyingStore,2);
+ packet(0x0817,2,clif->pReqCloseBuyingStore,0);
+ packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
+ packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
+ packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
+ packet(0x0802,26,clif->pPartyInvite2,2);
+ packet(0x023B,26,clif->pFriendsListAdd,2);
+ packet(0x0361,5,clif->pHomMenu,2,4);
+ packet(0x0860,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+#endif
+
+// 2015-10-29aRagexe
+#if PACKETVER >= 20151029
+ packet(0x0369,7,clif->pActionRequest,2,6);
+ packet(0x083C,10,clif->pUseSkillToId,2,4,6);
+ packet(0x0437,5,clif->pWalkToXY,2);
+ packet(0x035F,6,clif->pTickSend,2);
+ packet(0x0202,5,clif->pChangeDir,2,4);
+ packet(0x07E4,6,clif->pTakeItem,2);
+ packet(0x0362,6,clif->pDropItem,2,4);
+ packet(0x07EC,8,clif->pMoveToKafra,2,4);
+ packet(0x0364,8,clif->pMoveFromKafra,2,4);
+ packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
+ packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
+ packet(0x096A,6,clif->pGetCharNameRequest,2);
+ packet(0x0368,6,clif->pSolveCharName,2);
+ packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
+ packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
+ packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
+ packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
+ packet(0x0360,6,clif->pReqClickBuyingStore,2);
+ packet(0x0817,2,clif->pReqCloseBuyingStore,0);
+ packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
+ packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
+ packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
+ packet(0x0802,26,clif->pPartyInvite2,2);
+ packet(0x023B,26,clif->pFriendsListAdd,2);
+ packet(0x0361,5,clif->pHomMenu,2,4);
+ packet(0x0860,36,clif->pStoragePassword,0);
+ packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0a39,36);
+#endif
+
+// 2015-11-04aRagexe
+#if PACKETVER >= 20151104
+ packet(0x0369,7,clif->pActionRequest,2,6);
+ packet(0x083C,10,clif->pUseSkillToId,2,4,6);
+ packet(0x0363,5,clif->pWalkToXY,2);
+ packet(0x0886,6,clif->pTickSend,2);
+ packet(0x0928,5,clif->pChangeDir,2,4);
+ packet(0x0964,6,clif->pTakeItem,2);
+ packet(0x0437,6,clif->pDropItem,2,4);
+ packet(0x088B,8,clif->pMoveToKafra,2,4);
+ packet(0x0364,8,clif->pMoveFromKafra,2,4);
+ packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
+ packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
+ packet(0x0887,6,clif->pGetCharNameRequest,2);
+ packet(0x0368,6,clif->pSolveCharName,2);
+ packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
+ packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
+ packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
+ packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12);
+ packet(0x0436,6,clif->pReqClickBuyingStore,2);
+ packet(0x0817,2,clif->pReqCloseBuyingStore,0);
+ packet(0x023B,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
+ packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x093A,-1,clif->pItemListWindowSelected,2,4,8,12);
+ packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18);
+ packet(0x08A5,26,clif->pPartyInvite2,2);
+ packet(0x07EC,26,clif->pFriendsListAdd,2);
+ packet(0x088D,5,clif->pHomMenu,2,4);
+ packet(0x0940,36,clif->pStoragePassword,2,4,20);
+ packet(0x08a3,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0939,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0a39,36);
+#endif
+
+// 2015-12-16aRagexe
+#if PACKETVER >= 20151216
+ packet(0x089D,7,clif->pActionRequest,2,6);
+ packet(0x0968,10,clif->pUseSkillToId,2,4,6);
+ packet(0x08A2,5,clif->pWalkToXY,2);
+ packet(0x085B,6,clif->pTickSend,2);
+ packet(0x022D,5,clif->pChangeDir,2,4);
+ packet(0x08A9,6,clif->pTakeItem,2);
+ packet(0x0966,6,clif->pDropItem,2,4);
+ packet(0x08AC,8,clif->pMoveToKafra,2,4);
+ packet(0x0864,8,clif->pMoveFromKafra,2,4);
+ packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8);
+ packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
+ packet(0x088B,6,clif->pGetCharNameRequest,2);
+ packet(0x089E,6,clif->pSolveCharName,2);
+ packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10);
+ packet(0x0960,2,clif->pSearchStoreInfoNextPage,0);
+ packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
+ packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12);
+ packet(0x0361,6,clif->pReqClickBuyingStore,2);
+ packet(0x083C,2,clif->pReqCloseBuyingStore,0);
+ packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
+ packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
+ packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8);
+ packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18);
+ packet(0x086E,26,clif->pPartyInvite2,2);
+ packet(0x091D,26,clif->pFriendsListAdd,2);
+ packet(0x0362,5,clif->pHomMenu,2,4);
+ packet(0x0885,36,clif->pStoragePassword,0);
+ packet(0x0364,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x086a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+#endif
+
/* PacketKeys: http://herc.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */
#if PACKETVER >= 20110817
packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */
@@ -3166,6 +3427,22 @@ packet(0x96e,-1,clif->ackmergeitems);
packetKeys(0x62C86D09,0x75944F17,0x112C133D); /* Dastgir */
#endif
+#if PACKETVER >= 20151001
+ packetKeys(0x5CFF4561,0x32514AD1,0x06D126D1); /* Dastgir */
+#endif
+
+#if PACKETVER >= 20151029
+ packetKeys(0x45B945B9,0x45B945B9,0x45B945B9); /* Dastgir */
+#endif
+
+#if PACKETVER >= 20151104
+ packetKeys(0x4C17382A,0x7ED174C9,0x29961E4F); /* ossi0110 */
+#endif
+
+#if PACKETVER >= 20151216
+ packetKeys(0x25DD643D,0x61AC39DE,0x77A8206D); /* Dastgir */
+#endif
+
#if defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3);
#endif
diff --git a/src/map/party.c b/src/map/party.c
index c471cceb9..1c505bacc 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -236,24 +236,28 @@ void party_check_state(struct party_data *p) {
int i;
nullpo_retv(p);
memset(&p->state, 0, sizeof(p->state));
- for (i = 0; i < MAX_PARTY; i ++) {
+ for (i = 0; i < MAX_PARTY; i++) {
if (!p->party.member[i].online) continue; //Those not online shouldn't apart to skill usage and all that.
switch (p->party.member[i].class_) {
case JOB_MONK:
case JOB_BABY_MONK:
case JOB_CHAMPION:
+ case JOB_SURA:
+ case JOB_SURA_T:
p->state.monk = 1;
- break;
+ break;
case JOB_STAR_GLADIATOR:
p->state.sg = 1;
- break;
+ break;
case JOB_SUPER_NOVICE:
case JOB_SUPER_BABY:
+ case JOB_SUPER_NOVICE_E:
+ case JOB_SUPER_BABY_E:
p->state.snovice = 1;
- break;
+ break;
case JOB_TAEKWON:
p->state.tk = 1;
- break;
+ break;
}
}
}
diff --git a/src/map/party.h b/src/map/party.h
index 05037eb04..aa0977499 100644
--- a/src/map/party.h
+++ b/src/map/party.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/path.c b/src/map/path.c
index f5e08d4df..509a82c7e 100644
--- a/src/map/path.c
+++ b/src/map/path.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -192,10 +192,8 @@ bool path_search_long(struct shootpath_data *spd,struct block_list *bl,int16 m,i
/// Ensures there is enough space in array to store new element.
static void heap_push_node(struct node_heap *heap, struct path_node *node)
{
-#ifndef __clang_analyzer__ // TODO: Figure out why clang's static analyzer doesn't like this
BHEAP_ENSURE(*heap, 1, 256);
BHEAP_PUSH2(*heap, node, NODE_MINTOPCMP, swap_ptr);
-#endif // __clang_analyzer__
}
/// Updates path_node in the binary node_heap.
diff --git a/src/map/path.h b/src/map/path.h
index c84b77eb0..1e67a8d97 100644
--- a/src/map/path.h
+++ b/src/map/path.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/pc.c b/src/map/pc.c
index 51d02ff40..674eeb90f 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -490,7 +490,7 @@ void pc_rental_expire(struct map_session_data *sd, int i) {
/* Soon to be dropped, we got plans to integrate it with item db */
switch( nameid ) {
- case ITEMID_REINS_OF_MOUNT:
+ case ITEMID_BOARDING_HALTER:
status_change_end(&sd->bl,SC_ALL_RIDING,INVALID_TIMER);
break;
case ITEMID_LOVE_ANGEL:
@@ -1749,7 +1749,7 @@ int pc_calc_skilltree_normalize_job(struct map_session_data *sd)
sd->sktree.second = sd->sktree.third = 0;
// limit 1st class and above to novice job levels
- if(skill_point < novice_skills) {
+ if(skill_point < novice_skills && (sd->class_&MAPID_BASEMASK) != MAPID_SUMMONER) {
c = MAPID_NOVICE;
}
// limit 2nd class and above to first class job levels (super novices are exempt)
@@ -4965,6 +4965,7 @@ int pc_useitem(struct map_session_data *sd,int n) {
sd->sc.data[SC_DEEP_SLEEP] ||
sd->sc.data[SC_SATURDAY_NIGHT_FEVER] ||
sd->sc.data[SC_COLD] ||
+ sd->sc.data[SC_SUHIDE] ||
pc_ismuted(&sd->sc, MANNER_NOITEM)
))
return 0;
@@ -4976,7 +4977,7 @@ int pc_useitem(struct map_session_data *sd,int n) {
return 0;
/* Items with delayed consume are not meant to work while in mounts except reins of mount(12622) */
- if( sd->inventory_data[n]->flag.delay_consume && nameid != ITEMID_REINS_OF_MOUNT ) {
+ if (sd->inventory_data[n]->flag.delay_consume && nameid != ITEMID_BOARDING_HALTER) {
if( sd->sc.data[SC_ALL_RIDING] )
return 0;
else if( pc_issit(sd) )
@@ -5003,7 +5004,7 @@ int pc_useitem(struct map_session_data *sd,int n) {
} else {// not yet used item (all slots are initially empty)
sd->item_delay[i].nameid = nameid;
}
- if (!(nameid == ITEMID_REINS_OF_MOUNT && pc_hasmount(sd)))
+ if (!(nameid == ITEMID_BOARDING_HALTER && pc_hasmount(sd)))
sd->item_delay[i].tick = tick + sd->inventory_data[n]->delay;
} else {// should not happen
ShowError("pc_useitem: Exceeded item delay array capacity! (nameid=%d, char_id=%d)\n", nameid, sd->status.char_id);
@@ -5881,6 +5882,7 @@ int pc_jobid2mapid(unsigned short b_class)
case JOB_XMAS: return MAPID_XMAS;
case JOB_SUMMER: return MAPID_SUMMER;
case JOB_GANGSI: return MAPID_GANGSI;
+ case JOB_SUMMONER: return MAPID_SUMMONER;
//2-1 Jobs
case JOB_SUPER_NOVICE: return MAPID_SUPER_NOVICE;
case JOB_KNIGHT: return MAPID_KNIGHT;
@@ -6023,6 +6025,7 @@ int pc_mapid2jobid(unsigned short class_, int sex)
case MAPID_XMAS: return JOB_XMAS;
case MAPID_SUMMER: return JOB_SUMMER;
case MAPID_GANGSI: return JOB_GANGSI;
+ case MAPID_SUMMONER: return JOB_SUMMONER;
//2-1 Jobs
case MAPID_SUPER_NOVICE: return JOB_SUPER_NOVICE;
case MAPID_KNIGHT: return JOB_KNIGHT;
@@ -6362,6 +6365,9 @@ const char* job_name(int class_)
case JOB_REBELLION:
return msg_txt(655);
+ case JOB_SUMMONER:
+ return msg_txt(669);
+
default:
return msg_txt(620); // "Unknown Job"
}
@@ -6487,6 +6493,7 @@ int pc_check_job_name(const char *name) {
{ "Kagerou", JOB_KAGEROU },
{ "Oboro", JOB_OBORO },
{ "Rebellion", JOB_REBELLION },
+ { "Summoner", JOB_SUMMONER },
};
nullpo_retr(-1, name);
@@ -7398,6 +7405,9 @@ int pc_resetskill(struct map_session_data* sd, int flag)
if( homun_alive(sd->hd) && pc->checkskill(sd, AM_CALLHOMUN) )
homun->vaporize(sd, HOM_ST_REST);
+
+ if ((sd->sc.data[SC_SPRITEMABLE] && pc->checkskill(sd, SU_SPRITEMABLE)))
+ status_change_end(&sd->bl, SC_SPRITEMABLE, INVALID_TIMER);
}
for( i = 1; i < MAX_SKILL; i++ ) {
@@ -7422,7 +7432,9 @@ int pc_resetskill(struct map_session_data* sd, int flag)
}
// do not reset basic skill
- if( skill_id == NV_BASIC && (sd->class_&(MAPID_BASEMASK|JOBL_2)) != MAPID_NOVICE )
+ if (skill_id == NV_BASIC && (sd->class_&(MAPID_BASEMASK|JOBL_2)) != MAPID_NOVICE)
+ continue;
+ if (skill_id == SU_BASIC_SKILL && (sd->class_&MAPID_BASEMASK) != MAPID_SUMMONER)
continue;
if( sd->status.skill[i].flag == SKILL_FLAG_PERM_GRANTED )
@@ -8396,6 +8408,9 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
if( sd->sc.data[SC_EXTREMITYFIST2] )
sp = 0;
#endif
+ if (sd->sc.data[SC_BITESCAR]) {
+ hp = 0;
+ }
}
return status->heal(&sd->bl, hp, sp, 1);
@@ -8618,6 +8633,9 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
if(homun_alive(sd->hd) && !pc->checkskill(sd, AM_CALLHOMUN))
homun->vaporize(sd, HOM_ST_REST);
+ if ((sd->sc.data[SC_SPRITEMABLE] && pc->checkskill(sd, SU_SPRITEMABLE)))
+ status_change_end(&sd->bl, SC_SPRITEMABLE, INVALID_TIMER);
+
if(sd->status.manner < 0)
clif->changestatus(sd,SP_MANNER,sd->status.manner);
@@ -11504,7 +11522,7 @@ void pc_autotrade_update(struct map_session_data *sd, enum e_pc_autotrade_update
))
Sql_ShowDebug(map->mysql_handle);
}
- /* yes we want it to fall */
+ FALLTHROUGH
case PAUC_REFRESH:
for( i = 0; i < sd->vend_num; i++ ) {
if( sd->vending[i].amount == 0 )
@@ -11644,7 +11662,8 @@ bool pc_db_checkid(unsigned int class_)
|| (class_ >= JOB_BABY_RUNE && class_ <= JOB_BABY_MECHANIC2 )
|| (class_ >= JOB_SUPER_NOVICE_E && class_ <= JOB_SUPER_BABY_E )
|| (class_ >= JOB_KAGEROU && class_ <= JOB_OBORO )
- || (class_ >= JOB_REBELLION && class_ < JOB_MAX );
+ || (class_ == JOB_REBELLION)
+ || (class_ >= JOB_SUMMONER && class_ < JOB_MAX );
}
/**
@@ -11655,13 +11674,25 @@ bool pc_db_checkid(unsigned int class_)
int pc_have_magnifier(struct map_session_data *sd)
{
int n;
- n = pc->search_inventory(sd, ITEMID_MAGNIFIER);
+ n = pc->search_inventory(sd, ITEMID_SPECTACLES);
if (n == INDEX_NOT_FOUND)
- n = pc->search_inventory(sd, ITEMID_NOVICE_MAGNIFIER);
+ n = pc->search_inventory(sd, ITEMID_N_MAGNIFIER);
return n;
}
/**
+ * Checks if player have basic skills learned.
+ * @param sd Player Data
+ * @param level Required Level of Novice Skill
+ * @return bool true, if requirement is satisfied
+ */
+bool pc_check_basicskill(struct map_session_data *sd, int level) {
+ if (pc->checkskill(sd, NV_BASIC) >= level || pc->checkskill(sd, SU_BASIC_SKILL))
+ return true;
+ return false;
+}
+
+/**
* Verifies a chat message, searching for atcommands, checking if the sender
* character can chat, and updating the idle timer.
*
@@ -12117,4 +12148,6 @@ void pc_defaults(void) {
pc->update_idle_time = pc_update_idle_time;
pc->have_magnifier = pc_have_magnifier;
+
+ pc->check_basicskill = pc_check_basicskill;
}
diff --git a/src/map/pc.h b/src/map/pc.h
index fd446813f..5d1404b2a 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -635,6 +635,7 @@ END_ZEROED_BLOCK;
#define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle->bc->natural_heal_weight_rate )
#define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 )
#define pc_maxparameter(sd) ( \
+ ((sd)->class_&MAPID_BASEMASK) == MAPID_SUMMONER ? battle->bc->max_summoner_parameter : \
( ((sd)->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO \
|| ((sd)->class_&MAPID_UPPERMASK) == MAPID_REBELLION \
|| ((sd)->class_&MAPID_THIRDMASK) == MAPID_SUPER_NOVICE_E \
@@ -1094,6 +1095,7 @@ END_ZEROED_BLOCK; /* End */
bool (*process_chat_message) (struct map_session_data *sd, const char *message);
void (*check_supernovice_call) (struct map_session_data *sd, const char *message);
+ bool (*check_basicskill) (struct map_session_data *sd, int level);
};
#ifdef HERCULES_CORE
diff --git a/src/map/pc_groups.c b/src/map/pc_groups.c
index ccda34b1c..9645300ef 100644
--- a/src/map/pc_groups.c
+++ b/src/map/pc_groups.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -310,6 +310,7 @@ static void read_config(void) {
*/
bool pc_group_has_permission(GroupSettings *group, unsigned int permission)
{
+ nullpo_retr(false, group);
return ((group->e_permissions&permission) != 0);
}
@@ -319,6 +320,7 @@ bool pc_group_has_permission(GroupSettings *group, unsigned int permission)
*/
bool pc_group_should_log_commands(GroupSettings *group)
{
+ nullpo_retr(true, group);
return group->log_commands;
}
@@ -348,6 +350,7 @@ GroupSettings* pc_group_id2group(int group_id)
*/
const char* pc_group_get_name(GroupSettings *group)
{
+ nullpo_retr(NULL, group);
return group->name;
}
@@ -359,6 +362,7 @@ const char* pc_group_get_name(GroupSettings *group)
*/
int pc_group_get_level(GroupSettings *group)
{
+ nullpo_ret(group);
return group->level;
}
@@ -370,6 +374,7 @@ int pc_group_get_level(GroupSettings *group)
*/
int pc_group_get_idx(GroupSettings *group)
{
+ nullpo_ret(group);
return group->index;
}
@@ -380,6 +385,7 @@ int pc_group_get_idx(GroupSettings *group)
unsigned int pc_groups_add_permission(const char *name) {
uint64 key = 0x1;
unsigned char i;
+ nullpo_ret(name);
for(i = 0; i < pcg->permission_count; i++) {
if( strcmpi(name,pcg->permissions[i].name) == 0 ) {
@@ -468,6 +474,7 @@ void do_init_pc_groups(void) {
static int group_db_clear_sub(union DBKey key, struct DBData *data, va_list args)
{
GroupSettings *group = DB->data2ptr(data);
+ nullpo_ret(group);
if (group->name)
aFree(group->name);
return 0;
diff --git a/src/map/pc_groups.h b/src/map/pc_groups.h
index 27eac7284..7c933f054 100644
--- a/src/map/pc_groups.h
+++ b/src/map/pc_groups.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/pet.c b/src/map/pet.c
index e2b257e10..9ac496659 100644
--- a/src/map/pet.c
+++ b/src/map/pet.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -91,6 +91,7 @@ void pet_set_intimate(struct pet_data *pd, int value)
int pet_create_egg(struct map_session_data *sd, int item_id)
{
int pet_id = pet->search_petDB_index(item_id, PET_EGG);
+ nullpo_ret(sd);
if (pet_id < 0) return 0; //No pet egg here.
if (!pc->inventoryblank(sd)) return 0; // Inventory full
sd->catch_target_class = pet->db[pet_id].class_;
@@ -117,6 +118,7 @@ int pet_unlocktarget(struct pet_data *pd)
* Pet Attack Skill [Skotlex]
*------------------------------------------*/
int pet_attackskill(struct pet_data *pd, int target_id) {
+ nullpo_ret(pd);
if (!battle_config.pet_status_support || !pd->a_skill ||
(battle_config.pet_equip_required && !pd->pet.equip))
return 0;
@@ -148,6 +150,7 @@ int pet_target_check(struct map_session_data *sd,struct block_list *bl,int type)
struct pet_data *pd;
int rate;
+ nullpo_ret(sd);
pd = sd->pd;
Assert_ret(pd->msd == 0 || pd->msd->pd == pd);
@@ -291,6 +294,7 @@ int pet_performance(struct map_session_data *sd, struct pet_data *pd)
{
int val;
+ nullpo_retr(1, pd);
if (pd->pet.intimate > 900)
val = (pd->petDB->s_perfor > 0)? 4:3;
else if(pd->pet.intimate > 750) //TODO: this is way too high
@@ -309,6 +313,8 @@ int pet_return_egg(struct map_session_data *sd, struct pet_data *pd)
struct item tmp_item;
int flag;
+ nullpo_retr(1, sd);
+ nullpo_retr(1, pd);
pet->lootitem_drop(pd,sd);
memset(&tmp_item,0,sizeof(tmp_item));
tmp_item.nameid = pd->petDB->EggID;
@@ -336,6 +342,7 @@ int pet_data_init(struct map_session_data *sd, struct s_pet *petinfo)
int i=0,interval=0;
nullpo_retr(1, sd);
+ nullpo_retr(1, petinfo);
Assert_retr(1, sd->status.pet_id == 0 || sd->pd == 0 || sd->pd->msd == sd);
if(sd->status.account_id != petinfo->account_id || sd->status.char_id != petinfo->char_id) {
@@ -407,6 +414,7 @@ int pet_data_init(struct map_session_data *sd, struct s_pet *petinfo)
int pet_birth_process(struct map_session_data *sd, struct s_pet *petinfo)
{
nullpo_retr(1, sd);
+ nullpo_retr(1, petinfo);
Assert_retr(1, sd->status.pet_id == 0 || sd->pd == 0 || sd->pd->msd == sd);
if(sd->status.pet_id && petinfo->incubate == 1) {
@@ -443,6 +451,7 @@ int pet_birth_process(struct map_session_data *sd, struct s_pet *petinfo)
int pet_recv_petdata(int account_id,struct s_pet *p,int flag) {
struct map_session_data *sd;
+ nullpo_retr(1, p);
sd = map->id2sd(account_id);
if(sd == NULL)
return 1;
@@ -651,6 +660,7 @@ int pet_change_name(struct map_session_data *sd, const char *name)
int i;
struct pet_data *pd;
nullpo_retr(1, sd);
+ nullpo_retr(1, name);
pd = sd->pd;
if((pd == NULL) || (pd->pet.rename_flag == 1 && !battle_config.pet_rename))
@@ -666,9 +676,12 @@ int pet_change_name(struct map_session_data *sd, const char *name)
int pet_change_name_ack(struct map_session_data *sd, const char *name, int flag)
{
- struct pet_data *pd = sd->pd;
+ struct pet_data *pd;
char *newname = NULL;
- if (!pd) return 0;
+ nullpo_ret(sd);
+ nullpo_ret(name);
+ pd = sd->pd;
+ if (pd == NULL) return 0;
newname = aStrndup(name, NAME_LENGTH-1);
normalize_name(newname, " ");//bugreport:3032 // FIXME[Haru]: This should be normalized by the inter-server (so that it's const here)
@@ -724,6 +737,8 @@ int pet_unequipitem(struct map_session_data *sd, struct pet_data *pd) {
struct item tmp_item;
int nameid,flag;
+ nullpo_retr(1, sd);
+ nullpo_retr(1, pd);
if(pd->pet.equip == 0)
return 1;
@@ -762,6 +777,7 @@ int pet_unequipitem(struct map_session_data *sd, struct pet_data *pd) {
int pet_food(struct map_session_data *sd, struct pet_data *pd) {
int i, food_id;
+ nullpo_retr(1, pd);
food_id = pd->petDB->FoodID;
i = pc->search_inventory(sd, food_id);
if(i == INDEX_NOT_FOUND) {
@@ -847,6 +863,7 @@ int pet_randomwalk(struct pet_data *pd, int64 tick)
int pet_ai_sub_hard(struct pet_data *pd, struct map_session_data *sd, int64 tick) {
struct block_list *target = NULL;
+ nullpo_ret(pd);
if(pd->bl.prev == NULL || sd == NULL || sd->bl.prev == NULL)
return 0;
@@ -959,6 +976,7 @@ int pet_ai_sub_hard(struct pet_data *pd, struct map_session_data *sd, int64 tick
int pet_ai_sub_foreachclient(struct map_session_data *sd,va_list ap) {
int64 tick = va_arg(ap,int64);
+ nullpo_ret(sd);
if(sd->status.pet_id && sd->pd)
pet->ai_sub_hard(sd->pd,sd,tick);
@@ -1114,7 +1132,8 @@ int pet_recovery_timer(int tid, int64 tick, int id, intptr_t data) {
if(sd==NULL || sd->pd == NULL || sd->pd->recovery == NULL)
return 1;
- pd=sd->pd;
+ pd = sd->pd;
+ nullpo_retr(1, pd);
if(pd->recovery->timer != tid) {
ShowError("pet_recovery_timer %d != %d\n",pd->recovery->timer,tid);
@@ -1146,6 +1165,7 @@ int pet_skill_support_timer(int tid, int64 tick, int id, intptr_t data) {
return 1;
pd=sd->pd;
+ nullpo_retr(1, pd);
if(pd->s_skill->timer != tid) {
ShowError("pet_skill_support_timer %d != %d\n",pd->s_skill->timer,tid);
diff --git a/src/map/pet.h b/src/map/pet.h
index 79cbeddae..9a0287b42 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/quest.c b/src/map/quest.c
index 79328ae9d..ed8e5bd33 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -81,6 +81,7 @@ int quest_pc_login(struct map_session_data *sd)
int i;
#endif
+ nullpo_retr(1, sd);
if(sd->avail_quests == 0)
return 1;
@@ -111,6 +112,7 @@ int quest_add(struct map_session_data *sd, int quest_id)
int n;
struct quest_db *qi = quest->db(quest_id);
+ nullpo_retr(-1, sd);
if( qi == &quest->dummy ) {
ShowError("quest_add: quest %d not found in DB.\n", quest_id);
return -1;
@@ -122,6 +124,7 @@ int quest_add(struct map_session_data *sd, int quest_id)
}
n = sd->avail_quests; // Insertion point
+ Assert_retr(-1, sd->avail_quests <= sd->num_quests);
sd->num_quests++;
sd->avail_quests++;
@@ -163,6 +166,7 @@ int quest_change(struct map_session_data *sd, int qid1, int qid2)
int i;
struct quest_db *qi = quest->db(qid2);
+ nullpo_retr(-1, sd);
if( qi == &quest->dummy ) {
ShowError("quest_change: quest %d not found in DB.\n", qid2);
return -1;
@@ -213,6 +217,7 @@ int quest_delete(struct map_session_data *sd, int quest_id)
{
int i;
+ nullpo_retr(-1, sd);
//Search for quest
ARR_FIND(0, sd->num_quests, i, sd->quest_log[i].quest_id == quest_id);
@@ -283,6 +288,7 @@ void quest_update_objective(struct map_session_data *sd, int mob_id)
{
int i,j;
+ nullpo_retv(sd);
for (i = 0; i < sd->avail_quests; i++) {
struct quest_db *qi = NULL;
@@ -338,6 +344,7 @@ int quest_update_status(struct map_session_data *sd, int quest_id, enum quest_st
{
int i;
+ nullpo_retr(-1, sd);
ARR_FIND(0, sd->avail_quests, i, sd->quest_log[i].quest_id == quest_id);
if( i == sd->avail_quests ) {
ShowError("quest_update_status: Character %d doesn't have quest %d.\n", sd->status.char_id, quest_id);
@@ -388,6 +395,7 @@ int quest_check(struct map_session_data *sd, int quest_id, enum quest_check_type
{
int i;
+ nullpo_retr(-1, sd);
ARR_FIND(0, sd->num_quests, i, sd->quest_log[i].quest_id == quest_id);
if (i == sd->num_quests)
return -1;
@@ -431,6 +439,7 @@ struct quest_db *quest_read_db_sub(struct config_setting_t *cs, int n, const cha
struct config_setting_t *t = NULL;
int i32 = 0, quest_id;
const char *str = NULL;
+ nullpo_retr(NULL, cs);
/*
* Id: Quest ID [int]
* Name: Quest Name [string]
@@ -532,7 +541,7 @@ int quest_read_db(void)
int i = 0, count = 0;
const char *filename = "quest_db.conf";
- sprintf(filepath, "%s/%s", map->db_path, filename);
+ snprintf(filepath, 256, "%s/%s", map->db_path, filename);
if (!libconfig->load_file(&quest_db_conf, filepath))
return -1;
diff --git a/src/map/quest.h b/src/map/quest.h
index e0768ef40..8837a1fb6 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/script.c b/src/map/script.c
index 10f9c9f00..24faa6756 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -83,12 +83,15 @@
struct script_interface script_s;
struct script_interface *script;
+static inline int GETVALUE(const struct script_buf *buf, int i) __attribute__((nonnull (1)));
static inline int GETVALUE(const struct script_buf *buf, int i)
{
Assert_ret(VECTOR_LENGTH(*buf) > i + 2);
return (int)MakeDWord(MakeWord(VECTOR_INDEX(*buf, i), VECTOR_INDEX(*buf, i+1)),
MakeWord(VECTOR_INDEX(*buf, i+2), 0));
}
+
+static inline void SETVALUE(struct script_buf *buf, int i, int n) __attribute__((nonnull (1)));
static inline void SETVALUE(struct script_buf *buf, int i, int n)
{
Assert_retv(VECTOR_LENGTH(*buf) > i + 2);
@@ -158,6 +161,7 @@ const char* script_op2name(int op) {
static void script_dump_stack(struct script_state* st)
{
int i;
+ nullpo_retv(st);
ShowMessage("\tstart = %d\n", st->start);
ShowMessage("\tend = %d\n", st->end);
ShowMessage("\tdefsp = %d\n", st->stack->defsp);
@@ -200,6 +204,7 @@ static void script_dump_stack(struct script_state* st)
void script_reportsrc(struct script_state *st) {
struct block_list* bl;
+ nullpo_retv(st);
if( st->oid == 0 )
return; //Can't report source.
@@ -304,7 +309,7 @@ void script_reportfunc(struct script_state* st)
/*==========================================
* Output error message
*------------------------------------------*/
-static void disp_error_message2(const char *mes,const char *pos,int report) analyzer_noreturn;
+static void disp_error_message2(const char *mes,const char *pos,int report) __attribute__((nonnull (1))) analyzer_noreturn;
static void disp_error_message2(const char *mes,const char *pos,int report) {
script->error_msg = aStrdup(mes);
script->error_pos = pos;
@@ -333,6 +338,7 @@ void check_event(struct script_state *st, const char *evt)
unsigned int calc_hash(const char* p) {
unsigned int h;
+ nullpo_ret(p);
#if defined(SCRIPT_HASH_DJB2)
h = 5381;
while( *p ) // hash*33 + c
@@ -368,6 +374,7 @@ unsigned int calc_hash_ci(const char* p) {
unsigned int h = 0;
#ifdef ENABLE_CASE_CHECK
+ nullpo_ret(p);
#if defined(SCRIPT_HASH_DJB2)
h = 5381;
while( *p ) // hash*33 + c
@@ -422,8 +429,10 @@ int script_search_str(const char* p)
return -1;
}
-void script_casecheck_clear_sub(struct casecheck_data *ccd) {
+void script_casecheck_clear_sub(struct casecheck_data *ccd)
+{
#ifdef ENABLE_CASE_CHECK
+ nullpo_retv(ccd);
if (ccd->str_data) {
aFree(ccd->str_data);
ccd->str_data = NULL;
@@ -453,6 +462,7 @@ const char *script_casecheck_add_str_sub(struct casecheck_data *ccd, const char
#ifdef ENABLE_CASE_CHECK
int len;
int h = script->calc_hash_ci(p);
+ nullpo_retr(NULL, ccd);
if (ccd->str_hash[h] == 0) {
//empty bucket, add new node here
ccd->str_hash[h] = ccd->str_num;
@@ -744,7 +754,9 @@ const char* script_skip_space(const char* p)
/// Skips a word.
/// A word consists of undercores and/or alphanumeric characters,
/// and valid variable prefixes/postfixes.
-const char* skip_word(const char* p) {
+const char* skip_word(const char* p)
+{
+ nullpo_retr(NULL, p);
// prefix
switch( *p ) {
case '@':// temporary char variable
@@ -759,7 +771,7 @@ const char* skip_word(const char* p) {
p += ( p[1] == '@' ? 2 : 1 ); break;
}
- while( ISALNUM(*p) || *p == '_' || *p == '\'' )
+ while (ISALNUM(*p) || *p == '_')
++p;
// postfix
@@ -775,6 +787,7 @@ int add_word(const char* p) {
size_t len;
int i;
+ nullpo_retr(0, p);
// Check for a word
len = script->skip_word(p) - p;
if( len == 0 )
@@ -805,6 +818,7 @@ const char* parse_callfunc(const char* p, int require_paren, int is_custom)
int func;
bool macro = false;
+ nullpo_retr(NULL, p);
// is need add check for arg null pointer below?
func = script->add_word(p);
if (script->str_data[func].type == C_FUNC) {
@@ -983,6 +997,7 @@ const char* parse_variable(const char* p)
const char *p2 = NULL;
const char *var = p;
+ nullpo_retr(NULL, p);
if( ( p[0] == '+' && p[1] == '+' && (type = C_ADD_PRE, true) ) // pre ++
|| ( p[0] == '-' && p[1] == '-' && (type = C_SUB_PRE, true) ) // pre --
) {
@@ -1162,9 +1177,12 @@ bool is_number(const char *p) {
*/
int script_string_dup(char *str)
{
- int len = (int)strlen(str);
+ int len;
int pos = script->string_list_pos;
+ nullpo_retr(pos, str);
+ len = (int)strlen(str);
+
while (pos+len+1 >= script->string_list_size) {
script->string_list_size += (1024*1024)/2;
RECREATE(script->string_list,char,script->string_list_size);
@@ -1183,6 +1201,7 @@ const char *parse_simpleexpr(const char *p)
{
p=script->skip_space(p);
+ nullpo_retr(NULL, p);
if (*p == ';' || *p == ',')
disp_error_message("parse_simpleexpr: unexpected end of expression",p);
if (*p == '(') {
@@ -1199,6 +1218,7 @@ const char *parse_simpleexpr(const char *p)
const char *parse_simpleexpr_paren(const char *p)
{
int i = script->syntax.curly_count - 1;
+ nullpo_retr(NULL, p);
if (i >= 0 && script->syntax.curly[i].type == TYPE_ARGLIST)
++script->syntax.curly[i].count;
@@ -1227,6 +1247,7 @@ const char *parse_simpleexpr_number(const char *p)
char *np = NULL;
long long lli;
+ nullpo_retr(NULL, p);
while (*p == '0' && ISDIGIT(p[1]))
p++; // Skip leading zeros, we don't support octal literals
@@ -1247,6 +1268,7 @@ const char *parse_simpleexpr_string(const char *p)
{
const char *start_point = p;
+ nullpo_retr(NULL, p);
do {
p++;
while (*p != '\0' && *p != '"') {
@@ -1337,6 +1359,7 @@ void script_add_translatable_string(const struct script_string_buf *string, cons
{
struct string_translation *st = NULL;
+ nullpo_retv(string);
if (script->syntax.translation_db == NULL
|| (st = strdb_get(script->syntax.translation_db, VECTOR_DATA(*string))) == NULL) {
script->addc(C_STR);
@@ -1376,6 +1399,7 @@ const char* script_parse_subexpr(const char* p,int limit)
{
int op,opl,len;
+ nullpo_retr(NULL, p);
p=script->skip_space(p);
if( *p == '-' ) {
@@ -1441,6 +1465,7 @@ const char* script_parse_subexpr(const char* p,int limit)
*------------------------------------------*/
const char* parse_expr(const char *p)
{
+ nullpo_retr(NULL, p);
switch(*p) {
case ')': case ';': case ':': case '[': case ']':
case '}':
@@ -1457,6 +1482,7 @@ const char* parse_line(const char* p)
{
const char* p2;
+ nullpo_retr(NULL, p);
p=script->skip_space(p);
if(*p==';') {
//Close decision for if(); for(); while();
@@ -1517,6 +1543,7 @@ const char* parse_line(const char* p)
// { ... } Closing process
const char* parse_curly_close(const char* p)
{
+ nullpo_retr(NULL, p);
if(script->syntax.curly_count <= 0) {
disp_error_message("parse_curly_close: unexpected string",p);
return p + 1;
@@ -1577,6 +1604,7 @@ const char* parse_syntax(const char* p)
{
const char *p2 = script->skip_word(p);
+ nullpo_retr(NULL, p);
switch(*p) {
case 'B':
case 'b':
@@ -2006,6 +2034,7 @@ const char* parse_syntax_close(const char *p) {
// If (...) for (...) hoge (); as to make sure closed closed once again
int flag;
+ nullpo_retr(NULL, p);
do {
p = script->parse_syntax_close_sub(p,&flag);
} while(flag);
@@ -2192,6 +2221,7 @@ bool script_get_constant(const char* name, int* value)
{
int n = script->search_str(name);
+ nullpo_retr(false, value);
if( n == -1 || script->str_data[n].type != C_INT )
{// not found or not a constant
return false;
@@ -2261,7 +2291,7 @@ void read_constdb(void)
struct config_setting_t *t;
int i = 0;
- sprintf(filepath, "%s/constants.conf", map->db_path);
+ snprintf(filepath, 256, "%s/constants.conf", map->db_path);
if (!libconfig->load_file(&constants_conf, filepath))
return;
@@ -2706,6 +2736,7 @@ struct script_code* parse_script(const char *src,const char *file,int line,int o
struct map_session_data *script_rid2sd(struct script_state *st)
{
struct map_session_data *sd;
+ nullpo_retr(NULL, st);
if( !( sd = map->id2sd(st->rid) ) ) {
ShowError("script_rid2sd: fatal error ! player not attached!\n");
script->reportfunc(st);
@@ -2756,6 +2787,7 @@ char *get_val_npcscope_str(struct script_state* st, struct reg_db *n, struct scr
}
char *get_val_instance_str(struct script_state* st, const char* name, struct script_data* data) {
+ nullpo_retr(NULL, st);
if (st->instance_id >= 0) {
return (char*)i64db_get(instance->list[st->instance_id].regs.vars, reference_getuid(data));
} else {
@@ -2923,6 +2955,7 @@ struct script_data *get_val(struct script_state* st, struct script_data* data) {
const void *get_val2(struct script_state *st, int64 uid, struct reg_db *ref)
{
struct script_data* data;
+ nullpo_retr(NULL, st);
script->push_val(st->stack, C_NAME, uid, ref);
data = script_getdatatop(st, -1);
script->get_val(st, data);
@@ -2937,14 +2970,18 @@ const void *get_val2(struct script_state *st, int64 uid, struct reg_db *ref)
**/
void script_array_ensure_zero(struct script_state *st, struct map_session_data *sd, int64 uid, struct reg_db *ref) {
const char *name = script->get_str(script_getvarid(uid));
- // is here st can be null pointer and st->rid is wrong?
- struct reg_db *src = script->array_src(st, sd ? sd : st->rid ? map->id2sd(st->rid) : NULL, name, ref);
+ struct reg_db *src = NULL;
bool insert = false;
- if (sd && !st) {
- /* when sd comes, st isn't available */
+ if (st == NULL) {
+ // Special case with no st available, only sd
+ nullpo_retv(sd);
+ src = script->array_src(NULL, sd, name, ref);
insert = true;
} else {
+ if (sd == NULL && st->rid != 0)
+ sd = map->id2sd(st->rid); // Retrieve the missing sd
+ src = script->array_src(st, sd, name, ref);
if( is_string_variable(name) ) {
const char *str = script->get_val2(st, uid, ref);
if (str != NULL && *str != '\0')
@@ -3022,6 +3059,8 @@ int script_free_array_db(union DBKey key, struct DBData *data, va_list ap)
* Clears script_array and removes it from script->array_db
**/
void script_array_delete(struct reg_db *src, struct script_array *sa) {
+ nullpo_retv(src);
+ nullpo_retv(sa);
aFree(sa->members);
idb_remove(src->arrays, sa->id);
ers_free(script->array_ers, sa);
@@ -3034,6 +3073,7 @@ void script_array_delete(struct reg_db *src, struct script_array *sa) {
void script_array_remove_member(struct reg_db *src, struct script_array *sa, unsigned int idx) {
unsigned int i, cursor;
+ nullpo_retv(sa);
/* its the only member left, no need to do anything other than delete the array data */
if( sa->size == 1 ) {
script->array_delete(src,sa);
@@ -3058,8 +3098,8 @@ void script_array_remove_member(struct reg_db *src, struct script_array *sa, uns
* @param idx the index of the array member being inserted
**/
void script_array_add_member(struct script_array *sa, unsigned int idx) {
+ nullpo_retv(sa);
RECREATE(sa->members, unsigned int, ++sa->size);
-
sa->members[sa->size - 1] = idx;
}
/**
@@ -3069,23 +3109,28 @@ void script_array_add_member(struct script_array *sa, unsigned int idx) {
struct reg_db *script_array_src(struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref) {
struct reg_db *src = NULL;
+ nullpo_retr(NULL, name);
switch( name[0] ) {
/* from player */
default: /* char reg */
case '@':/* temp char reg */
case '#':/* account reg */
+ nullpo_retr(NULL, sd);
src = &sd->regs;
break;
case '$':/* map reg */
src = &mapreg->regs;
break;
case '.':/* npc/script */
- if( ref )
+ if (ref != NULL) {
src = ref;
- else
+ } else {
+ nullpo_retr(NULL, st);
src = (name[1] == '@') ? &st->stack->scope : &st->script->local;
+ }
break;
case '\'':/* instance */
+ nullpo_retr(NULL, st);
if( st->instance_id >= 0 ) {
src = &instance->list[st->instance_id].regs;
}
@@ -3112,6 +3157,7 @@ void script_array_update(struct reg_db *src, int64 num, bool empty) {
int id = script_getvarid(num);
unsigned int index = script_getvaridx(num);
+ nullpo_retv(src);
if (!src->arrays) {
src->arrays = idb_alloc(DB_OPT_BASE);
} else {
@@ -3151,6 +3197,7 @@ void set_reg_npcscope_str(struct script_state* st, struct reg_db *n, int64 num,
{
if (n)
{
+ nullpo_retv(str);
if (str[0]) {
i64db_put(n->vars, num, aStrdup(str));
if (script_getvaridx(num))
@@ -3180,6 +3227,7 @@ void set_reg_npcscope_num(struct script_state* st, struct reg_db *n, int64 num,
void set_reg_instance_str(struct script_state* st, int64 num, const char* name, const char *str)
{
+ nullpo_retv(st);
if (st->instance_id >= 0) {
if (str[0]) {
i64db_put(instance->list[st->instance_id].regs.vars, num, aStrdup(str));
@@ -3198,6 +3246,7 @@ void set_reg_instance_str(struct script_state* st, int64 num, const char* name,
void set_reg_instance_num(struct script_state* st, int64 num, const char* name, int val)
{
+ nullpo_retv(st);
if (st->instance_id >= 0) {
if (val != 0) {
i64db_iput(instance->list[st->instance_id].regs.vars, num, val);
@@ -3230,12 +3279,16 @@ void set_reg_instance_num(struct script_state* st, int64 num, const char* name,
*------------------------------------------*/
int set_reg(struct script_state *st, struct map_session_data *sd, int64 num, const char *name, const void *value, struct reg_db *ref)
{
- char prefix = name[0];
+ char prefix;
+ nullpo_ret(name);
+ prefix = name[0];
if (strlen(name) > SCRIPT_VARNAME_LENGTH) {
ShowError("script:set_reg: variable name too long. '%s'\n", name);
- script->reportsrc(st);
- st->state = END;
+ if (st) {
+ script->reportsrc(st);
+ st->state = END;
+ }
return 0;
}
@@ -3418,6 +3471,7 @@ int conv_num(struct script_state *st, struct script_data *data)
/// Increases the size of the stack
void stack_expand(struct script_stack* stack) {
+ nullpo_retv(stack);
stack->sp_max += 64;
stack->stack_data = (struct script_data*)aRealloc(stack->stack_data,
stack->sp_max * sizeof(stack->stack_data[0]) );
@@ -3427,6 +3481,7 @@ void stack_expand(struct script_stack* stack) {
/// Pushes a value into the stack (with reference)
struct script_data* push_val(struct script_stack* stack, enum c_op type, int64 val, struct reg_db *ref) {
+ nullpo_retr(NULL, stack);
if( stack->sp >= stack->sp_max )
script->stack_expand(stack);
stack->stack_data[stack->sp].type = type;
@@ -3439,6 +3494,7 @@ struct script_data* push_val(struct script_stack* stack, enum c_op type, int64 v
/// Pushes a string into the stack
struct script_data *push_str(struct script_stack *stack, char *str)
{
+ nullpo_retr(NULL, stack);
if( stack->sp >= stack->sp_max )
script->stack_expand(stack);
stack->stack_data[stack->sp].type = C_STR;
@@ -3451,6 +3507,7 @@ struct script_data *push_str(struct script_stack *stack, char *str)
/// Pushes a constant string into the stack
struct script_data *push_conststr(struct script_stack *stack, const char *str)
{
+ nullpo_retr(NULL, stack);
if( stack->sp >= stack->sp_max )
script->stack_expand(stack);
stack->stack_data[stack->sp].type = C_CONSTSTR;
@@ -3462,6 +3519,7 @@ struct script_data *push_conststr(struct script_stack *stack, const char *str)
/// Pushes a retinfo into the stack
struct script_data* push_retinfo(struct script_stack* stack, struct script_retinfo* ri, struct reg_db *ref) {
+ nullpo_retr(NULL, stack);
if( stack->sp >= stack->sp_max )
script->stack_expand(stack);
stack->stack_data[stack->sp].type = C_RETINFO;
@@ -3473,6 +3531,7 @@ struct script_data* push_retinfo(struct script_stack* stack, struct script_retin
/// Pushes a copy of the target position into the stack
struct script_data* push_copy(struct script_stack* stack, int pos) {
+ nullpo_retr(NULL, stack);
switch( stack->stack_data[pos].type ) {
case C_CONSTSTR:
return script->push_conststr(stack, stack->stack_data[pos].u.str);
@@ -3497,10 +3556,13 @@ struct script_data* push_copy(struct script_stack* stack, int pos) {
/// Removes the values in indexes [start,end[ from the stack.
/// Adjusts all stack pointers.
void pop_stack(struct script_state* st, int start, int end) {
- struct script_stack* stack = st->stack;
+ struct script_stack* stack;
struct script_data* data;
int i;
+ nullpo_retv(st);
+ stack = st->stack;
+
if( start < 0 )
start = 0;
if( end > stack->sp )
@@ -3636,6 +3698,7 @@ struct script_state* script_alloc_state(struct script_code* rootscript, int pos,
///
/// @param st Script state
void script_free_state(struct script_state* st) {
+ nullpo_retv(st);
if( idb_exists(script->st_db,st->id) ) {
struct map_session_data *sd = st->rid ? map->id2sd(st->rid) : NULL;
@@ -3697,6 +3760,7 @@ void script_free_state(struct script_state* st) {
* @param ref[in] Reference to be added.
*/
void script_add_pending_ref(struct script_state *st, struct reg_db *ref) {
+ nullpo_retv(st);
RECREATE(st->pending_refs, struct reg_db*, ++st->pending_ref_count);
st->pending_refs[st->pending_ref_count-1] = ref;
}
@@ -4133,6 +4197,7 @@ int run_func(struct script_state *st)
struct script_data* data;
int i,start_sp,end_sp,func;
+ nullpo_retr(1, st);
end_sp = st->stack->sp;// position after the last argument
for( i = end_sp-1; i > 0 ; --i )
if( st->stack->stack_data[i].type == C_ARG )
@@ -4280,6 +4345,7 @@ int run_script_timer(int tid, int64 tick, int id, intptr_t data) {
void script_detach_state(struct script_state* st, bool dequeue_event) {
struct map_session_data* sd;
+ nullpo_retv(st);
if(st->rid && (sd = map->id2sd(st->rid))!=NULL) {
sd->st = st->bk_st;
sd->npc_id = st->bk_npcid;
@@ -4313,6 +4379,7 @@ void script_detach_state(struct script_state* st, bool dequeue_event) {
void script_attach_state(struct script_state* st) {
struct map_session_data* sd;
+ nullpo_retv(st);
if(st->rid && (sd = map->id2sd(st->rid))!=NULL)
{
if(st!=sd->st)
@@ -4348,6 +4415,7 @@ void run_script_main(struct script_state *st) {
struct script_stack *stack = st->stack;
struct npc_data *nd;
+ nullpo_retv(st);
script->attach_state(st);
nd = map->id2nd(st->oid);
@@ -4656,6 +4724,7 @@ int script_reg_destroy(union DBKey key, struct DBData *data, va_list ap)
{
struct script_reg_state *src;
+ nullpo_ret(data);
if( data->type != DB_DATA_PTR )/* got no need for those! */
return 0;
@@ -4677,6 +4746,8 @@ int script_reg_destroy(union DBKey key, struct DBData *data, va_list ap)
* Clears a single persistent variable
**/
void script_reg_destroy_single(struct map_session_data *sd, int64 reg, struct script_reg_state *data) {
+ nullpo_retv(sd);
+ nullpo_retv(data);
i64db_remove(sd->regs.vars, reg);
if( data->type ) {
@@ -4691,6 +4762,7 @@ void script_reg_destroy_single(struct map_session_data *sd, int64 reg, struct sc
}
}
unsigned int *script_array_cpy_list(struct script_array *sa) {
+ nullpo_retr(NULL, sa);
if( sa->size > script->generic_ui_array_size )
script->generic_ui_array_expand(sa->size);
memcpy(script->generic_ui_array, sa->members, sizeof(unsigned int)*sa->size);
@@ -4838,6 +4910,7 @@ void do_final_script(void)
**/
uint8 script_add_language(const char *name) {
uint8 lang_id = script->max_lang_id;
+ nullpo_ret(name);
RECREATE(script->languages, char *, ++script->max_lang_id);
script->languages[lang_id] = aStrdup(name);
@@ -5052,6 +5125,8 @@ int script_load_translation(const char *file, uint8 lang_id)
int lineno = 0;
struct script_string_buf msgid, msgstr;
+ nullpo_ret(file);
+
if ((fp = fopen(file,"rb")) == NULL) {
ShowError("load_translation: failed to open '%s' for reading\n",file);
return 0;
@@ -5343,6 +5418,7 @@ int script_reload(void)
const char *script_getfuncname(struct script_state *st) {
struct script_data *data;
+ nullpo_retr(NULL, st);
data = &st->stack->stack_data[st->start];
if( data->type == C_NAME && script->str_data[data->u.num].type == C_FUNC )
@@ -5372,6 +5448,7 @@ bool script_sprintf(struct script_state *st, int start, struct StringBuf *out)
int lastarg = start;
int argc = script_lastdata(st) + 1;
+ nullpo_retr(-1, out);
Assert_retr(-1, start >= 2 && start <= argc);
Assert_retr(-1, script_hasdata(st, start));
@@ -5405,8 +5482,6 @@ bool script_sprintf(struct script_state *st, int start, struct StringBuf *out)
safestrncpy(buf, p, len);
StrBuf->AppendStr(out, buf);
}
-
- p = np;
np++;
// placeholder = "%%" ; (special case)
@@ -5692,6 +5767,7 @@ int menu_countoptions(const char* str, int max_count, int* total)
int count = 0;
int bogus_total;
+ nullpo_ret(str);
if( total == NULL )
total = &bogus_total;
++(*total);
@@ -6315,6 +6391,9 @@ int buildin_areawarp_sub(struct block_list *bl, va_list ap)
pc->randomwarp(sd, CLR_TELEPORT);
} else if (x3 != 0 && y3 != 0) {
int max, tx, ty, j = 0;
+ int16 m;
+
+ m = map->mapindex2mapid(index);
// choose a suitable max number of attempts
if( (max = (y3-y2+1)*(x3-x2+1)*3) > 1000 )
@@ -6325,7 +6404,7 @@ int buildin_areawarp_sub(struct block_list *bl, va_list ap)
tx = rnd()%(x3-x2+1)+x2;
ty = rnd()%(y3-y2+1)+y2;
j++;
- } while (map->getcell(index, bl, tx, ty, CELL_CHKNOPASS) && j < max);
+ } while (map->getcell(m, bl, tx, ty, CELL_CHKNOPASS) && j < max);
pc->setpos(sd, index, tx, ty, CLR_OUTSIGHT);
} else {
@@ -6622,7 +6701,8 @@ BUILDIN(itemheal)
}
sd = script->rid2sd(st);
- if (!sd) return true;
+ if (sd == NULL)
+ return true;
pc->itemheal(sd,sd->itemid,hp,sp);
return true;
}
@@ -6644,13 +6724,16 @@ BUILDIN(percentheal)
}
sd = script->rid2sd(st);
- if( sd == NULL )
+ if (sd == NULL)
return true;
#ifdef RENEWAL
if( sd->sc.data[SC_EXTREMITYFIST2] )
sp = 0;
#endif
- pc->percentheal(sd,hp,sp);
+ if (sd->sc.data[SC_BITESCAR]) {
+ hp = 0;
+ }
+ pc->percentheal(sd, hp, sp);
return true;
}
@@ -8023,7 +8106,11 @@ BUILDIN(makeitem2)
void buildin_delitem_delete(struct map_session_data* sd, int idx, int* amount, bool delete_items)
{
int delamount;
- struct item* inv = &sd->status.inventory[idx];
+ struct item* inv;
+
+ nullpo_retv(sd);
+ nullpo_retv(amount);
+ inv = &sd->status.inventory[idx];
delamount = ( amount[0] < inv->amount ) ? amount[0] : inv->amount;
@@ -8050,6 +8137,8 @@ bool buildin_delitem_search(struct map_session_data* sd, struct item* it, bool e
int i, amount;
struct item* inv;
+ nullpo_retr(false, sd);
+ nullpo_retr(false, it);
// prefer always non-equipped items
it->equip = 0;
@@ -9268,7 +9357,7 @@ BUILDIN(bonus) {
val1 = skill->name2id(script_getstr(st, 3));
break;
}
- // else fall through
+ FALLTHROUGH
default:
val1 = script_getnum(st,3);
break;
@@ -9316,7 +9405,8 @@ BUILDIN(bonus) {
return true;
}
-BUILDIN(autobonus) {
+BUILDIN(autobonus)
+{
unsigned int dur;
short rate;
short atk_type = 0;
@@ -9325,7 +9415,7 @@ BUILDIN(autobonus) {
if (sd == NULL)
return true; // no player attached
- if( sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip )
+ if (status->current_equip_item_index < 0 || sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip)
return true;
rate = script_getnum(st,3);
@@ -9350,7 +9440,8 @@ BUILDIN(autobonus) {
return true;
}
-BUILDIN(autobonus2) {
+BUILDIN(autobonus2)
+{
unsigned int dur;
short rate;
short atk_type = 0;
@@ -9359,7 +9450,7 @@ BUILDIN(autobonus2) {
if (sd == NULL)
return true; // no player attached
- if( sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip )
+ if (status->current_equip_item_index < 0 || sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip)
return true;
rate = script_getnum(st,3);
@@ -9384,7 +9475,8 @@ BUILDIN(autobonus2) {
return true;
}
-BUILDIN(autobonus3) {
+BUILDIN(autobonus3)
+{
unsigned int dur;
short rate,atk_type;
const char *bonus_script, *other_script = NULL;
@@ -9392,7 +9484,7 @@ BUILDIN(autobonus3) {
if (sd == NULL)
return true; // no player attached
- if( sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip )
+ if (status->current_equip_item_index < 0 || sd->state.autobonus&sd->status.inventory[status->current_equip_item_index].equip)
return true;
rate = script_getnum(st,3);
@@ -9489,6 +9581,9 @@ BUILDIN(guildskill) {
skill_id = ( script_isstringtype(st,2) ? skill->name2id(script_getstr(st,2)) : script_getnum(st,2) );
level = script_getnum(st,3);
+ if (skill_id < GD_SKILLBASE || skill_id >= GD_MAX)
+ return true; // not guild skill
+
id = skill_id - GD_SKILLBASE;
max_points = guild->skill_get_max(skill_id);
@@ -11173,6 +11268,7 @@ BUILDIN(getmapusers) {
int buildin_getareausers_sub(struct block_list *bl,va_list ap)
{
int *users=va_arg(ap,int *);
+ nullpo_ret(users);
(*users)++;
return 0;
}
@@ -12003,6 +12099,7 @@ BUILDIN(getwaitingroomstate)
case 0:
for (i = 0; i < cd->users; i++) {
struct map_session_data *sd = cd->usersd[i];
+ nullpo_retr(false, sd);
mapreg->setreg(reference_uid(script->add_str("$@chatmembers"), i), sd->bl.id);
}
script_pushint(st, cd->users);
@@ -12058,6 +12155,7 @@ BUILDIN(warpwaitingpc)
for (i = 0; i < n && cd->users > 0; i++) {
struct map_session_data *sd = cd->usersd[0];
+ nullpo_retr(false, sd);
if (strcmp(map_name,"SavePoint") == 0 && map->list[sd->bl.m].flag.noteleport) {
// can't teleport on this map
break;
@@ -13802,6 +13900,7 @@ int playbgm_foreachpc_sub(struct map_session_data* sd, va_list args)
{
const char* name = va_arg(args, const char*);
+ nullpo_ret(name);
clif->playBGM(sd, name);
return 0;
}
@@ -15119,7 +15218,10 @@ BUILDIN(getrefine)
if (sd == NULL)
return true;
- script_pushint(st,sd->status.inventory[status->current_equip_item_index].refine);
+ if (status->current_equip_item_index < 0)
+ script_pushint(st, 0);
+ else
+ script_pushint(st, sd->status.inventory[status->current_equip_item_index].refine);
return true;
}
@@ -16070,6 +16172,10 @@ BUILDIN(sqrt) //[zBuffer]
{
double i, a;
i = script_getnum(st,2);
+ if (i < 0) {
+ ShowError("sqrt from negative value\n");
+ return false;
+ }
a = sqrt(i);
script_pushint(st,(int)a);
return true;
@@ -18127,7 +18233,8 @@ BUILDIN(bg_getareausers)
return true;
}
-BUILDIN(bg_updatescore) {
+BUILDIN(bg_updatescore)
+{
const char *str;
int16 m;
@@ -18169,7 +18276,8 @@ BUILDIN(bg_get_data)
* Instancing Script Commands
*------------------------------------------*/
-BUILDIN(instance_create) {
+BUILDIN(instance_create)
+{
const char *name;
int owner_id, res;
int type = IOT_PARTY;
@@ -18205,7 +18313,8 @@ BUILDIN(instance_create) {
return true;
}
-BUILDIN(instance_destroy) {
+BUILDIN(instance_destroy)
+{
int instance_id = -1;
if( script_hasdata(st, 2) )
@@ -18304,7 +18413,8 @@ BUILDIN(instance_set_timeout)
return true;
}
-BUILDIN(instance_init) {
+BUILDIN(instance_init)
+{
int instance_id = script_getnum(st, 2);
if( !instance->valid(instance_id) ) {
@@ -18352,7 +18462,8 @@ BUILDIN(instance_announce)
return true;
}
-BUILDIN(instance_npcname) {
+BUILDIN(instance_npcname)
+{
const char *str;
int instance_id = -1;
struct npc_data *nd;
@@ -18376,7 +18487,8 @@ BUILDIN(instance_npcname) {
return true;
}
-BUILDIN(has_instance) {
+BUILDIN(has_instance)
+{
struct map_session_data *sd;
const char *str;
int16 m;
@@ -18465,7 +18577,9 @@ int buildin_instance_warpall_sub(struct block_list *bl, va_list ap)
return 0;
}
-BUILDIN(instance_warpall) {
+
+BUILDIN(instance_warpall)
+{
int16 m;
int instance_id = -1;
const char *mapn;
@@ -18673,10 +18787,12 @@ int buildin_mobuseskill_sub(struct block_list *bl, va_list ap)
return 0;
}
+
/*==========================================
* areamobuseskill "Map Name",<x>,<y>,<range>,<Mob ID>,"Skill Name"/<Skill ID>,<Skill Lv>,<Cast Time>,<Cancelable>,<Emotion>,<Target Type>;
*------------------------------------------*/
-BUILDIN(areamobuseskill) {
+BUILDIN(areamobuseskill)
+{
struct block_list center;
int16 m;
int range,mobid,skill_id,skill_lv,casttime,emotion,target,cancel;
@@ -18741,8 +18857,7 @@ BUILDIN(pushpc)
dir = script_getnum(st,2);
cells = script_getnum(st,3);
- if(dir>7)
- {
+ if (dir > 7) {
ShowWarning("buildin_pushpc: Invalid direction %d specified.\n", dir);
script->reportsrc(st);
@@ -18897,7 +19012,8 @@ BUILDIN(setcashmount)
* Retrieves quantity of arguments provided to callfunc/callsub.
* getargcount() -> amount of arguments received in a function
**/
-BUILDIN(getargcount) {
+BUILDIN(getargcount)
+{
struct script_retinfo* ri;
if( st->stack->defsp < 1 || st->stack->stack_data[st->stack->defsp - 1].type != C_RETINFO ) {
@@ -18911,10 +19027,12 @@ BUILDIN(getargcount) {
return true;
}
+
/**
* getcharip(<account ID>/<character ID>/<character name>)
**/
-BUILDIN(getcharip) {
+BUILDIN(getcharip)
+{
struct map_session_data* sd = NULL;
/* check if a character name is specified */
@@ -18937,7 +19055,7 @@ BUILDIN(getcharip) {
return false;
}
- if (sd->fd == 0 || sockt->session[sd->fd] == NULL || sockt->session[sd->fd]->client_addr == 0) {
+ if (sd->fd <= 0 || sockt->session[sd->fd] == NULL || sockt->session[sd->fd]->client_addr == 0) {
script_pushconststr(st, "");
} else {
uint32 ip = sockt->session[sd->fd]->client_addr;
@@ -18947,10 +19065,12 @@ BUILDIN(getcharip) {
return true;
}
+
/**
* is_function(<function name>) -> 1 if function exists, 0 otherwise
**/
-BUILDIN(is_function) {
+BUILDIN(is_function)
+{
const char* str = script_getstr(st,2);
if( strdb_exists(script->userfunc_db, str) )
@@ -18960,11 +19080,12 @@ BUILDIN(is_function) {
return true;
}
+
/**
* freeloop(<toggle>) -> toggles this script instance's looping-check ability
**/
-BUILDIN(freeloop) {
-
+BUILDIN(freeloop)
+{
if( script_getnum(st,2) )
st->freeloop = 1;
else
@@ -18975,7 +19096,8 @@ BUILDIN(freeloop) {
return true;
}
-BUILDIN(sit) {
+BUILDIN(sit)
+{
struct map_session_data *sd = NULL;
if (script_hasdata(st, 2))
@@ -18995,7 +19117,8 @@ BUILDIN(sit) {
return true;
}
-BUILDIN(stand) {
+BUILDIN(stand)
+{
struct map_session_data *sd = NULL;
if (script_hasdata(st, 2))
@@ -19015,7 +19138,8 @@ BUILDIN(stand) {
return true;
}
-BUILDIN(issit) {
+BUILDIN(issit)
+{
struct map_session_data *sd = NULL;
if (script_hasdata(st, 2))
@@ -19036,7 +19160,8 @@ BUILDIN(issit) {
/**
* @commands (script based)
**/
-BUILDIN(bindatcmd) {
+BUILDIN(bindatcmd)
+{
const char* atcmd;
const char* eventName;
int i, group_lv = 0, group_lv_char = 99;
@@ -19086,7 +19211,8 @@ BUILDIN(bindatcmd) {
return true;
}
-BUILDIN(unbindatcmd) {
+BUILDIN(unbindatcmd)
+{
const char* atcmd;
int i = 0;
@@ -19127,7 +19253,8 @@ BUILDIN(unbindatcmd) {
return true;
}
-BUILDIN(useatcmd) {
+BUILDIN(useatcmd)
+{
struct map_session_data *sd, *dummy_sd = NULL;
int fd;
const char* cmd;
@@ -19165,7 +19292,8 @@ BUILDIN(useatcmd) {
}
/* getrandgroupitem <container_item_id>,<quantity> */
-BUILDIN(getrandgroupitem) {
+BUILDIN(getrandgroupitem)
+{
struct item_data *data = NULL;
struct map_session_data *sd = NULL;
int nameid = script_getnum(st, 2);
@@ -19218,8 +19346,8 @@ BUILDIN(getrandgroupitem) {
/* cleanmap <map_name>;
* cleanarea <map_name>, <x0>, <y0>, <x1>, <y1>; */
-int script_cleanfloor_sub(struct block_list *bl, va_list ap) {
- nullpo_ret(bl);
+int script_cleanfloor_sub(struct block_list *bl, va_list ap)
+{
map->clearflooritem(bl);
return 0;
@@ -19250,6 +19378,7 @@ BUILDIN(cleanmap)
return true;
}
+
/* Cast a skill on the attached player.
* npcskill <skill id>, <skill lvl>, <stat point>, <NPC level>;
* npcskill "<skill name>", <skill lvl>, <stat point>, <NPC level>; */
@@ -19299,7 +19428,8 @@ BUILDIN(npcskill)
/* Turns a player into a monster and grants SC attribute effect. [malufett/Hercules]
* montransform <monster name/id>, <duration>, <sc type>, <val1>, <val2>, <val3>, <val4>; */
-BUILDIN(montransform) {
+BUILDIN(montransform)
+{
int tick;
enum sc_type type;
struct block_list* bl;
@@ -20022,7 +20152,8 @@ BUILDIN(bg_match_over)
return true;
}
-BUILDIN(instance_mapname) {
+BUILDIN(instance_mapname)
+{
const char *map_name;
int m;
short instance_id = -1;
@@ -20042,10 +20173,12 @@ BUILDIN(instance_mapname) {
return true;
}
+
/* modify an instances' reload-spawn point */
/* instance_set_respawn <map_name>,<x>,<y>{,<instance_id>} */
/* returns 1 when successful, 0 otherwise. */
-BUILDIN(instance_set_respawn) {
+BUILDIN(instance_set_respawn)
+{
const char *map_name;
short instance_id = -1;
short mid;
@@ -20086,6 +20219,7 @@ BUILDIN(instance_set_respawn) {
}
return true;
}
+
/**
* @call openshop({NPC Name});
*
@@ -20121,13 +20255,15 @@ BUILDIN(openshop)
return true;
}
+
/**
* @call sellitem <Item_ID>,{,price{,qty}};
*
* adds <Item_ID> (or modifies if present) to shop
* if price not provided (or -1) uses the item's value_sell
**/
-BUILDIN(sellitem) {
+BUILDIN(sellitem)
+{
struct npc_data *nd;
struct item_data *it;
int i = 0, id = script_getnum(st,2);
@@ -20194,6 +20330,7 @@ BUILDIN(sellitem) {
return true;
}
+
/**
* @call stopselling <Item_ID>;
*
@@ -20201,7 +20338,8 @@ BUILDIN(sellitem) {
*
* @return 1 on success, 0 otherwise
**/
-BUILDIN(stopselling) {
+BUILDIN(stopselling)
+{
struct npc_data *nd;
int i, id = script_getnum(st,2);
@@ -20244,6 +20382,7 @@ BUILDIN(stopselling) {
return true;
}
+
/**
* @call setcurrency <Val1>{,<Val2>};
*
@@ -20266,6 +20405,7 @@ BUILDIN(setcurrency)
return true;
}
+
/**
* @call tradertype(<type>);
*
@@ -20273,7 +20413,8 @@ BUILDIN(setcurrency)
* check enum npc_shop_types for list
* cleans shop list on use
**/
-BUILDIN(tradertype) {
+BUILDIN(tradertype)
+{
int type = script_getnum(st, 2);
struct npc_data *nd;
@@ -20309,12 +20450,14 @@ BUILDIN(tradertype) {
return true;
}
+
/**
* @call purchaseok();
*
* signs the transaction can proceed
**/
-BUILDIN(purchaseok) {
+BUILDIN(purchaseok)
+{
struct npc_data *nd;
if( !(nd = map->id2nd(st->oid)) || !nd->u.scr.shop ) {
@@ -20326,12 +20469,14 @@ BUILDIN(purchaseok) {
return true;
}
+
/**
* @call shopcount(<Item_ID>);
*
* @return number of available items in the script's attached shop
**/
-BUILDIN(shopcount) {
+BUILDIN(shopcount)
+{
struct npc_data *nd;
int id = script_getnum(st, 2);
unsigned short i;
@@ -20389,7 +20534,8 @@ BUILDIN(channelmes)
Display script message
showscript "<message>"{,<GID>};
*/
-BUILDIN(showscript) {
+BUILDIN(showscript)
+{
struct block_list *bl = NULL;
const char *msg = script_getstr(st, 2);
int id = 0;
@@ -20426,8 +20572,10 @@ BUILDIN(mergeitem)
return true;
}
+
/** place holder for the translation macro **/
-BUILDIN(_) {
+BUILDIN(_)
+{
return true;
}
@@ -20437,7 +20585,8 @@ BUILDIN(activatepset);
BUILDIN(deactivatepset);
BUILDIN(deletepset);
-BUILDIN(pcre_match) {
+BUILDIN(pcre_match)
+{
const char *input = script_getstr(st, 2);
const char *regex = script_getstr(st, 3);
@@ -20446,6 +20595,48 @@ BUILDIN(pcre_match) {
}
/**
+ * navigateto("<map>"{,<x>,<y>,<flag>,<hide_window>,<monster_id>,<char_id>});
+ */
+BUILDIN(navigateto)
+{
+#if PACKETVER >= 20111010
+ struct map_session_data* sd;
+ const char *mapname;
+ uint16 x = 0;
+ uint16 y = 0;
+ uint16 monster_id = 0;
+ uint8 flag = NAV_KAFRA_AND_AIRSHIP;
+ bool hideWindow = true;
+
+ mapname = script_getstr(st, 2);
+
+ if (script_hasdata(st, 3))
+ x = script_getnum(st, 3);
+ if (script_hasdata(st, 4))
+ y = script_getnum(st, 4);
+ if (script_hasdata(st, 5))
+ flag = (uint8)script_getnum(st, 5);
+ if (script_hasdata(st, 6))
+ hideWindow = script_getnum(st, 6) ? true : false;
+ if (script_hasdata(st, 7))
+ monster_id = script_getnum(st, 7);
+
+ if (script_hasdata(st, 8)) {
+ sd = map->charid2sd(script_getnum(st, 8));
+ } else {
+ sd = script->rid2sd(st);
+ }
+
+ clif->navigate_to(sd, mapname, x, y, flag, hideWindow, monster_id);
+
+ return true;
+#else
+ ShowError("Navigation system works only with packet version >= 20111010");
+ return false;
+#endif
+}
+
+/**
* Adds a built-in script function.
*
* @param buildin Script function data
@@ -20453,7 +20644,8 @@ BUILDIN(pcre_match) {
* (i.e. a plugin overriding a built-in function)
* @return Whether the function was successfully added.
*/
-bool script_add_builtin(const struct script_function *buildin, bool override) {
+bool script_add_builtin(const struct script_function *buildin, bool override)
+{
int n = 0, offset = 0;
size_t slen;
if( !buildin ) {
@@ -20534,7 +20726,8 @@ bool script_add_builtin(const struct script_function *buildin, bool override) {
return true;
}
-bool script_hp_add(char *name, char *args, bool (*func)(struct script_state *st), bool isDeprecated) {
+bool script_hp_add(char *name, char *args, bool (*func)(struct script_state *st), bool isDeprecated)
+{
struct script_function buildin;
buildin.name = name;
buildin.arg = args;
@@ -20554,6 +20747,7 @@ void script_run_use_script(struct map_session_data *sd, struct item_data *data,
*/
void script_run_use_script(struct map_session_data *sd, struct item_data *data, int oid)
{
+ nullpo_retv(data);
script->current_item_id = data->nameid;
script->run(data->script, 0, sd->bl.id, oid);
script->current_item_id = 0;
@@ -21112,6 +21306,9 @@ void script_parse_builtin(void) {
BUILDIN_DEF(purchaseok,""),
BUILDIN_DEF(shopcount, "i"),
+ /* Navigation */
+ BUILDIN_DEF(navigateto, "s??????"),
+
BUILDIN_DEF(channelmes, "ss"),
BUILDIN_DEF(showscript, "s?"),
BUILDIN_DEF(mergeitem,""),
@@ -21128,7 +21325,8 @@ void script_parse_builtin(void) {
#undef BUILDIN_DEF
#undef BUILDIN_DEF2
-void script_label_add(int key, int pos) {
+void script_label_add(int key, int pos)
+{
int idx = script->label_count;
if( script->labels_size == script->label_count ) {
@@ -21265,6 +21463,16 @@ void script_hardcoded_constants(void)
script->set_constant("EQP_SHADOW_ACC_R", EQP_SHADOW_ACC_R, false, false);
script->set_constant("EQP_SHADOW_ACC_L", EQP_SHADOW_ACC_L, false, false);
+ script->constdb_comment("Navigation constants, use with *navigateto*");
+ script->set_constant("NAV_NONE", NAV_NONE, false, false);
+ script->set_constant("NAV_AIRSHIP_ONLY", NAV_AIRSHIP_ONLY, false, false);
+ script->set_constant("NAV_SCROLL_ONLY", NAV_SCROLL_ONLY, false, false);
+ script->set_constant("NAV_AIRSHIP_AND_SCROLL", NAV_AIRSHIP_AND_SCROLL, false, false);
+ script->set_constant("NAV_KAFRA_ONLY", NAV_KAFRA_ONLY, false, false);
+ script->set_constant("NAV_KAFRA_AND_AIRSHIP", NAV_KAFRA_AND_AIRSHIP, false, false);
+ script->set_constant("NAV_KAFRA_AND_SCROLL", NAV_KAFRA_AND_SCROLL, false, false);
+ script->set_constant("NAV_ALL", NAV_ALL, false, false);
+
script->constdb_comment("Renewal");
#ifdef RENEWAL
script->set_constant("RENEWAL", 1, false, false);
@@ -21307,7 +21515,8 @@ void script_hardcoded_constants(void)
/**
* a mapindex_name2id wrapper meant to help with invalid name handling
**/
-unsigned short script_mapindexname2id (struct script_state *st, const char* name) {
+unsigned short script_mapindexname2id (struct script_state *st, const char* name)
+{
unsigned short index;
if( !(index=mapindex->name2id(name)) ) {
@@ -21317,7 +21526,8 @@ unsigned short script_mapindexname2id (struct script_state *st, const char* name
return index;
}
-void script_defaults(void) {
+void script_defaults(void)
+{
// aegis->athena slot position conversion table
unsigned int equip[SCRIPT_EQUIP_TABLE_SIZE] = {EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_GARMENT,EQP_SHOES,EQP_ACC_L,EQP_ACC_R,EQP_HEAD_MID,EQP_HEAD_LOW,EQP_COSTUME_HEAD_LOW,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_GARMENT,EQP_SHADOW_ARMOR, EQP_SHADOW_WEAPON, EQP_SHADOW_SHIELD, EQP_SHADOW_SHOES, EQP_SHADOW_ACC_R, EQP_SHADOW_ACC_L};
diff --git a/src/map/script.h b/src/map/script.h
index c4c082263..a69000991 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -338,6 +338,17 @@ enum {
MF_NOVIEWID
};
+enum navigation_service {
+ NAV_NONE = 0,
+ NAV_AIRSHIP_ONLY = 1,
+ NAV_SCROLL_ONLY = 10,
+ NAV_AIRSHIP_AND_SCROLL = NAV_AIRSHIP_ONLY + NAV_SCROLL_ONLY, //11
+ NAV_KAFRA_ONLY = 100,
+ NAV_KAFRA_AND_AIRSHIP = NAV_KAFRA_ONLY + NAV_AIRSHIP_ONLY, // 101
+ NAV_KAFRA_AND_SCROLL = NAV_KAFRA_ONLY + NAV_SCROLL_ONLY, // 110
+ NAV_ALL = NAV_AIRSHIP_ONLY + NAV_SCROLL_ONLY + NAV_KAFRA_ONLY // 111-255
+};
+
/**
* Structures
**/
diff --git a/src/map/searchstore.c b/src/map/searchstore.c
index 560063e8b..16d8ce130 100644
--- a/src/map/searchstore.c
+++ b/src/map/searchstore.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -27,6 +27,7 @@
#include "map/pc.h" // struct map_session_data
#include "common/cbasetypes.h"
#include "common/memmgr.h" // aMalloc, aRealloc, aFree
+#include "common/nullpo.h" // nullpo_*
#include "common/showmsg.h" // ShowError, ShowWarning
#include "common/strlib.h" // safestrncpy
@@ -34,7 +35,8 @@ struct searchstore_interface searchstore_s;
struct searchstore_interface *searchstore;
/// retrieves search function by type
-static inline searchstore_search_t searchstore_getsearchfunc(unsigned char type) {
+static inline searchstore_search_t searchstore_getsearchfunc(unsigned char type)
+{
switch( type ) {
case SEARCHTYPE_VENDING: return vending->search;
case SEARCHTYPE_BUYING_STORE: return buyingstore->search;
@@ -42,9 +44,9 @@ static inline searchstore_search_t searchstore_getsearchfunc(unsigned char type)
return NULL;
}
-
/// retrieves search-all function by type
-static inline searchstore_searchall_t searchstore_getsearchallfunc(unsigned char type) {
+static inline searchstore_searchall_t searchstore_getsearchallfunc(unsigned char type)
+{
switch( type ) {
case SEARCHTYPE_VENDING: return vending->searchall;
case SEARCHTYPE_BUYING_STORE: return buyingstore->searchall;
@@ -52,9 +54,10 @@ static inline searchstore_searchall_t searchstore_getsearchallfunc(unsigned char
return NULL;
}
-
/// checks if the player has a store by type
-static inline bool searchstore_hasstore(struct map_session_data* sd, unsigned char type) {
+static inline bool searchstore_hasstore(struct map_session_data* sd, unsigned char type)
+{
+ nullpo_retr(false, sd);
switch( type ) {
case SEARCHTYPE_VENDING: return sd->state.vending;
case SEARCHTYPE_BUYING_STORE: return sd->state.buyingstore;
@@ -62,9 +65,10 @@ static inline bool searchstore_hasstore(struct map_session_data* sd, unsigned ch
return false;
}
-
/// returns player's store id by type
-static inline unsigned int searchstore_getstoreid(struct map_session_data* sd, unsigned char type) {
+static inline unsigned int searchstore_getstoreid(struct map_session_data* sd, unsigned char type)
+{
+ nullpo_retr(false, sd);
switch( type ) {
case SEARCHTYPE_VENDING: return sd->vender_id;
case SEARCHTYPE_BUYING_STORE: return sd->buyer_id;
@@ -72,8 +76,9 @@ static inline unsigned int searchstore_getstoreid(struct map_session_data* sd, u
return 0;
}
-
-bool searchstore_open(struct map_session_data* sd, unsigned int uses, unsigned short effect) {
+bool searchstore_open(struct map_session_data* sd, unsigned int uses, unsigned short effect)
+{
+ nullpo_retr(false, sd);
if( !battle_config.feature_search_stores || sd->searchstore.open ) {
return false;
}
@@ -91,7 +96,6 @@ bool searchstore_open(struct map_session_data* sd, unsigned int uses, unsigned s
return true;
}
-
void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned int min_price, unsigned int max_price, const unsigned short* itemlist, unsigned int item_count, const unsigned short* cardlist, unsigned int card_count)
{
unsigned int i;
@@ -105,6 +109,7 @@ void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned
return;
}
+ nullpo_retv(sd);
if( !sd->searchstore.open ) {
return;
}
@@ -126,6 +131,9 @@ void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned
return;
}
+ nullpo_retv(itemlist);
+ nullpo_retv(cardlist);
+
// validate lists
for( i = 0; i < item_count; i++ ) {
if( !itemdb->exists(itemlist[i]) ) {
@@ -200,9 +208,10 @@ void searchstore_query(struct map_session_data* sd, unsigned char type, unsigned
}
}
-
/// checks whether or not more results are available for the client
-bool searchstore_querynext(struct map_session_data* sd) {
+bool searchstore_querynext(struct map_session_data* sd)
+{
+ nullpo_retr(false, sd);
if( sd->searchstore.count && ( sd->searchstore.count-1 )/SEARCHSTORE_RESULTS_PER_PAGE < sd->searchstore.pages ) {
return true;
}
@@ -210,8 +219,9 @@ bool searchstore_querynext(struct map_session_data* sd) {
return false;
}
-
-void searchstore_next(struct map_session_data* sd) {
+void searchstore_next(struct map_session_data* sd)
+{
+ nullpo_retv(sd);
if( !battle_config.feature_search_stores || !sd->searchstore.open || sd->searchstore.count <= sd->searchstore.pages*SEARCHSTORE_RESULTS_PER_PAGE )
{// nothing (more) to display
return;
@@ -224,8 +234,9 @@ void searchstore_next(struct map_session_data* sd) {
sd->searchstore.pages++;
}
-
-void searchstore_clear(struct map_session_data* sd) {
+void searchstore_clear(struct map_session_data* sd)
+{
+ nullpo_retv(sd);
searchstore->clearremote(sd);
if( sd->searchstore.items ) {// release results
@@ -237,8 +248,9 @@ void searchstore_clear(struct map_session_data* sd) {
sd->searchstore.pages = 0;
}
-
-void searchstore_close(struct map_session_data* sd) {
+void searchstore_close(struct map_session_data* sd)
+{
+ nullpo_retv(sd);
if( sd->searchstore.open ) {
searchstore->clear(sd);
@@ -247,12 +259,13 @@ void searchstore_close(struct map_session_data* sd) {
}
}
-
-void searchstore_click(struct map_session_data* sd, int account_id, int store_id, unsigned short nameid) {
+void searchstore_click(struct map_session_data* sd, int account_id, int store_id, unsigned short nameid)
+{
unsigned int i;
struct map_session_data* pl_sd;
searchstore_search_t store_search;
+ nullpo_retv(sd);
if( !battle_config.feature_search_stores || !sd->searchstore.open || !sd->searchstore.count ) {
return;
}
@@ -313,27 +326,30 @@ void searchstore_click(struct map_session_data* sd, int account_id, int store_id
}
}
-
/// checks whether or not sd has opened account_id's shop remotely
-bool searchstore_queryremote(struct map_session_data* sd, int account_id) {
+bool searchstore_queryremote(struct map_session_data* sd, int account_id)
+{
+ nullpo_retr(false, sd);
return (bool)( sd->searchstore.open && sd->searchstore.count && sd->searchstore.remote_id == account_id );
}
-
/// removes range-check bypassing for remotely opened stores
void searchstore_clearremote(struct map_session_data* sd) {
+ nullpo_retv(sd);
sd->searchstore.remote_id = 0;
}
-
/// receives results from a store-specific callback
bool searchstore_result(struct map_session_data* sd, unsigned int store_id, int account_id, const char* store_name, unsigned short nameid, unsigned short amount, unsigned int price, const short* card, unsigned char refine)
{
struct s_search_store_info_item* ssitem;
+ nullpo_retr(false, sd);
if( sd->searchstore.count >= (unsigned int)battle_config.searchstore_maxresults ) {// no more
return false;
}
+ nullpo_retr(false, store_name);
+ nullpo_retr(false, card);
ssitem = &sd->searchstore.items[sd->searchstore.count++];
ssitem->store_id = store_id;
@@ -348,7 +364,8 @@ bool searchstore_result(struct map_session_data* sd, unsigned int store_id, int
return true;
}
-void searchstore_defaults (void) {
+void searchstore_defaults (void)
+{
searchstore = &searchstore_s;
searchstore->open = searchstore_open;
diff --git a/src/map/searchstore.h b/src/map/searchstore.h
index 8edfcd2a8..2d1de7e55 100644
--- a/src/map/searchstore.h
+++ b/src/map/searchstore.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/skill.c b/src/map/skill.c
index 40001659c..b2d788b57 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -86,6 +86,7 @@ struct skill_interface *skill;
//Since only mob-casted splash skills can hit ice-walls
int skill_splash_target(struct block_list* bl)
{
+ nullpo_retr(BL_CHAR, bl);
#ifndef RENEWAL
return ( bl->type == BL_MOB ) ? BL_SKILL|BL_CHAR : BL_CHAR;
#else // Some skills can now hit ground skills(traps, ice wall & etc.)
@@ -94,7 +95,8 @@ int skill_splash_target(struct block_list* bl)
}
/// Returns the id of the skill, or 0 if not found.
-int skill_name2id(const char* name) {
+int skill_name2id(const char* name)
+{
if( name == NULL )
return 0;
@@ -103,7 +105,8 @@ int skill_name2id(const char* name) {
/// Maps skill ids to skill db offsets.
/// Returns the skill's array index, or 0 (Unknown Skill).
-int skill_get_index( uint16 skill_id ) {
+int skill_get_index (uint16 skill_id)
+{
// avoid ranges reserved for mapping guild/homun/mercenary skills
if( (skill_id >= GD_SKILLRANGEMIN && skill_id <= GD_SKILLRANGEMAX)
|| (skill_id >= HM_SKILLRANGEMIN && skill_id <= HM_SKILLRANGEMAX)
@@ -128,7 +131,7 @@ int skill_get_index( uint16 skill_id ) {
skill_id = (1077) + skill_id - 2201;
else if ( skill_id < 3036 ) // 2549 - 3000 are empty - 1020+57+348
skill_id = (1425) + skill_id - 3001;
- else if ( skill_id < 5019 ) // 3036 - 5000 are empty - 1020+57+348+35
+ else if ( skill_id < 5044 ) // 3036 - 5000 are empty - 1020+57+348+35
skill_id = (1460) + skill_id - 5001;
else
ShowWarning("skill_get_index: skill id '%d' is not being handled!\n",skill_id);
@@ -215,6 +218,7 @@ int skill_get_fixed_cast( uint16 skill_id ,uint16 skill_lv ) {
return 0;
#endif
}
+
int skill_tree_get_max(uint16 skill_id, int b_class)
{
int i;
@@ -227,7 +231,8 @@ int skill_tree_get_max(uint16 skill_id, int b_class)
return skill->get_max(skill_id);
}
-int skill_get_casttype (uint16 skill_id) {
+int skill_get_casttype(uint16 skill_id)
+{
int inf = skill->get_inf(skill_id);
if (inf&(INF_GROUND_SKILL))
return CAST_GROUND;
@@ -243,8 +248,11 @@ int skill_get_casttype (uint16 skill_id) {
return CAST_DAMAGE;
}
-int skill_get_casttype2 (uint16 index) {
- int inf = skill->dbs->db[index].inf;
+int skill_get_casttype2(uint16 index)
+{
+ int inf;
+ Assert_retr(CAST_NODAMAGE, index < MAX_SKILL_DB);
+ inf = skill->dbs->db[index].inf;
if (inf&(INF_GROUND_SKILL))
return CAST_GROUND;
if (inf&INF_SUPPORT_SKILL)
@@ -260,7 +268,8 @@ int skill_get_casttype2 (uint16 index) {
}
//Returns actual skill range taking into account attack range and AC_OWL [Skotlex]
-int skill_get_range2 (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
+int skill_get_range2(struct block_list *bl, uint16 skill_id, uint16 skill_lv)
+{
int range;
struct map_session_data *sd = BL_CAST(BL_PC, bl);
if( bl->type == BL_MOB && battle_config.mob_ai&0x400 )
@@ -356,7 +365,10 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk
nullpo_ret(src);
- switch( skill_id ) {
+ switch (skill_id) {
+ case SU_TUNABELLY:
+ hp = status_get_max_hp(target) * ((20 * skill_lv) - 10) / 100;
+ break;
case BA_APPLEIDUN:
#ifdef RENEWAL
hp = 100+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
@@ -388,6 +400,11 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk
hp += hp * skill2_lv * 2 / 100;
else if (src->type == BL_HOM && (skill2_lv = homun->checkskill(BL_UCAST(BL_HOM, src), HLIF_BRAIN)) > 0)
hp += hp * skill2_lv * 2 / 100;
+ if (sd != NULL && ((skill2_lv = pc->checkskill(sd, SU_POWEROFSEA)) > 0)) {
+ hp += hp * 10 / 100;
+ if (pc->checkskill(sd, SU_TUNABELLY) == 5 && pc->checkskill(sd, SU_TUNAPARTY) == 5 && pc->checkskill(sd, SU_BUNCHOFSHRIMP) == 5 && pc->checkskill(sd, SU_FRESHSHRIMP) == 5)
+ hp += hp * 20 / 100;
+ }
break;
}
@@ -437,6 +454,7 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk
// Making plagiarize check its own function [Aru]
int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* bl)
{
+ nullpo_ret(sd);
// Never copy NPC/Wedding Skills
if (skill->get_inf2(skill_id)&(INF2_NPC_SKILL|INF2_WEDDING_SKILL))
return 0;
@@ -456,8 +474,11 @@ int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* b
skill_id == MER_INCAGI || skill_id == MER_BLESSING))
return 0;
- // Couldn't preserve 3rd Class skills except only when using Reproduce skill. [Jobbie]
- if( !(sd->sc.data[SC__REPRODUCE]) && ((skill_id >= RK_ENCHANTBLADE && skill_id <= LG_OVERBRAND_PLUSATK) || (skill_id >= RL_GLITTERING_GREED && skill_id <= OB_AKAITSUKI) || (skill_id >= GC_DARKCROW && skill_id <= NC_MAGMA_ERUPTION_DOTDAMAGE)))
+ // Couldn't preserve 3rd Class/Summoner skills except only when using Reproduce skill. [Jobbie]
+ if (!(sd->sc.data[SC__REPRODUCE]) &&
+ ((skill_id >= RK_ENCHANTBLADE && skill_id <= LG_OVERBRAND_PLUSATK) ||
+ (skill_id >= RL_GLITTERING_GREED && skill_id <= OB_AKAITSUKI) ||
+ (skill_id >= GC_DARKCROW && skill_id <= SU_FRESHSHRIMP)))
return 0;
// Reproduce will only copy skills according on the list. [Jobbie]
else if( sd->sc.data[SC__REPRODUCE] && !skill->dbs->reproduce_db[skill->get_index(skill_id)] )
@@ -547,6 +568,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
clif->skill_fail(sd,skill_id,USESKILL_FAIL_THERE_ARE_NPC_AROUND,0);
return 1;
}
+ FALLTHROUGH
case MC_IDENTIFY:
return 0; // always allowed
case WZ_ICEWALL:
@@ -631,6 +653,7 @@ int skillnotok_hom(uint16 skill_id, struct homun_data *hd)
int skillnotok_hom_unknown(uint16 skill_id, struct homun_data *hd)
{
+ nullpo_retr(1, hd);
//Use master's criteria.
return skill->not_ok(skill_id, hd->master);
}
@@ -648,10 +671,12 @@ int skillnotok_mercenary(uint16 skill_id, struct mercenary_data *md)
return skill->not_ok(skill_id, md->master);
}
-struct s_skill_unit_layout* skill_get_unit_layout (uint16 skill_id, uint16 skill_lv, struct block_list* src, int x, int y) {
+struct s_skill_unit_layout* skill_get_unit_layout(uint16 skill_id, uint16 skill_lv, struct block_list* src, int x, int y)
+{
int pos = skill->get_unit_layout_type(skill_id,skill_lv);
uint8 dir;
+ nullpo_retr(&skill->dbs->unit_layout[0], src);
if (pos < -1 || pos >= MAX_SKILL_UNIT_LAYOUT) {
ShowError("skill_get_unit_layout: unsupported layout type %d for skill %d (level %d)\n", pos, skill_id, skill_lv);
pos = cap_value(pos, 0, MAX_SQUARE_LAYOUT); // cap to nearest square layout
@@ -888,6 +913,10 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
break;
#endif
+ case WZ_HEAVENDRIVE:
+ status_change_end(bl, SC_SV_ROOTTWIST, INVALID_TIMER);
+ break;
+
case WZ_STORMGUST:
/**
* Storm Gust counter was dropped in renewal
@@ -1401,6 +1430,25 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
case MH_XENO_SLASHER:
sc_start2(src, bl, SC_BLOODING, 10 * skill_lv, skill_lv, src->id, skill->get_time(skill_id,skill_lv));
break;
+ /**
+ * Summoner
+ */
+ case SU_SCRATCH:
+ sc_start2(src, bl, SC_BLOODING, (skill_lv * 3), skill_lv, src->id, skill->get_time(skill_id, skill_lv)); // TODO: What's the chance/time?
+ break;
+ case SU_SV_STEMSPEAR:
+ sc_start2(src, bl, SC_BLOODING, 10, skill_lv, src->id, skill->get_time(skill_id, skill_lv));
+ break;
+ case SU_CN_METEOR:
+ sc_start(src, bl, SC_CURSE, 10, skill_lv, skill->get_time2(skill_id, skill_lv)); // TODO: What's the chance/time?
+ break;
+ case SU_SCAROFTAROU:
+ sc_start(src, bl, SC_STUN, 10, skill_lv, skill->get_time2(skill_id, skill_lv)); // TODO: What's the chance/time?
+ break;
+ case SU_LUNATICCARROTBEAT:
+ if (skill->area_temp[3] == 1)
+ sc_start(src, bl, SC_STUN, 10, skill_lv, skill_get_time(skill_id, skill_lv)); // TODO: What's the chance/time?
+ break;
default:
skill->additional_effect_unknown(src, bl, &skill_id, &skill_lv, &attack_type, &dmg_lv, &tick);
break;
@@ -2036,7 +2084,8 @@ int skill_break_equip (struct block_list *bl, unsigned short where, int rate, in
return where; //Return list of pieces broken.
}
-int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time) {
+int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time)
+{
struct status_change *sc;
const int pos[5] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HELM, EQP_ACC};
const enum sc_type sc_atk[5] = {SC_NOEQUIPWEAPON, SC_NOEQUIPSHIELD, SC_NOEQUIPARMOR, SC_NOEQUIPHELM, SC__STRIPACCESSARY};
@@ -2062,6 +2111,7 @@ int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int
}
return where?1:0;
}
+
/*=========================================================================
* Used to knock back players, monsters, traps, etc
* 'count' is the number of squares to knock back
@@ -2072,11 +2122,14 @@ int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int
int skill_blown(struct block_list* src, struct block_list* target, int count, int8 dir, int flag)
{
int dx = 0, dy = 0;
+ struct status_change *tsc = status->get_sc(target);
nullpo_ret(src);
if (src != target && map->list[src->m].flag.noknockback)
return 0; // No knocking
+
+ nullpo_ret(target);
if (count == 0)
return 0; // Actual knockback distance is 0.
@@ -2117,6 +2170,9 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
dy = -diry[dir];
}
+ if (tsc != NULL && tsc->data[SC_SU_STOOP]) // Any knockback will cancel it.
+ status_change_end(target, SC_SU_STOOP, INVALID_TIMER);
+
return unit->blown(target, dx, dy, count, flag); // send over the proper flag
}
@@ -2127,10 +2183,12 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
1 - Regular reflection (Maya)
2 - SL_KAITE reflection
*/
-int skill_magic_reflect(struct block_list* src, struct block_list* bl, int type) {
+int skill_magic_reflect(struct block_list* src, struct block_list* bl, int type)
+{
struct status_change *sc = status->get_sc(bl);
struct map_session_data* sd = BL_CAST(BL_PC, bl);
+ nullpo_ret(src);
if( sc && sc->data[SC_KYOMU] ) // Nullify reflecting ability
return 0;
@@ -2174,7 +2232,8 @@ int skill_magic_reflect(struct block_list* src, struct block_list* bl, int type)
* client (causes player characters to not scream skill name)
* flag&0x4000 - Return 0 if damage was reflected
*-------------------------------------------------------------------------*/
-int skill_attack(int attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+int skill_attack(int attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
+{
struct Damage dmg;
struct status_data *sstatus, *tstatus;
struct status_change *sc;
@@ -2488,6 +2547,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
case KO_MUCHANAGE:
if( dmg.dmg_lv == ATK_FLEE )
break;
+ FALLTHROUGH
case WL_SOULEXPANSION:
case WL_COMET:
case NJ_HUUMA:
@@ -2500,6 +2560,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
case LG_OVERBRAND:
/* Fall through */
dmg.amotion = status_get_amotion(src) * 2;
+ FALLTHROUGH
case LG_OVERBRAND_PLUSATK:
dmg.dmotion = clif->skill_damage(dsrc,bl,tick,status_get_amotion(src),dmg.dmotion,damage,dmg.div_,skill_id,-1,BDT_SPLASH);
break;
@@ -2558,6 +2619,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
dmg.dmotion = clif->skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, (flag&SD_LEVEL) ? -1 : skill_lv, BDT_SPLASH);
if( dsrc != src ) // avoid damage display redundancy
break;
+ FALLTHROUGH
case HT_LANDMINE:
dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, type);
break;
@@ -2570,6 +2632,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
case AB_DUPLELIGHT_MELEE:
case AB_DUPLELIGHT_MAGIC:
dmg.amotion = 300;/* makes the damage value not overlap with previous damage (when displayed by the client) */
+ FALLTHROUGH
default:
skill->attack_display_unknown(&attack_type, src, dsrc, bl, &skill_id, &skill_lv, &tick, &flag, &type, &dmg, &damage);
break;
@@ -2865,15 +2928,27 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
return (int)cap_value(damage,INT_MIN,INT_MAX);
}
-void skill_attack_combo1_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_change_entry *sce, int *combo) {
+void skill_attack_combo1_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_change_entry *sce, int *combo)
+{
if (src == dsrc) // Ground skills are exceptions. [Inkfish]
status_change_end(src, SC_COMBOATTACK, INVALID_TIMER);
}
-void skill_attack_combo2_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *combo) {
+void skill_attack_combo2_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *combo)
+{
}
-void skill_attack_display_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage) {
+void skill_attack_display_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage)
+{
+ nullpo_retv(bl);
+ nullpo_retv(dmg);
+ nullpo_retv(tick);
+ nullpo_retv(flag);
+ nullpo_retv(damage);
+ nullpo_retv(skill_id);
+ nullpo_retv(skill_lv);
+ nullpo_retv(type);
+
if (*flag & SD_ANIMATION && dmg->div_ < 2) //Disabling skill animation doesn't works on multi-hit.
*type = BDT_SPLASH;
if (bl->type == BL_SKILL) {
@@ -2884,15 +2959,24 @@ void skill_attack_display_unknown(int *attack_type, struct block_list* src, stru
dmg->dmotion = clif->skill_damage(dsrc, bl, *tick, dmg->amotion, dmg->dmotion, *damage, dmg->div_, *skill_id, (*flag & SD_LEVEL) ? -1 : *skill_lv, *type);
}
-int skill_attack_copy_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag) {
+int skill_attack_copy_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag)
+{
+ nullpo_ret(skill_id);
return *skill_id;
}
-int skill_attack_dir_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag) {
+int skill_attack_dir_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag)
+{
return -1;
}
-void skill_attack_blow_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir) {
+void skill_attack_blow_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir)
+{
+ nullpo_retv(bl);
+ nullpo_retv(dmg);
+ nullpo_retv(dir);
+ nullpo_retv(damage);
+
skill->blown(dsrc, bl, dmg->blewcount, *dir, 0x0);
if (!dmg->blewcount && bl->type == BL_SKILL && *damage > 0){
struct skill_unit *su = BL_UCAST(BL_SKILL, bl);
@@ -2901,7 +2985,8 @@ void skill_attack_blow_unknown(int *attack_type, struct block_list* src, struct
}
}
-void skill_attack_post_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag) {
+void skill_attack_post_unknown(int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag)
+{
}
/*==========================================
@@ -2909,7 +2994,8 @@ void skill_attack_post_unknown(int *attack_type, struct block_list* src, struct
* Checking bl battle flag and display damage
* then call func with source,target,skill_id,skill_lv,tick,flag
*------------------------------------------*/
-int skill_area_sub(struct block_list *bl, va_list ap) {
+int skill_area_sub(struct block_list *bl, va_list ap)
+{
struct block_list *src;
uint16 skill_id,skill_lv;
int flag;
@@ -2960,6 +3046,7 @@ int skill_check_unit_range_sub(struct block_list *bl, va_list ap)
case AL_PNEUMA:
if(g_skill_id == SA_LANDPROTECTOR)
break;
+ FALLTHROUGH
case MG_SAFETYWALL:
case MH_STEINWAND:
case SC_MAELSTROM:
@@ -3382,6 +3469,7 @@ int skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
skill->blown(src,target,skill->get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 );
break;
}
+ FALLTHROUGH
}
default:
skill->timerskill_target_unknown(tid, tick, src, target, ud, skl);
@@ -3392,7 +3480,8 @@ int skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
break;
switch( skl->skill_id ) {
case WZ_METEOR:
- if( skl->type >= 0 ) {
+ case SU_CN_METEOR:
+ if (skl->type >= 0) {
int x = skl->type>>16, y = skl->type&0xFFFF;
if( path->search_long(NULL, src, src->m, src->x, src->y, x, y, CELL_CHKWALL) )
skill->unitsetting(src,skl->skill_id,skl->skill_lv,x,y,skl->flag);
@@ -3408,6 +3497,7 @@ int skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
map->foreachinarea(skill->cell_overlap,src->m,skl->x-i,skl->y-i,skl->x+i,skl->y+i,BL_SKILL,skl->skill_id,&dummy,src);
}
+ FALLTHROUGH
// fall through ...
case WL_EARTHSTRAIN:
skill->unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,(skl->type<<16)|skl->flag);
@@ -3435,6 +3525,7 @@ bool skill_timerskill_dead_unknown(struct block_list *src, struct unit_data *ud,
void skill_timerskill_target_unknown(int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl)
{
+ nullpo_retv(skl);
skill->attack(skl->type, src, src, target, skl->skill_id, skl->skill_lv, tick, skl->flag);
}
@@ -3445,7 +3536,8 @@ void skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list *s
/*==========================================
*
*------------------------------------------*/
-int skill_addtimerskill(struct block_list *src, int64 tick, int target, int x,int y, uint16 skill_id, uint16 skill_lv, int type, int flag) {
+int skill_addtimerskill(struct block_list *src, int64 tick, int target, int x,int y, uint16 skill_id, uint16 skill_lv, int type, int flag)
+{
int i;
struct unit_data *ud;
nullpo_retr(1, src);
@@ -3553,6 +3645,7 @@ void skill_castend_type(int type, struct block_list *src, struct block_list *bl,
{
switch (type) {
case CAST_GROUND:
+ nullpo_retv(bl);
skill->castend_pos2(src, bl->x, bl->y, skill_id, skill_lv, tick, flag);
break;
case CAST_NODAMAGE:
@@ -3568,7 +3661,8 @@ void skill_castend_type(int type, struct block_list *src, struct block_list *bl,
*
*
*------------------------------------------*/
-int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
+{
struct map_session_data *sd = NULL;
struct status_data *tstatus;
struct status_change *sc;
@@ -3906,11 +4000,22 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
- //Splash attack skills.
+ case SU_BITE:
+ skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
+ if (status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance.
+ skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
+ break;
+
+ case SU_PICKYPECK:
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ break;
+
+ // Splash attack skills.
case AS_GRIMTOOTH:
case MC_CARTREVOLUTION:
case NPC_SPLASHATTACK:
flag |= SD_PREAMBLE; // a fake packet will be sent for the first target to be hit
+ FALLTHROUGH
case AS_SPLASHER:
case HT_BLITZBEAT:
case AC_SHOWER:
@@ -3958,7 +4063,9 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
case KO_BAKURETSU:
case GN_ILLUSIONDOPING:
case MH_XENO_SLASHER:
- if( flag&1 ) {//Recursive invocation
+ case SU_SCRATCH:
+ case SU_LUNATICCARROTBEAT:
+ if (flag&1) { //Recursive invocation
// skill->area_temp[0] holds number of targets in area
// skill->area_temp[1] holds the id of the original target
// skill->area_temp[2] counts how many targets have already been processed
@@ -3973,15 +4080,19 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
break;
heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag);
- if( skill_id == NPC_VAMPIRE_GIFT && heal > 0 ) {
+ if (skill_id == NPC_VAMPIRE_GIFT && heal > 0) {
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
status->heal(src,heal,0,0);
}
+ if (skill_id == SU_SCRATCH && status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance.
+ skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
} else {
switch ( skill_id ) {
case NJ_BAKUENRYU:
case LG_EARTHDRIVE:
case GN_CARTCANNON:
+ case SU_SCRATCH:
+ case SU_LUNATICCARROTBEAT:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case SR_TIGERCANNON:
@@ -4000,13 +4111,19 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
skill->area_temp[0] = 0;
skill->area_temp[1] = bl->id;
skill->area_temp[2] = 0;
- if( skill_id == WL_CRIMSONROCK ) {
+ if (skill_id == WL_CRIMSONROCK) {
skill->area_temp[4] = bl->x;
skill->area_temp[5] = bl->y;
}
+ if (skill_id == SU_LUNATICCARROTBEAT) {
+ skill->area_temp[3] = 0;
+ }
- if( skill_id == NC_VULCANARM )
- if (sd) pc->overheat(sd,1);
+ if (skill_id == NC_VULCANARM) {
+ if (sd != NULL) {
+ pc->overheat(sd,1);
+ }
+ }
// if skill damage should be split among targets, count them
//SD_LEVEL -> Forced splash damage for Auto Blitz-Beat -> count targets
@@ -4016,6 +4133,15 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
// recursive invocation of skill->castend_damage_id() with flag|1
map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), skill->splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);
+
+ if (sd && skill_id == SU_LUNATICCARROTBEAT) {
+ short item_idx = pc->search_inventory(sd, ITEMID_CARROT);
+
+ if (item_idx >= 0) {
+ pc->delitem(sd, item_idx, 1, 0, 1, LOG_TYPE_CONSUME);
+ skill->area_temp[3] = 1;
+ }
+ }
}
break;
@@ -4291,6 +4417,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
if( (tsc = status->get_sc(bl)) && tsc->data[SC_HIDING] )
break;
}
+ FALLTHROUGH
case HVAN_EXPLOSION:
if (src != bl)
skill->attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag);
@@ -4548,6 +4675,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
}
break;
}
+ FALLTHROUGH
case RA_WUGBITE:
if( path->search(NULL,src,src->m,src->x,src->y,bl->x,bl->y,1,CELL_CHKNOREACH) ) {
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
@@ -4571,7 +4699,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
if( !(sg->unit_id == UNT_USED_TRAPS || (sg->unit_id == UNT_ANKLESNARE && sg->val2 != 0 )) ) {
struct item item_tmp;
memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid = sg->item_id?sg->item_id:ITEMID_TRAP;
+ item_tmp.nameid = sg->item_id ? sg->item_id : ITEMID_BOOBY_TRAP;
item_tmp.identify = 1;
if( item_tmp.nameid )
map->addflooritem(bl, &item_tmp, 1, bl->m, bl->x, bl->y, 0, 0, 0, 0);
@@ -4823,6 +4951,15 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
break;
+ case SU_SV_STEMSPEAR:
+ skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
+ if (status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance.
+ skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, (skill_id == SU_SV_STEMSPEAR) ? BF_MAGIC : BF_WEAPON, flag);
+ break;
+ case SU_SCAROFTAROU:
+ sc_start(src, bl, status->skill2sc(skill_id), 10, skill_lv, skill->get_time(skill_id, skill_lv)); // TODO: What's the activation chance for the effect?
+ break;
+
case 0:/* no skill - basic/normal attack */
if(sd) {
if (flag & 3){
@@ -4868,6 +5005,10 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1
bool skill_castend_damage_id_unknown(struct block_list* src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_data *tstatus, struct status_change *sc)
{
+ nullpo_retr(true, skill_id);
+ nullpo_retr(true, skill_lv);
+ nullpo_retr(true, tick);
+ nullpo_retr(true, tstatus);
ShowWarning("skill_castend_damage_id: Unknown skill used:%d\n", *skill_id);
clif->skill_damage(src, bl, *tick, status_get_amotion(src), tstatus->dmotion,
0, abs(skill->get_num(*skill_id, *skill_lv)),
@@ -4879,7 +5020,8 @@ bool skill_castend_damage_id_unknown(struct block_list* src, struct block_list *
/*==========================================
*
*------------------------------------------*/
-int skill_castend_id(int tid, int64 tick, int id, intptr_t data) {
+int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
+{
struct block_list *target, *src;
struct map_session_data *sd;
struct mob_data *md;
@@ -4955,6 +5097,8 @@ int skill_castend_id(int tid, int64 tick, int id, intptr_t data) {
ud->skilltimer=tid;
return skill->castend_pos(tid,tick,id,data);
case GN_WALLOFTHORN:
+ case SU_CN_POWDERING:
+ case SU_SV_ROOTTWIST:
ud->skillx = target->x;
ud->skilly = target->y;
ud->skilltimer = tid;
@@ -5223,7 +5367,8 @@ bool skill_castend_id_unknown(struct unit_data *ud, struct block_list *src, stru
/*==========================================
*
*------------------------------------------*/
-int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
+{
struct map_session_data *sd, *dstsd;
struct mob_data *md, *dstmd;
struct homun_data *hd;
@@ -5300,6 +5445,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0) ;
break ;
}
+ FALLTHROUGH
case AL_HEAL:
/**
@@ -5415,6 +5561,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
* Arch Bishop
**/
case AB_HIGHNESSHEAL:
+ /**
+ * Summoner
+ */
+ case SU_TUNABELLY:
{
int heal = skill->calc_heal(src, bl, (skill_id == AB_HIGHNESSHEAL)?AL_HEAL:skill_id, (skill_id == AB_HIGHNESSHEAL)?10:skill_lv, true);
int heal_get_jobexp;
@@ -5444,6 +5594,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
else if (tsc->data[SC_BERSERK])
heal = 0; //Needed so that it actually displays 0 when healing.
}
+ if (skill_id == AL_HEAL) {
+ status_change_end(bl, SC_BITESCAR, INVALID_TIMER);
+ }
clif->skill_nodamage (src, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal && skill_id != HLIF_HEAL )
heal = ~heal + 1;
@@ -5823,6 +5976,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case PR_KYRIE:
case MER_KYRIE:
+ case SU_TUNAPARTY:
clif->skill_nodamage(bl, bl, skill_id, -1,
sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
break;
@@ -5939,9 +6093,18 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case RK_ABUNDANCE:
case RK_CRUSHSTRIKE:
case ALL_ODINS_POWER:
+ case SU_FRESHSHRIMP:
+ case SU_ARCLOUSEDASH:
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
+ // Works just like the above list of skills, except animation caused by
+ // status must trigger AFTER the skill cast animation or it will cancel
+ // out the status's animation.
+ case SU_STOOP:
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
+ sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
+ break;
case KN_AUTOCOUNTER:
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
skill->addtimerskill(src, tick + 100, bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
@@ -6166,7 +6329,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sd->devotion[i] = bl->id;
}
- else
+ else if (mer != NULL)
mer->devotion_flag = 1; // Mercenary Devoting Owner
clif->skill_nodamage(src, bl, skill_id, skill_lv,
@@ -6539,7 +6702,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case RG_STEALCOIN:
if(sd) {
int amount = pc->steal_coin(sd, bl, skill_lv);
- if( amount > 0 ) {
+ if (amount > 0 && dstmd != NULL) {
dstmd->state.provoke_flag = src->id;
mob->target(dstmd, src, skill->get_range2(src, skill_id, skill_lv));
clif->skill_nodamage(src, bl, skill_id, amount, 1);
@@ -6596,7 +6759,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
status_change_end(bl, SC_SILENCE, INVALID_TIMER);
status_change_end(bl, SC_BLIND, INVALID_TIMER);
status_change_end(bl, SC_CONFUSION, INVALID_TIMER);
- clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
+ status_change_end(bl, SC_BITESCAR, INVALID_TIMER);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;
case TF_DETOXIFY:
@@ -7513,7 +7677,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
// get back 1 trap
struct item item_tmp;
memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid = su->group->item_id?su->group->item_id:ITEMID_TRAP;
+ item_tmp.nameid = su->group->item_id ? su->group->item_id : ITEMID_BOOBY_TRAP;
item_tmp.identify = 1;
if (item_tmp.nameid && (flag=pc->additem(sd,&item_tmp,1,LOG_TYPE_SKILL)) != 0) {
clif->additem(sd,0,0,flag);
@@ -7539,6 +7703,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
// remove trap should be used instead
break;
// otherwise fall through to below
+ FALLTHROUGH
case UNT_BLASTMINE:
case UNT_SKIDTRAP:
case UNT_LANDMINE:
@@ -7576,7 +7741,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(src,bl,type,100,skill_lv,skill_id,src->id,skill->get_time(skill_id,skill_lv),1000));
#ifndef RENEWAL
- if (sd) skill->blockpc_start (sd, skill_id, skill->get_time(skill_id, skill_lv)+3000);
+ if (sd)
+ skill->blockpc_start(sd, skill_id, skill->get_time(skill_id, skill_lv) + 3000);
#endif
break;
@@ -8388,7 +8554,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case AB_ANCILLA:
if( sd ) {
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- skill->produce_mix(sd, skill_id, ITEMID_ANCILLA, 0, 0, 0, 1);
+ skill->produce_mix(sd, skill_id, ITEMID_ANSILA, 0, 0, 0, 1);
}
break;
@@ -8856,6 +9022,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case LG_TRAMPLE:
clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, BDT_SKILL);
map->foreachinrange(skill->destroy_trap,bl,skill->get_splash(skill_id,skill_lv),BL_SKILL,tick);
+ status_change_end(bl, SC_SV_ROOTTWIST, INVALID_TIMER);
break;
case LG_REFLECTDAMAGE:
@@ -9385,6 +9552,25 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, 0, 1, skill_id, -2, BDT_SKILL);
break;
+ case SU_HIDE:
+ if (tsce != NULL) {
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ status_change_end(bl, type, INVALID_TIMER);
+ map->freeblock_unlock();
+ return 0;
+ }
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv));
+ break;
+
+ case SU_BUNCHOFSHRIMP:
+ if (sd == NULL || sd->status.party_id == 0 || flag&1) {
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
+ } else if (sd != NULL) {
+ party->foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
+ }
+ break;
+
case GM_SANDMAN:
if( tsc ) {
if( tsc->opt1 == OPT1_SLEEP )
@@ -9791,6 +9977,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
SC_MANDRAGORA, SC_HARMONIZE, SC_DEEP_SLEEP, SC_SIREN, SC_SLEEP, SC_CONFUSION, SC_ILLUSION
};
int heal;
+ if (hd == NULL)
+ break;
if(tsc){
int i;
for (i = 0; i < ARRAYLENGTH(scs); i++) {
@@ -9912,6 +10100,8 @@ bool skill_castend_nodamage_id_mado_unknown(struct block_list *src, struct block
bool skill_castend_nodamage_id_unknown(struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag)
{
+ nullpo_retr(true, skill_id);
+ nullpo_retr(true, skill_lv);
ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n", *skill_id);
clif->skill_nodamage(src, bl, *skill_id, *skill_lv, 1);
map->freeblock_unlock();
@@ -9928,6 +10118,7 @@ int skill_castend_pos(int tid, int64 tick, int id, intptr_t data)
struct unit_data *ud = unit->bl2ud(src);
struct mob_data *md;
+ nullpo_ret(src);
nullpo_ret(ud);
sd = BL_CAST(BL_PC , src);
@@ -10094,10 +10285,13 @@ int skill_check_npc_chaospanic(struct block_list *bl, va_list args)
return 1;
}
+
/* skill count without self */
int skill_count_wos(struct block_list *bl, va_list ap)
{
struct block_list* src = va_arg(ap, struct block_list*);
+ nullpo_retr(1, bl);
+ nullpo_retr(1, src);
if( src->id != bl->id ) {
return 1;
}
@@ -10107,8 +10301,10 @@ int skill_count_wos(struct block_list *bl, va_list ap)
/*==========================================
*
*------------------------------------------*/
-int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char *mapname) {
+int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char *mapname)
+{
nullpo_ret(sd);
+ nullpo_ret(mapname);
//Simplify skill_failed code.
#define skill_failed(sd) ( (sd)->menuskill_id = (sd)->menuskill_val = 0 )
@@ -10245,7 +10441,8 @@ int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char
/*==========================================
*
*------------------------------------------*/
-int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
+{
struct map_session_data* sd;
struct status_change* sc;
struct status_change_entry *sce;
@@ -10274,6 +10471,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case HW_GANBANTEIN:
case LG_EARTHDRIVE:
case SC_ESCAPE:
+ case SU_CN_METEOR:
break; //Effect is displayed on respective switch case.
default:
skill->castend_pos2_effect_unknown(src, &x, &y, &skill_id, &skill_lv, &tick, &flag);
@@ -10342,6 +10540,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
+ FALLTHROUGH
case MG_SAFETYWALL:
{
@@ -10351,6 +10550,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
return 0; // Don't consume gems if cast on LP
}
}
+ FALLTHROUGH
case MG_FIREWALL:
case MG_THUNDERSTORM:
@@ -10460,7 +10660,10 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case SO_ELEMENTAL_SHIELD:
case RL_B_TRAP:
case MH_XENO_SLASHER:
- flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
+ case SU_CN_POWDERING:
+ case SU_SV_ROOTTWIST:
+ flag |= 1; // Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
+ FALLTHROUGH
case GS_GROUNDDRIFT: //Ammo should be deleted right away.
if ( skill_id == WM_SEVERE_RAINSTORM )
sc_start(src,src,SC_NO_SWITCH_EQUIP,100,0,skill->get_time(skill_id,skill_lv));
@@ -10512,11 +10715,24 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
break;
case WZ_METEOR:
+ case SU_CN_METEOR:
{
int area = skill->get_splash(skill_id, skill_lv);
short tmpx = 0, tmpy = 0, x1 = 0, y1 = 0;
int i;
+#if 0
+ // The Meteor should inflict curse if Catnip fruit is consumed.
+ // Currently Catnip fruit is added as requirement.
+ if (sd && skill_id == SU_CN_METEOR) {
+ short item_idx = pc->search_inventory(sd, ITEMID_CATNIP_FRUIT);
+ if (item_idx >= 0) {
+ pc->delitem(sd, item_idx, 1, 0, 1, LOG_TYPE_SKILL);
+ flag |= 1;
+ }
+ }
+#endif
+
for( i = 0; i < 2 + (skill_lv>>1); i++ ) {
// Creates a random Cell in the Splash Area
tmpx = x - area + rnd()%(area * 2 + 1);
@@ -10568,6 +10784,19 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
}
status_change_end(src, SC_HIDING, INVALID_TIMER);
break;
+ case SU_LOPE:
+ {
+ if (map->list[src->m].flag.noteleport && !(map->list[src->m].flag.battleground || map_flag_gvg2(src->m))) {
+ x = src->x;
+ y = src->y;
+ }
+ clif->skill_nodamage(src, src, SU_LOPE, skill_lv, 1);
+ if(!map->count_oncell(src->m, x, y, BL_PC | BL_NPC | BL_MOB, 0) && map->getcell(src->m, src, x, y, CELL_CHKREACH)) {
+ clif->slide(src, x, y);
+ unit->movepos(src, x, y, 1, 0);
+ }
+ }
+ break;
case AM_SPHEREMINE:
case AM_CANNIBALIZE:
{
@@ -11037,7 +11266,8 @@ int skill_dance_overlap_sub(struct block_list *bl, va_list ap)
//Does the song/dance overlapping -> dissonance check. [Skotlex]
//When flag is 0, this unit is about to be removed, cancel the dissonance effect
//When 1, this unit has been positioned, so start the cancel effect.
-int skill_dance_overlap(struct skill_unit* su, int flag) {
+int skill_dance_overlap(struct skill_unit* su, int flag)
+{
if (!su || !su->group || !(su->group->state.song_dance&0x1))
return 0;
@@ -11059,7 +11289,8 @@ int skill_dance_overlap(struct skill_unit* su, int flag) {
* @param flag 1 Revert
* @retval true success
**/
-bool skill_dance_switch(struct skill_unit* su, int flag) {
+bool skill_dance_switch(struct skill_unit* su, int flag)
+{
static int prevflag = 1; // by default the backup is empty
static struct skill_unit_group backup;
struct skill_unit_group* group;
@@ -11115,7 +11346,8 @@ bool skill_dance_switch(struct skill_unit* su, int flag) {
* Initializes and sets a ground skill.
* flag&1 is used to determine when the skill 'morphs' (Warp portal becomes active, or Fire Pillar becomes active)
*------------------------------------------*/
-struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_id, uint16 skill_lv, int16 x, int16 y, int flag) {
+struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_id, uint16 skill_lv, int16 x, int16 y, int flag)
+{
struct skill_unit_group *group;
int i,limit,val1=0,val2=0,val3=0;
int target,interval,range,unit_flag,req_item=0;
@@ -11145,9 +11377,10 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
sd = BL_CAST(BL_PC, src);
st = status->get_status_data(src);
+ nullpo_retr(NULL, st);
sc = status->get_sc(src); // for traps, firewall and fogwall - celest
- switch( skill_id ) {
+ switch (skill_id) {
case SO_ELEMENTAL_SHIELD:
val2 = 300 * skill_lv + 65 * (st->int_ + status->get_lv(src)) + st->max_sp;
break;
@@ -11216,8 +11449,10 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
case HT_ANKLESNARE:
if( flag&2 )
val3 = SC_ESCAPE;
+ FALLTHROUGH
case HT_SHOCKWAVE:
val1=skill_lv*15+10;
+ FALLTHROUGH
case HT_SANDMAN:
case MA_SANDMAN:
case HT_CLAYMORETRAP:
@@ -11242,7 +11477,7 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
case RA_ICEBOUNDTRAP:
{
struct skill_condition req = skill->get_requirement(sd,skill_id,skill_lv);
- ARR_FIND(0, MAX_SKILL_ITEM_REQUIRE, i, req.itemid[i] && (req.itemid[i] == ITEMID_TRAP || req.itemid[i] == ITEMID_TRAP_ALLOY));
+ ARR_FIND(0, MAX_SKILL_ITEM_REQUIRE, i, req.itemid[i] && (req.itemid[i] == ITEMID_BOOBY_TRAP || req.itemid[i] == ITEMID_SPECIAL_ALLOY_TRAP));
if( i != MAX_SKILL_ITEM_REQUIRE && req.itemid[i] )
req_item = req.itemid[i];
if( map_flag_gvg2(src->m) || map->list[src->m].flag.battleground )
@@ -11402,12 +11637,16 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
{
case ELE_FIRE:
subunt++;
+ FALLTHROUGH
case ELE_WATER:
subunt++;
+ FALLTHROUGH
case ELE_POISON:
subunt++;
+ FALLTHROUGH
case ELE_DARK:
subunt++;
+ FALLTHROUGH
case ELE_WIND:
break;
default:
@@ -11444,6 +11683,7 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
target = BCT_ALL;
val1 = skill_lv + 1;
val2 = 1;
+ FALLTHROUGH
case WM_POEMOFNETHERWORLD: // Can't be placed on top of Land Protector.
case SO_WATER_INSIGNIA:
case SO_FIRE_INSIGNIA:
@@ -11486,6 +11726,7 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
break;
}
+ nullpo_retr(NULL, layout);
nullpo_retr(NULL, group=skill->init_unitgroup(src,layout->count,skill_id,skill_lv,skill->get_unit_id(skill_id,flag&1)+subunt, limit, interval));
group->val1=val1;
group->val2=val2;
@@ -11626,10 +11867,15 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
return group;
}
-void skill_unitsetting1_unknown(struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *val1, int *val2, int *val3) {
+void skill_unitsetting1_unknown(struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *val1, int *val2, int *val3)
+{
}
-void skill_unitsetting2_unknown(struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *unit_flag, int *val1, int *val2, int *val3, struct skill_unit_group *group) {
+void skill_unitsetting2_unknown(struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *unit_flag, int *val1, int *val2, int *val3, struct skill_unit_group *group)
+{
+ nullpo_retv(group);
+ nullpo_retv(val2);
+ nullpo_retv(unit_flag);
if (group->state.song_dance & 0x1)
*val2 = *unit_flag & (UF_DANCE | UF_SONG); //Store whether this is a song/dance
}
@@ -11637,7 +11883,8 @@ void skill_unitsetting2_unknown(struct block_list *src, uint16 *skill_id, uint16
/*==========================================
*
*------------------------------------------*/
-int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int64 tick) {
+int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int64 tick)
+{
struct skill_unit_group *sg;
struct block_list *ss;
struct status_change *sc;
@@ -11761,6 +12008,7 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int64 tick
case UNT_HERMODE:
if (sg->src_id!=bl->id && battle->check_target(&src->bl,bl,BCT_PARTY|BCT_GUILD) > 0)
status->change_clear_buffs(bl,1); //Should dispell only allies.
+ FALLTHROUGH
case UNT_RICHMANKIM:
case UNT_ETERNALCHAOS:
case UNT_DRUMBATTLEFIELD:
@@ -11779,6 +12027,7 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int64 tick
if (!battle_config.song_timer_reset && sc && sce)
return 0;
// Let it fall through
+ FALLTHROUGH
case UNT_WHISTLE:
case UNT_ASSASSINCROSS:
case UNT_POEMBRAGI:
@@ -11868,6 +12117,13 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int64 tick
sc_start(ss, bl, SC_VOLCANIC_ASH, 100, sg->skill_lv, skill->get_time(MH_VOLCANIC_ASH, sg->skill_lv));
break;
+ case UNT_CATNIPPOWDER:
+ if (sg->src_id == bl->id || (status_get_mode(bl)&MD_BOSS))
+ break; // Does not affect the caster or Boss.
+ if (sce == NULL && battle->check_target(&src->bl, bl, BCT_ENEMY) > 0)
+ sc_start(ss, bl, type, 100, sg->skill_lv, skill->get_time(sg->skill_id, sg->skill_lv));
+ break;
+
case UNT_GD_LEADERSHIP:
case UNT_GD_GLORYWOUNDS:
case UNT_GD_SOULCOLD:
@@ -11889,7 +12145,8 @@ void skill_unit_onplace_unknown(struct skill_unit *src, struct block_list *bl, i
/*==========================================
*
*------------------------------------------*/
-int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int64 tick) {
+int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int64 tick)
+{
struct skill_unit_group *sg;
struct block_list *ss;
struct map_session_data *tsd;
@@ -11917,7 +12174,9 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
return 0;
tstatus = status->get_status_data(bl);
+ nullpo_ret(tstatus);
bst = status->get_base_status(bl);
+ nullpo_ret(bst);
type = status->skill2sc(sg->skill_id);
skill_id = sg->skill_id;
@@ -12074,12 +12333,12 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
tsc->sg_counter++; //SG hit counter.
if (skill->attack(skill->get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0) <= 0 && tsc)
tsc->sg_counter=0; //Attack absorbed.
- break;
+ break;
#endif
case GS_DESPERADO:
if (rnd()%100 < src->val1)
skill->attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
- break;
+ break;
default:
skill->attack(skill->get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
}
@@ -12160,11 +12419,13 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
case UNT_VERDURETRAP:
if( bl->type == BL_PC )// it won't work on players
break;
+ FALLTHROUGH
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
case UNT_CLUSTERBOMB:
if( bl->id == ss->id )// it won't trigger on caster
break;
+ FALLTHROUGH
case UNT_LANDMINE:
case UNT_BLASTMINE:
case UNT_SHOCKWAVE:
@@ -12456,6 +12717,7 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
case UNT_STEALTHFIELD:
if( bl->id == sg->src_id )
break; // Don't work on Self (video shows that)
+ FALLTHROUGH
case UNT_NEUTRALBARRIER:
sc_start(ss,bl,type,100,sg->skill_lv,sg->interval + 100);
break;
@@ -12646,6 +12908,30 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
status->change_start(ss, bl, SC_BLIND, rnd() % 100 > sg->skill_lv * 10, sg->skill_lv, sg->skill_id, 0, 0,
skill->get_time2(sg->skill_id, sg->skill_lv), SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE);
break;
+ case UNT_SV_ROOTTWIST:
+ if (status_get_mode(bl)&MD_BOSS) {
+ break;
+ }
+ if (tsc) {
+ if (!sg->val2) {
+ int sec = skill->get_time(sg->skill_id, sg->skill_lv);
+
+ if (sc_start2(ss, bl, type, 100, sg->skill_lv, sg->group_id, sec)) {
+ const struct TimerData* td = ((tsc->data[type])? timer->get(tsc->data[type]->timer) : NULL);
+
+ if (td != NULL)
+ sec = DIFF_TICK32(td->tick, tick);
+ clif->fixpos(bl);
+ sg->val2 = bl->id;
+ } else { // Couldn't trap it?
+ sec = 7000;
+ }
+ sg->limit = DIFF_TICK32(tick, sg->tick) + sec;
+ } else if (tsc->data[type] && bl->id == sg->val2) {
+ skill->attack(skill->get_type(SU_SV_ROOTTWIST_ATK), ss, &src->bl, bl, SU_SV_ROOTTWIST_ATK, sg->skill_lv, tick, SD_LEVEL|SD_ANIMATION);
+ }
+ }
+ break;
default:
skill->unit_onplace_timer_unknown(src, bl, &tick);
break;
@@ -12664,7 +12950,8 @@ void skill_unit_onplace_timer_unknown(struct skill_unit *src, struct block_list
/*==========================================
* Triggered when a char steps out of a skill cell
*------------------------------------------*/
-int skill_unit_onout(struct skill_unit *src, struct block_list *bl, int64 tick) {
+int skill_unit_onout(struct skill_unit *src, struct block_list *bl, int64 tick)
+{
struct skill_unit_group *sg;
struct status_change *sc;
struct status_change_entry *sce;
@@ -12729,7 +13016,8 @@ int skill_unit_onout(struct skill_unit *src, struct block_list *bl, int64 tick)
/*==========================================
* Triggered when a char steps out of a skill group (entirely) [Skotlex]
*------------------------------------------*/
-int skill_unit_onleft(uint16 skill_id, struct block_list *bl, int64 tick) {
+int skill_unit_onleft(uint16 skill_id, struct block_list *bl, int64 tick)
+{
struct status_change *sc;
struct status_change_entry *sce;
enum sc_type type;
@@ -12814,7 +13102,8 @@ int skill_unit_onleft(uint16 skill_id, struct block_list *bl, int64 tick) {
case PF_FOGWALL:
if (sce) {
status_change_end(bl, type, INVALID_TIMER);
- if ((sce=sc->data[SC_BLIND])) {
+ nullpo_retb(sc);
+ if ((sce = sc->data[SC_BLIND])) {
if (bl->type == BL_PC) //Players get blind ended immediately, others have it still for 30 secs. [Skotlex]
status_change_end(bl, SC_BLIND, INVALID_TIMER);
else {
@@ -12842,14 +13131,19 @@ int skill_unit_onleft(uint16 skill_id, struct block_list *bl, int64 tick) {
* flag&1: Invoke onplace function (otherwise invoke onout)
* flag&4: Invoke a onleft call (the unit might be scheduled for deletion)
*------------------------------------------*/
-int skill_unit_effect(struct block_list* bl, va_list ap) {
+int skill_unit_effect(struct block_list* bl, va_list ap)
+{
struct skill_unit* su = va_arg(ap,struct skill_unit*);
- struct skill_unit_group* group = su->group;
+ struct skill_unit_group* group;
int64 tick = va_arg(ap,int64);
unsigned int flag = va_arg(ap,unsigned int);
uint16 skill_id;
bool dissonance;
+ nullpo_ret(bl);
+ nullpo_ret(su);
+ group = su->group;
+
if( (!su->alive && !(flag&4)) || bl->prev == NULL )
return 0;
@@ -12881,7 +13175,8 @@ int skill_unit_effect(struct block_list* bl, va_list ap) {
/*==========================================
*
*------------------------------------------*/
-int skill_unit_ondamaged(struct skill_unit *src, struct block_list *bl, int64 damage, int64 tick) {
+int skill_unit_ondamaged(struct skill_unit *src, struct block_list *bl, int64 damage, int64 tick)
+{
struct skill_unit_group *sg;
nullpo_ret(src);
@@ -13002,12 +13297,16 @@ int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
/*==========================================
* Checks and stores partners for ensemble skills [Skotlex]
*------------------------------------------*/
-int skill_check_pc_partner (struct map_session_data *sd, uint16 skill_id, uint16* skill_lv, int range, int cast_flag) {
+int skill_check_pc_partner(struct map_session_data *sd, uint16 skill_id, uint16* skill_lv, int range, int cast_flag)
+{
static int c=0;
static int p_sd[2] = { 0, 0 };
int i;
bool is_chorus = ( skill->get_inf2(skill_id)&INF2_CHORUS_SKILL );
+ nullpo_ret(sd);
+ nullpo_ret(skill_lv);
+
if (!battle_config.player_skill_partner_check || pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL))
return is_chorus ? MAX_PARTY : 99; //As if there were infinite partners.
@@ -13084,6 +13383,7 @@ int skill_check_condition_mob_master_sub (struct block_list *bl, va_list ap)
*------------------------------------------*/
int skill_isammotype (struct map_session_data *sd, int skill_id)
{
+ nullpo_ret(sd);
return (
battle_config.arrow_decrement==2 &&
(sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) &&
@@ -13123,7 +13423,8 @@ bool skill_is_combo( int skill_id )
return false;
}
-int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv) {
+int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv)
+{
struct status_data *st;
struct status_change *sc;
struct skill_condition require;
@@ -13220,8 +13521,10 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case SG_FUSION:
case RA_WUGDASH:
case KO_YAMIKUMO:
- if( sc && sc->data[status->skill2sc(skill_id)] )
+ case SU_HIDE:
+ if (sc && sc->data[status->skill2sc(skill_id)])
return 1;
+ FALLTHROUGH
default:
{
int ret = skill->check_condition_castbegin_off_unknown(sc, &skill_id);
@@ -13328,6 +13631,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case SA_CASTCANCEL:
if(sd->ud.skilltimer == INVALID_TIMER) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
@@ -13577,6 +13881,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case GD_EMERGENCYCALL:
// other checks were already done in skillnotok()
if (!sd->status.guild_id || !sd->state.gmaster_flag)
@@ -13599,6 +13904,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case NJ_BUNSINJYUTSU:
if (!(sc && sc->data[SC_NJ_NEN])) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
@@ -13637,7 +13943,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
{
int count = 0, i;
for( i = 0; i < MAX_INVENTORY; i ++ )
- if( sd->status.inventory[i].nameid == ITEMID_ANCILLA )
+ if (sd->status.inventory[i].nameid == ITEMID_ANSILA)
count += sd->status.inventory[i].amount;
if( count >= 3 ) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_ANCILLA_NUMOVER, 0);
@@ -13925,6 +14231,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case ST_CART:
if(!pc_iscarton(sd)) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_CART,0);
@@ -14018,11 +14325,13 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case ST_MH_GRAPPLING:
if (!(sc && sc->data[SC_STYLE_CHANGE] && sc->data[SC_STYLE_CHANGE]->val2 == MH_MD_GRAPPLING)){
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
+ FALLTHROUGH
case ST_PECO:
if (!pc_isridingpeco(sd)) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
@@ -14089,7 +14398,8 @@ int skill_check_condition_castbegin_unknown(struct status_change *sc, uint16 *sk
return -1;
}
-int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv) {
+int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv)
+{
struct skill_condition require;
struct status_data *st;
int i;
@@ -14266,7 +14576,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
cause = USESKILL_FAIL_BLUEJAMSTONE; break;
case ITEMID_HOLY_WATER:
cause = USESKILL_FAIL_HOLYWATER; break;
- case ITEMID_ANCILLA:
+ case ITEMID_ANSILA:
cause = USESKILL_FAIL_ANCILLA; break;
case ITEMID_ACCELERATOR:
case ITEMID_HOVERING_BOOSTER:
@@ -14293,12 +14603,14 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
return 1;
}
-void skill_check_condition_castend_unknown(struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv) {
+void skill_check_condition_castend_unknown(struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv)
+{
}
// type&2: consume items (after skill was used)
// type&1: consume the others (before skill was used)
-int skill_consume_requirement( struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, short type) {
+int skill_consume_requirement(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, short type)
+{
struct skill_condition req;
nullpo_ret(sd);
@@ -14379,7 +14691,8 @@ int skill_consume_requirement( struct map_session_data *sd, uint16 skill_id, uin
return 1;
}
-struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv) {
+struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv)
+{
struct skill_condition req;
struct status_data *st;
struct status_change *sc;
@@ -14421,7 +14734,8 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
case TK_READYTURN:
case SG_FUSION:
case KO_YAMIKUMO:
- if( sc && sc->data[status->skill2sc(skill_id)] )
+ case SU_HIDE:
+ if (sc && sc->data[status->skill2sc(skill_id)])
return req;
/* Fall through */
default:
@@ -14577,7 +14891,7 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
if ((item_index = pc->search_inventory(sd, req.itemid[i])) == INDEX_NOT_FOUND
|| sd->status.inventory[item_index].amount < req.amount[i]
) {
- req.itemid[i] = ITEMID_TRAP_ALLOY;
+ req.itemid[i] = ITEMID_SPECIAL_ALLOY_TRAP;
req.amount[i] = 1;
}
break;
@@ -14604,14 +14918,14 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
switch(skill_lv) {
case 1:
case 2:
- req.itemid[1] = ITEMID_REPAIR_A;
+ req.itemid[1] = ITEMID_REPAIRA;
break;
case 3:
case 4:
- req.itemid[1] = ITEMID_REPAIR_B;
+ req.itemid[1] = ITEMID_REPAIRB;
break;
case 5:
- req.itemid[1] = ITEMID_REPAIR_C;
+ req.itemid[1] = ITEMID_REPAIRC;
break;
}
req.amount[1] = 1;
@@ -14724,7 +15038,8 @@ void skill_get_requirement_unknown(struct status_change *sc, struct map_session_
/*==========================================
* Does cast-time reductions based on dex, item bonuses and config setting
*------------------------------------------*/
-int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
+int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv)
+{
int time = skill->get_cast(skill_id, skill_lv);
nullpo_ret(bl);
@@ -14774,11 +15089,13 @@ int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
/*==========================================
* Does cast-time reductions based on sc data.
*------------------------------------------*/
-int skill_castfix_sc (struct block_list *bl, int time) {
+int skill_castfix_sc (struct block_list *bl, int time)
+{
struct status_change *sc = status->get_sc(bl);
if( time < 0 )
return 0;
+ nullpo_ret(bl);
if( bl->type == BL_MOB ) // mobs casttime is fixed nothing to alter.
return time;
@@ -14807,7 +15124,9 @@ int skill_castfix_sc (struct block_list *bl, int time) {
//ShowInfo("Castime castfix_sc = %d\n",time);
return time;
}
-int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv) {
+
+int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv)
+{
#ifdef RENEWAL_CAST
struct status_change *sc = status->get_sc(bl);
struct map_session_data *sd = BL_CAST(BL_PC,bl);
@@ -14815,6 +15134,7 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
if( time < 0 )
return 0;
+ nullpo_ret(bl);
if( bl->type == BL_MOB ) // mobs casttime is fixed nothing to alter.
return (int)time;
@@ -14886,6 +15206,7 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
case WZ_FIREPILLAR:
if(skill_lv < 5)
break;
+ FALLTHROUGH
case HW_GRAVITATION:
case MG_SAFETYWALL:
case MG_STONECURSE:
@@ -14947,7 +15268,8 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
/*==========================================
* Does delay reductions based on dex/agi, sc data, item bonuses, ...
*------------------------------------------*/
-int skill_delay_fix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
+int skill_delay_fix (struct block_list *bl, uint16 skill_id, uint16 skill_lv)
+{
int delaynodex = skill->get_delaynodex(skill_id, skill_lv);
int time = skill->get_delay(skill_id, skill_lv);
struct map_session_data *sd;
@@ -15046,7 +15368,8 @@ struct square {
int val2[5];
};
-void skill_brandishspear_first (struct square *tc, uint8 dir, int16 x, int16 y) {
+void skill_brandishspear_first (struct square *tc, uint8 dir, int16 x, int16 y)
+{
nullpo_retv(tc);
if(dir == 0){
@@ -15141,7 +15464,8 @@ void skill_brandishspear_first (struct square *tc, uint8 dir, int16 x, int16 y)
}
-void skill_brandishspear_dir (struct square* tc, uint8 dir, int are) {
+void skill_brandishspear_dir (struct square* tc, uint8 dir, int are)
+{
int c;
nullpo_retv(tc);
@@ -15159,11 +15483,17 @@ void skill_brandishspear_dir (struct square* tc, uint8 dir, int are) {
}
}
-void skill_brandishspear(struct block_list* src, struct block_list* bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+void skill_brandishspear(struct block_list* src, struct block_list* bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
+{
int c,n=4;
- uint8 dir = map->calc_dir(src,bl->x,bl->y);
+ uint8 dir;
struct square tc;
- int x=bl->x,y=bl->y;
+ int x, y;
+
+ nullpo_retv(bl);
+ x = bl->x;
+ y = bl->y;
+ dir = map->calc_dir(src, x, y);
skill->brandishspear_first(&tc,dir,x,y);
skill->brandishspear_dir(&tc,dir,4);
skill->area_temp[1] = bl->id;
@@ -15208,7 +15538,8 @@ void skill_brandishspear(struct block_list* src, struct block_list* bl, uint16 s
/*==========================================
* Weapon Repair [Celest/DracoRPG]
*------------------------------------------*/
-void skill_repairweapon (struct map_session_data *sd, int idx) {
+void skill_repairweapon (struct map_session_data *sd, int idx)
+{
int material;
int materials[4] = {
ITEMID_IRON_ORE,
@@ -15552,10 +15883,12 @@ int skill_frostjoke_scream(struct block_list *bl, va_list ap)
/*==========================================
*
*------------------------------------------*/
-void skill_unitsetmapcell (struct skill_unit *src, uint16 skill_id, uint16 skill_lv, cell_t cell, bool flag) {
+void skill_unitsetmapcell (struct skill_unit *src, uint16 skill_id, uint16 skill_lv, cell_t cell, bool flag)
+{
int range = skill->get_unit_range(skill_id,skill_lv);
int x,y;
+ nullpo_retv(src);
for( y = src->bl.y - range; y <= src->bl.y + range; ++y )
for( x = src->bl.x - range; x <= src->bl.x + range; ++x )
map->list[src->bl.m].setcell(src->bl.m, x, y, cell, flag);
@@ -15564,11 +15897,14 @@ void skill_unitsetmapcell (struct skill_unit *src, uint16 skill_id, uint16 skill
/*==========================================
*
*------------------------------------------*/
-int skill_attack_area(struct block_list *bl, va_list ap) {
+int skill_attack_area(struct block_list *bl, va_list ap)
+{
struct block_list *src,*dsrc;
int atk_type,skill_id,skill_lv,flag,type;
int64 tick;
+ nullpo_ret(bl);
+
if(status->isdead(bl))
return 0;
@@ -15648,7 +15984,8 @@ int skill_clear_group (struct block_list *bl, int flag)
/*==========================================
* Returns the first element field found [Skotlex]
*------------------------------------------*/
-struct skill_unit_group *skill_locate_element_field(struct block_list *bl) {
+struct skill_unit_group *skill_locate_element_field(struct block_list *bl)
+{
struct unit_data *ud = unit->bl2ud(bl);
int i;
nullpo_ret(bl);
@@ -15986,7 +16323,8 @@ int skill_trap_splash(struct block_list *bl, va_list ap)
/*==========================================
*
*------------------------------------------*/
-int skill_enchant_elemental_end (struct block_list *bl, int type) {
+int skill_enchant_elemental_end(struct block_list *bl, int type)
+{
struct status_change *sc;
const enum sc_type scs[] = { SC_ENCHANTPOISON, SC_ASPERSIO, SC_PROPERTYFIRE, SC_PROPERTYWATER, SC_PROPERTYWIND, SC_PROPERTYGROUND, SC_PROPERTYDARK, SC_PROPERTYTELEKINESIS, SC_ENCHANTARMS };
int i;
@@ -16006,6 +16344,7 @@ bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce
{
bool wall = true;
+ nullpo_retr(false, bl);
if( (bl->type == BL_PC && battle_config.pc_cloak_check_type&1)
|| (bl->type != BL_PC && battle_config.monster_cloak_check_type&1)
) {
@@ -16040,7 +16379,8 @@ bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce
/**
* Verifies if an user can use SC_CLOAKING
**/
-bool skill_can_cloak(struct map_session_data *sd) {
+bool skill_can_cloak(struct map_session_data *sd)
+{
nullpo_retr(false, sd);
//Avoid cloaking with no wall and low skill level. [Skotlex]
@@ -16071,6 +16411,7 @@ bool skill_check_camouflage(struct block_list *bl, struct status_change_entry *s
{
bool wall = true;
+ nullpo_retr(false, bl);
if( bl->type == BL_PC ) { //Check for walls.
static int dx[] = { 0, 1, 0, -1, -1, 1, 1, -1};
static int dy[] = {-1, 0, 1, 0, -1, -1, 1, 1};
@@ -16133,7 +16474,8 @@ bool skill_check_shadowform(struct block_list *bl, int64 damage, int hit)
/*==========================================
*
*------------------------------------------*/
-struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2) {
+struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2)
+{
struct skill_unit *su;
nullpo_retr(NULL, group);
@@ -16185,7 +16527,8 @@ struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int
/*==========================================
*
*------------------------------------------*/
-int skill_delunit (struct skill_unit* su) {
+int skill_delunit (struct skill_unit* su)
+{
struct skill_unit_group *group;
nullpo_ret(su);
@@ -16506,6 +16849,7 @@ struct skill_unit_group_tickset *skill_unitgrouptickset_search(struct block_list
struct skill_unit_group_tickset *set;
nullpo_ret(bl);
+ nullpo_ret(group);
if (group->interval==-1)
return NULL;
@@ -16540,10 +16884,16 @@ struct skill_unit_group_tickset *skill_unitgrouptickset_search(struct block_list
/*==========================================
*
*------------------------------------------*/
-int skill_unit_timer_sub_onplace(struct block_list* bl, va_list ap) {
- struct skill_unit* su = va_arg(ap,struct skill_unit *);
- struct skill_unit_group* group = su->group;
- int64 tick = va_arg(ap,int64);
+int skill_unit_timer_sub_onplace(struct block_list* bl, va_list ap)
+{
+ struct skill_unit* su;
+ struct skill_unit_group* group;
+ int64 tick;
+
+ su = va_arg(ap,struct skill_unit *);
+ nullpo_ret(su);
+ group = su->group;
+ tick = va_arg(ap,int64);
if( !su->alive || bl->prev == NULL )
return 0;
@@ -16566,11 +16916,16 @@ int skill_unit_timer_sub_onplace(struct block_list* bl, va_list ap) {
*/
int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap)
{
- struct skill_unit* su = DB->data2ptr(data);
- struct skill_unit_group* group = su->group;
+ struct skill_unit* su;
+ struct skill_unit_group* group;
int64 tick = va_arg(ap,int64);
bool dissonance;
- struct block_list* bl = &su->bl;
+ struct block_list* bl;
+
+ su = DB->data2ptr(data);
+ nullpo_ret(su);
+ group = su->group;
+ bl = &su->bl;
if( !su->alive )
return 0;
@@ -16603,6 +16958,7 @@ int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap)
skill->delunit(su);
break;
}
+ FALLTHROUGH
case UNT_SKIDTRAP:
case UNT_LANDMINE:
case UNT_SHOCKWAVE:
@@ -16627,7 +16983,7 @@ int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap)
// revert unit back into a trap
struct item item_tmp;
memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid = group->item_id?group->item_id:ITEMID_TRAP;
+ item_tmp.nameid = group->item_id ? group->item_id : ITEMID_BOOBY_TRAP;
item_tmp.identify = 1;
map->addflooritem(bl, &item_tmp, 1, bl->m, bl->x, bl->y, 0, 0, 0, 0);
}
@@ -16778,7 +17134,8 @@ int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap)
/*==========================================
* Executes on all skill units every SKILLUNITTIMER_INTERVAL milliseconds.
*------------------------------------------*/
-int skill_unit_timer(int tid, int64 tick, int id, intptr_t data) {
+int skill_unit_timer(int tid, int64 tick, int id, intptr_t data)
+{
map->freeblock_lock();
skill->unit_db->foreach(skill->unit_db, skill->unit_timer_sub, tick);
@@ -16804,6 +17161,7 @@ int skill_unit_move_sub(struct block_list* bl, va_list ap)
uint16 skill_id;
int i;
+ nullpo_ret(target);
nullpo_ret(bl);
Assert_ret(bl->type == BL_SKILL);
su = BL_UCAST(BL_SKILL, bl);
@@ -16890,7 +17248,8 @@ int skill_unit_move_sub(struct block_list* bl, va_list ap)
* units to figure out when they have left a group.
* flag&4: Force a onleft event (triggered when the bl is killed, for example)
*------------------------------------------*/
-int skill_unit_move(struct block_list *bl, int64 tick, int flag) {
+int skill_unit_move(struct block_list *bl, int64 tick, int flag)
+{
nullpo_ret(bl);
if( bl->prev == NULL )
@@ -16915,7 +17274,8 @@ int skill_unit_move(struct block_list *bl, int64 tick, int flag) {
/*==========================================
*
*------------------------------------------*/
-int skill_unit_move_unit_group(struct skill_unit_group *group, int16 m, int16 dx, int16 dy) {
+int skill_unit_move_unit_group(struct skill_unit_group *group, int16 m, int16 dx, int16 dy)
+{
int i,j;
int64 tick = timer->gettick();
int *m_flag;
@@ -17067,7 +17427,8 @@ int skill_can_produce_mix (struct map_session_data *sd, int nameid, int trigger,
/*==========================================
*
*------------------------------------------*/
-int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int nameid, int slot1, int slot2, int slot3, int qty) {
+int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int nameid, int slot1, int slot2, int slot3, int qty)
+{
int slot[3];
int i,sc,ele,idx,equip,wlv,make_per = 0,flag = 0,skill_lv = 0;
int num = -1; // exclude the recipe
@@ -17262,12 +17623,15 @@ int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int nameid,
case ITEMID_HAGALAZ:
case ITEMID_OTHILA:
D -= 500; //Rank C
+ FALLTHROUGH
case ITEMID_ISA:
case ITEMID_WYRD:
D -= 500; //Rank B
+ FALLTHROUGH
case ITEMID_NAUTHIZ:
case ITEMID_URUZ:
D -= 500; //Rank A
+ FALLTHROUGH
case ITEMID_BERKANA:
case ITEMID_LUX_ANIMA:
D -= 500; //Rank S
@@ -17712,7 +18076,9 @@ int skill_arrow_create (struct map_session_data *sd, int nameid)
return 0;
}
-int skill_poisoningweapon( struct map_session_data *sd, int nameid) {
+
+int skill_poisoningweapon(struct map_session_data *sd, int nameid)
+{
sc_type type;
int chance, i;
nullpo_ret(sd);
@@ -17743,7 +18109,8 @@ int skill_poisoningweapon( struct map_session_data *sd, int nameid) {
return 0;
}
-void skill_toggle_magicpower(struct block_list *bl, uint16 skill_id) {
+void skill_toggle_magicpower(struct block_list *bl, uint16 skill_id)
+{
struct status_change *sc = status->get_sc(bl);
// non-offensive and non-magic skills do not affect the status
@@ -17767,7 +18134,8 @@ void skill_toggle_magicpower(struct block_list *bl, uint16 skill_id) {
}
}
-int skill_magicdecoy(struct map_session_data *sd, int nameid) {
+int skill_magicdecoy(struct map_session_data *sd, int nameid)
+{
int x, y, i, class_ = 0, skill_id;
struct mob_data *md;
nullpo_ret(sd);
@@ -17789,16 +18157,16 @@ int skill_magicdecoy(struct map_session_data *sd, int nameid) {
sd->menuskill_val = 0;
switch (nameid) {
- case ITEMID_SCARLET_POINT:
+ case ITEMID_SCARLET_PTS:
class_ = MOBID_MAGICDECOY_FIRE;
break;
- case ITEMID_INDIGO_POINT:
+ case ITEMID_INDIGO_PTS:
class_ = MOBID_MAGICDECOY_WATER;
break;
- case ITEMID_LIME_GREEN_POINT:
+ case ITEMID_LIME_GREEN_PTS:
class_ = MOBID_MAGICDECOY_WIND;
break;
- case ITEMID_YELLOW_WISH_POINT:
+ case ITEMID_YELLOW_WISH_PTS:
class_ = MOBID_MAGICDECOY_EARTH;
break;
}
@@ -17818,7 +18186,8 @@ int skill_magicdecoy(struct map_session_data *sd, int nameid) {
}
// Warlock Spellbooks. [LimitLine/3CeAM]
-int skill_spellbook (struct map_session_data *sd, int nameid) {
+int skill_spellbook(struct map_session_data *sd, int nameid)
+{
int i, max_preserve, skill_id, point;
struct status_change *sc;
@@ -17866,7 +18235,9 @@ int skill_spellbook (struct map_session_data *sd, int nameid) {
return 1;
}
-int skill_select_menu(struct map_session_data *sd,uint16 skill_id) {
+
+int skill_select_menu(struct map_session_data *sd,uint16 skill_id)
+{
int id, lv, prob, aslvl = 0, idx = 0;
nullpo_ret(sd);
@@ -18012,6 +18383,7 @@ int skill_changematerial(struct map_session_data *sd, const struct itemlist *ite
return 0;
}
+
/**
* for Royal Guard's LG_TRAMPLE
**/
@@ -18047,10 +18419,12 @@ int skill_destroy_trap(struct block_list *bl, va_list ap)
}
return 0;
}
+
/*==========================================
*
*------------------------------------------*/
-int skill_blockpc_end(int tid, int64 tick, int id, intptr_t data) {
+int skill_blockpc_end(int tid, int64 tick, int id, intptr_t data)
+{
struct map_session_data *sd = map->id2sd(id);
struct skill_cd * cd = NULL;
@@ -18102,7 +18476,8 @@ int skill_blockpc_end(int tid, int64 tick, int id, intptr_t data) {
* @param tick the length of time the delay should last
* @return 0 if successful, -1 otherwise
*/
-int skill_blockpc_start_(struct map_session_data *sd, uint16 skill_id, int tick) {
+int skill_blockpc_start_(struct map_session_data *sd, uint16 skill_id, int tick)
+{
struct skill_cd* cd = NULL;
uint16 idx = skill->get_index(skill_id);
int64 now = timer->gettick();
@@ -18197,7 +18572,9 @@ int skill_blockhomun_end(int tid, int64 tick, int id, intptr_t data)
return 1;
}
-int skill_blockhomun_start(struct homun_data *hd, uint16 skill_id, int tick) { // [orn]
+// [orn]
+int skill_blockhomun_start(struct homun_data *hd, uint16 skill_id, int tick)
+{
uint16 idx = skill->get_index(skill_id);
nullpo_retr (-1, hd);
@@ -18239,12 +18616,15 @@ int skill_blockmerc_start(struct mercenary_data *md, uint16 skill_id, int tick)
md->blockskill[idx] = 1;
return timer->add(timer->gettick() + tick, skill->blockmerc_end, md->bl.id, idx);
}
+
/**
* Adds a new skill unit entry for this player to recast after map load
**/
-void skill_usave_add(struct map_session_data * sd, uint16 skill_id, uint16 skill_lv) {
+void skill_usave_add(struct map_session_data * sd, uint16 skill_id, uint16 skill_lv)
+{
struct skill_unit_save * sus = NULL;
+ nullpo_retv(sd);
if( idb_exists(skill->usave_db,sd->status.char_id) ) {
idb_remove(skill->usave_db,sd->status.char_id);
}
@@ -18257,9 +18637,12 @@ void skill_usave_add(struct map_session_data * sd, uint16 skill_id, uint16 skill
return;
}
-void skill_usave_trigger(struct map_session_data *sd) {
+
+void skill_usave_trigger(struct map_session_data *sd)
+{
struct skill_unit_save * sus = NULL;
+ nullpo_retv(sd);
if( ! (sus = idb_get(skill->usave_db,sd->status.char_id)) ) {
return;
}
@@ -18277,6 +18660,8 @@ int skill_split_atoi(char *str, int *val)
{
int i, j, step = 1;
+ nullpo_ret(val);
+
for (i=0; i<MAX_SKILL_LEVEL; i++) {
if (!str) break;
val[i] = atoi(str);
@@ -18595,7 +18980,8 @@ void skill_init_unit_layout_unknown(int skill_idx)
ShowError("unknown unit layout at skill %d\n", skill_idx);
}
-int skill_block_check(struct block_list *bl, sc_type type , uint16 skill_id) {
+int skill_block_check(struct block_list *bl, sc_type type , uint16 skill_id)
+{
int inf = 0;
struct status_change *sc = status->get_sc(bl);
@@ -18742,7 +19128,8 @@ int skill_block_check(struct block_list *bl, sc_type type , uint16 skill_id) {
return 0;
}
-int skill_get_elemental_type( uint16 skill_id , uint16 skill_lv ) {
+int skill_get_elemental_type(uint16 skill_id , uint16 skill_lv)
+{
int type = 0;
switch (skill_id) {
@@ -18761,7 +19148,8 @@ int skill_get_elemental_type( uint16 skill_id , uint16 skill_lv ) {
* update stored skill cooldowns for player logout
* @param sd the affected player structure
*/
-void skill_cooldown_save(struct map_session_data * sd) {
+void skill_cooldown_save(struct map_session_data * sd)
+{
int i;
struct skill_cd* cd = NULL;
int64 now = 0;
@@ -18789,7 +19177,8 @@ void skill_cooldown_save(struct map_session_data * sd) {
* reload stored skill cooldowns when a player logs in.
* @param sd the affected player structure
*/
-void skill_cooldown_load(struct map_session_data * sd) {
+void skill_cooldown_load(struct map_session_data * sd)
+{
int i;
struct skill_cd* cd = NULL;
int64 now = 0;
@@ -18813,11 +19202,14 @@ void skill_cooldown_load(struct map_session_data * sd) {
}
}
-bool skill_parse_row_producedb(char* split[], int columns, int current) {
+bool skill_parse_row_producedb(char* split[], int columns, int current)
+{
// ProduceItemID,ItemLV,RequireSkill,Requireskill_lv,MaterialID1,MaterialAmount1,......
int x,y;
+ int i;
- int i = atoi(split[0]);
+ nullpo_retr(false, split);
+ i = atoi(split[0]);
if( !i )
return false;
@@ -18834,11 +19226,14 @@ bool skill_parse_row_producedb(char* split[], int columns, int current) {
return true;
}
-bool skill_parse_row_createarrowdb(char* split[], int columns, int current) {
+bool skill_parse_row_createarrowdb(char* split[], int columns, int current)
+{
// SourceID,MakeID1,MakeAmount1,...,MakeID5,MakeAmount5
int x,y;
- int i = atoi(split[0]);
+ int i;
+ nullpo_retr(false, split);
+ i = atoi(split[0]);
if( !i )
return false;
@@ -18851,12 +19246,19 @@ bool skill_parse_row_createarrowdb(char* split[], int columns, int current) {
return true;
}
-bool skill_parse_row_spellbookdb(char* split[], int columns, int current) {
+
+bool skill_parse_row_spellbookdb(char* split[], int columns, int current)
+{
// skill_id,PreservePoints
- uint16 skill_id = atoi(split[0]);
- int points = atoi(split[1]);
- int nameid = atoi(split[2]);
+ uint16 skill_id;
+ int points;
+ int nameid;
+
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
+ points = atoi(split[1]);
+ nameid = atoi(split[2]);
if( !skill->get_index(skill_id) || !skill->get_max(skill_id) )
ShowError("spellbook_db: Invalid skill ID %d\n", skill_id);
@@ -18874,10 +19276,16 @@ bool skill_parse_row_spellbookdb(char* split[], int columns, int current) {
return false;
}
-bool skill_parse_row_improvisedb(char* split[], int columns, int current) {
+
+bool skill_parse_row_improvisedb(char* split[], int columns, int current)
+{
// SkillID,Rate
- uint16 skill_id = atoi(split[0]);
- short j = atoi(split[1]);
+ uint16 skill_id;
+ short j;
+
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
+ j = atoi(split[1]);
if( !skill->get_index(skill_id) || !skill->get_max(skill_id) ) {
ShowError("skill_improvise_db: Invalid skill ID %d\n", skill_id);
@@ -18900,10 +19308,14 @@ bool skill_parse_row_improvisedb(char* split[], int columns, int current) {
return true;
}
-bool skill_parse_row_magicmushroomdb(char* split[], int column, int current) {
+
+bool skill_parse_row_magicmushroomdb(char* split[], int column, int current)
+{
// SkillID
- uint16 skill_id = atoi(split[0]);
+ uint16 skill_id;
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
if( !skill->get_index(skill_id) || !skill->get_max(skill_id) ) {
ShowError("magicmushroom_db: Invalid skill ID %d\n", skill_id);
return false;
@@ -18918,9 +19330,13 @@ bool skill_parse_row_magicmushroomdb(char* split[], int column, int current) {
return true;
}
-bool skill_parse_row_reproducedb(char* split[], int column, int current) {
- uint16 skill_id = atoi(split[0]);
- uint16 idx = skill->get_index(skill_id);
+bool skill_parse_row_reproducedb(char* split[], int column, int current)
+{
+ uint16 skill_id;
+ uint16 idx;
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
+ idx = skill->get_index(skill_id);
if( !idx )
return false;
@@ -18929,9 +19345,12 @@ bool skill_parse_row_reproducedb(char* split[], int column, int current) {
return true;
}
-bool skill_parse_row_abradb(char* split[], int columns, int current) {
+bool skill_parse_row_abradb(char* split[], int columns, int current)
+{
// skill_id,DummyName,RequiredHocusPocusLevel,Rate
- uint16 skill_id = atoi(split[0]);
+ uint16 skill_id;
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
if( !skill->get_index(skill_id) || !skill->get_max(skill_id) ) {
ShowError("abra_db: Invalid skill ID %d\n", skill_id);
return false;
@@ -18948,12 +19367,16 @@ bool skill_parse_row_abradb(char* split[], int columns, int current) {
return true;
}
-bool skill_parse_row_changematerialdb(char* split[], int columns, int current) {
+bool skill_parse_row_changematerialdb(char* split[], int columns, int current)
+{
// ProductID,BaseRate,MakeAmount1,MakeAmountRate1...,MakeAmount5,MakeAmountRate5
- uint16 skill_id = atoi(split[0]);
- short j = atoi(split[1]);
+ uint16 skill_id;
+ short j;
int x,y;
+ nullpo_retr(false, split);
+ skill_id = atoi(split[0]);
+ j = atoi(split[1]);
for(x=0; x<MAX_SKILL_PRODUCE_DB; x++){
if( skill->dbs->produce_db[x].nameid == skill_id )
if( skill->dbs->produce_db[x].req_skill == GN_CHANGEMATERIAL )
@@ -18993,9 +19416,10 @@ void skill_config_set_level(struct config_setting_t *conf, int *arr)
{
int i=0;
+ nullpo_retv(arr);
if (config_setting_is_group(conf)) {
for (i=0; i<MAX_SKILL_LEVEL; i++) {
- char level[5];
+ char level[6]; // enough to contain "Lv100" in case of custom MAX_SKILL_LEVEL
sprintf(level, "Lv%d", i+1);
libconfig->setting_lookup_int(conf, level, &arr[i]);
}
@@ -19020,7 +19444,8 @@ void skill_config_set_level(struct config_setting_t *conf, int *arr)
void skill_level_set_value(int *arr, int value)
{
int i=0;
-
+
+ nullpo_retv(arr);
for(i=0; i<MAX_SKILL_LEVEL; i++) {
arr[i] = value;
}
@@ -19030,6 +19455,7 @@ void skill_validate_hittype(struct config_setting_t *conf, struct s_skill_db *sk
{
const char *type = NULL;
+ nullpo_retv(sk);
if (libconfig->setting_lookup_string(conf, "Hit", &type)) {
if (strcmpi(type, "BDT_SKILL") == 0) {
sk->hit = BDT_SKILL;
@@ -19054,6 +19480,7 @@ void skill_validate_skilltype(struct config_setting_t *conf, struct s_skill_db *
{
struct config_setting_t *t = NULL, *tt = NULL;
+ nullpo_retv(sk);
if((t=libconfig->setting_get_member(conf, "SkillType")) && config_setting_is_group(t)) {
int j=0;
while ((tt = libconfig->setting_get_elem(t, j++))) {
@@ -19107,6 +19534,7 @@ void skill_validate_skillinfo(struct config_setting_t *conf, struct s_skill_db *
{
struct config_setting_t *t = NULL, *tt = NULL;
+ nullpo_retv(sk);
if ((t=libconfig->setting_get_member(conf, "SkillInfo")) && config_setting_is_group(t)) {
int j=0;
while ((tt = libconfig->setting_get_elem(t, j++))) {
@@ -19232,6 +19660,7 @@ void skill_validate_attacktype(struct config_setting_t *conf, struct s_skill_db
{
const char *type = NULL;
+ nullpo_retv(sk);
if (libconfig->setting_lookup_string(conf, "AttackType", &type)) {
if (!strcmpi(type, "Weapon")) {
sk->skill_type = BF_WEAPON;
@@ -19257,9 +19686,10 @@ void skill_validate_element(struct config_setting_t *conf, struct s_skill_db *sk
const char *type = NULL;
struct config_setting_t *t = NULL;
+ nullpo_retv(sk);
if ((t=libconfig->setting_get_member(conf, "Element")) && config_setting_is_group(t)) {
int j = 0;
- char lv[5];
+ char lv[6]; // enough to contain "Lv100" in case of custom MAX_SKILL_LEVEL
for (j=0; j < MAX_SKILL_LEVEL; j++) {
sprintf(lv, "Lv%d",j+1);
@@ -19303,6 +19733,7 @@ void skill_validate_damagetype(struct config_setting_t *conf, struct s_skill_db
{
struct config_setting_t *t = NULL, *tt = NULL;
+ nullpo_retv(sk);
if ((t=libconfig->setting_get_member(conf, "DamageType")) && config_setting_is_group(t)) {
int j=0;
while ((tt = libconfig->setting_get_elem(t, j++))) {
@@ -19375,6 +19806,7 @@ void skill_validate_castnodex(struct config_setting_t *conf, struct s_skill_db *
{
struct config_setting_t *t = NULL, *tt = NULL;
+ nullpo_retv(sk);
if ((t=libconfig->setting_get_member(conf, delay?"SkillDelayOptions":"CastTimeOptions")) && config_setting_is_group(t)) {
int j = 0, tmpopt = 0;
while ((tt = libconfig->setting_get_elem(t, j++)) && j < 4) {
@@ -19417,8 +19849,9 @@ void skill_validate_castnodex(struct config_setting_t *conf, struct s_skill_db *
* @param *sk struct, pointer to s_skill_db
* @return void
*/
-int skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_db *sk )
+int skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_db *sk)
{
+ nullpo_ret(sk);
if (strcmpi(type, "NoWeapon") == 0) {
if (on) {
sk->weapon |= 1<<W_FIST;
@@ -19624,15 +20057,16 @@ void skill_validate_weapontype(struct config_setting_t *conf, struct s_skill_db
struct config_setting_t *tt = NULL;
const char *type = NULL;
+ nullpo_retv(sk);
if ((tt = libconfig->setting_get_member(conf, "WeaponTypes")) && config_setting_is_group(tt)) {
int j = 0;
struct config_setting_t *wpt = NULL;
while ((wpt = libconfig->setting_get_elem(tt, j++)) != NULL) {
- if (skill_validate_weapontype_sub(config_setting_name(wpt), libconfig->setting_get_bool_real(wpt), sk))
+ if (skill->validate_weapontype_sub(config_setting_name(wpt), libconfig->setting_get_bool_real(wpt), sk))
skilldb_invalid_error(config_setting_name(wpt), config_setting_name(tt), sk->nameid);
}
} else if (libconfig->setting_lookup_string(conf, "WeaponTypes", &type)) {
- if (skill_validate_weapontype_sub(type, true, sk))
+ if (skill->validate_weapontype_sub(type, true, sk))
skilldb_invalid_error(type, "WeaponTypes", sk->nameid);
}
}
@@ -19647,6 +20081,7 @@ void skill_validate_weapontype(struct config_setting_t *conf, struct s_skill_db
*/
int skill_validate_ammotype_sub(const char *type, bool on, struct s_skill_db *sk)
{
+ nullpo_ret(sk);
if (strcmpi(type, "A_ARROW") == 0) {
if (on) {
sk->ammo |= 1<<A_ARROW;
@@ -19726,15 +20161,16 @@ void skill_validate_ammotype(struct config_setting_t *conf, struct s_skill_db *s
struct config_setting_t *tt = NULL;
const char *tstr = NULL;
+ nullpo_retv(sk);
if ((tt = libconfig->setting_get_member(conf, "AmmoTypes")) && config_setting_is_group(tt)) {
int j = 0;
struct config_setting_t *amt = { 0 };
while ((amt = libconfig->setting_get_elem(tt, j++))) {
- if (skill_validate_ammotype_sub(config_setting_name(amt), libconfig->setting_get_bool_real(amt), sk))
+ if (skill->validate_ammotype_sub(config_setting_name(amt), libconfig->setting_get_bool_real(amt), sk))
skilldb_invalid_error(config_setting_name(amt), config_setting_name(tt), sk->nameid);
}
} else if( libconfig->setting_lookup_string(conf, "AmmoTypes", &tstr)) {
- if (skill_validate_ammotype_sub(tstr, true, sk))
+ if (skill->validate_ammotype_sub(tstr, true, sk))
skilldb_invalid_error(tstr, "AmmoTypes", sk->nameid);
}
}
@@ -19750,6 +20186,7 @@ void skill_validate_state(struct config_setting_t *conf, struct s_skill_db *sk)
{
const char *type = NULL;
+ nullpo_retv(sk);
if (libconfig->setting_lookup_string(conf, "State", &type) && strcmpi(type,"None") != ST_NONE) {
if ( strcmpi(type,"Hiding") == 0 ) sk->state = ST_HIDING;
else if (strcmpi(type,"Cloaking") == 0 ) sk->state = ST_CLOAKING;
@@ -19790,6 +20227,7 @@ void skill_validate_item_requirements(struct config_setting_t *conf, struct s_sk
{
struct config_setting_t *tt = NULL;
+ nullpo_retv(sk);
if ((tt=libconfig->setting_get_member(conf, "Items")) && config_setting_is_group(conf)) {
int itx=-1;
struct config_setting_t *it;
@@ -19826,6 +20264,7 @@ void skill_validate_unit_target(struct config_setting_t *conf, struct s_skill_db
{
const char *type = NULL;
+ nullpo_retv(sk);
if(libconfig->setting_lookup_string(conf, "Target", &type)) {
if(!strcmpi(type,"NotEnemy")) sk->unit_target = BCT_NOENEMY;
@@ -19865,6 +20304,8 @@ void skill_validate_unit_target(struct config_setting_t *conf, struct s_skill_db
*/
int skill_validate_unit_flag_sub(const char *type, bool on, struct s_skill_db *sk)
{
+ nullpo_ret(type);
+ nullpo_ret(sk);
if (strcmpi(type, "UF_DEFNOTENEMY") == 0) {
if (on) {
sk->unit_flag |= UF_DEFNOTENEMY;
@@ -19961,13 +20402,14 @@ void skill_validate_unit_flag(struct config_setting_t *conf, struct s_skill_db *
{
struct config_setting_t *t = NULL;
+ nullpo_retv(sk);
if ((t=libconfig->setting_get_member(conf, "Flag")) && config_setting_is_group(t)) {
int j=0;
struct config_setting_t *tt = NULL;
while ((tt = libconfig->setting_get_elem(t, j++))) {
const char *name = config_setting_name(tt);
- if (skill_validate_unit_flag_sub(name, libconfig->setting_get_bool_real(tt), sk))
+ if (skill->validate_unit_flag_sub(name, libconfig->setting_get_bool_real(tt), sk))
skilldb_invalid_error(name, config_setting_name(t), sk->nameid);
}
}
@@ -19992,8 +20434,10 @@ void skill_validate_additional_fields(struct config_setting_t *conf, struct s_sk
*/
bool skill_validate_skilldb(struct s_skill_db *sk, const char *source)
{
- int idx = skill->get_index(sk->nameid);
+ int idx;
+ nullpo_retr(false, sk);
+ idx = skill->get_index(sk->nameid);
if (idx == 0) {
ShowWarning("skill_validate_skilldb: Invalid skill Id %d provided in '%s'! ... skipping\n", sk->nameid, source);
ShowInfo("It is possible that the skill Id is 0 or unavailable (interferes with guild/homun/mercenary skill mapping).\n");
@@ -20276,7 +20720,8 @@ bool skill_read_skilldb(const char *filename)
* create_arrow_db.txt
* abra_db.txt
*------------------------------*/
-void skill_readdb(bool minimal) {
+void skill_readdb(bool minimal)
+{
// init skill db structures
db_clear(skill->name2id_db);
@@ -20348,7 +20793,8 @@ void skill_reload(void)
/*==========================================
*
*------------------------------------------*/
-int do_init_skill(bool minimal) {
+int do_init_skill(bool minimal)
+{
skill->name2id_db = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, MAX_SKILL_NAME_LENGTH);
skill->read_db(minimal);
@@ -20381,7 +20827,8 @@ int do_init_skill(bool minimal) {
return 0;
}
-int do_final_skill(void) {
+int do_final_skill(void)
+{
db_destroy(skill->name2id_db);
db_destroy(skill->group_db);
db_destroy(skill->unit_db);
@@ -20394,8 +20841,10 @@ int do_final_skill(void) {
ers_destroy(skill->cd_entry_ers);
return 0;
}
+
/* initialize the interface */
-void skill_defaults(void) {
+void skill_defaults(void)
+{
const int skill_enchant_eff[5] = { 10, 14, 17, 19, 20 };
const int skill_deluge_eff[5] = { 5, 9, 12, 14, 15 };
@@ -20605,6 +21054,9 @@ void skill_defaults(void) {
skill->validate_unit_flag = skill_validate_unit_flag;
skill->validate_additional_fields = skill_validate_additional_fields;
skill->validate_skilldb = skill_validate_skilldb;
+ skill->validate_weapontype_sub = skill_validate_weapontype_sub;
+ skill->validate_ammotype_sub = skill_validate_ammotype_sub;
+ skill->validate_unit_flag_sub = skill_validate_unit_flag_sub;
skill->read_skilldb = skill_read_skilldb;
skill->config_set_level = skill_config_set_level;
skill->level_set_value = skill_level_set_value;
diff --git a/src/map/skill.h b/src/map/skill.h
index c37f9ec41..5203c137b 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -1365,6 +1365,10 @@ enum e_skill {
ITEM_OPTION_SPLASH_ATTACK,
GM_FORCE_TRANSFER,
GM_WIDE_RESURRECTION,
+ ALL_NIFLHEIM_RECALL,
+ ALL_PRONTERA_RECALL,
+ ALL_GLASTHEIM_RECALL,
+ ALL_THANATOS_RECALL,
GC_DARKCROW = 5001,
RA_UNLIMIT,
@@ -1382,6 +1386,47 @@ enum e_skill {
ALL_FULL_THROTTLE,
NC_MAGMA_ERUPTION_DOTDAMAGE,
+ /** Summoner */
+ SU_BASIC_SKILL = 5018,
+ SU_BITE,
+ SU_HIDE,
+ SU_SCRATCH,
+ SU_STOOP,
+ SU_LOPE,
+ SU_SPRITEMABLE,
+ SU_POWEROFLAND,
+ SU_SV_STEMSPEAR,
+ SU_CN_POWDERING,
+ SU_CN_METEOR,
+ SU_SV_ROOTTWIST,
+ SU_SV_ROOTTWIST_ATK,
+ SU_POWEROFLIFE,
+ SU_SCAROFTAROU,
+ SU_PICKYPECK,
+ SU_PICKYPECK_DOUBLE_ATK,
+ SU_ARCLOUSEDASH,
+ SU_LUNATICCARROTBEAT,
+ SU_POWEROFSEA,
+ SU_TUNABELLY,
+ SU_TUNAPARTY,
+ SU_BUNCHOFSHRIMP,
+ SU_FRESHSHRIMP,
+ SU_CN_METEOR2,
+ SU_LUNATICCARROTBEAT2,
+ SU_SOULATTACK,
+ SU_POWEROFFLOCK,
+ SU_SVG_SPIRIT,
+ SU_HISS,
+ SU_NYANGGRASS,
+ SU_GROOMING,
+ SU_PURRING,
+ SU_SHRIMPARTY,
+ SU_SPIRITOFLIFE,
+ SU_MEOWMEOW,
+ SU_SPIRITOFLAND,
+ SU_CHATTERING,
+ SU_SPIRITOFSEA,
+
HLIF_HEAL = 8001,
HLIF_AVOID,
HLIF_BRAIN,
@@ -1651,6 +1696,9 @@ enum {
UNT_B_TRAP,
UNT_FIRE_RAIN,
+ UNT_CATNIPPOWDER,
+ UNT_SV_ROOTTWIST,
+
/**
* Guild Auras
**/
@@ -2056,6 +2104,9 @@ struct skill_interface {
void (*validate_unit_flag) (struct config_setting_t *conf, struct s_skill_db *sk);
void (*validate_additional_fields) (struct config_setting_t *conf, struct s_skill_db *sk);
bool (*validate_skilldb) (struct s_skill_db *skt, const char *source);
+ int (*validate_weapontype_sub) (const char *type, bool on, struct s_skill_db *sk);
+ int (*validate_ammotype_sub) (const char *type, bool on, struct s_skill_db *sk);
+ int (*validate_unit_flag_sub) (const char *type, bool on, struct s_skill_db *sk);
bool (*read_skilldb) (const char *filename);
void (*config_set_level) (struct config_setting_t *conf, int *arr);
void (*level_set_value) (int *arr, int value);
diff --git a/src/map/status.c b/src/map/status.c
index 9a76060c5..729b10f52 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -70,7 +70,8 @@ struct status_interface *status;
* @param skill The skill to look up
* @return The status registered for this skill
**/
-sc_type status_skill2sc(int skill_id) {
+sc_type status_skill2sc(int skill_id)
+{
int idx;
if( (idx = skill->get_index(skill_id)) == 0 ) {
ShowError("status_skill2sc: Unsupported skill id %d\n", skill_id);
@@ -147,7 +148,8 @@ void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int flag)
status->dbs->Skill2SCTable[idx] = sc;
}
-void initChangeTables(void) {
+void initChangeTables(void)
+{
#define add_sc(skill,sc) status->set_sc((skill),(sc),SI_BLANK,SCB_NONE)
// indicates that the status displays a visual effect for the affected unit, and should be sent to the client for all supported units
#define set_sc_with_vfx(skill, sc, icon, flag) do { status->set_sc((skill), (sc), (icon), (flag)); if((icon) < SI_MAX) status->dbs->RelevantBLTypes[(icon)] |= BL_SCEFFECT; } while(0)
@@ -717,6 +719,24 @@ void initChangeTables(void) {
status->set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_FIRE_EXPANSION_TEAR_GAS , SI_FIRE_EXPANSION_TEAR_GAS , SCB_NONE );
status->set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SI_MANDRAGORA , SCB_INT );
+ /**
+ * Summoner
+ */
+ status->set_sc(SU_HIDE, SC_SUHIDE, SI_SUHIDE, SCB_SPEED);
+ add_sc(SU_SCRATCH, SC_BLOODING);
+ status->set_sc(SU_STOOP, SC_SU_STOOP, SI_SU_STOOP, SCB_NONE);
+ status->set_sc(SU_FRESHSHRIMP, SC_FRESHSHRIMP, SI_FRESHSHRIMP, SCB_NONE);
+ add_sc(SU_SV_STEMSPEAR, SC_BLOODING);
+ status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SI_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN);
+ add_sc(SU_CN_METEOR, SC_CURSE);
+ set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SI_SV_ROOTTWIST, SCB_NONE);
+ add_sc(SU_SCAROFTAROU, SC_STUN );
+ status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SI_BITESCAR, SCB_NONE);
+ status->set_sc(SU_ARCLOUSEDASH, SC_ARCLOUSEDASH, SI_ARCLOUSEDASH, SCB_AGI | SCB_SPEED);
+ add_sc(SU_LUNATICCARROTBEAT, SC_STUN);
+ status->set_sc(SU_TUNAPARTY, SC_TUNAPARTY, SI_TUNAPARTY, SCB_NONE);
+ status->set_sc(SU_BUNCHOFSHRIMP, SC_SHRIMP, SI_SHRIMP, SCB_BATK | SCB_MATK);
+
// Elemental Spirit summoner's 'side' status changes.
status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SI_CIRCLE_OF_FIRE_OPTION, SCB_NONE );
status->set_sc( EL_FIRE_CLOAK , SC_FIRE_CLOAK_OPTION , SI_FIRE_CLOAK_OPTION , SCB_ALL );
@@ -995,6 +1015,9 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_MAGICAL_FEATHER] = SI_MAGICAL_FEATHER;
status->dbs->IconChangeTable[SC_BLOSSOM_FLUTTERING] = SI_BLOSSOM_FLUTTERING;
+ // Summoner
+ status->dbs->IconChangeTable[SC_SPRITEMABLE] = SI_SPRITEMABLE;
+
// Other SC which are not necessarily associated to skills.
status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION1] |= SCB_ASPD;
status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION2] |= SCB_ASPD;
@@ -1200,13 +1223,16 @@ void initDummyData(void)
//For copying a status_data structure from b to a, without overwriting current Hp and Sp
void status_copy(struct status_data *a, const struct status_data *b)
{
+ nullpo_retv(a);
+ nullpo_retv(b);
memcpy((void*)&a->max_hp, (const void*)&b->max_hp, sizeof(struct status_data)-(sizeof(a->hp)+sizeof(a->sp)));
}
//Sets HP to given value. Flag is the flag passed to status->heal in case
//final value is higher than current (use 2 to make a healing effect display
//on players) It will always succeed (overrides Berserk block), but it can't kill.
-int status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
+int status_set_hp(struct block_list *bl, unsigned int hp, int flag)
+{
struct status_data *st;
if (hp < 1) return 0;
st = status->get_status_data(bl);
@@ -1223,7 +1249,8 @@ int status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
//Sets SP to given value. Flag is the flag passed to status->heal in case
//final value is higher than current (use 2 to make a healing effect display
//on players)
-int status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
+int status_set_sp(struct block_list *bl, unsigned int sp, int flag)
+{
struct status_data *st;
st = status->get_status_data(bl);
@@ -1237,7 +1264,9 @@ int status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
return status_zap(bl, 0, st->sp - sp);
}
-int status_charge(struct block_list* bl, int64 hp, int64 sp) {
+int status_charge(struct block_list* bl, int64 hp, int64 sp)
+{
+ nullpo_retr((int)(hp + sp), bl);
if(!(bl->type&BL_CONSUME))
return (int)(hp+sp); //Assume all was charged so there are no 'not enough' fails.
return status->damage(NULL, bl, hp, sp, 0, 3);
@@ -1248,11 +1277,13 @@ int status_charge(struct block_list* bl, int64 hp, int64 sp) {
//If flag&2, fail if target does not has enough to subtract.
//If flag&4, if killed, mob must not give exp/loot.
//flag will be set to &8 when damaging sp of a dead character
-int status_damage(struct block_list *src,struct block_list *target,int64 in_hp, int64 in_sp, int walkdelay, int flag) {
+int status_damage(struct block_list *src,struct block_list *target,int64 in_hp, int64 in_sp, int walkdelay, int flag)
+{
struct status_data *st;
struct status_change *sc;
int hp,sp;
+ nullpo_ret(target);
/* From here onwards, we consider it a 32-type as the client does not support higher and the value doesn't get through percentage modifiers */
hp = (int)cap_value(in_hp,INT_MIN,INT_MAX);
sp = (int)cap_value(in_sp,INT_MIN,INT_MAX);
@@ -1337,6 +1368,7 @@ int status_damage(struct block_list *src,struct block_list *target,int64 in_hp,
status_change_end(target, SC_CLOAKING, INVALID_TIMER);
status_change_end(target, SC_CHASEWALK, INVALID_TIMER);
status_change_end(target, SC_CAMOUFLAGE, INVALID_TIMER);
+ status_change_end(target, SC_SUHIDE, INVALID_TIMER);
if ((sce=sc->data[SC_ENDURE]) && !sce->val4 && !sc->data[SC_LKCONCENTRATION]) {
//Endure count is only reduced by non-players on non-gvg maps.
//val4 signals infinite endure. [Skotlex]
@@ -1485,11 +1517,13 @@ int status_damage(struct block_list *src,struct block_list *target,int64 in_hp,
//Heals a character. If flag&1, this is forced healing (otherwise stuff like Berserk can block it)
//If flag&2, when the player is healed, show the HP/SP heal effect.
-int status_heal(struct block_list *bl,int64 in_hp,int64 in_sp, int flag) {
+int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag)
+{
struct status_data *st;
struct status_change *sc;
int hp,sp;
+ nullpo_ret(bl);
st = status->get_status_data(bl);
if (st == &status->dummy || !st->hp)
@@ -1563,7 +1597,8 @@ int status_heal(struct block_list *bl,int64 in_hp,int64 in_sp, int flag) {
//If rates are < 0, percent is of max HP/SP
//If !flag, this is heal, otherwise it is damage.
//Furthermore, if flag==2, then the target must not die from the subtraction.
-int status_percent_change(struct block_list *src,struct block_list *target,signed char hp_rate, signed char sp_rate, int flag) {
+int status_percent_change(struct block_list *src, struct block_list *target, signed char hp_rate, signed char sp_rate, int flag)
+{
struct status_data *st;
unsigned int hp = 0, sp = 0;
@@ -1615,9 +1650,12 @@ int status_percent_change(struct block_list *src,struct block_list *target,signe
return status->heal(target, hp, sp, 0);
}
-int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per_sp) {
+int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per_sp)
+{
struct status_data *st;
unsigned int hp, sp;
+
+ nullpo_ret(bl);
if (!status->isdead(bl)) return 0;
st = status->get_status_data(bl);
@@ -1651,11 +1689,13 @@ int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per
return 1;
}
-int status_fixed_revive(struct block_list *bl, unsigned int per_hp, unsigned int per_sp) {
+int status_fixed_revive(struct block_list *bl, unsigned int per_hp, unsigned int per_sp)
+{
struct status_data *st;
unsigned int hp, sp;
if (!status->isdead(bl)) return 0;
+ nullpo_ret(bl);
st = status->get_status_data(bl);
if (st == &status->dummy)
return 0; //Invalid target.
@@ -1697,7 +1737,8 @@ int status_fixed_revive(struct block_list *bl, unsigned int per_hp, unsigned int
* target MAY Be null, in which case the checks are only to see
* whether the source can cast or not the skill on the ground.
*------------------------------------------*/
-int status_check_skilluse(struct block_list *src, struct block_list *target, uint16 skill_id, int flag) {
+int status_check_skilluse(struct block_list *src, struct block_list *target, uint16 skill_id, int flag)
+{
struct status_data *st;
struct status_change *sc=NULL, *tsc;
int hide_flag;
@@ -1783,6 +1824,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
(sc->data[SC_TRICKDEAD] && skill_id != NV_TRICKDEAD)
|| (sc->data[SC_AUTOCOUNTER] && !flag && skill_id)
|| (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF && skill_id != PA_GOSPEL)
+ || (sc->data[SC_SUHIDE] && skill_id != SU_HIDE)
)
return 0;
@@ -1802,9 +1844,13 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
switch (sc->data[SC_BLADESTOP]->val1)
{
case 5: if (skill_id == MO_EXTREMITYFIST) break;
+ FALLTHROUGH
case 4: if (skill_id == MO_CHAINCOMBO) break;
+ FALLTHROUGH
case 3: if (skill_id == MO_INVESTIGATE) break;
+ FALLTHROUGH
case 2: if (skill_id == MO_FINGEROFFENSIVE) break;
+ FALLTHROUGH
default: return 0;
}
}
@@ -1946,7 +1992,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
|| (tsc->data[SC_CLOAKINGEXCEED] != NULL && is_detect)
))
return 0;
- if (tsc->data[SC_CAMOUFLAGE] && !(is_boss || is_detect) && (!skill_id || (flag == 0 && src && src->type != BL_PC)))
+ if (tsc->data[SC_CAMOUFLAGE] && !(is_boss || is_detect) && flag == 0)
return 0;
if (tsc->data[SC_STEALTHFIELD] && !is_boss)
return 0;
@@ -1968,6 +2014,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
return 0; // Can't use Weapon endow skills on Mercenary (only Master)
if( skill_id == AM_POTIONPITCHER && ( target->type == BL_MER || target->type == BL_ELEM) )
return 0; // Can't use Potion Pitcher on Mercenaries
+ FALLTHROUGH
default:
//Check for chase-walk/hiding/cloaking opponents.
if( tsc ) {
@@ -1983,12 +2030,14 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
//Skotlex: Calculates the initial status for the given mob
//first will only be false when the mob leveled up or got a GuardUp level.
-int status_calc_mob_(struct mob_data* md, enum e_status_calc_opt opt) {
+int status_calc_mob_(struct mob_data *md, enum e_status_calc_opt opt)
+{
struct status_data *mstatus;
struct block_list *mbl = NULL;
int flag=0;
int guardup_lv = 0;
+ nullpo_retr(1, md);
if(opt&SCO_FIRST) { //Set basic level on respawn.
if (md->level > 0 && md->level <= MAX_LEVEL && md->level != md->db->lv)
;
@@ -2216,8 +2265,11 @@ int status_calc_pet_(struct pet_data *pd, enum e_status_calc_opt opt)
unsigned int status_get_base_maxsp(const struct map_session_data *sd, const struct status_data *st)
{
- uint64 val = pc->class2idx(sd->status.class_);
+ uint64 val;
+ nullpo_ret(sd);
+ nullpo_ret(st);
+ val = pc->class2idx(sd->status.class_);
val = status->dbs->SP_table[val][sd->status.base_level];
if ( sd->class_&JOBL_UPPER )
@@ -2234,8 +2286,11 @@ unsigned int status_get_base_maxsp(const struct map_session_data *sd, const stru
unsigned int status_get_base_maxhp(const struct map_session_data *sd, const struct status_data *st)
{
- uint64 val = pc->class2idx(sd->status.class_);
+ uint64 val;
+ nullpo_ret(sd);
+ nullpo_ret(st);
+ val = pc->class2idx(sd->status.class_);
val = status->dbs->HP_table[val][sd->status.base_level];
if ( (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99 )
@@ -2256,22 +2311,26 @@ unsigned int status_get_base_maxhp(const struct map_session_data *sd, const stru
return (unsigned int)cap_value(val,0,UINT_MAX);
}
-void status_calc_pc_additional(struct map_session_data* sd, enum e_status_calc_opt opt) {
+void status_calc_pc_additional(struct map_session_data* sd, enum e_status_calc_opt opt)
+{
/* Just used for Plugin to give bonuses. */
return;
}
//Calculates player data from scratch without counting SC adjustments.
//Should be invoked whenever players raise stats, learn passive skills or change equipment.
-int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
+int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
+{
static int calculating = 0; //Check for recursive call preemption. [Skotlex]
struct status_data *bstatus; // pointer to the player's base status
- const struct status_change *sc = &sd->sc;
+ const struct status_change *sc;
struct s_skill b_skill[MAX_SKILL]; // previous skill tree
int b_weight, b_max_weight, b_cart_weight_max, // previous weight
i, k, index, skill_lv,refinedef=0;
int64 i64;
+ nullpo_retr(-1, sd);
+ sc = &sd->sc;
if (++calculating > 10) //Too many recursive calls!
return -1;
@@ -2345,7 +2404,7 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
//Give them all modes except these (useful for clones)
bstatus->mode = MD_MASK&~(MD_BOSS|MD_PLANT|MD_DETECTOR|MD_ANGRY|MD_TARGETWEAK);
- bstatus->size = (sd->class_&JOBL_BABY)?SZ_SMALL:SZ_MEDIUM;
+ bstatus->size = (sd->class_&JOBL_BABY || (sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER)?SZ_SMALL:SZ_MEDIUM;
if (battle_config.character_size && (pc_isridingpeco(sd) || pc_isridingdragon(sd))) { //[Lupus]
if (sd->class_&JOBL_BABY) {
if (battle_config.character_size&SZ_BIG)
@@ -2357,7 +2416,7 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
}
bstatus->aspd_rate = 1000;
bstatus->ele_lv = 1;
- bstatus->race = RC_PLAYER;
+ bstatus->race = ((sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER)?RC_BRUTE:RC_PLAYER;
// Autobonus
pc->delautobonus(sd,sd->autobonus,ARRAYLENGTH(sd->autobonus),true);
@@ -2660,6 +2719,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
bstatus->dex += skill_lv;
if((skill_lv = pc->checkskill(sd,RA_RESEARCHTRAP))>0)
bstatus->int_ += skill_lv;
+ if ((pc->checkskill(sd,SU_POWEROFLAND)) > 0)
+ bstatus->int_ += 20;
// Bonuses from cards and equipment as well as base stat, remember to avoid overflows.
i = bstatus->str + sd->status.str + sd->param_bonus[0] + sd->param_equip[0];
@@ -2697,9 +2758,12 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
bstatus->max_hp = (unsigned int)cap_value(i64, 0, INT_MAX);
// Absolute modifiers from passive skills
- if((skill_lv=pc->checkskill(sd,CR_TRUST))>0)
+ if ((skill_lv=pc->checkskill(sd,CR_TRUST)) > 0)
bstatus->max_hp += skill_lv*200;
+ if ((pc->checkskill(sd,SU_SPRITEMABLE)) > 0)
+ bstatus->max_hp += 1000;
+
// Apply relative modifiers from equipment
if(sd->hprate < 0)
sd->hprate = 0;
@@ -2732,6 +2796,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
bstatus->max_sp += 200 + 20 * skill_lv;
if( (skill_lv = pc->checkskill(sd,WM_LESSON)) > 0 )
bstatus->max_sp += 30 * skill_lv;
+ if ((pc->checkskill(sd,SU_SPRITEMABLE)) > 0)
+ bstatus->max_sp += 100;
// Apply relative modifiers from equipment
if(sd->sprate < 0)
@@ -2804,6 +2870,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
sd->critical_rate = 0;
if(sd->critical_rate != 100)
bstatus->cri = bstatus->cri * sd->critical_rate/100;
+ if (pc->checkskill(sd, SU_POWEROFLIFE) > 0)
+ bstatus->cri += 20;
if(sd->flee2_rate < 0)
sd->flee2_rate = 0;
@@ -2836,6 +2904,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
bstatus->hit += 3*skill_lv;
if((sd->status.weapon == W_MACE || sd->status.weapon == W_2HMACE) && (skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
bstatus->hit += 2*skill_lv;
+ if (pc->checkskill(sd, SU_POWEROFLIFE) > 0)
+ bstatus->hit += 20;
// ----- FLEE CALCULATION -----
@@ -2844,6 +2914,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
bstatus->flee += skill_lv*(sd->class_&JOBL_2 && (sd->class_&MAPID_BASEMASK) == MAPID_THIEF? 4 : 3);
if((skill_lv=pc->checkskill(sd,MO_DODGE))>0)
bstatus->flee += (skill_lv*3)>>1;
+ if (pc->checkskill(sd, SU_POWEROFLIFE) > 0)
+ bstatus->flee += 20;
// ----- EQUIPMENT-DEF CALCULATION -----
// Apply relative modifiers from equipment
@@ -3139,15 +3211,25 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) {
clif->updatestatus(sd,SP_CARTINFO);
}
+ // Spirit Marble status activates automatically for a infinite
+ // amount of time when the skill is learned. Felt this was the
+ // best place to put this. [Rytech]
+ if (pc->checkskill(sd, SU_SPRITEMABLE))
+ sc_start(&sd->bl, &sd->bl, SC_SPRITEMABLE, 100, 1, INFINITE_DURATION);
+
calculating = 0;
return 0;
}
-int status_calc_mercenary_(struct mercenary_data *md, enum e_status_calc_opt opt) {
- struct status_data *mstatus = &md->base_status;
- struct s_mercenary *merc = &md->mercenary;
+int status_calc_mercenary_(struct mercenary_data *md, enum e_status_calc_opt opt)
+{
+ struct status_data *mstatus;
+ struct s_mercenary *merc;
+ nullpo_ret(md);
+ mstatus = &md->base_status;
+ merc = &md->mercenary;
if( opt&SCO_FIRST ) {
memcpy(mstatus, &md->db->status, sizeof(struct status_data));
mstatus->mode = MD_CANMOVE|MD_CANATTACK;
@@ -3163,12 +3245,17 @@ int status_calc_mercenary_(struct mercenary_data *md, enum e_status_calc_opt opt
return 0;
}
-int status_calc_elemental_(struct elemental_data *ed, enum e_status_calc_opt opt) {
- struct status_data *estatus = &ed->base_status;
- struct s_elemental *ele = &ed->elemental;
- struct map_session_data *sd = ed->master;
+int status_calc_elemental_(struct elemental_data *ed, enum e_status_calc_opt opt)
+{
+ struct status_data *estatus;
+ struct s_elemental *ele;
+ struct map_session_data *sd;
- if ( !sd )
+ nullpo_ret(ed);
+ estatus = &ed->base_status;
+ ele = &ed->elemental;
+ sd = ed->master;
+ if (sd == NULL)
return 0;
if ( opt&SCO_FIRST ) {
@@ -3202,7 +3289,8 @@ int status_calc_elemental_(struct elemental_data *ed, enum e_status_calc_opt opt
return 0;
}
-int status_calc_npc_(struct npc_data *nd, enum e_status_calc_opt opt) {
+int status_calc_npc_(struct npc_data *nd, enum e_status_calc_opt opt)
+{
struct status_data *nstatus;
if (!nd)
@@ -3238,12 +3326,16 @@ int status_calc_npc_(struct npc_data *nd, enum e_status_calc_opt opt) {
return 0;
}
-int status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt) {
- struct status_data *hstatus = &hd->base_status;
- struct s_homunculus *hom = &hd->homunculus;
+int status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt)
+{
+ struct status_data *hstatus;
+ struct s_homunculus *hom;
int skill_lv;
int amotion;
+ nullpo_retr(1, hd);
+ hstatus = &hd->base_status;
+ hom = &hd->homunculus;
hstatus->str = hom->str / 10;
hstatus->agi = hom->agi / 10;
hstatus->vit = hom->vit / 10;
@@ -3324,7 +3416,8 @@ int status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt) {
}
//Calculates base regen values.
-void status_calc_regen(struct block_list *bl, struct status_data *st, struct regen_data *regen) {
+void status_calc_regen(struct block_list *bl, struct status_data *st, struct regen_data *regen)
+{
struct map_session_data *sd;
int val, skill_lv, reg_flag;
nullpo_retv(bl);
@@ -3426,6 +3519,7 @@ void status_calc_regen(struct block_list *bl, struct status_data *st, struct reg
//Calculates SC related regen rates.
void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, struct status_change *sc)
{
+ nullpo_retv(bl);
if (!(bl->type&BL_REGEN) || !regen)
return;
@@ -3532,6 +3626,10 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str
regen->rate.hp += regen->rate.hp * sc->data[SC_BUCHEDENOEL]->val1 / 100;
regen->rate.sp += regen->rate.sp * sc->data[SC_BUCHEDENOEL]->val2 / 100;
}
+ if (sc->data[SC_CATNIPPOWDER]) {
+ regen->rate.hp *= 2;
+ regen->rate.sp *= 2;
+ }
}
#define status_get_homstr(st, hd) ((st)->str + (hd)->homunculus.str_value)
@@ -3543,13 +3641,16 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str
/// Recalculates parts of an object's battle status according to the specified flags.
/// @param flag bitfield of values from enum scb_flag
-void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
+void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag)
+{
const struct status_data *bst = status->get_base_status(bl);
struct status_data *st = status->get_status_data(bl);
struct status_change *sc = status->get_sc(bl);
struct map_session_data *sd = BL_CAST(BL_PC,bl);
int temp;
+ nullpo_retv(bl);
+
if (!bst || !st)
return;
@@ -3751,13 +3852,15 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
}
if(flag&SCB_CRI && bst->cri) {
- if (st->luk == bst->luk)
+ if (st->luk == bst->luk) {
st->cri = status->calc_critical(bl, sc, bst->cri, true);
- else
+ } else {
st->cri = status->calc_critical(bl, sc, bst->cri + 3*(st->luk - bst->luk), true);
+ }
+ if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->status.weapon == W_KATAR) {
+ st->cri *= 2;
+ }
}
- if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->status.weapon == W_KATAR)
- st->cri <<= 1;
if(flag&SCB_FLEE2 && bst->flee2) {
if (st->luk == bst->luk)
@@ -3816,10 +3919,10 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
if(flag&SCB_MAXSP) {
if( bl->type&BL_PC ) {
st->max_sp = status->get_base_maxsp(sd,st);
- if (sd)
+ if (sd != NULL) {
st->max_sp += bst->max_sp - sd->status.max_sp;
-
- st->max_sp = status->calc_maxsp(&sd->bl, &sd->sc, st->max_sp);
+ st->max_sp = status->calc_maxsp(&sd->bl, &sd->sc, st->max_sp);
+ }
if( st->max_sp > (unsigned int)battle_config.max_sp )
st->max_sp = (unsigned int)battle_config.max_sp;
@@ -3898,10 +4001,17 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
}
#ifdef RENEWAL_ASPD
amotion += (max(0xc3 - amotion, 2) * (st->aspd_rate2 + status->calc_aspd(bl, sc, 2))) / 100;
- amotion = 10 * (200 - amotion) + sd->bonus.aspd_add;
+ amotion = 10 * (200 - amotion);
+ if (sd != NULL) {
+ amotion += sd->bonus.aspd_add;
+ }
#endif
amotion = status->calc_fix_aspd(bl, sc, amotion);
- st->amotion = cap_value(amotion, ((sd->class_&JOBL_THIRD) ? battle_config.max_third_aspd : battle_config.max_aspd), 2000);
+ if (sd != NULL) {
+ st->amotion = cap_value(amotion, ((sd->class_&JOBL_THIRD) ? battle_config.max_third_aspd : battle_config.max_aspd), 2000);
+ } else {
+ st->amotion = cap_value(amotion, battle_config.max_aspd, 2000);
+ }
st->adelay = 2 * st->amotion;
} else { // mercenary and mobs
@@ -3925,6 +4035,7 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) {
if(flag&SCB_REGEN && bl->type&BL_REGEN)
status->calc_regen_rate(bl, status->get_regen_data(bl), sc);
}
+
/// Recalculates parts of an object's base status and battle status according to the specified flags.
/// Also sends updates to the client wherever applicable.
/// @param flag bitfield of values from enum scb_flag
@@ -3934,6 +4045,7 @@ void status_calc_bl_(struct block_list *bl, enum scb_flag flag, enum e_status_ca
struct status_data bst; // previous battle status
struct status_data *st; // pointer to current battle status
+ nullpo_retv(bl);
if (bl->type == BL_PC) {
struct map_session_data *sd = BL_UCAST(BL_PC, bl);
if (sd->delayed_damage != 0) {
@@ -4111,11 +4223,16 @@ void status_calc_bl_(struct block_list *bl, enum scb_flag flag, enum e_status_ca
clif->mercenary_updatestatus(ed->master, SP_SP);
}
}
+
//Checks whether the source can see and chase target.
-int status_check_visibility(struct block_list *src, struct block_list *target) {
+int status_check_visibility(struct block_list *src, struct block_list *target)
+{
int view_range;
struct status_change *tsc = NULL;
+ nullpo_ret(src);
+ nullpo_ret(target);
+
switch ( src->type ) {
case BL_MOB:
view_range = BL_UCCAST(BL_MOB, src)->min_chase;
@@ -4160,11 +4277,16 @@ int status_check_visibility(struct block_list *src, struct block_list *target) {
}
// Basic ASPD value
-int status_base_amotion_pc(struct map_session_data *sd, struct status_data *st) {
+int status_base_amotion_pc(struct map_session_data *sd, struct status_data *st)
+{
int amotion;
#ifdef RENEWAL_ASPD /* [malufett/Hercules] */
float temp;
int skill_lv, val = 0;
+
+ nullpo_ret(sd);
+ nullpo_ret(st);
+
amotion = status->dbs->aspd_base[pc->class2idx(sd->status.class_)][sd->weapontype1];
if ( sd->status.weapon > MAX_SINGLE_WEAPON_TYPE)
amotion += status->dbs->aspd_base[pc->class2idx(sd->status.class_)][sd->weapontype2] / 4;
@@ -4210,9 +4332,12 @@ int status_base_amotion_pc(struct map_session_data *sd, struct status_data *st)
return amotion;
}
-unsigned short status_base_atk(const struct block_list *bl, const struct status_data *st) {
+unsigned short status_base_atk(const struct block_list *bl, const struct status_data *st)
+{
int flag = 0, str, dex, dstr;
+ nullpo_ret(bl);
+ nullpo_ret(st);
if ( !(bl->type&battle_config.enable_baseatk) )
return 0;
@@ -4269,16 +4394,21 @@ unsigned short status_base_atk(const struct block_list *bl, const struct status_
unsigned short status_base_matk_min(const struct status_data *st)
{
- return st->int_ + (st->int_ / 7) * (st->int_ / 7);
+ nullpo_ret(st);
+ return st->int_ + (st->int_ / 7) * (st->int_ / 7);
}
unsigned short status_base_matk_max(const struct status_data *st)
{
- return st->int_ + (st->int_ / 5)*(st->int_ / 5);
+ nullpo_ret(st);
+ return st->int_ + (st->int_ / 5)*(st->int_ / 5);
}
-unsigned short status_base_matk(struct block_list *bl, const struct status_data *st, int level) {
+unsigned short status_base_matk(struct block_list *bl, const struct status_data *st, int level)
+{
#ifdef RENEWAL
+ nullpo_ret(bl);
+ nullpo_ret(st);
switch ( bl->type ) {
case BL_MOB:
return st->int_ + level;
@@ -4296,7 +4426,10 @@ unsigned short status_base_matk(struct block_list *bl, const struct status_data
}
//Fills in the misc data that can be calculated from the other status info (except for level)
-void status_calc_misc(struct block_list *bl, struct status_data *st, int level) {
+void status_calc_misc(struct block_list *bl, struct status_data *st, int level)
+{
+ nullpo_retv(bl);
+ nullpo_retv(st);
//Non players get the value set, players need to stack with previous bonuses.
if ( bl->type != BL_PC )
st->batk =
@@ -4494,9 +4627,12 @@ unsigned short status_calc_agi(struct block_list *bl, struct status_change *sc,
if (sc->data[SC_2011RWC])
agi += sc->data[SC_2011RWC]->val1;
- if(sc->data[SC_MARSHOFABYSS])
+ if (sc->data[SC_MARSHOFABYSS])
agi -= agi * sc->data[SC_MARSHOFABYSS]->val2 / 100;
+ if (sc->data[SC_ARCLOUSEDASH])
+ agi += sc->data[SC_ARCLOUSEDASH]->val2;
+
return (unsigned short)cap_value(agi,0,USHRT_MAX);
}
@@ -4553,6 +4689,7 @@ unsigned short status_calc_vit(struct block_list *bl, struct status_change *sc,
unsigned short status_calc_int(struct block_list *bl, struct status_change *sc, int int_)
{
+ nullpo_ret(bl);
if(!sc || !sc->count)
return cap_value(int_,0,USHRT_MAX);
@@ -4619,6 +4756,7 @@ unsigned short status_calc_int(struct block_list *bl, struct status_change *sc,
unsigned short status_calc_dex(struct block_list *bl, struct status_change *sc, int dex)
{
+ nullpo_ret(bl);
if(!sc || !sc->count)
return cap_value(dex,0,USHRT_MAX);
@@ -4679,7 +4817,9 @@ unsigned short status_calc_dex(struct block_list *bl, struct status_change *sc,
return (unsigned short)cap_value(dex,0,USHRT_MAX);
}
-unsigned short status_calc_luk(struct block_list *bl, struct status_change *sc, int luk) {
+unsigned short status_calc_luk(struct block_list *bl, struct status_change *sc, int luk)
+{
+ nullpo_ret(bl);
if (!sc || !sc->count)
return cap_value(luk, 0, USHRT_MAX);
@@ -4731,8 +4871,10 @@ unsigned short status_calc_luk(struct block_list *bl, struct status_change *sc,
return (unsigned short)cap_value(luk, 0, USHRT_MAX);
}
+
unsigned short status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable)
{
+ nullpo_ret(bl);
if(!sc || !sc->count)
return cap_value(batk,0,USHRT_MAX);
@@ -4823,11 +4965,15 @@ unsigned short status_calc_batk(struct block_list *bl, struct status_change *sc,
if (sc->data[SC_STEAMPACK])
batk += sc->data[SC_STEAMPACK]->val1;
+ if (sc->data[SC_SHRIMP])
+ batk += batk * sc->data[SC_SHRIMP]->val2 / 100;
+
return (unsigned short)cap_value(batk,0,USHRT_MAX);
}
unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable)
{
+ nullpo_ret(bl);
if(!sc || !sc->count)
return cap_value(watk,0,USHRT_MAX);
@@ -4914,12 +5060,15 @@ unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc,
watk += watk * sc->data[SC_ANGRIFFS_MODUS]->val2/100;
if( sc->data[SC_FLASHCOMBO] )
watk += sc->data[SC_FLASHCOMBO]->val2;
+ if (sc->data[SC_CATNIPPOWDER])
+ watk -= watk * sc->data[SC_CATNIPPOWDER]->val2 / 100;
return (unsigned short)cap_value(watk,0,USHRT_MAX);
}
-unsigned short status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk) {
-#ifdef RENEWAL
+unsigned short status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk)
+{
+#ifdef RENEWAL
if (!sc || !sc->count)
return cap_value(matk,0,USHRT_MAX);
if (sc->data[SC_PLUSMAGICPOWER])
@@ -4940,13 +5089,16 @@ unsigned short status_calc_ematk(struct block_list *bl, struct status_change *sc
matk += 40 + 30 * sc->data[SC_ODINS_POWER]->val1; //70 lvl1, 100lvl2
if(sc->data[SC_IZAYOI])
matk += 25 * sc->data[SC_IZAYOI]->val1;
+ if (sc->data[SC_SHRIMP])
+ matk += matk * sc->data[SC_SHRIMP]->val2 / 100;
return (unsigned short)cap_value(matk,0,USHRT_MAX);
#else
return 0;
#endif
}
-unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable) {
+unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable)
+{
if (!sc || !sc->count)
return cap_value(matk,0,USHRT_MAX);
@@ -5015,8 +5167,8 @@ unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc,
return (unsigned short)cap_value(matk, 0, USHRT_MAX);
}
-signed short status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable) {
-
+signed short status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable)
+{
if (!sc || !sc->count)
return cap_value(critical, 10, SHRT_MAX);
@@ -5111,7 +5263,9 @@ signed short status_calc_hit(struct block_list *bl, struct status_change *sc, in
return (short)cap_value(hit, 1, SHRT_MAX);
}
-signed short status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable) {
+signed short status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable)
+{
+ nullpo_retr(1, bl);
if (bl->type == BL_PC) {
if (map_flag_gvg2(bl->m))
@@ -5227,8 +5381,10 @@ signed short status_calc_flee2(struct block_list *bl, struct status_change *sc,
return (short)cap_value(flee2,10,SHRT_MAX);
}
+
defType status_calc_def(struct block_list *bl, struct status_change *sc, int def, bool viewable)
{
+ nullpo_retr(DEFTYPE_MIN, bl);
if (!sc || !sc->count)
return (defType)cap_value(def,DEFTYPE_MIN,DEFTYPE_MAX);
@@ -5333,6 +5489,7 @@ defType status_calc_def(struct block_list *bl, struct status_change *sc, int def
signed short status_calc_def2(struct block_list *bl, struct status_change *sc, int def2, bool viewable)
{
+ nullpo_retr(1, bl);
if(!sc || !sc->count)
#ifdef RENEWAL
return (short)cap_value(def2,SHRT_MIN,SHRT_MAX);
@@ -5407,7 +5564,8 @@ signed short status_calc_def2(struct block_list *bl, struct status_change *sc, i
#endif
}
-defType status_calc_mdef(struct block_list *bl, struct status_change *sc, int mdef, bool viewable) {
+defType status_calc_mdef(struct block_list *bl, struct status_change *sc, int mdef, bool viewable)
+{
if(!sc || !sc->count)
return (defType)cap_value(mdef,DEFTYPE_MIN,DEFTYPE_MAX);
@@ -5619,6 +5777,8 @@ unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc
if (sc->data[SC_DEC_AGI] || sc->data[SC_QUAGMIRE] || sc->data[SC_DONTFORGETME])
return 0;
}
+ if (sc->data[SC_CATNIPPOWDER])
+ val = max(val, sc->data[SC_CATNIPPOWDER]->val3);
if( sd && sd->bonus.speed_rate + sd->bonus.speed_add_rate > 0 ) // permanent item-based speedup
val = max( val, sd->bonus.speed_rate + sd->bonus.speed_add_rate );
@@ -5669,6 +5829,8 @@ unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc
val = max(val, sc->data[SC_MOVHASTE_HORSE]->val1);
if( sd && sd->bonus.speed_rate + sd->bonus.speed_add_rate < 0 ) // permanent item-based speedup
val = max( val, -(sd->bonus.speed_rate + sd->bonus.speed_add_rate) );
+ if (sc->data[SC_ARCLOUSEDASH])
+ val = max(val, sc->data[SC_ARCLOUSEDASH]->val3);
speed_rate -= val;
}
@@ -5701,10 +5863,12 @@ unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc
// flag&1 - fixed value [malufett]
// flag&2 - percentage value
-short status_calc_aspd(struct block_list *bl, struct status_change *sc, short flag) {
+short status_calc_aspd(struct block_list *bl, struct status_change *sc, short flag)
+{
#ifdef RENEWAL_ASPD
int pots = 0, bonus = 0;
+ nullpo_ret(bl);
if (!sc || !sc->count)
return 0;
@@ -5831,7 +5995,9 @@ short status_calc_aspd(struct block_list *bl, struct status_change *sc, short fl
#endif
}
-short status_calc_fix_aspd(struct block_list *bl, struct status_change *sc, int aspd) {
+short status_calc_fix_aspd(struct block_list *bl, struct status_change *sc, int aspd)
+{
+ nullpo_ret(bl);
if (!sc || !sc->count)
return cap_value(aspd, 0, 2000);
@@ -5853,6 +6019,7 @@ short status_calc_aspd_rate(struct block_list *bl, struct status_change *sc, int
{
int i;
+ nullpo_ret(bl);
if(!sc || !sc->count)
return cap_value(aspd_rate,0,SHRT_MAX);
@@ -5993,6 +6160,7 @@ short status_calc_aspd_rate(struct block_list *bl, struct status_change *sc, int
unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *sc, int dmotion)
{
+ nullpo_ret(bl);
// It has been confirmed on official servers that MvP mobs have no dmotion even without endure
if (bl->type == BL_MOB && (BL_UCCAST(BL_MOB, bl)->status.mode&MD_BOSS))
return 0;
@@ -6008,7 +6176,8 @@ unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *
return (unsigned short)cap_value(dmotion,0,USHRT_MAX);
}
-unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc, uint64 maxhp) {
+unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc, uint64 maxhp)
+{
if (!sc || !sc->count)
return (unsigned int)cap_value(maxhp, 1, UINT_MAX);
@@ -6087,8 +6256,8 @@ unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc,
return (unsigned int)cap_value(maxhp, 1, UINT_MAX);
}
-unsigned int status_calc_maxsp(struct block_list *bl, struct status_change *sc, unsigned int maxsp) {
-
+unsigned int status_calc_maxsp(struct block_list *bl, struct status_change *sc, unsigned int maxsp)
+{
if (!sc || !sc->count)
return cap_value(maxsp, 1, UINT_MAX);
@@ -6349,7 +6518,9 @@ struct status_data *status_get_base_status(struct block_list *bl)
return NULL;
}
}
-defType status_get_def(struct block_list *bl) {
+
+defType status_get_def(struct block_list *bl)
+{
struct unit_data *ud;
struct status_data *st = status->get_status_data(bl);
int def = st ? st->def : 0;
@@ -6362,6 +6533,7 @@ defType status_get_def(struct block_list *bl) {
unsigned short status_get_speed(struct block_list *bl)
{
+ nullpo_ret(bl);
if (bl->type == BL_NPC) //Only BL with speed data but no status_data [Skotlex]
return BL_UCCAST(BL_NPC, bl)->speed;
return status->get_status_data(bl)->speed;
@@ -6571,7 +6743,8 @@ int status_get_race2(const struct block_list *bl)
return 0;
}
-int status_isdead(struct block_list *bl) {
+int status_isdead(struct block_list *bl)
+{
nullpo_ret(bl);
return status->get_status_data(bl)->hp == 0;
}
@@ -6773,7 +6946,8 @@ struct status_change *status_get_sc(struct block_list *bl)
return NULL;
}
-void status_change_init(struct block_list *bl) {
+void status_change_init(struct block_list *bl)
+{
struct status_change *sc = status->get_sc(bl);
nullpo_retv(sc);
memset(sc, 0, sizeof (struct status_change));
@@ -6785,7 +6959,8 @@ void status_change_init(struct block_list *bl) {
* @see status_change_start for the expected parameters.
* @return the adjusted duration based on flag values.
*/
-int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag) {
+int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag)
+{
//Percentual resistance: 10000 = 100% Resist
//Example: 50% -> sc_def=5000 -> 25%; 5000ms -> tick_def=5000 -> 2500ms
int sc_def = 0, tick_def = -1; //-1 = use sc_def
@@ -6839,6 +7014,7 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ
sd = BL_CAST(BL_PC,bl);
st = status->get_status_data(bl);
bst = status->get_base_status(bl);
+ nullpo_ret(bst);
sc = status->get_sc(bl);
if( sc && !sc->count )
sc = NULL;
@@ -7142,11 +7318,14 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ
#undef SCDEF_LVL_CAP
#undef SCDEF_LVL_DIFF
}
+
/* [Ind/Hercules] fast-checkin sc-display array */
-void status_display_add(struct map_session_data *sd, enum sc_type type, int dval1, int dval2, int dval3) {
+void status_display_add(struct map_session_data *sd, enum sc_type type, int dval1, int dval2, int dval3)
+{
struct sc_display_entry *entry;
int i;
+ nullpo_retv(sd);
for( i = 0; i < sd->sc_display_count; i++ ) {
if( sd->sc_display[i]->type == type )
break;
@@ -7169,9 +7348,12 @@ void status_display_add(struct map_session_data *sd, enum sc_type type, int dval
RECREATE(sd->sc_display, struct sc_display_entry *, ++sd->sc_display_count);
sd->sc_display[ sd->sc_display_count - 1 ] = entry;
}
-void status_display_remove(struct map_session_data *sd, enum sc_type type) {
+
+void status_display_remove(struct map_session_data *sd, enum sc_type type)
+{
int i;
+ nullpo_retv(sd);
for( i = 0; i < sd->sc_display_count; i++ ) {
if( sd->sc_display[i]->type == type )
break;
@@ -7218,7 +7400,8 @@ void status_display_remove(struct map_session_data *sd, enum sc_type type) {
* @retval 0 if no status change happened.
* @retval 1 if the status change was successfully applied.
*/
-int status_change_start(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag) {
+int status_change_start(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag)
+{
struct map_session_data *sd = NULL;
struct status_change* sc;
struct status_change_entry* sce;
@@ -7341,8 +7524,10 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_GOLDENE_FERSE:
if ((type==SC_GOLDENE_FERSE && sc->data[SC_ANGRIFFS_MODUS])
|| (type==SC_ANGRIFFS_MODUS && sc->data[SC_GOLDENE_FERSE])
- )
+ ) {
return 0;
+ }
+ FALLTHROUGH
case SC_VACUUM_EXTREME:
if(sc->data[SC_HALLUCINATIONWALK])
return 0;
@@ -7350,10 +7535,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_STONE:
if(sc->data[SC_POWER_OF_GAIA])
return 0;
+ FALLTHROUGH
case SC_FREEZE:
//Undead are immune to Freeze/Stone
if (undead_flag && !(flag&SCFLAG_NOAVOID))
return 0;
+ FALLTHROUGH
case SC_SLEEP:
case SC_STUN:
case SC_FROSTMISTY:
@@ -7380,12 +7567,14 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
return 0;
break;
case SC_KYRIE:
+ case SC_TUNAPARTY:
if (bl->type == BL_MOB)
return 0;
break;
case SC_OVERTHRUST:
if (sc->data[SC_OVERTHRUSTMAX])
return 0; // Overthrust can't take effect if under Max Overthrust. [Skotlex]
+ FALLTHROUGH
case SC_OVERTHRUSTMAX:
if (sc->option&OPTION_MADOGEAR)
return 0; // Overthrust and Overthrust Max cannot be used on Mado Gear [Ind]
@@ -7411,6 +7600,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_TWOHANDQUICKEN:
if (sc->data[SC_DEC_AGI])
return 0;
+ FALLTHROUGH
case SC_CONCENTRATION:
case SC_SPEARQUICKEN:
case SC_TRUESIGHT:
@@ -7419,6 +7609,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_ASSNCROS:
if (sc->option&OPTION_MADOGEAR)
return 0; // Mado is immune to wind walk, cart boost, etc (others above) [Ind]
+ FALLTHROUGH
case SC_INC_AGI:
if (sc->data[SC_QUAGMIRE])
return 0;
@@ -7640,12 +7831,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_OBLIVIONCURSE:
case SC_LEECHESEND:
- // Ranger Effects
+ // Ranger Effects
case SC_WUGBITE:
case SC_ELECTRICSHOCKER:
case SC_MAGNETICFIELD:
- // Masquerades
+ // Masquerades
case SC__ENERVATION:
case SC__GROOMY:
case SC__LAZINESS:
@@ -7656,7 +7847,9 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
// Other Effects
case SC_VACUUM_EXTREME:
case SC_NETHERWORLD:
-
+ case SC_FRESHSHRIMP:
+ case SC_SV_ROOTTWIST:
+ case SC_BITESCAR:
return 0;
}
}
@@ -7683,11 +7876,13 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
status_change_end(bl, SC_CONCENTRATION, INVALID_TIMER);
status_change_end(bl, SC_TRUESIGHT, INVALID_TIMER);
status_change_end(bl, SC_WINDWALK, INVALID_TIMER);
+ FALLTHROUGH
//Also blocks the ones below...
case SC_DEC_AGI:
case SC_ADORAMUS:
status_change_end(bl, SC_CARTBOOST, INVALID_TIMER);
//Also blocks the ones below...
+ FALLTHROUGH
case SC_DONTFORGETME:
status_change_end(bl, SC_INC_AGI, INVALID_TIMER);
status_change_end(bl, SC_ADRENALINE, INVALID_TIMER);
@@ -8008,6 +8203,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_LERADS_DEW:
if (sc && sc->data[SC_BERSERK])
return 0;
+ FALLTHROUGH
case SC_SHAPESHIFT:
case SC_PROPERTYWALK:
break;
@@ -8020,6 +8216,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
break;
case SC_JOINTBEAT:
val2 |= sce->val2; // stackable ailments
+ FALLTHROUGH
default:
if(sce->val1 > val1)
return 1; //Return true to not mess up skill animations. [Skotlex]
@@ -8033,6 +8230,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_ADORAMUS:
sc_start(src,bl,SC_BLIND,100,val1,skill->get_time(status->sc2skill(type),val1));
// Fall through to SC_INC_AGI
+ FALLTHROUGH
case SC_DEC_AGI:
case SC_INC_AGI:
val2 = 2 + val1; //Agi change
@@ -8045,12 +8243,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
int i;
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
@@ -8116,6 +8314,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
break;
case SC_ENCHANTPOISON:
val2= 250+50*val1; //Poisoning Chance (2.5+0.5%) in 1/10000 rate
+ FALLTHROUGH
case SC_ASPERSIO:
case SC_PROPERTYFIRE:
case SC_PROPERTYWATER:
@@ -8148,12 +8347,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
int i;
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
@@ -8412,12 +8611,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
if( sd ) {
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_ALL);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
@@ -8622,6 +8821,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
switch (val1) {
case 3: //33*3 + 1 -> 100%
val2++;
+ FALLTHROUGH
case 1:
case 2: //33, 66%
val2 += 33*val1;
@@ -8702,6 +8902,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_ADRENALINE2:
case SC_ADRENALINE:
val3 = (val2) ? 300 : 200; // aspd increase
+ FALLTHROUGH
case SC_WEAPONPERFECT:
if(sd && pc->checkskill(sd,BS_HILTBINDING)>0)
tick += tick / 10;
@@ -9397,17 +9598,20 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_WILD_STORM:
case SC_UPHEAVAL:
val2 += 10;
+ FALLTHROUGH
case SC_HEATER:
case SC_COOLER:
case SC_BLAST:
case SC_CURSED_SOIL:
val2 += 10;
+ FALLTHROUGH
case SC_PYROTECHNIC:
case SC_AQUAPLAY:
case SC_GUST:
case SC_PETROLOGY:
val2 += 5;
val3 += 9000;
+ FALLTHROUGH
case SC_CIRCLE_OF_FIRE:
case SC_WATER_SCREEN:
case SC_WIND_STEP:
@@ -9489,6 +9693,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
break;
case SC_KAGEMUSYA:
val3 = val1 * 2;
+ FALLTHROUGH
case SC_IZAYOI:
val2 = tick/1000;
tick_time = 1000;
@@ -9602,6 +9807,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
if (!mob->db_checkid(val1))
val1 = MOBID_PORING;
break;
+ case SC_SPRITEMABLE:
case SC_ALL_RIDING:
tick = INFINITE_DURATION;
break;
@@ -9612,6 +9818,36 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
**/
val2 = 20+(20*val1);
break;
+ /**
+ * Summoner
+ */
+ case SC_FRESHSHRIMP:
+ val4 = tick / (10000 - ((val1 - 1) * 1000));
+ tick_time = 10000 - ((val1 - 1) * 1000);
+ if (val4 <= 0) // Prevents a negeative value from happening
+ val4 = 0;
+ break;
+ case SC_ARCLOUSEDASH:
+ val2 = 15 + 5 * val1; // AGI
+ val3 = 25; // Move speed increase
+ if (sd && (sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER)
+ val4 = 10; // Ranged ATK increase
+ break;
+ case SC_TUNAPARTY:
+ val2 = (st->max_hp * (val1 * 10) / 100); // %Max HP to absorb
+ break;
+ case SC_BITESCAR:
+ val2 = 2 * val1; // MHP% damage
+ val4 = tick / 1000;
+ tick_time = 1000;
+ break;
+ case SC_SHRIMP:
+ val2 = 10; // BATK%, MATK%
+ break;
+ case SC_CATNIPPOWDER:
+ val2 = 50; // WATK%, MATK%
+ val3 = 25 * val1; // Move speed reduction
+ break;
default:
if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->dbs->IconChangeTable[type] == 0) {
//Status change with no calc, no icon, and no skill associated...?
@@ -9795,14 +10031,17 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_DEEP_SLEEP:
if (sd && pc_issit(sd)) //Avoid sprite sync problems.
pc->setstand(sd);
+ FALLTHROUGH
case SC_TRICKDEAD:
status_change_end(bl, SC_DANCING, INVALID_TIMER);
// Cancel cast when get status [LuzZza]
if (battle_config.sc_castcancel&bl->type)
unit->skillcastcancel(bl, 0);
+ FALLTHROUGH
case SC_FALLENEMPIRE:
case SC_WHITEIMPRISON:
unit->stop_attack(bl);
+ FALLTHROUGH
case SC_STOP:
case SC_CONFUSION:
case SC_RG_CCONFINE_M:
@@ -9821,6 +10060,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_NEEDLE_OF_PARALYZE:
case SC_DEATHBOUND:
case SC_NETHERWORLD:
+ case SC_SV_ROOTTWIST:
unit->stop_walking(bl, STOPWALKING_FLAG_FIXPOS);
break;
case SC_ANKLESNARE:
@@ -9835,6 +10075,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_CAMOUFLAGE:
case SC_SIREN:
case SC_ALL_RIDING:
+ case SC_SUHIDE:
unit->stop_attack(bl);
break;
case SC_SILENCE:
@@ -9894,6 +10135,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
opt_flag = 0;
break;
}
+ FALLTHROUGH
case SC_EXPLOSIONSPIRITS:
sc->opt3 |= OPT3_EXPLOSIONSPIRITS;
opt_flag = 0;
@@ -10177,6 +10419,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
return 1;
}
+
/*==========================================
* Ending all status except those listed.
* @TODO maybe usefull for dispel instead reseting a liste there.
@@ -10186,7 +10429,8 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
* 2 - Do clif
* 3 - Do not remove some permanent/time-independent effects
*------------------------------------------*/
-int status_change_clear(struct block_list* bl, int type) {
+int status_change_clear(struct block_list* bl, int type)
+{
struct status_change* sc;
int i;
@@ -10205,6 +10449,7 @@ int status_change_clear(struct block_list* bl, int type) {
case SC_ARMOR_PROPERTY://Only when its Holy or Dark that it doesn't dispell on death
if( sc->data[i]->val2 != ELE_HOLY && sc->data[i]->val2 != ELE_DARK )
break;
+ FALLTHROUGH
default:
continue;
}
@@ -10243,7 +10488,8 @@ int status_change_clear(struct block_list* bl, int type) {
/*==========================================
* Special condition we want to effectuate, check before ending a status.
*------------------------------------------*/
-int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const char* file, int line) {
+int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const char* file, int line)
+{
struct map_session_data *sd;
struct status_change *sc;
struct status_change_entry *sce;
@@ -10284,6 +10530,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
//trigger when it also removed one
case SC_STONE:
sce->val3 = 0; //Petrify time counter.
+ FALLTHROUGH
case SC_FREEZE:
case SC_STUN:
case SC_SLEEP:
@@ -10361,10 +10608,12 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
struct map_session_data *tsd;
if( bl->type == BL_PC ) {
// Clear Status from others
- int i;
- for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
- if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL && tsd->sc.data[type])
- status_change_end(&tsd->bl, type, INVALID_TIMER);
+ if (sd != NULL ) {
+ int i;
+ for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
+ if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL && tsd->sc.data[type])
+ status_change_end(&tsd->bl, type, INVALID_TIMER);
+ }
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
@@ -10670,10 +10919,11 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
break;
case SC_NEUTRALBARRIER_MASTER:
case SC_STEALTHFIELD_MASTER:
- if( sce->val2 ) {
+ case SC_SV_ROOTTWIST:
+ if (sce->val2) {
struct skill_unit_group* group = skill->id2group(sce->val2);
sce->val2 = 0;
- if( group ) /* might have been cleared before status ended, e.g. land protector */
+ if (group) /* might have been cleared before status ended, e.g. land protector */
skill->del_unitgroup(group,ALC_MARK);
}
break;
@@ -10850,6 +11100,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
opt_flag = 0;
break;
}
+ FALLTHROUGH
case SC_EXPLOSIONSPIRITS:
sc->opt3 &= ~OPT3_EXPLOSIONSPIRITS;
opt_flag = 0;
@@ -11011,7 +11262,8 @@ int kaahi_heal_timer(int tid, int64 tick, int id, intptr_t data) {
* For recusive status, like for each 5s we drop sp etc.
* Reseting the end timer.
*------------------------------------------*/
-int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
+int status_change_timer(int tid, int64 tick, int id, intptr_t data)
+{
enum sc_type type = (sc_type)data;
struct block_list *bl;
struct map_session_data *sd;
@@ -11134,6 +11386,7 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
case SC_POISON:
if(st->hp <= max(st->max_hp>>2, sce->val4)) //Stop damaging after 25% HP left.
break;
+ FALLTHROUGH
case SC_DPOISON:
if (--(sce->val3) > 0) {
if (!sc->data[SC_SLOWPOISON]) {
@@ -11264,6 +11517,7 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
//Moonlit's cost is 4sp*skill_lv [Skotlex]
sp= 4*(sce->val1>>16);
//Upkeep is also every 10 secs.
+ FALLTHROUGH
case DC_DONTFORGETME:
s=10;
break;
@@ -11861,6 +12115,19 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
return 0;
}
break;
+ case SC_FRESHSHRIMP:
+ if (--(sce->val4) >= 0) {
+ status_heal(bl, st->max_hp / 100, 0, 2);
+ sc_timer_next((10000 - ((sce->val1 - 1) * 1000)) + tick, status->change_timer, bl->id, data);
+ }
+ break;
+ case SC_BITESCAR:
+ if (--(sce->val4) >= 0) {
+ status_percent_damage(bl, bl, -(sce->val2), 0, 0);
+ sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
+ return 0;
+ }
+ break;
}
// default for all non-handled control paths is to end the status
@@ -11871,7 +12138,8 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
/*==========================================
* Foreach iteration of repetitive status
*------------------------------------------*/
-int status_change_timer_sub(struct block_list* bl, va_list ap) {
+int status_change_timer_sub(struct block_list* bl, va_list ap)
+{
struct status_change* tsc;
struct block_list* src = va_arg(ap,struct block_list*);
@@ -11879,6 +12147,8 @@ int status_change_timer_sub(struct block_list* bl, va_list ap) {
enum sc_type type = (sc_type)va_arg(ap,int); //gcc: enum args get promoted to int
int64 tick = va_arg(ap, int64);
+ nullpo_ret(bl);
+
if (status->isdead(bl))
return 0;
@@ -11929,13 +12199,13 @@ int status_change_timer_sub(struct block_list* bl, va_list ap) {
break;
case SC_RG_CCONFINE_M:
//Lock char has released the hold on everyone...
- if (tsc && tsc->data[SC_RG_CCONFINE_S] && tsc->data[SC_RG_CCONFINE_S]->val2 == src->id) {
+ if (tsc != NULL && src != NULL && tsc->data[SC_RG_CCONFINE_S] && tsc->data[SC_RG_CCONFINE_S]->val2 == src->id) {
tsc->data[SC_RG_CCONFINE_S]->val2 = 0;
status_change_end(bl, SC_RG_CCONFINE_S, INVALID_TIMER);
}
break;
case SC_CURSEDCIRCLE_TARGET:
- if( tsc && tsc->data[SC_CURSEDCIRCLE_TARGET] && tsc->data[SC_CURSEDCIRCLE_TARGET]->val2 == src->id ) {
+ if (tsc != NULL && src != NULL && tsc->data[SC_CURSEDCIRCLE_TARGET] && tsc->data[SC_CURSEDCIRCLE_TARGET]->val2 == src->id) {
clif->bladestop(bl, tsc->data[SC_CURSEDCIRCLE_TARGET]->val2, 0);
status_change_end(bl, type, INVALID_TIMER);
}
@@ -11946,12 +12216,15 @@ int status_change_timer_sub(struct block_list* bl, va_list ap) {
int status_get_total_def(struct block_list *src) { return status->get_status_data(src)->def2 + (short)status->get_def(src); }
int status_get_total_mdef(struct block_list *src) { return status->get_status_data(src)->mdef2 + (short)status_get_mdef(src); }
+
int status_get_weapon_atk(struct block_list *bl, struct weapon_atk *watk, int flag)
{
#ifdef RENEWAL
int min = 0, max = 0;
struct status_change *sc = status->get_sc(bl);
+ nullpo_ret(bl);
+ nullpo_ret(watk);
if (bl->type == BL_PC && watk->atk) {
float strdex_bonus, variance;
int dstr;
@@ -12013,7 +12286,8 @@ int status_get_weapon_atk(struct block_list *bl, struct weapon_atk *watk, int fl
* 1 - Get MATK w/o SC bonuses
* 3 - Get MATK w/o EATK & SC bonuses
**/
-void status_get_matk_sub(struct block_list *bl, int flag, unsigned short *matk_max, unsigned short *matk_min) {
+void status_get_matk_sub(struct block_list *bl, int flag, unsigned short *matk_max, unsigned short *matk_min)
+{
struct status_data *st;
struct status_change *sc;
struct map_session_data *sd;
@@ -12040,6 +12314,10 @@ void status_get_matk_sub(struct block_list *bl, int flag, unsigned short *matk_m
// Any +MATK you get from skills and cards, including cards in weapon, is added here.
if ( sd && sd->bonus.ematk > 0 && flag != 3 )
*matk_min += sd->bonus.ematk;
+ if (sd && pc->checkskill(sd, SU_POWEROFLAND) > 0) {
+ if (pc->checkskill(sd, SU_SV_STEMSPEAR) == 5 && pc->checkskill(sd, SU_CN_POWDERING) == 5 && pc->checkskill(sd, SU_CN_METEOR) == 5 && pc->checkskill(sd, SU_SV_ROOTTWIST) == 5)
+ *matk_min += *matk_min * 20 / 100;
+ }
if ( flag != 3 )
*matk_min = status->calc_ematk(bl, sc, *matk_min);
@@ -12051,6 +12329,8 @@ void status_get_matk_sub(struct block_list *bl, int flag, unsigned short *matk_m
if ( (st->rhw.matk + st->lhw.matk) > 0 ) {
int wMatk = st->rhw.matk + st->lhw.matk; // Left and right matk stacks
int variance = wMatk * st->rhw.wlv / 10; // Only use right hand weapon level
+ if (sc != NULL && sc->data[SC_CATNIPPOWDER])
+ wMatk -= wMatk * sc->data[SC_CATNIPPOWDER]->val2 / 100;
*matk_min += wMatk - variance;
*matk_max += wMatk + variance;
}
@@ -12120,7 +12400,8 @@ void status_get_matk_sub(struct block_list *bl, int flag, unsigned short *matk_m
/**
* Gets a random matk value depending on min matk and max matk
**/
-unsigned short status_get_rand_matk(unsigned short matk_max, unsigned short matk_min) {
+unsigned short status_get_rand_matk(unsigned short matk_max, unsigned short matk_min)
+{
if ( matk_max > matk_min )
return matk_min + rnd() % (matk_max - matk_min);
else
@@ -12138,7 +12419,8 @@ unsigned short status_get_rand_matk(unsigned short matk_max, unsigned short matk
*
* Shouldn't change _any_ value! [Panikon]
**/
-int status_get_matk(struct block_list *bl, int flag) {
+int status_get_matk(struct block_list *bl, int flag)
+{
struct status_data *st;
unsigned short matk_max, matk_min;
@@ -12166,7 +12448,8 @@ int status_get_matk(struct block_list *bl, int flag) {
/**
* Updates bl's MATK values
**/
-void status_update_matk(struct block_list *bl) {
+void status_update_matk(struct block_list *bl)
+{
struct status_data *st;
struct status_change *sc;
unsigned short matk_max, matk_min;
@@ -12194,7 +12477,8 @@ void status_update_matk(struct block_list *bl) {
* type&1 -> buffs, type&2 -> debuffs
* type&4 -> especific debuffs(implemented with refresh)
*------------------------------------------*/
-int status_change_clear_buffs (struct block_list* bl, int type) {
+int status_change_clear_buffs (struct block_list* bl, int type)
+{
int i;
struct status_change *sc= status->get_sc(bl);
@@ -12255,7 +12539,8 @@ int status_change_clear_buffs (struct block_list* bl, int type) {
return 0;
}
-int status_change_spread( struct block_list *src, struct block_list *bl ) {
+int status_change_spread(struct block_list *src, struct block_list *bl)
+{
int i, flag = 0;
struct status_change *sc = status->get_sc(src);
int64 tick;
@@ -12345,7 +12630,8 @@ int status_change_spread( struct block_list *src, struct block_list *bl ) {
}
//Natural regen related stuff.
-int status_natural_heal(struct block_list* bl, va_list args) {
+int status_natural_heal(struct block_list* bl, va_list args)
+{
struct regen_data *regen;
struct status_data *st;
struct status_change *sc;
@@ -12355,6 +12641,7 @@ int status_natural_heal(struct block_list* bl, va_list args) {
struct map_session_data *sd;
int val,rate,bonus = 0,flag;
+ nullpo_ret(bl);
regen = status->get_regen_data(bl);
if (!regen) return 0;
st = status->get_status_data(bl);
@@ -12531,7 +12818,8 @@ int status_natural_heal(struct block_list* bl, va_list args) {
}
//Natural heal main timer.
-int status_natural_heal_timer(int tid, int64 tick, int id, intptr_t data) {
+int status_natural_heal_timer(int tid, int64 tick, int id, intptr_t data)
+{
// This difference is always positive and lower than UINT_MAX (~24 days)
status->natural_heal_diff_tick = (unsigned int)cap_value(DIFF_TICK(tick,status->natural_heal_prev_tick), 0, UINT_MAX);
map->foreachregen(status->natural_heal);
@@ -12545,15 +12833,17 @@ int status_natural_heal_timer(int tid, int64 tick, int id, intptr_t data) {
* @param refine The target refine level
* @return The chance to refine the item, in percent (0~100)
**/
-int status_get_refine_chance(enum refine_type wlv, int refine) {
-
+int status_get_refine_chance(enum refine_type wlv, int refine)
+{
+ Assert_ret((int)wlv >= REFINE_TYPE_ARMOR && wlv < REFINE_TYPE_MAX);
if ( refine < 0 || refine >= MAX_REFINE)
return 0;
return status->dbs->refine_info[wlv].chance[refine];
}
-int status_get_sc_type(sc_type type) {
+int status_get_sc_type(sc_type type)
+{
if( type <= SC_NONE || type >= SC_MAX )
return 0;
@@ -12765,7 +13055,8 @@ void status_read_job_db_sub(int idx, const char *name, struct config_setting_t *
* size_fix.txt - size adjustment table for weapons
* refine_db.txt - refining data table
*------------------------------------------*/
-void status_read_job_db(void) { /* [malufett/Hercules] */
+void status_read_job_db(void) /* [malufett/Hercules] */
+{
int i = 0;
struct config_t job_db_conf;
struct config_setting_t *jdb = NULL;
@@ -12798,6 +13089,7 @@ bool status_readdb_job2(char* fields[], int columns, int current)
{
int idx, class_, i;
+ nullpo_retr(false, fields);
class_ = atoi(fields[0]);
if(!pc->db_checkid(class_))
@@ -12818,6 +13110,7 @@ bool status_readdb_sizefix(char* fields[], int columns, int current)
{
unsigned int i;
+ nullpo_retr(false, fields);
for(i = 0; i < MAX_SINGLE_WEAPON_TYPE; i++)
{
status->dbs->atkmods[current][i] = atoi(fields[i]);
@@ -12928,7 +13221,8 @@ int status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *n
* @param *filename File name, relative to the database path.
* @return The number of found entries.
*/
-int status_readdb_refine_libconfig(const char *filename) {
+int status_readdb_refine_libconfig(const char *filename)
+{
bool duplicate[REFINE_TYPE_MAX];
struct config_t refine_db_conf;
struct config_setting_t *r;
@@ -12959,10 +13253,12 @@ int status_readdb_refine_libconfig(const char *filename) {
return count;
}
-bool status_readdb_scconfig(char* fields[], int columns, int current) {
+bool status_readdb_scconfig(char* fields[], int columns, int current)
+{
int val = 0;
char* type = fields[0];
+ nullpo_retr(false, fields);
if( !script->get_constant(type, &val) ){
ShowWarning("status_readdb_sc_conf: Invalid status type %s specified.\n", type);
return false;
@@ -13033,7 +13329,8 @@ int status_readdb(void)
/*==========================================
* Status db init and destroy.
*------------------------------------------*/
-int do_init_status(bool minimal) {
+int do_init_status(bool minimal)
+{
if (minimal)
return 0;
@@ -13048,7 +13345,9 @@ int do_init_status(bool minimal) {
timer->add_interval(status->natural_heal_prev_tick + NATURAL_HEAL_INTERVAL, status->natural_heal_timer, 0, 0, NATURAL_HEAL_INTERVAL);
return 0;
}
-void do_final_status(void) {
+
+void do_final_status(void)
+{
ers_destroy(status->data_ers);
}
@@ -13057,7 +13356,8 @@ void do_final_status(void) {
* Generated by HerculesInterfaceMaker
* created by Susu
*-------------------------------------*/
-void status_defaults(void) {
+void status_defaults(void)
+{
status = &status_s;
status->dbs = &statusdbs;
diff --git a/src/map/status.h b/src/map/status.h
index e4a326e88..e6c205b1d 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -828,6 +828,18 @@ typedef enum sc_type {
SC_M_LIFEPOTION,
SC_G_LIFEPOTION, // 640
SC_MYSTICPOWDER,
+
+ // Summoner
+ SC_SUHIDE,
+ SC_SU_STOOP,
+ SC_SPRITEMABLE,
+ SC_CATNIPPOWDER,
+ SC_SV_ROOTTWIST,
+ SC_BITESCAR,
+ SC_ARCLOUSEDASH,
+ SC_TUNAPARTY,
+ SC_SHRIMP, // 650
+ SC_FRESHSHRIMP,
#ifndef SC_MAX
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
#endif
@@ -1747,10 +1759,10 @@ enum si_type {
//SI_HEALTHSTATE_HEAVYPOISON = 890,
//SI_HEALTHSTATE_FEAR = 891,
//SI_CHERRY_BLOSSOM_CAKE = 892,
- //SI_SU_STOOP = 893,
- //SI_CATNIPPOWDER = 894,
+ SI_SU_STOOP = 893,
+ SI_CATNIPPOWDER = 894,
SI_BLOSSOM_FLUTTERING = 895,
- //SI_SV_ROOTTWIST = 896,
+ SI_SV_ROOTTWIST = 896,
//SI_ATTACK_PROPERTY_NOTHING = 897,
//SI_ATTACK_PROPERTY_WATER = 898,
//SI_ATTACK_PROPERTY_GROUND = 899,
@@ -1772,11 +1784,11 @@ enum si_type {
//SI_RESIST_PROPERTY_DARKNESS = 914,
//SI_RESIST_PROPERTY_TELEKINESIS = 915,
//SI_RESIST_PROPERTY_UNDEAD = 916,
- //SI_BITESCAR = 917,
- //SI_ARCLOUSEDASH = 918,
- //SI_TUNAPARTY = 919,
- //SI_SHRIMP = 920,
- //SI_FRESHSHRIMP = 921,
+ SI_BITESCAR = 917,
+ SI_ARCLOUSEDASH = 918,
+ SI_TUNAPARTY = 919,
+ SI_SHRIMP = 920,
+ SI_FRESHSHRIMP = 921,
//SI_PERIOD_RECEIVEITEM = 922,
//SI_PERIOD_PLUSEXP = 923,
//SI_PERIOD_PLUSJOBEXP = 924,
@@ -1788,11 +1800,11 @@ enum si_type {
//SI_HELM_ISIA = 930,
//SI_HELM_ASIR = 931,
//SI_HELM_URJ = 932,
- //SI_SUHIDE = 933,
+ SI_SUHIDE = 933,
//SI_ = 934,
//SI_DORAM_BUF_01 = 935,
//SI_DORAM_BUF_02 = 936,
- //SI_SPRITEMABLE = 937,
+ SI_SPRITEMABLE = 937,
//SI_EP16_2_BUFF_SS = 963,
//SI_EP16_2_BUFF_SC = 964,
//SI_EP16_2_BUFF_AC = 965,
diff --git a/src/map/storage.c b/src/map/storage.c
index 4272f9611..acb72be81 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -82,6 +82,7 @@ void storage_sortitem(struct item* items, unsigned int size)
int storage_reconnect_sub(union DBKey key, struct DBData *data, va_list ap)
{
struct guild_storage *stor = DB->data2ptr(data);
+ nullpo_ret(stor);
if (stor->dirty && stor->storage_status == 0) //Save closed storages.
gstorage->save(0, stor->guild_id,0);
@@ -89,7 +90,8 @@ int storage_reconnect_sub(union DBKey key, struct DBData *data, va_list ap)
}
//Function to be invoked upon server reconnection to char. To save all 'dirty' storages [Skotlex]
-void do_reconnect_storage(void) {
+void do_reconnect_storage(void)
+{
gstorage->db->foreach(gstorage->db, storage->reconnect_sub);
}
@@ -141,11 +143,15 @@ int compare_item(struct item *a, struct item *b)
/*==========================================
* Internal add-item function.
*------------------------------------------*/
-int storage_additem(struct map_session_data* sd, struct item* item_data, int amount) {
- struct storage_data* stor = &sd->status.storage;
+int storage_additem(struct map_session_data* sd, struct item* item_data, int amount)
+{
+ struct storage_data* stor;
struct item_data *data;
int i;
+ nullpo_retr(1, sd);
+ nullpo_retr(1, item_data);
+ stor = &sd->status.storage;
if( item_data->nameid <= 0 || amount <= 0 )
return 1;
@@ -203,6 +209,8 @@ int storage_additem(struct map_session_data* sd, struct item* item_data, int amo
*------------------------------------------*/
int storage_delitem(struct map_session_data* sd, int n, int amount)
{
+ nullpo_retr(1, sd);
+ Assert_retr(1, n >= 0 && n < MAX_STORAGE);
if( sd->status.storage.items[n].nameid == 0 || sd->status.storage.items[n].amount < amount )
return 1;
@@ -226,7 +234,8 @@ int storage_delitem(struct map_session_data* sd, int n, int amount)
* 0 : fail
* 1 : success
*------------------------------------------*/
-int storage_storageadd(struct map_session_data* sd, int index, int amount) {
+int storage_storageadd(struct map_session_data* sd, int index, int amount)
+{
nullpo_ret(sd);
if( sd->status.storage.storage_amount > MAX_STORAGE )
@@ -260,6 +269,7 @@ int storage_storageget(struct map_session_data* sd, int index, int amount)
{
int flag;
+ nullpo_ret(sd);
if( index < 0 || index >= MAX_STORAGE )
return 0;
@@ -313,7 +323,8 @@ int storage_storageaddfromcart(struct map_session_data* sd, int index, int amoun
* 0 : fail
* 1 : success
*------------------------------------------*/
-int storage_storagegettocart(struct map_session_data* sd, int index, int amount) {
+int storage_storagegettocart(struct map_session_data* sd, int index, int amount)
+{
int flag = 0;
nullpo_ret(sd);
@@ -340,7 +351,8 @@ int storage_storagegettocart(struct map_session_data* sd, int index, int amount)
/*==========================================
* Modified By Valaris to save upon closing [massdriller]
*------------------------------------------*/
-void storage_storageclose(struct map_session_data* sd) {
+void storage_storageclose(struct map_session_data* sd)
+{
nullpo_retv(sd);
clif->storageclose(sd);
@@ -354,7 +366,8 @@ void storage_storageclose(struct map_session_data* sd) {
/*==========================================
* When quitting the game.
*------------------------------------------*/
-void storage_storage_quit(struct map_session_data* sd, int flag) {
+void storage_storage_quit(struct map_session_data* sd, int flag)
+{
nullpo_retv(sd);
if (map->save_settings&4)
@@ -382,7 +395,8 @@ struct guild_storage *guild2storage_ensure(int guild_id)
return gs;
}
-int guild_storage_delete(int guild_id) {
+int guild_storage_delete(int guild_id)
+{
idb_remove(gstorage->db,guild_id);
return 0;
}
@@ -503,6 +517,7 @@ int guild_storage_delitem(struct map_session_data* sd, struct guild_storage* sto
nullpo_retr(1, sd);
nullpo_retr(1, stor);
+ Assert_retr(1, n >= 0 && n < MAX_GUILD_STORAGE);
if(stor->items[n].nameid==0 || stor->items[n].amount<amount)
return 1;
@@ -703,7 +718,8 @@ int storage_guild_storagesaved(int guild_id)
}
//Close storage for sd and save it
-int storage_guild_storageclose(struct map_session_data* sd) {
+int storage_guild_storageclose(struct map_session_data* sd)
+{
struct guild_storage *stor;
nullpo_ret(sd);
@@ -722,7 +738,8 @@ int storage_guild_storageclose(struct map_session_data* sd) {
return 0;
}
-int storage_guild_storage_quit(struct map_session_data* sd, int flag) {
+int storage_guild_storage_quit(struct map_session_data* sd, int flag)
+{
struct guild_storage *stor;
nullpo_ret(sd);
@@ -749,15 +766,21 @@ int storage_guild_storage_quit(struct map_session_data* sd, int flag) {
return 0;
}
-void do_init_gstorage(bool minimal) {
+
+void do_init_gstorage(bool minimal)
+{
if (minimal)
return;
gstorage->db = idb_alloc(DB_OPT_RELEASE_DATA);
}
-void do_final_gstorage(void) {
+
+void do_final_gstorage(void)
+{
db_destroy(gstorage->db);
}
-void storage_defaults(void) {
+
+void storage_defaults(void)
+{
storage = &storage_s;
/* */
@@ -776,7 +799,9 @@ void storage_defaults(void) {
storage->sortitem = storage_sortitem;
storage->reconnect_sub = storage_reconnect_sub;
}
-void gstorage_defaults(void) {
+
+void gstorage_defaults(void)
+{
gstorage = &gstorage_s;
/* */
diff --git a/src/map/storage.h b/src/map/storage.h
index 94512c456..509862db7 100644
--- a/src/map/storage.h
+++ b/src/map/storage.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/trade.c b/src/map/trade.c
index d6bdd14e5..252dff709 100644
--- a/src/map/trade.c
+++ b/src/map/trade.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -118,7 +118,8 @@ void trade_traderequest(struct map_session_data *sd, struct map_session_data *ta
* Weird enough, the client should only send 3/4
* and the server is the one that can reply 0~2
*------------------------------------------*/
-void trade_tradeack(struct map_session_data *sd, int type) {
+void trade_tradeack(struct map_session_data *sd, int type)
+{
struct map_session_data *tsd;
nullpo_retv(sd);
@@ -217,6 +218,8 @@ int impossible_trade_check(struct map_session_data *sd)
if (!sd->deal.item[i].amount)
continue;
index = sd->deal.item[i].index;
+ if (index < 0 || index >= MAX_INVENTORY)
+ return 1;
if (inventory[index].amount < sd->deal.item[i].amount) {
// if more than the player have -> hack
snprintf(message_to_gm, sizeof(message_to_gm), msg_txt(538), sd->status.name, sd->status.account_id); // Hack on trade: character '%s' (account: %d) try to trade more items that he has.
@@ -257,6 +260,8 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd)
struct item_data *data;
int trade_i, i, n;
+ nullpo_ret(sd);
+ nullpo_ret(tsd);
// check zenys value against hackers (Zeny was already checked on time of adding, but you never know when you lost some zeny since then.
if(sd->deal.zeny > sd->status.zeny || (tsd->status.zeny > MAX_ZENY - sd->deal.zeny))
return 0;
@@ -303,6 +308,8 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd)
if (!amount)
continue;
n = tsd->deal.item[trade_i].index;
+ if (n < 0 || n >= MAX_INVENTORY)
+ return 0;
if (amount > inventory2[n].amount)
return 0;
// search if it's possible to add item (for full inventory)
@@ -336,7 +343,8 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd)
/*==========================================
* Adds an item/qty to the trade window
*------------------------------------------*/
-void trade_tradeadditem(struct map_session_data *sd, short index, short amount) {
+void trade_tradeadditem(struct map_session_data *sd, short index, short amount)
+{
struct map_session_data *target_sd;
struct item *item;
int trade_i, trade_weight;
@@ -456,9 +464,11 @@ void trade_tradeaddzeny(struct map_session_data* sd, int amount)
/*==========================================
* 'Ok' button on the trade window is pressed.
*------------------------------------------*/
-void trade_tradeok(struct map_session_data *sd) {
+void trade_tradeok(struct map_session_data *sd)
+{
struct map_session_data *target_sd;
+ nullpo_retv(sd);
if(sd->state.deal_locked || !sd->state.trading)
return;
@@ -475,10 +485,12 @@ void trade_tradeok(struct map_session_data *sd) {
/*==========================================
* 'Cancel' is pressed. (or trade was force-canceled by the code)
*------------------------------------------*/
-void trade_tradecancel(struct map_session_data *sd) {
+void trade_tradecancel(struct map_session_data *sd)
+{
struct map_session_data *target_sd;
int trade_i;
+ nullpo_retv(sd);
target_sd = map->id2sd(sd->trade_partner);
if(!sd->state.trading)
@@ -533,11 +545,13 @@ void trade_tradecancel(struct map_session_data *sd) {
/*==========================================
* lock sd and tsd trade data, execute the trade, clear, then save players
*------------------------------------------*/
-void trade_tradecommit(struct map_session_data *sd) {
+void trade_tradecommit(struct map_session_data *sd)
+{
struct map_session_data *tsd;
int trade_i;
int flag;
+ nullpo_retv(sd);
if (!sd->state.trading || !sd->state.deal_locked) //Locked should be 1 (pressed ok) before you can press trade.
return;
diff --git a/src/map/trade.h b/src/map/trade.h
index eba91a1d9..55ff31ed2 100644
--- a/src/map/trade.h
+++ b/src/map/trade.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/unit.c b/src/map/unit.c
index c52683444..739a369a6 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -235,8 +235,8 @@ int unit_step_timer(int tid, int64 tick, int id, intptr_t data)
return 1;
}
-
-int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
+int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data)
+{
int i;
int x,y,dx,dy;
unsigned char icewall_walk_block;
@@ -487,7 +487,8 @@ int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
return 0;
}
-int unit_delay_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
+int unit_delay_walktoxy_timer(int tid, int64 tick, int id, intptr_t data)
+{
struct block_list *bl = map->id2bl(id);
if (!bl || bl->prev == NULL)
@@ -570,7 +571,8 @@ static inline void set_mobstate(struct block_list* bl, int flag)
md->state.skillstate = md->state.aggressive ? MSS_FOLLOW : MSS_RUSH;
}
-int unit_walktobl_sub(int tid, int64 tick, int id, intptr_t data) {
+int unit_walktobl_sub(int tid, int64 tick, int id, intptr_t data)
+{
struct block_list *bl = map->id2bl(id);
struct unit_data *ud = bl?unit->bl2ud(bl):NULL;
@@ -649,15 +651,21 @@ int unit_walktobl(struct block_list *bl, struct block_list *tbl, int range, int
* Called by unit_run when an object was hit
* @param sd Required only when using SC_WUGDASH
**/
-void unit_run_hit( struct block_list *bl, struct status_change *sc, struct map_session_data *sd, enum sc_type type ) {
- int lv = sc->data[type]->val1;
+void unit_run_hit(struct block_list *bl, struct status_change *sc, struct map_session_data *sd, enum sc_type type)
+{
+ int lv;
+ struct unit_data *ud;
+ Assert_retv(type >= 0 && type < SC_MAX);
+ lv = sc->data[type]->val1;
//If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
if( type == SC_RUN )
clif->sc_load(bl,bl->id,AREA,SI_TING,0,0,0);
+ ud = unit->bl2ud(bl);
+ nullpo_retv(ud);
//Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
- unit->bl2ud(bl)->state.running = 0;
+ ud->state.running = 0;
status_change_end(bl, type, INVALID_TIMER);
if( type == SC_RUN ) {
@@ -677,7 +685,8 @@ void unit_run_hit( struct block_list *bl, struct status_change *sc, struct map_s
* @retval true Finished running
* @retval false Hit an object/Couldn't run
**/
-bool unit_run( struct block_list *bl, struct map_session_data *sd, enum sc_type type ) {
+bool unit_run(struct block_list *bl, struct map_session_data *sd, enum sc_type type)
+{
struct status_change *sc;
short to_x,to_y,dir_x,dir_y;
int i;
@@ -737,15 +746,19 @@ bool unit_run( struct block_list *bl, struct map_session_data *sd, enum sc_type
}
//Makes bl attempt to run dist cells away from target. Uses hard-paths.
-int unit_escape(struct block_list *bl, struct block_list *target, short dist) {
- uint8 dir = map->calc_dir(target, bl->x, bl->y);
+int unit_escape(struct block_list *bl, struct block_list *target, short dist)
+{
+ uint8 dir;
+ nullpo_ret(bl);
+ dir = map->calc_dir(target, bl->x, bl->y);
while (dist > 0 && map->getcell(bl->m, bl, bl->x + dist * dirx[dir], bl->y + dist * diry[dir], CELL_CHKNOREACH))
dist--;
return ( dist > 0 && unit->walktoxy(bl, bl->x + dist*dirx[dir], bl->y + dist*diry[dir], 0) );
}
//Instant warp function.
-int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath) {
+int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath)
+{
short dx,dy;
uint8 dir;
struct unit_data *ud = NULL;
@@ -821,7 +834,8 @@ int unit_setdir(struct block_list *bl,unsigned char dir)
return 0;
}
-uint8 unit_getdir(struct block_list *bl) {
+uint8 unit_getdir(struct block_list *bl)
+{
struct unit_data *ud;
nullpo_ret(bl);
@@ -978,7 +992,8 @@ int unit_warp(struct block_list *bl,short m,short x,short y,clr_type type)
* Flag values: @see unit_stopwalking_flag.
* Upper bytes may be used for other purposes depending on the unit type.
*------------------------------------------*/
-int unit_stop_walking(struct block_list *bl, int flag) {
+int unit_stop_walking(struct block_list *bl, int flag)
+{
struct unit_data *ud;
const struct TimerData* td;
int64 tick;
@@ -1040,7 +1055,8 @@ int unit_is_walking(struct block_list *bl)
/*==========================================
* Determines if the bl can move based on status changes. [Skotlex]
*------------------------------------------*/
-int unit_can_move(struct block_list *bl) {
+int unit_can_move(struct block_list *bl)
+{
struct map_session_data *sd;
struct unit_data *ud;
struct status_change *sc;
@@ -1053,9 +1069,17 @@ int unit_can_move(struct block_list *bl) {
if (!ud)
return 0;
- if (ud->skilltimer != INVALID_TIMER && ud->skill_id != LG_EXEEDBREAK &&
- (!sd || (!pc->checkskill(sd, SA_FREECAST) && (skill->get_inf2(ud->skill_id) & (INF2_GUILD_SKILL | INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) == 0))) {
- return 0; // prevent moving while casting
+ if (ud->skilltimer != INVALID_TIMER && ud->skill_id != LG_EXEEDBREAK) {
+ // Prevent moving while casting
+ if (sd == NULL)
+ return 0; // Only players are affected by SA_FREECAST and similar
+ if ((skill->get_inf2(ud->skill_id) & (INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) == 0) {
+ // Skills with an explicit free cast setting always allow walking regardless of SA_FREECAST
+ if ((skill->get_inf2(ud->skill_id) & INF2_GUILD_SKILL) != 0)
+ return 0; // SA_FREECAST doesn't affect guild skills
+ if (pc->checkskill(sd, SA_FREECAST) == 0)
+ return 0; // SA_FREECAST not available
+ }
}
if (DIFF_TICK(ud->canmove_tick, timer->gettick()) > 0)
@@ -1103,6 +1127,7 @@ int unit_can_move(struct block_list *bl) {
|| sc->data[SC_VACUUM_EXTREME]
|| (sc->data[SC_FEAR] && sc->data[SC_FEAR]->val2 > 0)
|| sc->data[SC_NETHERWORLD]
+ || sc->data[SC_SUHIDE]
|| (sc->data[SC_SPIDERWEB] && sc->data[SC_SPIDERWEB]->val1)
|| (sc->data[SC_CLOAKING] && sc->data[SC_CLOAKING]->val1 < 3 && !(sc->data[SC_CLOAKING]->val4&1)) //Need wall at level 1-2
|| (
@@ -1142,11 +1167,12 @@ int unit_can_move(struct block_list *bl) {
* Resume running after a walk delay
*------------------------------------------*/
-int unit_resume_running(int tid, int64 tick, int id, intptr_t data) {
-
+int unit_resume_running(int tid, int64 tick, int id, intptr_t data)
+{
struct unit_data *ud = (struct unit_data *)data;
struct map_session_data *sd = map->id2sd(id);
+ nullpo_ret(ud);
if(sd && pc_isridingwug(sd))
clif->skill_nodamage(ud->bl,ud->bl,RA_WUGDASH,ud->skill_lv,
sc_start4(ud->bl,ud->bl,status->skill2sc(RA_WUGDASH),100,ud->skill_lv,unit->getdir(ud->bl),0,0,1));
@@ -1166,10 +1192,12 @@ int unit_resume_running(int tid, int64 tick, int id, intptr_t data) {
* if type is 0, this is a damage induced delay: if previous delay is active, do not change it.
* if type is 1, this is a skill induced delay: walk-delay may only be increased, not decreased.
*------------------------------------------*/
-int unit_set_walkdelay(struct block_list *bl, int64 tick, int delay, int type) {
+int unit_set_walkdelay(struct block_list *bl, int64 tick, int delay, int type)
+{
struct unit_data *ud = unit->bl2ud(bl);
if (delay <= 0 || !ud) return 0;
+ nullpo_ret(bl);
if (type) {
//Bosses can ignore skill induced walkdelay (but not damage induced)
if (bl->type == BL_MOB && (BL_UCCAST(BL_MOB, bl)->status.mode&MD_BOSS))
@@ -1205,7 +1233,9 @@ int unit_set_walkdelay(struct block_list *bl, int64 tick, int delay, int type) {
return 1;
}
-int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv, int casttime, int castcancel) {
+//-------------- stop here
+int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv, int casttime, int castcancel)
+{
struct unit_data *ud;
struct status_data *tstatus;
struct status_change *sc;
@@ -1349,7 +1379,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
switch (skill_id){
case SA_CASTCANCEL:
- if (ud->skill_id != skill_id){
+ if (ud->skill_id != skill_id) {
sd->skill_id_old = ud->skill_id;
sd->skill_lv_old = ud->skill_lv;
}
@@ -1479,7 +1509,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
}
break;
case AB_CLEARANCE:
- if( target->type != BL_MOB && battle->check_target(src,target,BCT_PARTY) <= 0 && sd ) {
+ if (target->type != BL_MOB && battle->check_target(src, target, BCT_PARTY) <= 0 && sd) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_TOTARGET, 0);
return 0;
}
@@ -1514,7 +1544,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
}
break;
case GD_EMERGENCYCALL: //Emergency Call double cast when the user has learned Leap [Daegaladh]
- if( sd && pc->checkskill(sd,TK_HIGHJUMP) )
+ if (sd && (pc->checkskill(sd,TK_HIGHJUMP) || pc->checkskill(sd,SU_LOPE) >= 3))
casttime *= 2;
break;
case RA_WUGDASH:
@@ -1539,7 +1569,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
}
break;
case NC_DISJOINT:
- if( target->type == BL_PC ){
+ if (target->type == BL_PC) {
struct mob_data *md;
if( (md = map->id2md(target->id)) && md->master_id != src->id )
casttime <<= 1;
@@ -1856,6 +1886,7 @@ void unit_stop_stepaction(struct block_list *bl)
int unit_unattackable(struct block_list *bl)
{
struct unit_data *ud = unit->bl2ud(bl);
+ nullpo_ret(bl);
if (ud) {
ud->state.attack_continue = 0;
ud->state.step_attack = 0;
@@ -1873,11 +1904,13 @@ int unit_unattackable(struct block_list *bl)
* Attack request
* If type is an ongoing attack
*------------------------------------------*/
-int unit_attack(struct block_list *src,int target_id,int continuous) {
+int unit_attack(struct block_list *src, int target_id, int continuous)
+{
struct block_list *target;
struct unit_data *ud;
int range;
+ nullpo_ret(src);
nullpo_ret(ud = unit->bl2ud(src));
target = map->id2bl(target_id);
@@ -1945,6 +1978,7 @@ int unit_cancel_combo(struct block_list *bl)
{
struct unit_data *ud;
+ nullpo_ret(bl);
if (!status_change_end(bl, SC_COMBOATTACK, INVALID_TIMER))
return 0; //Combo wasn't active.
@@ -2081,7 +2115,8 @@ int unit_calc_pos(struct block_list *bl, int tx, int ty, uint8 dir)
/*==========================================
* Continuous Attack (function timer)
*------------------------------------------*/
-int unit_attack_timer_sub(struct block_list* src, int tid, int64 tick) {
+int unit_attack_timer_sub(struct block_list* src, int tid, int64 tick)
+{
struct block_list *target;
struct unit_data *ud;
struct status_data *sstatus;
@@ -2220,7 +2255,8 @@ int unit_attack_timer_sub(struct block_list* src, int tid, int64 tick) {
return 1;
}
-int unit_attack_timer(int tid, int64 tick, int id, intptr_t data) {
+int unit_attack_timer(int tid, int64 tick, int id, intptr_t data)
+{
struct block_list *bl;
bl = map->id2bl(id);
if(bl && unit->attack_timer_sub(bl, tid, tick) == 0)
@@ -2291,7 +2327,8 @@ int unit_skillcastcancel(struct block_list *bl,int type)
}
// unit_data initialization process
-void unit_dataset(struct block_list *bl) {
+void unit_dataset(struct block_list *bl)
+{
struct unit_data *ud = unit->bl2ud(bl);
nullpo_retv(ud);
@@ -2327,7 +2364,8 @@ int unit_counttargeted(struct block_list* bl)
/*==========================================
*
*------------------------------------------*/
-int unit_fixdamage(struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2) {
+int unit_fixdamage(struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2)
+{
nullpo_ret(target);
if(damage+damage2 <= 0)
@@ -2363,9 +2401,11 @@ int unit_changeviewsize(struct block_list *bl,short size)
* Otherwise it is assumed bl is being warped.
* On-Kill specific stuff is not performed here, look at status->damage for that.
*------------------------------------------*/
-int unit_remove_map(struct block_list *bl, clr_type clrtype, const char* file, int line, const char* func) {
+int unit_remove_map(struct block_list *bl, clr_type clrtype, const char* file, int line, const char* func)
+{
struct unit_data *ud = unit->bl2ud(bl);
struct status_change *sc = status->get_sc(bl);
+ nullpo_ret(bl);
nullpo_ret(ud);
if(bl->prev == NULL)
@@ -2425,6 +2465,8 @@ int unit_remove_map(struct block_list *bl, clr_type clrtype, const char* file, i
status_change_end(bl, SC_VACUUM_EXTREME, INVALID_TIMER);
status_change_end(bl, SC_CURSEDCIRCLE_ATKER, INVALID_TIMER); //callme before warp
status_change_end(bl, SC_NETHERWORLD, INVALID_TIMER);
+ status_change_end(bl, SC_SUHIDE, INVALID_TIMER);
+ status_change_end(bl, SC_SV_ROOTTWIST, INVALID_TIMER);
}
if (bl->type&(BL_CHAR|BL_PET)) {
@@ -2607,6 +2649,7 @@ int unit_remove_map(struct block_list *bl, clr_type clrtype, const char* file, i
void unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype)
{
+ nullpo_retv(sd);
unit->remove_map(&sd->bl,clrtype,ALC_MARK);
//CLR_RESPAWN is the warp from logging out, CLR_TELEPORT is the warp from teleporting, but pets/homunc need to just 'vanish' instead of showing the warping animation.
@@ -2624,6 +2667,7 @@ void unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype)
void unit_free_pc(struct map_session_data *sd)
{
+ nullpo_retv(sd);
if (sd->pd) unit->free(&sd->pd->bl,CLR_OUTSIGHT);
if (sd->hd) unit->free(&sd->hd->bl,CLR_OUTSIGHT);
if (sd->md) unit->free(&sd->md->bl,CLR_OUTSIGHT);
@@ -2635,8 +2679,10 @@ void unit_free_pc(struct map_session_data *sd)
* Function to free all related resources to the bl
* if unit is on map, it is removed using the clrtype specified
*------------------------------------------*/
-int unit_free(struct block_list *bl, clr_type clrtype) {
+int unit_free(struct block_list *bl, clr_type clrtype)
+{
struct unit_data *ud = unit->bl2ud( bl );
+ nullpo_ret(bl);
nullpo_ret(ud);
map->freeblock_lock();
@@ -2880,7 +2926,8 @@ int unit_free(struct block_list *bl, clr_type clrtype) {
return 0;
}
-int do_init_unit(bool minimal) {
+int do_init_unit(bool minimal)
+{
if (minimal)
return 0;
@@ -2892,12 +2939,14 @@ int do_init_unit(bool minimal) {
return 0;
}
-int do_final_unit(void) {
+int do_final_unit(void)
+{
// nothing to do
return 0;
}
-void unit_defaults(void) {
+void unit_defaults(void)
+{
unit = &unit_s;
unit->init = do_init_unit;
diff --git a/src/map/unit.h b/src/map/unit.h
index 8c4c34696..a3241a4b9 100644
--- a/src/map/unit.h
+++ b/src/map/unit.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/vending.c b/src/map/vending.c
index 6f4515120..9a9585d2f 100644
--- a/src/map/vending.c
+++ b/src/map/vending.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -44,14 +44,16 @@ struct vending_interface vending_s;
struct vending_interface *vending;
/// Returns an unique vending shop id.
-static inline unsigned int getid(void) {
+static inline unsigned int getid(void)
+{
return vending->next_id++;
}
/*==========================================
* Close shop
*------------------------------------------*/
-void vending_closevending(struct map_session_data* sd) {
+void vending_closevending(struct map_session_data* sd)
+{
nullpo_retv(sd);
if( sd->state.vending ) {
@@ -64,7 +66,8 @@ void vending_closevending(struct map_session_data* sd) {
/*==========================================
* Request a shop's item list
*------------------------------------------*/
-void vending_vendinglistreq(struct map_session_data* sd, unsigned int id) {
+void vending_vendinglistreq(struct map_session_data* sd, unsigned int id)
+{
struct map_session_data* vsd;
nullpo_retv(sd);
@@ -86,13 +89,15 @@ void vending_vendinglistreq(struct map_session_data* sd, unsigned int id) {
/*==========================================
* Purchase item(s) from a shop
*------------------------------------------*/
-void vending_purchasereq(struct map_session_data* sd, int aid, unsigned int uid, const uint8* data, int count) {
+void vending_purchasereq(struct map_session_data* sd, int aid, unsigned int uid, const uint8* data, int count)
+{
int i, j, cursor, w, new_ = 0, blank, vend_list[MAX_VENDING];
int64 z;
struct s_vending vend[MAX_VENDING]; // against duplicate packets
struct map_session_data* vsd = map->id2sd(aid);
nullpo_retv(sd);
+ nullpo_retv(data);
if( vsd == NULL || !vsd->state.vending || vsd->bl.id == sd->bl.id )
return; // invalid shop
@@ -191,7 +196,7 @@ void vending_purchasereq(struct map_session_data* sd, int aid, unsigned int uid,
// vending item
pc->additem(sd, &vsd->status.cart[idx], amount, LOG_TYPE_VENDING);
vsd->vending[vend_list[i]].amount -= amount;
- clif->vendingreport(vsd, idx, amount);
+ clif->vendingreport(vsd, idx, amount, sd->status.char_id, (int)z);
pc->cart_delitem(vsd, idx, amount, 0, LOG_TYPE_VENDING);
//print buyer's name
@@ -240,7 +245,8 @@ void vending_purchasereq(struct map_session_data* sd, int aid, unsigned int uid,
* Open shop
* data := {<index>.w <amount>.w <value>.l}[count]
*------------------------------------------*/
-void vending_openvending(struct map_session_data* sd, const char* message, const uint8* data, int count) {
+void vending_openvending(struct map_session_data* sd, const char* message, const uint8* data, int count)
+{
int i, j;
int vending_skill_lvl;
nullpo_retv(sd);
@@ -309,9 +315,11 @@ void vending_openvending(struct map_session_data* sd, const char* message, const
/// Checks if an item is being sold in given player's vending.
-bool vending_search(struct map_session_data* sd, unsigned short nameid) {
+bool vending_search(struct map_session_data* sd, unsigned short nameid)
+{
int i;
+ nullpo_retr(false, sd);
if( !sd->state.vending ) { // not vending
return false;
}
@@ -327,11 +335,14 @@ bool vending_search(struct map_session_data* sd, unsigned short nameid) {
/// Searches for all items in a vending, that match given ids, price and possible cards.
/// @return Whether or not the search should be continued.
-bool vending_searchall(struct map_session_data* sd, const struct s_search_store_search* s) {
+bool vending_searchall(struct map_session_data* sd, const struct s_search_store_search* s)
+{
int i, c, slot;
unsigned int idx, cidx;
struct item* it;
+ nullpo_retr(false, sd);
+ nullpo_retr(false, s);
if( !sd->state.vending ) // not vending
return true;
@@ -377,16 +388,20 @@ bool vending_searchall(struct map_session_data* sd, const struct s_search_store_
return true;
}
-void final(void) {
+
+void final(void)
+{
db_destroy(vending->db);
}
-void init(bool minimal) {
+void init(bool minimal)
+{
vending->db = idb_alloc(DB_OPT_BASE);
vending->next_id = 0;
}
-void vending_defaults(void) {
+void vending_defaults(void)
+{
vending = &vending_s;
vending->init = init;
diff --git a/src/map/vending.h b/src/map/vending.h
index 1d2135076..9a236f75b 100644
--- a/src/map/vending.h
+++ b/src/map/vending.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 9968d1d18..eb494a6c2 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -396,8 +396,8 @@ typedef int (*HPMHOOK_pre_chr_rename_char_sql) (struct char_session_data **sd, i
typedef int (*HPMHOOK_post_chr_rename_char_sql) (int retVal___, struct char_session_data *sd, int char_id);
typedef int (*HPMHOOK_pre_chr_check_char_name) (char **name, char **esc_name);
typedef int (*HPMHOOK_post_chr_check_char_name) (int retVal___, char *name, char *esc_name);
-typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style);
-typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style);
+typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job);
+typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job);
typedef int (*HPMHOOK_pre_chr_divorce_char_sql) (int *partner_id1, int *partner_id2);
typedef int (*HPMHOOK_post_chr_divorce_char_sql) (int retVal___, int partner_id1, int partner_id2);
typedef int (*HPMHOOK_pre_chr_count_users) (void);
@@ -1396,8 +1396,8 @@ typedef void (*HPMHOOK_pre_clif_buyvending) (struct map_session_data **sd, int *
typedef void (*HPMHOOK_post_clif_buyvending) (struct map_session_data *sd, int index, int amount, int fail);
typedef void (*HPMHOOK_pre_clif_openvending) (struct map_session_data **sd, int *id, struct s_vending **vending_list);
typedef void (*HPMHOOK_post_clif_openvending) (struct map_session_data *sd, int id, struct s_vending *vending_list);
-typedef void (*HPMHOOK_pre_clif_vendingreport) (struct map_session_data **sd, int *index, int *amount);
-typedef void (*HPMHOOK_post_clif_vendingreport) (struct map_session_data *sd, int index, int amount);
+typedef void (*HPMHOOK_pre_clif_vendingreport) (struct map_session_data **sd, int *index, int *amount, uint32 *char_id, int *zeny);
+typedef void (*HPMHOOK_post_clif_vendingreport) (struct map_session_data *sd, int index, int amount, uint32 char_id, int zeny);
typedef void (*HPMHOOK_pre_clif_storagelist) (struct map_session_data **sd, struct item **items, int *items_length);
typedef void (*HPMHOOK_post_clif_storagelist) (struct map_session_data *sd, struct item *items, int items_length);
typedef void (*HPMHOOK_pre_clif_updatestorageamount) (struct map_session_data **sd, int *amount, int *max_amount);
@@ -1684,8 +1684,8 @@ typedef void (*HPMHOOK_pre_clif_buyingstore_itemlist) (struct map_session_data *
typedef void (*HPMHOOK_post_clif_buyingstore_itemlist) (struct map_session_data *sd, struct map_session_data *pl_sd);
typedef void (*HPMHOOK_pre_clif_buyingstore_trade_failed_buyer) (struct map_session_data **sd, short *result);
typedef void (*HPMHOOK_post_clif_buyingstore_trade_failed_buyer) (struct map_session_data *sd, short result);
-typedef void (*HPMHOOK_pre_clif_buyingstore_update_item) (struct map_session_data **sd, unsigned short *nameid, unsigned short *amount);
-typedef void (*HPMHOOK_post_clif_buyingstore_update_item) (struct map_session_data *sd, unsigned short nameid, unsigned short amount);
+typedef void (*HPMHOOK_pre_clif_buyingstore_update_item) (struct map_session_data **sd, unsigned short *nameid, unsigned short *amount, uint32 *char_id, int *zeny);
+typedef void (*HPMHOOK_post_clif_buyingstore_update_item) (struct map_session_data *sd, unsigned short nameid, unsigned short amount, uint32 char_id, int zeny);
typedef void (*HPMHOOK_pre_clif_buyingstore_delete_item) (struct map_session_data **sd, short *index, unsigned short *amount, int *price);
typedef void (*HPMHOOK_post_clif_buyingstore_delete_item) (struct map_session_data *sd, short index, unsigned short amount, int price);
typedef void (*HPMHOOK_pre_clif_buyingstore_trade_failed_seller) (struct map_session_data **sd, short *result, unsigned short *nameid);
@@ -1764,6 +1764,8 @@ typedef void (*HPMHOOK_pre_clif_ackmergeitems) (int *fd, struct map_session_data
typedef void (*HPMHOOK_post_clif_ackmergeitems) (int fd, struct map_session_data *sd);
typedef bool (*HPMHOOK_pre_clif_isdisguised) (struct block_list **bl);
typedef bool (*HPMHOOK_post_clif_isdisguised) (bool retVal___, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_navigate_to) (struct map_session_data **sd, const char **mapname, uint16 *x, uint16 *y, uint8 *flag, bool *hideWindow, uint16 *mob_id);
+typedef void (*HPMHOOK_post_clif_navigate_to) (struct map_session_data *sd, const char *mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id);
typedef unsigned char (*HPMHOOK_pre_clif_bl_type) (struct block_list **bl);
typedef unsigned char (*HPMHOOK_post_clif_bl_type) (unsigned char retVal___, struct block_list *bl);
typedef void (*HPMHOOK_pre_clif_pWantToConnection) (int *fd, struct map_session_data **sd);
@@ -3478,8 +3480,8 @@ typedef void (*HPMHOOK_pre_libconfig_destroy) (struct config_t **config);
typedef void (*HPMHOOK_post_libconfig_destroy) (struct config_t *config);
typedef int (*HPMHOOK_pre_libconfig_setting_get_int) (const struct config_setting_t **setting);
typedef int (*HPMHOOK_post_libconfig_setting_get_int) (int retVal___, const struct config_setting_t *setting);
-typedef long long (*HPMHOOK_pre_libconfig_setting_get_int64) (const struct config_setting_t **setting);
-typedef long long (*HPMHOOK_post_libconfig_setting_get_int64) (long long retVal___, const struct config_setting_t *setting);
+typedef int64 (*HPMHOOK_pre_libconfig_setting_get_int64) (const struct config_setting_t **setting);
+typedef int64 (*HPMHOOK_post_libconfig_setting_get_int64) (int64 retVal___, const struct config_setting_t *setting);
typedef double (*HPMHOOK_pre_libconfig_setting_get_float) (const struct config_setting_t **setting);
typedef double (*HPMHOOK_post_libconfig_setting_get_float) (double retVal___, const struct config_setting_t *setting);
typedef int (*HPMHOOK_pre_libconfig_setting_get_bool) (const struct config_setting_t **setting);
@@ -3490,8 +3492,8 @@ typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_lookup) (struct
typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_lookup) (struct config_setting_t* retVal___, struct config_setting_t *setting, const char *name);
typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int) (const struct config_setting_t **setting, const char **name, int **value);
typedef int (*HPMHOOK_post_libconfig_setting_lookup_int) (int retVal___, const struct config_setting_t *setting, const char *name, int *value);
-typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int64) (const struct config_setting_t **setting, const char **name, long long **value);
-typedef int (*HPMHOOK_post_libconfig_setting_lookup_int64) (int retVal___, const struct config_setting_t *setting, const char *name, long long *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int64) (const struct config_setting_t **setting, const char **name, int64 **value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_int64) (int retVal___, const struct config_setting_t *setting, const char *name, int64 *value);
typedef int (*HPMHOOK_pre_libconfig_setting_lookup_float) (const struct config_setting_t **setting, const char **name, double **value);
typedef int (*HPMHOOK_post_libconfig_setting_lookup_float) (int retVal___, const struct config_setting_t *setting, const char *name, double *value);
typedef int (*HPMHOOK_pre_libconfig_setting_lookup_bool) (const struct config_setting_t **setting, const char **name, int **value);
@@ -3500,8 +3502,8 @@ typedef int (*HPMHOOK_pre_libconfig_setting_lookup_string) (const struct config_
typedef int (*HPMHOOK_post_libconfig_setting_lookup_string) (int retVal___, const struct config_setting_t *setting, const char *name, const char **value);
typedef int (*HPMHOOK_pre_libconfig_setting_set_int) (struct config_setting_t **setting, int *value);
typedef int (*HPMHOOK_post_libconfig_setting_set_int) (int retVal___, struct config_setting_t *setting, int value);
-typedef int (*HPMHOOK_pre_libconfig_setting_set_int64) (struct config_setting_t **setting, long long *value);
-typedef int (*HPMHOOK_post_libconfig_setting_set_int64) (int retVal___, struct config_setting_t *setting, long long value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_int64) (struct config_setting_t **setting, int64 *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_int64) (int retVal___, struct config_setting_t *setting, int64 value);
typedef int (*HPMHOOK_pre_libconfig_setting_set_float) (struct config_setting_t **setting, double *value);
typedef int (*HPMHOOK_post_libconfig_setting_set_float) (int retVal___, struct config_setting_t *setting, double value);
typedef int (*HPMHOOK_pre_libconfig_setting_set_bool) (struct config_setting_t **setting, int *value);
@@ -3514,8 +3516,8 @@ typedef short (*HPMHOOK_pre_libconfig_setting_get_format) (const struct config_s
typedef short (*HPMHOOK_post_libconfig_setting_get_format) (short retVal___, const struct config_setting_t *setting);
typedef int (*HPMHOOK_pre_libconfig_setting_get_int_elem) (const struct config_setting_t **setting, int *idx);
typedef int (*HPMHOOK_post_libconfig_setting_get_int_elem) (int retVal___, const struct config_setting_t *setting, int idx);
-typedef long long (*HPMHOOK_pre_libconfig_setting_get_int64_elem) (const struct config_setting_t **setting, int *idx);
-typedef long long (*HPMHOOK_post_libconfig_setting_get_int64_elem) (long long retVal___, const struct config_setting_t *setting, int idx);
+typedef int64 (*HPMHOOK_pre_libconfig_setting_get_int64_elem) (const struct config_setting_t **setting, int *idx);
+typedef int64 (*HPMHOOK_post_libconfig_setting_get_int64_elem) (int64 retVal___, const struct config_setting_t *setting, int idx);
typedef double (*HPMHOOK_pre_libconfig_setting_get_float_elem) (const struct config_setting_t **setting, int *idx);
typedef double (*HPMHOOK_post_libconfig_setting_get_float_elem) (double retVal___, const struct config_setting_t *setting, int idx);
typedef int (*HPMHOOK_pre_libconfig_setting_get_bool_elem) (const struct config_setting_t **setting, int *idx);
@@ -3524,8 +3526,8 @@ typedef const char* (*HPMHOOK_pre_libconfig_setting_get_string_elem) (const stru
typedef const char* (*HPMHOOK_post_libconfig_setting_get_string_elem) (const char* retVal___, const struct config_setting_t *setting, int idx);
typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_int_elem) (struct config_setting_t **setting, int *idx, int *value);
typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_int_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, int value);
-typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_int64_elem) (struct config_setting_t **setting, int *idx, long long *value);
-typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_int64_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, long long value);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_int64_elem) (struct config_setting_t **setting, int *idx, int64 *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_int64_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, int64 value);
typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_float_elem) (struct config_setting_t **setting, int *idx, double *value);
typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_float_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, double value);
typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_bool_elem) (struct config_setting_t **setting, int *idx, int *value);
@@ -3552,8 +3554,8 @@ typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_lookup) (const struct c
typedef struct config_setting_t* (*HPMHOOK_post_libconfig_lookup) (struct config_setting_t* retVal___, const struct config_t *config, const char *filepath);
typedef int (*HPMHOOK_pre_libconfig_lookup_int) (const struct config_t **config, const char **filepath, int **value);
typedef int (*HPMHOOK_post_libconfig_lookup_int) (int retVal___, const struct config_t *config, const char *filepath, int *value);
-typedef int (*HPMHOOK_pre_libconfig_lookup_int64) (const struct config_t **config, const char **filepath, long long **value);
-typedef int (*HPMHOOK_post_libconfig_lookup_int64) (int retVal___, const struct config_t *config, const char *filepath, long long *value);
+typedef int (*HPMHOOK_pre_libconfig_lookup_int64) (const struct config_t **config, const char **filepath, int64 **value);
+typedef int (*HPMHOOK_post_libconfig_lookup_int64) (int retVal___, const struct config_t *config, const char *filepath, int64 *value);
typedef int (*HPMHOOK_pre_libconfig_lookup_float) (const struct config_t **config, const char **filepath, double **value);
typedef int (*HPMHOOK_post_libconfig_lookup_float) (int retVal___, const struct config_t *config, const char *filepath, double *value);
typedef int (*HPMHOOK_pre_libconfig_lookup_bool) (const struct config_t **config, const char **filepath, int **value);
@@ -3785,36 +3787,6 @@ typedef void (*HPMHOOK_post_mail_deliveryfail) (struct map_session_data *sd, str
typedef bool (*HPMHOOK_pre_mail_invalid_operation) (struct map_session_data **sd);
typedef bool (*HPMHOOK_post_mail_invalid_operation) (bool retVal___, struct map_session_data *sd);
#endif // MAP_MAIL_H
-#ifdef COMMON_MEMMGR_H /* iMalloc */
-typedef void (*HPMHOOK_pre_iMalloc_init) (void);
-typedef void (*HPMHOOK_post_iMalloc_init) (void);
-typedef void (*HPMHOOK_pre_iMalloc_final) (void);
-typedef void (*HPMHOOK_post_iMalloc_final) (void);
-typedef void* (*HPMHOOK_pre_iMalloc_malloc) (size_t *size, const char **file, int *line, const char **func);
-typedef void* (*HPMHOOK_post_iMalloc_malloc) (void* retVal___, size_t size, const char *file, int line, const char *func);
-typedef void* (*HPMHOOK_pre_iMalloc_calloc) (size_t *num, size_t *size, const char **file, int *line, const char **func);
-typedef void* (*HPMHOOK_post_iMalloc_calloc) (void* retVal___, size_t num, size_t size, const char *file, int line, const char *func);
-typedef void* (*HPMHOOK_pre_iMalloc_realloc) (void **p, size_t *size, const char **file, int *line, const char **func);
-typedef void* (*HPMHOOK_post_iMalloc_realloc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
-typedef void* (*HPMHOOK_pre_iMalloc_reallocz) (void **p, size_t *size, const char **file, int *line, const char **func);
-typedef void* (*HPMHOOK_post_iMalloc_reallocz) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
-typedef char* (*HPMHOOK_pre_iMalloc_astrdup) (const char **p, const char **file, int *line, const char **func);
-typedef char* (*HPMHOOK_post_iMalloc_astrdup) (char* retVal___, const char *p, const char *file, int line, const char *func);
-typedef char* (*HPMHOOK_pre_iMalloc_astrndup) (const char **p, size_t *size, const char **file, int *line, const char **func);
-typedef char* (*HPMHOOK_post_iMalloc_astrndup) (char* retVal___, const char *p, size_t size, const char *file, int line, const char *func);
-typedef void (*HPMHOOK_pre_iMalloc_free) (void **p, const char **file, int *line, const char **func);
-typedef void (*HPMHOOK_post_iMalloc_free) (void *p, const char *file, int line, const char *func);
-typedef void (*HPMHOOK_pre_iMalloc_memory_check) (void);
-typedef void (*HPMHOOK_post_iMalloc_memory_check) (void);
-typedef bool (*HPMHOOK_pre_iMalloc_verify_ptr) (void **ptr);
-typedef bool (*HPMHOOK_post_iMalloc_verify_ptr) (bool retVal___, void *ptr);
-typedef size_t (*HPMHOOK_pre_iMalloc_usage) (void);
-typedef size_t (*HPMHOOK_post_iMalloc_usage) (size_t retVal___);
-typedef void (*HPMHOOK_pre_iMalloc_post_shutdown) (void);
-typedef void (*HPMHOOK_post_iMalloc_post_shutdown) (void);
-typedef void (*HPMHOOK_pre_iMalloc_init_messages) (void);
-typedef void (*HPMHOOK_post_iMalloc_init_messages) (void);
-#endif // COMMON_MEMMGR_H
#ifdef MAP_MAP_H /* map */
typedef void (*HPMHOOK_pre_map_zone_init) (void);
typedef void (*HPMHOOK_post_map_zone_init) (void);
@@ -5602,6 +5574,8 @@ typedef bool (*HPMHOOK_pre_pc_process_chat_message) (struct map_session_data **s
typedef bool (*HPMHOOK_post_pc_process_chat_message) (bool retVal___, struct map_session_data *sd, const char *message);
typedef void (*HPMHOOK_pre_pc_check_supernovice_call) (struct map_session_data **sd, const char **message);
typedef void (*HPMHOOK_post_pc_check_supernovice_call) (struct map_session_data *sd, const char *message);
+typedef bool (*HPMHOOK_pre_pc_check_basicskill) (struct map_session_data **sd, int *level);
+typedef bool (*HPMHOOK_post_pc_check_basicskill) (bool retVal___, struct map_session_data *sd, int level);
#endif // MAP_PC_H
#ifdef MAP_NPC_H /* libpcre */
typedef pcre* (*HPMHOOK_pre_libpcre_compile) (const char **pattern, int *options, const char ***errptr, int **erroffset, const unsigned char **tableptr);
@@ -6508,6 +6482,12 @@ typedef void (*HPMHOOK_pre_skill_validate_additional_fields) (struct config_sett
typedef void (*HPMHOOK_post_skill_validate_additional_fields) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef bool (*HPMHOOK_pre_skill_validate_skilldb) (struct s_skill_db **skt, const char **source);
typedef bool (*HPMHOOK_post_skill_validate_skilldb) (bool retVal___, struct s_skill_db *skt, const char *source);
+typedef int (*HPMHOOK_pre_skill_validate_weapontype_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_weapontype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_ammotype_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_ammotype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_unit_flag_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_unit_flag_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
typedef bool (*HPMHOOK_pre_skill_read_skilldb) (const char **filename);
typedef bool (*HPMHOOK_post_skill_read_skilldb) (bool retVal___, const char *filename);
typedef void (*HPMHOOK_pre_skill_config_set_level) (struct config_setting_t **conf, int **arr);
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
index 836e51f3f..3af236f48 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
@@ -804,34 +804,6 @@ struct {
struct HPMHookPoint *HP_loginif_send_users_count_post;
struct HPMHookPoint *HP_loginif_connect_to_server_pre;
struct HPMHookPoint *HP_loginif_connect_to_server_post;
- struct HPMHookPoint *HP_iMalloc_init_pre;
- struct HPMHookPoint *HP_iMalloc_init_post;
- struct HPMHookPoint *HP_iMalloc_final_pre;
- struct HPMHookPoint *HP_iMalloc_final_post;
- struct HPMHookPoint *HP_iMalloc_malloc_pre;
- struct HPMHookPoint *HP_iMalloc_malloc_post;
- struct HPMHookPoint *HP_iMalloc_calloc_pre;
- struct HPMHookPoint *HP_iMalloc_calloc_post;
- struct HPMHookPoint *HP_iMalloc_realloc_pre;
- struct HPMHookPoint *HP_iMalloc_realloc_post;
- struct HPMHookPoint *HP_iMalloc_reallocz_pre;
- struct HPMHookPoint *HP_iMalloc_reallocz_post;
- struct HPMHookPoint *HP_iMalloc_astrdup_pre;
- struct HPMHookPoint *HP_iMalloc_astrdup_post;
- struct HPMHookPoint *HP_iMalloc_astrndup_pre;
- struct HPMHookPoint *HP_iMalloc_astrndup_post;
- struct HPMHookPoint *HP_iMalloc_free_pre;
- struct HPMHookPoint *HP_iMalloc_free_post;
- struct HPMHookPoint *HP_iMalloc_memory_check_pre;
- struct HPMHookPoint *HP_iMalloc_memory_check_post;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_pre;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_post;
- struct HPMHookPoint *HP_iMalloc_usage_pre;
- struct HPMHookPoint *HP_iMalloc_usage_post;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_pre;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_post;
- struct HPMHookPoint *HP_iMalloc_init_messages_pre;
- struct HPMHookPoint *HP_iMalloc_init_messages_post;
struct HPMHookPoint *HP_mapif_ban_pre;
struct HPMHookPoint *HP_mapif_ban_post;
struct HPMHookPoint *HP_mapif_server_init_pre;
@@ -2309,34 +2281,6 @@ struct {
int HP_loginif_send_users_count_post;
int HP_loginif_connect_to_server_pre;
int HP_loginif_connect_to_server_post;
- int HP_iMalloc_init_pre;
- int HP_iMalloc_init_post;
- int HP_iMalloc_final_pre;
- int HP_iMalloc_final_post;
- int HP_iMalloc_malloc_pre;
- int HP_iMalloc_malloc_post;
- int HP_iMalloc_calloc_pre;
- int HP_iMalloc_calloc_post;
- int HP_iMalloc_realloc_pre;
- int HP_iMalloc_realloc_post;
- int HP_iMalloc_reallocz_pre;
- int HP_iMalloc_reallocz_post;
- int HP_iMalloc_astrdup_pre;
- int HP_iMalloc_astrdup_post;
- int HP_iMalloc_astrndup_pre;
- int HP_iMalloc_astrndup_post;
- int HP_iMalloc_free_pre;
- int HP_iMalloc_free_post;
- int HP_iMalloc_memory_check_pre;
- int HP_iMalloc_memory_check_post;
- int HP_iMalloc_verify_ptr_pre;
- int HP_iMalloc_verify_ptr_post;
- int HP_iMalloc_usage_pre;
- int HP_iMalloc_usage_post;
- int HP_iMalloc_post_shutdown_pre;
- int HP_iMalloc_post_shutdown_post;
- int HP_iMalloc_init_messages_pre;
- int HP_iMalloc_init_messages_post;
int HP_mapif_ban_pre;
int HP_mapif_ban_post;
int HP_mapif_server_init_pre;
@@ -3057,7 +3001,6 @@ struct {
struct inter_storage_interface inter_storage;
struct libconfig_interface libconfig;
struct loginif_interface loginif;
- struct malloc_interface iMalloc;
struct mapif_interface mapif;
struct mapindex_interface mapindex;
struct md5_interface md5;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index 047373f77..55fc347e5 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
@@ -436,21 +436,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(loginif->auth, HP_loginif_auth) },
{ HP_POP(loginif->send_users_count, HP_loginif_send_users_count) },
{ HP_POP(loginif->connect_to_server, HP_loginif_connect_to_server) },
-/* malloc_interface */
- { HP_POP(iMalloc->init, HP_iMalloc_init) },
- { HP_POP(iMalloc->final, HP_iMalloc_final) },
- { HP_POP(iMalloc->malloc, HP_iMalloc_malloc) },
- { HP_POP(iMalloc->calloc, HP_iMalloc_calloc) },
- { HP_POP(iMalloc->realloc, HP_iMalloc_realloc) },
- { HP_POP(iMalloc->reallocz, HP_iMalloc_reallocz) },
- { HP_POP(iMalloc->astrdup, HP_iMalloc_astrdup) },
- { HP_POP(iMalloc->astrndup, HP_iMalloc_astrndup) },
- { HP_POP(iMalloc->free, HP_iMalloc_free) },
- { HP_POP(iMalloc->memory_check, HP_iMalloc_memory_check) },
- { HP_POP(iMalloc->verify_ptr, HP_iMalloc_verify_ptr) },
- { HP_POP(iMalloc->usage, HP_iMalloc_usage) },
- { HP_POP(iMalloc->post_shutdown, HP_iMalloc_post_shutdown) },
- { HP_POP(iMalloc->init_messages, HP_iMalloc_init_messages) },
/* mapif_interface */
{ HP_POP(mapif->ban, HP_mapif_ban) },
{ HP_POP(mapif->server_init, HP_mapif_server_init) },
diff --git a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
index 63afcab3c..bab2c2721 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
@@ -744,15 +744,15 @@ int HP_chr_check_char_name(char *name, char *esc_name) {
}
return retVal___;
}
-int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style) {
+int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_chr_make_new_char_sql_pre ) {
- int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style);
+ int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &name_, &str, &agi, &vit, &int_, &dex, &luk, &slot, &hair_color, &hair_style);
+ retVal___ = preHookFunc(&sd, &name_, &str, &agi, &vit, &int_, &dex, &luk, &slot, &hair_color, &hair_style, &starting_job);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
@@ -760,13 +760,13 @@ int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, in
}
}
{
- retVal___ = HPMHooks.source.chr.make_new_char_sql(sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style);
+ retVal___ = HPMHooks.source.chr.make_new_char_sql(sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job);
}
if( HPMHooks.count.HP_chr_make_new_char_sql_post ) {
- int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style);
+ int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job);
for(hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style);
+ retVal___ = postHookFunc(retVal___, sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job);
}
}
return retVal___;
@@ -8593,11 +8593,11 @@ int HP_libconfig_setting_get_int(const struct config_setting_t *setting) {
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
+int64 HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting);
+ int64 (*preHookFunc) (const struct config_setting_t **setting);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_pre[hIndex].func;
@@ -8612,7 +8612,7 @@ long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting)
retVal___ = HPMHooks.source.libconfig.setting_get_int64(setting);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting);
@@ -8755,11 +8755,11 @@ int HP_libconfig_setting_lookup_int(const struct config_setting_t *setting, cons
}
return retVal___;
}
-int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, long long *value) {
+int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_setting_t **setting, const char **name, long long **value);
+ int (*preHookFunc) (const struct config_setting_t **setting, const char **name, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_pre[hIndex].func;
@@ -8774,7 +8774,7 @@ int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, co
retVal___ = HPMHooks.source.libconfig.setting_lookup_int64(setting, name, value);
}
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, name, value);
@@ -8890,11 +8890,11 @@ int HP_libconfig_setting_set_int(struct config_setting_t *setting, int value) {
}
return retVal___;
}
-int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long value) {
+int HP_libconfig_setting_set_int64(struct config_setting_t *setting, int64 value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_set_int64_pre ) {
- int (*preHookFunc) (struct config_setting_t **setting, long long *value);
+ int (*preHookFunc) (struct config_setting_t **setting, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_pre[hIndex].func;
@@ -8909,7 +8909,7 @@ int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long v
retVal___ = HPMHooks.source.libconfig.setting_set_int64(setting, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_post ) {
- int (*postHookFunc) (int retVal___, struct config_setting_t *setting, long long value);
+ int (*postHookFunc) (int retVal___, struct config_setting_t *setting, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, value);
@@ -9079,11 +9079,11 @@ int HP_libconfig_setting_get_int_elem(const struct config_setting_t *setting, in
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
+int64 HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting, int *idx);
+ int64 (*preHookFunc) (const struct config_setting_t **setting, int *idx);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_pre[hIndex].func;
@@ -9098,7 +9098,7 @@ long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *set
retVal___ = HPMHooks.source.libconfig.setting_get_int64_elem(setting, idx);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting, int idx);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting, int idx);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx);
@@ -9214,11 +9214,11 @@ struct config_setting_t* HP_libconfig_setting_set_int_elem(struct config_setting
}
return retVal___;
}
-struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, long long value) {
+struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, int64 value) {
int hIndex = 0;
struct config_setting_t* retVal___ = NULL;
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre ) {
- struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, long long *value);
+ struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_pre[hIndex].func;
@@ -9233,7 +9233,7 @@ struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setti
retVal___ = HPMHooks.source.libconfig.setting_set_int64_elem(setting, idx, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_post ) {
- struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, long long value);
+ struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx, value);
@@ -9591,11 +9591,11 @@ int HP_libconfig_lookup_int(const struct config_t *config, const char *filepath,
}
return retVal___;
}
-int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, long long *value) {
+int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_t **config, const char **filepath, long long **value);
+ int (*preHookFunc) (const struct config_t **config, const char **filepath, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_pre[hIndex].func;
@@ -9610,7 +9610,7 @@ int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepat
retVal___ = HPMHooks.source.libconfig.lookup_int64(config, filepath, value);
}
if( HPMHooks.count.HP_libconfig_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, config, filepath, value);
@@ -10440,379 +10440,6 @@ void HP_loginif_connect_to_server(void) {
}
return;
}
-/* malloc_interface */
-void HP_iMalloc_init(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init();
- }
- if( HPMHooks.count.HP_iMalloc_init_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_final(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_final_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_final_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.final();
- }
- if( HPMHooks.count.HP_iMalloc_final_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_final_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void* HP_iMalloc_malloc(size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_malloc_pre ) {
- void* (*preHookFunc) (size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_malloc_pre[hIndex].func;
- retVal___ = preHookFunc(&size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.malloc(size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_malloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_malloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_calloc(size_t num, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_calloc_pre ) {
- void* (*preHookFunc) (size_t *num, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_calloc_pre[hIndex].func;
- retVal___ = preHookFunc(&num, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.calloc(num, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_calloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t num, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_calloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, num, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_realloc(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_realloc_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_realloc_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.realloc(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_realloc_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_realloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_reallocz(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_reallocz_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_reallocz_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.reallocz(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_reallocz_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_reallocz_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrdup(const char *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrdup_pre ) {
- char* (*preHookFunc) (const char **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrdup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrdup(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrdup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrdup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrndup(const char *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrndup_pre ) {
- char* (*preHookFunc) (const char **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrndup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrndup(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrndup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrndup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_free(void *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_free_pre ) {
- void (*preHookFunc) (void **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_free_pre[hIndex].func;
- preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.free(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_free_post ) {
- void (*postHookFunc) (void *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_free_post[hIndex].func;
- postHookFunc(p, file, line, func);
- }
- }
- return;
-}
-void HP_iMalloc_memory_check(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_memory_check_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_memory_check_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.memory_check();
- }
- if( HPMHooks.count.HP_iMalloc_memory_check_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_memory_check_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-bool HP_iMalloc_verify_ptr(void *ptr) {
- int hIndex = 0;
- bool retVal___ = false;
- if( HPMHooks.count.HP_iMalloc_verify_ptr_pre ) {
- bool (*preHookFunc) (void **ptr);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_pre[hIndex].func;
- retVal___ = preHookFunc(&ptr);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.verify_ptr(ptr);
- }
- if( HPMHooks.count.HP_iMalloc_verify_ptr_post ) {
- bool (*postHookFunc) (bool retVal___, void *ptr);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, ptr);
- }
- }
- return retVal___;
-}
-size_t HP_iMalloc_usage(void) {
- int hIndex = 0;
- size_t retVal___ = 0;
- if( HPMHooks.count.HP_iMalloc_usage_pre ) {
- size_t (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_usage_pre[hIndex].func;
- retVal___ = preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.usage();
- }
- if( HPMHooks.count.HP_iMalloc_usage_post ) {
- size_t (*postHookFunc) (size_t retVal___);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_usage_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_post_shutdown(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_post_shutdown_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.post_shutdown();
- }
- if( HPMHooks.count.HP_iMalloc_post_shutdown_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_init_messages(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_messages_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_messages_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init_messages();
- }
- if( HPMHooks.count.HP_iMalloc_init_messages_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_messages_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
/* mapif_interface */
void HP_mapif_ban(int id, unsigned int flag, int status) {
int hIndex = 0;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.sources.inc b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
index 54ae8f030..d940e379a 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
@@ -46,7 +46,6 @@ memcpy(&HPMHooks.source.inter_quest, inter_quest, sizeof(struct inter_quest_inte
memcpy(&HPMHooks.source.inter_storage, inter_storage, sizeof(struct inter_storage_interface));
memcpy(&HPMHooks.source.libconfig, libconfig, sizeof(struct libconfig_interface));
memcpy(&HPMHooks.source.loginif, loginif, sizeof(struct loginif_interface));
-memcpy(&HPMHooks.source.iMalloc, iMalloc, sizeof(struct malloc_interface));
memcpy(&HPMHooks.source.mapif, mapif, sizeof(struct mapif_interface));
memcpy(&HPMHooks.source.mapindex, mapindex, sizeof(struct mapindex_interface));
memcpy(&HPMHooks.source.md5, md5, sizeof(struct md5_interface));
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
index b97b6ea7f..1d7ac8267 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
@@ -376,34 +376,6 @@ struct {
struct HPMHookPoint *HP_login_config_set_defaults_post;
struct HPMHookPoint *HP_login_config_read_pre;
struct HPMHookPoint *HP_login_config_read_post;
- struct HPMHookPoint *HP_iMalloc_init_pre;
- struct HPMHookPoint *HP_iMalloc_init_post;
- struct HPMHookPoint *HP_iMalloc_final_pre;
- struct HPMHookPoint *HP_iMalloc_final_post;
- struct HPMHookPoint *HP_iMalloc_malloc_pre;
- struct HPMHookPoint *HP_iMalloc_malloc_post;
- struct HPMHookPoint *HP_iMalloc_calloc_pre;
- struct HPMHookPoint *HP_iMalloc_calloc_post;
- struct HPMHookPoint *HP_iMalloc_realloc_pre;
- struct HPMHookPoint *HP_iMalloc_realloc_post;
- struct HPMHookPoint *HP_iMalloc_reallocz_pre;
- struct HPMHookPoint *HP_iMalloc_reallocz_post;
- struct HPMHookPoint *HP_iMalloc_astrdup_pre;
- struct HPMHookPoint *HP_iMalloc_astrdup_post;
- struct HPMHookPoint *HP_iMalloc_astrndup_pre;
- struct HPMHookPoint *HP_iMalloc_astrndup_post;
- struct HPMHookPoint *HP_iMalloc_free_pre;
- struct HPMHookPoint *HP_iMalloc_free_post;
- struct HPMHookPoint *HP_iMalloc_memory_check_pre;
- struct HPMHookPoint *HP_iMalloc_memory_check_post;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_pre;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_post;
- struct HPMHookPoint *HP_iMalloc_usage_pre;
- struct HPMHookPoint *HP_iMalloc_usage_post;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_pre;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_post;
- struct HPMHookPoint *HP_iMalloc_init_messages_pre;
- struct HPMHookPoint *HP_iMalloc_init_messages_post;
struct HPMHookPoint *HP_md5_string_pre;
struct HPMHookPoint *HP_md5_string_post;
struct HPMHookPoint *HP_md5_binary_pre;
@@ -1077,34 +1049,6 @@ struct {
int HP_login_config_set_defaults_post;
int HP_login_config_read_pre;
int HP_login_config_read_post;
- int HP_iMalloc_init_pre;
- int HP_iMalloc_init_post;
- int HP_iMalloc_final_pre;
- int HP_iMalloc_final_post;
- int HP_iMalloc_malloc_pre;
- int HP_iMalloc_malloc_post;
- int HP_iMalloc_calloc_pre;
- int HP_iMalloc_calloc_post;
- int HP_iMalloc_realloc_pre;
- int HP_iMalloc_realloc_post;
- int HP_iMalloc_reallocz_pre;
- int HP_iMalloc_reallocz_post;
- int HP_iMalloc_astrdup_pre;
- int HP_iMalloc_astrdup_post;
- int HP_iMalloc_astrndup_pre;
- int HP_iMalloc_astrndup_post;
- int HP_iMalloc_free_pre;
- int HP_iMalloc_free_post;
- int HP_iMalloc_memory_check_pre;
- int HP_iMalloc_memory_check_post;
- int HP_iMalloc_verify_ptr_pre;
- int HP_iMalloc_verify_ptr_post;
- int HP_iMalloc_usage_pre;
- int HP_iMalloc_usage_post;
- int HP_iMalloc_post_shutdown_pre;
- int HP_iMalloc_post_shutdown_post;
- int HP_iMalloc_init_messages_pre;
- int HP_iMalloc_init_messages_post;
int HP_md5_string_pre;
int HP_md5_string_post;
int HP_md5_binary_pre;
@@ -1438,7 +1382,6 @@ struct {
struct lclif_interface_private PRIV__lclif;
struct libconfig_interface libconfig;
struct login_interface login;
- struct malloc_interface iMalloc;
struct md5_interface md5;
struct mutex_interface mutex;
struct nullpo_interface nullpo;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
index 2d3e37bc3..96a711af6 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
@@ -211,21 +211,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(login->parse_request_connection, HP_login_parse_request_connection) },
{ HP_POP(login->config_set_defaults, HP_login_config_set_defaults) },
{ HP_POP(login->config_read, HP_login_config_read) },
-/* malloc_interface */
- { HP_POP(iMalloc->init, HP_iMalloc_init) },
- { HP_POP(iMalloc->final, HP_iMalloc_final) },
- { HP_POP(iMalloc->malloc, HP_iMalloc_malloc) },
- { HP_POP(iMalloc->calloc, HP_iMalloc_calloc) },
- { HP_POP(iMalloc->realloc, HP_iMalloc_realloc) },
- { HP_POP(iMalloc->reallocz, HP_iMalloc_reallocz) },
- { HP_POP(iMalloc->astrdup, HP_iMalloc_astrdup) },
- { HP_POP(iMalloc->astrndup, HP_iMalloc_astrndup) },
- { HP_POP(iMalloc->free, HP_iMalloc_free) },
- { HP_POP(iMalloc->memory_check, HP_iMalloc_memory_check) },
- { HP_POP(iMalloc->verify_ptr, HP_iMalloc_verify_ptr) },
- { HP_POP(iMalloc->usage, HP_iMalloc_usage) },
- { HP_POP(iMalloc->post_shutdown, HP_iMalloc_post_shutdown) },
- { HP_POP(iMalloc->init_messages, HP_iMalloc_init_messages) },
/* md5_interface */
{ HP_POP(md5->string, HP_md5_string) },
{ HP_POP(md5->binary, HP_md5_binary) },
diff --git a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
index 290c2283a..b5fc0e70b 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
@@ -1899,11 +1899,11 @@ int HP_libconfig_setting_get_int(const struct config_setting_t *setting) {
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
+int64 HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting);
+ int64 (*preHookFunc) (const struct config_setting_t **setting);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_pre[hIndex].func;
@@ -1918,7 +1918,7 @@ long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting)
retVal___ = HPMHooks.source.libconfig.setting_get_int64(setting);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting);
@@ -2061,11 +2061,11 @@ int HP_libconfig_setting_lookup_int(const struct config_setting_t *setting, cons
}
return retVal___;
}
-int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, long long *value) {
+int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_setting_t **setting, const char **name, long long **value);
+ int (*preHookFunc) (const struct config_setting_t **setting, const char **name, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_pre[hIndex].func;
@@ -2080,7 +2080,7 @@ int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, co
retVal___ = HPMHooks.source.libconfig.setting_lookup_int64(setting, name, value);
}
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, name, value);
@@ -2196,11 +2196,11 @@ int HP_libconfig_setting_set_int(struct config_setting_t *setting, int value) {
}
return retVal___;
}
-int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long value) {
+int HP_libconfig_setting_set_int64(struct config_setting_t *setting, int64 value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_set_int64_pre ) {
- int (*preHookFunc) (struct config_setting_t **setting, long long *value);
+ int (*preHookFunc) (struct config_setting_t **setting, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_pre[hIndex].func;
@@ -2215,7 +2215,7 @@ int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long v
retVal___ = HPMHooks.source.libconfig.setting_set_int64(setting, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_post ) {
- int (*postHookFunc) (int retVal___, struct config_setting_t *setting, long long value);
+ int (*postHookFunc) (int retVal___, struct config_setting_t *setting, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, value);
@@ -2385,11 +2385,11 @@ int HP_libconfig_setting_get_int_elem(const struct config_setting_t *setting, in
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
+int64 HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting, int *idx);
+ int64 (*preHookFunc) (const struct config_setting_t **setting, int *idx);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_pre[hIndex].func;
@@ -2404,7 +2404,7 @@ long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *set
retVal___ = HPMHooks.source.libconfig.setting_get_int64_elem(setting, idx);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting, int idx);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting, int idx);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx);
@@ -2520,11 +2520,11 @@ struct config_setting_t* HP_libconfig_setting_set_int_elem(struct config_setting
}
return retVal___;
}
-struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, long long value) {
+struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, int64 value) {
int hIndex = 0;
struct config_setting_t* retVal___ = NULL;
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre ) {
- struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, long long *value);
+ struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_pre[hIndex].func;
@@ -2539,7 +2539,7 @@ struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setti
retVal___ = HPMHooks.source.libconfig.setting_set_int64_elem(setting, idx, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_post ) {
- struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, long long value);
+ struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx, value);
@@ -2897,11 +2897,11 @@ int HP_libconfig_lookup_int(const struct config_t *config, const char *filepath,
}
return retVal___;
}
-int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, long long *value) {
+int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_t **config, const char **filepath, long long **value);
+ int (*preHookFunc) (const struct config_t **config, const char **filepath, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_pre[hIndex].func;
@@ -2916,7 +2916,7 @@ int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepat
retVal___ = HPMHooks.source.libconfig.lookup_int64(config, filepath, value);
}
if( HPMHooks.count.HP_libconfig_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, config, filepath, value);
@@ -4716,379 +4716,6 @@ bool HP_login_config_read(const char *filename, bool included) {
}
return retVal___;
}
-/* malloc_interface */
-void HP_iMalloc_init(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init();
- }
- if( HPMHooks.count.HP_iMalloc_init_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_final(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_final_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_final_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.final();
- }
- if( HPMHooks.count.HP_iMalloc_final_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_final_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void* HP_iMalloc_malloc(size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_malloc_pre ) {
- void* (*preHookFunc) (size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_malloc_pre[hIndex].func;
- retVal___ = preHookFunc(&size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.malloc(size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_malloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_malloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_calloc(size_t num, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_calloc_pre ) {
- void* (*preHookFunc) (size_t *num, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_calloc_pre[hIndex].func;
- retVal___ = preHookFunc(&num, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.calloc(num, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_calloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t num, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_calloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, num, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_realloc(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_realloc_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_realloc_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.realloc(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_realloc_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_realloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_reallocz(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_reallocz_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_reallocz_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.reallocz(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_reallocz_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_reallocz_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrdup(const char *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrdup_pre ) {
- char* (*preHookFunc) (const char **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrdup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrdup(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrdup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrdup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrndup(const char *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrndup_pre ) {
- char* (*preHookFunc) (const char **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrndup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrndup(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrndup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrndup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_free(void *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_free_pre ) {
- void (*preHookFunc) (void **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_free_pre[hIndex].func;
- preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.free(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_free_post ) {
- void (*postHookFunc) (void *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_free_post[hIndex].func;
- postHookFunc(p, file, line, func);
- }
- }
- return;
-}
-void HP_iMalloc_memory_check(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_memory_check_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_memory_check_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.memory_check();
- }
- if( HPMHooks.count.HP_iMalloc_memory_check_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_memory_check_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-bool HP_iMalloc_verify_ptr(void *ptr) {
- int hIndex = 0;
- bool retVal___ = false;
- if( HPMHooks.count.HP_iMalloc_verify_ptr_pre ) {
- bool (*preHookFunc) (void **ptr);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_pre[hIndex].func;
- retVal___ = preHookFunc(&ptr);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.verify_ptr(ptr);
- }
- if( HPMHooks.count.HP_iMalloc_verify_ptr_post ) {
- bool (*postHookFunc) (bool retVal___, void *ptr);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, ptr);
- }
- }
- return retVal___;
-}
-size_t HP_iMalloc_usage(void) {
- int hIndex = 0;
- size_t retVal___ = 0;
- if( HPMHooks.count.HP_iMalloc_usage_pre ) {
- size_t (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_usage_pre[hIndex].func;
- retVal___ = preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.usage();
- }
- if( HPMHooks.count.HP_iMalloc_usage_post ) {
- size_t (*postHookFunc) (size_t retVal___);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_usage_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_post_shutdown(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_post_shutdown_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.post_shutdown();
- }
- if( HPMHooks.count.HP_iMalloc_post_shutdown_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_init_messages(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_messages_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_messages_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init_messages();
- }
- if( HPMHooks.count.HP_iMalloc_init_messages_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_messages_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
/* md5_interface */
void HP_md5_string(const char *string, char *output) {
int hIndex = 0;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.sources.inc b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
index 6677a0c55..4bb7f5396 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
@@ -35,7 +35,6 @@ memcpy(&HPMHooks.source.lclif, lclif, sizeof(struct lclif_interface));
memcpy(&HPMHooks.source.PRIV__lclif, lclif->p, sizeof(struct lclif_interface_private));
memcpy(&HPMHooks.source.libconfig, libconfig, sizeof(struct libconfig_interface));
memcpy(&HPMHooks.source.login, login, sizeof(struct login_interface));
-memcpy(&HPMHooks.source.iMalloc, iMalloc, sizeof(struct malloc_interface));
memcpy(&HPMHooks.source.md5, md5, sizeof(struct md5_interface));
memcpy(&HPMHooks.source.mutex, mutex, sizeof(struct mutex_interface));
memcpy(&HPMHooks.source.nullpo, nullpo, sizeof(struct nullpo_interface));
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 0845d8cdd..22f0b3a8a 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -1402,6 +1402,8 @@ struct {
struct HPMHookPoint *HP_clif_ackmergeitems_post;
struct HPMHookPoint *HP_clif_isdisguised_pre;
struct HPMHookPoint *HP_clif_isdisguised_post;
+ struct HPMHookPoint *HP_clif_navigate_to_pre;
+ struct HPMHookPoint *HP_clif_navigate_to_post;
struct HPMHookPoint *HP_clif_bl_type_pre;
struct HPMHookPoint *HP_clif_bl_type_post;
struct HPMHookPoint *HP_clif_pWantToConnection_pre;
@@ -2982,34 +2984,6 @@ struct {
struct HPMHookPoint *HP_mail_deliveryfail_post;
struct HPMHookPoint *HP_mail_invalid_operation_pre;
struct HPMHookPoint *HP_mail_invalid_operation_post;
- struct HPMHookPoint *HP_iMalloc_init_pre;
- struct HPMHookPoint *HP_iMalloc_init_post;
- struct HPMHookPoint *HP_iMalloc_final_pre;
- struct HPMHookPoint *HP_iMalloc_final_post;
- struct HPMHookPoint *HP_iMalloc_malloc_pre;
- struct HPMHookPoint *HP_iMalloc_malloc_post;
- struct HPMHookPoint *HP_iMalloc_calloc_pre;
- struct HPMHookPoint *HP_iMalloc_calloc_post;
- struct HPMHookPoint *HP_iMalloc_realloc_pre;
- struct HPMHookPoint *HP_iMalloc_realloc_post;
- struct HPMHookPoint *HP_iMalloc_reallocz_pre;
- struct HPMHookPoint *HP_iMalloc_reallocz_post;
- struct HPMHookPoint *HP_iMalloc_astrdup_pre;
- struct HPMHookPoint *HP_iMalloc_astrdup_post;
- struct HPMHookPoint *HP_iMalloc_astrndup_pre;
- struct HPMHookPoint *HP_iMalloc_astrndup_post;
- struct HPMHookPoint *HP_iMalloc_free_pre;
- struct HPMHookPoint *HP_iMalloc_free_post;
- struct HPMHookPoint *HP_iMalloc_memory_check_pre;
- struct HPMHookPoint *HP_iMalloc_memory_check_post;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_pre;
- struct HPMHookPoint *HP_iMalloc_verify_ptr_post;
- struct HPMHookPoint *HP_iMalloc_usage_pre;
- struct HPMHookPoint *HP_iMalloc_usage_post;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_pre;
- struct HPMHookPoint *HP_iMalloc_post_shutdown_post;
- struct HPMHookPoint *HP_iMalloc_init_messages_pre;
- struct HPMHookPoint *HP_iMalloc_init_messages_post;
struct HPMHookPoint *HP_map_zone_init_pre;
struct HPMHookPoint *HP_map_zone_init_post;
struct HPMHookPoint *HP_map_zone_remove_pre;
@@ -4428,6 +4402,8 @@ struct {
struct HPMHookPoint *HP_pc_process_chat_message_post;
struct HPMHookPoint *HP_pc_check_supernovice_call_pre;
struct HPMHookPoint *HP_pc_check_supernovice_call_post;
+ struct HPMHookPoint *HP_pc_check_basicskill_pre;
+ struct HPMHookPoint *HP_pc_check_basicskill_post;
struct HPMHookPoint *HP_libpcre_compile_pre;
struct HPMHookPoint *HP_libpcre_compile_post;
struct HPMHookPoint *HP_libpcre_study_pre;
@@ -5296,6 +5272,12 @@ struct {
struct HPMHookPoint *HP_skill_validate_additional_fields_post;
struct HPMHookPoint *HP_skill_validate_skilldb_pre;
struct HPMHookPoint *HP_skill_validate_skilldb_post;
+ struct HPMHookPoint *HP_skill_validate_weapontype_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_weapontype_sub_post;
+ struct HPMHookPoint *HP_skill_validate_ammotype_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_ammotype_sub_post;
+ struct HPMHookPoint *HP_skill_validate_unit_flag_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_flag_sub_post;
struct HPMHookPoint *HP_skill_read_skilldb_pre;
struct HPMHookPoint *HP_skill_read_skilldb_post;
struct HPMHookPoint *HP_skill_config_set_level_pre;
@@ -7457,6 +7439,8 @@ struct {
int HP_clif_ackmergeitems_post;
int HP_clif_isdisguised_pre;
int HP_clif_isdisguised_post;
+ int HP_clif_navigate_to_pre;
+ int HP_clif_navigate_to_post;
int HP_clif_bl_type_pre;
int HP_clif_bl_type_post;
int HP_clif_pWantToConnection_pre;
@@ -9037,34 +9021,6 @@ struct {
int HP_mail_deliveryfail_post;
int HP_mail_invalid_operation_pre;
int HP_mail_invalid_operation_post;
- int HP_iMalloc_init_pre;
- int HP_iMalloc_init_post;
- int HP_iMalloc_final_pre;
- int HP_iMalloc_final_post;
- int HP_iMalloc_malloc_pre;
- int HP_iMalloc_malloc_post;
- int HP_iMalloc_calloc_pre;
- int HP_iMalloc_calloc_post;
- int HP_iMalloc_realloc_pre;
- int HP_iMalloc_realloc_post;
- int HP_iMalloc_reallocz_pre;
- int HP_iMalloc_reallocz_post;
- int HP_iMalloc_astrdup_pre;
- int HP_iMalloc_astrdup_post;
- int HP_iMalloc_astrndup_pre;
- int HP_iMalloc_astrndup_post;
- int HP_iMalloc_free_pre;
- int HP_iMalloc_free_post;
- int HP_iMalloc_memory_check_pre;
- int HP_iMalloc_memory_check_post;
- int HP_iMalloc_verify_ptr_pre;
- int HP_iMalloc_verify_ptr_post;
- int HP_iMalloc_usage_pre;
- int HP_iMalloc_usage_post;
- int HP_iMalloc_post_shutdown_pre;
- int HP_iMalloc_post_shutdown_post;
- int HP_iMalloc_init_messages_pre;
- int HP_iMalloc_init_messages_post;
int HP_map_zone_init_pre;
int HP_map_zone_init_post;
int HP_map_zone_remove_pre;
@@ -10483,6 +10439,8 @@ struct {
int HP_pc_process_chat_message_post;
int HP_pc_check_supernovice_call_pre;
int HP_pc_check_supernovice_call_post;
+ int HP_pc_check_basicskill_pre;
+ int HP_pc_check_basicskill_post;
int HP_libpcre_compile_pre;
int HP_libpcre_compile_post;
int HP_libpcre_study_pre;
@@ -11351,6 +11309,12 @@ struct {
int HP_skill_validate_additional_fields_post;
int HP_skill_validate_skilldb_pre;
int HP_skill_validate_skilldb_post;
+ int HP_skill_validate_weapontype_sub_pre;
+ int HP_skill_validate_weapontype_sub_post;
+ int HP_skill_validate_ammotype_sub_pre;
+ int HP_skill_validate_ammotype_sub_post;
+ int HP_skill_validate_unit_flag_sub_pre;
+ int HP_skill_validate_unit_flag_sub_post;
int HP_skill_read_skilldb_pre;
int HP_skill_read_skilldb_post;
int HP_skill_config_set_level_pre;
@@ -12163,7 +12127,6 @@ struct {
struct libconfig_interface libconfig;
struct log_interface logs;
struct mail_interface mail;
- struct malloc_interface iMalloc;
struct map_interface map;
struct mapindex_interface mapindex;
struct mapit_interface mapit;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 30ede196a..0a3dc10fe 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -723,6 +723,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->comparemergeitem, HP_clif_comparemergeitem) },
{ HP_POP(clif->ackmergeitems, HP_clif_ackmergeitems) },
{ HP_POP(clif->isdisguised, HP_clif_isdisguised) },
+ { HP_POP(clif->navigate_to, HP_clif_navigate_to) },
{ HP_POP(clif->bl_type, HP_clif_bl_type) },
{ HP_POP(clif->pWantToConnection, HP_clif_pWantToConnection) },
{ HP_POP(clif->pLoadEndAck, HP_clif_pLoadEndAck) },
@@ -1531,21 +1532,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mail->openmail, HP_mail_openmail) },
{ HP_POP(mail->deliveryfail, HP_mail_deliveryfail) },
{ HP_POP(mail->invalid_operation, HP_mail_invalid_operation) },
-/* malloc_interface */
- { HP_POP(iMalloc->init, HP_iMalloc_init) },
- { HP_POP(iMalloc->final, HP_iMalloc_final) },
- { HP_POP(iMalloc->malloc, HP_iMalloc_malloc) },
- { HP_POP(iMalloc->calloc, HP_iMalloc_calloc) },
- { HP_POP(iMalloc->realloc, HP_iMalloc_realloc) },
- { HP_POP(iMalloc->reallocz, HP_iMalloc_reallocz) },
- { HP_POP(iMalloc->astrdup, HP_iMalloc_astrdup) },
- { HP_POP(iMalloc->astrndup, HP_iMalloc_astrndup) },
- { HP_POP(iMalloc->free, HP_iMalloc_free) },
- { HP_POP(iMalloc->memory_check, HP_iMalloc_memory_check) },
- { HP_POP(iMalloc->verify_ptr, HP_iMalloc_verify_ptr) },
- { HP_POP(iMalloc->usage, HP_iMalloc_usage) },
- { HP_POP(iMalloc->post_shutdown, HP_iMalloc_post_shutdown) },
- { HP_POP(iMalloc->init_messages, HP_iMalloc_init_messages) },
/* map_interface */
{ HP_POP(map->zone_init, HP_map_zone_init) },
{ HP_POP(map->zone_remove, HP_map_zone_remove) },
@@ -2270,6 +2256,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->have_magnifier, HP_pc_have_magnifier) },
{ HP_POP(pc->process_chat_message, HP_pc_process_chat_message) },
{ HP_POP(pc->check_supernovice_call, HP_pc_check_supernovice_call) },
+ { HP_POP(pc->check_basicskill, HP_pc_check_basicskill) },
/* pcre_interface */
{ HP_POP(libpcre->compile, HP_libpcre_compile) },
{ HP_POP(libpcre->study, HP_libpcre_study) },
@@ -2712,6 +2699,9 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->validate_unit_flag, HP_skill_validate_unit_flag) },
{ HP_POP(skill->validate_additional_fields, HP_skill_validate_additional_fields) },
{ HP_POP(skill->validate_skilldb, HP_skill_validate_skilldb) },
+ { HP_POP(skill->validate_weapontype_sub, HP_skill_validate_weapontype_sub) },
+ { HP_POP(skill->validate_ammotype_sub, HP_skill_validate_ammotype_sub) },
+ { HP_POP(skill->validate_unit_flag_sub, HP_skill_validate_unit_flag_sub) },
{ HP_POP(skill->read_skilldb, HP_skill_read_skilldb) },
{ HP_POP(skill->config_set_level, HP_skill_config_set_level) },
{ HP_POP(skill->level_set_value, HP_skill_level_set_value) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 819c3b28c..7b8fac984 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -13447,14 +13447,14 @@ void HP_clif_openvending(struct map_session_data *sd, int id, struct s_vending *
}
return;
}
-void HP_clif_vendingreport(struct map_session_data *sd, int index, int amount) {
+void HP_clif_vendingreport(struct map_session_data *sd, int index, int amount, uint32 char_id, int zeny) {
int hIndex = 0;
if( HPMHooks.count.HP_clif_vendingreport_pre ) {
- void (*preHookFunc) (struct map_session_data **sd, int *index, int *amount);
+ void (*preHookFunc) (struct map_session_data **sd, int *index, int *amount, uint32 *char_id, int *zeny);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_vendingreport_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_clif_vendingreport_pre[hIndex].func;
- preHookFunc(&sd, &index, &amount);
+ preHookFunc(&sd, &index, &amount, &char_id, &zeny);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
@@ -13462,13 +13462,13 @@ void HP_clif_vendingreport(struct map_session_data *sd, int index, int amount) {
}
}
{
- HPMHooks.source.clif.vendingreport(sd, index, amount);
+ HPMHooks.source.clif.vendingreport(sd, index, amount, char_id, zeny);
}
if( HPMHooks.count.HP_clif_vendingreport_post ) {
- void (*postHookFunc) (struct map_session_data *sd, int index, int amount);
+ void (*postHookFunc) (struct map_session_data *sd, int index, int amount, uint32 char_id, int zeny);
for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_vendingreport_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_clif_vendingreport_post[hIndex].func;
- postHookFunc(sd, index, amount);
+ postHookFunc(sd, index, amount, char_id, zeny);
}
}
return;
@@ -17200,14 +17200,14 @@ void HP_clif_buyingstore_trade_failed_buyer(struct map_session_data *sd, short r
}
return;
}
-void HP_clif_buyingstore_update_item(struct map_session_data *sd, unsigned short nameid, unsigned short amount) {
+void HP_clif_buyingstore_update_item(struct map_session_data *sd, unsigned short nameid, unsigned short amount, uint32 char_id, int zeny) {
int hIndex = 0;
if( HPMHooks.count.HP_clif_buyingstore_update_item_pre ) {
- void (*preHookFunc) (struct map_session_data **sd, unsigned short *nameid, unsigned short *amount);
+ void (*preHookFunc) (struct map_session_data **sd, unsigned short *nameid, unsigned short *amount, uint32 *char_id, int *zeny);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_buyingstore_update_item_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_clif_buyingstore_update_item_pre[hIndex].func;
- preHookFunc(&sd, &nameid, &amount);
+ preHookFunc(&sd, &nameid, &amount, &char_id, &zeny);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
@@ -17215,13 +17215,13 @@ void HP_clif_buyingstore_update_item(struct map_session_data *sd, unsigned short
}
}
{
- HPMHooks.source.clif.buyingstore_update_item(sd, nameid, amount);
+ HPMHooks.source.clif.buyingstore_update_item(sd, nameid, amount, char_id, zeny);
}
if( HPMHooks.count.HP_clif_buyingstore_update_item_post ) {
- void (*postHookFunc) (struct map_session_data *sd, unsigned short nameid, unsigned short amount);
+ void (*postHookFunc) (struct map_session_data *sd, unsigned short nameid, unsigned short amount, uint32 char_id, int zeny);
for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_buyingstore_update_item_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_clif_buyingstore_update_item_post[hIndex].func;
- postHookFunc(sd, nameid, amount);
+ postHookFunc(sd, nameid, amount, char_id, zeny);
}
}
return;
@@ -18246,6 +18246,32 @@ bool HP_clif_isdisguised(struct block_list *bl) {
}
return retVal___;
}
+void HP_clif_navigate_to(struct map_session_data *sd, const char *mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_clif_navigate_to_pre ) {
+ void (*preHookFunc) (struct map_session_data **sd, const char **mapname, uint16 *x, uint16 *y, uint8 *flag, bool *hideWindow, uint16 *mob_id);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_navigate_to_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_clif_navigate_to_pre[hIndex].func;
+ preHookFunc(&sd, &mapname, &x, &y, &flag, &hideWindow, &mob_id);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.navigate_to(sd, mapname, x, y, flag, hideWindow, mob_id);
+ }
+ if( HPMHooks.count.HP_clif_navigate_to_post ) {
+ void (*postHookFunc) (struct map_session_data *sd, const char *mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_navigate_to_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_clif_navigate_to_post[hIndex].func;
+ postHookFunc(sd, mapname, x, y, flag, hideWindow, mob_id);
+ }
+ }
+ return;
+}
unsigned char HP_clif_bl_type(struct block_list *bl) {
int hIndex = 0;
unsigned char retVal___ = 0;
@@ -36946,11 +36972,11 @@ int HP_libconfig_setting_get_int(const struct config_setting_t *setting) {
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
+int64 HP_libconfig_setting_get_int64(const struct config_setting_t *setting) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting);
+ int64 (*preHookFunc) (const struct config_setting_t **setting);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_pre[hIndex].func;
@@ -36965,7 +36991,7 @@ long long HP_libconfig_setting_get_int64(const struct config_setting_t *setting)
retVal___ = HPMHooks.source.libconfig.setting_get_int64(setting);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting);
@@ -37108,11 +37134,11 @@ int HP_libconfig_setting_lookup_int(const struct config_setting_t *setting, cons
}
return retVal___;
}
-int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, long long *value) {
+int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, const char *name, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_setting_t **setting, const char **name, long long **value);
+ int (*preHookFunc) (const struct config_setting_t **setting, const char **name, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_pre[hIndex].func;
@@ -37127,7 +37153,7 @@ int HP_libconfig_setting_lookup_int64(const struct config_setting_t *setting, co
retVal___ = HPMHooks.source.libconfig.setting_lookup_int64(setting, name, value);
}
if( HPMHooks.count.HP_libconfig_setting_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_setting_t *setting, const char *name, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, name, value);
@@ -37243,11 +37269,11 @@ int HP_libconfig_setting_set_int(struct config_setting_t *setting, int value) {
}
return retVal___;
}
-int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long value) {
+int HP_libconfig_setting_set_int64(struct config_setting_t *setting, int64 value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_set_int64_pre ) {
- int (*preHookFunc) (struct config_setting_t **setting, long long *value);
+ int (*preHookFunc) (struct config_setting_t **setting, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_pre[hIndex].func;
@@ -37262,7 +37288,7 @@ int HP_libconfig_setting_set_int64(struct config_setting_t *setting, long long v
retVal___ = HPMHooks.source.libconfig.setting_set_int64(setting, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_post ) {
- int (*postHookFunc) (int retVal___, struct config_setting_t *setting, long long value);
+ int (*postHookFunc) (int retVal___, struct config_setting_t *setting, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, value);
@@ -37432,11 +37458,11 @@ int HP_libconfig_setting_get_int_elem(const struct config_setting_t *setting, in
}
return retVal___;
}
-long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
+int64 HP_libconfig_setting_get_int64_elem(const struct config_setting_t *setting, int idx) {
int hIndex = 0;
- long long retVal___ = 0;
+ int64 retVal___ = 0;
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre ) {
- long long (*preHookFunc) (const struct config_setting_t **setting, int *idx);
+ int64 (*preHookFunc) (const struct config_setting_t **setting, int *idx);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_pre[hIndex].func;
@@ -37451,7 +37477,7 @@ long long HP_libconfig_setting_get_int64_elem(const struct config_setting_t *set
retVal___ = HPMHooks.source.libconfig.setting_get_int64_elem(setting, idx);
}
if( HPMHooks.count.HP_libconfig_setting_get_int64_elem_post ) {
- long long (*postHookFunc) (long long retVal___, const struct config_setting_t *setting, int idx);
+ int64 (*postHookFunc) (int64 retVal___, const struct config_setting_t *setting, int idx);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_get_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_get_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx);
@@ -37567,11 +37593,11 @@ struct config_setting_t* HP_libconfig_setting_set_int_elem(struct config_setting
}
return retVal___;
}
-struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, long long value) {
+struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setting_t *setting, int idx, int64 value) {
int hIndex = 0;
struct config_setting_t* retVal___ = NULL;
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre ) {
- struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, long long *value);
+ struct config_setting_t* (*preHookFunc) (struct config_setting_t **setting, int *idx, int64 *value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_pre[hIndex].func;
@@ -37586,7 +37612,7 @@ struct config_setting_t* HP_libconfig_setting_set_int64_elem(struct config_setti
retVal___ = HPMHooks.source.libconfig.setting_set_int64_elem(setting, idx, value);
}
if( HPMHooks.count.HP_libconfig_setting_set_int64_elem_post ) {
- struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, long long value);
+ struct config_setting_t* (*postHookFunc) (struct config_setting_t* retVal___, struct config_setting_t *setting, int idx, int64 value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_setting_set_int64_elem_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_setting_set_int64_elem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, setting, idx, value);
@@ -37944,11 +37970,11 @@ int HP_libconfig_lookup_int(const struct config_t *config, const char *filepath,
}
return retVal___;
}
-int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, long long *value) {
+int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepath, int64 *value) {
int hIndex = 0;
int retVal___ = 0;
if( HPMHooks.count.HP_libconfig_lookup_int64_pre ) {
- int (*preHookFunc) (const struct config_t **config, const char **filepath, long long **value);
+ int (*preHookFunc) (const struct config_t **config, const char **filepath, int64 **value);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_pre[hIndex].func;
@@ -37963,7 +37989,7 @@ int HP_libconfig_lookup_int64(const struct config_t *config, const char *filepat
retVal___ = HPMHooks.source.libconfig.lookup_int64(config, filepath, value);
}
if( HPMHooks.count.HP_libconfig_lookup_int64_post ) {
- int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, long long *value);
+ int (*postHookFunc) (int retVal___, const struct config_t *config, const char *filepath, int64 *value);
for(hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_lookup_int64_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_libconfig_lookup_int64_post[hIndex].func;
retVal___ = postHookFunc(retVal___, config, filepath, value);
@@ -39272,379 +39298,6 @@ bool HP_mail_invalid_operation(struct map_session_data *sd) {
}
return retVal___;
}
-/* malloc_interface */
-void HP_iMalloc_init(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init();
- }
- if( HPMHooks.count.HP_iMalloc_init_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_final(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_final_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_final_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.final();
- }
- if( HPMHooks.count.HP_iMalloc_final_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_final_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_final_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void* HP_iMalloc_malloc(size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_malloc_pre ) {
- void* (*preHookFunc) (size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_malloc_pre[hIndex].func;
- retVal___ = preHookFunc(&size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.malloc(size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_malloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_malloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_malloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_calloc(size_t num, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_calloc_pre ) {
- void* (*preHookFunc) (size_t *num, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_calloc_pre[hIndex].func;
- retVal___ = preHookFunc(&num, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.calloc(num, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_calloc_post ) {
- void* (*postHookFunc) (void* retVal___, size_t num, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_calloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_calloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, num, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_realloc(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_realloc_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_realloc_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.realloc(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_realloc_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_realloc_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_realloc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void* HP_iMalloc_reallocz(void *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- void* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_reallocz_pre ) {
- void* (*preHookFunc) (void **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_reallocz_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.reallocz(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_reallocz_post ) {
- void* (*postHookFunc) (void* retVal___, void *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_reallocz_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_reallocz_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrdup(const char *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrdup_pre ) {
- char* (*preHookFunc) (const char **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrdup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrdup(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrdup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrdup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrdup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, file, line, func);
- }
- }
- return retVal___;
-}
-char* HP_iMalloc_astrndup(const char *p, size_t size, const char *file, int line, const char *func) {
- int hIndex = 0;
- char* retVal___ = NULL;
- if( HPMHooks.count.HP_iMalloc_astrndup_pre ) {
- char* (*preHookFunc) (const char **p, size_t *size, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_astrndup_pre[hIndex].func;
- retVal___ = preHookFunc(&p, &size, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.astrndup(p, size, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_astrndup_post ) {
- char* (*postHookFunc) (char* retVal___, const char *p, size_t size, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_astrndup_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_astrndup_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, p, size, file, line, func);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_free(void *p, const char *file, int line, const char *func) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_free_pre ) {
- void (*preHookFunc) (void **p, const char **file, int *line, const char **func);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_free_pre[hIndex].func;
- preHookFunc(&p, &file, &line, &func);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.free(p, file, line, func);
- }
- if( HPMHooks.count.HP_iMalloc_free_post ) {
- void (*postHookFunc) (void *p, const char *file, int line, const char *func);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_free_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_free_post[hIndex].func;
- postHookFunc(p, file, line, func);
- }
- }
- return;
-}
-void HP_iMalloc_memory_check(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_memory_check_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_memory_check_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.memory_check();
- }
- if( HPMHooks.count.HP_iMalloc_memory_check_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_memory_check_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_memory_check_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-bool HP_iMalloc_verify_ptr(void *ptr) {
- int hIndex = 0;
- bool retVal___ = false;
- if( HPMHooks.count.HP_iMalloc_verify_ptr_pre ) {
- bool (*preHookFunc) (void **ptr);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_pre[hIndex].func;
- retVal___ = preHookFunc(&ptr);
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.verify_ptr(ptr);
- }
- if( HPMHooks.count.HP_iMalloc_verify_ptr_post ) {
- bool (*postHookFunc) (bool retVal___, void *ptr);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_verify_ptr_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_verify_ptr_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, ptr);
- }
- }
- return retVal___;
-}
-size_t HP_iMalloc_usage(void) {
- int hIndex = 0;
- size_t retVal___ = 0;
- if( HPMHooks.count.HP_iMalloc_usage_pre ) {
- size_t (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_usage_pre[hIndex].func;
- retVal___ = preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.iMalloc.usage();
- }
- if( HPMHooks.count.HP_iMalloc_usage_post ) {
- size_t (*postHookFunc) (size_t retVal___);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_usage_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_usage_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
- }
- }
- return retVal___;
-}
-void HP_iMalloc_post_shutdown(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_post_shutdown_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.post_shutdown();
- }
- if( HPMHooks.count.HP_iMalloc_post_shutdown_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_post_shutdown_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_post_shutdown_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
-void HP_iMalloc_init_messages(void) {
- int hIndex = 0;
- if( HPMHooks.count.HP_iMalloc_init_messages_pre ) {
- void (*preHookFunc) (void);
- *HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_iMalloc_init_messages_pre[hIndex].func;
- preHookFunc();
- }
- if( *HPMforce_return ) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.iMalloc.init_messages();
- }
- if( HPMHooks.count.HP_iMalloc_init_messages_post ) {
- void (*postHookFunc) (void);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_iMalloc_init_messages_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_iMalloc_init_messages_post[hIndex].func;
- postHookFunc();
- }
- }
- return;
-}
/* map_interface */
void HP_map_zone_init(void) {
int hIndex = 0;
@@ -58994,6 +58647,33 @@ void HP_pc_check_supernovice_call(struct map_session_data *sd, const char *messa
}
return;
}
+bool HP_pc_check_basicskill(struct map_session_data *sd, int level) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if( HPMHooks.count.HP_pc_check_basicskill_pre ) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *level);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_check_basicskill_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_pc_check_basicskill_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &level);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.check_basicskill(sd, level);
+ }
+ if( HPMHooks.count.HP_pc_check_basicskill_post ) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int level);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_check_basicskill_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_pc_check_basicskill_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, level);
+ }
+ }
+ return retVal___;
+}
/* pcre_interface */
pcre* HP_libpcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr) {
int hIndex = 0;
@@ -70906,6 +70586,87 @@ bool HP_skill_validate_skilldb(struct s_skill_db *skt, const char *source) {
}
return retVal___;
}
+int HP_skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_db *sk) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_skill_validate_weapontype_sub_pre ) {
+ int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&type, &on, &sk);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_weapontype_sub(type, on, sk);
+ }
+ if( HPMHooks.count.HP_skill_validate_weapontype_sub_post ) {
+ int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type, on, sk);
+ }
+ }
+ return retVal___;
+}
+int HP_skill_validate_ammotype_sub(const char *type, bool on, struct s_skill_db *sk) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_skill_validate_ammotype_sub_pre ) {
+ int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&type, &on, &sk);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_ammotype_sub(type, on, sk);
+ }
+ if( HPMHooks.count.HP_skill_validate_ammotype_sub_post ) {
+ int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type, on, sk);
+ }
+ }
+ return retVal___;
+}
+int HP_skill_validate_unit_flag_sub(const char *type, bool on, struct s_skill_db *sk) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_skill_validate_unit_flag_sub_pre ) {
+ int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_sub_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&type, &on, &sk);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_unit_flag_sub(type, on, sk);
+ }
+ if( HPMHooks.count.HP_skill_validate_unit_flag_sub_post ) {
+ int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_sub_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type, on, sk);
+ }
+ }
+ return retVal___;
+}
bool HP_skill_read_skilldb(const char *filename) {
int hIndex = 0;
bool retVal___ = false;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.sources.inc b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
index 54861ed6f..0cc52b595 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
@@ -52,7 +52,6 @@ memcpy(&HPMHooks.source.itemdb, itemdb, sizeof(struct itemdb_interface));
memcpy(&HPMHooks.source.libconfig, libconfig, sizeof(struct libconfig_interface));
memcpy(&HPMHooks.source.logs, logs, sizeof(struct log_interface));
memcpy(&HPMHooks.source.mail, mail, sizeof(struct mail_interface));
-memcpy(&HPMHooks.source.iMalloc, iMalloc, sizeof(struct malloc_interface));
memcpy(&HPMHooks.source.map, map, sizeof(struct map_interface));
memcpy(&HPMHooks.source.mapindex, mapindex, sizeof(struct mapindex_interface));
memcpy(&HPMHooks.source.mapit, mapit, sizeof(struct mapit_interface));
diff --git a/src/plugins/db2sql.c b/src/plugins/db2sql.c
index af5ab99af..f801e4147 100644
--- a/src/plugins/db2sql.c
+++ b/src/plugins/db2sql.c
@@ -457,7 +457,7 @@ void itemdb2sql_tableheader(void)
" `equip_jobs` bigint(20) UNSIGNED DEFAULT NULL,\n"
" `equip_upper` tinyint(8) UNSIGNED DEFAULT NULL,\n"
" `equip_genders` tinyint(2) UNSIGNED DEFAULT NULL,\n"
- " `equip_locations` smallint(4) UNSIGNED DEFAULT NULL,\n"
+ " `equip_locations` mediumint(8) UNSIGNED DEFAULT NULL,\n"
" `weapon_level` tinyint(2) UNSIGNED DEFAULT NULL,\n"
" `equip_level_min` smallint(5) UNSIGNED DEFAULT NULL,\n"
" `equip_level_max` smallint(5) UNSIGNED DEFAULT NULL,\n"
diff --git a/src/plugins/dbghelpplug.c b/src/plugins/dbghelpplug.c
index cf8be0901..78517419f 100644
--- a/src/plugins/dbghelpplug.c
+++ b/src/plugins/dbghelpplug.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/test/Makefile.in b/src/test/Makefile.in
index c8006e5cf..3e7549943 100644
--- a/src/test/Makefile.in
+++ b/src/test/Makefile.in
@@ -87,8 +87,8 @@ $(TESTS_ALL): test_%: ../../test_%@EXEEXT@
../../test_%@EXEEXT@: obj/test_%.o $(TEST_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o $@ $< $(COMMON_D)/obj_sql/common_sql.a \
- $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o $@ $< $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# object files
diff --git a/src/test/test_libconfig.c b/src/test/test_libconfig.c
index e0a470e21..e1a767195 100644
--- a/src/test/test_libconfig.c
+++ b/src/test/test_libconfig.c
@@ -86,6 +86,8 @@ static const char *test_libconfig_init_destroy(void)
static const char *test_libconfig_read_file_src(void)
{
struct config_t config;
+ libconfig->init(&config);
+
#define FILENAME "src/test/libconfig/test.conf"
if (libconfig->read_file_src(&config, FILENAME) == CONFIG_FALSE) {
libconfig->destroy(&config);
@@ -108,6 +110,9 @@ static const char *test_libconfig_read(void)
if (!fp) {
return "File not found: '" FILENAME "'.";
}
+
+ libconfig->init(&config);
+
if (libconfig->read(&config, fp) == CONFIG_FALSE) {
fclose(fp);
libconfig->destroy(&config);
@@ -154,6 +159,8 @@ static const char *test_libconfig_write_file(void)
static const char *test_libconfig_read_string(void)
{
struct config_t config;
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, "") == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to read from string.";
@@ -180,6 +187,8 @@ static const char *test_libconfig_syntax(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to read from string.";
@@ -216,6 +225,8 @@ static const char *test_libconfig_lookup(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -278,6 +289,8 @@ static const char *test_libconfig_setting_get(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -366,8 +379,8 @@ static const char *test_libconfig_setting_get(void)
static const char *test_libconfig_set(void)
{
- //int (*setting_set_int) (struct config_setting_t *setting ,int value);
- //int (*setting_set_int64) (struct config_setting_t *setting, long long value);
+ //int (*setting_set_int) (struct config_setting_t *setting, int value);
+ //int (*setting_set_int64) (struct config_setting_t *setting, int64 value);
//int (*setting_set_float) (struct config_setting_t *setting, double value);
//int (*setting_set_bool) (struct config_setting_t *setting, int value);
//int (*setting_set_string) (struct config_setting_t *setting, const char *value);
@@ -392,6 +405,8 @@ static const char *test_libconfig_setting_lookup(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -442,6 +457,8 @@ static const char *test_libconfig_setting_types(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -536,6 +553,8 @@ static const char *test_libconfig_values(void)
"Setting_IntSignedMax: 0x7fffffff;\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -599,6 +618,9 @@ static const char *test_libconfig_path_lookup(void)
" 10,\n"
");\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -669,28 +691,34 @@ static const char *test_libconfig_setting_names(void)
struct config_t config;
int32 i32;
const char *input = "/* Test File */\n"
- "Setting'with'apostrophes: 1;\n"
+ "1st_setting_with_numbers: 1;\n"
"Setting.with.periods: 2;\n"
"Setting: {\n"
" with: {\n"
" periods: 3;\n"
+ " 2nested: {\n"
+ " numbers1: 4;\n"
+ " };\n"
" };\n"
" nested: {\n"
" in: {\n"
- " groups: 4;\n"
+ " groups: 5;\n"
" };\n"
" };\n"
"};\n"
- "1st_setting_with_numbers: 5;\n"
+ "Setting_with_2_numbers_000: 6;\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
}
- if (libconfig->lookup_int(&config, "Setting'with'apostrophes", &i32) == CONFIG_FALSE || i32 != 1) {
+ if (libconfig->lookup_int(&config, "1st_setting_with_numbers", &i32) == CONFIG_FALSE || i32 != 1) {
libconfig->destroy(&config);
- return "Setting'with'apostrophes failed.";
+ return "1st_setting_with_numbers failed.";
}
if (libconfig->lookup_int(&config, "Setting.with.periods", &i32) == CONFIG_FALSE || i32 != 2) {
@@ -703,19 +731,24 @@ static const char *test_libconfig_setting_names(void)
return "Setting:with:periods failed.";
}
- if (libconfig->lookup_int(&config, "Setting:nested:in:groups", &i32) == CONFIG_FALSE || i32 != 4) {
+ if (libconfig->lookup_int(&config, "Setting/with/2nested/numbers1", &i32) == CONFIG_FALSE || i32 != 4) {
+ libconfig->destroy(&config);
+ return "Setting/with/2nested/numbers1 failed.";
+ }
+
+ if (libconfig->lookup_int(&config, "Setting:nested:in:groups", &i32) == CONFIG_FALSE || i32 != 5) {
libconfig->destroy(&config);
return "Setting:nested:in:groups failed.";
}
- if (libconfig->lookup_int(&config, "Setting/nested/in/groups", &i32) == CONFIG_FALSE || i32 != 4) {
+ if (libconfig->lookup_int(&config, "Setting/nested/in/groups", &i32) == CONFIG_FALSE || i32 != 5) {
libconfig->destroy(&config);
return "Setting/nested/in/groups failed.";
}
- if (libconfig->lookup_int(&config, "1st_setting_with_numbers", &i32) == CONFIG_FALSE || i32 != 5) {
+ if (libconfig->lookup_int(&config, "Setting_with_2_numbers_000", &i32) == CONFIG_FALSE || i32 != 6) {
libconfig->destroy(&config);
- return "1st_setting_with_numbers failed.";
+ return "Setting_with_2_numbers_000 failed.";
}
libconfig->destroy(&config);
@@ -736,6 +769,9 @@ static const char *test_libconfig_duplicate_keys(void)
" Duplicate: 4;\n"
"};\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -780,6 +816,9 @@ static const char *test_libconfig_special_string_syntax(void)
const char *input = "/* Test File */\n"
"SpecialString: <\"This is an \"Item_Script\" Special String\n\tWith a line-break inside.\">;\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -818,7 +857,7 @@ int do_init(int argc, char **argv)
//int (*setting_set_format) (struct config_setting_t *setting, short format);
//short (*setting_get_format) (const struct config_setting_t *setting);
//struct config_setting_t * (*setting_set_int_elem) (struct config_setting_t *setting, int idx, int value);
- //struct config_setting_t * (*setting_set_int64_elem) (struct config_setting_t *setting, int idx, long long value);
+ //struct config_setting_t * (*setting_set_int64_elem) (struct config_setting_t *setting, int idx, int64 value);
//struct config_setting_t * (*setting_set_float_elem) (struct config_setting_t *setting, int idx, double value);
//struct config_setting_t * (*setting_set_bool_elem) (struct config_setting_t *setting, int idx, int value);
//struct config_setting_t * (*setting_set_string_elem) (struct config_setting_t *setting, int idx, const char *value);
diff --git a/src/test/test_spinlock.c b/src/test/test_spinlock.c
index 34102a845..1c0390d66 100644
--- a/src/test/test_spinlock.c
+++ b/src/test/test_spinlock.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -81,6 +81,7 @@ int do_init(int argc, char **argv)
for(i =0; i < THRC; i++){
t[i] = thread->create_opt(worker, NULL, 1024*512, THREADPRIO_NORMAL);
}
+ (void)t;
while(1){
if(InterlockedCompareExchange(&done_threads, THRC, THRC) == THRC)
@@ -100,14 +101,13 @@ int do_init(int argc, char **argv)
}
- if(ok != LOOPS){
+ if (ok != LOOPS) {
ShowFatalError("Test failed.\n");
exit(1);
- }else{
- ShowStatus("Test passed.\n");
- exit(0);
}
- return 0;
+
+ core->runflag = CORE_ST_STOP;
+ return EXIT_SUCCESS;
}//end: do_init()
void do_abort(void) {
@@ -118,6 +118,8 @@ void set_server_type(void) {
}//end: set_server_type()
int do_final(void) {
+ ShowStatus("Test passed.\n");
+
return EXIT_SUCCESS;
}//end: do_final()
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
index eb1362780..6e8643c56 100644
--- a/src/tool/Makefile.in
+++ b/src/tool/Makefile.in
@@ -39,7 +39,7 @@ LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
MAPCACHE_OBJ = obj_all/mapcache.o
MAPCACHE_C = mapcache.c
MAPCACHE_H =
-MAPCACHE_DEPENDS = $(MAPCACHE_OBJ) $(COMMON_D)/obj_all/common_mini.a $(LIBCONFIG_OBJ $(SYSINFO_INC))
+MAPCACHE_DEPENDS = $(MAPCACHE_OBJ) $(COMMON_D)/obj_all/common_mini.a $(LIBCONFIG_OBJ) $(SYSINFO_INC)
@SET_MAKE@
@@ -55,7 +55,7 @@ mapcache: ../../mapcache@EXEEXT@
../../mapcache@EXEEXT@: $(MAPCACHE_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o ../../mapcache@EXEEXT@ $(MAPCACHE_DEPENDS) @LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o ../../mapcache@EXEEXT@ $(MAPCACHE_OBJ) $(COMMON_D)/obj_all/common_mini.a $(LIBCONFIG_OBJ) @LIBS@
buildclean:
@echo " CLEAN tool (build temp files)"
diff --git a/src/tool/mapcache.c b/src/tool/mapcache.c
index 7bb2f4465..5eb0843aa 100644
--- a/src/tool/mapcache.c
+++ b/src/tool/mapcache.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/tools/HPMHookGen/HPMHookGen.pl b/tools/HPMHookGen/HPMHookGen.pl
index 3203e0b70..b8835b376 100755
--- a/tools/HPMHookGen/HPMHookGen.pl
+++ b/tools/HPMHookGen/HPMHookGen.pl
@@ -295,6 +295,7 @@ foreach my $file (@files) { # Loop through the xml files
my $loc = $data->{compounddef}->{$filekey}->{location}->[0];
next unless $loc->{file} =~ /src\/(map|char|login|common)\//;
next if $loc->{file} =~ /\/HPM.*\.h/; # Don't allow hooking into the HPM itself
+ next if $loc->{file} =~ /\/memmgr\.h/; # Don't allow hooking into the memory manager
my $servertype = $1;
my $key = $data->{compounddef}->{$filekey}->{compoundname}->[0];
my $original = $key;
@@ -338,8 +339,6 @@ foreach my $file (@files) { # Loop through the xml files
$key = "chr";
} elsif ($key eq "db_interface") {
$key = "DB";
- } elsif ($key eq "malloc_interface") {
- $key = "iMalloc";
} elsif ($key eq "socket_interface") {
$key = "sockt";
} elsif ($key eq "sql_interface") {
diff --git a/tools/ci/retry.sh b/tools/ci/retry.sh
new file mode 100755
index 000000000..6e79af1d5
--- /dev/null
+++ b/tools/ci/retry.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2016 Hercules Dev Team
+# Copyright (C) 2016 Haru <haru@herc.ws>
+#
+# Hercules is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+n=0
+
+while true; do
+ $@ && break
+ if [[ $n -ge 5 ]]; then
+ exit -1
+ fi
+ WAITTIME=$((2**n))
+ echo "Execution of $@ failed. Retrying in $WAITTIME seconds..."
+ sleep $WAITTIME
+ n=$((n+1))
+done
diff --git a/travis.sh b/tools/ci/travis.sh
index 10d263e49..9a6322df6 100755
--- a/travis.sh
+++ b/tools/ci/travis.sh
@@ -31,10 +31,10 @@ function foo {
function usage {
echo "usage:"
- echo " $0 createdb <dbname> [dbuser] [dbpassword]"
- echo " $0 importdb <dbname> [dbuser] [dbpassword]"
+ echo " $0 createdb <dbname> [dbuser] [dbpassword] [dbhost]"
+ echo " $0 importdb <dbname> [dbuser] [dbpassword] [dbhost]"
echo " $0 build [configure args]"
- echo " $0 test <dbname> [dbuser] [dbpassword]"
+ echo " $0 test <dbname> [dbuser] [dbpassword] [dbhost]"
echo " $0 getplugins"
exit 1
}
@@ -62,21 +62,47 @@ function run_server {
fi
}
+function run_test {
+ echo "Running: test_$1"
+ ./test_$1 2>runlog.txt
+ export errcode=$?
+ export teststr=$(cat runlog.txt)
+ if [[ -n "${teststr}" ]]; then
+ echo "Errors found in running test $1."
+ cat runlog.txt
+ aborterror "Errors found in running test $1."
+ else
+ echo "No errors found for test $1."
+ fi
+ if [ ${errcode} -ne 0 ]; then
+ echo "test $1 terminated with exit code ${errcode}"
+ aborterror "Test failed"
+ fi
+}
+
+# Defaults
+DBNAME=ragnarok
+DBUSER=ragnarok
+DBPASS=ragnarok
+DBHOST=localhost
+
case "$MODE" in
createdb|importdb|test)
- DBNAME="$1"
- DBUSER="$2"
- DBPASS="$3"
- if [ -z "$DBNAME" ]; then
+ if [ -z "$1" ]; then
usage
fi
- if [ "$MODE" != "test" ]; then
- if [ -n "$DBUSER" ]; then
- DBUSER="-u $DBUSER"
- fi
- if [ -n "$DBPASS" ]; then
- DBPASS="-p$DBPASS"
- fi
+ DBNAME="$1"
+ if [ -n "$2" ]; then
+ DBUSER_ARG="-u $2"
+ DBUSER="$2"
+ fi
+ if [ -n "$3" ]; then
+ DBPASS_ARG="-p$3"
+ DBPASS="$3"
+ fi
+ if [ -n "$4" ]; then
+ DBHOST_ARG="-h $4"
+ DBHOST="$4"
fi
;;
esac
@@ -84,12 +110,12 @@ esac
case "$MODE" in
createdb)
echo "Creating database $DBNAME..."
- mysql $DBUSER $DBPASS -e "create database $DBNAME;" || aborterror "Unable to create database."
+ mysql $DBUSER_ARG $DBPASS_ARG $DBHOST_ARG -e "create database $DBNAME;" || aborterror "Unable to create database."
;;
importdb)
echo "Importing tables into $DBNAME..."
- mysql $DBUSER $DBPASS $DBNAME < sql-files/main.sql || aborterror "Unable to import main database."
- mysql $DBUSER $DBPASS $DBNAME < sql-files/logs.sql || aborterror "Unable to import logs database."
+ mysql $DBUSER_ARG $DBPASS_ARG $DBHOST_ARG $DBNAME < sql-files/main.sql || aborterror "Unable to import main database."
+ mysql $DBUSER_ARG $DBPASS_ARG $DBHOST_ARG $DBNAME < sql-files/logs.sql || aborterror "Unable to import logs database."
;;
build)
(cd tools && ./validateinterfaces.py silent) || aborterror "Interface validation error."
@@ -97,13 +123,14 @@ case "$MODE" in
make -j3 || aborterror "Build failed."
make plugins -j3 || aborterror "Build failed."
make plugin.script_mapquit -j3 || aborterror "Build failed."
+ make test || aborterror "Build failed."
;;
test)
cat > conf/travis_sql_connection.conf << EOF
sql_connection: {
//default_codepage: ""
//case_sensitive: false
- db_hostname: "localhost"
+ db_hostname: "$DBHOST"
db_username: "$DBUSER"
db_password: "$DBPASS"
db_database: "$DBNAME"
@@ -145,6 +172,9 @@ EOF
ARGS="--load-script npc/dev/test.txt "
ARGS="--load-plugin script_mapquit $ARGS --load-script npc/dev/ci_test.txt"
PLUGINS="--load-plugin HPMHooking --load-plugin sample"
+ echo "run tests"
+ # run_test spinlock # Not running the spinlock test for the time being (too time consuming)
+ run_test libconfig
echo "run all servers without HPM"
run_server ./login-server
run_server ./char-server
diff --git a/tools/doxygen/Hercules128.png b/tools/doxygen/Hercules128.png
new file mode 100644
index 000000000..79919da9b
--- /dev/null
+++ b/tools/doxygen/Hercules128.png
Binary files differ
diff --git a/tools/doxygen/Hercules48.png b/tools/doxygen/Hercules48.png
new file mode 100644
index 000000000..022893953
--- /dev/null
+++ b/tools/doxygen/Hercules48.png
Binary files differ
diff --git a/tools/doxygen/Makefile.in b/tools/doxygen/Makefile.in
new file mode 100644
index 000000000..233779f05
--- /dev/null
+++ b/tools/doxygen/Makefile.in
@@ -0,0 +1,70 @@
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2016 Hercules Dev Team
+#
+# Hercules is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# @configure_input@
+
+@SET_MAKE@
+
+COMMON_D = ../../src/common
+MAP_D = ../../src/map
+CHAR_D = ../../src/char
+LOGIN_D = ../../src/login
+PLUGIN_D = ../../src/plugins
+COMMON_C = $(wildcard $(COMMON_D)/*.c)
+COMMON_H = $(wildcard $(COMMON_D)/*.h)
+MAP_C = $(wildcard $(MAP_D)/*.c)
+MAP_H = $(wildcard $(MAP_D)/*.h)
+CHAR_C = $(wildcard $(CHAR_D)/*.c)
+CHAR_H = $(wildcard $(CHAR_D)/*.h)
+LOGIN_C = $(wildcard $(LOGIN_D)/*.c)
+LOGIN_H = $(wildcard $(LOGIN_D)/*.h)
+ALL_C = $(COMMON_C) $(MAP_C) $(CHAR_C) $(LOGIN_C)
+ALL_H = $(COMMON_H) $(MAP_H) $(CHAR_H) $(LOGIN_H)
+
+HAVE_DOXYGEN=@HAVE_DOXYGEN@
+ifeq ($(HAVE_DOXYGEN),yes)
+ ALL_DEPENDS = docs
+else
+ ALL_DEPENDS = needs_doxygen
+endif
+
+#####################################################################
+.PHONY: clean buildclean
+
+all: $(ALL_DEPENDS)
+
+buildclean:
+
+clean: buildclean
+ @echo " CLEAN docs"
+ @rm -rf docs
+
+Makefile: Makefile.in
+ @$(MAKE) -C ../.. tools/doxygen/Makefile
+
+#####################################################################
+
+docs: $(ALL_C) $(ALL_H) doxygen.conf
+ @echo " Generating Doxygen documentation..."
+ @doxygen doxygen.conf
+
+#####################################################################
+
+needs_doxygen:
+ @echo "doxygen not found or disabled by the configure script"
+ @exit 1
diff --git a/tools/doxygen/doxygen.conf b/tools/doxygen/doxygen.conf
new file mode 100644
index 000000000..043b36dc8
--- /dev/null
+++ b/tools/doxygen/doxygen.conf
@@ -0,0 +1,505 @@
+# Doxyfile 1.8.8
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = "Hercules"
+PROJECT_NUMBER =
+PROJECT_BRIEF =
+PROJECT_LOGO = Hercules48.png
+OUTPUT_DIRECTORY = docs
+CREATE_SUBDIRS = NO
+ALLOW_UNICODE_NAMES = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = ../../
+STRIP_FROM_INC_PATH = ../../
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+ALIASES =
+TCL_SUBST =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING = h=C
+MARKDOWN_SUPPORT = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by by putting a % sign in front of the word
+# or globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+AUTOLINK_SUPPORT = YES
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NNO
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YENO
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NNO
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NNO
+INLINE_SIMPLE_STRUCTS = NO
+TYPEDEF_HIDES_STRUCT = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+LOOKUP_CACHE_SIZE = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+EXTRACT_PACKAGE = NO
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = YES
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+SHOW_GROUPED_MEMB_INC = NO
+FORCE_LOCAL_INCLUDES = NO
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+STRICT_PROTO_MATCHING = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER = "git log -n 1 --pretty=format:%h -- "
+LAYOUT_FILE = layoutFile.xml
+CITE_BIB_FILES =
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = YES
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = ../../src/map \
+ ../../src/common \
+ ../../src/char \
+ ../../src/login \
+ ../../src/config
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.c \
+ *.h
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+USE_MDFILE_AS_MAINPAGE =
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# compiled with the --with-libclang option.
+# The default value is: NO.
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+CLANG_OPTIONS =
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_EXTRA_STYLESHEET =
+HTML_EXTRA_FILES =
+HTML_COLORSTYLE_HUE = 30
+HTML_COLORSTYLE_SAT = 100
+HTML_COLORSTYLE_GAMMA = 80
+HTML_TIMESTAMP = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+HTML_DYNAMIC_SECTIONS = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME = Publisher
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE = org.doxygen.Project
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+GENERATE_ECLIPSEHELP = NO
+ECLIPSE_DOC_ID = org.doxygen.Project
+DISABLE_INDEX = NO
+GENERATE_TREEVIEW = NO
+ENUM_VALUES_PER_LINE = 4
+TREEVIEW_WIDTH = 250
+EXT_LINKS_IN_WINDOW = NO
+FORMULA_FONTSIZE = 10
+FORMULA_TRANSPARENT = YES
+USE_MATHJAX = NO
+MATHJAX_FORMAT = HTML-CSS
+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS =
+MATHJAX_CODEFILE =
+SEARCHENGINE = YES
+SERVER_BASED_SEARCH = NO
+EXTERNAL_SEARCH = NO
+SEARCHENGINE_URL =
+SEARCHDATA_FILE = searchdata.xml
+EXTERNAL_SEARCH_ID =
+EXTRA_SEARCH_MAPPINGS =
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4
+EXTRA_PACKAGES =
+LATEX_HEADER =
+LATEX_FOOTER =
+LATEX_EXTRA_FILES =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+LATEX_SOURCE_CODE = NO
+LATEX_BIB_STYLE = plain
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_SUBDIR =
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+GENERATE_DOCBOOK = NO
+DOCBOOK_OUTPUT = docbook
+DOCBOOK_PROGRAMLISTING = NO
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = ../../src \
+ ../../3rdparty
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = NO
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+# class index. If set to NO only the inherited external classes will be listed.
+# The default value is: NO.
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+# the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+EXTERNAL_GROUPS = YES
+EXTERNAL_PAGES = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+MSCGEN_PATH =
+DIA_PATH =
+HIDE_UNDOC_RELATIONS = NO
+HAVE_DOT = YES
+DOT_NUM_THREADS = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+DOT_FONTNAME = Helvetica
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+UML_LOOK = NO
+UML_LIMIT_NUM_FIELDS = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = YES
+CALLER_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+INTERACTIVE_SVG = NO
+DOT_PATH =
+DOTFILE_DIRS =
+MSCFILE_DIRS =
+DIAFILE_DIRS =
+PLANTUML_JAR_PATH =
+DOT_GRAPH_MAX_NODES = 100
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = YES
+DOT_MULTI_TARGETS = YES
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
diff --git a/tools/doxygen/footer.html b/tools/doxygen/footer.html
new file mode 100644
index 000000000..aecaafcc4
--- /dev/null
+++ b/tools/doxygen/footer.html
@@ -0,0 +1,21 @@
+<!-- HTML footer for doxygen 1.8.8-->
+<!-- start footer part -->
+<!--BEGIN GENERATE_TREEVIEW-->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ $navpath
+ <li class="footer">$generatedby
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="$relpath^doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
+ </ul>
+</div>
+<!--END GENERATE_TREEVIEW-->
+<!--BEGIN !GENERATE_TREEVIEW-->
+<hr class="footer"/><address class="footer"><small>
+$generatedby &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/>
+</a> $doxygenversion
+</small></address>
+<!--END !GENERATE_TREEVIEW-->
+</body>
+</html>
diff --git a/tools/doxygen/header.html b/tools/doxygen/header.html
new file mode 100644
index 000000000..31aae0ea2
--- /dev/null
+++ b/tools/doxygen/header.html
@@ -0,0 +1,55 @@
+<!-- HTML header for doxygen 1.8.8-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen $doxygenversion"/>
+<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
+<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
+<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="$relpath^jquery.js"></script>
+<script type="text/javascript" src="$relpath^dynsections.js"></script>
+$treeview
+$search
+$mathjax
+<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
+$extrastylesheet
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+
+<!--BEGIN TITLEAREA-->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <!--BEGIN PROJECT_LOGO-->
+ <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
+ <!--END PROJECT_LOGO-->
+ <!--BEGIN PROJECT_NAME-->
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">$projectname
+ <!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
+ </div>
+ <!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
+ </td>
+ <!--END PROJECT_NAME-->
+ <!--BEGIN !PROJECT_NAME-->
+ <!--BEGIN PROJECT_BRIEF-->
+ <td style="padding-left: 0.5em;">
+ <div id="projectbrief">$projectbrief</div>
+ </td>
+ <!--END PROJECT_BRIEF-->
+ <!--END !PROJECT_NAME-->
+ <!--BEGIN DISABLE_INDEX-->
+ <!--BEGIN SEARCHENGINE-->
+ <td>$searchbox</td>
+ <!--END SEARCHENGINE-->
+ <!--END DISABLE_INDEX-->
+ </tr>
+ </tbody>
+</table>
+</div>
+<!--END TITLEAREA-->
+<!-- end header part -->
diff --git a/tools/doxygen/layoutFile.xml b/tools/doxygen/layoutFile.xml
new file mode 100644
index 000000000..740548619
--- /dev/null
+++ b/tools/doxygen/layoutFile.xml
@@ -0,0 +1,194 @@
+<doxygenlayout version="1.0">
+ <!-- Generated by doxygen 1.8.8 -->
+ <!-- Navigation index tabs for HTML output -->
+ <navindex>
+ <tab type="mainpage" visible="yes" title=""/>
+ <tab type="pages" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="" intro=""/>
+ <tab type="namespaces" visible="yes" title="">
+ <tab type="namespacelist" visible="yes" title="" intro=""/>
+ <tab type="namespacemembers" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="classes" visible="yes" title="">
+ <tab type="classlist" visible="yes" title="" intro=""/>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="hierarchy" visible="yes" title="" intro=""/>
+ <tab type="classmembers" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="files" visible="yes" title="">
+ <tab type="filelist" visible="yes" title="" intro=""/>
+ <tab type="globals" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="examples" visible="yes" title="" intro=""/>
+ </navindex>
+
+ <!-- Layout definition for a class page -->
+ <class>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+ <memberdecl>
+ <nestedclasses visible="yes" title=""/>
+ <publictypes title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <publicslots title=""/>
+ <signals title=""/>
+ <publicmethods title=""/>
+ <publicstaticmethods title=""/>
+ <publicattributes title=""/>
+ <publicstaticattributes title=""/>
+ <protectedtypes title=""/>
+ <protectedslots title=""/>
+ <protectedmethods title=""/>
+ <protectedstaticmethods title=""/>
+ <protectedattributes title=""/>
+ <protectedstaticattributes title=""/>
+ <packagetypes title=""/>
+ <packagemethods title=""/>
+ <packagestaticmethods title=""/>
+ <packageattributes title=""/>
+ <packagestaticattributes title=""/>
+ <properties title=""/>
+ <events title=""/>
+ <privatetypes title=""/>
+ <privateslots title=""/>
+ <privatemethods title=""/>
+ <privatestaticmethods title=""/>
+ <privateattributes title=""/>
+ <privatestaticattributes title=""/>
+ <friends title=""/>
+ <related title="" subtitle=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <constructors title=""/>
+ <functions title=""/>
+ <related title=""/>
+ <variables title=""/>
+ <properties title=""/>
+ <events title=""/>
+ </memberdef>
+ <allmemberslink visible="yes"/>
+ <usedfiles visible="$SHOW_USED_FILES"/>
+ <authorsection visible="yes"/>
+ </class>
+
+ <!-- Layout definition for a namespace page -->
+ <namespace>
+ <briefdescription visible="yes"/>
+ <memberdecl>
+ <nestednamespaces visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </namespace>
+
+ <!-- Layout definition for a file page -->
+ <file>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <includegraph visible="$INCLUDE_GRAPH"/>
+ <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+ <sourcelink visible="yes"/>
+ <memberdecl>
+ <classes visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection/>
+ </file>
+
+ <!-- Layout definition for a group page -->
+ <group>
+ <briefdescription visible="yes"/>
+ <groupgraph visible="$GROUP_GRAPHS"/>
+ <memberdecl>
+ <nestedgroups visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <pagedocs/>
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </group>
+
+ <!-- Layout definition for a directory page -->
+ <directory>
+ <briefdescription visible="yes"/>
+ <directorygraph visible="yes"/>
+ <memberdecl>
+ <dirs visible="yes"/>
+ <files visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ </directory>
+</doxygenlayout>
diff --git a/tools/doxygen/pages_index.html b/tools/doxygen/pages_index.html
new file mode 100644
index 000000000..c9ca5b58c
--- /dev/null
+++ b/tools/doxygen/pages_index.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
+ <title>Hercules documentation</title>
+ <link href="docs/doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+ <div id="top">
+ <div id="titlearea">
+ <table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="docs/Hercules48.png"/></td>
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">Hercules</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="header">
+ <div class="headertitle">
+ <div class="title">Hercules Documentation</div>
+ </div>
+ </div><!--header-->
+ <div class="contents">
+ <ul>
+ <li><a href="docs/">Doxygen</a></li>
+ <li><a href="gcov_pre.html">Coverage Report: pre-renewal build</a> <a href="gcov_pre.txt">(raw data)</a></li>
+ <li><a href="gcov_re.html">Coverage Report: renewal build</a> <a href="gcov_re.txt">(raw data)</a></li>
+ <li><a href="https://github.com/HerculesWS/Hercules">GitHub</a></li>
+ <li><a href="https://gitlab.com/HerculesWS/Hercules">GitLab</a></li>
+ </ul>
+ </div><!-- contents -->
+ <hr class="footer">
+</body></html>
diff --git a/tools/doxygen/style.css b/tools/doxygen/style.css
new file mode 100644
index 000000000..02e8b0152
--- /dev/null
+++ b/tools/doxygen/style.css
@@ -0,0 +1,1440 @@
+/* The standard CSS for doxygen 1.8.8 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #9CAFD4;
+ border-bottom: 1px solid #9CAFD4;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+.arrow {
+ color: #9CAFD4;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: #728DC1;
+ color: white;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('ftv2folderopen.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('ftv2folderclosed.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('ftv2doc.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+table.directory {
+ font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+